虚幻引擎湖泊地貌程序化生成工具,使用Houdini为引擎生成湖泊的水面模型,以及湖水的DepthMap。根据湖水和地形的接触线生成湖泊地貌的地形材质(Landscape Material),并利用地形材质的Material Layer Mask剔除场景中的植被。一切,都在引擎中程序化完成。
方案实现
在引擎中使用USplineComponent拖拽生成一条闭合的曲线,根据这个曲线框选的范围。使用UProceduralMeshComponent生成湖面的预览模型。在Houdini中生成湖水的模型和DepthMap,同时生成地形材质的Layer Mask。
没有使用 HoudiniEngine,所有接口方法均使用引擎的 C++实现。
技术特性
- 引擎中通过Spline实时控制湖泊区域范围;
- 将Spline曲线和工具参数后台传给Houdini;
- 在Houdini中生成湖水模型和DepthMap贴图并传回引擎;
- 根据水面和地形接触线生成地表材质;
- 根据生成的地形材质Layer Mask剔除植被;
参数设置
湖泊工具通用参数配置文件,使用自定义的UObject作为参数输入,一般配置统一的参数(文件保存路径,材质等),可以被重复使用。
湖泊工具的Details参数面板上的参数配置,控制每个工具独特的参数。
Houdini算法
Houdini拿到Unreal传过来的曲线和参数后,在一个CompileBlock中完成地形、湖面模型和湖水DepthMap贴图的生成,极大提高节点执行效率。
Developed by 徐門子美(Kevin).