2023-8-31-黑客帝国觉醒道路构成-街区分析

在演示中官方说明了其道路的制作是由houdini基于点云程序化构建的,我在项目中看道路的构成十分复杂,暂时不去分析学习houdini,仅仅从其排布能否手动模仿呢?

在删除1楼后可以看到下图1基本上可以拆解成路肩、路沿、人行道围着一整块红砖面,其中角落上嵌套了一个不规则多边形的地面覆盖了红砖面,这个不规则部分又可以拆解为三条直线的PRG,中间用地形做砖面材质接口处有几个配套的mesh对接。下图2情况差不多只不过更复杂一些。

下图1看起来很唬人本质上和上面的案例一样,其小广场一般的灰白相间砖面等同于上面的浅黄色砖块,也是被一圈灰白的PRG包围于其中的砖面。

下面这个案例中也是如此,被包围的是米白色大砖块。

图中所选的是打包成蓝图的instance static mesh。本质上是在instances面板中添加实例,然后改动相对位置,我不知道这样做是不是节约性能,总的而言它方便于反复调用,其实也可以用PRG来做,不过这样的PRG若不想烧脑相对位置关系的话则要多来几遍,比如下图中的这个灰色石板路加路灯可以一次,3种凳子要来5次,PRG不适合精确控制位置,可能用blueprint instance static mesh会更方便。

这个应该是packed level instance,在编辑模式下可以修改其布置,我试了下删除一辆汽车卡了10几秒,Ctrl Z想恢复卡了3-5分钟,看来这车不好摆弄,不清楚原因。

分析这个由houdini生成的打包actor,需要双击可选中想要分析的mesh,接着再单击可以选中这个打包actor中的其他mesh。这样的话可以熟悉道路所用的mesh。

至今还没测试过这种不规则道路的连接,需要测试一下。经测试PRG可以连接任意形状的道路,那么接下来就是如何把matrix的道路、decal转化成PRG了。路桥方面可以参考一下snappy

翻了下pcc中对“街区plot”(多条道路所围成的一个地块)的独立建设对道路有了进一步的理解。道路是有上下坡的,但对于街区而言基本可以忽略不计,大多数情况下一个街区单元内房子的地基都在一个平面上,而不会出现街区内有较大的坡度,环绕街区的一圈道路势必也是平的。下图1展示了一个上坡的房子,本质上是通过阶梯把坡抹平,在一个平面上形成街区。图2则是路面高于房子,外面的路怎么起伏不管,也就是路面和房子的地坪有个高度差通过路当中插入几个过道坡道或者阶梯衔接起来,房子本身的街区是平的,试想如果房子所在的街区随着路面起伏,那么房子必然东倒西歪,或者说其底层不是平的,这就不合理了。

这是曙光泊岸通往天马小区的下坡,显然这个黑色砖石的裙楼不可能与坡道平行,而是与地坪平行。大润发超市所在的位置,主路仍是下坡,可以看到它有一段阶梯,实质上就是提前走完下坡,在建筑那一块已经是平地了。

通过pcc plot画出多边形街区,先画一个立方体作为街区面积的参考大小,这一步可以配合blender的卫星地图terrain。

在data setup中设置building data和plot props data。update all data

激活real time edition可以显示街区的随机设计。

可以看出街区可以设置成任意多边形,然后是对顶点处设置corner mesh,在sidewalk system中添加sidewalk corner mesh。这些corner mesh与顶点对接,可调整角度,这里希望调整的角度是让corner mesh的两条边与接壤的街区spline垂直,因为sidewalk mesh本质上是沿着plot的segment平行延伸,这样就可以让它与corner mesh完美嵌合。

设置sidewalk mesh与sidewalk corner mesh相连接。

加上路肩、路沿(curb),可以看到刚刚添加的时候它是沿着plot在sidewalk内测,其本质是mesh around spline,我好奇sidewalk的mesh不也是mesh around spline这二者有什么区别呢,为什么要单独做一个系统。设置偏移使路肩,到sidewalk mesh外侧,勾选ignore z offset可以使路肩与sidewalk mesh高度平齐,这需要研究一下pivot的设置,原理暂时不清楚,实在不行调整z offset应该也可以平齐。additional y scale收缩一些让路沿与corner mesh平齐,这应该要在模型阶段让二者的90度贴面是平齐的,收缩的话下面平了,路肩估计就要不平了,不过从效果上看似乎都平齐了,不清楚原因。

这里又来了个概念叫props along spline本质上也是跟随plot的segment添加mesh,我推测区别可能是curb、sidewalk可以自动平铺、并调节scale自适应与spline对齐,而prop是散布。

prop at point,在角点处添加的mesh

prop deco per socket和pbg上的原理一样,通过socket定位添加prop

props with area,将一个plot作为plaza,本质上就是在街区里随机散布各种mesh、blueprint,初始状态下blueprint会重叠要用get actor size这个blueprint获取blueprint自身的尺寸,重新设置。之后会布满整个街区,可以设置它们的间距,在添加第二个blueprint时会自动调整其数量以及打散分布。chance可以调整其出现的密度。

2023-8-31-黑客帝国觉醒道路构成-街区分析2 2023-8-24-Artstation的unreal场景2

评论

Your browser is out-of-date!

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

×