大家好,更多关于我们在POOF中构建世界过程的细节。

首个挑战是为狂欢节区域打造地貌。从之前的帖子可以知道,几乎所有模型都是用真实粘土制作的。从技术和实践角度来看,一次性雕刻整个地貌对我们来说并不可行。

我们还尝试扫描了一些瓦片,为法线贴图或WPO生成无接缝纹理。但结果并不理想,主要是因为这些纹理缺乏与物体的互动性,而随着游戏开发推进,物体经常被移动。因此我们只有一个解决方案...在Houdini中使用程序化地形。这能实现视觉一致性、灵活性,并能对地图上的物体做出反应。

在程序化工作流程中最实用的效果之一就是噪波的扭曲。大部分设置都在调整这些噪波,使其完全按我的想法运作。Houdini的地形节点对此非常有用。分层和扭曲形状既快速又直观。我从线形图案开始,所有这些有机的、类似粘土的形状都来自对这些线条的扭曲。

还需要制作可见的道路和泥地区域。我使用遮罩来混合地形高度场,或在不同区域以不同方式驱动噪波参数。部分遮罩来自手绘曲线,视频中可以看到。

下一步是添加物体遮罩,用于抬高物体周围的地形高度场,形成这种"推入"效果。现在只要改变地图布局,仅需重新导出即可。

最后一步是从高模烘焙到低模,并在RGB通道中生成黑白遮罩,用于驱动引擎中的颜色。我们使用一张4K贴图处理法线,另一张处理遮罩。

这些不能作为单个物体导入,因为我们的游戏不使用Nanite技术。所以我将其分割成等份方块。因此可以使用LOD。在创建简化版本时(如视频所示),接缝保持完整,这点非常重要。每个LOD层级还需对边缘法线进行插值,以免引擎中出现可见接缝。

由于我们使用烘焙光照,还需要注意需要两套UV:一套将所有瓦片放在同一个UV方块内用于纹理采样,另一套用于光照,每个瓦片占据完整的UV方块。

如有任何问题欢迎提问!