유니티_unity
(유니티) 오브젝트가 화면 밖으로 나가면 삭제하기
코딩ABC
2024. 4. 9. 17:13
반응형
유니티에서 오브젝트가 화면 밖으로 나갔을 때 제거하는 것은 비교적 간단한 프로세스입니다. 여러 가지 방법이 있지만, 가장 일반적인 방법 중 하나는 카메라의 시야 영역을 기준으로 오브젝트의 위치를 확인하여 처리하는 것입니다.
다음은 이를 수행하기 위한 간단한 스크립트 예제입니다. 이 스크립트는 카메라의 시야 영역을 벗어나면 해당 게임 오브젝트를 제거합니다.
using UnityEngine;
public class ObjectRemover : MonoBehaviour
{
private Camera mainCamera;
void Start()
{
mainCamera = Camera.main; // 게임에서 메인 카메라 가져오기
}
void Update()
{
Vector3 viewPos = mainCamera.WorldToViewportPoint(transform.position);
// 시야 영역을 벗어나면 제거
if (viewPos.x < 0 || viewPos.x > 1 || viewPos.y < 0 || viewPos.y > 1)
{
Destroy(gameObject);
}
}
}
이 스크립트를 게임 오브젝트에 부착하면 해당 오브젝트가 화면 밖으로 나가면 자동으로 제거됩니다. 이 스크립트는 해당 오브젝트의 위치를 카메라의 시야 영역에서의 상대적 위치로 변환한 다음, 그 위치가 시야 밖에 있는지를 확인합니다.
물론, 게임의 요구에 따라 더 세부적인 로직이나 다른 방법을 사용할 수도 있습니다.
반응형