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

요즘 버전의 Unity에서는 

프로젝트 만드는 단계에서부터

3D, 2D 프로젝트를 골라서 만들 수 있고

3D로 만들다가 2D로 전환 할 수도 있다.


하지만 유니티에서 구현 하는 2D는 진짜 2D는 아니다.

보통 2D라 하면 평면 이미지가 2차원적으로 움직이는 것이고

축의 개념 자체가 x, y밖에 없는게 보통이다.(Depth(깊이)는 별개)


유니티의 2D 프로젝트는 

이미지를 3D에 띄워서 2D처럼 한 평면으로 원근감을 없앨 뿐

x, y, z가 그대로 존재한다.


Collider나 rigidbody가 2D가 별도로 존재 하고 

이벤트 함수도 2D용이 별도로 있지만

엄연히 오브젝트들이 3D로 들어 있는 것이다.

2D를 가장한 눈속임용 3D라고 생각해도 

아예 틀린건 아니라는 것이다.


유니티에선 직관적으로 이미지들을 

바로바로 배치 할 수 있고 

테스트나 프로토 타입을 빨리 만들 수 있다는 장점은 확실하나

2D 게임은 복잡한 물리력이 필요한 게임도 많지 않아

저사양의 디바이스까지 생각하고

게임을 만든다면 유니티 엔진 보다는 

좀 많이(혹은 엄청 많이) 수고스럽더라도 

성능상 디바이스에서 자체 지원하는 언어로 

이미지를 띄워 순수 코딩으로 만드는게

낫지 않나라는 생각은 든다.


하지만 이 생각 역시 다른방면으로 돌려 생각하면 무조건이지 않다.

유니티 엔진은 멀티 플렛폼 빌드가 지원되므로 

하나에서 만들어 놓으면

다른 플렛폼에서도 거의 그대로 써도 되므로

시간과 인력을 많이 절약 할 수 있으므로

나쁘지 않다고 할 수 있다. 


시간과 인력은 즉 돈이고 사업이고 운영인것이다.


이러한 이유로 순수 디바이스 코딩으로 게임이 만들어지는 것은 

요즘 세상엔 힘들다는 것이 되겠다.


천재들이 만들어 놓은 엔진을 많이 접해보고

각 게임에 맞는 것을 찾아 쓰도록 하자.

(회사에서 쓰라는 거 쓰면 된다.)

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

다중 트리거(Trigger) 조작 문제  (0) 2016.06.01
splat map  (0) 2016.05.30
Ctrl + Shift + f  (0) 2016.05.25
InvokeRepeating - 특정 함수 반복 호출, CancelInvoke - 호출 취소  (0) 2016.05.24
Awake(), Start() 의 궁극적 차이  (0) 2016.05.22