【问题标题】:how to create a responsive scene如何创建响应式场景
【发布时间】:2015-02-11 15:29:44
【问题描述】:

我目前正在使用 Unity3D 引擎创建 2D Android 和 iOS 游戏。我正在nexus 5 和iPhone 5s 设备上测试游戏。到目前为止一切正常,我对结果非常满意,但是当我在 iPad 或三星平板电脑上测试该应用程序时,我的游戏场景中的所有对象不再处于正确的位置。这是 Unity3D 中的常见问题吗?

我知道我遗漏了一些东西,但我试图做一些研究,我发现只有 改变正交相机比例可能会解决这个问题,但我发现它是大量的代码写成我的游戏不仅有一个场景,还有多个场景,每个场景都有自己的游戏对象。

还有其他方法可以解决这个问题吗?

【问题讨论】:

  • 您使用哪个版本的 Unity3D?

标签: c# unity3d unityscript


【解决方案1】:

一切都是为了正确设置锚点。 如果您使用的是新的 UI 系统,请确保将对象锚定在您想要的位置,这样您才能实现分辨率独立。

有关锚定的更多信息,请参阅this tutorial

【讨论】:

    【解决方案2】:

    不要为单独的设备设置单独的场景。您可以使用 Screen 对象来检查显示器的高度和宽度。然后,您可以使用它来将相机的正交大小设置为使所有内容都能按预期显示的值。

    【讨论】:

    • 你能提供一个例子或链接我到一些在线例子吗?
    【解决方案3】:

    更新:我误解了你的问题,你说的是 GameObject,我理解 UI。

    请查看this。我的游戏没有这个问题。但是当我用mac或windows机器尝试时,它就有问题了。所以也许这可以解决。 其他解决方案更常见,即您和 Agumander 说,将 orthographic size 更改为 Camera

    这是 UI

    您可以使用 Unity UI,无需单独使用。有这么多不同分辨率和密度的设备,你需要创建这么多场景。所以分割场景是没有意义的。

    Unity UI 具有基于像素的解决方案,这对于许多密度和分辨率选项非常有用。例如,它有VerticalLayoutGroupHorizontalLayoutGroup 用于简单的元素可视化列表。

    最重要的是:您想为不同的屏幕尺寸或分辨率更改 UI 吗?例如 iPad 有更大的屏幕,所以用户可以看到更多的内容。这改变了用户体验。也许你需要考虑这一点。

    【讨论】:

    • UI 是否采用设备的默认尺寸?即:所以如果我在 UI 画布下制作所有游戏对象,你说的不会有问题???
    • 可能会出现细微差别。但是我做了一个游戏。它看起来像 Galaxy Note Pro 2 和 Galaxy S 5-3。
    • 这个小差异对我来说是个问题
    • 所以首先我应该将我所有的游戏对象作为正交相机的子对象,然后我必须在设备分辨率上进行切换并根据分辨率设置相机尺寸,如链接中所示玩弄我?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 1970-01-01
    • 2019-08-10
    • 2017-11-23
    相关资源
    最近更新 更多