Unity动画综合练习

本文详细介绍如何在Unity中使用动画融合树实现角色原地不动、四方向行走和奔跑的动画融合。通过步骤指导,涵盖创建动画控制器、配置融合树、设置动画参数及控制脚本等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实例:使用动画融合树实现原地不动,4个方向的走和跑的动画融合。通过代码控制角色控制器移动以及动画控制器播放动画

(1)首先创建一个Plane,一个Cube,给Plane用黄色的材质球,给Cube用红色的材质球,然后拖入一个模型到场景中,分别修改他们的Transform

(2)创建一个动画控制器

(3)双击动画控制器,在状态机中添加融合树

(4)双击融合树,进入内部界面

(5)选中融合树,将Blend Type选为2D Freeform Directional,添加动画剪辑区域

(6)往动画剪辑区域中拖入原地不动、4个方向的走和跑的动画,共计9个动画剪辑并分别设置每个动画剪辑的位置偏移量

(7)在动画状态参数列表中添加两个float类型的动画状态参数

(8)把动画控制器拖入到模型的 Animator组件当中,再点击融合树,拖动融合树中的小红点可以让模型播放动画剪辑并发生根动作产生位置偏移

(9)然后我们把起跳、浮空、落地的动画剪辑拖到状态机中;把起跳、浮空、落地依次用过渡线连接,起跳到浮空不需要过渡条件,浮空到落地需要判断是否在地面,这里我们添加一个bool类型的数据“IsLoad”用来判断是否在地面,如果是true,则可以过渡到落地动画;任意状态都可以起跳,任何状态都可以浮空(比如从高处落下来的时候是浮空的,但需要过渡条件IsLoad=false,表明它是不在地面);任何状态都可以起跳,过渡条件需要添加一个触发参数“Jump”,当我们触发它的时候播放一下起跳动画;过渡线中是否需要Has ExitTime:任何状态到起跳不需要,任何状态到浮空不需要,浮空到落地不需要,起跳到浮空需要,落地到融合树需要;播放动画剪辑是否循环:起跳、浮空、落地都不需要设置成循环,在各自的动画剪辑中的Animation面板中不勾选Loop Time

(10)右键层级视图空白区域创建一个空物体,取名为Player,让它的位置在(0,0,0),选中它,给它创建角色控制

(11)此时的角色控制器如图位置,我们选中Player,修改它的角色控制器属性让它和模型匹配,轴心换为中心(重心)方便观察

(12)匹配好之后,我们把模型设为Player的子物体,让模型随着Player的位置变化,并取消模型的根动画。这里如果不取消的话,模型播放动画剪辑的时候,动画剪辑也会产生位置偏移,这样角色控制器和模型的位置就不能很好的匹配

(13)创建一个脚本,控制角色控制器的移动和动画控制器中的动画状态参数的值从而控制融合树的参数从而控制动画剪辑的融合播放(这里我们加入了加速)

更多unity2018的功能介绍请到paws3d学习中心查找。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值