三维模型制作规范

一、三维模型整体要求
【运行时】卡顿问题优先检查
最可能导致运行卡顿问题的就是物体+材质的数量太多,物体越少,材质越少就越不卡

  1. 能关联复制的必须关联复制(选中物体切换编辑模式就可以看出来哪些是关联复制)
  2. 检查树和路灯的命名是否正确,不正确会影响程序进一步合并
  3. 单个物体材质过多时能手动就手动合并材质,不能手动就用山海鲸的插件做材质合并
  4. 多个物体共享相同材质,同时每个物体面数较少时可以合并成一个物体,如下图

image.png

【加载时】卡顿问题优先检查
最可能导致加载卡顿问题的就是材质贴图太大

  1. 检查所有材质贴图 超过 2k 的就算比较大 超过 4k 基本就必须替换掉
  2. 有时是因为某个材质贴图太长或者太高导致使用材质合并插件的时候生成的贴图太大

注意:面数检查都以三角面作为标准

二、三维模型细节要求

1、整体检查

  • 动画总帧数为 24 帧的倍数,并且所有动画的最大帧数都统一为这个总帧数
  • 总面数最好不要超过 100 万个面
  • 除了水之外,都不要破坏其他的面,例如道路不要在地面上扣洞,直接覆盖和稍微抬高即可
  • 【所有材质】核心区贴图最大 2k,非核心区贴图最大 1k
  • 【所有材质】除了基础色 发光贴图和光照贴图 其他色彩空间都改 NonColor
  • 【所有材质】粗糙贴图和金属贴图只能用一张
  • 【所有材质】 不能设置 transmission
  • 【所有材质】 不要改 normal 的 intensity
  • 【所有材质】不要设置有 gltf 格式不支持的节点(除了光照贴图)

支持项参考: https://docs.blender.org/manual/zh-hans/2.93/addons/import_export/scene_gltf2.html

  • 相同材质能复用一定要复用,不要复制出多个
  • 第二套 UV(如光照贴图的 UV)不能叫做UVMap,否则程序会识别失败

2、地面

  • 命名前缀[ground]
  • 尺寸是否和真实做的面积一致
  • 原点位置是否在地面的上表面
  • 位置在 0,0,0 点,无旋转无缩放(位置要对 旋转和缩放应用掉)
  • 地面材质美观度

3、地形

  • 命名前缀[terrain]
  • 面数最大不超过 5000 个
  • 旋转和缩放应用掉
  • 与地面无明显界限(衔接要自然)

4、水面

  • 命名前缀[water]
  • 面朝向是否正确
  • 原点位置是否在水面的表面上
  • 旋转和缩放应用掉
  • z 轴位置放在-2m(特殊情况除外)
  • uv 展开是顶视图 视角投影(限界)

5、道路

  • 命名前缀[road]
  • 面朝向是否正确
  • 直线路面不能有分段
  • 旋转和缩放应用掉
  • z 轴位置放在 0.1m(立交桥情况除外)
  • uv 展开是顶视图 视角投影(限界)
  • 烘焙的光照贴图是否正常(贴图连接到自发光通道上检查)
  • 材质的 ao 节点名称是 glTF Settings,不能有后缀

6、路沿

  • 命名前缀[sidewalk]
  • z 轴位置放在 0(立交桥情况除外)
  • 直线路沿不能有分段
  • 高度为 0.3-0.4m
  • 宽度为 1-3m
  • 材质的 ao 节点名称是 glTF Settings,不能有后缀

7、行车线(可选,用于程序读取生成车辆运行)

  • 命名[path]
  • 导出时勾选几何数据->松散边
  • 人行横道前必须有一个点,用作人行横道前停车点

8、流光

  • 命名前缀[lighttrail]
  • 面朝向是否正确
  • 材质前缀[light](这个前缀主要是为了让流光在白天不显示)
  • 材质混合模式 Alpha 混合
  • 动画帧数 240
  • 动画美观度(单条流光长一些,动画交错一些)

9、车道线

  • 命名前缀[roadline]
  • z 轴位置放在 0.2(立交桥情况除外)
  • 面朝向是否正确
  • 双黄线直线部分不分段,曲线部分不断开(合并分段用 F 键,连接断开用焊接修改器)
  • 核心区道路都有车道线(最好也有左转右转等)

10、路灯

  • 命名前缀[lamp]

11、树

  • 树必须从写实版 3D 城市 V2 中的演示项目里面拷贝
  • 树命名前缀[树]
  • 树是否都是关联复制
  • 树材质的 ao 节点名称是 glTF Settings,不能有后缀
  • 树大小和旋转上错落有致不重复
  • z 轴位置是 0(山上的树除外)

12、建筑

  • 墙面材质命名前缀[wall]
  • 墙面和窗户混合的材质命名前缀为[facade]
  • 窗户材质前缀为[glass],金属度调为 1,粗糙度小于 0.5,alpha 为 1
  • 同一个建筑最好合并成一个 mesh
  • 单个建筑最好控制在 1 万个面以下 核心区建筑最大不超过 5 万个面
  • 窗户的窗栏杆不能用建模实现,用贴图实现
  • 检查每一个部分 UV 展开是否正确

13、软件交互项

  • 标记点命名前缀[mark][分组]名称,例如:[mark][监控]电梯监控
  • 入场镜头动画相机命名为[camera]
  • 热力图平面前缀[heatmap]
  • 普通动画中开关动画动画名称前缀[toggle]
  • 普通动画中循环动画动画名称前缀[loop]
  • 材质动画中开关动画材质名称后缀[toggle]
  • 材质动画中循环动画材质名称前缀[loop]