Unity 2D背景实现



我想使用一个固定的背景。我将图像添加为camera的子元素,并调整大小以填充camera的视图。在unity播放器中看起来不错,但是当我在android设备上运行它时,背景似乎很短。我在屏幕的左右两侧看到一些空白。正字法尺寸为6.

这将定位一个平面或四边形并缩放它,使其填充屏幕。它在正字法和透视法中都有效。正版字体大小不重要。

步骤1 -在场景中创建一个平面对象。

步骤2 -将此脚本添加到创建的对象中。

步骤3 -脚本将自动调整大小和位置在附近的剪辑

using UnityEngine;
public class FillScreenPlane:MonoBehaviour
{
    public float lUnityPlaneSize = 10.0f; // 10 for a Unity3d plane
    void Update()
    {
        Camera lCamera = Camera.main;
        if(lCamera.isOrthoGraphic)
        {
            float lSizeY = lCamera.orthographicSize * 2.0f;
            float lSizeX = lSizeY *lCamera.aspect;
            transform.localScale = new Vector3(lSizeX/lUnityPlaneSize, 1,lSizeY/lUnityPlaneSize);
        }
        else
        {
            float lPosition = (lCamera.nearClipPlane + 0.01f);
            transform.position = lCamera.transform.position + lCamera.transform.forward * lPosition;
            transform.LookAt (lCamera.transform);
            transform.Rotate (90.0f, 0.0f, 0.0f);
            float h = (Mathf.Tan(lCamera.fov*Mathf.Deg2Rad*0.5f)*lPosition*2f) /lUnityPlaneSize;
            transform.localScale = new Vector3(h*lCamera.aspect,1.0f, h);
        }
    }
}

最新更新