리멤버 앱을 설치하고 오늘 가장 인기있는 글을 받아보세요
오늘 가장 인기있는 회사생활 소식을 받아보는 방법!

메타버스 개발에 필요한 기술과 환경들

2022.05.31 | 조회수 1,058
오지현
유니티테크놀로지스코리아(유)
메타버스에 대한 관심이 많아지면서 개발에 관심 갖고 도전하는 분들이 많아지고 있습니다. 따라서, 메타버스 컨텐츠 및 서비스 개발에 필요한 기술들과 툴 등에 대하여 정리해보고자 합니다. 👉 실시간 렌더링 제일 핵심이 되는 기술이 실시간 렌더링 (Realtime rendering) 입니다. 실시간 렌더링은 '실시간'과 '렌더링' 두 의미로 나눠서 살펴볼 수가 있을텐데요. 위키피디아에서는 렌더링을 "컴퓨터 프로그램을 사용하여 모델 또는 이들을 모아놓은 장면인 씬 파일로부터 영상을 만들어내는 과정"이라고 정의하고 있습니다. 즉, 한마디로 표현하면 컴퓨터가 그래픽을 표현하는 모든 행위를 뜻합니다. 우리가 보는 마블 영화의 장면도 렌더링 결과물이고, PC 게임 화면이 렌더링의 결과물이고, 스마트폰 화면도 렌더링의 결과물인 것이죠. 렌더링은 실시간과 비실시간 두 가지 타입으로 나뉠 수 있습니다. 말 그대로 실시간으로 렌더링을 수행하느냐 아니면 미리 렌더링해놓은 결과물을 사용하느냐 차이입니다. 우리가 극장에서 보는 CG는 매우 고품질로 미리 렌더링해놓은 비실시간 렌더링의 결과물입니다. 미리 렌더링해놓은 것이기 때문에 관객과 어떠한 인터렉션도 일어나지 않고, 그저 정해진 플로우대로 보여주기만 합니다. 하지만 실시간 렌더링은 말 그대로 실시간으로 이루어 지기 때문에 사용자와 인터렉션이 가능합니다. 대표적인 실시간 렌더링 컨텐츠가 바로 게임이지요. 사용자가 입력을 하면 그 입력에 반응하여 캐릭터가 이동하거나 공격을 취하고 몬스터가 피격되는 등 실시간으로 인터렉션이 일어나고 화면이 갱신됩니다. 다만, 실시간으로 연산하고 그래픽을 표현해야 하기 때문에 영화 CG같은 미리 렌더링해놓은 결과물보다는 그래픽 품질이 다소 떨어질 수 밖에 없습니다. 메타버스 역시 사용자의 인터렉션이 존재하기 때문에 실시간 렌더링을 기반으로 개발이 되어야 합니다. 따라서, 메타버스 개발에 필요한 기술들은 대부분 게임 개발에 필요한 기술들과 일맥상통합니다. 👉 게임엔진 이러한 실시간 렌더링 컨텐츠를 개발하기 위해서는 게임 엔진을 이용합니다. 유니티 엔진이나 언리얼 엔진이 대표적이죠. 게임 엔진이라고 한다면 게임만 개발할 수 있는 것 처럼 느껴질 수 있지만, 앞서 언급하였듯이, 메타버스 개발에 필요한 기술들이 게임 개발에 필요한 기술들과 일맥상통하기 때문에 게임 엔진을 이용하여 개발이 진행됩니다. 저는 유니티 직원이다보니 당연히 유니티 엔진을 추천합니다. 팔은 안으로 굽는 법 :) 게임 엔진은 그래픽 표현을 위한 기능 뿐만 아니라 컨텐츠 저작에 필요한 많은 기능들을 가지고 있습니다. 씬 하이어라키 구조, 캐릭터 애니메이션, 사운드 재생 등등 방대한 기능들을 제공하고 있기 때문에 엔진 없이 컨텐츠를 개발하는 것은 매우 어리석은 일이라고 할 수 있습니다. 개인 사용자에게는 무료이며, 기업은 매출 규모에 따라 라이센스 비용이 상이합니다. 유료라고 할 지라도 구독 라이센스이기 때문에 사용료 부담이 적은편입니다. 하드웨어와 소프트웨어 환경들이 발전함에 따라 게임 엔진도 계속 업데이트가 이루어집니다. 구독 라이센스이므로 항시 최신 버전의 엔진을 사용할 수 있습니다. 👉 멀티플랫폼 일반적으로 메타버스 컨텐츠는 다양한 플랫폼을 지원합니다. PC 뿐만 아니라 웹브라우저, 안드로이드, 아이폰, VR, AR 등등 다양한 디바이스에서 구동되도록 만드는 것이 일반적입니다. 유니티는 멀티플랫폼 엔진이기 때문에 이러한 모든 디바이스를 지원합니다. 플랫폼 별로 프로젝트를 새로 만들 필요 없이, 하나의 프로젝트 개발로 다양한 플랫폼들을 지원할 수 있습니다. 다만, 한가지 주의할 점은 성능을 고려하여야 한다는 것인데요. 예를 들어 PC의 기기 성능와 스마트폰의 기기 성능은 큰 차이가 있습니다. PC를 타겟으로 하여 리소스를 제작한다면 스마트폰에서는 컨텐츠가 원활히 구동되지 않을 가능성이 큽니다. 따라서, 멀티플랫폼을 지원한다면 다양한 디바이스를 지원 가능하게 최적화를 신경쓰며 개발하여야 합니다. 아쉽게도 게임 엔진이 이러한 부분까지 알아서 자동으로 해주지는 않기에 최적화를 위해서는 숙련된 개발자가 필요합니다. 👉 IDE 컨텐츠 개발을 위해서는 프로그래밍이 필수입니다. 오늘날에는 게임 엔진들이 비주얼 노드 그래프 방식의 코딩을 지원하지만 그것만으로 방대한 컨텐츠를 개발하는 것은 현실적으로 쉽지가 않습니다. 따라서 프로그래밍 환경을 지원하는 툴이 필수적이며, 이를 IDE(Integrated Development Environment)라고 부릅니다. 비주얼 스튜디오, Xcode, 라이더 등 여러 제품군이 존재합니다. IDE를 사용하여 C++ 혹은 C# 언어로 개발합니다. 어떠한 언어를 사용할 지는 게임 엔진에 의존적입니다. 유니티는 C#을 이용하고, 언리얼은 C++을 이용하여 개발을 진행합니다. 👉 모델링 툴 메타버스는 3D 공간이고, 이 공간을 구성하기 위해서는 3D로 만들어진 에셋들이 필요합니다. 건물, 소품, 캐릭터 등등 모든 에셋이 3D로 이루어져 있고, 이러한 3D 에셋을 제작하기 위해서는 게임 엔진 외에 전문 모델링 툴들이 필요합니다. 3DS Max, Maya, Blender, Zbrush 등 다양한 툴들이 존재합니다. 각 툴들 마다의 장단점과 특징이 있기 때문에 특정 툴만 추천하거나 하지는 않으며, 2개 이상의 툴을 써서 개발하는 경우도 많습니다. 👉 텍스쳐링 툴 모델링은 3D 에셋의 외형을 만들어 내는 개념이라면, 텍스쳐링은 에셋의 표면 재질을 만들어 내는 개념이라고 볼 수 있습니다. (사실 더 복잡하게 설명하려면 쉐이더 등 난이도가 올라가므로 간단히 설명합니다) 포토샵 등의 이미지 저작 툴이 가장 기본적입니다. 거기에 추가적으로 섭스턴스페인터나 아트엔진등의 추가적인 페인팅 툴이 사용되는 경우도 많고, 메가스캔 등의 라이브러리가 활용되기도 합니다. 👉 에셋스토어 개발 팀 구성 인원에 모델링 툴과 텍스쳐링을 다룰 수 있는 전문 아티스트가 없다면 스토어를 이용할 수도 있습니다. 직접 에셋을 제작하지 않더라고, 오픈 마켓이 올라와있는 에셋을 구입하여 내 프로젝트에 활용하는 것도 가능합니다. 배경 및 소품 등의 모델링 에셋 뿐만 아니라 애니메이션 리소스도 다양하게 존재합니다. 뿐만 아니라 사운드나 UI 등 개발에 필요한 거의 모든 종류의 에셋이 존재한다고 봐도 무방합니다. (다만 이들을 서로 어색하지 않게 조합하는 것이 숙제이긴 합니다.) 당연히 상업 프로젝트에 사용 가능하며, 유니티와 언리얼 두 엔진 모두 오픈 마켓이 존재합니다. 👉 멀티플레이 대부분의 메타버스 서비스는 다중 접속을 기반으로 합니다. 즉 많은 사용자가 동시에 접속하여 함께 컨텐츠를 즐기는 것이지요. 소셜 플랫폼이 되었 든, 가상 오피스가 되었 든, 시뮬레이터가 되었 든 다중 많은 사람들이 동시에 접속을 하여야 합니다. 이러한 것을 멀티플레이라고 부릅니다. 멀티플레이를 위해서는 두 가지 요소가 필요합니다. 서버라고 불리는 물리적인 장비와 서버에 탑재되는 서버 S/W를 개발하기 위한 서버 엔진이 필요합니다. 예전에는 컨텐츠 제공자가 직접 서버 장비를 보유하는 것이 일반적이였으나, 오늘날에는 AWS나 Azure 등의 클라우드를 활용합니다. 사용한 만큼 사용료를 내기 때문에 초창기 비용 부담이 적고 유연하게 대처할 수 있는 등 장점이 많습니다. 서버 엔진은 포톤이나 프라우드넷 등 여러 제품이 존재합니다. 게임 엔진은 사용자의 기기에서 구동되는 프로그램, 즉, 클라이언트 프로그램에 초점이 맞춰저 있습니다. 서버 엔진은 유저인증, 로드밸런서, 모니터링 대시보드 등 멀티플레이 개발에 필요한 기능들을 제공합니다. 따라서 서버는 서버 전용 엔진을 사용하여 개발하는 것이 일반적입니다. 👉 마치며 많은 분들이 간과하는 것이 바로 시간입니다. 하나의 제품을 개발하기 위해서는 많은 시간이 필요합니다. 특히 메타버스 개발에는 순수 컨텐츠 개발 뿐만 아니라, 다양한 플랫폼 지원을 위한 최적화도 필요하고, 서버 개발에 대한 시간도 필요합니다. 겉모습만 봐서 너무 쉽게 생각하고 시작했다가 낭패를 보는 경우를 많이 목격하였습니다. 개발 시작 전, 충분한 컨텐츠 기획과 일정 계획이 제일 중요하다 볼 수 있을 것입니다. 오지현 / 유니티테크놀로지스코리아 / [email protected]
첨부 이미지
16
닉네임으로 등록
등록
전체 댓글 2

