我有一个基本的THREE.js场景,用Blender创建,包括立方体和旋转平面。我是否可以将这个THREE.js场景自动转换成一个CANNON.js世界?
谢谢
发布于 2016-03-08 08:26:48
从Three.js搅拌机出口商的角度来看,它看起来只是导出网格数据,没有关于Cannon.js需要工作的数学形状(框、平面、球体等)的信息。您可以尝试使用Cannon.js类将网格直接导入到三角网中,但这将不幸地导入只适用于与球体和平面的碰撞。。
你需要给Cannon.js的是数学几何数据,告诉它在你的网格中哪个三角形代表一个盒子(或平面)以及它的质量中心在哪里。
创建3D WebGL物理的一个常见(手动)工作流是将3D模型导入到一个支持WebGL的游戏引擎中(比如统一、Goo创建或PlayCanvas)。在游戏引擎中,您可以添加对撞机形状到您的模型(盒,平面,球体等),这样物理引擎可以有效地工作。您可以在那里预览您的物理模拟和导出完整的WebGL体验。
发布于 2017-09-23 23:54:33
我要发布另一个答案,因为这里有一些新的选择.
mesh2shape(...)助手,它可以将THREE.Mesh对象转换为CANNON.Shape对象(每次一个对象)。它不支持某些特征,如高度图/地形。示例:
var shape = mesh2shape(object3D, {type: mesh2shape.Type.BOX})
https://stackoverflow.com/questions/35832724
复制相似问题