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)

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...