• [게임 개발] NGUI 추가 적용, tk2Dcamera에 붙이기2013.08.21 PM 03:47

게시물 주소 FONT글자 작게하기 글자 키우기
LINK : //www.tasharen.com/


7월에 만든 포커 프로토타입은 2DToolkit을 사용해서 개발했었습니다.

간단한 버튼도 2DToolkit이 지원하기에 NGUI는 필요없겠지 생각했었습니다.
본격적인 실제품 화면 구성에 들어가기 위해 레이아웃을 잡아보고 있는데,
2DToolkit의 기본 버튼 UI는 확실히 그래픽 활용 기능이 기대보다 많이 떨어지네요.
+ 클릭시 scale을 조정해 주는 수준밖에 기능이 없었습니다.
- 최소한 image 교체정도는 기본으로 해줄 거라고 기대했었는데요.

그래서 결국 NGUI도 적용하기로 결정했습니다.
워낙 많이 쓰는 툴이라고 하니 우리 나라 개발자분들의 참고 자료도 많겠죠.

2DToolkit을 사용하며 tk2dCamera를 적용하여 개발하고 있었는데
NGUI를 실행해보니 NGUI 역시 자체 카메라를 사용하고 있었습니다.
한 scene에 두 개의 카메라를 모두 보여주는 방법은 아래와 같습니다.

++++++++++++++++++++++++++++++++++++++++++++++++++
[사자대빵]님 조언으로 더 나은 방법을 알았습니다.

1. tk2dCamera를 생성한다.
2. NGUI camera(UI Root)를 생성한다.
3. UI Root의 depth(z축 깊이)를 tk2dCamera보다 작게 세팅한다. (tk2dCamera : -10, UI Root : -11)

이걸로 그냥 해결 되네요...
사자대빵님 감사합니다!

++++++++++++++++++++++++++++++++++++++++++++++++++
안좋은 방법 (되기는 하지만 의미는 없습니다)

급히 검색했는데 anchor를 사용해서 두 개의 카메라를 동시에 적용하라는 말이 있는데 저는 구조를 이해를 못하겠더군요.
좀 더 검색했더니... 다행히 다른 방법이 금방 나왔습니다.

1. tk2dCamera를 생성한다.
2. NGUI camera(UI Root)를 생성한다.
3. UI Root 밑에 있는 Camera를 드래그해서 tk2dCamera로 끌어넣는다.
4. 드래그한 Camera > Anchor > Panel 밑에 NGUI 구성 요소들을 만들어 붙인다.
댓글 : 6 개
구글링 많이 하시게 될거에요
국내에는 자료가 그러게 까지 많지 않더라구요 ㅠㅠ
구글 끼고 살고 있습니다. ^^;
tk2Dtoolkit 카메라의 depth를 0 으로 하고
NGUI 카메라의 Depth를 1로 하고 Clear Flags를 Depth only로 하시면

2dToolkit 카메라가 렌더링 된 후 NGUI 카메라가 그 위에 그려질텐데요.
헉! 정말이네요.
tk2dCamera depth가 -10인 상태에서
NGUI Camera(UI Root)의 depth를 -11로 하니까 그냥 다 되네요.

뻘짓하며 깊은 구덩이 팔뻔 했는데... 너무 감사합니다!
추가적으로 각 GameObject에 Layer를 2DToolkit용과 NGUI용으로 나눠서 관리하시고
카메라 옵션에 Culling Mask를 각 카메라에 맞는 것들로 체크하면 렌더링이 약간 최적화 될꺼에요.
Culling Mask 옵션은 한 번도 손대본적 없는데 이번 기회에 공부해야겠네요. 와우!
친구글 비밀글 댓글 쓰기