假设我有一个自定义的立方体网格,其原点位于其中一个角。我想指定立方体的原点在它的中心。我知道我可以进行平移,并且似乎可以正常工作(我可以通过旋转围绕中心点旋转的立方体来证明它可以工作)。
但是,我一直认为平移只是移动到3D空间中的另一个点(而不是设置原点)。
我是否错过了某件事,还是只是混淆了实际上是同一件事的两件事?
*总结*
请注意,如果要移动对象,则只需更新位置向量即可。并应用翻译SEEMS来更新原点。我的困惑来自于我的理解,即“平移”只是在3D空间中“移动”对象的幻想术语。因此,平移到底是什么(在3d空间中移动或更新原点,或两者都在)?
几何图形的平移将移动原点:
var geometry = new THREE.CubeGeometry( 1, 1, 1 );
geometry.applyMatrix( new THREE.Matrix4().makeTranslation( 0, 0.5, 0 ) );
Object3D上的平移会移动位置:
var obj = new THREE.Mesh(geometry, material);
obj.position.set(0.5, 0.5, 0.5);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句