Camera View 안에 있는 Object 구분하기
Unity에서 Camera의 View안에 포함되어있는 오브젝트를 판단해야 할 상황에서 사용이 가능한 코드이다.
간단하게 설명하면 해당 오브젝트들이 카메라안에 있는지 여부를 판단해 준다.
코드를 보면 간단하게 체크해야하는 오브젝트를 Camera의 ViewPoint로
변환 값이 0~1 사이에 포함되어있는지 판단하는 코드이다. distance(z) 도 체크가 잘된다.
반응형
public class CameraViewObject : MonoBehaviour
{
[SerializeField]
private List<GameObject> findList = null;
private Camera cam;
void Start()
{
cam = UnityEngine.Camera.main;
}
// Update is called once per frame
void Update()
{
for (int i = 0; i < findList.Count; i++){
Vector3 viewPos = cam.WorldToViewportPoint(findList[i].transform.position);
if (viewPos.x >= 0 && viewPos.x <= 1 && viewPos.y >= 0 && viewPos.y <= 1 && viewPos.z > 0)
{
Debug.Log($" Camer in Object : {findList[i].name}");
}
}
}
}
스택 오버플로우 : [링크]
★☆☆☆☆
반응형
'개발 > 코드' 카테고리의 다른 글
Unity) 값 변경시 상시 변경(Value Change Action) (0) | 2022.01.20 |
---|---|
코드) 모든 조합의 경우의 수 구하기 (0) | 2021.12.23 |
코드) Switch Value 조건 범위 설정 (0) | 2021.03.16 |
코드)정규식(Regex) 예제 (1) | 2021.03.12 |
Unity)앱 종료 처리 코드 (0) | 2021.02.25 |
댓글