반응형
유니티에서 오브젝트가 화면 밖으로 나갔을 때 제거하는 것은 비교적 간단한 프로세스입니다. 여러 가지 방법이 있지만, 가장 일반적인 방법 중 하나는 카메라의 시야 영역을 기준으로 오브젝트의 위치를 확인하여 처리하는 것입니다.
다음은 이를 수행하기 위한 간단한 스크립트 예제입니다. 이 스크립트는 카메라의 시야 영역을 벗어나면 해당 게임 오브젝트를 제거합니다.
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);
}
}
}
이 스크립트를 게임 오브젝트에 부착하면 해당 오브젝트가 화면 밖으로 나가면 자동으로 제거됩니다. 이 스크립트는 해당 오브젝트의 위치를 카메라의 시야 영역에서의 상대적 위치로 변환한 다음, 그 위치가 시야 밖에 있는지를 확인합니다.
물론, 게임의 요구에 따라 더 세부적인 로직이나 다른 방법을 사용할 수도 있습니다.
반응형
'유니티_unity' 카테고리의 다른 글
(유니티) 월드 좌표와 스크린 좌표, WorldToScreenPoint 변환 (0) | 2024.05.12 |
---|---|
(유니티) 룰렛이 멈추는 위치의 문자열 출력하기 (0) | 2024.05.06 |
(유니티) 프리팹 Prefab: 마우스 버튼을 클릭한 자리에 프리팹 출력하기 (0) | 2024.04.09 |
(유니티) 프리팹 Prefab: 하늘에서 개구리가 떨어져요 (0) | 2024.04.04 |
(유니티) 버튼을 클릭하면 TextMeshPro에 1부터 100까지 합을 출력해 보자 (0) | 2024.03.30 |