如何设置与Object3D的本地旋转的three.js所平面旋转?

问题描述 投票:1回答:1

我有一个Plane和对象的Group,它有一个旋转。我需要平面的表面法线设置为按照本集团的旋转(基于用户输入该旋转的变化)始终旋转。

我已经试过这样的事情,哪种类型的工作:

onGroupRotation() {
    const vec = orbitGroup.rotation.toVector3();
    orbitPlane.set(vec, 0);
}

问题是,旋转的幅度似乎太小:飞机上的旋转不完全匹配的orbitGroup的。

我真的不知道线性代数和我仍然在学习之类的东西向量点和交叉产品。我敢肯定有一个简单的解决方案的人更有知识可以帮助我解决。

three.js 3d vector-graphics
1个回答
3
投票

用于3D的默认转发矢量对象等基团或网格是(0, 0, 1)。如果设置表面法线该数值和应用组的四元数,你应该得到期望的结果。

plane.normal.set( 0, 0, 1 ).applyQuaternion( group.quaternion );
© www.soinside.com 2019 - 2024. All rights reserved.