美文网首页
Marvel's Spider-Man Building

Marvel's Spider-Man Building

作者: 离原春草 | 来源:发表于2024-04-10 20:43 被阅读0次

这里记录的是漫威蜘蛛侠的建筑生成相关的要点。

1. PCG相关

场景的规模大,项目上线时间长,PCG已经从一个可选项变成必选项,蜘蛛侠在下述资产的制作上,均应用了PCG方法:
1.建筑的摆放
2.场景灯光(light + probe)的摆放
3.场景中的一些可交互场景(事件)的生成

规格


PCG:分三步完成

PCG过程中遇到的问题与解决方案:

1.1 建筑的生成方式

先生成白模(灰模)

再在灰模四周贴上从several building kits中的组件,最后使用屋顶套件(可选的多个小模型,如果没有匹配的屋顶套件,会通过程序化自动生成),按照一定的规律,摆放在屋顶上

2.Technique Details

2.1. 目标机型&目标帧率

2.2. 性能预算

Main Thread

Render Thread

其他参考

线程同步

2.3.City Building

四级分割:

城市所有数据都是PCG生产的:

Houdini输出json,通过程序完成城市的生成:

2.4. Streaming

基于移动速度&CellSize,可以估算出每个Tile的加载耗时:

在快速移动的时候,可以通过Motion Blur来降低LOD/Mips的精度下降的影响

Streaming策略:先粗后精,先大后细

一些参考建议:

冗余可以提高IO效率,但是会导致包体增加:

修改规则,减少冗余:

2.5. 渲染

远景数据常驻:

3D Imposter:只有外壳,没有UV,根据顶点坐标,投影得到cubemap的采样坐标

生成方法参考:Marvel’s Spider-Man: IG-Impostors Cityscapes and Beyond

LOD规则:低模+低分辨率贴图 -> 低模+高分辨率贴图 -> 高模(分级LOD)+高分辨率贴图

加上自发光贴图补充夜景细节:

问题与解决方案:

将有问题的小物件与建筑远景解耦:

小物件做了LOD处理,缩小了Instance的Parameter数据尺寸,从而减少了内存消耗:

Scene Capture是分帧进行的,每次只绘制一个Face:

参考

  1. Procedurally Crafting Manhattan for ‘Marvel’s Spider-Man’.pdf

  2. Marvel's Spider-Man A Technical Postmortem.pdf

  3. Spider-Man IG-Impostors Cityscapes and Beyond.pdf

  4. Procedural Systems for Marvel's Spider-Man.pdf

  5. Procedural System Assisted Authoring of Open-World Content for Marvel’s Spider-Man.pdf

  6. Concrete Jungle Gym Building Traversal in Marvel's Spider-Man.pdf

  7. 【GDC2019】Building New York in 'Marvel's Spider-Man' - It's Still Just Level Design.pdf

  8. Building Procedural Manhattan in Marvel's Spider-Man

相关文章

网友评论

      本文标题:Marvel's Spider-Man Building

      本文链接:https://www.haomeiwen.com/subject/fdfcxjtx.html