如何以不同的屏幕分辨率更改平面尺寸?

时间:2014-09-06 12:25:21

标签: unity3d monodevelop

有什么方法可以修复屏幕分辨率吗? 我的意思是如果它在800x480,800x600,1280x1024,1280x720或宽屏幕上播放,相机会保持显示相同的场景,相同的高度和相同的宽度。 也许通过使对象更大,或者。

此致 Kajal

2 个答案:

答案 0 :(得分:4)

尝试这个。这个是透视相机。它会起作用。

    Camera cam = Camera.main;

    float pos = (cam.nearClipPlane + 10.0f);

    transform.position = cam.transform.position + cam.transform.forward * pos;
    transform.LookAt (cam.transform);
    transform.Rotate (90.0f, 0.0f, 0.0f);

    float h = (Mathf.Tan(cam.fov*Mathf.Deg2Rad*0.5f)*pos*2f) /10.0f;

    transform.localScale = new Vector3(h*cam.aspect,1.0f, h);

答案 1 :(得分:0)

要使对象适合不同的屏幕分辨率,请相对于屏幕分辨率缩放对象。

以下是适合相机尺寸的平面代码:

    float height = 1.724f * Mathf.Tan (0.5f * Camera.main.fieldOfView * Mathf.Deg2Rad);
    float width = height * Screen.width / Screen.height;
    Yourplane.transform.localScale = new Vector3 (width, height, 1f);