본문 바로가기

유니티 개발 정보/강좌

유니티로 레벨 만들기 – Part 1 of 3

원문은 이곳에서 보실수 있습니다.



하이! 나는 
Matthias Zarzecki, 그리고 나는 Looking For Group – The Fork Of Truth 레벨을 만들고 있다.

이 시리즈에서, 우리는 게임 환경을 만들기 위해 유니티를 사용할 것이다. 첫 번째 파트에서는 기본적인 풍경을 다룰 것이다 - 나머지 환경들은 지형 위에 만들어 진다. 당신은 여기서 다른 포스트 2개를 볼 수 있을 것이다.
  • 파트 2 - 방대한 환경 객체 라이브러리를 관리하는 실행 계획
  • 파트 3 - 레벨 전체를 하나로 만드는 더 작고, 부수적인 트릭.
만약 우리의 rockin' trailer를 봤다면...
...혹은 우리의  Kickstarter video를 봤다면, 캐릭터들이 싸우고 있는 환경들을 볼 수 있을 것이다.

이 비디오를 만들기 위해서, 우리는 실제로 플레이 가능한 레벨을 만들었다. 이는 프로토타이핑 지역의 역할을 하는데, 전투 시스템과, 게임의 전반적인 외형과 느낌을 테스트한다. 우리는 킥스타터 비디오를 위해 실제 장면을 사용하고 싶었고, 그래서 사람들은 사람들이 무엇을 기대하는지 알 수 있었다. 궁극적으로, 이것은 완전한 기능적인 게임이다.

레벨 개요

범죄 조직(gang)은 오른쪽 하단에서 시작한다.

이들은 마을로 몰래 잠입하고, 고블린의 공격을 방해한다.




그리고 그들은 농장에서 퀘스트를 얻는다(고블린으로 변장하여), 그리고 고블린을 추적한다.
그들은 함정으로 유인하고, 고블린 캠프에서 마지막 전투가 일어난다.
이 레벨은 약 10-20분 정도 소요되며, 꽤 재미있다. 자, 이제 이것을 우리가 어떻게 만들었는지 얘기해보자.

지형

모든 레벨은 Unity Terrain(지형)을 사용하였다. 이는 자연스러운 풍경을 만드는데 훌륭한 방법이다.
Unity Terrain을 시작하기 위해서, 메뉴바에서 "Terrain" -> "Create Terrain"을 선택해라. 납작한 평면하나가 나올 것이다.
(역자 주: Unity 4.2버전을 쓰시는 분은 메뉴바에서 "GameObject" -> "Create Other" -> "Terrain"을 사용하면 됩니다.)

Unity Terrain에서는 다양한 사이즈의 브러쉬를 이용해, 이 표면 위에 "Paint"를 할 수 있게한다.

Raise/Lower Terrain(첫번째 모드)를 사용해서, 지형의 높이 차이를 만들 수 있다. 
Paint height(두전째 모드)에서는 목표로 정한 높이에 맞게 페인트 칠할 수 있다.

Texture Painting Tool(네번째 모드)를 사용하여, 지형에 텍스처를 적용할 수 있다.

풀(Grass)나, 흙(Dirt)같은 기본적인 텍스처로 시작할 수 있다.
(역자 주: 기본 텍스처는 "Project" 뷰에서 마우스 오른쪽을 누른 후 "Import Package" -> "Terrain Assets"을 클릭하여 임포트해서 얻을 수 있습니다.)


바위(Rocks), 모래(Sand), 그 밖에 당신이 필요한 텍스처를 추가해라.

길은 쉽게 만들 수 있다. 특정 높이로 페인트한다음, 지형에 길 텍스처를 할당하면 된다.

여기 우리가 "The Fork Of Truth"에서 사용했던 텍스처가 있다.

이런 간단한 툴을 이용하여, 확실하고 보기에도 멋진 복잡한 지형을 만들 수 있다. 밑에 그림에서, 오른쪽에 길 텍스처로 페인트된 지형과, 웅덩이에서 지형의 높이 차를 볼 수 있을 것이다.

Unity Terrain은 놀라운 기능이고, 다양한 옵션과 새로운 세계를 만드는 방법을 제공한다. 당신은 이 툴을 이용해서 대부분의 모든 풍경을 만들 수 있을 것이다. 거리, 길, 협곡을 만들어라.

수직

그러나 당신은 이것을 지나치게 사용하지 않도록 주의해야 한다. 멋지게 보일지는 모르겠지만, 언덕 지형은 레벨디자인에있어서 당신을 골치아프게 할 것이다.

