【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函数实现角色移动的功能。

相关推荐
南無忘码至尊1 天前
Unity学习90天-第3天-认识触屏输入(手游基础)并完成手机点击屏幕,物体向点击位置移动
学习·unity·c#·游戏引擎·游戏开发
SmalBox1 天前
【节点】[SquareRoot节点]原理解析与实际应用
unity3d·游戏开发·图形学
LcGero2 天前
TypeScript 快速上手:泛型与工具类型
typescript·cocos creator·游戏开发
SmalBox2 天前
【节点】[Power节点]原理解析与实际应用
unity3d·游戏开发·图形学
南無忘码至尊2 天前
Unity学习90天-第2天-认识键盘 / 鼠标输入(PC)并实现WASD 移动,鼠标控制物体转向
学习·unity·c#·游戏开发
拖孩2 天前
我用 AI 搓了一个"比谁更持久"的微信小游戏,AI实现只用了一天,微信审核却用了一个月!!!
微信小程序·ai编程·游戏开发
SmalBox3 天前
【节点】[Multiply节点]原理解析与实际应用
unity3d·游戏开发·图形学
SmalBox4 天前
【节点】[Divide节点]原理解析与实际应用
unity3d·游戏开发·图形学
兔子零10244 天前
Claude Code 都把宠物养进终端了,我做了一个真正能长期玩的中文宠物游戏
前端·游戏·游戏开发
柚要做甚码5 天前
godot-rust(gdext)2D游戏之旅【flappy-bird】 - 2
游戏·游戏开发