midas+son의 크리에이티브(creative) 이야기



카메라를 별도로 달아서 

백미러, 사이드 미러 같은 별도의 뷰 영역을 만들어 보자.


별도의 Camera Object와 Renderer Texture와 teuxture Material을 사용하여

하나의 display에서 여러 카메라를 보일수는 있지만

거울이라는 것은 좌우가 반전이 되어있어야 한다.


별도의 옵션을 찾지 못해 위와 같이 스크립트로 처리를 했다.


렌더 관련 이벤트 함수 호출 순서는 

OnPreCull() -> OnPreRender() -> 오브젝트들 렌더 -> OnPostRender()

순이다.


camera.ResetProjectionMatrix(); 는 가이드를 보면 

"projection이 노멀 카메라 파라미터들을 반사하도록 만들 때 사용한다."라고

되어있는데 함수 명대로 ProjectionMatrix를 Reset해주는 것이 아닐까 생각한다.

그 후 projectionMatrix의 scale을 x축으로 반전하도록 처리하고 

GL.invertCulling = true; 를 하여 백페이스 컬링을 반전 시킨 것이다.

그리고 오브젝터 렌더가 끝나면 

백페이스 컬링을 다시 원래 값으로 돌린다.


위처럼 카메라에 스크립트를 넣으면 거울 처럼 좌우가 반전된 영역을 얻을 수 있다.



'공부 > Unity' 카테고리의 다른 글

포트폴리오 잘하는 법  (0) 2016.08.25
NGUI 이미지 분류법  (0) 2016.08.07
There are 2 audio listeners in the scene 해결 방법  (0) 2016.07.01
MipMap(밉맵) - 이론  (0) 2016.06.29
Resources.Load<TextAsset> 가 null 일 때  (0) 2016.06.22