如何创建响应式场景

时间:2015-02-02 08:28:27

标签: c# unity3d unityscript

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

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

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

3 个答案:

答案 0 :(得分:1)

单独的设备没有单独的场景。您可以使用Screen对象检查显示的高度和宽度。然后,您可以使用它将相机的正交尺寸设置为使所有内容按预期显示的内容。

答案 1 :(得分:1)

所有关于设置Anchors的权利。 如果您正在使用新的UI系统,请确保将对象锚定在您希望的位置,这就是您实现分辨率独立性的方式。

有关锚定的详细信息,请参阅this tutorial

答案 2 :(得分:0)

更新:我误解了你的问题,你说GameObject,我理解用户界面。

请检查this。我的游戏中没有这个问题。但是,当我尝试使用mac或Windows机器时,它是有问题的。所以也许这可以解决。 其他解决方案更常见,您和Agumander说,更改orthographic size的{​​{1}}。

这是针对用户界面

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

Unity UI具有基于像素的解决方案,对于许多密度和分辨率选项非常有用。例如,它具有CameraVerticalLayoutGroup,可以轻松地进行元素搜索等列表。

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