微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

3d – Cannon.js复杂的形状

我需要知道如何生成一个复杂的形状来集成到我的Three.js场景中,以及Cannon.js物理的好处.

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

看一下代码,我注意到兔子的面和顶点都是用数组来描述的.看起来非常强大但如果我想动态生成这些数组怎么办呢?

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

提前致谢

解决方法

兔子是由凸面形状制成的,这些形状是使用名为 HACD的凸面分解软件预先计算出来的.凸面分解就是当你采用凹面网格并将其变成凸形子形状时.

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

(图片来自Unity manual)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