와우! 내일배움캠프 언리얼 2일차!
오늘은 드디어 언리얼 에디터를 조작해보았다. 사실 사전캠프때 몇번 조작을 해보았지만, 정식강의때 수업을 들으며 에디터를 조작하는건 느낌이 또 다르달까..ㅎㅎ 약간의 긴장감과 즐거움이 더해져서 설레었던 것 같다. 에디터를 만지는게 설레다니..
언리얼 에디터의 인터페이스는 다양하지만 우선 프로젝트에 입장하는 순간 우리의 눈앞에 보이는 모습은 아래 사진과 같다
메뉴바 : 전체적인 설정을 조작이 가능하다고 보면 된다. 프로젝트설정, 에디터설정, 함수기능 등을 컨트롤할 수 있다.
메인툴바 : 정말 다양한 기능이 들어있는 툴바이다. 다양한 모드에 액세스할 수 있고 블루프린트, 오브젝트 스폰, 저장, 게임플레이 등 많은 역할을 담당한다. 작업을 할때 손이 정말 많이 가는 툴바
뷰포트 : 현재 사용자가 보고 있는 화면전체를 비유하자면 도화지, 캔버스 등으로 말할 수 있을것 같다. 사용자가 해당 레벨에서 작업하는 것을 보여준다.
콘텐츠 드로어 : 한마디로 파일탐색기이다. 프로젝트가 가지고 있는 메시, 머터리얼, 에셋 등을 여기에서 꺼낼 수 있고 복제, 불러내기 등을 할 수 있다.
하단 툴바 : 아직 정확한 기능을 자세하게는 알지 못하지만 현재 작업하는 로그, 명령 콘솔 등을 보여준다.
아웃라이너 : 현재 작업하고 있는 레벨의 모든 콘텐츠(지형, 오브젝트, 조명 등)를 보여준다. 콘텐츠를 한데 한 폴더로 종속시키는 등의 방법으로 관리를 편하게 해주고 콘텐츠의 숨김 기능도 여기서 할 수 있다.
디테일 패널 : 액터 선택시 그 액터의 자세한 설정 및 속성을 보여주고 편집할 수 있게 해준다. 디테일 패널을 통해 액터를 색, 사이즈, 위치 등 간단한것 부터 통과되거나 막히는 물리설정까지 다양하게 조작하게 해준다.
사진 출처 : https://kyoun.tistory.com/138>
월드
레벨이 존재하는 최상위 컨테이너로 모든 액터와 구성요소를 포함한다. 말그대로 게임 전체를 봐도 무방할 것 같다. 레벨들의 집합, 게임의 세계이다. 퍼시스턴스 레벨에서 월드의 초기설정 값들을 지정한 월드세팅 언리얼 오브젝트가 있다.
레벨
하나의 "씬, 뷰포트에 보이는 맵이라고 생각하면 된다. 하나이상의 레벨들이 모여 월드를 이룬다. 월드에는 최소 하나레벨이 지정되는데 이를 '퍼시스턴트 레벨', 월드와 무관하게 추가/삭제 가 가능하도록 설계된 레벨을 '스트리밍 레벨' 이라고 한다. 프로젝트에서 프로젝트로 레벨을 이주(migration) 할 수 있다.
액터
언리얼 엔직 월드 내에서 존재하는 모든 오브젝트를 뜻한다. 액터들이 모여 레벨을 이루고, 월드를 이룬다.
컴포넌트
컴포넌트는 액터에 추가시킬 수 있는 함수성 조각이며, 액터가 이벤트를 발할 수 있게 하는 특수한 오브젝트이다. 독립적으로는 존재할 수 없으며 액터에 포함시켜야 한다.
트랜스폼은 피봇(회전체의 중심) 이라고도 한다. 빨간색이 x축, 초록색이 y축, 파란색이 z축으로 되어있었다. 3가지 모드가 있었는데 각각 위치이동, 회전, 스케일조정이 가능했다. 각 모드는 버튼으로도 스위치 가능하지만 엑터 선택 후 단축기 w, e, r 로도 트랜스폼의 3가지 모드로 진입이 가능했다.
트랜스폼으로 액터를 변형하는 것은 마우스 드래그로 조정이 가능했는데 초기 설정은 뭔가 최소 디폴트 값이 정해져 있어서 인지 세밀한 조정이 힘들었다. 하지만 아래의 스냅모드를 해제한 순간 세밀한 조정이 가능했다.
스냅모드 해제 외에도 디테일 패널에서도 수치를 조정하여 세밀한 조정을 할 수 있었는데 위치는 월드 기즈모 기준, 회전과 스케일은 로컬 기즈모를 기준으로 수치가 조정이 됐었다.
월드기준 기즈모를 확인하려면 뷰포트 왼쪽하단의 작은 기즈모를 확인하면 된다. 또한 액터의 기즈모는 스냅을 해제했던 곳에서 지구본 모양을 클릭하면 로컬, 월드 기준으로 기즈모로 스위칭할 수 있다.
머터리얼은 오브젝트의 질감(텍스처)를 표현하는 가죽 같은 것이다. 언리얼 공식홈페이지의 설명을 빌리자면 메시에 적용되어 시각적인 형태를 제어하는 '페인트' 라고 할 수 있다. 오브젝트의 머터리얼을 교체해서 원하는 다양한 텍스처를 입힐수 있고 나아가 아예 머터리얼 속성을 변환시켜서 텍스처를 세부적으로 제어할 수 있다.
제어하기전에 백업은 필수 우선 액터를 복사하는 방법 부터 알아보자.
콘텐츠 드로어에서 일일이 원하는 액터를 찾기란 보통일이 아니다. 작업의 규모가 커질수록 사막에서 바늘 찾기가 될수 있다. 때문에 뷰포트 또는 아웃라이너에서 원하는 액터를 선택 후 디테일 패널의 파일 모양을 클릭하여 드로어에서 한번에 해당 파일을 찾자. 이후 콘텐츠 드로어에서 마우스 우클릭하여 복제버튼을 누르면 된다.
이후 아래의 그림처럼 머터리얼을 바꿔주면 오브젝트의 텍스처가 바뀐다. 또한 머터리얼을 더블클릭하면 해당 머터리얼의 에디터로 들어갈 수 있으며 파라미터들을 조금씩 변경하면서 젖은느낌, 금속성, 거칠기 등을 통해 다양한 느낌을 줄 수 있다.
모든 것을 종합해서 간단한 월드를 꾸며보았다. 나는 머터리얼로 캐릭터에 색을 입힐 수 있는것을 착안해서 간단한 축구장을 만들어 보기로 했다.
우선 러닝키트 프로젝트에있는 애니메이션 시퀀스로 인원을 배치해서 역동적인 느낌을 주었다. 또 머리, 몸통, 다리 등으로 머터리얼이 나뉘어져 있어서 몸 색깔은 변화시키지 않고 옷만 색을 입힐수 있었다. 공에는 피직스를 줘서 게임플레이 시 충돌에 반응하도록 설정하였는데 바닥의 마찰력이 뭔가 마음에 들지 않아서 이것저것 서치하고 시도해보았지만 실패하였다. 다음에 이와 관련해서 배우게 된다면 공의 움직임을 좀더 자연스럽게 주고 싶다. 배치하면서 느낀거지만 나무오브젝트는 Alt 복사를 쓰고, 잔디는 폴리싱으로 깔아서 그렇게 힘들지 않았는데 캐릭터들 하나하나가 다 동작이 달라서 모두 복제하고 색을 입히는 일이 보통일이 아니였다. 뭔가 쉬운 방법은 없을까? 아직 언리얼에 대해 잘모르는게 좀 답답하게 느껴진다. 머터리얼 설정 같은경우는 파라미터를 어떻게 조절하느냐에 따라 젖은느낌, 메탈느낌, 유리같은 느낌을 줄 순 있었지만 머터리얼 에디터에선 괜찮게 생각했던 재질이 실제로 뷰포트에서 볼 땐 조명때문인지 완전 다른느낌이라 혼란스러웠다. 이것도 많이 해보면서 감을 익혀야겠다.
오늘 강의때 강창민 튜터님이 두자리숫자로 아웃라이너를 정렬하는 꿀팁을 전수해주셔서 활용보았다. 덕분에 이번 작업에서 유일하게 잘했다고 생각하는 것이 아웃라이너의 정리이다ㅋㅋ 잘했다고 느껴지는게 이것밖에 없다니 ㅋㅋ 진짜 앞으로 많이 배워서 언리얼을 수족처럼 다루는 날이 오기를!