카메라이동

2D, 3D, 다각형, 픽셀 등 게임의 그래픽 프로그래밍에 관한 포럼입니다.

Moderator: 류광

Locked
비회원

카메라이동

Post by 비회원 »

Image

카메라를 이동하고 나면 다음과 같은형상이 나옵니다.

이거 해결할려면 메쉬고정해야될까요.?
express8
Posts: 253
Joined: 2005-05-19 13:31
Location: eppengine
Contact:

Post by express8 »

매트릭스의 각 요소들을 정규화 해 주던지 혹은

fov 를 줄이면 해결 될 듯 하네요.
차세대 멀티플랫폼 게임엔진 eppengine
(피바다 엔진3.0 )

http://www.eppengine.com
비회원

fov를 줄여도 같습니다.

Post by 비회원 »

..
suma
Posts: 160
Joined: 2005-02-21 09:32

음.. 보이기에는 Perspective Projection으로 인한 이그러짐 같은데요..

Post by suma »

머 자연스런 현상이지만 Fov를 줄이면 좀 덜해질텐데, 아니라니 이상하네요..
Orthogonal Projection으로 한 번 해보시면, 그 문제인지 아닌지 확인할 수 있을듯요..
비회원

Post by 비회원 »

Orthogonal Projection 이게 뭔가요..?

그리고 어떻게 구현해야될지..
비회원

그리고..

Post by 비회원 »

제가 나름대로 줄였다고 생각하고 줄였거든요.

fov값을 이렇게 줬는데.

Code: Select all

m_fov = (3.141592f / 3);
여기서 더줄여야될까요.?

줄인다면 어느정도가 적합할까요,,
suma
Posts: 160
Joined: 2005-02-21 09:32

Orthogonal Projection이란건 직교투영이라는건데요..

Post by suma »

직교투영에 대해서 이야기하기전에 원근투영(Perspective Projection)에 대해서 먼저
언급하는 편이 이해가 편할 듯 합니다.

미술시간에 원근법 배운것 기억나시죠?
철도길은 평행하지만 우리가 서서 끝쪽을 보면 언젠가 만날 것 처럼 보이는 것 말입니다.
그처럼 우리 눈은 먼 곳에 있을수록 작아보이는 현상을 설명하기 위해서 원근투영법을 사용합니다.
3D 화면을 표시할 때는 이처럼 원근 투영을 사용해야 좀 더 현실감을 느낄 수 있기 때문에
(실제로 더 가까운 모델이기도 합니다) 주로 이런 모델을 사용합니다.
아래 그림은 다른 설명을 위해 그런거지만 참고가 될지도 몰라서 링크합니다.

Image

이제 직교투영에 대해서 살펴보죠.
원근 투영은 앞에서 말씀드렸듯이 평행한 철도길이 평행하지 않은 것처럼 보이게 됩니다.
우리에게는 익숙한 경험이지만, 때로는 그런 부분이 필요하지 않거나 인식에 방해가 될을 때도 있습니다.
그럴때 평행한 철도길을 평행하게 투영하는 직교투영을 사용하게 됩니다. 게임쪽에서 보면 주로 UI쪽에서
많이 사용되는 편이죠. 직교투영에 대한 그림은 다른 곳에서 검색해주시길 바랄께요..

사용하신 Fov 값은 Pi/3, 아마 DirectX에서 그대로 쓰셨다면 FovY(상하FOV)값일 것으로 추정됩니다.
보통 사용하시는 Aspect Ratio(화면가로세로비)가 1.3333 이므로 FovX(좌우FOV)는
1.3333 * Pi/3 = Pi/2.25(대략)정도가 됩니다.
약 90도에 가까운 값이므로 그다지 크다고는 생각 되지 않지만, 저런 느낌은 계속 나올 수 있습니다.
사실 저런 현상은 Perspective Projection을 쓰는 한 피할 수 없습니다. 다만 Fov를 줄여서 저런 느낌을
줄일 뿐이죠.. Pi/6정도의 값을 써보시길 바랍니다..
Locked