0.写在前面
该笔记为M_Studio老师今年免费更新的面向初学者的教程的笔记,只会更新老师免费更新的部分,中文课堂独有的部分不会更新。教程中所有的演示均为付费版下的演示,观看免费版的小伙伴可能会出现和笔记不同的情况,欢迎提问。
课程介绍:https://www.bilibili.com/video/BV1zY411B7KH/
课程连接:https://learn.u3d.cn/tutorial/2DAdventure
M_Studio的平台:
B站首页:https://space.bilibili.com/370283072
Unity中文课堂首页:https://learn.u3d.cn/u/m-studio-1
1.添加人物刚体和碰撞体
现在我们的人物还不具备物理的特性,所以我们需要为人物添加 RigidBody 2D 来模拟物理效果,为了能让人物和场景发生交互,我们还需要为人物添加碰撞体。
1.先在 Hierarchy 窗口选择 Player
2.点击添加脚本
3.输入 rigid
4.选择 RigidBody 2D,这里一定要选择带 2D 的,要不然就是用于 3D 的 RigidBody ,3D 的会在 2D 项目中失效
1.点击添加脚本
2.输入 collider
3.选择 Capsule Collider 2D,这里一定要选择带 2D 的,要不然就是用于 3D 的 Collider ,3D 的会在 2D 项目中失效,这里我们选择的是胶囊碰撞器,顾名思义碰撞器的样子是胶囊的样子,在这里用这个碰撞器是最好的,在不同的应用场景应该选择最适合的碰撞器
1.点击①中的 Editor Collider
2.在 Scene 窗口中人物的周围会出现一圈绿色的线,上下左右会有绿色的点,我们通过修改点的位置将碰撞器调整到合适的大小,如下图
2.添加地图刚体和碰撞体
1.按照如上的方式,给 Platform 添加 Tilemap Collider 2D、Composite Collider 2D、RigidBody 2D(这个脚本在添加了Composite Collider 2D会默认添加),如下图所示
2.Tilemap Collider 2D 是为了给瓦片地图添加碰撞体,这样可以让瓦片地图和人物可以进行碰撞
3.Composite Collider 2D 是为了让瓦片地图的碰撞体成为一个整体(后面还需要设置一下)
4.RigidBody 2D(这个脚本在添加了Composite Collider 2D会默认添加)
打开 Tilemap Collider 2D 组件 ,将 Used By Composite 进行勾选,此时瓦片地图会成为一整个碰撞体,如下图
打开 RigidBody 2D 组件,设置 Type 为 Static ,否则瓦片地图也将会进行物理模拟(如重力等),我们希望地图保持不动所以设置为静态
在下图的位置将 Freeze Rotation 的 Z 轴进行勾选,这样可以防止我们的人物在后续移动的时候进行旋转,这是我们不希望的,所以我们可以锁定 Z 轴,防止这样的情况发生
此时我们运行游戏人物可以落在平台上了,人物也成功和平台产生了交互