我将经典的Houdini设置移植到了普通的Unity C#: 在一个网格上散布点,连接邻居,找到从下往上最短的路径,随时间逐渐显示出来。四个脚本,无任何包,免费使用,包括商业使用。设置很简单:一个空的GameObject,添加四个组件,分配一个MeshFilter。目标网格需要一个非凸形碰撞器,以便线条可以投射到真实表面。所有内容都可以在调试器中调整,并且在编辑模式下运行。两个实现细节可能会很有趣,即使你从来没有触摸过脚本:分支是免费的。一个从根部的多源Dijkstra算法,路径共享靠近底部的边。共享的部分是树干。计算每条路径使用的每条边的数量也可以给出厚度,所以代码中没有单一的分支逻辑。噪声应该放在边缘成本上,而不是点位置上。抖动的点仍然会产生直线。昂贵区域周围的路径会绕过,整个有机外观就是这个绕过。注意:这是一个原型级别的。藤蔓是LineRenderers,而不是网格,非常复杂的网格需要调整一些参数。有一个内置的诊断工具,会告诉你简单的语言中什么是错误的,大部分是因为我自己需要它。附带的视频,脚本链接在这里(https://drive.google.com/drive/folders/1-uo4xgGvQvKnPZnFYqFhDVV5dGdYHNch?usp=drive_link)。Enjoy!
我重建了霍金斯(Houdini)的葡萄生长工作流程,使用平常的Unity C#。四个脚本,零包,免费。
评论 (0)