Unity开发2D类银河恶魔城游戏学习笔记
Unity教程(零)Unity和VS的使用相关内容
Unity教程(一)开始学习状态机
Unity教程(二)角色移动的实现
Unity教程(三)角色跳跃的实现
Unity教程(四)碰撞检测
Unity教程(五)角色冲刺的实现
Unity教程(六)角色滑墙的实现
Unity教程(七)角色蹬墙跳的实现
Unity教程(八)角色攻击的基本实现
Unity教程(九)角色攻击的改进
Unity教程(十)Tile Palette搭建平台关卡
Unity教程(十一)相机
Unity教程(十二)视差背景
Unity教程(十三)敌人状态机
Unity教程(十四)敌人空闲和移动的实现
Unity教程(十五)敌人战斗状态的实现
Unity教程(十六)敌人攻击状态的实现
Unity教程(十七)敌人战斗状态的完善
Unity教程(十八)战斗系统 攻击逻辑
Unity教程(十九)战斗系统 受击反馈
Unity教程(二十)战斗系统 角色反击
Unity教程(二十一)技能系统 基础部分
Unity教程(二十二)技能系统 分身技能
Unity教程(二十三)技能系统 掷剑技能(上)基础实现
Unity教程(二十四)技能系统 掷剑技能(中)技能变种实现
如果你更习惯用知乎
Unity开发2D类银河恶魔城游戏学习笔记目录
文章目录
前言
本文为Udemy课程The Ultimate Guide to Creating an RPG Game in Unity学习笔记。
Udemy课程地址
一、Unity设置
1.设置编译器
Edit->Preferences->External Tools->Tool Path



2.改变布局
为了方便开发改变布局
Window->Layouts->2by3

由默认布局

变为

把Project拉下来

3.添加窗口
添加控制台
Window->General->Console

把控制台拉下来

添加Animator窗口
Window->Animation->Animator


添加Animation窗口
Window->Animation->Animation

把Animation窗口拉下来

4.修改宽高比

5.修改相机镜头大小
选中相机,调整Size的值,使镜头大小合适
Main Camera->Size

二、Unity使用
1.物体基本操作

依次为
手形工具:快捷键Q
移动工具:快捷键W
旋转工具:快捷键E
缩放工具:快捷键R
矩形工具:快捷键T
混合工具:快捷键Y
在此不作过多介绍,详见官方手册工具栏介绍
2.创建动画
(1)分割精灵表
可以参考官方手册Sprite Editor部分内容
点击精灵表,面板如下

因为精灵表包含多张图片,这里我们Sprite Mode选择Multiple,点击Apply应用

我们点击 Sprite Editor 进入Sprite Editor面板,从整张图像中提取元素。

点击Sprite Editor->Slice->Type->Grid By Cell Size
这里有四种切片类型
Automatic:自动切片,编辑器将根据透明度自动检测精灵元素的边界,可为每个已识别精灵设置默认轴心。
Grid By Cell Size:网格切片,由于图像都有固定大小,可以选择合适尺寸切割,Pixel Size设置单元格尺寸。
Grid by Cell count:指定行列大小切割,Column & Row 将确定用于切片的列数和行数。
Isometric Grid:等距网格

调整网格大小Pixel Size为X:69,Y:44,点击Slice切片,得到如下图所示:

点击精灵表向右的箭头展开,将第一帧拖入层次面板中Player下,作为Player的子物体,改名Animator。



但是这时我们会发现画面里的角色特别的小,如下图所示。

此时需要再点击精灵表修改大小,点击Pixels Per Unit改小为16,得到下图。


虽然角色的图片变大了但图片变得很模糊,此时再进行一部分调整
将Compression改为None,不压缩。
将Filter Mode改为Point(no filter)。此选项为纹理在通过 3D 变换拉伸时如何进行过滤,在这里分为Point(no filter)不压缩纹理,Bilinear双线性插值,Trilinear三线性插值。
点击apply应用。

此时得到正常的角色图片
此时我们发现Animator并不在Player的中心位置。接下来将Animator图片调整到父对象Player的中心。
注意:此时Toggle Tool Handle Position 这里要调整为Pivot,否则父物体与子物体会同步变动位置
Pivot::将辅助图标定位在游戏对象的实际轴心点(由变换组件进行定义)。
Center:将辅助图标定位在中心位置(根据所选游戏对象)。

在右侧面板调整Animator位置到Player的中心,在本例中可将x设为0.4

此时点击选中Player发现图片已经在中心位置了

(2)创建动画
在层次面板中点击选中Animator,添加Animator组件
在右侧面板中点击下方Add Component添加组件,搜索Animator并点击添加


右击创建Animator Controlller,命名为Player_AC
右键->Create->Animator Controller


拖动Player_AC到Animator的Animator组件上


接下来创建动画playerIdle
选中Animator,在左侧Animation界面选择Create,创建动画playerIdle


选择精灵表前六帧,将空闲状态动画的帧拖入

这时你会发现动画速度过快

调整采样率为10
在Animation面板中可能没有显示采样率的选项,这时点击面板中的三个点,再点击Show Sample Rate显示采样率。再调整采样率为10。


播放动画,动画变为正常速度

(3)连接状态机
参照官方手册动画过渡
创建动画状态转换所用的参数Idle,这是一个Bool型的参数,表示是否处于空闲状态。
Parameters->加号->Bool->重命名为Idle


然后连接状态机,这里起始默认playerIdle状态,空闲状态的进入已经默认连好了,我们需要将playerIdle与Exit退出连接,并且设置退出条件。
右击playerIdle,点击Make Transition连接到Exit


设置退出条件为Idle等于false时。
点击选中过渡,在Conditions列表中点击加号添加变量,选择Idle,把值改为在false时。



除此之外,还要对过渡进行一些设置,参数更为详细的内容可以参照手册。
参数的示意图如下:

Has Exit Time是否有退出时间:去掉
Transition Duration过渡时间所占百分比:改为0

动画的创建完成。
三、VS使用
1.VS常用快捷键
子菜单快捷键
Alt+Enter
(1)生成构造函数

(2)生成重写

搜索快捷键
Ctrl+F

2.区域
创建区域,方便变量的管理,代码如下:
#region 名称
#endregion
例如:
#region 状态
public PlayerStateMachine StateMachine { get; private set; }
public PlayerState idleState { get; private set; }
public PlayerState moveState { get; private set; }
#endregion
效果

Unity和VS的使用相关内容(布局设置、基本操作、创建动画、快捷键等)&spm=1001.2101.3001.5002&articleId=139724587&d=1&t=3&u=9f241f5548d94f9c93f478c2e720f4ff)
8554

被折叠的 条评论
为什么被折叠?



