最近做的大创项目需要用到体素化的模型,简单的做个探索的记录,一来方便自己查阅,而来希望可以帮到别人。
模型体素化,选用的是.binvox格式来存放体素模型。
但是显示体素模型用的软件viewvox.exe对模型的显示方面存在相当多不好用的地方,而且对项目后续的内容来说,也不是非常适用。
另一个问题是3DMAX创建出的模型并不能通过转化成功的变成体素模型,下图是将一个长方体转换体素模型后原模型(右)与体素模型的对比(左):
可以看到一个面片的体模型,经过转换得到的体素模型只剩四个角,在更换了模型的保存方式之后,仍然不能很好的转换。
而球体则根本无法转换。
目前并不清楚为什么会产生这样的问题,但显然这样的问题也会在后期的内容中带来问题。
所以目前的方法是使用Unity尝试创建一个体素模型,这里采用的是最简单的方式,即把原物体加上碰撞器和刚体,然后在它的bounds里生成指定大小的正方体,然后原物体上绑上触发检测的脚本,如果碰到了正方体,就修改正方体的标签,最后把标签没有修改的正方体全都删除掉,最后生成网格并把生成的网格存下来。
参考资料:https://blog.csdn.net/wjj616806129/article/details/86555177
方法简单粗暴,但是性能并不好而且很粗糙。(运行个球体的体素化CPU温度80℃+