【Unity】解决Tilemap碰撞常见问题
- 写在前面的话
- 前置条件(阅读以下内容需要掌握的知识)
- 1、碰撞问题
- 2、跑动中出现“蓝(或者其他背景图片颜色)线”“溜缝”的情况
- 不理解
写在前面的话
咱也不喜欢废话,图片和方法我都会特别标注出来的,方法绝对详细,并且会把各个细节标注出来。
刚开始学习Unity碰到了很多问题,由于是从实例入手,很多如果系统学习各种组件和工具的话,应该很早就解决了。
一般常见玩法需求碰到的问题蛮全的,这里统一写一篇文章,不光是做个纪录也是方便大家互相学习解决。
很不专业,真心希望专业人士提出业界专业的操作实践经验。
前置条件(阅读以下内容需要掌握的知识)
1、环境:我使用的是Unity2019.4.21f1c1(2021.4.3Unity Hub上给出的稳定版本)
应该自Unity2018.4.16c1以来的版本都能用,更早的应该可以,毕竟属于比较基础的功能。
2、素材:使用的是BiliBili M_Studio老师的Untiy2D入门系列教程中推荐使用的Sunnyland素材 可以在Unity Assets store 里面free(免费)类别中找到。
一些小的互动物体是自己画的,影响不大。
3、对Unity的基本组件有一定的了解,不是怎么了解也没有关系。
1、碰撞问题
我相信在一开始,刚写出来会动的的Character后,大家一定碰上过Player这个物体使用velocity()去运动时,甚至只是自然地下落,都会遇到卡进Tilemap(瓦片地图)的问题。
这一般来说是由于使用tilemap collider2d搭建场景的时候,对每个unit都创建了一个对应的collider2d,这样在我们的unit很多的时候,可能由于图像本身或者其他问题存在连接不畅或者“凸起”(当然这块具体原因我不清楚,只有从感性上去认知了。)导致和玩家控制的Character.collider2d之间产生“不正常”的碰撞。
那么我们就要想办法让整个tilemap成为像它的tag一样完整的碰撞体。
首先我们为tilemap2d再添加一个composite collider 2d
再把tilemap collider2d设置为Used By Composite
调整edge raidius(边缘半径)使tilemap边缘呈现细细的管状
好了,让我们测试一下效果吧。(可根据效果自行进行后续的修正。)
2、跑动中出现“蓝(或者其他背景图片颜色)线”“溜缝”的情况
比如在行动中会遇到下图中的这种情况,瓦片地图连接处出现背景图片颜色的“缝隙”
我的解决办法是:
1、
首先在Unity的Hierachy里,选择
瓦片地图的父物体(默认的话是Grid)2、
在Inspector中
把Cell Size中的X,Y 的值 改为 0.99,0.99
这样就解决了
不理解
其他问题或者可以在评论区提出,如果有什么补足还请立即指出。
谢谢你的阅读,如果帮到你,我很高兴;
如果没有帮助,那可以提出你的问题,对此表示抱歉。