높이 차이는 잡일을 만든다. 당신은 씬에서 객체들이 공중을 떠다니거나, 땅에 끼이지 않게 하기 위해, 객체의 높이 위치를 조절하는데 많은 시간을 소비할 것이다. 

LFG-game(
Looking For Group – The Fork Of Truth)은 평평한 평면을 기반으로 한다. 여전히 언덕과, 움푹패인 곳이 있지만, 이들은 오직 비주얼일 뿐이다. 당신은 실제로 그곳에 도달할 수는 없다. 밑에 그림에서 빨간색 하이라이트로 표시된, 약간의 평평하지 않는 지역을 볼 수 있을 것이다. 하지만 장애물과 보이지 않는 벽으로 인해 접근할 수 없다.

당신의 레벨을 평평하게 유지하는 것에 대한 또 다른 장점은 더 간단한 공격(simpler attacks)이다. 공격(Attacks)과 능력(Abilities)은, 지형이 평평하지 않을 때 훨씬 더 복잡하다. 수평적으로 움직이는 토네이도를 소환했는가?, 또는 그것이 평면에 따라 움직이는가? 만약 그렇다면 그것이 절벽을 움직일 수 있는가? 만약 당신이 언덕에 있다면, 파이어볼로 밑에 있거나, 날라 다니는 적을 때리는가? 당신과 적 사이에 언덕이 있으면 어떻게 될까?
레벨을 평평하게 하는 것은 이 문제들을 피할 수 있게 한다. 디아블로, 토치라이트, 매직카같은 게임들도 마찬가지로 거의 대부분 평면 환경을 사용한다.
우리가 움직일 수 있는 지역을 평평하게 유지했다고 할지라도, 몇몇 장소에 깊이 차이를 주기 위해 평평하지 않는 지형을 추가했다는 것을 명심해라. 확장된 게임을 위해, 우리는 레벨에 높이를 사용하는 것을 계획 했다. 높이 차이와 절벽은 흥미로운 레벨 디자인을 만들며, 실제 모습을 재현하기 위해 이런 요소들을 생략하고 싶지 않다.


The Fork Of Truth에서는 아직 캐릭터와 물이 상호작용을 하지 않는다. 고블린이 공격을 받아서 떨어지거나 하는 방법으로, 어떻게든 물에 떨어진다면, 즉시 죽는다.

레벨에서 강은 지형에서 움푹파여져 있는데, 평평한 레벨에서 30 유닛 밑에 있다. 여기서는 몇몇 장식 객체들이 함께 있는 바짝 마른 협곡을 볼 수 있을 것이다. 여기에 약간의 물이 필요하다.


물 표면을 위해 몇몇 옵션이 있다. 가장 간단한 버전은 파란색에 투명한 평평한 정사각형이 있다:

유니티에는 약간의 물 쉐이더가 딸려 있다. 밑에 있는 것은 그 중 기본적인 것이다. 물결 애니메이션과, 간단한 반사가 되지만, 투명하지는 않다:

이것은 더 고급 버전이다.(색상이 좀 지나치다), 이것은 투명하고 앞에 것처럼 물결 애니메이션을 가진다:

다음에 나오는 것은 거의 완벽하다(Unity Pro버전에서 Water4라고 되어있다.). 이는 투명하고 주위 환경을 반사하며, 물결 애니메이션을 가지고 있고, 만화풍의 게임에 잘 어울린다. 또한 가장자리 부근에 흥미로운 "희미한" 부분이 있다. 이 훌륭한 모든 것을 가지고 있음에도 불구하고, 다른 고급 물 타입처럼 프레임 레이트를 감소시키지 않는다:



결론 


유니티에서, 레벨 빌딩 프로세스는 일반적인 지형 레이아웃으로 시작했다. 여기 간단한 요약이 있다.
  • 빠르게 풍경을 조각하고 텍스처링하기 위해서는 유니티 터레인을 사용하라.
  • 쉬운 레벨 디자인을 위해서 움직일 수 있는 지형을 평평하게 유지하라.
  • 유니티는 몇몇개의 훌륭한 물 쉐이더를 가지고 있는데, 우리는 Pro 쉐이더 "Water4"를 사용했다.
근본적으로 단지 땅만 있는 텅빈 지형과 발 밑에 있는 물은 여전히 만족시켜 줄 것이다. 
그렇다면, 당신은 나머지 레벨을 위한 단단한 기반을 만든 것이다.
다음 시간: 우리는 레벨디자인에 객체를 위치시킬 것이고, 나무, 덤목, 펜스, 다른 장식품들로 환경들을 채울 것이다.