簡體   English   中英

three.js-如何為3d視圖重現此圖像?

[英]three.js - how to reproduce this image for 3d view?

我有一個tower image' - but i don't know how to reproduce this for view using the three.js` tower image' - but i don't know how to reproduce this for 3d view using the tower image' - but i don't know how to reproduce this for view using the誰能幫助我嗎?

這是圖像:

在此處輸入圖片說明

這是我的嘗試:

$(function () {

    "use strict";

    var container, scene, camera, renderer, controls, stats;
    var keyboard = new THREEx.KeyboardState();
    var clock = new THREE.Clock();

// custom global variables
var cube;

// initialization
init();

// animation loop / game loop
animate();



function init() 
{

    scene = new THREE.Scene();


    var SCREEN_WIDTH = window.innerWidth, SCREEN_HEIGHT = window.innerHeight;   

    var VIEW_ANGLE = 45, ASPECT = SCREEN_WIDTH / SCREEN_HEIGHT, NEAR = 0.1, FAR = 20000;

    camera = new THREE.PerspectiveCamera( VIEW_ANGLE, ASPECT, NEAR, FAR);

    scene.add(camera);

    camera.position.set(0,150,400);
    camera.lookAt(scene.position);  


    renderer = new THREE.WebGLRenderer( {antialias:true} );

    renderer.setSize(SCREEN_WIDTH, SCREEN_HEIGHT);

    container = document.getElementById( 'ThreeJS' );

    container.appendChild( renderer.domElement );


    THREEx.WindowResize(renderer, camera);

    THREEx.FullScreen.bindKey({ charCode : 'm'.charCodeAt(0) });

    controls = new THREE.OrbitControls( camera, renderer.domElement );

    stats = new Stats();
    stats.domElement.style.position = 'absolute';
    stats.domElement.style.bottom = '0px';
    stats.domElement.style.zIndex = 100;
    container.appendChild( stats.domElement );




    var light = new THREE.PointLight(0xffffff);
    light.position.set(0,250,0);
    scene.add(light);
    var ambientLight = new THREE.AmbientLight(0x111111);


    var cloneTexture = new THREE.ImageUtils.loadTexture( 'images/tower.png' );

    var geometry = new THREE.CylinderGeometry( 1, 1, 100, 32 );
    var material = new THREE.MeshBasicMaterial( {map: cloneTexture, side: THREE.DoubleSide} );
    var cylinder = new THREE.Mesh( geometry, material );
    scene.add( cylinder );

    var axes = new THREE.AxisHelper(100);
    scene.add( axes );



    var floorTexture = new THREE.ImageUtils.loadTexture( 'images/plain-grass-lawn.jpeg' );
    var floorMaterial = new THREE.MeshBasicMaterial( { map: floorTexture, side: THREE.DoubleSide } );
    var floorGeometry = new THREE.PlaneBufferGeometry(1000, 1000, 1, 1);
    var floor = new THREE.Mesh(floorGeometry, floorMaterial);
    floor.position.y = -0.5;
    floor.rotation.x = Math.PI / 2;
    scene.add(floor);

}

function animate() 
{
    requestAnimationFrame( animate );
    render();       
}


function render() 
{   
    renderer.render( scene, camera );
}

});

這是我的壞輸出:

我的輸出

您想在3D世界中有效地將圖像顯示為精靈嗎? 像下面鏈接到的Sprite示例一樣?

http://stemkoski.github.io/Three.js/#sprites

Sprite渲染的示例源代碼

https://threejsdoc.appspot.com/doc/three.js/examples.source/webgl_sprites.html.html

鏈接到有關Sprite的官方Three.js文檔

http://threejs.org/docs/#Reference/Objects/Sprite

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM