基础知识补全_美术资源类
静态模型
—————算是1.1?
坐标系
和数学里的三维坐标差不多,但实际3D场景里同时存在多个坐标系
世界坐标系
固定不变的全局坐标系
所有场景内的物体最终都用世界坐标系表示(?
局部/对象坐标系
每个物体自身为原点的坐标系
编辑物体自身形状时使用
父级/相对坐标系
以父级物体作为原点的坐标系
车轮相对车的坐标、门相对门框的坐标
层级关系
World (世界坐标系)
└── 角色_Root (父物体)
├── 身体 (子物体1,使用父级坐标系)
└── 武器 (子物体2,使用父级坐标系)
通常颜色规范:
红色 = X轴
绿色 = Y轴
蓝色 = Z轴
二维:
屏幕坐标系:画面被渲染到你的物理显示器上的像素位置
视口坐标系:3D世界在某个摄像机镜头内看到的画面
UI坐标系:在这个画面上叠加的界面层的布局系统
顶点和面
顶点是模型中的一个点,而至少三个点连起来,就是面。
通常每个面都有一条法线,决定了面的正面朝向,只有法线面向摄像机时,才会被渲染出来。
通常顶点数相比面数更加影响性能表现。
面的基础类型是三边形面,往上扩展则是四边形、N边形,但最终所有面最终处理时,都会被转换为三边形面。
Root点
模型的坐标原点
其他部件的父节点
模型的变换中心点
游戏人物模型的Root点通常在两脚之间的地面位置,方便人物与游戏场景中地面的各种交互。
学习任务
Maya中创建模型,并且导入UE
一些坑点:
Maya中两个模型不合并的话,导入进UE会分别是两个模型
或者在UE导入FBX时,选择 Combine Static Meshes合并网格体 的选项
Maya中要将世界坐标系设置中,设置Z轴作为向上的方向轴,才能与UE中一致,但XY轴的方向还是有区别,需注意。
骨骼模型
—————谷歌摩西
骨架(Skeleton)
Maya中分关节是构成骨架的基本单位,通过绑定模型,实现动画效果。
没有形状,场景中不具备物理,不会被渲染。
蒙皮(Skinning)
是一种将可变性模型,与骨骼绑定的方法。
通常有多种不同的蒙皮方法,决定了模型如何跟随骨骼运动而形变。
精细的动画,通常会通过绘制蒙皮权重,细节调整模型顶点与骨骼的关联性。比如说同一个顶点,收到A骨骼70%的影响,收到B骨骼则是30%影响。
模型顶点与骨骼的关系
模型顶点,通过蒙皮权重,决定受到那些骨骼的影响,以及影响的权重,将静态模型转为可动画的骨骼网格体。
需要注意的是,建立起的这种关系,并不是绑定,绑定包含的内容更广。
学习任务
Maya中创建骨骼数据,四个基础骨骼,与上述模型绑定,并且导入UE
一些坑点:
Maya中创建骨骼,并进行绑定后,导出FBX,再导入进UE,只有静态网格体类型的资产。
原因是Maya中,只使用 父子层级 的关系进行了绑定,而没有使用 蒙皮 进行绑定。
父子层级:仅表示模型会跟随骨骼移动、旋转、缩放,但模型本身不会变形(比如手臂弯曲时,模型不会被拉伸或压缩)。
蒙皮绑定:将模型的每一个顶点与骨骼建立权重影响关系,似乎只有建立这种关系,UE才会识别到这个一个骨骼网格体。
因此并不是说,模型完全不会形变,比如枪械,就不需要使用蒙皮了。
骨骼动画
—————有种死灵法师的感觉
骨骼动画
通过驱动骨骼,带动被绑定的模型产生运动。
动画数据实质是,骨骼在不同时间点上的一些列旋转、位置关键帧。
FK与IK
Maya操作骨骼的两种方式,可交互搭配使用。
FK(正向运动学):父级骨骼到子级逐层驱动。比较适合角色挥手、或严格遵守物理规律的纯枪械动画。
IK(反向运动学):先确认子级骨骼位置,反向推算父级骨骼位置。比较适用角色行走脚掌贴合地面、伸手抓取物品等,骨骼末端目标位置明确的动画。
形变动画
直接改变模型顶点位置,使模型产生运动,适合用于角色面部表情等细节较多的动画。
融合变形的概念,有点类似于UE里的混合空间。
导出动画带位移
部分角色动画,会带有位置变化信息(通常是根骨骼),比如说跳跃、奔跑等。
完成烘焙动画再导出FBX文件,确保这些位置信息被完整传入到UE。
学习任务
一些坑点:
绑定姿势:
蒙皮 > 转到绑定姿势,可以让模型回到一开始执行绑定时的变换状态,也成为绑定姿势。
或者通过 修改 > 冻结变化,让当前的模型设置为初始绑定姿势。
若导出为FBX的时候,并不处于绑定姿势,会有报错,导入UE也可能会有问题
蒙皮绑定目标:
若关节存在父子级关系,选中Cube关节,和Cube模型后,绑定时选择“绑定到关节”,则骨骼运动时,会收到整条骨骼链路权重的影响。
若选择“绑定到选定关节”,则该模型只会受到这个一个关节影响,Cube关节在关节链中进行移动的时候,对应绑定的模型Cube只会受到这一个关节影响。
控制器:
通常在正式工作流程中,会通过控制器,间接控制骨骼,避免破坏原有的骨骼数据。
目前做学习性质的小动画就暂时先不加了(