前言
随着电脑和手机硬件性能越来越高,游戏越来越追求大世界,而大世界非常核心的一环是植被,目前UE5引擎提供给植被生成的主流两种方式为 手刷植被和LandscapeGrass(WeightMap程序化植被)。当然UE5.3推出新一代PCGFramework 节点程序化生成框架,也可以用于植被生成。(本文暂不涉及到PCGFramework), 主要分析LandscapeGrass方案。
手刷植被
手刷植被是比较传统的植被生成方式,基本各种引擎都会提供植被编辑器让美术人力刷植被,这里倒是没什么好分析的。UE5提供了手刷植被模式FoliageMode, 工具比较齐全,比较易用,能让场景美术高效率手工刷植被。FoliageMode生成的植被是用HISM组件管理,不明白的可以看看我的另外一篇博客(UE4 4.27) UHierarchicalInstancedStaticMesh(HISM)原理分析

LandscapeGrass(WeightMap程序化植被)
背景
weightmap程序化植被, 顾名思义: 由地形weightmap程序化生成的植被。首先地形WeightMap的概念,说白了就是地形材质混合的权重图,不懂的可以看下UE地形系统材质混合实现和Shader生成分析(UE5 5.2)。场景美术在地形上频繁刷了各种材质,比如草原或者沙漠,然后需要再相应的地貌上种植相应植被,比如草原种绿草,沙漠种仙人掌,因为地形的材质层是频繁改动,每次刷完草或者沙漠后,又得用FoliageMode 在相应地貌刷植被,两重工作量,而且容易遗忘,这时候就非常需要一种工具: 在相应的WeightMap上程序化铺满一种或许多种植被,每次刷完WeightMap后地形可以自动生成。UE引擎 就有这样一套方案,叫LandscapeGrass
LandscapeGrass使用简介
配置LandscapeGrassType

本文详细介绍了在UE5引擎中,尤其是LandscapeGrass模块如何通过程序化方式生成植被,包括手刷植被与WeightMap技术的对比,以及关键步骤如RenderGrassMap的创建、GrassInstancedStaticMeshComponent的使用和随机撒点技术。
最低0.47元/天 解锁文章
3609





