Three.js - 错误的坐标轴或相机旋转

3

我试图让地面水平放置,但它竖直放置了。我的代码有什么问题?也许相机旋转有偏差?我正在使用three.js r52。

    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

1个回答

6

你的代码没问题,但是你需要添加以下代码来将它旋转90度。看一下这个链接:http://cssdeck.com/labs/threejsrotation/0 (第18行:floor.rotation.x = -Math.PI / 2;

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


奇怪..我已经这样做了,但仍然看到相同的结果。 - nnyby
@nnyby 哦,抱歉,我给了你错误的轴。答案已经更新,附上了一个可行的示例。希望能对你有所帮助! :-) - oal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接