【发布时间】:2021-09-06 09:02:20
【问题描述】:
我们如何设置一定大小的单位来定义纵向模式下相机正交尺寸的宽度?
我想为任何移动设备将水平尺寸设置为 5 米 正好 从屏幕的左中到右中?我怎样才能做到这一点?我从视频剪辑中找到了这段代码,但我不明白,我认为它对我没有帮助,因为我没有游戏场,而且我的游戏世界将在游戏过程中自动生成(它是一个无限的 2D 滚动游戏)。
[SerializeField] private SpriteRenderer gameField;
void Start()
{
float screenRatio = (float)Screen.width / (float)Screen.height;
float targetRatio = gameField.bounds.size.x / gameField.bounds.size.y;
if (screenRatio > targetRatio)
{
Camera.main.orthographicSize = gameField.bounds.size.y / 2;
}
else
{
float differenceInSize = targetRatio / screenRatio;
Camera.main.orthographicSize = gameField.bounds.size.y / 2 * differenceInSize;
}
}
我不知道为什么 unity 不能自动处理这些问题?
【问题讨论】:
-
所以您实际上想要存档所有屏幕尺寸的所有玩家都可以看到游戏的相同部分?
-
@DanielM,是的,正好 5 米。
-
您是设置等轴测图还是侧平视图?
-
@joreldraw,简单的正交投影。
标签: unity3d 2d orthographic