我在团结中编写了一个2D游戏,并希望根据设备的宽高比强制正交相机的视锥体仅在右侧进行更改,左/下设置为0,0
即:我喜欢相机的Y截头体的边界在底部为0,在顶部为10。这很容易,我已经通过将相机的位置移动到5并将相机尺寸设置为5来完成它(我假设它已经工作了)。 (也就是说,我没有真正的理由为什么我已经去了10,这看起来像一个圆形数字......)
当场景启动时,我想移动相机的X截头体,使左边为0,右边是宽高比要求的任何东西:取决于4:3到16:9之间的距离在设备上。这很好地意味着设置我假设的相机的翻译,但是如何获得宽高比,然后计算它应该是什么,我感到很失落?
答案 0 :(得分:1)
......这就是答案:
Vector3 pos = new Vector3(5.0f * Camera.main.aspect, 5.0f, -10.0f);
Camera.main.gameObject.transform.position = pos;
我在Start()函数下弹出了我的main.cs脚本。 5.0f是我的2d camera'a ogrogonalSize的高度的一半(如上面的问题中所述),并且-10.0f是2D游戏中主摄像机的默认z位置。