首页 > 其他分享 >Unity2D游戏制作入门 | 04

Unity2D游戏制作入门 | 04

时间:2024-06-02 12:29:31浏览次数:14  
标签:Collider 04 Unity2D 物体 2D 添加 组件 我们 入门

上期连接: 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

相关文章

  • ctfshow-web入门-信息搜集(web11-web20)
    目录1、web112、web123、web134、web145、web156、web167、web178、web189、web1910、web201、web11域名其实也可以隐藏信息,比如flag.ctfshow.com就隐藏了一条信息 查询域名的DNS记录,类型为TXT(域名的说明)但是这里无论是用命令还是网站都没有查到命令:n......
  • 数据库(入门)
    文章目录          一、数据库(DB)二、数据库管理系统(DBMS)三、SQL(结构化查询语言)四、三者的关系五、端口号(portnumber)一、数据库(DB)定义:按照一定格式存储数据的一些文件的组合。简单来说:存储数据的仓库,实际上就是一堆文件,这些文件中存储了具有......
  • 2024拼多多 最新理论+实战干货,从入门到精通全链路多角度学习-7节课
    基于最新规则理论结合实际的干货课程内容:012024年多多防比价新规则破局理论课与实操课.mp40224年多多强付费第二节课基础内功.mp40324年多多强付费第三节课直通车实操.mp40424年多多强付费第一节课市场定价格段,mp40524年多多自然流第一节课市场分析-small.mp40......
  • go基础入门
    go不需要在语句或声明后面使用分号结尾左括号{必须与关键字func同一行,不能独自成行x+y表达式,换行符可以在+操作符的后面,不能在+操作符的前面go中索引使用半开区间,左开右闭,包含左边索引元素,不包含右边索引元素。var关键字用来声明变量,如果没有明确初始化,会隐式的初......
  • Python基础入门(1)
                     第一章——打印函数print    大家好,我们今天来学习Python(入门1)。    首先,学过编程的朋友都知道,学一种编程语言,第一件事就是让它说出"Hello World"。    Python中print就是打印的意思,所以......
  • Python基础入门(2)
                   第五章——输入函数input    大家好,我们接着Python基础入门1,进入到Python基础2的学习。    我们学习了print输出(打印)函数,那么有没有与它反着的呢?当然有了,它就是input输入函数!input输入函数与print输......
  • ArkTS的入门到入土 (3)
    三.基础布局1.设计资源-图标库1.1下载图标HarmonyOS图标库IconFont图标库1.2使用图标使用Image组件显示图标,添加fillColor()属性修改图标颜色   Image($r('app.media.ic_public_car'))   .width(50)   .fillColor(Color.Red)2.布......
  • ArkTs入门到入土
    一.ArkTS-语法基础1.开发环境DevEcoStudio支持Windows系统和macOS系统,在开发应用/服务前,需要配置应用/服务的开发环境。环境配置流程:下载软件→安装软件并配置→创建工程并运行。2.基础入门ArkTs:是一门用于开发鸿蒙应用的编程语言编程语言:用来控制计算机工作的,可以......
  • delphi Image32 之 快速入门
     官方快速入门,加上了一些注解[从WORD粘贴后失去了样式]TImage32类是关键。TImage32 对象包含单个图像,所有图像操作都作用于此对象。usesImg32; //引用单元...img:=TImage32.Create; //创建TImage32对象//执行一些其它操作img.Free; //用完了要释放图像存储......
  • SQL入门教程
    一、数据查询语言知识点(DQL:DataQueryLanguage)1.语句书写顺序及执行顺序(1)语句书写顺序:select-distinct-from-join-on-where-groupby-having-orderby-limit(2)语句执行顺序:from-on-join-where-groupby-having-select-distinct-orderby-limit注:groupby后不能加......