模型检查流程

楼主
我是社区第1117647位番薯,欢迎点我头像关注我哦~

建模软件

建模首选blender,其次3dsmax和Maya

    • 要求:建议采用blender最新版进行建模、材质制作以及导出,其次可以选用3dsmax/Maya来处理模型,剩余三维软件均不建议使用
    • 说明:在多个建模软件中,blender对于gltf2.0兼容性最好,且因为是免费开源软件,所以不会有商用问题且有很多优质教程
                 3dsmax和Maya有官方维护的导出插件能够获取到较好的导出兼容性,但需要注意商用问题

 

 

导出选项

导出格式为glb

    • 要求:在导出文件时,应当选择.glb格式(一种打包的二进制文件,所以一次导出有且仅有一个glb文件)
    • 说明:当前产品仅支持导入glb格式的模型文件(gltf可以用于检查文件内的贴图以及其他信息)

导出时应用Draco压缩

    • 要求:在导出时,应当勾选压缩选项(使用默认压缩设置即可)再进行导出
    • 说明:使用Draco压缩可以在几乎不影响效果下,有效减小文件中网格数据占的大小(部分模型使用压缩会出现炸面的情况,可以先三角化再导出来解决该问题)

导出的文件名合理且无特殊符号

    • 要求:导出文件名称上应当简要描述模型主体,应当避免出现类似#¥$=+&*等等特殊字符
    • 说明:需要通过文件名称来快速区分不同的模型,文件名种带有特殊字符的文件会无法加载进产品中

尽量导出较少的glb文件数量

    • 要求:如果没有特殊需求,应当尽量少地导出glb文件,控制文件梳理在1-3个
    • 说明:导出的glb文件较多会导致后续模板维护的困难,以及资源容易重复导致的浪费

仅导出所需要的网格/数据

    • 要求:在导出设置上,应当避免勾选不需要的对象/数据,如:摄像机、灯光、切向等等
    • 说明:不导出非需要对象/数据,可以减少文件大小,且避免产品对象面板的混乱

 

场景对象

场景单位为米

    • 要求:设置单位是公制的
    • 说明:若单位不一致会容易导致模型在传递转换时出现大小不一致的问题

对象名称无特殊符号

    • 要求:模型对象名称除“-”和“_”,不能出现其他特殊符号
    • 说明:一些如&+?等特殊符号可能会导致模型加载问题

对象尺寸与实际一致

    • 要求:模型对象的尺寸应当和实际尺寸保持一致
    • 说明:避免不同对象因为尺寸不对导致的比例不协调

对象原点在对象上

    • 要求:检查对象的原点是否在对象上,一般情况下可以在右键菜单中设置原点在对象的几何中心处
    • 说明:对象的原点放置正确可以方便在平台上移动,旋转,缩放模型

相同的对象应当尽量做关联(instance mesh)

    • 要求:对于一样的模型网格对象需要关联起来
    • 说明:关联对象可以减少文件大小以及提升预览帧数

模型对象应当按类型并以一定规范进行分组

    • 要求:模型中的对象需要按照类型进行分组,如:室内,室外,建筑等等,且是以空物体作为对象父级的方式来进行分组
    • 说明:对象进行分组后以便在产品中进行统一管理和编辑

 

网格

尽量精简网格面数

    • 要求:面数较多的网格对象应当尽量减少面数
    • 说明:可以使用精简修改起来优化面数,从而减少文件大小和提升性能

网格面朝向应当均为正面

    • 要求:在导出模型前应当检查模型的法向应当都为正面,避免出现直视反面的情况
    • 说明:反向的面会在渲染时出现发黑等问题

网格上没有破面,黑块等显示问题

    • 要求:检查网格是否存在破面、碎面、黑块、闪烁灯问题
    • 说明:这些问题也会导致在产品中的显示异常,需要在导出前解决

网格对象尽量仅有一张UV贴图

    • 要求:除去需要多UV映射的情况,其他的网格对象应当最多只有一张UV贴图,且保持贴图名称一致(建议为默认的UVMap)
    • 说明:网格对象的UV贴图也会增加最后的文件大小,且UV名称不一致时会导致合并的贴图显示错误

网格对象的UV展开正常

    • 要求:导出前应当检查UV贴图是否存在拉伸,展开方式是否合理,比例是否正确
    • 说明:UV显示不正确,展开不合理时会导致贴图映射错误比例不协调等等问题,从而影响效果展示

 

贴图

贴图分辨率

    • 要求:检查使用的贴图应尽量为正方形,且分辨率应为2的N次方,如256,512,1024等等,一般常用贴图分辨率应控制在2k一下,大场景下可以使用更高分辨率的贴图来保证清晰度
    • 说明:因为在产品中,贴图会根据所处的位置自动优化贴图分辨率,从而获得更高效率的渲染。所以需要贴图分辨率为2的n次方,以便快速处理贴图的细节

贴图大小

    • 要求:检查使用的贴图大小应当压缩在在每张2MB以内,对于非主要贴图应当需要压缩至500KB以内
    • 说明:常用的很多贴图大小都偏大,不压缩会导致最后的glb文件偏大

贴图名称无特殊符号

    • 要求:使用的贴图名称除“-”和“_”,不能出现其他特殊符号
    • 说明:一些如&+?等特殊符号可能会导致加载错误等问题

贴图无丢失

    • 要求:导出前应当检查材质是否有贴图丢失
    • 说明:贴图丢失会导致导出后纹理不能正常显示,建议使用自动打包外部资源以避免贴图丢失问题

