上期连接: Unity2D游戏制作入门 | 03(主要介绍了快速绘图的瓦片调色盘功能)
本节主要介绍物体的 组件功能 。如果我们点击我们的物体,然后你可以在最右侧的下部分看到英文:Add Component,中其实是添加组件的意思。AI是这么回答组件的:组件(Components)是构建游戏对象(GameObjects)的核心部分,它们负责定义游戏对象的行为和属性。组件系统使得Unity非常灵活和强大,因为它允许你以模块化、可复用的方式创建游戏对象。 这么说吧,我们以后写的C#代码甚至可以成为组件添加到我们的物体中去,利用我们写的代码逻辑去执行一些操作,比如如果我们的敌人检测到了玩家,那么它可能触发某些事件(向前冲撞等)。 而且,如果我们制作人物动画(如跑步),也是通过Animator这个组件去完成的,我们会先在外部制作好人物动画,然后将它与组件进行连接,这些都是后话了。
我们将不同的功能添加到物体,使它实现物体不同的功能。
组件的使用---------------------------------------------
Rigbody 2D:
现在我们运行游戏时,人物是不动的,所以要添加物理相关的组件(即使人物比如说拥有重力、摩檫力等)。我们选择Physics 2D,Physics是3D应用的。
我们选择Rigbody 2D这个组件,它是2D刚体组件,你可以理解为有了这个组件,就能把它抽象成一个真实的有重力的物体(目前还无法移动)。然后打开Edit的项目设置,我们打开2D物理相关可以看到Y=-9.81,这是模拟真实的重力加速度。
然后==Constraints下的Freeze Rotaion我们要开,这是冻结人物的Z轴,==如果你此时运行游戏它会掉下来并且倾斜这是因为人物站不稳(然后还会穿过地图,因为我们还没有给地图添加碰撞体),这不是我们想要的。
然后再注意到Constraints上方有Gravity Scale(重力规模),这个是用它当前的数值来乘以设定好的y轴的重力速度, 目前作用未知( 是我没研究明白(出汗) )。
碰撞器 Collider:
我们再添加方形碰撞体:
方形也就是Box Collider 2D,还有一个椭圆形的是Capule( 一般来说要学会观察前面的绿色形状,因为这也很形象的。如果不知道其他我们不太常用的Collider,建议添加后去查看在线的手册,看你对知识的渴望程度了 ),我们先添加椭圆碰撞体。
我们点击Edit Collider就能用鼠标手动点击拖拽它的大小了,如果你不习惯也可以用Offset(偏移)和Size进行数值的调整,鼠标放在X或Y处可点击鼠标左键进行左右拖拽进行数值的调节。调完大概和左边红框内的人物差不多即可。
然后我们给瓦片地图添加碰撞器,不过因为瓦片地图碰撞器比较特殊,我们直接搜Tile,再选Tilemap Collider 2D。
接下来比较重要了:
添加了Tilemap Collider 2D这个组件后,我们会发现它有很多白线框起来(这里我已经在组件Tilemap Collider 2D下的Composite(adj.合成的,复合的;)选了Merge(合并)),为了让这些瓦片形成一个完整的碰撞体我们选择Merge,然后我们运行的话地图也会掉下去,所以给地图添加Rigbody2D的组件,也可以加Composite Collider 2D组件( 因为视频UP中的版本为2022.6我的是2023.xxx。UP要添加Composite Collider 2D组件才能启用Tilemap Collider 2D下的Composite功能,使瓦片个体碰撞体形成一个整体,因为我的版本较高所以不用加,不过我觉得还是加一下吧 )它会自动帮你添加Rigbody2D的组件。
说明一下:因为UP加Composite Collider 2D组件是为了给Rigbody2D组件的瓦片复合功能能够启动(高一些的版本可以不加Composite Collider 2D组件)。我们关注的是地图的Rigbody组件, 把Body Type改为Static(静态),然后地图就能被固定住了,人物也能站在平台上面了。
总结:
这节我们了解一些基本组件,如Rigbody2D,Collider组件,更重要的话还是看Unity的学习手册(在下面的补充内容中)。通过添加组件,让物体更具物理特性,并为之后的物理交互打基础。(这就是组件的核心功能) 这节还是比较简单的,简单看看或是复习快速过就行。
补充:
1、小技巧:
在Scene的的场景窗口中,我们想快速定位窗口中的某个物体,我们双击那个物体的名称(比如双击Plaform,它能帮你快速定位而且那个物体会用橙色帮你描边),或者先点击一次那个物体,再按下F键 (focus之意) 也可快速定位。
2、因为一些原因,我们能学习到的组件内容(它里面的参数或变量啥的)十分有限,所以我们要借助在线文档去解决,比如:点击人物Rigbody组件的右边的小问号,我们可以通关网络进行访问(如果你一开始就下载了离线的文档也是可以查看不过需要英文水平就对了…),我喜欢在线看因为网页自动翻译英文。自身还是要有求知的,闲暇时间可以看看,如果你需要额外的功能的话。 下面第二张图,记得看左边Unity手册的目录自己找找看看吧。 网页的右上角也贴心的附上中文简体,我们就可以不用到网页翻译了。
然后人物的Rigebody2D组件还有一些属性,比如Mass为质量,即它的数值越大它模拟的重力越强,它能撞飞质量轻的物体。Collision Detection为碰撞检测,即物理检测的频率,第一个参数是间歇性的,第二个参数Continue就是持续检测,它的持续检测会更精确些(比如爬墙、滑铲等,当我们添加的动作多了时候就得持续不断地进行检测了)。
下拉Unity手册的不同版本的手册,如果看到版本前有绿条标记的话,说明它支持中文切换。(我想大部分人应该习惯用网页自带的翻译功能吧)
未尽事宜以后可能会有补充。
----------------------------------结束线
标签:Collider,04,Unity2D,物体,2D,添加,组件,我们,入门 From: https://blog.csdn.net/widhejd393/article/details/139385104