大家好!我一直在开发一个灵感来自《The Forest》和《Sons of the Forest》的大型生存游戏,目前最大的挑战之一就是在不降低编辑器性能的情况下创建一个大而密集的森林,因为有成千上万的树木、灌木和其他植被作为游戏对象,使得工作变得越来越困难。因此,我构建了一个基于节点的散布系统,它在编辑器中生成预先排列的数据,并在运行时仅实例化附近的对象,使用距离池。这种方式既能保持编辑器和运行时的响应性,又能让每个生成的对象都像普通的游戏对象一样表现(例如树木可以被砍倒)。最终,这种解决方案足够好,让我决定将其转化为一个资产,并命名为 Scatter Graph。除了常规的排列规则,如高度、坡度、地形纹理等外,它还支持更生态的规则,如不同排列层之间的影响(例如在视频中(00:30),你可以看到只有在更大的树木周围才有蕨类植物)。它使用GPU实例预览,因此你可以在编辑器中可视化到4百万个排列点而不降低性能,并包含了一个 billboard 系统来高效地渲染远处的实例(假设它们是低多边形的替代品)。如果你想知道更多,可以在这里查看 文档。另外,如果你愿意尝试这个工具,并且你会处理这种问题的方式不同,请告诉我。
我需要一个大型可交互的森林来用于我的游戏,所以我最终创建了这个工具。
评论 (0)