我有一个基本的THREE.js
场景,在Blender
中创建,包括立方体和旋转的平面。有什么方法可以自动将此THREE.js
场景转换为CANNON.js
世界吗?
由于
答案 0 :(得分:2)
查看Three.js Blender exporter,看起来它只导出网格数据,没有关于Cannon.js需要工作的数学形状(框,平面,球体等)的信息。您可以尝试使用其Trimesh类将网格直接导入到Cannon.js中,但遗憾的是only work for collisions against spheres and planes。
你需要喂食什么Cannon.js是数学几何数据,告诉你你的网格中哪些三角形代表一个盒子(或平面)以及它的质心在哪里。
创建3D WebGL物理的常用(手动)工作流程是将3D模型导入支持WebGL的游戏引擎(如Unity,Goo Create或PlayCanvas)。在游戏引擎中,您可以为模型添加对撞机形状(盒子,平面,球体等),这样物理引擎就可以高效工作。您可以从那里预览物理模拟并导出完整的WebGL体验。
答案 1 :(得分:1)
要发布另一个答案,因为这里有一些新选项可以考虑......
mesh2shape(...)
助手,可以将(一次一个对象)从THREE.Mesh转换为CANNON.Shape对象。它不支持某些功能,例如heightmaps / terrain。示例:
var shape = mesh2shape(object3D, {type: mesh2shape.Type.BOX})