【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

目录
相关文章
|
6月前
|
图形学 开发者
【Unity3D实例-功能-切换武器】切换武器(一)动画配置
本文介绍了在Unity3D中实现角色切换武器功能的动画配置过程,包括创建动画器、设置动画、配置Base Layer、创建武器图层及测试运行,帮助开发者实现多武器切换效果。
188 10
|
7月前
|
机器学习/深度学习 传感器 人工智能
|
7月前
|
C# 图形学 开发者
【Unity3D实例-功能-跳跃】角色跳跃
本文介绍了如何在 Unity 中实现角色跳跃功能,涵盖动画器创建、跳跃动画设置、脚本编写与测试等内容,帮助开发者快速掌握角色跳跃的核心实现技巧。
229 0
|
7月前
|
C# 图形学 开发者
【Unity3D实例-功能-镜头】第三人称视觉
本文介绍了Unity中常用的第三人称视角实现方法,适用于角色扮演游戏。内容包括安装Cinemachine插件、为角色添加面朝向点、创建虚拟摄像机、编写控制脚本及测试运行,帮助开发者快速掌握镜头控制技巧。
235 0
|
7月前
|
SQL 前端开发 API
如何物业管理(园区式)系统的行政综合板块?(附架构图+流程图+代码参考)
本文详细解析了物业管理系统的架构设计与核心模块实现,重点讲解了行政综合模块的功能、流程、数据库设计及前后端开发示例,涵盖活动公告、运营周报、人事管理、资产入库、出库耗材及雨季数据等场景。同时介绍了共用技术点与运维注意事项,帮助团队高效构建稳定、可扩展的物业管理系统,提升物业运营效率与数据管理水平。
|
6月前
|
C# 图形学 开发者
【Unity3D实例-功能-切换武器】切换武器(二)功能实现
本文为Unity3D切换武器功能的最终实现教程,介绍如何配置动画并编写武器架代码,实现角色多武器切换功能。内容包含动画设置、Unity准备、代码编写与测试等步骤,适合游戏开发者学习参考。
204 5
|
7月前
|
人工智能 Kubernetes Cloud Native
MSE Nacos Controller:为 Kubernetes 生态构建配置管理与服务发现的桥梁
在企业云原生转型过程中,如何实现传统微服务与 Kubernetes 服务的配置统一管理、服务互通及协议转换成为关键挑战。MSE Nacos Controller 应运而生,作为连接 Kubernetes 与 Nacos 的桥梁,支持 ConfigMap 与 Nacos 配置双向同步、服务自动注册发现,并助力 Higress 等 MCP 网关实现 REST API 向 AI 可调用 MCP 服务的转换,全面提升系统治理能力与智能化水平。
533 32
|
7月前
|
Cloud Native 测试技术 开发者
云原生 LFX Mentorship 招募中:开源影响力与丰厚报酬兼得,开发者不容错过!
参与其中的开发者不仅有机会在经验丰富的社区 Mentor 指导下贡献开源项目、为职业生涯加分,完成课题后还能获得丰厚酬劳。
|
vr&ar C# 图形学
从零开始的PICO开发教程(4)-- VR世界 射线传送、旋转和移动
这篇文章是PICO开发系列教程的第四部分,详细介绍了在VR世界中实现射线传送、视角旋转和人物移动的方法,包括使用Teleportation组件进行区域传送和锚点传送,通过Snap Turn Provider组件实现视角快速旋转,以及创建PlayControl脚本来控制人物移动,并通过手柄与脚本组件的交互来增强VR体验。
|
9月前
|
人工智能 Java 开发者
【Java实例-简易计算机】使用Java实现简单的计算机案例
一个简单的Java案例——“简易计算器”,帮助编程新手快速上手。通过实现用户输入、基本逻辑运算和结果输出,学习者可以掌握变量声明、Scanner对象使用、控制流语句等关键知识点。文章分为设计思路、关键知识点、完整代码和测试运行四个部分。
250 9
【Java实例-简易计算机】使用Java实现简单的计算机案例

热门文章

最新文章