2012-10-16 83 views
3

我试图使水平放置的地板,但它的位置是直立的。我的代码有什么问题?也许相机旋转关闭?我正在使用three.js r52。Three.js - 错误的轴或相机旋转

camera = new THREE.PerspectiveCamera                        
     (45, window.innerWidth/window.innerHeight, 1, 10000);                  
    camera.position.x = -500;                          
    camera.position.z = 0;                           

    scene = new THREE.Scene(); 

    var floorGeometry = new THREE.PlaneGeometry(1000, 1000, 1, 1);                 
    var floorMaterial = new THREE.MeshBasicMaterial({color:0x448844});                
    var floor = new THREE.Mesh(floorGeometry, floorMaterial);                  

    scene.add(floor); 

    controls = new THREE.FirstPersonControls(camera);                    
    controls.movementSpeed = 1000;                         
    controls.lookSpeed = 0.0;                          
    controls.lookVertical = true; 

upright PlaneGeometry

回答

4

你的代码是好的,但必须添加这旋转90度。看看这个:http://cssdeck.com/labs/threejsrotation/0(line 18:floor.rotation.x = -Math.PI/2;

旋转只是一个THREE.Vector3,就像位置。

+0

奇怪..我做到了,我仍然看到相同的结果。 – nnyby

+0

@nnyby啊,对不起,我给你错了轴。答案已经通过一个工作示例进行了更新。我希望这有助于! :-) – oal