首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cannon.js复杂形状

Cannon.js复杂形状
EN

Stack Overflow用户
提问于 2015-06-06 04:41:06
回答 2查看 2.8K关注 0票数 4

我需要知道如何利用Cannon.js物理学的优势,生成一个复杂的形状来集成到我的Three.js场景中。

我从这个例子开始:http://schteppe.github.io/cannon.js/demos/bunny.html

看着代码,我注意到兔子是用数组中的面和顶点来描述的。看起来很强大,但是如果我想动态生成这些数组,我该怎么做呢?

例如,仅使用Three.js,就可以以json格式导出搅拌器模型,并以编程方式将其加载到场景中。我需要为Cannon.js做同样的事情,但它的工作方式似乎不同于Three.js的搅拌器模型。

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2015-06-08 01:17:51

这只兔子是由使用名为HACD的凸面分解软件预计算出的凸面形状制成的。凸分解是指将凹面网格转化为凸形子形状。

一种解决方案是自己做同样的事情:使用工具从更复杂的网格生成凸形子形状。另一种解决方案是使用简单的内置基元,如球体和长方体来构建物理形状。由多个子形状组成的形状称为复合形状(请参阅Cannon.js compound demo)。许多游戏开发人员使用这种方法,因为它是一个更简单的工作流程,并提供更好的物理性能。

(图片来自Unity manual)

票数 7
EN

Stack Overflow用户

发布于 2016-12-16 06:11:10

对于将来的读者,有一个将自定义网格转换为炮身的示例。

首先,我使用v-算法将凹面形状转换为多个凸面形状。最后,我使用以下命令解析wrl输出文件:https://gist.github.com/Anthelmed/688499e314122f493a8f1c9d3b299594

我希望这个答案对你有用。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30675493

复制
相关文章

相似问题

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