리멤버 회원이 되면 모든 댓글을 보실 수 있습니다

로그인
회원가입
김커뮤니티
2020.07.01
BEST회사에서 풀지 못한 고민, 여기서 회사에서 업무를 하다가 풀지 못한 실무적인 어려움, 사업적인 도움이 필요한 적이 있으셨나요? <리멤버 커뮤니티>는 회원님과 같은 일을 하는 사람들과 이러한 고민을 해결할 수 있는 온라인 공간입니다. 회원 가입 하고 보다 쉽게 같은 일 하는 사람들과 소통하세요
154
김커리어
2020.07.01
BEST리멤버 회원을 위한 경력 관리 서비스, 리멤버 커리어를 소개합니다. 당장 이직 생각이 없어도, 좋은 커리어 제안은 받아보고 싶지 않으신가요? <리멤버 커리어>는 리멤버에서 새롭게 출시한 회원님들을 위한 경력 관리 서비스 입니다. 능력있는 경력직 분들이 <리멤버 커리어>에 간단한 프로필만 등록해두면, 좋은 커리어 제안을 받아 볼 수 있습니다. 단 1분의 투자로 프로필을 등록해두기만 하면, 기업인사팀이나 헤드헌터가 회원님께 꼭 맞는 제안을 직접 보내드립니다. 지금 바로 <리멤버 커리어>에 프로필을 등록하고, 새로운 기회를 만나보세요!
21
대표전화 : 02-556-4202
06235 서울시 강남구 테헤란로 134, 5층
(역삼동, 포스코타워 역삼) (대표자:최재호)
사업자등록번호 : 211-88-81111
통신판매업 신고번호: 2016-서울강남-03104호
| 직업정보제공사업 신고번호: 서울강남 제2019-11호
| 유료직업소개사업 신고번호: 2020-3220237-14-5-00003
Copyright 2019. Drama & Company All rights reserved.