2023-9-4-citypark景观道路树木花草资产的布置分析

这个项目中包含一个优化和一个未优化的map,目前我发现的区别是道路,在优化的map中道路独立于landscape,是由几个单独的非常宽广的mesh组成。而未优化的map中道路是在landscape中用spline mesh实现的。

通过上一篇比较spline mesh和PRG的landscape deform可以看出来二者之间基本就是一个东西。因此研究未优化的CityPark map中的spline mesh道路对小区内以及大型小区、公园、商业区的小路设计实现就很有参考价值了。(2023.9.4晚上半个小时里我操作landscape的绘制奔溃重启两次了,暂时不清楚原因,另外在优化的map中查看fps只有不到15,根据newman brother的说法低于45作为游戏运行就很不好了,而在matrix的完整城市中漫游fps是高于25的,明天再测试一下有点忘记具体数值了。)在ue中右键任意物体,可以通过visibility选择独立显示物体,不过这个好像没快捷键有些不太方便,下面先分析CityPark的7个landscape材质层:

下图中两条路中间的草地是18.8米宽度,可以看看400尺寸的brush单击一次产生的绘制效果。

下图中左为3号土壤材质层,中间为1号土壤夹杂树叶、碎树枝材质层、右边为2号青草材质层。拉远看,整个公园大多数的landscape都是用1、2、3号材质层实现的

基于土壤、青草材质层,在landscape上进入foliage模式绘制植物、花卉。

场地中所有的foliage都是一个actor,打开时为13fps左右,关闭为16-17fps。通过citypark项目可以看看哪些东西吃fps,对整个场景作优化。在使用world partition局部打开map后fps没有得到优化

下图1和下图2左为6号材质层,下图2右为5号材质层,可以看出来配合landscape flatten笔刷做出一片空气再用路肩PRG包围即可用材质层绘制的方式对一片区域绘制地砖,比如下图3就可以用这种技法去实现,然而对于图4这种规则排布的复合材质就不行了嘛?好奇如果将黑白相间的砖料材质作为材质层绘制会如何。

第7个材质层用于和小路接壤处“偷懒”,利用与小路的质感近似在不规则区域绘制使二者融合,下图通过绘制青草可以看出接壤部分landscape的区域范围。

接下来分析landscape模式下的道路spline mesh:

这里小路由3种mesh构成,交叉部分为parkPath1_4、parkPath1_3,而长的部分是parkPath1_2.

在spline mesh道路绘制中关于这种小路交叉口的解决方法是用半面路肩的mesh。制作时会下意识的认为右转用左边缺口mesh,实际发现这和spline的绘制起始方向有关,比如下图2、3都是用左边缺口的parkPath1_3 mesh,可以发现右下角这个小路却是右侧缺口,这个逻辑也不必深究反正就是二选一替换就是了。在PRG中的road system菜单下的road segment可以替换每一段路段的mesh,这样就可以对首尾衔接交叉口的mesh做变换了。对于三岔路口使用3个半面路肩的mesh,对于四岔路口使用4个半面路肩的mesh.

接下来的问题就是对于小区、公园、商业区的小路如何利用PRG做到citypark中的这种连接了。

以下为我的尝试通过一个parkPath1_4 mesh复制再旋转构成一个三叉路口,再对这3个mesh复制以后拉长并复制原mesh的位置得到了三岔路口的小路,可以看到拼接处还有些瑕疵,旋转的对齐还需要手动搞一定的调试,感觉这个方法不行。

第二个思路是对路肩、路沿绘制splinemesh道路部分用材质层去绘制,简单尝试了下效果还可以,不用考虑接口问题,但是曲线手动绘制很麻烦,那么就是要在blender中画好“绿化块”曲线,导入今来后定义一个PRG配合utility widget将它们一键转化为路肩了。不过这样做的话对于道路的坡度起伏调整要两侧各一次,且必须保证点在相同的位置,不然deform时肯定会造成地面对curb穿模。

经测试发现路肩的mesh放在prop里不容易卡反倒是放在road system和side spline road system中移动会卡,原因目前搞不清楚。不过用prop的问题在于转弯过渡会出问题另外排列上层次不齐没法连续,因此看来还是只能用在road system里。另外curb的材质也要想办法解决同质化问题。

用citypark的landscape材质添加自定义材质层,以及复制master material中的设置创建一个新的layer,这里需要修改所有的连接参数以及添加4个相关属性的layer blend。

关于文件的保存状态,目前来看不保存退出,材质的修改记录会保存,导入的文件都会消失,复制创建blueprint子类也会消失。

制作自定义的道路blueprint,目前发现只有复制prefab里面的blueprint做修改,道路blueprint运行性能正常,如果自己开个blueprint子类会很卡,原理不明能正常用就好。打开blueprint把面板中需要调整的参数设置到想要的初始状态方便后期调用即可。

2023-9-6-道路规划初步 2023-9-14-ue官方hillside世博园1967建筑项目分析

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×