繁体   English   中英

THREE.js如何计算3D圆上的旋转位置?

[英]THREE.js How to calculate rotation position on a 3D circle?

如下图所示,我有一个带有简单立方体的THREE.Scene 附着在立方体上的是CANNON.Body for Physics(以绿色线框表示)。

CANNON.Body从立方体偏移了几个单位。 对于旋转,此偏移将为radius

当我旋转立方体时,我希望CANNON.Body根据角度半径围绕立方体旋转。 上的图像的右手侧,我旋转具有45度的角度的立方体(I也有可用弧度)。 但是, CANNON.Body不会立方体旋转,而只能绕其自身的中心旋转。 我需要它围绕所有轴xyz 立方体旋转。

THREE.js是否有内置函数,或者我应该THREE.js使用自己的数学方程式? 如果是这样,那会是什么?

在此处输入图片说明

谢谢!

PS我已经看过纯THREE.js场景的解决方案,在该场景中可以转换几何图形以操纵枢轴点。 由于我的CANNON.Body没有几何体,因此这是不可能的。

我从未使用过cannonjs,但是是否可以仅在Three.Group中添加Cube和Rigid Body?

喜欢

var rigidBody = new CANNON.Body(); // whatever it is for cannon
var model = new THREE.Group();

// your model goes here
model.add(new THREE.Mesh(
  new THREE.BoxGeometry(1,1,1), 
  new THREE.MeshStandardMaterial()
));

model.add(rigidBody);
scene.add(model);

这样,如果旋转父元素模型 ,则刚体应以相同的方式更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM