在这里,我似乎找不到合适的答案,也没有自己想出计算的答案。我试图找到'object.translateZ(-100)‘将提供的职位值,但没有这样做。这样做的原因是我想让物体和物体飞向摄像机,但是在它前面停下来使用Tween.js:
new TWEEN.Tween( object.position )
.to( {x: camera.position.x, y: camera.position.y, z: (camera.position.z)}, 2000 )
.easing( TWEEN.Easing.Exponential.InOut )
.start();
new TWEEN.Tween( object.rotation )
.to( {x: camera.rotation.x, y: camera.rotation.y, z: (camera.rotation.z)}, 2000 )
.easing( TWEEN.Easing.Exponential.InOut )
.start()
.onComplete(function(){
object.updateMatrix();
object.translateZ(-500);
});现在它发出鸣声,对着摄像机着陆,然后转换回正确的位置。因此,我基本上需要找出另一个目标位置,而不是‘Camera.Location’,而是一个"translateZ(-500)“。对怎么做有什么建议吗?
发布于 2018-11-03 01:01:44
如果您想知道obj.translateZ(-100)将obj移动到的位置,可以通过操作THREE.js向量轻松地找到这一点。请考虑以下几点:
let pos = new THREE.Vector3(); // Create a new empty 3D vector
obj.getWorldPosition(pos); // Set pos to be obj's world position
pos.add(new THREE.Vector3(0, 0, -100)); // Add (0,0,-100) to pos现在,pos应该包含您要寻找的点,您可以轻松地创建向量对象,如下所示:{x: pos.x, y: pos.y, z: pos.z}。
我正确理解你的意图了吗?
https://stackoverflow.com/questions/53123765
复制相似问题