728x90
카메라의 사이즈에 딱 맞는 Edge Collider를 만들어주는 코드입니다. 카메라내에 오브젝트가 카메라 밖으로 나가면 안되는 경우 유용합니다.
public class CameraEdgeCollider : MonoBehaviour
{
private EdgeCollider2D ec;
private void Awake()
{
ec = this.GetComponent<EdgeCollider2D>();
if (ec == null)
{
ec = this.AddComponent<EdgeCollider2D>();
}
var camera = Camera.main;
var lb = (Vector2)camera.ScreenToWorldPoint(new Vector3(0.0f, 0.0f, camera.nearClipPlane));
var lt = (Vector2)camera.ScreenToWorldPoint(new Vector3(0.0f, camera.pixelHeight, camera.nearClipPlane));
var rt = (Vector2)camera.ScreenToWorldPoint(new Vector3(camera.pixelWidth, camera.pixelHeight, camera.nearClipPlane));
var rb = (Vector2)camera.ScreenToWorldPoint(new Vector3(camera.pixelWidth, 0.0f, camera.nearClipPlane));
var edgePoints = new[] { lb, lt, rt, rb, lb };
ec.points = edgePoints;
}
}
728x90
반응형
'Unity > Code Snippet' 카테고리의 다른 글
Unity Camera Shake Effect (0) | 2023.03.18 |
---|