본문 바로가기

ETC/Un[real]ity

언리얼 vs 유니티: 4. 사용하는 프로그래밍 언어 게임 회사에 자리잡고 계신 꽤 많은 게임 개발자들은 c와 c++을 시작으로 프로그래밍에 입문했을 것입니다. 상용엔진이 보편화 되기 전에는 대부분 c나 c++을 이용한 자체엔진으로 게임을 만들어왔고, 프로그래밍 언어의 기초라는 이유도 한 몫 했을 것입니다. 2010년대에 들어 c# 언어를 사용하는 유니티가 널리 사용되면서 처음 배운 언어가 C#인 게임 개발자 분들도 많이 늘어났습니다. c나 c++에 비해서는 조금 쉽게 배울 수 있고 개발이 빠를 수 있다는 점이 매력적입니다. 근래에 들어서는 암호화폐를 등에 업은 GPU 성능의 발달이 눈에 띄었습니다. 알파고의 유명세와 함께 머신 러닝Machine Learning 과 빅 데이터 분석 분야의 인기로 Python 부터 시작하신 개발자들도 서서히 자리잡고 있습니다.. 더보기
언리얼 vs 유니티: 3. 에셋 참조 방식 에셋 간에도 의존성이 존재합니다. 유니티의 머티리얼은 사용되는 텍스쳐들의 주소를 알고 있어야 하고, 메쉬역시 머티리얼의 주소를 알고 있어야 합니다. 언리얼과 유니티는 이 과정에서 다른 컨셉을 갖고 있습니다. 쉬어가는 느낌으로 간단히 알아보겠습니다. 유니티 유니티는 에셋을 참조할 때 guid를 사용합니다. 프로젝트 설정의 에디터 파트에서 Serialization을 Text 모드로 사용하게 되면, meta 파일을 텍스트 편집기로 열 수 있습니다. 매우 정직하게 guid: xxxx... 로 표기되어있습니다. 이 메타파일은 텍스쳐의 메타입니다. 이 텍스쳐를 사용하게되면, 이 guid를 저장하게됩니다. 예를 들어 이 텍스쳐를 사용하는 RawImage 컴포넌트가 있는 씬을 텍스트 편집기로 열어보면 이 guid를 발.. 더보기
언리얼 vs 유니티: 2. 에셋 관리 방식 게임을 만들기 위해서는 다양한 리소스가 필요합니다. 캐릭터 모델링 메쉬, 모델링의 겉모습을 표현해 줄 텍스쳐, 리깅 된 모델링을 움직여 줄 애니메이션, 글자를 그리게 해 줄 폰트 등등. 이들은 게임엔진에서 사용하려면 일련의 과정을 거쳐야만 합니다. 복잡한 과정들을 간단히 요약하자면, 범용적으로 통용되는 파일 포맷으로 저장된 데이터들을 엔진에서 메모리에 로드 가능한 형태의 에셋으로 변환해주는 작업들입니다. 프로젝트가 개발중인 단계에서는 로딩 속도나 수정, 개발 사이클과 관련해 어떻게 전략을 수립할 것인지가 마일스톤 일정을 맞추는 데에 비중있는 역할을 차지하기도 합니다. 유니티 에셋을 프로젝트에 임포트하더라도 원래의 파일을 그대로 유지하고있습니다. 이미지 파일 포맷인 PNG, TGA, BMP 등을 프로젝트내.. 더보기
언리얼 vs 유니티: 1. 우열을 가리기보다는 작업상 차이점을 중심으로 유니티와 언리얼의 기능과 사용 방법, 철학을 비교해봅니다. 파트별로 나누어서 시간이 될 때 마다 소소하게 작성할 예정입니다. ​ 우열을 가리려는 것이 아닌 기능상의 비교, 타 엔진으로 넘어갈 때 유의해야 할 사안 등을 중점적으로 기술합니다. 저는 두 엔진 모두를 다루어보긴 했지만 깊게 파고들지는 못했습니다. ​ 이 시리즈를 만들어가면서 깊이있는 숙련도를 얻고 싶네요. 더보기