Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 统一程序TileMap生成,无需为每个tile创建游戏对象_Unity3d - Fatal编程技术网

Unity3d 统一程序TileMap生成,无需为每个tile创建游戏对象

Unity3d 统一程序TileMap生成,无需为每个tile创建游戏对象,unity3d,Unity3d,我一直在互联网上搜索,寻找一种高效的方法来创建程序化的tilemap,而不必为每个tile创建游戏对象。没有,或者只是我找不到,因为我真的不知道如何搜索它。我找到的所有TileMap教程都是通过创建数百个游戏对象来创建Tile的。因此,统一中的等级正在不可控地扩展 我很确定这不是一个“正确”的方法。尤其是在看到支持tilemaps的新Unity 2D工具之后。Unity做到了这一点,您可以在“一个”游戏对象中创建磁贴,而不是为每个磁贴创建磁贴 如何以正确的方式执行此操作?鉴于“创建有效的tile

我一直在互联网上搜索,寻找一种高效的方法来创建程序化的tilemap,而不必为每个tile创建游戏对象。没有,或者只是我找不到,因为我真的不知道如何搜索它。我找到的所有TileMap教程都是通过创建数百个游戏对象来创建Tile的。因此,统一中的等级正在不可控地扩展

我很确定这不是一个“正确”的方法。尤其是在看到支持tilemaps的新Unity 2D工具之后。Unity做到了这一点,您可以在“一个”游戏对象中创建磁贴,而不是为每个磁贴创建磁贴

如何以正确的方式执行此操作?

鉴于“创建有效的tilemap”这一唯一任务,您最好的选择是创建一个
tilemap
组件,该组件管理由一组独立四边形组成的程序网格,UV映射到瓷砖图集。这样,您甚至可以在一次drawcall中绘制整个地图

你需要知道一两件关于网格如何工作和纹理的事情。这很简单,如果你不知道但对它很好奇。在图图中,网格上的每个四边形共享顶点,但为此,您需要独立的四边形,以便正确地对它们进行纹理处理。

鉴于唯一的任务是“创建有效的瓷砖贴图”,最好的选择是创建一个
TileMap
组件,该组件管理由一组独立四边形组成的程序网格,其中UV映射到瓷砖图集。这样,您甚至可以在一次drawcall中绘制整个地图


你需要知道一两件关于网格如何工作和纹理的事情。这很简单,如果你不知道但对它很好奇。在图图中,网格上的每个四边形共享顶点,但为此,您需要独立的四边形,以便正确地对它们进行纹理处理。

您已将此交叉发布到两个SE站点。选择一个。如果你使用纹理地图集,那么拥有许多对象应该不是什么大问题。即使你有10000块瓷砖,它仍然是一个平局。我认为拥有一个单一的游戏对象可能会使调试变得困难,并且会失去编辑器的一些功能。我会说,把效率留到问题出现的时候。这可能永远不会成为问题。当然,除非你只是想学习新技术,否则Emilio有一个很好的答案。你已经在两个SE网站上交叉发布了这个答案。选择一个。如果你使用纹理地图集,那么拥有许多对象应该不是什么大问题。即使你有10000块瓷砖,它仍然是一个平局。我认为拥有一个单一的游戏对象可能会使调试变得困难,并且会失去编辑器的一些功能。我会说,把效率留到问题出现的时候。这可能永远不会成为问题。当然,除非你只是想学习新技术,否则埃米利奥有一个很好的答案。谢谢你的回答,我已经学会了,甚至成功地制作了一些原型。这正是我想要的。但我一直在努力制作瓷砖的动画。我心里有一个解决方案,但我不确定它是否合乎逻辑和有效。所以我在这里问了另一个问题,如果你想查看它,链接在这里再次感谢你的帮助^^谢谢你的回复,我已经了解了,甚至成功地制作了一些原型。这正是我想要的。但我一直在努力制作瓷砖的动画。我心里有一个解决方案,但我不确定它是否合乎逻辑和有效。所以我在这里问了另一个问题,如果你想查看,链接在这里,再次感谢你的帮助^^