您的位置:首页 > 移动开发 > Unity3D

unity 关于新的动画系统animator的动作混合(原)

2014-12-29 20:20 681 查看
首先要分清两个概念,动作融合和动作混合

1动作融合是指,一个动作播放到结束后时,接着播另一个动作时,首尾进行融,实现平滑过渡的效果

2动作混合是指,本来是多个独立完整的动作,来用其中一个动作来控制角色的部分骨骼,另一个来控制角色的另一部分骨骼,实现不同的身体部分播放不同的动作,目地是为了节省动作资源,不用单独重新制做新的动作

这里只说动作混合,动作融合放到其它的文章里

首先准备好美术资源

1角色模型fbx,不带动作信息,只有模型和蒙皮和骨骼信息,max导出时要导出avatar

2单独的动作文件 run.anim和attack.anim

制作animator

1创建animator controller动画控制器,挂到角色的animator组件里

2双击animator controller打开animator面板,新建uplayer和downlayer两个层,用来做上下半身的混合

3选中uplayer,把attack.anim拖进去,选中downlayer,把run.anim拖进去

4新建up和down两个avatar mask,用来标识关连的骨骼

5up.mask的transform mask里 use skeleton from 选中角色的avatar,在import skeleton下选中角色骨骼中的上半身所有骨骼,(选中上半身根节点,子节点会自动选中)

6down.mask的transform mask里 use skeleton from 选中角色的avatar,在import skeleton下选中角色骨骼中的下半身所有骨骼,(选中上半身根节点,子节点会自动选中)

7把up.mask和down.mask分别给uplayer和downlayer

这样当uplayer和downlayer的weight为1时,角色就会上半身播放攻击动作,下半身播放run动作

其它说明

1base layer里可以建立一些基本动作,用来正常动作之间的切换,通过设置parameters来控制动作切换,

2下层的layer用做动作混合,建立不同的avator mask,关联不同的骨骼,给不同的layer,不同的layer放置不同的动——通过设置layer的weight来控制各个层的混合或停用

layer属性功能

weight 动作的控制权,越下层的layer的weight高于上层layer的weight的控制权

mask 使用的avatar mask

blending override 覆盖上层 additive叠加上层

svnc 勾选后,可以选择同步到其它layer的,把同步的layer全复制过来后在可以添加自己的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: