【问题标题】:Selection of Canvas or Panel or Scene for UI in Unity在 Unity 中为 UI 选择画布或面板或场景
【发布时间】:2017-10-13 01:43:26
【问题描述】:

我正在使用 unity 制作 iOS 应用程序。 我们为 UI 元素提供了 3 个选项,例如按钮、用户输入文本和图像、徽标显示等。

我的 iOS 应用中有大约 8 个页面。第一个页面是用户登录,第二个页面是不同游戏关卡的选择按钮,第三个页面是显示之前的结果等等。

我正在制作 UI 页面,我想知道根据游戏的响应选择哪个选项。由于这是我使用 Unity 的第一个应用程序,我希望听取专家的意见。

以下哪些选项最适合游戏响应和统一设计。

(1)所有页面都是针对不同的场景设计的,我将有8个场景。每个场景都有自己的 UI 元素。

(2)一个场景,但不同页面的不同画布。因此,每个画布对于不同的页面都有自己的 UI 元素。

(3)一个场景,一个画布,但不同页面的不同面板。因此,每个面板对于不同的页面都有自己的 UI 元素。

什么是我的应用的最佳选择? 如果有人讨论不同选项的优缺点,那就太好了。

【问题讨论】:

  • 选项 1. Unity 在从场景切换到场景时可以释放内存。
  • 我个人使用选项 3。并使用 iTween 或任何您可以使用的方式在面板之间进行交易,这给了我的面板滑动效果。但是如果资源太多,选项 3 将需要一些时间来加载。加载完成后一切正常

标签: ios iphone unity3d


【解决方案1】:

我主要使用 1 和 3 的组合或仅使用 3。

在不同场景之间传递数据比在同一场景内的游戏对象之间传递数据更困难(即需要在卸载场景时不会被销毁的静态成员/持久数据/游戏对象)。

在单一场景选项中,处理游戏状态变得更加复杂(即哪些游戏对象在游戏流程的不同阶段处于活动状态和可见)。

使用单一场景选项制作过渡效果更容易,尤其是在两个视图同时可见的情况下。

【讨论】:

    【解决方案2】:

    我会选择 2 号,因为您可以停用不相关的画布并仅绘制当前活动的画布。这将比选项 3 性能更高,并且比选项 1 提供更平滑的过渡。如果您的内存不足,则将场景分成两半,等等。只有 8 个页面,您的状态机听起来不会太困难管理。您可以在此处阅读有关画布性能的信息:https://unity3d.com/learn/tutorials/topics/best-practices/fill-rate-canvases-and-input?playlist=30089

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-04
      • 1970-01-01
      • 2018-10-15
      • 2013-11-16
      • 1970-01-01
      • 2019-04-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多