WinCNT

Picking 본문

Picking

 

3D 게임에서 뭔가를 집으려면?

 

2D의 경우

마우스 위치와 스크린의 해상도가 일치함

즉 좌표계가 1:1로 대응하므로 쉬움

 

3D의 경우

3D에서는 프러스텀, 보이는 영역 안에서 집는 것

Near, Par로 봐도 되고, 카메라의 전방 벡터로 해도 되고...

 

Picking Ray

피킹 지점에서 레이를 쏴서 집는다

깊이에 따라 여러 개가 교차 가능하며

보통은 카메라와 거리 계산을 통해 가장 가까운 것을 잡도록 한다

 

계산

Screen 좌표계 -> NDC

여기서 Near-Far 반직선을 구함

 

NDC -> World

월드 공간에서 교차를 구하면 된다

 

주의점들

직접 구현할만한 것은 Shere와 AABB정도라고 한다

OBB는 상당히 복잡한듯...

(함수 쓰자)

 

SSS

'게임 프로그래밍(학습 내용 정리) > 3D Game Programming' 카테고리의 다른 글

깊이 버퍼(Depth Buffer)  (0) 2022.05.18
Normal Mapping  (0) 2022.05.06
Skinning  (0) 2022.04.29
Animation2  (0) 2022.04.27
Animation  (0) 2022.04.19