【Unity3D实例-功能-下蹲】角色下蹲(三)动画配置

简介: 本文详细讲解了在Unity中实现角色下蹲动画的全过程,涵盖动画器创建、动画配置、关键代码实现及测试运行,帮助开发者打造流畅自然的角色交互体验。

284c3830feda4eab16c7ec728d0bd284.png

在Unity的世界里,角色的下蹲动作是沉浸感的关键细节之一。如何穿越狭窄空间,一套流畅的下蹲动画能让玩家身临其境。今天,我将带你走进 Unity 中角色下蹲动画的完整实现之旅。从蹲下、蹲着、蹲着行走,再到重新站立,我们将一步步拆解如何通过代码和动画配置,让角色的下蹲动作自然且无缝衔接,让你的角色在任何场景中都能灵活应对!
为了避免文章的冗长,关于下蹲功能的介绍,我将会拆分成三篇文章进行连载。“角色下蹲功能“和“角色穿越隧道”的实现方式,大家可以参考《【Unity3D实例-功能-下蹲】角色下蹲(一)功能实现》和《【Unity3D实例-功能-下蹲】角色下蹲(二)穿越隧道》。这篇文章,我将会细讲动画配置,从蹲下、蹲着、蹲着行走,一直到站起来的动画组合实现,让人物起来。

目录:

1.创建动画器
2.配置下蹲动画
3.关键动画的代码
4.完整下蹲功能的代码
5.测试与运行


一.创建动画器

我们先创建一个 Animator 组件,并将其绑定至角色对象。随后在动画器的动画模式中,选择“Animate Physics”选项(该模式适用于在 FixedUpdate 方法中进行更新,能够确保动画与物理系统的更新保持同步,从而保证动画与物理效果的一致性)。
585a0d71-a38a-46bb-b1b2-eb7dcf17a4f6.png

二.配置下蹲动画

1.将“蹲下”“蹲着”及“蹲着行走”动画依次拖拽至 Animator 中。随后需定义三个参数:
(1)Crouch(Trigger 类型):用于触发下蹲动作的初始激活信号。
(2)Crouching(Bool 类型):标识角色处于蹲着状态。
(3)CrouchingWalk(Bool 类型):标识角色处于蹲着行走状态。
3fb6cc5b-762b-0b57-2d63-a96ae8ca969a.png

2.使用过渡线链接“AnyState”和“蹲下”的动画,表示任何状态下,都可以实时进行下蹲。并且选中过渡线,为过渡线配置“Crouch(Trigger 类型)”的变量。
f4378b81-99ba-1850-c41f-55b78dc61ea0.png

3.接着使用过渡线把“蹲下”的动画和“蹲着”的动画进行链接。蹲下后,可以让角色保持蹲着,并且去掉“Has Exit Time”的勾选,因为是实时的,并且选中过渡线,为过渡线配置“Crouching(Bool 类型)”的变量为True。
f2df3f86-c931-cf61-4213-519b86e997c5.png

4.同样使用过渡线把“蹲着”的动画和“蹲着行走”的动画链接起来,并且去掉“Has Exit Time”的勾选。“蹲着”到“蹲着行走”,配置CrouchingWalk(Bool 类型)为true。“蹲着行走”到“蹲着”,配置CrouchingWalk(Bool 类型)为false,两者都是相互切换的。
d6d394bd-2137-2d32-2021-bff3aa060fdd.png

5.最后使用过渡线,分别把“蹲下”,“蹲着”,“蹲着行走”链接到“站立动画Idle”,同样去掉“Has Exit Time”的勾选。并为这三条过渡线配置Crouching(Bool 类型)为false,让角色都可以在任何情况下实时回到站立。
67dc27d3-bfa7-39c7-e7d2-4269a9f87d5f.png

三.关键动画的代码

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

四.完整下蹲功能的代码

1.在 Assets 目录下创建一个专门的 Scripts 文件夹(文件夹名称自由命名),并在该文件夹内新建一个与功能对应的 C# 脚本文件。脚本创建完成后,将其拖拽到场景中的角色对象上,以组件的形式附加到角色实例上。
de90619ea1d84809b3f15042bdc650c6.png
2.完整的下蹲实现代码
代码、模型和动画都已经上传到我的个人博客了,大家可以自行下载。
原创来源于-谷宇博客:https://www.biguyu.top/home

