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

相关推荐
SmalBox1 小时前
05-05-源码-资源加载与Provider体系
unity3d·游戏开发
SmalBox1 天前
05-04-源码-资源定位系统
unity3d·游戏开发
Mikko72 天前
用 Java 复刻了高中时在塞班上玩的「熔岩矿车」:纯 Swing、零依赖、没有一张图片,一个 jar 双击就能玩
java·游戏开发·swing
郝学胜_神的一滴2 天前
游戏设计:原型与开发 06:读懂游戏设计最容易被忽略的文化层
游戏·游戏开发
SmalBox2 天前
05-03-源码-运行模式体系(PlayMode)
unity3d·游戏开发
努力小陈13 天前
Redis ZSet 排行榜实战:SLG 后端排行榜的 10 个坑
游戏开发
努力小陈13 天前
SLG 后端最终选了 Actor
游戏开发
努力小陈13 天前
玩家 Actor 的生命周期与阻塞 IO:全局协程池分流实战
游戏开发
SmalBox3 天前
05-02-源码-全局入口与包管理(YooAssets & ResourcePackage)
unity3d·游戏开发
SmalBox4 天前
05-01-源码-运行时总览
unity3d·游戏开发