【发布时间】:2019-03-08 02:34:56
【问题描述】:
我有情况:
var camera = new THREE.PerspectiveCamera(...);
scene.add(camera);
var parent = new THREE.Object3D();
parent.position.set(1,2,3);
scene.add(parent);
var child = new THREE.Object3D();
child.position.set(4,5,6);
parent.add(child);
var v = new THREE.Vector3().copy(child.position);
child.localToWorld(v);
child.rotation.z = Math.atan2( ( v.x - camera.position.x ), ( v.y - camera.position.y ) );
它可以工作,孩子正对着 Z 轴上的摄像头。
当我这样做时:
parent.rotation.set(1,2,3); // or whatever
子级受旋转影响,如何避免该旋转并保持子级在父级旋转之前保持相同的旋转(将局部旋转更新为通过父级转换在视觉上保持不变),但要保持全局位置因父级而改变旋转?
【问题讨论】:
-
谢谢,如果父母轮换怎么办?
标签: three.js