1 Results for 'Perpective 3D'

  1. 2009.09.17 실버라이트 하기 좋은 날 #8.2, OffsetZ의 비밀 (1)
계속해서 퍼스펙티브 3D에 관한 내용이에요. 이게 파고들면 조금 어렵죠. :)
이번 시간에는 LocalOffsetZ, GlobalOffsetZ를 조절했을 때 오브젝트의 크기가 왜 바뀌는지, 어느 정도 비율로 바뀌는지 파고 들어봤어요. 결론적으로 아주 간단한 '산수' 수준으로도 100% 일치하지는 않더라도 만족스러운 근사식을 만들 수 있었어요.

[Offset Z의 원리를 설명하는 그림]

근사식은 다음과 같이 만들 수 있어요.
오브젝트가 화면에 보이는 크기 = (카메라-스크린의 거리 * 오브젝트의 원래 크기) / (카메라-스크린의 거리 - OffsetZ)
여기에서, 미지수인 카메라-스크린의 거리는 999로 추정할 수 있기 때문에 우리는 OffsetZ의 변화에 따라 오브젝트가 화면에 표시되는 크기를 계산할 수 있는 거죠.
카메라-스크린까지의 거리가 왜 999인지는 동영상을 참고하세요 :D

엄밀히 말해서, 이 식은 사실 아주 정확하지는 않아요. 왜냐면 double형의 연산은 기준을 어떡게 잡았냐에 따라 아주 작은 차이가 결과적으로 큰 차이를 만들 수 있기 때문이죠. 그래도 이 정도면 일반적인 연산을 할 때 큰 오차는 없을 거라고 봐요. 또한 세부 오차는 거리를 998.999로 가정한다거나 하는 식으로 조정이 가능해요. (해보면 알시겠지만 999와 998.999도 차이가 꽤 난답니다)
※참고로 이 플레이어는 더블클릭해야 풀스크린으로 떠요 -_-;
화면이 크니까 어지간하면 다운로드 받아서 보세요.

[자료 다운로드]
[WMV 다운로드]

저작자 표시 동일 조건 변경 허락
신고
Posted by gongdo


티스토리 툴바