无重复/相似贴图

    • 要求:导出前应当检查文件是否用到重复/相似的贴图
    • 说明:重复贴图的使用会导致导出的文件变大,应当在贴图上尽量精简避免浪费

尽量使用无缝贴图

    • 要求:应当尽量使用无缝贴图进行材质着色,且对于大比例平铺的情况下,应当使用较低对比度的无缝贴图
    • 说明:使用无缝贴图是为了在平铺时出现很明显的贴图分界线,对于大比例平铺的情况下,较低对比度的贴图可以弱化重复感

通过贴图拼图来优化材质和贴图数

    • 要求:对于一些不需要平铺的贴图,可以使用拼图的方式将其组合成一张贴图纹理,并通过UV映射来应用到不同的对象上(常用于广告照片,展示图片,门窗等等)
    • 说明:这样处理可以达到优化材质数和贴图数的目的

 

材质

遵循MetalRoughness的PBR流程

    • 要求:制作材质时,应当遵循PBR中MetalRoughness流程,其中会用的贴图有Albedo、Metal、Roughness、Emission、Alpha、Normal(Opengl规范)、AO,其余的通道不需要处理
    • 说明:产品对于specluar流程的材质表现效果并不是很好,所以应当避免使用该流程的贴图来制作材质

透明材质注意切换混合模式

    • 要求:在制作半透明材质时应当注意切换对应的混合模式,常用的为alpha 混合和alpha钳制
    • 说明:在实时渲染中并不完全由alpha来决定透明度,还需要搭配不同的混合模式来表现透明效果,其中Alpha钳制只能表现不透明和完全透明的效果,alpha混合可以表现出半透明效果(注意在使用alpha混合时,会容易遇到明显的渲染顺序错误,此时应当开始背面剔除来缓解)

不使用无法导出的材质节点

    • 要求:在制作材质的时候应避免使用无法导出的材质节点
    • 说明:若使用无法导出的节点会导致导出效果不一致的问题

金属、镜面等对象要表现出其质感

    • 要求:对于一些光滑,金属,镜面等材质,需要通过设置合理的材质参数来明显区分出来
    • 说明:可以通过金属度,糙度的参数来区分出光滑,粗糙,金属,镜面等不同的材质质感

动画

制作动画帧率应当为每秒30帧

    • 要求:在三维软件制作动画时,应当设置帧率为30FPS
    • 说明:帧率越低,同样长的动画的关键帧数据就会越少,同时产品内有帧间自动插值,且一般不会有极复杂的动画,故可以采用较低的30FPS的帧率

循环动画应当只导出一段非重复动画

    • 要求:对于一直循环的动画,应当只导出其中的一段非重复动画,然后再FVS中使用循环播放,且需要首位需要能够无缝衔接
    • 说明:避免一长段的循环动画带来的过多的动画数据

制作的动画应当均从第1帧开始

    • 要求:对于一整段或是分组动画,该动画应当都是从第1帧开始的动画
    • 说明:避免导出后出现的动画长短不对,有过多冗余帧等问题

非线性动画应当按照需求使用NLA功能进行分组

    • 要求:对于非线性动画的需求应当在blender中使用nla功能进行分组,从而导出不同对象、长度、类型的动画
    • 说明:场景的一些爆炸收回动画、不同长度的循环动画等等都是需要进行独立导出,就要使用NLA分成多段动画后导出,并按照实际命名

动画符合实际逻辑

    • 要求:所有动画应当与现实逻辑一致,避免出现速度不正常,方向错误等等问题
    • 说明:避免出现错误动画导致的观感不佳

 

 

 

单个建模对象精度参考

类型

精细度

示例图

三角面数

mesh数

材质数

贴图数

备注

设备

L1

0.5w以内

1~2

1~2

0~1

albedo(漫射)

  • 模型上主要表现出大体结构,并不需要刻画细节结构
  • 材质上只需要表现出颜色即可,不需要表现其他效果
  • 不同设备也应当共用一个材质

L2

0.5w-2w

2~5

2~5

1-10

albedo(漫射)

normal(法线)

  • 模型上需要刻画出大部分细节结构,如把手,撑脚等
  • 材质上应当需要能区分出金属、非金属的区别

L3

2w-6w

5-10

5-10

10-20

albedo(漫射)

metal(金属度)roughness(糙度)

normal(金属度)

  • 模型上应当刻画出绝大部分的细节结构:如孔洞,螺丝等
  • 材质上需要表现出磨砂,拉丝等等纹理细节
  • 复杂结构设备一般需要额外烘焙AO贴图来体现体积感

建筑

L1

0.5w以内

1~2

1~2

0~2

albedo(漫射)

  • 模型上不会有较细节的凹凸结构
  • 材质上只需要表现出颜色即可
 

L2

0.5w-3w

2-6

2-6

1-10

albedo(漫射)

normal(法线)

  • 模型上需要刻画出大部分凹凸结构,如内嵌的窗户,门等
  • 材质上需要表现出镜面,粗糙,金属的区别
 

L3

3-10w

6-15

6-15

10-30

albedo(漫射)

roughness(糙度)

normal(法线)

  • 模型上应当刻画出绝大部分的细节结构
  • 材质上应当表现出类似砖块,瓷砖等纹理细节
分享扩散:

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 1关注人数 9919浏览人数
最后回复于:2023-11-2 15:04

返回顶部 返回列表