我想让子对象跟随父对象的位置并像普通子对象一样运作,但我希望它保持旋转不变。有没有最好的方法可以做到这一点而不影响性能(我的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 );
three.js r.71
我建议
child.position.copy(object.position);
child.position.setFromMatrixPosition( object.matrixWorld );