본문 바로가기

로블록스 개발에 필요한 전반적인 내용들

몰입감 넘치는 게임 디자인 만들기

원본 https://medium.com/roblox-developer/creating-immersive-environments-2506729f62bb

게임에 있어서 몰입감은 플레이어에게 게임을 계속 플레이하게 만드는 핵심중에 핵심이다.  게임의 맵의 몰입감이 부족하면 제작자의 의도나 스토리에 플레이어가 좀더 몰입할 수 있는 기회를 없애버리는 결과를 초래한다. 

 

좋은 맵 디자인에는 언제나 스토리와 연결된다. 예를 들어, 무성하게 풀과 나무가 자라나 있는 도시의 배경이라면 그것은 방치된 느낌을 강하게 줄 것이다. 그러면 자연스럽게 방치된 도시가 된 이유나 그 속에서 나오는 스토리가 연결된다. 무너져가는 건물이나 구조물은 전투나 재난상황이라는 스토리와 연결될 것이다. 따라서 스토리가 어떤 내용이느냐에 따라서 맵의 디자인은 바뀌게 된다. 이것이 몰입감 넘치는 게임이다. 

 

맵을 처음 디자인하는 것은 어렵다. 어디서부터 시작해야 할지, 어떻게 시작해야 할지 모를때는 시작조차 하기 어렵다. 여기서는 맵 디자인의 프로세스를 단순화하고 속도감을 높이기 위해서 취할 수 있는 방법에 대해 알아보자.

배경 디자인

Bad Business(Roblox의 FPS게임)의 맵 디자인. 위의 이미지는 구획을 만들고 최종 세부 배경 디자인으로의 전환을 보여준다.

첫번째 단계로 구획을 정의해서 블럭으로 표현한다. 이렇게 표현한 불럭 단위의 구획을 다시 구체적으로 다시 집이나 나무, 다리등으로 제작한다. 일견 매우 지루해 보일 수 있다. 맵 디자인을 2번할려는 사람은 많지 않을 것이다. 하지만, 이렇게 크게 구획을 나누고 블럭화 시키는 일은 작업 자체를 추상화시켜서 나중에 크게 수정할 일이 없는 배경을 디자인하는데 크게 도움을 준다. 게다가 나눠진 구획은 그대로는 아니더라도 크게 봤을 떄, 물리적인 블럭으로도 처리됨으로 실제 게임을 물리 엔진으로 적용시킬 때에도 많은 도움을 줄 수 있다.

 

Ready Player Two(로블록스의 인기 게임)에 사용된 선형 FPS 맵. 플레이어의 시각을 어느정도 차단하기 위해 안개같은 날씨와 나무, 집을 사용하는 것은 강제적 원근법의 예.

게임 배경을 만드는데 효과적인 방법중에 강제 원근법이 있다. 착시를 사용하여 시각적으로 원근법을 만들어내는 방법인데, 많은 3D 게임에서는 이 방법을 사용하여 리소스를 절약한다. 예를 들어, 강제적 원근법은 실제 크기보다 더 작게 보이도록 개체의 크기를 조정하여 3D 배경을 만들거나 에셋을 적절하게 배치를 잘 하거나 조명을 사용하여 만들어 낼 수도 있다.

 

XAXA의 "Brushtool" 스크린샷과 Bad Business의 FPS 맵에 적용된 일부 기능

마지막으로 variation(변형, 다양함)은 몰입형 맵 디자인의 핵심이라고 할 수 있다. XAXA사의 "Brushtool"이라는 커뮤니티 플러그인을 사용하길 권유한다. Brushtool을 사용하면 플러그인에 자신의 에셋을 추가한 다음, RNG를 사용하여 맵에 배치할 때 해당 에셋을 변형해 줘서 다양함을 만들어 낼 수 있다. 

 

Variation은 몰입감을 만들어 내는 이유는 현실 세계는 완벽하지 않기 때문이다. 바위는 바서지고 플라스틱은 움푹 들어갈 수 있고 철로 만들어진 것은 녹슨다. Variation을 만드는 쉬운 방법으로 Brushtool이 제공하는 기능처럼 색상에 미묘한 변화를 주는 것이다. 좋은 예로 나무 바닥을 생각해 보자. 널판지를 놓고 몇 개는 더 밝거나 어두운 색조로 변경하면 대비를 만들어줘서 쉽게 Variation이 생기게 된다. 결론은, 현실생활에서는 모든 것들은 완벽하지 않기 때문에 Variation을 만들어 주면 현실처럼 몰입감이 생기게 된다.

