【Unity3D实例-功能-移动】复杂移动(Blend Tree方式)
今天,我兴奋地想要向大家揭示在项目开发中处理复杂移动机制的秘密。这种技术对于打造生动、流畅的角色动画至关重要。我们将探索Blend Tree的强大功能,它将帮助我们实现动画之间的无缝过渡和自然混合。准备好了吗?让我们一起深入了解Blend Tree的魔力!
目录:
1.创建动画器
2.创建Blend Tree
3.为角色添加CharacterController组件
4.控制Blend Tree实现角色移动
5.测试和运行
--------------------
一.创建动画器
模型和动画大家可以到我的博客下载。我们先创建一个动画器,并且绑定到我们的角色上面。然后我们在动画器的动画模式里,选择“Animate Physics”(用于FixedUpdate方法中更新,使动画和物理系统的更新同步,使用这个模式可以确保动画与物理系统保持一致。)
二.创建Blend Tree
1.首先,我们将定义两个新的变量,InputX和InputY,它们将用于操纵BlendTree,实现角色的移动控制。随后,我们将构建一个新的Blend Tree来响应这些输入。
2.双击打开Blend Tree的节点。接着Blend Tree的类型我们选择“2D Freeform Directional”。
3.Blend Tree图的说明
4.我们建立了九个方向点(包括前、后、左、右四个基本方向,以及它们的对角线方向,再加上中间的站立状态),并为每个方向配置了相应的动画。
三.为角色添加CharacterController组件
首先,我们需要选中我们的角色对象,然后为其添加一个“Character Controller”组件。这个组件负责处理角色的移动以及碰撞检测功能。在添加了组件之后,我们需要调整组件的设置,特别是碰撞框的参数,确保它尽可能地贴合角色模型的轮廓,以便进行更精确的碰撞检测。
四.控制Blend Tree实现角色移动
1.在项目的Assets文件夹内,我们可以创建一个新的空文件夹,并将其命名为Scripts。当然,你也可以根据自己的喜好来给这个文件夹起一个不同的名字。这个文件夹将被用来存放项目中所有的脚本文件。
2.进入到Assets文件夹下的Scripts文件夹,然后右键点击空白区域,选择Create > C# Script创建一个新的C#脚本文件。
3.实现控制Blend Tree功能
代码、模型和动画都已经上传到我的个人博客了,大家可以自行下载。
原创来源于-谷宇博客:https://www.biguyu.top/home
五.测试和运行
通过BlendTree实现多移动动画组合,成功实现上、下、左、右不同的移动动作。