首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Three.js获取translateZ值[three.js]

Three.js获取translateZ值[three.js]
EN

Stack Overflow用户
提问于 2018-11-02 18:07:04
回答 1查看 319关注 0票数 1

在这里,我似乎找不到合适的答案,也没有自己想出计算的答案。我试图找到'object.translateZ(-100)‘将提供的职位值,但没有这样做。这样做的原因是我想让物体和物体飞向摄像机,但是在它前面停下来使用Tween.js:

代码语言:javascript
复制
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)“。对怎么做有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-03 01:01:44

如果您想知道obj.translateZ(-100)obj移动到的位置,可以通过操作THREE.js向量轻松地找到这一点。请考虑以下几点:

代码语言:javascript
复制
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}

我正确理解你的意图了吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53123765

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档