如下图所示,我有一个带有简单立方体的THREE.Scene
。附加到立方体的是物理的CANNON.Body
(以绿色线框表示)。
CANNON.Body
从多维数据集偏移几个单位。对于旋转,此偏移将是半径。
当我旋转立方体时,我希望CANNON.Body
根据角度和半径围绕立方体旋转。在图像的右侧,我以45度的角度旋转立方体(我也有弧度可用)。但是,CANNON.Body
不会围绕立方体旋转,只围绕它自己的中心。我需要它来围绕所有轴 x , y 和 z 旋转围绕。
THREE.js
中是否有内置函数,或者我应该使用自己的数学方程?如果是这样,会是什么?
谢谢!
P.S。我已经看到了纯THREE.js
场景的解决方案,其中几何体被转换为操纵枢轴点。由于我的CANNON.Body
中没有几何图形,所以这是不可能的。
答案 0 :(得分:0)
我从未使用过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);
这样,如果您旋转父元素模型,刚体应该以相同的方式更新。