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

Unity2D游戏制作入门 | 02

时间:2024-06-02 12:30:06浏览次数:14  
标签:02 Layer 场景 入门 Unity2D 创建 图层 绘制 我们

上期链接:Unity2D游戏制作入门 | 01
我们先整理我们的场景素材并调整一些参数,选中我们的Forest1,就是如下图所示了:

选择:multiple(多个),16像素,不过滤,不压缩(compression),记得保存设置。

开始编辑我们的场景:在这里插入图片描述

接下使用Size的模式进行切割:

注意锚点我们设置在中心,不然等下放入图片到场景中会有问题的。

在这里插入图片描述

绘制场景:

接下来使用unity内置的2D场景的绘制工具。我们找到最上边的window->2D->Tile Palette(瓦片调色盘,现在不理解没关系,视频作者的描述其实很形象,看后面就知道为什么这样叫了)。 最好拖拽到Hierarchy的旁边

在这里插入图片描述

我们创建新的瓦盘:名字取得让人一看就知道,比如Forest1,然后选择一个位置进行放置(这里 和 seting同级了,然后下面再创建子文件为了方便管理,你不一定要这样做
在这里插入图片描述

创建完是这样的(中间的Tilemap我命名该文件时应该是Palettes才对不懂为什么没弄成功,小问题):

在这里插入图片描述

然后将我们刚刚切割的地图拖入到Forest1这个调色盘中,
在这里插入图片描述

拖入后它会询问你:你要把这些瓦片(也就是每一片)保存在什么位置来使用(如下图)。

在这里插入图片描述

我们要创建一个可用目标来绘制我的地图即一个地图的图纸(你可以理解为我们要创建需要绘制的图层,因为一张地图一般都是许多层叠在一起的,由远到近这样子啦,这样才符合我们制作地图的逻辑),如下图:

在这里创建,Tilemap又边有很多选项,比如45度角的,六边形的等等,这里我们选择正常方形的即可(Rectangular矩形)。

在这里插入图片描述

然后它会为你选择可用图层,你也可以自己调节(软件会自动选择你第一个创建的Tilemap)。

在这里插入图片描述
在这里插入图片描述

叠层:

问题抛出:人物有一部分被草挡住,这是bug?
在这里插入图片描述

我们点击人物看到右边的组件Sprite Renderer (精灵渲染器)(下图所示)

​ 本次我们关注的Additional Settings下的sorting layer,像Sprite后面的框就是我们图片的名称,后面它会通关其他组件链接到Animator这动画组件上的,然后你运行比如走路,你打开并观察它的名称会变化的,说明它在按照我们设置的采样频率进行切换,这也是我第二次看视频才理解的。总之你知道它是这样的渲染逻辑就好了:播放人物和场景图片 --> 按照叠层(即遮挡关系)关系进行渲染并呈现出来。

在这里插入图片描述

如果有几个物体在同一层,我们还可以调整下面的Order in Layer进行不同显示级的调节,数字越大越在前面展示(针对Order in Layer这个选项,比如人物和背景都在同一层,然后人物的Order in Layer数值为5,背景地图为0这样人物可以在它之上显示的,但是很麻烦视频作者提供了更轻松的方式,这样你能更好地调节渲染图层逻辑遮挡关系),如果是同层同级,它是随机遮挡关系,而且后创建的物体会遮挡前面的物体

需要注意的是:这个地方的Layer先不用管,因为它和后边的GameObject的碰撞有关系。它和渲染器不大一样,它是检测图层的碰撞或是检测触发器的触发,而渲染器只是按逻辑呈现(图片的)遮挡关系。
在这里插入图片描述

接下来我们创建新的不同的Sorting Layer图层,把每一个不同的物体或地图指定到一个固定的图层上:

在Sorting Layer下方进行创建新的图层。

在这里插入图片描述

在这里插入图片描述

添加好新的渲染图层,它不会自动选择,你要返回去为它们进行图层的选择。

在这里插入图片描述

如上图所示,叠层的概念是下方的图层会遮挡住上方的物体,想移动图层顺序就去sorting layer那里进入图层新建那里移动前面的杠即可。

我们多创建一些层,然后发挥自己想象力去绘制叠层吧。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

上面两张图是视频作者展示的(素材作者做出的,被视频作者给展示出来了,我也觉得十分不错,有那种调调了haha)。

开始绘制你的地图吧:
如下图所示,你选择你要绘制的图层比如我选择的Back1,如果你不知道你在绘制哪层,你就点击Scene场景的FocusOn工具,根据版本不同它还可能在Scene场景的左侧偏上的位置。选择之后我们就知道我们画的是哪一层了,这样在绘制背景比如花草树木时就不会弄混啦。

在这里插入图片描述
在这里插入图片描述

一定要动手去制作!不然不熟悉操作的话还是很麻烦的。

----------------------结束线

标签:02,Layer,场景,入门,Unity2D,创建,图层,绘制,我们
From: https://blog.csdn.net/widhejd393/article/details/139376554

相关文章

  • Unity2D游戏制作入门 | 03
    ​上期链接:Unity2D游戏制作入门|02这节的规则瓦片其实是上一节用Tile去绘制地图的补充吧,假设你有大量而且面积还挺大的地图工程量,我想画的时间还是很久的,规则瓦片就是为了解决这种问题。所以所谓规则瓦片就是有一部分地方是固定绘制的,然后有一些地方是随机出现的素材(比......
  • Unity2D游戏制作入门 | 04
    上期连接:Unity2D游戏制作入门|03(主要介绍了快速绘图的瓦片调色盘功能)本节主要介绍物体的组件功能。如果我们点击我们的物体,然后你可以在最右侧的下部分看到英文:AddComponent,中其实是添加组件的意思。AI是这么回答组件的:组件(Components)是构建游戏对象(GameObjects)的核......
  • LitCTF2024
    YR队员:naby,liyue总结:很符合新生赛的水平但是我pwn刚学完了栈,这就告诉我栈已经不算入门了嘛。(哭web(6/6)exx-naby原理:xxe随便输一下,然后就是简单的xxe了一个....池子-liyuessti模板注入参考教程https://blog.csdn.net/qq_61955196/article/details/132237648......
  • ctfshow-web入门-信息搜集(web11-web20)
    目录1、web112、web123、web134、web145、web156、web167、web178、web189、web1910、web201、web11域名其实也可以隐藏信息,比如flag.ctfshow.com就隐藏了一条信息 查询域名的DNS记录,类型为TXT(域名的说明)但是这里无论是用命令还是网站都没有查到命令:n......
  • 【会议征稿,ACM出版】2024年第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024,7
    2024第四届人工智能、自动化与高性能计算国际会议(AIAHPC2024)将于2024年7月19-21日在中国·珠海召开。本次会议主要围绕“人工智能、自动化与高性能计算”的最新研究展开,旨在荟聚世界各地该领域的专家、学者、研究人员及相关从业人员,分享研究成果,探索热点问题,交流新的经......
  • 【会议征稿,中国算力大会分会】2024算法、高性能计算与人工智能国际学术会议(AHPCAI 202
    2024算法、高性能计算与人工智能国际学术会议(AHPCAI2024)定于2024年6月21-23日在中国郑州举行。会议主要围绕算法、高性能计算与人工智能等研究领域展开讨论。会议旨在为从事算法、高性能计算与人工智能研究的专家学者、工程技术人员、技术研发人员提供一个共享科研成果和......
  • 数据库(入门)
    文章目录          一、数据库(DB)二、数据库管理系统(DBMS)三、SQL(结构化查询语言)四、三者的关系五、端口号(portnumber)一、数据库(DB)定义:按照一定格式存储数据的一些文件的组合。简单来说:存储数据的仓库,实际上就是一堆文件,这些文件中存储了具有......
  • 2024.6 做题记录
    1.#2498.XavierisLearningtoCount有\(n\)个互不相同的整数\(a_{1,\cdots,n}\),从其中任取恰好\(k\)个数,记他们和为\(s\),求对于每个\(s\)的方案数。\(n,a_i\le1.3\times10^4,k\le5\)。根据互不相等容斥的结论,只需枚举集合划分的方案\(\{S_i\}\),钦定同一......
  • 02、数组
    1、数组概述数组是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括基本数据类型和引用数据类型创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是......
  • 复盘工作-2024-06
    1.js!=和!==//==等于//会执行类型转换,尝试使两边的值相等//当一个值是null,//另一个值是undefined,//null==undefined会返回true//因为它们都被视为“空”或“无”//===严格等于//不会进行类型转换//null和undefined是不同的//所以null===undefined返回......