Unity 2D chatper 1– Unity组件
Palette组件位置
Windows > 2D > Tile Palette
点击后会添加到右边的视窗中
Palette功能使用
创建新的画板
左侧新建对象2D Object > Tilemap > Rectangle
自定义参数
-
Name
-
Grid:
-
Rectangle矩形
-
Hexagon六边形
-
Isometric等距视角
-
Isometric Z as Y等距视角Z映射为Y
Isometric:
- 这种设置将 X 和 Y 轴映射到一个等距的斜视角。在这个视角下,X 和 Y 轴之间会有一个 30 度的角度,使得它们看起来是平行的,而 Z 轴(深度)则向下延伸,通常呈现为一个斜角。
- 适用于传统的等距视角游戏,游戏中的物体看起来就像是在斜面上放置一样。
Isometric Z as Y:
- 这个设置实际上是把 Z 轴当作 Y 轴来处理。它会将 Z 轴的深度数据直接用作 Y 轴的高度,从而实现一种不同的效果。
- 这个设置通常用来处理一些特殊的需求,尤其是在需要控制游戏物体的高度或层次关系时,或者希望 Z 轴的变动直接影响物体在视图中的“纵深”位置。
-
-
-
Cell size:
单元格的大小,自动Automatic或者手动Manual
-
Sort mode:
层级顺序
添加瓦片
将资源拖动到画板上
随后会提示你保存为.asset文件
.asset文件可以直接拖动到画板上
编辑画板
背景为蓝色说明开启了编辑模式,第一个按钮(编辑模式),第二个按钮为是显示背景格子
-
选择模式
点击上方这个鼠标形状按钮会进入选中模式,然后点击格子单元,在Inspector中会显示选中的格子信息,点击Delete Selection可以删除这个格子
-
移动模式
先使用选中模式选中需要移动的单元格(边框会变成黄色),点击上方这个四个方向箭头按钮会进入移动模式,然后就可以移动了
-
绘制模式
右上角关闭编辑模式(背景变成灰色),此时可以左键选中区域
将鼠标移动到Scene中,当刷子用即可
如果打开编辑模式,就可以用选中的区域覆盖画板。选择一片空的区域,并不会覆盖原来的画板单元格
-
刷子模式
类似于格式刷
此时可以左键选中区域,然后将鼠标移动到Scene中,此时虽然选中了多个格子,但是只会显示一个,因为多个格子堆叠在了一起。
当刷子使用,多画几下就懂了
此时如果打开编辑模式,也可以对画板进行相同操作。
-
擦除模式
可以理解为用空的格子覆盖原有格子。点击后会自动选中2x2的空白格子区域。然后当刷子用就可以了,如果启动编辑模式,也可以把画板擦除
-
泼水模式
先用绘制选中一块区域
然后点击泼水模式
将鼠标移动到Scene中
Material
邮件 - create - 2D - Physics Material 2D
编辑材料
为刚体添加材料
RigidBody2D
-
Body Type:
- Dynamic
- Kinematic刚体( 通过脚本控制运动的物体)
- Static静态
- Material
- Simulated
- Used auto mass
- Mass
- Linear Damping:线性阻力(空气阻力)
- Angular Damping
- Gravity Scale:重力倍率
- Collision Detection: 默认Continuous
- Sleeping Mode: 默认Start Awake
- Interpolate:默认Interpolate
- Constraints:
- Freeze X Y Z
Animator
找到视窗
window - Animation- Animator
创建控制器
Create - Animation - Animator Controller
绑定到角色(Animator)身上
创建动画Clip
选中Animator
找到Animation视窗
导入动画序列,单击起始帧,shift点击结尾帧,全选中拖动到Animation中
点击播放按钮,观察角色是否执行动画
改变采样率Samples可以调节播放速度
设置过渡
右击需要过渡的状态 Make Transition,点击目标状态
点击过渡箭头,查看Inspector
如果转换状态时需要立刻打断当前的动画,切到下一个动画,就需要取消退出时间,否则会播放完当前动画再切换到下一个动画。
设定过渡条件
新增参数,一般选择bool类型
点击需要设置条件的过渡箭头,添加过渡条件,比如Idle - Exit 过渡条件为Idle为false时
混合树
可以认为是一个clip集合
Animatior> Right Click > Create State > From New Blend Tree
新增参数yVelocity(Float)
点击新建的混合树clip,层级会从Base Layer 进入Blend Tree
在人物进入jump后一定会发生fall,所以可以把两个动画绑定起来
点击Blend Tree编辑信息,添加Motion,加入playerFall 和playerJump
去掉勾选Automatic Threshold
Threshold可以认为是触发条件,当为-1时,yVelocity为负,方向向下,表示下降,跳跃同理
点击下方一栏的Blend Tree,会弹出预览界面
拖动调节参数按钮,观察动画预览是否正常
Base Layer层级设置过渡同上,参数为jump
参数接口
可以在Player脚本中声明组件anim
public Animator anim { get; private set; }
private void Awake()
{
anim = GetComponentInChildren<Animator>();
}
通过SetBool(string , bool)方法设置参数值,比如
player.anim.SetBool(animBoolName, true);
player.anim.SetBool(“idle”, true);
Camera
镜头跟随
下载cinematic studio插件
新建 > cinemachine > 2D cinema
Follow > Player
死区,人物超出死区后,摄像机才会跟踪
这个参数难调的很,我的参数:
调完之后的蓝红框:
背景平动
将背景拖入栏目
添加Sorting Layer:Background Ground Enemy Player
将所有拥有图像的物体的Sorting Layer都设置好
Comments