在引擎中使用道路工具,构建路网。路网由道路和路口组成。道路可以实时的影响地形,所有道路工具对地形的修改均为非破坏性修改(Non-Destructive)。路网创建完成后,调节工具参数,点击Generate Road,Houdini后台接收路网信息和工具参数,生成道路和路口的模型,生成地形最终的高度和材质遮罩,传回引擎中。
方案实现
引擎中使用USplineComponent和USplineMeshComponent创建工具Actor构建道路的控制器,使用USplineMeshComponent生成的模型,和Landscape地形采样,生成高度信息传回地形。在Houdini中根据路网曲线,用简单的Sweep节点生成路面模型,根据路口Tangent角度,计算相邻道路相会点,求出路口曲线生成路口模型。为路面和路口模型生成点颜色噪声图去混合材质贴图。
技术特性
- 引擎中实时影响地形高度,实时预览;
- Houdini后台生成程序化资产;
- 引擎中自动摆放围栏和路灯,实时预览;
参数设置
道路工具通用参数配置文件,使用自定义的UObject作为参数输入,一般配置统一的参数(文件保存路径,材质,围栏和路灯的模组等),可以被重复使用。
道路工具的Details参数面板上的参数配置,控制每个工具独特的参数。
Houdini算法
Houdini拿到Unreal传过来的曲线和参数后,在一个CompileBlock中完成路面、路口和地形高度的生成,极大提高节点执行效率。
Developed by 徐門子美(Kevin).