【发布时间】:2017-11-30 01:32:00
【问题描述】:
我正在努力想出一种聪明的方法来处理我的 2D 游戏中的过场动画。我想我已经决定使用Animator 创建/控制过场动画,并移动实际的游戏对象。
我正在苦苦挣扎的是:
这种方法意味着每个GameObject 都需要自己的Animator。那么我该如何触发正确的过场动画呢?我将使用游戏阶段来控制游戏及其进度,例如:
if(gameStage == 34 && entering scene castle)
{
playCorrectCutscene();
}
如何以及在哪里保留对所有过场动画的引用?假设我在一个场景中有 22 个 NPC,其中 15 个有自己的Animator,因为他们有过场动画,我该如何播放来自 NPC_11 的动画?
我想我正在寻找某种“过场动画管理器”。最好的解决方案是为每个带有 ID 的过场动画(动画)设置一个 List。然后我可以使用 ID 播放正确的动画。但由于每个动画都存储在实际的GameObject 中,我不知道这是否可能。
希望我说得通。
【问题讨论】:
-
您可以将每个过场动画创建为预制件,并为其提供一些参考名称,然后实例化您需要的预制件 - 如果您有很多过场动画,您将节省大量内存。
-
@RafalZiolkowski 我认为您应该将其作为答案。将所有游戏对象制作为预制件,并使用资源或资产包loading 它们应该这样做。
-
@Programmer - 回家后我会做的,包括代码示例 - 我在日常工作中并不完全是统一开发人员 :)
-
没问题。当你这样做时会回来检查。
-
@RafalZiolkowski 过场动画的动画会在您的意思是预制件内吗?是的,一个代码示例会很棒!