Home 3d模型规范和设置
Post
Cancel

3d模型规范和设置

UWA自动资源检测服务

image-20230205122021886

DCC中模型导出注意事项

模型

  1. [[DCC]] 软件中,单位统一使用米(m)。
  2. Unity 内部使用 .fbx 文件格式作为其导入链。最佳做法尽可能使用 .fbx 文件格式。
  3. 避免模型上出现长条的三角面。
  4. 针对建筑物和园林景观相关模型,要尽量使面片平均分布,这样可以避免之后在添加光照时出现奇怪的光照效果。
  5. 导出的网格必须是多边形拓扑网格,不能是贝塞尔曲线、样条曲线、NURBS、NURMS、细分曲面等。
  6. 烘培Deformers,在导出之前,确保变形体被烘培到网格模型上,如骨骼形变烘培到蒙皮权重上
  7. 如果你需要导入blend shape normals,必须要指定光滑组 smooth groups。
  8. DCC导出面板设置, 不建议携带场景信息导出,如不建议导出摄像机、灯光、材质等信息,因为这些的信息与Unity内默认都不同。

纹理贴图

  1. 贴图使用2的幂次(POT),Unity在处理2的次方尺寸的纹理时更高效,不需要再做额外的缩放操作。

FBX Importer

Model 模型

  1. 不必要不要开启网格读写。
  2. 如果不需要,禁用法线或切线。
Scale Factor
  1. 尽量不要在场景中改变物体的缩放比例。从理论上来讲,导入模型时将其缩小为原来的1/100与在场景中将物体缩小为原来的1/100,看起来是一样的。但实际上,在场景中缩放物体会带来很多麻烦,如子物体也会一起被缩小,引擎无法判断模型的渲染精度,从而影响运行速度。

Rig 骨骼绑定

Animation Type
  1. Generic:适合没有骨骼或者不是人形的角色。
  2. Humanoid:适合人形骨骼模型,Unity对人形骨骼有优化,功能更多,使用也更方便。
T-Pose 问题
  1. 如果模型导出时不处于 T-Pose,需要在骨骼映射下方的 Pose 菜单中选取 Enforce T-pose 强制设置为T-pose。但最好还是让美术把模型修改为 T-Pose 状态。
  2. 如果动画不处于T-Pose,动画映射也需要T-pose,可以在所有帧的前面创建一个 Tpose。(需要验证

Animation 动画

image-20230205122055764

Root Transform
  1. Root Transform Rotation,根的旋转。
  2. Root Transform Position (Y),根在y轴上的位移。
  3. Root Transform Position (XZ),根在水平面(xz平面)上的位移。
Bake Into Pose
  1. 对确定需要改变的位置或旋转,取消勾选Bake Into Pose选项。
  2. 对不改变的值需要勾选 Bake Into Pose。
  3. 以跑步动作为例,逻辑上跑步直接影响水平方向的位置,这是显然的。但对动画设计师来说,人物跑步时高低重心是有变化的,上下颠簸才自然。但这种上下的颠簸只是视觉上的,不能真的去影响物体的位置,换句话说,跑步时逻辑上只做水平运动,不会上下运动。勾选了该选项,代表这个运动只是骨骼动画运动,不属于根节点;而不勾选该选项,则代表它是真正的根节点的运动。只有根节点的运动才会变成物体实际的运动。
Mask

image-20230205122109934

  1. 绿色代表动画可以让这一肢体运动。
  2. 红色则代表动画不会让这一肢体运动。
  3. 如果想要对状态机某一层中的动画统一应用遮罩,见:[[Animator#设置Layers设置]]
Event 动画帧事件
  1. 由于动画帧事件的标记必须在动画的时间轴上,因此会和动画数据本身耦合在一起。纯粹从程序逻辑的角度看,多种不同系统的耦合并不是好事,但为了增强游戏表现力,这么做也有充分的理由。
  2. 动画会查找当前对应物体的所有脚本,只要有名称和类型符合的Function,都会被调用。如果一个函数都没找到,就会产生一条错误信息。
  3. 事件函数仅可以带一个参数,可以是 float, int, string, Object 其中一种类型,参数的值可以在编辑动画帧事件时指定。

Materials 材质

原始模型文件对性能的影响点

  1. 最小化面数,不要使用微三角形,分布尽量均匀
  2. 合理的网络拓扑和平滑组
  3. 尽量少的使用材质个数
  4. 尽可能少的使用蒙皮网格
  5. 尽可能少的骨骼数量
  6. FK与IK节点没分离,IK节点没删除

模型优化

  • 尽可能的将网格合并到一起
  • 尽可能使用共享材质
  • 不要使用Mesh Collider
  • 使用合理的 [[LOD]] 级别 - 内存换CPU和GPU
  • Skin Weights受骨骼影响个数过多
  • 合理压缩网格
  • 不需要rigs和BlendShapes尽量关闭
  • 开启Project Settings—>Player—>Optimization下的Vertex Compression与Optimize Mesh Data选项
  • 模型的Bounds不应过大,会影响相机裁剪。
This post is licensed under CC BY 4.0 by the author.
Contents