Unity 3D 中的“屏幕位置超出视锥体”

Mag*_*nan 2 c# unity-game-engine

我正在尝试动态设置相机在场景中的位置和大小,如果我执行以下代码,则会发生错误。如果我在场景中设置属性,它会正常工作,因此错误在我的代码中

错误:屏幕位置超出视锥体(屏幕位置 959.000000、454.000000)(相机矩形 0 0 960 907)UnityEngine.SendMouseEvents:DoSendMouseEvents(Int32)

using UnityEngine;
public class CameraInt : MonoBehaviour
{
    public Camera cam1;
    private int row, col;
    private float size;
    void Start()
    {
        MazeLoader ml = gameObject.AddComponent<MazeLoader>();
        row = ml.mazeRows;
        col = ml.mazeColumns;
        size = ml.size;
        float r = row * size / 2;
        cam1.transform.Translate(new Vector3(r, 0,col*size/2),Space.World);
        cam1.orthographicSize = r;
    }
}
Run Code Online (Sandbox Code Playgroud)
  • 相机视图:正交
  • 统一版本:2019.3.13f1

Mag*_*nan 7

如果相机尺寸设置为0,则会出现错误

这行是错误的原因: cam1.orthographicSize = r;