将该脚本挂载到拥有BoxCollider组件的GameObject上,设置包围盒的大小范围即可限制主相机的移动范围
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| using System.Collections; using System.Collections.Generic; using UnityEngine;
public class MoveRange : MonoBehaviour {
private Vector3 boxSize; private Vector3 boxCenter; private Vector3 min; private Vector3 max; private void OnEnable() { boxSize = transform.GetComponent<BoxCollider>().size; boxCenter= transform.GetComponent<BoxCollider>().center; min= transform.position + boxCenter- boxSize* 0.5f; max= transform.position + boxCenter+ boxSize* 0.5f; } private void Update() { Vector3 cameraP = Camera.main.transform.position;
if (cameraP.x < min.x) { cameraP.x = min.x; } else if (cameraP.x > max.x) { cameraP.x = max.x; }
if (cameraP.y < min.y) { cameraP.y = min.y; } else if (cameraP.y > max.y) { cameraP.y = max.y; }
if (cameraP.z < min.z) { cameraP.z = min.z; } else if (cameraP.z > max.z) { cameraP.z = max.z; }
Camera.main.transform.position = cameraP ; } }
|