当前位置: 首页 > news >正文

【Unity3D实例-功能-移动】角色行走和奔跑的相互切换

在现时的游戏中,角色的行走与奔跑的切换不是游戏中必备的功能,但它可以提升玩家操作体验感。这篇文章我将会分享给大家,在Unity 中角色行走与奔跑之间的切换功能。从角色的速度控制,到动画的平滑切换。这篇文章将手把手拆解如何通过代码控制和动画配置,让角色的移动更加灵活。

目录:

1.创建动画器

2.设置动画

3.编写角色移动代码

4.测试与运行

--------------------

一.创建动画器

在“Project”面板,右键选中“Create”,点击“Animator Controller”,创建一个 Animator 的动画组件,然后将组件拖拉到角色上。

二.设置动画

1.选中“站立动画”、“行走动画”和“奔跑动画”,然后选择“Rig”页签,把“Animation Type”切换成“Humanoid”。随后点击“Animation”页签,把“行走动画”和“奔跑动画”的循环播放(Loop Time)勾选上。

2.打开角色动画器,把“站立动画”拖拉到动画器上,然后创建一个触发变量,我这里命名为“run”。

3.接着点击鼠标右键,选择“Create State”,点击“From New Blend Tree”,创建一个Blend Tree动画(这里它会自动创建一个触发变量,我先把它改名为Speed)。

4.为“站立动画”和“Blend Tree动画”添加两条过渡线。点击选中站立动画到Blend Tree动画的过渡线,Conditions列表中添加触发变量run,并设置为True,反之,Blend Tree动画到站立动画的过渡线,run变量设置为false。然后记得把“Has Exit Time”的勾选去掉,因为我们要实时切换动画。

5.最后双击打开Blend Tree,首先我们创建两个motion,一个设置行走动画,一个设置奔跑动画。随后我们把Automate Thresholds的勾选掉,再设置Threshold的值,触发行走动画这里,我设置值为1,奔跑我设置值为3。这里是什么意思呢?就是Speed的触发变量是1的时候,触发行走动画,3的时候触发奔跑动画。

三.编写角色移动代码

1.在 Assets 目录下创建一个的 Scripts 文件夹(名称自由命名),并在该文件夹内新建一个C# 脚本文件。脚本创建完成后,将它拖拉到角色对象上。

2.编写行走与奔跑的切换代码

代码、模型和动画都已经上传到我的个人博客了,大家可以自行下载。

原创来源于-谷宇博客:https://www.biguyu.top/home

四.测试与运行

亲测过程:进入 Play Mode 后,玩家按下角色移动键W、A、S、D,角色开始进入行走动画。当玩家按下奔跑键(我这里设置键位为“左Shift”按键),角色速度提升,动画过渡到奔跑状态。松开奔跑键,角色速度降低,动画切换回行走状态。

http://www.dtcms.com/a/330447.html

相关文章:

  • Unity2022 + URP + Highlight plus V21配置和使用
  • Linux下使用Samba 客户端访问 Samba 服务器的配置(Ubuntu Debian)
  • 一颗TTS语音芯片给产品增加智能语音播报能力
  • 【无标题】卷轴屏手机前瞻:三星/京东方柔性屏耐久性测试进展
  • python自学笔记8 二维和三维可视化
  • 【深度学习】深度学习基础概念与初识PyTorch
  • 【C#补全计划】泛型约束
  • 从0开始的中后台管理系统-7(订单列表功能实现,调用百度地图打点以及轨迹图动态展示)
  • 数据结构--------堆
  • 18.14 全量微调实战手册:7大核心配置提升工业级模型训练效率
  • 阿里云RDS SQL Server实例之间数据库迁移方案
  • 通信算法之313:FPGA中实现滑动相关消耗DSP资源及7045/7035的乘法器资源
  • 工具栏扩展应用接入说明
  • React和Vue
  • Webpack Plugin 深度解析:从原理到实战开发指南
  • 使用AI编程自动实现自动化操作
  • Java 设计模式-组合模式
  • python的艺术品收藏管理系统
  • 数学建模层次分析法(AHP)笔记
  • C++入门自学Day11-- List类型的自实现
  • 2025天府杯数学建模B题分析
  • Vite 为什么比 Webpack 快?原理深度分析
  • Mac 新电脑安装cocoapods报错ruby版本过低
  • 一周学会Matplotlib3 Python 数据可视化-绘制面积图(Area)
  • 如何用aiohttp实现每秒千次的网页抓取
  • 机器视觉的磁芯定位贴合应用
  • PHP现代化全栈开发:实时应用与WebSockets实践
  • JVM字节码文件结构
  • PHP持久连接与普通连接的区别
  • 【大模型私有化部署】实战部分:Ollama 部署教程