首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将THREE.js场景转换为CANNON.js世界

将THREE.js场景转换为CANNON.js世界
EN

Stack Overflow用户
提问于 2016-03-06 21:19:08
回答 2查看 2.4K关注 0票数 0

我有一个基本的THREE.js场景,用Blender创建,包括立方体和旋转平面。我是否可以将这个THREE.js场景自动转换成一个CANNON.js世界?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-03-08 08:26:48

Three.js搅拌机出口商的角度来看,它看起来只是导出网格数据,没有关于Cannon.js需要工作的数学形状(框、平面、球体等)的信息。您可以尝试使用Cannon.js类将网格直接导入到三角网中,但这将不幸地导入只适用于与球体和平面的碰撞。

你需要给Cannon.js的是数学几何数据,告诉它在你的网格中哪个三角形代表一个盒子(或平面)以及它的质量中心在哪里。

创建3D WebGL物理的一个常见(手动)工作流是将3D模型导入到一个支持WebGL的游戏引擎中(比如统一Goo创建PlayCanvas)。在游戏引擎中,您可以添加对撞机形状到您的模型(盒,平面,球体等),这样物理引擎可以有效地工作。您可以在那里预览您的物理模拟和导出完整的WebGL体验。

票数 2
EN

Stack Overflow用户

发布于 2017-09-23 23:54:33

我要发布另一个答案,因为这里有一些新的选择.

  1. 我编写了一个简单的mesh2shape(...)助手,它可以将THREE.Mesh对象转换为CANNON.Shape对象(每次一个对象)。它不支持某些特征,如高度图/地形。

示例:

var shape = mesh2shape(object3D, {type: mesh2shape.Type.BOX})

  1. 有一个(试验性的!) 物理延伸,用于glTF格式,它包含带有模型的物理数据。您可以在Blender中添加物理数据,导出到glTF,然后修改THREE.GLTFLoader将物理数据传递给应用程序,从而帮助您构造CANNON.js对象。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35832724

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档