我试图使子对象跟随父级位置并表现得像一个普通的子对象,但是我希望它保持其旋转不变。
在不影响性能的情况下,最好的方法是什么(我的CPU预算很紧张,已经运行了2个工作线程并且有很多对象)?
是否有设置只允许孩子的位置受到影响?
同样重要的是,当父级旋转时,子级的位置应该遵循该旋转。
当子对象的父对象旋转时,您希望防止子对象旋转。
这两种模式之一应该可以满足您的需求。他们的行为略有不同。
第一个模式:
var gyro = new THREE.Gyroscope();
scene.add( parent );
parent.add( gyro );
gyro.add( child ); // add child to gyroscope
child.position.set( x, y, z );
第二种模式:
object = new THREE.Object3D();
object.position.set( x, y, z ); // child's desired position relative to parent
scene.add( parent );
parent.add( object ); // add object to parent
scene.add( child ); // add child to scene
在第二种情况下,您必须在渲染循环内手动更新子级的位置,如下所示:
child.position.setFromMatrixPosition( object.matrixWorld );
三.js r.71
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)