关闭

unity3d中的动画

348人阅读 评论(0) 收藏 举报
分类:

每个动画状态机有一个animatorController,里面放置所有的动画状态机。
Avatar和animator controller通过animator的组件绑定到角色身上。

动画导入
动画可以全部放到一段总的动画里,然后在导入的时候分段区别,unity会自动切割成为不同的分段动画。
也可以分开编辑成为独立的各自动画。

动画导入的时候,需要设置是不是垂直方向,水平方向,旋转方向的基准点(Base upon)以及是否移动(bake into pose)。
基准点一般:垂直方向是脚,水平方向是质心,旋转方向是身体方向。垂直方向一般需要跟随根节点运动。

注意:动画镜像可以减少内存。

一个动画可以重定向给不同的模型(也就是avatar系统)。

单动画状态相关
动画转换需要转换条件(感知系统),同时需要考察转换是不是原子操作。

动画状态转移和动画混合的区别:
转移是在两个不同动画之间转换,动态过程,属于横向。
混合将多个动画叠加作为一个新的动画,属于纵向。

混合例子: 走和跑的混合,转弯的混合
混合按照权重来分配动画位移的大小。
1D 混合,一个参数的范围去控制混合的权重。峰值为1的值成为threadhold。
2D混合,通过两个参数的范围进行混合,每个动作都会对最终动画产生影响。
2D 简单混合,只有方向性,原点坐标可以是等待或者朝前动画。
2D 自由方向,同方向有不同节奏,比如跑和跳,一般必须要有原点动画。
2D 自由笛卡尔坐标,不同方向。一般线速度和角速度。
2D混合中的点代表动画所占比重最大的时候。

多层次动画相关
动画层可以将上半身和下半身的行为分开,通过使用身体蒙皮来区别上下半身。
每个动画层按照设定的状态机单独进行运行,然后根据weight把各动画层进行合成,
Body mask可以在导入和运行时产生,但是导入时候做mask可以节省内存资源和做动画混合的时间。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:6437次
    • 积分:188
    • 等级:
    • 排名:千里之外
    • 原创:13篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档