본문 바로가기

프로그래밍/Unity3D

유니티에서 카메라 2대이상 설정하기

유니티에서도 여러개의 카메라를 지원하는데,

특히 3D 게임에서는 2대이상이 필수일 것이다.


하나는 캐릭터같은 3D 오브젝트를 렌더하는 카메라, 그리고 다른 하나는 UI전용 카메라를 예로 들수 있을 것이다.

좀 더 디테일하고 다양하게 하기 위해 3,4 대 이상의 카메라를 사용하는 경우도 있다.




일단 레이어의 개념만 잘 이해하면 카메라 설정은 그다지 어렵지 않다.


하나의 씬 안에 여러개의 오브젝트가 있으면


각각 렌더할 카메라를 지정하는 개념이 레이어이다.


먼저 카메라 셋팅전 화면상의 오브젝트의 레이어를 각각 구분해 준다.




그리고 어떤 레이어로 설정된 오브젝트를 그릴지 카메라 컴퍼넌트의 레이어를 수정해 준다.


이 레이어와 연결되는 개념이 Culling Mask인데,


어떤 레이어를 렌더할 것인지 지정해주며 복수 선택도 할 수 있다.


그리고 Depth 를 설정해주면 된다.


숫자가 낮을수록 먼저 그리게 되므로 뒤쪽으로 보여진다.


따라서 높은 수치로 설정된 카메라는 나중에 그려지게 된다.





ClearFalg는 화면상의 빈 공간을 어떤식으로 채울지 결정하는 플래그이다.


Skybox스카이박스로 채운다
SolidColor백그라운드 컬러로 채운다
DepthDepth만 지운다
Nothing아무것도 하지 않음


Projection을 Orthographic으로 설정하면 Depth를 무시하므로 2D화면으로 나타나게 된다.


UI 카메라일 경우, 이렇게 셋팅하면 된다.




camera.cullingMask = 1 << 0;

또한 이와 같이 스크립트상에서도 대부분 편집할 수 있다.


나머지 셋팅은 Scene파일을 보며 적절히 셋팅하면 된다.


http://docs.unity3d.com/ScriptReference/Camera.html