【Unity3D实例-功能-移动】复杂移动(Blend Tree方式)

简介: 本文介绍了使用Unity中Blend Tree实现角色移动控制的完整教程,涵盖动画器设置、Blend Tree创建、CharacterController组件添加及代码控制,帮助开发者实现流畅自然的角色动画效果。

4.png

今天,我兴奋地想要向大家揭示在项目开发中处理复杂移动机制的秘密。这种技术对于打造生动、流畅的角色动画至关重要。我们将探索Blend Tree的强大功能,它将帮助我们实现动画之间的无缝过渡和自然混合。准备好了吗?让我们一起深入了解Blend Tree的魔力!

目录:

1.创建动画器
2.创建Blend Tree
3.为角色添加CharacterController组件
4.控制Blend Tree实现角色移动
5.测试和运行


一.创建动画器

模型和动画大家可以到我的博客下载。我们先创建一个动画器,并且绑定到我们的角色上面。然后我们在动画器的动画模式里,选择“Animate Physics”(用于FixedUpdate方法中更新,使动画和物理系统的更新同步,使用这个模式可以确保动画与物理系统保持一致。)
585a0d71-a38a-46bb-b1b2-eb7dcf17a4f6.png

二.创建Blend Tree

1.首先,我们将定义两个新的变量,InputX和InputY,它们将用于操纵BlendTree,实现角色的移动控制。随后,我们将构建一个新的Blend Tree来响应这些输入。
ffb0a4d0-42f4-4c42-99cc-35d5088a74a0.png

2.双击打开Blend Tree的节点。接着Blend Tree的类型我们选择“2D Freeform Directional”。
6f6c6fcf-57ea-4090-9d1c-93a386a5171a.png

3.Blend Tree图的说明
3b221f52-5386-40c8-868f-04af8ecd73e2.png

4.我们建立了九个方向点(包括前、后、左、右四个基本方向,以及它们的对角线方向,再加上中间的站立状态),并为每个方向配置了相应的动画。
1ae66dcb-e07a-4266-beda-3f27029c3064.png

三.为角色添加CharacterController组件

首先,我们需要选中我们的角色对象,然后为其添加一个“Character Controller”组件。这个组件负责处理角色的移动以及碰撞检测功能。在添加了组件之后,我们需要调整组件的设置,特别是碰撞框的参数,确保它尽可能地贴合角色模型的轮廓,以便进行更精确的碰撞检测。
746c5338-9f4c-5bd5-4bbe-41b1f9f8c23e.png

四.控制Blend Tree实现角色移动

1.在项目的Assets文件夹内,我们可以创建一个新的空文件夹,并将其命名为Scripts。当然,你也可以根据自己的喜好来给这个文件夹起一个不同的名字。这个文件夹将被用来存放项目中所有的脚本文件。
2.进入到Assets文件夹下的Scripts文件夹,然后右键点击空白区域,选择Create > C# Script创建一个新的C#脚本文件。
746c5338-9f4c-5bd5-4bbe-41b1f9f8c23e.png

3.实现控制Blend Tree功能
代码、模型和动画都已经上传到我的个人博客了,大家可以自行下载。
原创来源于-谷宇博客:https://www.biguyu.top/home

五.测试和运行

通过BlendTree实现多移动动画组合,成功实现上、下、左、右不同的移动动作。005B4780E50DF74618C9897F1569E40B.gif

目录
相关文章
|
4月前
|
C# 图形学 开发者
【Unity3D实例-功能-镜头】俯视角
本文介绍了Unity中常用的俯视角镜头实现方法,涵盖模型添加、角色Tag设置、摄像机脚本编写及测试运行,帮助开发者快速掌握俯视角在策略与模拟类游戏中的应用技巧。
354 0
|
4月前
|
人工智能 定位技术 C#
【Unity3D实例-功能-移动】通过鼠标点击进行角色移动
本文介绍了如何在Unity中实现鼠标点击控制角色移动的功能。通过安装导航网格、设置地图与角色、烘焙路径及编写脚本,带领读者一步步构建角色自动寻路系统,增强游戏交互体验。
241 0
|
5月前
|
图形学 开发者
【Unity3D实例-功能-移动】角色移动-通过WSAD(CharacterController方式)
本文介绍了如何在Unity中使用CharacterController组件实现角色灵活移动。内容包括模型准备、动画处理、添加组件、编写移动脚本及测试运行,帮助开发者快速掌握角色控制技巧,打造流畅的游戏体验。
265 0
|
5月前
|
C# 图形学 开发者
【Unity3D实例-功能-移动】角色移动-通过WSAD(Rigidbody方式)
本文介绍了如何在Unity中使用Rigidbody组件实现角色自由移动,包括模型准备、组件添加、脚本编写与测试运行,帮助开发者快速掌握基础角色控制技巧。
265 0
|
5月前
|
C# 图形学
【Unity3D实例-功能-移动】角色移动-通过WSAD(Transform方式)
本文介绍了如何在Unity中实现角色移动功能,使用Transform组件控制角色基础移动,并详细讲解了模型导入、动画设置、动画控制器配置及移动脚本编写等内容,适合Unity初学者学习角色控制的基础知识。
230 0
|
10月前
|
图形学 UED
unity Tab键实现切换输入框功能
该脚本用于简化输入框之间的Tab键切换操作。只需将脚本挂载在InputField上,无需其他设置。脚本通过监听Tab键和Shift键组合,自动选择下一个或上一个可交互的InputField,提升用户体验。
|
3月前
|
机器学习/深度学习 人工智能 图形学
卓伊凡的第一款独立游戏-详细介绍游戏开发引擎unity-以及详细介绍windows和mac的安装步骤【01】
卓伊凡的第一款独立游戏-详细介绍游戏开发引擎unity-以及详细介绍windows和mac的安装步骤【01】
402 9
|
3月前
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
图形学 C#
超实用!深度解析Unity引擎,手把手教你从零开始构建精美的2D平面冒险游戏,涵盖资源导入、角色控制与动画、碰撞检测等核心技巧,打造沉浸式游戏体验完全指南
【8月更文挑战第31天】本文是 Unity 2D 游戏开发的全面指南,手把手教你从零开始构建精美的平面冒险游戏。首先,通过 Unity Hub 创建 2D 项目并导入游戏资源。接着,编写 `PlayerController` 脚本来实现角色移动,并添加动画以增强视觉效果。最后,通过 Collider 2D 组件实现碰撞检测等游戏机制。每一步均展示 Unity 在 2D 游戏开发中的强大功能。
1064 6
|
图形学 缓存 算法
掌握这五大绝招,让您的Unity游戏瞬间加载完毕,从此告别漫长等待,大幅提升玩家首次体验的满意度与留存率!
【8月更文挑战第31天】游戏的加载时间是影响玩家初次体验的关键因素,特别是在移动设备上。本文介绍了几种常见的Unity游戏加载优化方法,包括资源的预加载与异步加载、使用AssetBundles管理动态资源、纹理和模型优化、合理利用缓存系统以及脚本优化。通过具体示例代码展示了如何实现异步加载场景,并提出了针对不同资源的优化策略。综合运用这些技术可以显著缩短加载时间,提升玩家满意度。
1653 6