我需要知道如何生成一个复杂的形状来集成到我的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 举报,一经查实,本站将立刻删除。