五.测试与运行

亲测过程:进入Play Mode后,按住 Space 键,角色从站立状态平滑过渡到下蹲动画,同时角色的碰撞检测高度实时调整,确保在进入低矮隧道时不会出现穿模现象。继续按住 Space 键并移动角色,角色将播放“蹲着行走”动画,保持低姿态移动。松开 Space 键,角色会无缝切换到“重新站立”动画,恢复到正常高度,整个过程动画流畅且物理检测精准,完美实现了下蹲、行走与起身的完整功能。

2e836e7f86f24feab5985fef66b67fc5.gif

目录
相关文章
|
3月前
|
图形学 开发者
【Unity3D实例-功能-切换武器】切换武器(一)动画配置
本文介绍了在Unity3D中实现角色切换武器功能的动画配置过程,包括创建动画器、设置动画、配置Base Layer、创建武器图层及测试运行,帮助开发者实现多武器切换效果。
118 10
|
4月前
|
机器学习/深度学习 传感器 人工智能
|
4月前
|
C# 图形学 开发者
【Unity3D实例-功能-镜头】第三人称视觉
本文介绍了Unity中常用的第三人称视角实现方法,适用于角色扮演游戏。内容包括安装Cinemachine插件、为角色添加面朝向点、创建虚拟摄像机、编写控制脚本及测试运行,帮助开发者快速掌握镜头控制技巧。
156 0
|
4月前
|
自然语言处理 前端开发 测试技术
Playwright初学指南 (2):全面解析元素定位策略
本文深入解析Playwright革命性的元素定位体系,详解八大核心定位策略(语义化角色、文本内容、标签属性等)及其适用场景,提供动态元素处理方案和调试技巧。通过定位策略性能对比和企业级最佳实践,帮助开发者构建健壮、可维护的自动化测试脚本,有效解决75%的Web自动化测试失败问题。
|
4月前
|
Java 大数据 数据处理
Java 大视界 -- 基于 Java 的大数据实时数据处理在工业互联网设备协同制造中的应用与挑战(222)
本文探讨了基于 Java 的大数据实时数据处理在工业互联网设备协同制造中的应用与挑战。文章分析了传统制造模式的局限性,介绍了工业互联网带来的机遇,并结合实际案例展示了 Java 在多源数据采集、实时处理及设备协同优化中的关键技术应用。同时,也深入讨论了数据安全、技术架构等挑战及应对策略。
|
3月前
|
C# 图形学 开发者
【Unity3D实例-功能-切换武器】切换武器(二)功能实现
本文为Unity3D切换武器功能的最终实现教程,介绍如何配置动画并编写武器架代码,实现角色多武器切换功能。内容包含动画设置、Unity准备、代码编写与测试等步骤,适合游戏开发者学习参考。
135 5
|
4月前
|
人工智能 Kubernetes Cloud Native
MSE Nacos Controller:为 Kubernetes 生态构建配置管理与服务发现的桥梁
在企业云原生转型过程中,如何实现传统微服务与 Kubernetes 服务的配置统一管理、服务互通及协议转换成为关键挑战。MSE Nacos Controller 应运而生,作为连接 Kubernetes 与 Nacos 的桥梁,支持 ConfigMap 与 Nacos 配置双向同步、服务自动注册发现,并助力 Higress 等 MCP 网关实现 REST API 向 AI 可调用 MCP 服务的转换,全面提升系统治理能力与智能化水平。
400 32
|
4月前
|
图形学 开发者
【Unity3D实例-功能-镜头】第三人称视觉-镜头优化
本文介绍了如何在Unity中使用Cinemachine调整第三人称视角镜头,适用于ARPG游戏开发。内容包括调整摄像机Y轴方向与速度、设置转向灵敏度以及实现摄像机跟随角色平移,帮助开发者快速掌握镜头控制技巧。
201 0
|
6月前
|
人工智能 Java 开发者
【Java实例-简易计算机】使用Java实现简单的计算机案例
一个简单的Java案例——“简易计算器”,帮助编程新手快速上手。通过实现用户输入、基本逻辑运算和结果输出,学习者可以掌握变量声明、Scanner对象使用、控制流语句等关键知识点。文章分为设计思路、关键知识点、完整代码和测试运行四个部分。
203 9
【Java实例-简易计算机】使用Java实现简单的计算机案例