2D 游戏工具系列:unity自带Tilemap和地图编辑器Tiled的基本使用以及Super Tiled2Unity如何导入tmx到Unity中(3)

您所在的位置:网站首页 unity地图导出图片 2D 游戏工具系列:unity自带Tilemap和地图编辑器Tiled的基本使用以及Super Tiled2Unity如何导入tmx到Unity中(3)

2D 游戏工具系列:unity自带Tilemap和地图编辑器Tiled的基本使用以及Super Tiled2Unity如何导入tmx到Unity中(3)

2023-08-16 04:49| 来源: 网络整理| 查看: 265

地图已经制作好了,现在需要把地图导入到unity中了,一般使用的是老版的Tiled2Unity,但是这个插件现在作者不在更新了,取而代之的是Super Tiled2Unity ,两个的使用方法还是很不一样的,Tiled2Unity的使用教程比较多,这里就不在阐述了。这篇重点是关于Super Tiled2Unity这个插件如何使用,因为这个插件比较新,所以目前相关的资料教程等还是比较少的,就是Google和油桶上面相关的教程和视频也不多,所以前面我在使用的时候遇到一堆的坑,累觉不爱啊!现在把使用方法和经验和大家分享,一起交流,好了,下面进入正题。

首先是这款插件的下载地址,https://seanba.com/supertiled2unity.html,这款软件是免费的,如果使用后感觉不错的话也可以支持一波,具体操作如下,点击No thanks后即可下载。在这里插入图片描述 下载后是一个unity的package包的格式,直接双击就可以安装到unity里面了,安装后会有一个SuperTiled2Unity的文件夹,打开后应该这样的,在这里插入图片描述 ok,正式开始导入,顺便说一下,目前这个插件文档的内容不多,作者还在更,有些问题文档里面没有,只能先忽略了。 在setting的imspector面板参数里,其他的先不管,需要注意的是Default Pixels Per Unit,默认是100,如果不做任何改动,直接导入地图,会发生什么呢? 在这里插入图片描述 导入地图后,能明显看到地图的比例不对,放到unity下缩小了很多,旁边的绿色块是用调色板点的大小为一个网格的Tile,用于对比。然后在仔细观察地图在Inspector面板下Grid的 Cell Size参数,发现显示是0.16,而unity自己的Grid的Cell Size是1。出现这个问题因为unity的Grid尺寸和Tiled编辑器的Gird尺寸默认大小不同吗?并不是的,Grid的尺寸是一样的,是其他参数的变化导致大小不同。 在这里插入图片描述 在这里插入图片描述 还记得Tiled编辑器下默认的地图大小和像素吗?默认是25块25块,块像素是1616,块大小为16像素。这个块大小是非常重要的,就是这个参数导致比例出错,再次点击SuperTiled2Unity下的setting,关注Default Pixels Per Unit这里, 在这里插入图片描述 Default Pixels Per Unit 简单翻译为“默认块大小”,这样好理解,。当前地图的块大小是16,在通过SuperTiled2Unity插件导入到unity的时候,插件的块大小默认参数是100,两个的参数不一致,于是就发生了比例缩放不对的问题,被缩小到16/100,也就是Grid面板的0.16。这个时候可以通过调节Transform下的scale调节回正常大小,那Scale应该调为多少呢?是6.25倍,为什么是6.25倍不是其他数字呢?我们想一下,地图块大小是16像素,插件转换后的块大小为100相熟,那么原来的块像素应该乘以多少可以达到块像素为100呢,答案就是6.25倍,调节好后就正常了,下图地图左侧的花是用的是unity的Tilemap填充的,对比后发现网格大小是一样的,说明放大的倍数是正确的。 在这里插入图片描述 即使在手动调物体的scale后地图也不是我们期待的可以使用的状态,点击地图,发现地图下有3个子物体,2个图像层和1个对象层,就是之前在Tiled编辑器下创建的“地板层”,“物体层”和“碰撞层”,点击碰撞层观察全部的碰撞框,发现矩形的碰撞框正常,但是多边形碰撞框只集中在一点,没有跟着放大。其实已经是放大了,但是并没有改动到,需要去手动调一下,调起来也麻烦。也不推荐这种改scale的骚操作,下面我们来正确地导入地图。 在这里插入图片描述 首先把setting的Default Pixel Per Unit 调整为地图的块大小16,点击颜色下的Apply按钮,然后先导入tmx格式的地图(当前是示范,直接放在目录下,也可以创建文件夹存放),导入后在inspector面板会报错,错误信息是Missing Tileset asset,因为我们还没有导入tsx的图集块信息。在这里插入图片描述 然后导入图集块tsx到相同位置,记得是制作地图用的tsx图集,而不是其他不相关的tsx文件,导入后在inspector面板显示报错,Missing texture asset,并会提示缺失的png信息,包括名称和路径。 在这里插入图片描述 最后一步就是把缺失的png导入进去,缺失的png是制作图集块的那张图片,这样就全部搞定了。png,和用png制作的图块集,以及用这个图块集制作的地图。3个文件导入完后,就可以把地图拖到Hierarchy面板开始使用了,这个时候地图的Grid的Cell Size是1,和unity的一样,碰撞框以及显示也是正常的,大功告成。在这里插入图片描述 整个流程操作下来是不是感觉有点繁琐,就导入一张25*25的小地图,又是图集块,又是原始png图片,是不是每张小地图都要导入地图,导入tsx图集,再导入png这样操作,如果是的话,也没有多方便啊?其实是不需要的,导入的图集和png是作为asset(资源)在起作用的,之后使用这张tsx图集制作出来的地图,只要把地图自身导入到unity就可以了,不需要重复上述操作,下图的第二张地图是在同一张图集块制作,直接导入即可。 在这里插入图片描述 最后,在制作地图时,对原始png和图集块tsx都要注意保存并且不要随意改动位置,改动位置后有可能出现需要导入png时,导入之后依然提示没有png的情况。以及一些奇奇怪怪的其他问题,注意一下就好。以上就是如何使用SuperTiled2Unity插件导入地图到Unity的全部内容了。如果有错误地方,欢迎指正,欢迎大家留意,886!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3