使用 2D 图块地图附加功能创建动画图块
验证环境
- 窗户
-
- 视窗 11
- 统一编辑器
-
- 2021.3.3f1
- 输入系统包
-
- 1.3.0
此提示的先决条件
作为此提示描述的前提,已预先进行了以下设置。
此提示的先决条件是什么?
关于借用地图材质
它是从以下网站借来的。 仅使用上面的一行。
关于动画磁贴
玩使用地图芯片的游戏时, 即使原地停下脚步,也经常会看到瀑布流动、火光闪烁等动画地图芯片。 尽管实现方法可能有所不同,但这些都是通过动画磁贴在 Unity 中实现的。
MapChips中的许多动画似乎是通过定期在多个MapTips之间切换而移动的。 还有一些通过逐像素处理进行动画处理的那些,以及通过更改纹理坐标进行动画处理的那些。 我们这次要做的动画,就是通过切换地图芯片来实现的。
为动画切片准备地图提示
这一次,我们将准备以下地图芯片,并通过切换地图芯片来动画波浪的运动。
拆分动画图块的地图芯片
创建项目后,将刚刚创建的MapChip放入项目中并进行分割。 这里的解决方法与瓦片地图的解释相同,因此我将仅发布图像。
您还不需要将其添加到磁贴调色板。
添加动画磁贴
从项目中选择“创建 -> 2D -> 磁贴”-> 动画磁贴“以添加它。
名称可以是任何内容。 您不会在其他任何地方使用此名称。
选择您创建的动画磁贴以切换检查器。 将地图提示放入此矩形框架中。
您可以单独删除切片,但如果删除拆分源,则可以批量注册拆分的 MapChip。
添加地图提示,它将看起来像图像。 否则,动画磁贴的创建到此结束。
添加到磁贴调色板
创建磁贴调色板。 如果没有平铺调色板选项卡,请从菜单中的“窗口 -> 2D -> 平铺调色板”中显示它。 调色板的名称可以是任何内容。 如果在创建游戏时需要多个调色板,请使其易于理解。
切片调色板设置是在“场景”文件夹中的新 SeaPalette 文件夹中创建的。 文件夹名称和位置是任意的。
创建切片调色板后,添加地图提示。 在普通图块地图中,我们放置了一个拆分地图提示,但这次我们将放置动画图块。
放置时,仅显示一个芯片,但在动画瓷砖的情况下,这就是您所需要的。
放置地图提示(动画切片)
将磁贴映射到层次结构,就像添加磁贴地图一样。
选择“磁贴图”以在视图中显示网格。
让我们在这里放置一个地图提示。 从调色板中选择一个动画磁贴。
将其放置在视图中。 它看起来与普通地图芯片没有什么不同。
如果你实际上不移动它,它就不会被动画化,所以让我们运行它。
如果运行它,您可以看到地图提示每 1 秒切换一次并设置动画。 通过这种方式,无需创建程序即可轻松实现仅具有扩展功能的MapTip动画。
其他设置
更改动画速度
默认情况下,地图提示切换间隔为 1 秒。 例如,如果要每 0.5 秒更改一次:
选择添加到层次结构的拼贴图时,检查器中的拼贴图组件具有“动画更新速率”,您可以在此处更改该速率。
这个数字是“1秒内切换多少次”的次数,所以如果你在0.5秒内切换,你会在1秒内切换两次,所以设置“2”。
尝试运行它,看看动画速度是否发生变化。
随机化每个地图片的动画时间
对于相邻的地图芯片(例如海边或瀑布的流动),最好具有相同的动画间隔,但您可能希望更改每个对象的动画时间,例如闪烁的火焰。 在这种情况下,您可以随机化时间或更改起始位置。
选择“动画磁贴”并查看检查器的底部以查看一些设置。
最小速度和最大速度可以指定为每秒要切换的张数的上限和下限。 放置的地图提示将使用这些随机数之一进行动画处理,因此,如果您放置多个地图,则每个地图将以不同的速度进行动画处理。
例如,如果将最小值运行为 1,将最大值运行为 2,则可以看到它们将以随机速度进行动画处理。
顺便说一句,由于它是在十进制级别随机确定的,因此不太可能是相同的速度。
“开始时间”和“开始帧”指定了动画的起始地图提示位置,但我认为它们使用不多。 “对撞机类型”是一个不同的处理故事,所以我会省略它。
设置每种地图提示类型的动画时间
例如,您可能希望每 1 秒切换一次波浪的运动,但您希望每 0.5 秒切换一次瀑布的流量。 这可以如前所述设置,“最低速度”和“最大速度”。 如果将最小值和最大值设置为不同的值,它们将是随机的,因此,例如,如果要将开关速度设置为 0.5 秒,如果将最小值和最大值设置为 2,它们都将加倍。