Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
계속해서 퍼스펙티브 3D에 관한 내용이에요. 이게 파고들면 조금 어렵죠. :)
이번 시간에는 LocalOffsetZ, GlobalOffsetZ를 조절했을 때 오브젝트의 크기가 왜 바뀌는지, 어느 정도 비율로 바뀌는지 파고 들어봤어요. 결론적으로 아주 간단한 '산수' 수준으로도 100% 일치하지는 않더라도 만족스러운 근사식을 만들 수 있었어요.
[Offset Z의 원리를 설명하는 그림]
근사식은 다음과 같이 만들 수 있어요.
오브젝트가 화면에 보이는 크기 = (카메라-스크린의 거리 * 오브젝트의 원래 크기) / (카메라-스크린의 거리 - OffsetZ)
여기에서, 미지수인 카메라-스크린의 거리는 999로 추정할 수 있기 때문에 우리는 OffsetZ의 변화에 따라 오브젝트가 화면에 표시되는 크기를 계산할 수 있는 거죠.
카메라-스크린까지의 거리가 왜 999인지는 동영상을 참고하세요 :D
엄밀히 말해서, 이 식은 사실 아주 정확하지는 않아요. 왜냐면 double형의 연산은 기준을 어떻게 잡았냐에 따라 아주 작은 차이가 결과적으로 큰 차이를 만들 수 있기 때문이죠. 그래도 이 정도면 일반적인 연산을 할 때 큰 오차는 없을 거라고 봐요. 또한 세부 오차는 거리를 998.999로 가정한다거나 하는 식으로 조정이 가능해요. (해보면 아시겠지만 999와 998.999도 차이가 꽤 난답니다)
※ 참고로 이 플레이어는 더블 클릭해야 풀스크린으로 떠요 -_-;
화면이 크니까 어지간하면 다운로드 받아서 보세요.
[자료 다운로드]
[WMV 다운로드]
Enjoy MIX09 Video > https://videos.visitmix.com/MIX09/
Get Started > https://silverlight.net/getstarted/silverlight3/default.aspx
Welcome! > https://gongdosoft.com/
Follow me > https://twitter.com/gongdo
I love SPAM but not. > gongdosoft@live.com
영상이 보이지 않으면 이곳을 클릭해서 실버라이트를 설치하세요
* “공도's 실버라이트 하기 좋은 날”은 매주 목요일에 업데이트 됩니다