【Unity3D实例-功能-移动】角色移动-通过WSAD(Transform方式)

嘿,小伙伴们!你是否曾经梦想过在游戏世界里自由驰骋,像风一样掠过每一个角落?今天,我们一起来探讨游戏中最基础,但又是重中之重的功能------"角色移动"。我们今天就使用unity中最为简单直接的方式------"Transform"。

废话不多说,走,让我们的角色动起来!

目录:

1.准备模型

2.动画的处理

3.编写移动功能的脚本

4.测试和运行


一.准备模型

在这里我已经把模型和动画准备好了。如果有不懂的小伙伴们可以去查看我之前"导入模型"的视频(导入模型的视频连接在文章底部,抖音或其他平台的个人主页中找到)。

第一步我们先把我们的主角拖拉到开发场景中。

二.动画的处理

1.刚导入的动画一般需要进行一些设置。我们选中动画 -> 选中"Rig" -> 把站立动画和跑步动画的动画类型改成人形(Humanoid)

2.然后我们选中跑步动画 -> 选中"Animation" -> 勾选上循环播放(Loop Time)

3.在Assets文件夹下面创建一个空的文件夹,命名为Animation Controllers(可以自定自己喜欢的名字),用于存放动画控制器。

4.点击鼠标右键Assets -> Animation Controllers,点击选择Create -> Animetor Controller,创建动画器。

5.选中创建好的Animetor Controller,按住鼠标左键把Animetor Controller拖拉到我们的主角模型上。

6.双击打开我们创建的动画器,把我们准备好的角色"站立动画"和"跑步动画"拖进去。

7.创建动画过渡关系。选中"站立动画"和"跑步动画",点击鼠标右键,选择"Make Transition"为动画创建过渡(也就是从站立状态切换到跑步状态,跑步状态也可以切换回站立状态)。

8.为动画创建切换条件

第一步为动画创建一个Bool变量,用于控制切换动画的条件。

第二步选中动画过度线,为过度线添加变量(当Run变量为true的时候,进入跑步动画。为false的时候重新变回站立状态)。

最后勾选掉Has exit time(是否有动画退出时间),因为我们是实时切换动画

三.编写移动功能的脚本

1.在Assets文件夹下面创建一个空的文件夹,命名为Scripts(可以自定自己喜欢的名字),用于存放脚本。

2.在Scripts文件夹下,创建C#脚本。

3.实现移动功能代码

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

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

四.测试和运行

通过测试运行案例,成功使用Transform的translate函数实现角色移动的功能。

相关推荐
2601_962294619 小时前
Python开发工具哪个好?Python开发工具推荐
ide·文本编辑器·游戏开发·编程语言·python开发工具
fujisheng66112 小时前
Unity UI 生命周期状态机:处理 Covered、异步竞态与事务回滚
c#·unity3d
_zhourui_h_18 小时前
EasyECS 最慢的地方,居然是 Resize
unity3d
fujisheng66119 小时前
Unity 异步 UI 实战:取消令牌、版本校验与旧句柄隔离
c#·unity3d
SmalBox19 小时前
01-02-认知篇-基础-Unity资源管理发展史
unity3d·游戏开发
SmalBox2 天前
01-01-认知篇-概念-YooAsset是什么
unity3d·游戏开发
SmalBox3 天前
YooAsset-全篇导览
unity3d·游戏开发
长脖鹿Johnny3 天前
游戏输入系统框架设计(三):网络输入权威与可验证性
网络·游戏·游戏开发·架构设计·输入系统·网络同步
2601_962078193 天前
python怎么用
游戏开发·web开发·数据科学·自动化脚本·网页爬取
_zhourui_h_4 天前
EasyECS:一个 foreach,让 IL2CPP 性能直接掉了一个数量级
unity3d