0325 2D 스크린 피킹 과정

(중요) 2D 스크린 피킹 과정

2D스크린 피킹은 다음과 같다.
    1. 마우스 좌표 얻기
    2. 마우스 좌표에서 (size / 2) 빼기
    3. 그 좌표와 viewMatrix의 역행렬을 곱하기
    4. 나온 결과의 y를 뒤집기
    5. 월드 공간으로 변환 완료

그런데, 게임엔진의 경우,
윈도우 안의 월드 에디터가 있기 때문에,

    현재 마우스 좌표를 
        월드 에디터의 topleft를 하한선으로,
        월드 에디터의 bottomright를 상한선으로 정한 다음,

        ((마우스좌표 - 하한선) / (상한선 - 하한선)) 
            이러면 [0 ~ 1]의 범위가 나오는데, 

        이 범위에다가 
            월드 에디터의 size를 곱한다음
            위의 과정을 거치면 된다.
또한, 버튼 충돌 감지를 하고싶다면,
    AABB로 하면 안된다. 
    버튼은 회전 안해도, 
    카메라가 회전했을 수 있기 때문에
    버튼 기준 월드 포지션 기준으로 
    정점을 만든 다음 모델 매트릭스를 곱해서
    4개의 새 정점을 구하고,

    OBB vs Point 를 한다.
    물론, Point는 위의 "월드 기준 마우스 위치"여야 한다.