CosmoNode v0.4.0 现已发布,最大的更新是网格实例化!

v0.4 来了,最大的更新是现在你可以实例化网格了!我本以为只需要几个小时的重构,结果变成了几周的架构调整,哈哈!但绝对值得,因为这对任何像 CosmoNode 这样的程序化工具来说都是必不可少的。现在你可以"打包几何体",本质上是将任何网格转换为一个实例——一个单一的源网格和任意数量的代表实例的变换,而"实例化几何体"则执行相反的操作,将所有网格转换为真实网格。

你还可以在"复制"和"复制到点"等节点中选择使用实例,它们将输出实例对象而非真实对象。这将使许多其他操作变得非常轻量。根据节点设置的不同,这可以显著提升评估时间。效果如此之大:没有实例时,视频中的图评估大约需要 150 毫秒;而使用实例后,仅需 18 毫秒。

但并非全是阳光和彩虹,这引入了另一个问题。在每个图评估结束时,它需要将所有内容转换为真实网格才能显示。实例越多,这个过程耗时越长。性能仍然有所提升,但效果不那么显著。

为了解决这个问题,我有几个选项。最明显的是 GPU 实例化,这可能会消除实例化的需求。另一个是优化实例化过程,可能通过任务系统实现。这也是下一个更新将关注的重点。

但还有更多内容!还有其他虽小但依然重要的更新,主要是错误修复和生活质量改进。以下是其中一些:

曲线工具得到了改进。现在你可以框选曲线点,是的,我知道这很明显,但迟做总比不做好,对吧?你还可以使用轴箭头挤出新点,这使得制作管道之类的东西更加容易(查看我关于程序化管道生成器的其他视频)。

"跟随路径"节点现在会自动创建 UV。熟悉 Blender 曲线工作原理的人应该对此不陌生。

你可以将材质和曲线输入暴露为参数。这意味着如果你将材质或曲线输入连接到输入节点,它将会显示在检视窗口中。这让你无需接触图表就能轻松更改数值,并且允许你为每个附加了该图表的游戏对象修改数值。

此外还有许多错误修复,你可以在下方找到完整的变更日志。

最后,我非常感激你提供的任何反馈。CosmoNode 是一个相当大的工具,我不可能测试所有情况,所以如果有问题或需要改进的地方,请随时告诉我!

如果你想尝试一下,文档和完整的变更日志在这里:https://uumutunal.github.io/CosmoNode_Manual/