Lighting(조명)과 Roblox Studio

조명은 3D 게임환경에 몰입감을 주는 가장 간단한 방법 중 하나이다. 주변 조명, 색조, 채도(ambient lights, hue, satuation) 등과 같은 것을 간단히 조정하면 게임 배경 전체가 확 달라질 수 있다. 그렇기 때문에 Roblox Studio에서 제공하는 Lighting 속성에 익숙해지는 것이 중요하다. 그리고 로블록스 스튜디오에서 제공되는 필터들 역시 익숙해 지면 좋다. 조명 효과에 영향을 줄 수 있는 설정은 많이 있지만 배경의 룩앤필(Look and Feel)에 가장 크게 기여하는 속성만을 간추려서 소개하겠다.

다양한 빛이 배경에 어떻게 영향을 주는지 보여주는 라이트닝 데모

 

조명과 색상의 혼합이 얼마나 더 Friendly한 환경을 만들 수 있는지 보여주는 카툰 렌더링 배경.

Brightness(밝기)는 올바르게 적용하면 진정한 몰입 환경을 만들 수 있는 속성 중 하나이다. Brightness 값이 높을수록 하이라이트가 많아 진다. 하이라이트는 그림자와 반대의 의미.

로블록스 스튜디오에서 AmbientOutdoorAmbient는 그림자에 영향을 많이 준다. Ambient는 일반적으로 "그림자"의 색상이라고 보면 되지만, 보다 테크니컬하게 파고들면 그림자가 생겼을 때의 어떤 개체의 색상이라고 봐야한다. 이 두 속성을 적절히 변경하면 분위기를 바꾸고, 좀 더 환상적인 환경을 만드는 데 크게 도움이 될 수 있다.

 

보다 현실적인 배경을 원한다면, EnvironmentDiffuseScale 과 EnvironmentSpecularScale 속성을 사용하는 것이 더 나을 수 있다. EnvironmentDiffuseScale은 개체 색상을 기반으로 개체에 빛이 반사되는 방식을 처리하며 일부 장소에서는 AmbientOutdoorAmbient 대신 사용할 수 있다. EnvironmentSpecularScale은 환경에 따라 개체에 반사되는 빛에 영향을 준다. 금속과 같은 재질에 좀더 사실적인 반사를 제공하여, 보다 현실적인 환경을 만들어 낼 수 있다.

 

조명 데모 이미지에 사용된 필터 속성값

마지막으로 주목해야 할 필터는 BloomEffect필터, ColorCorrection필터와 SunraysEffect필터이다.

 

Bloom는 반짝 빛남(Glow)의 색상을 얼마나 더 밝게 해줄 수 있느냐의 설정값이다.

 

ColorCorrection을 사용하면 TintColor, Saturation 및 Contrast와 같은 색상을 재미있게 변경할 수 있다. ColorCorrection의 brightness 속성은 color의 shade나 tint를 변경하는 것과 유사하게 작동했지만 더 큰 규모로 적용됩니다.

 

SunraysEffect는 태양의 지리적 위도에 따라 배경에 태양 광선을 시뮬레이션하는 설정값에 대한 필터이다.

 

Lighting의 요소들을 이해하고 결합하고 적절히 설정하면 보다 몰입감 있는 환경을 만들 수 있다. 속성을 원하는 대로 조작해 보고 시행착오를 통해 최상의 조명 설정을 찾을 수 있다. 그리고 이미 나와 있는 최적화된 설정값을 찾아내서 참고해 보는 것도 좋은 방법이다.

 

블로그 내용중에 관련 예가 있는 링크

2021.05.14 - [로블록스 개발 중급] - 로블록스 Atmosphere(분위기, 안개) 이펙트

2021.05.13 - [로블록스 개발 중급] - 커스텀 필터 사용하기(Post-Processing Effect)

색상과 메터리얼(Material)

색상과 재료의 적절한 사용이 환경의 느낌을 완전히 바꿀 수 있는 방법을 보여주는 예. 오른쪽 이미지는 좋은 대비를 만들기 위해 삼원색을 사용함.

