Unity中的Canvas和Dialogue结构

时间:2016-07-14 02:02:49

标签: c# unity3d

我正在制作一个游戏,玩家可以通过一个标志游戏对象,如果它们足够接近它,它将创建一个对话。

现在我的问题是,在结构上有一个更好的想法是预制每个标志GameObject都有一个画布(World Space?)作为一个孩子,其中创建的对话将被放置为一个孩子画布GameObject?

拥有1张World Canvas,我将所有符号GameObjects放在一个孩子身上,并且创建的对话只是我的游戏对象的孩子吗?

目前我正在使用后者,但我想挑选几个脑筋,看看我在做什么,甚至是处理你可能遇到的随机对话的最简单方法。这也可用于许多事情,例如走到NPC并尝试与之交谈。我问这个的原因是因为我使用后者我的层次结构被抛到了一点,因为我在每个场景中都非常有条理但现在我发现自己只是在这个World Space Canvas GameObject下移动某些GameObjects而且它可能只是我的非专业知识,但它似乎不对,我做错了,有一种“正确”的方式来处理这样的事情。

1 个答案:

答案 0 :(得分:1)

这是一个简单的事情,有很多对象或更复杂和最小化的问题。

如果您还没有数千个游戏对象,那么我会推荐每个对象的UI。它使事情变得更简单。以一个真实的例子来考虑它,你认为它比每个人在需要时使用自己的标志更好,或者你应该只带一个标志并在有人需要时传递它。此外,是否有任何时候可以同时显示两个标志?

总而言之,我会在预制件上添加一个标志,每个人都有自己的标志。