unity 动画系统随记

mecanim动画系统是unity一个丰富的动画系统。

mecanim workflow(工作流)

1.模型资源的准备与导入。

2.角色的建立。

3.角色的运动。

模型设置model、rig、animation,materials

1、model设置渲染相关的设置

2、rig骨骼的设置,模型的骨骼与unity内置的人形骨骼进行匹配,匹配完毕后得到avatar文件(该文件对应该模型),从而unity可以控制模型的动作。由于模型都与unity内置骨架进行匹配,也就是说所有人形骨架都一样,所以一个模型的动作可以应用到另一个模型上,从而实现动画重定向。A(有动画)->unity->B(无动画)

左边为unity内置骨骼,右边为模型骨骼

3、animation动画片段的设置(动画可能不是每个模型都会有),进行动画的分割等操作(由于一个动画可能包括好几个动作)。从而得到每种动作骨骼的运动情况。


(猜测动画应该是3d模型的动画,与模型的骨骼密切相关,关键是骨骼的运动,与皮肤没有关系。注:笔者初学,未接触3d模型的制作,猜测验证得到的结论,)

动画状态机的控制使用

project新建animation controller然后open

animation controller功能有设置动画状态机和设置动画层与身体蒙版

layer动画层

paramers参数(控制状态的改变的变量)

新建状态和转换方向

右图为该状态的详细配置,motion:应该播放的动画,speed:动画播放的速度。

transition:状态转换方向

改变条件的设置


condition为条件,即parameters中某些值同时满足时即状态发生改变。

动画层与身体遮罩

将不同动画的身体不同部位进行合成从而形成新的动画,而不用制作新的动画。

unity使用动画层layers(添加avatar mask)管理身体不同部位的动画。avatar mask(project视图中新建)选择性的启动和禁用模型的关节

身体遮罩的方法

原理:和ps中的图层类似,动画层是同时进行运作。例如层A现在的状态为now1,层B现在的状态为now2。这两个状态都是模型同时具有的,如果都有动画则同时播放,但是为了实现想要的结果,则两个状态的关节不能相同即使用蒙版。如果某种动作是特定情况的出现的,则可以这样实现:新建一个layer,这个layer的第一个状态不播放动画,下一个状态为目标状态。主layer当到达这个状态时不播放动画。

其他:

layer weight表示动做的幅度,值越大动作越大。
override表示忽略其他层,只显示这层。
addictive表示动作融合叠加。比如跑步加上侧身,则侧身跑步。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值