색상 이론을 이해하고 환경에 적용하는 방법을 배우는 것도 중요하다. 색상 이론의 가장 중요한 것은 기본 색상환이다.

색을 표현하는 기본 요소를 가지고 표시할 수 있는 모든 색 중에서 대표적인 색을 고리모양으로 연결하여 나타낸 것이 색상환이다.

색상환에는 기본 색상(빨간색, 파란색 및 녹색), 2차 색상(기본 색상을 혼합하여 생성된 색상으로 구성) 및 3차 색상(1차 및 2차 색상을 모두 혼합하여 생성)이 있다. 그리고 이러한 모든 잠재적인 색상 내에서 따뜻한 색상과 차가운 색상으로 그룹화할 수 있다. 다양한 색상 유형과 그룹을 이해하면 다양한 환경에 대한 분위기를 디자인하고 설정할 때 도움이 된다.

 

기본 생상환에서 색상들의 기본적인 조합 체계로는 Complementary colors(보색), Analogous colors(유사색), Triadic colors(삼중색) 가 있다.

Complementary  colors
Analogous  colors
Triadic  colors

Complementary colors(보색)은 색상환에서 서로 맞은편에 있는 색상이다. 보색을 사용한 실제 사례에는 모두가 가장 좋아하는 휴일인 크리스마스가 있다. 빨간색과 녹색이 보색으로 이뤄진 크리스마스 이미지는 대중적으로 사용되는 데는 이유가 있다. Analogous colors(유사 색상)은 색상환에서 서로 바로 옆에 있는 색상이다. 이러한 색상은 하나의 색상을 주요 색상으로, 하나는 지원 색상으로, 마지막 색상은 강조 색상으로 사용하여 서로를 보완한다. 마지막으로 Triadic colors(삼중 색상)은 색상환 내부에 삼각형을 형성하는 색상이다. 이 삼중 색상은 대조적이며 동시에 조화를 이룬다. 그들은 눈을 압도하지 않고 시각적으로 즐거운 대조를 만든다.

 

3D 배경에서 색상 이론을 적용시키는 것은 생각보다 간단하다 어떤 색상이 가장 잘 어울리는지 파악하고 배경에 적용한다. 예를 들어 눈 덮인 산은 유사한 색상(예: 파란색 및 보라색)을 사용하는 동시에 3차 색상(예: 청록색 또는 노란색-주황색)을 사용하여 색상 대비와 배경의 변화를 나타낼 수 있다.

 

색상을 메터리얼(Material)과 관련지어 보면, Roblox Studio에서 제공하는 기본 메터리얼와 이를 영리하게 사용하는 방법을 이해하면 몰입형 환경을 더 잘 만드는 데 도움이 된다. 개인적으로 Sand 메터리얼은 적용할 수 있는 것이 더 다재다능하기 때문에 다른 많은 메터리얼의 대용품으로 사용한다. 때로는 어떤 메터리얼은 이름으로 지정된 것 보다 의도한 대로 보이지 않을 수 있다. Fabric 메터리얼의 경우가 대표적인데, Fabric 메터리얼임에도 불구하고 전혀 천의 제질과는 달라 보일 떄가 많다. 보통의 경우 이럴 때는 Fabric 메터리얼보다는 Sand 메터리얼을 선택하여 패브릭의 느낌을 살리고 있다.  카툰 랜더링 배경이라면, SmoothPlastic 메터리얼을 사용해 보기를 추천한다. 색생의 미묘한 대비를 잘 전달하는 메터리얼이라고 생각한다.

 

메터리얼의 종류는 무한한것이 아니니, 스스로의 상상력과 창의력을 발휘해서 어떤 메터리얼이 어떨 때에 어울릴지 잘 판단하길 바란다.

결론

강제 원근감, 조명, 색상 및 메터리얼을 창의적으로 사용하여 몰입감있는 3D 배경을 보여주는 예.

로블록스 스튜디오에서 몰입형 배경환경을 만들기 위한 몇 가지 팁과 툴에 대해 알아봤으니 이제 잘 조합하여 활용을 해볼 차례이다.

결과는 같아도 다른 많은 방법이 있다는 걸 기억하자. 상상력과 창의력을 사용하여 영리하게 활용하는 것이 중요하다.