为什么需要 Rule Title
在之前的学习过程中,自己创建一个场景的时候,使用瓦片调色板铺路车,选中不同的瓦片去拼接场景的
比如我之前做的这个小场景我的制作过程如下:
- 先选中左边的部分区域当作陆地的开始位置
- 然后选中中间位置,因为这个地方可以重复铺路铺到你觉得合适的长度!
- 然后在选择结尾的部分
虽然也能完成效果!但是如果游戏的场景要做很多,而且各种各样的形状,这样拼接的效率就太低!
所以这个瓦片小车就给了一个定义规则的功能!它能根据你定义的规则自动帮你在铺路的时候填充合适的瓦片!
来创建试试
首先第一步我们创建一个文件夹专门用来存储我们 有规则的瓦片!
右键文件夹创建 2d > Titles > Rule Title
然后起名字叫 RandomGround
因为我们要铺的是一块很完整的瓦片!就是各种不同的瓦片放在一起能形成一个在场景中可以直接使用的!
比如脚下的那一块场景!我们只需要把带规则的瓦片拖进去,他就能自动的帮我们铺开头该放什么中间该放什么,最后的地方该放什么!
看到Tiling Rules的部分,上面的默认的其实选不选都行,规则列表的要选择一个配置规则的瓦片
这个部分的配置代表这个瓦片四周的状态,比如上面的x 代表基于这个瓦片的某个位置不铺任何东西,反之带绿色箭头的是铺了其他的瓦片。
如果这个位置是空白,那就说明有内容或者没有内容都可以匹配这个规则!
那么这个规则的意思就是:
如果这个瓦片的 正上,左上,左,左下 没有铺其他的瓦片
而右上,右,右下,正下方有铺其他的瓦片,那么就铺我们当前的规则的瓦片!
为了方便找出我们指定要配置规则的瓦片我们先去给这些瓦片命名一下!
进入tiles 文件夹随便选中一个瓦片,进入sprite editor
然后逐一分析并配置规则!
我自己比较喜欢的命名规则RG
表示 每个配置瓦 的表示名 这里是random ground的缩写
RGS11
表示第一行第一个开头的 第二行的就是RGS21
依次类推RGF13
表示第一行第3个结束的 也就是最后一个结束了RG12
表示就是第一行第二个,其他的也类似
RGS11 |
RG12 |
RGF13 |
---|---|---|
RGS21 |
RG22 |
RGF23 |
RGS31 |
RG32 |
RGF33 |
因为我们只需要关注开头和结尾元素的规则其实中间内容是可以随机交换的!比如下面框选出白色 部分!
顺序怎么变都不会让我们的场景看起来很奇怪,所以这一部分使用的是随机规则!
那么其实我们需要关注的就是一个九宫格了 因为中间部分都是随机的,分别配置一个规则就好了
好了,大致分析后首先看开头的地方
RS11
因为是开头部分,所以下图中标记x的位置都代表着不需要铺设瓦片!绿色的箭头代表有瓦片的!
满足这个条件就说明目前存在左上方开头的位置就渲染我们开头用的瓦片,其他的也是同理!
最终我们得到这样一个效果图! 我们只用关心 3*3的部分就好了,因为中间地方的都是随机生成的!可以看到中间有着size为2的部分 output 为random的,选中了2个瓦片,意思就是满足这个位置的,都是在两个瓦片中随机选择一个去填充!
制作完成之后,我们把我们的RandomGround
推拽的铺瓦调色板的小车里面!
使用矩阵那个可以快速铺一块指定范围的瓦片地图
这个东西理解即可,其实上面目前还是会有一些小问题,比如拐角的地方需要去适配!
可以看到效果!可以自由拖拽形状!瓦片根据位置自动适配位置!
评论区