이제 본격적으로 유니티를 들어가는 날입니다.
유니티는 대표적인 게임엔진 툴입니다.
물론 검은사막 같이 자체 엔진을 사용하는 경우도 있지만
그것을 개발하고 드는 시간과 돈이 상당히 많이 요구되기 때문에 상용게임엔진을 많이 사용합니다.
상용게임엔진으로 유니티말고도 언리얼 엔진도 대표적으로 많이 사용됩니다.
참고로 최근에 화제가 된 "카르마 더 다크월드" 라는 게임도 언리얼 엔진을 가지고 만들었습니다.
프로그래머가 처리해야 하는 사운드, 그래픽, 물리 엔진, 게임 내 오브젝트를
굳이 개발하지 않고 사용할 수 있도록 도와주는 도구라고 보시면 됩니다.
즉, 게임에 필요한 범용적으로 사용되는 기능들을 모아서 묶어놓은 프로그램입니다.
물론 게임이 동작하기 위해서는 개발코드를 작성해야 하지만
굳이 반복적으로 많이 사용되는 게임에 필요한 여러 기능들을 일일히 다 개발하는 것은
개발시간이 상당히 오래 걸릴 수 밖에 없고 인력도 많이 들어가 비용이 늘어날 수 밖에 없습니다.
그래서 게임 엔진이 필요한 것입니다. 게임 엔진만 있어도 개발이 수월해지고
심지어는 게임의 세부적인 오브젝트에 지식이 없어도 개발이 가능하도록 만들어줍니다.
그러면 게임엔진을 왜 배워야 할까요? 굳이 안 배워도 게임 개발하는데 문제는 없을 것 같은데...
프레임워크는 게임이 동작하는 핵심 로직을 구축한 것을 의미하는데
게임을 개발하려면 적어도 게임이 어떻게 돌아가는지는 알아야 합니다.
게임 엔진은 게임루프, 컴포넌트구조, 랜더링파이프라인 등
게임에 필요한 핵심 로직을 기반으로 돌아가기 때문에 이러한 이해를 바탕으로 개발하는 것이 좋겠죠.
유니티를 사용하는데 유니티에 어떤 기능이 있는지 모르고 사용한다면 많이 번거롭겠죠
게임 엔진에는 게임에 공통적으로 필요한 기능인 라이브러리가 다수 존재하는데
이를 사용했을 때 개발하는데 효율적으로 개발이 가능합니다.
게임엔진을 기반한 라이브러리의 경우 최적화를 위해 시스템 코드가 포함된 경우가 있으며,
이를 분석하여 사용하기 위해선 게임엔진에 대한 이해도를 필수입니다.
아마 이게 가장 중요한 부분일 수도 있는데 기능 변경이 필요한 경우입니다.
게임엔진이 만능은 아닙니다. 우리가 원하는 게임에 필요한 기능이 상용게임엔진에 없을 수도 있습니다. 그 경우는 자체 개발이 필요한 경우가 있습니다.
흔히 제조업에서도 ERP를 구축하는 것과 비슷합니다.
솔직히 대표적인 ERP 기업인 SAP, 오라클, 더존, 영림원 등이 개발한 기초적인 틀로도
ERP를 충분히 구축할 수는 있습니다.
하지만 기업에 맞게 ERP 기능을 추가하며 구축해야 더 효율적으로 사용이 가능하겠죠.
괜히 대기업에서 수천억을 들여 기업에 맞게 ERP를 개발하는 것이 아닙니다.
그래서 ABAP 언어를 이용하여 개발하는 SAP 개발자가 있는 것입니다.
유니티는 진짜 설치가 까다롭네요 설치하는데 스트레스가 상당히 많습니다.
오류가 계속 나거나 설치에 무한 반복 나거나 하는 경우가 너무 많습니다.
또 유니티는 한글과는 친하지 않나봅니다... 😭
설치 경로에 한글이 섞여있거나 프로젝트 생성은 했는데 한글 때문에 오류나는 경우가 많아요..
저도 설치할 때 무한반복나서 고생을 했었는데
저와 같은 문제가 있는 경우에는 Archive 사이트에 들어가서 직접 다운받으시길 바랍니다.
이러면 대부분은 설치가 됩니다.
사용자가 한글이어서 문제가 있는 경우가 있을 수도 있는데 이거 바꾸는데 정말 어렵고 까다롭습니다.
그리고 힘들게 바꾸더라도 똑같이 무한반복되더라고요...
결론은 유니티 사용하실때 한글 사용하시면 안됩니다. 그냥 한글은 있으나마나한 기능입니다...
기업에서도 영어로 사용한다고 합니다.

유니티를 설치했다는 가정하에 먼저 New Project를 눌러 프로젝트를 만듭니다.

여기서 2D나 3D가 있을텐데 일단 3D로 만들겠습니다.
솔직히 2D로 하더라도 작업하다가 설치를 한다면 2D를 선택하더라도 3D 기능을 사용할 수 있습니다.

이런 화면이 뜨면 성공입니다!