如何在cocos中实现模型的体素化拆分

我当然知道cocos官方不可能自带啦……毕竟官方规模有限,好多东西等着都没弄的,也理解。只是想到论坛上大佬多,说不定谁就顺手做了个呢

以前在unity做过…cocos也可以试试…

找了一篇unity 的文章看了看可以一试

大佬做一个哇~

我手头活干完,我搞一个demo试试

用正交相机给模型做个X光,然后就有体素信息了,再生成一下mesh就好了,自定义一下颗粒网格的话,也可以做成乐高样式:
1
2

试玩链接:https://chengxu1973.github.io/cocos-voxel/

源码链接:https://github.com/ChengXu1973/cocos-voxel

7赞

第一个star

谢谢你,starboy :yum:

大佬牛B啊,你这弄得这么快,我还想看看上面的 @wslx@312474156 大佬的,怕他们不发了哦。

牛哇
帖子至少要五个字。

DC 很高,大佬。

你可以试着把代码里 MAX_INDICE_PER_MODEL 的值改大一点,我现在设置的 2048,体素分的比较小的情况下面数很高,所以dc很高;或者你可以尝试用instancing

大佬73年的?,牛

嗯,1873年

牛而逼之!!!

我有点好奇, 如果原模型是可以动的, 那是不是只能每帧重构颗粒mesh?

感觉动画很难做,一是骨骼信息都没了,二是你重构为体素之后,动画的形态有所变化。

比如说,假如原来的动画是一个人的手臂慢慢抬起,那么手臂上的每一个面都可能会有不均匀旋转+位移+缩放,而重构为体素以后,理想的动画形态是,每一颗体素作为一个整体有位移,旋转的话看产品需求,但是都没有缩放

我现在有个初步的思路,制作模型时骨骼少一点,然后重构模型时,把骨骼权重也储存到体素信息里面(现在只有位置和颜色),重构完以后,以体素为单位按照骨骼进行位移,感觉调试起来不简单

好把, 看来低成本方案还是只有投到rt 再shader 像素化 :sweat_smile:

这是最快的办法,
rt来记录颜色和位置信息
比传统树来构建体素要快多了

我材质CullMode设置的是NONE