【Unity3D实例-功能-跳跃】角色跳跃

发布于:2025-08-10 ⋅ 阅读:(14) ⋅ 点赞:(0)

今天,我们来聊聊 Unity 里最常打交道的动作之一——角色跳跃。无论是横版闯关还是 3D 跑酷,跳跃都是让角色“活”起来的核心操作。在 Unity 里,几行脚本就能让角色一蹬而起、稳稳落地。下面,就让我们一起把这个“弹跳感”亲手做出来吧!

目录: 

1.创建动画器

2.设置跳跃动画

3.编写跳跃功能的脚本

4.测试与运行

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

一.创建动画器

在这里我已经默认大家通过CharacterController实现了角色移动的功能和动画,如果有不懂的小伙伴可以去查看我《【Unity3D实例-功能-移动】角色移动-CharacterController方式》的博客文章。

这里跳跃模型和动画我都准备好了,大家可以到我的博客下载。首先我们创建一个动画器,并且拖拉到我们的角色上进行绑定。接着我们在动画器的动画模式里,选择“Animate Physics”(用于FixedUpdate方法中更新,使动画和物理系统的更新同步,使用这个模式可以确保动画与物理系统保持一致)。

二.设置跳跃动画

1.首先选中跳跃动画 -> 点击右侧菜单栏的“Rig”-> 在Animation Type的下拉框中,选择“Humanoid”(把动画设置成人形)-> 最后点击“Apply”应用即可。

2.接着打开双击创建好的动画器 -> 把跳跃动画拖拉进去 -> 在“Any State”和跳跃动画之间创建一条过渡线,在跳跃动画和“Exit”之间创建一条过渡线。

3.然后需要创建一个Trigger变量(我这里的变量命名为“jump”)

4.点击选中“Any State”和跳跃动画之间的过渡线 -> 在右侧菜单栏的“Conditions”条件列表中,添加Trigger变量“jump”。

5.点击选中跳跃动画和“Exit”之间的过渡线 -> 在右侧菜单栏的“Conditions”条件列表中,添加Bool变量“Run”,并且值为“true”(这里是在跳跃动画结束后,重新让动画器激活跑步动画,使动画器不会因为去到“Exit”节点而结束)。

三.编写跳跃功能的脚本

1.在 Unity 项目的 Assets 目录里,新建一个文件夹,命名为 Scripts(名字随意,开心就好)。

2.在该文件夹中新建一个 C# 脚本,建好后把它拖到场景里的角色身上,完成挂载。

3.实现跳跃功能的代码

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

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

四.测试与运行

亲测过程:点击进入 Play 模式(运行案例),利用空格键触发 isGround条件判断,调用 CharacterController.Move() 实现瞬时竖直跳跃力的赋值,并在 Game 视图的 Stats 面板连续监测向量y轴的变化 与 isGround 状态,验证基于 CharacterController 的跳跃逻辑。


网站公告

今日签到

点亮在社区的每一天
去签到