x y z 값이 화면상에 보이는 좌표인지 확인하는 방법이 있는지 궁금합니다.
기본적으로는 그냥 알아낼 수 없고 행렬 변환을 해서 값을 알아내야 할겁니다.
xyz값을 월드*뷰*프로젝션 까지 계산해 내면 XY좌표가 -1~1이었던가? 그 사이의 값이어야 화면 안에 들어가더라구요
뭐 이건 제가 개인적으로 알아낸 방법일 뿐이고, 보통은 프로스텀 컬링인가 하는 기법을 많이 쓰더라구요
행렬을 통해서 위,아래,좌,우측의 평면을 얻어낸 뒤 각 평면의 앞면에 존재하는지 뒷면에 존재하는지 평면방정식을 적용해서
모든 방향 평면의 안쪽에 존재하면 화면에 보이는 거고, 바깥에 존재하면 화면에 안보이는 겁니다. 중심좌표 만으로는 화면에 안보이는지 보이는지 정확하게 알 수 없으니깐 여기에 오브젝트 정중앙의 중심점 기준으로 충돌구를 설정해서 충돌 체크를 해가지고
보이는지 여부를 판단하곤 합니다.
로그인 유지
기본적으로는 그냥 알아낼 수 없고 행렬 변환을 해서 값을 알아내야 할겁니다.
xyz값을 월드*뷰*프로젝션 까지 계산해 내면 XY좌표가 -1~1이었던가? 그 사이의 값이어야 화면 안에 들어가더라구요
뭐 이건 제가 개인적으로 알아낸 방법일 뿐이고, 보통은 프로스텀 컬링인가 하는 기법을 많이 쓰더라구요
행렬을 통해서 위,아래,좌,우측의 평면을 얻어낸 뒤 각 평면의 앞면에 존재하는지 뒷면에 존재하는지 평면방정식을 적용해서
모든 방향 평면의 안쪽에 존재하면 화면에 보이는 거고, 바깥에 존재하면 화면에 안보이는 겁니다. 중심좌표 만으로는 화면에 안보이는지 보이는지 정확하게 알 수 없으니깐 여기에 오브젝트 정중앙의 중심점 기준으로 충돌구를 설정해서 충돌 체크를 해가지고
보이는지 여부를 판단하곤 합니다.