当有人点击按钮移动相机周围的物体时,我正在尝试 . 但我不想移动物体(它需要居中) .
我有:
和js函数
function MoveUp()
{
camera.position.y -=50;
}
function MoveDown()
{
camera.position.y +=50;
}
但是当我点击按钮时,这是向下/向上移动物体 . 是否有任何可能性只是移动相机周围和如何?我的对象只是立方体..示例:
var geometry = new THREE.CubeGeometry( 50, 50, 50 );
var material = new THREE.MeshFaceMaterial( [
new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'drvo.jpg' ) } ),
new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'drvo.jpg' ) } ),
new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'drvo.jpg' ) } ),
new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'beton.jpg' ) } ),
new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'beton.jpg' ) } ),
new THREE.MeshBasicMaterial( { map: THREE.ImageUtils.loadTexture( 'beton.jpg' ) } )
] );
cube = new THREE.Mesh( geometry, material );
cube.position.z = 450;
scene.add(cube);
2 回答
您正在更改摄像机位置,同时保持其方向 . 我想你想重新定位相机,使它指向你的立方体(实际上,它居中) . 移动相机后,请尝试
camera.lookAt(cube.position);
这需要是MoveUp和MoveDown中的最后一件事看一下在three.js / examples / js / controls / RollControls.js上的RollControls.js以及两个目录中的示例 . 由于控件在那里,为什么要尝试自己做 .