Ruby‘s Adventure 学习笔记—— 场景搭建

1.2D场景地板布置中Tilemap应用

图片转自:https://www.cnblogs.com/sweetXiaoma/p/9342121.html   

 Tilemap(瓦片地图)是tile(一种特殊的sprite)的容器,类似将世界分为很多个大小相同的小块,便于用tile进行填充。

①问题场景:在铺设游戏环境(背景)的时候,可以直接使用图片转sprite,然后通过拖拽在scene 中进行拼接来实现。但是会存在拼接过程繁琐,拼接图片之间有缝隙的问题。tilemap          可以用于简化这个过程

②使用方法:1).Heirachy窗口中右键->2D Object->Tilemap创建

                  2).Tilemap需要用Tile填充,Tile需要在Tile pallete中实现。先创建一个Tile pallete,Widow->2D->Tile pallete。创建完成后,pallete是空的,要新建一个(有提示)。创建完成后可以将sprite拖入pallete,生成Tile,可单独保存在一个folder。

Tile可以是整个sprite,也可以将一个sprite切分,区别在于在绘制时,刷子只能一块一块的使用Tile进行填充,将sprite切分可以使用图片中的一部分进行整个map的填充。sprite的切分可以在sprite的Inspector->sprite editor进行

将sprite拖进pallete形成tile,用刷子选取pallete中的tile的块

按格子绘制地图

 ③限制:适用于色块比较单一的场景,比如超级马里奥的地图,或者比较简单的平台跳跃类游戏

2.给Tilemap添加collider

 ①问题场景:绘制的地图本质上还是sprite的拼接体,所以想要规定活动范围,需要添加碰撞体。但是跟普通的sprite添加碰撞体有区别的是,活动范围并不是简单的一个矩形可以包括的。

②问题解决:1)首先给Tilemap添加专用的Tilemap Collider 2D,这时候可以发现Unity给每个格子都单独添加了collider,如果直接使用,会导致角色被挤出地图

                      2)这时,可以在地图中使用的tile处,将不添加collider的tile的Collider Type改成None(注意是tile的属性,不是sprite的属性,前面给tile建了folder的话,在里面找tile)

                      3)经过2)之后现在是分的格子,每个都添加了collider。像上面图里的两个湖。但是实际上只需要外边一圈的collider就够了,多个collider会占用性能。需要给Tilemap加个Composite Collider 2D组件,然后选中Tilemap Collider 2D中的

 就实现了只保存外边一圈的collider(composite可以调属性,决定怎么将格子的collider融合成一个)

 

 小白自己做笔记用,请选择性的看,欢迎批评指正,谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值