Unity中的移动世界规模?

问题描述 投票:0回答:1

我正在尝试在统一引擎中使用android应用,但是我遇到了世界上的游戏对象无法随设备扩展的问题。 Unity提供了各种有关UI缩放的教程,并且我的UI可以很好地缩放,但是我没有看到关于Unity这样的任何文档。

对于上下文,该游戏是一种非常简单的益智类游戏,您可以通过在屏幕上轻击来扔一个球,然后该球从物体上反弹而达到目标。

对不起,我的绘画能力很差,但我认为这是事态发展的最好例证。

我为Galaxy Note 10设计了设备缩放比例,看起来不错:

enter image description here

但是当我在较小/较旧的设备上玩游戏时,由于所有内容太大,您看不到游戏中发生了什么:

enter image description here

并且在更大的设备(如平板电脑上,事情变小了:

enter image description here

我如何根据不同的分辨率和宽高比来缩放我的世界,但要确保对象之间的距离相同,所以如果我在所有设备上向同一方向发射的球会反弹到相同位置的对象并命中还是在所有设备上都以相同方式错过目标?

c# android ios unity3d scale
1个回答
0
投票

我会尝试基于游戏UI,但由于您是在3D空间中工作,因此会稍微复杂一些。我要做的是放置对象,使其适合您的测试设备视口,然后记下屏幕的宽度和高度。在附加到所有对象的脚本中,使用这种算法,

transform.position.y = transform.position.y*(Screen.height/test_height)
transform.position.x = transform.position.x*(Screen.width/test_width)

这应该获得一个随屏幕缩放的值。同样,世界空间中的0,0也必须位于相机中央。该代码未经测试,所以我不知道它是否有效。如果您查看某人评论的资产的评论,则会发现此

在Unity 2018.2及更高版本中,您现在可以在任何摄像机上勾选“物理摄像机”框,并将门适合度设置为“过扫描”。然后,只需确保传感器尺寸为16:9,或者无论您的“参考宽高比”如何。您也可以根据需要尝试其他闸门配合。

我尚未检查是否可行,但是我会尝试两种方法。

© www.soinside.com 2019 - 2024. All rights reserved.