
이 문서는 Martin Reinmann의 강연을 바탕으로 우드 버그가 2D 광원을 사용하여 분위기를 만드는 방법입니다. 씬을 제작하는 스튜디오의 개발 프로세스와 Tails of Iron의 환경 월드를 제작하기 위해 Unity 2D 조명 시스템과 커스텀 툴을 결합한 방법을 다룹니다.

Tails of Iron은 영국 맨체스터에 위치한 친구와 아티스트의 회사인 Odd Bug Studio에서 개발되었습니다. 게임은 플레이어가 문이나 터널을 통해 한 씬에서 다른 씬으로 자유롭게 이동할 수 있는 다양한 레벨로 구성됩니다.

모든 씬 제작은 스튜디오의 레벨 디자이너가 만든 커스텀 툴인 콜라이더 툴에서 시작됩니다. 이는 레벨의 기반으로 배치되어 씬에 일반적인 모양을 부여합니다. 플레이어가 걸어가는 표면이기도 합니다. 콜라이더 라인은 에셋 배치를 생성하고 씬에 배치하는 데 필요한 합성과 아이디어를 스케치하는 가이드로 사용됩니다.
하지만 이를 위해서는 스튜디오의 리드 프로그래머인 매트 테일러가 만든 커스텀 툴인 Light and Layer Tool을 사용하여 씬을 설정해야 합니다. 이 툴을 사용하면 여러 개의 별도의 스프라이트 에셋을 사용하여 세부적인 레벨을 빌드하여 패럴랙스 레벨을 생성하여 조명과 스프라이트 에셋의 소싱과 순서를 관리할 수 있습니다.
팀이 배경과 미드그라운드와 같은 레이어를 정의하면 광원 및 레이어 툴은 씬 섹션의 모든 스프라이트 렌더러를 수집합니다. 그런 다음 에셋을 레벨 섹션의 각 에셋의 z 깊이에 따라 가장 가까운 곳에서 가장 먼 곳으로 정렬할 수 있습니다. 이 목록이 생성된, 발생된 툴이 값을 선형적으로 할당하여 에셋이 올바른 순서로 렌더링되도록 합니다.
이 단계를 완료하면 툴이 씬에서 이전에 정의한 세분화를 기반으로 레이어를 할당합니다. 특정 2D 광원의 영향을 받는 스프라이트 렌더러를 정의합니다. 이 두 프로세스를 결합하면 스튜디오는 레이어별로 구체적인 조명 시나리오를 사용하여 디테일한 대규모 패럴랙스 레벨을 만들 수 있습니다.
또한 팀은 특정 레벨을 위한 여러 아틀라스로 나누어진 에셋 라이브러리를 만들었기 때문에 씬에 사용할 에셋을 쉽게 선택할 수 있었습니다. 에셋을 특정 수준에 연결하면 최적화에 도움이 됩니다. 아틀라스는 바위, 나무, 작은 에셋과 같은 카테고리로 분류됩니다. 보통 팀은 미드그라운드 에셋을 배치하여 콜라이더를 아웃라인하고 씬의 표면을 강화하는 것으로 시작합니다.
몇 개의 에셋을 전경과 배경에 배치하면 조명을 설정하는 데 도움이 됩니다. 나무, 바위, 언덕과 같은 대형 에셋을 계속해서 사용하여 합성을 높이고 나중에 디테일을 추가합니다. 에셋의 위치가 지정되면 Light Tool의 'Sort' 기능을 사용하면 에셋이 올바르게 할당되고 올바른 뎁스 / 게재되고 있는 광고의 개수 렌더링됩니다.
자산을 배치하는 것은 때때로 큰 3D 퍼즐과 같습니다. 플레이어가 읽을 수 있는 효과적인 씬을 만드는 데 적합한 셰이프를 찾는 것은 어려울 수 있습니다. Odd Bug는 각 씬을 고유하게 만들고자 했습니다. 이를 통해 플레이어가 월드를 탐색할 수 있습니다. 각 씬은 고유의 랜드마크나 에셋으로 기억에 남을 수 있습니다.
에셋을 서로 다른 깊이에 배치하여 플레이어가 씬을 통과하면서 패럴랙스 효과를 만들고 원근 카메라가 이를 따라갈 수 있습니다. 이것은 z 축이나 카메라에 더 가까이 배치하여 자산을 과장시킬 수 있습니다. 카메라에 가장 가까운 에셋을 어두워지거나 완전히 검은색으로 유지할 수 있습니다. 이렇게 하면 화면 가장자리 근처에 테두리가 생성되고 뎁스 / 게재되고 있는 광고의 개수 강화됩니다.
Odd Bug의 커스터마이즈된 광원 툴의 또 다른 장점은 각 세분화 레이어가 수평선으로 이동할 때 컬러를 페이드링하여 인공 뎁스 / 게재되고 있는 광고의 개수 즉시 생성한다는 점입니다. 이를 통해 팀은 밀도를 조정하고 해당 페이드의 전역 광원 컬러와 볼륨을 설정할 수 있습니다. 이렇게 하면 가로이 페이드 및 대기 안개로 최적화된 착시가 생성되며, 추가된 광원과 파티클과 결합하면 씬의 분위기가 크게 다를 수 있습니다.

에셋이 씬에 채워지면 조명을 추가하여 분위기를 조정하고 씬의 중요한 부분을 강조할 수 있습니다. Unity 2D 조명은 커스텀 Light Tool 워크플로와 함께 사용할 수 있습니다.
Odd Bug는 멀티레이어 패럴랙스 Vision 위해 2D Unity 조명 시스템을 조정했습니다. 각 2D 광원은 수동으로 정의된 세분화 레이어를 사용하여 씬에서 이 광고의 개수를 바탕으로 자체 레이어를 결정합니다. 또는 팀은 2D 광원이 영향을 미치는 레이어를 수동으로 설정할 수 있습니다.
각 섹션의 2D 광원은 자동으로 각 레이어의 스프라이트에 올바르게 조명을 적용합니다. 이를 통해 광원이 배치되는 위치에 따라 조명을 크게 제어할 수 있습니다. 예를 들어, 더 강력한 점 광원을 설정하여 미드그라운드와 그 안에 있는 캐릭터에 조명을 비추고 배경에 페이드된 광원을 적용하여 미드그라운드에 초점을 맞출 수 있습니다.
Layered Light System은 실루엣 씬과 같은 멋진 효과를 만드는 데 유용하며, 배경에 광원이 배치되어 배경 레이어에만 영향을 주도록 할당되므로, 중간 및 전경 레이어에는 매우 어두운 광원이 생깁니다. 또한 창문이나 문문 뒤에 광원을 추가하여 다른 분위기를 만들 수도 있습니다.
씬 전반에서 주로 다음과 같은 세 가지 광원 유형이 사용됩니다. 점, 프리폼, 스프라이트

점 광원은 중요한 에셋을 강조하거나 인공 그림자를 만드는 데 빠르게 배치할 수 있는 2D 원이기 때문에 게임에서 가장 일반적으로 사용됩니다. 볼륨 불투명도를 높여 배경의 안개 빛으로 사용하거나 광원의 감쇠 강도를 조정하여 램프의 빛으로 사용할 수 있습니다.

창 같은 특정 모양의 에셋에 강력한 광원을 추가하려면 프리폼 광원을 사용할 수 있습니다. 에셋의 모양을 추적하고, 감쇠 조명을 미세 조정하고, 조명을 에셋의 정확한 뎁스 / 게재되고 있는 광고의 개수 맞게 설정하기만 하면 됩니다. 그러면 오브젝트가 빛을 방출하는 것처럼 보입니다.

스프라이트 광원을 사용하면 특정 에셋을 광원 자체로 투사할 수 있습니다. 팀은 이 기능을 텍스처가 적용된 광원 빔에 사용했습니다. 씬에 배치하고 회전하면 광원이 다양한 각도에서 나오는 것을 볼 수 있습니다. 다양한 광원 유형을 결합하면 캐릭터가 대기광으로 조명을 받는 씬을 만들 수 있습니다.

씬에 조명이 잘 비추면 파티클 효과를 배치하여 움직임을 유도하고 부드럽게 보이는 영역을 부드럽게 다듬을 수 있습니다. 파티클 안개를 선택한 z / 게재되고 있는 광고의 개수에 배치하여 적절한 레이어 분할에 렌더링하도록 설정할 수 있습니다. 안개는 개별 레이어를 분리하여 더 뎁스 / 게재되고 있는 광고의 개수 만들 때 유용한 효과입니다. 레일즈 오브 아이언에서는 안개를 미드그라운드 앞에 배치하면 월드의 캐릭터도 지면에 놓여 있습니다. 이렇게 하면 안개가 플레이어가 갈 방향으로 약간 움직입니다.
다음 단계에서는 씬에 따라 먼지 조각, 비, 낙엽 같은 대기 효과를 추가합니다. 카메라와 더 가까워서 더 강력한 패럴랙스 효과를 만들면 좋습니다. 빗물 효과는 떨어지는 물방울과 지면에 배치된 애니메이션화된 물방울 파티클의 조합입니다. 거의 모든 에셋과 마찬가지로 이 파티클은 게임의 패럴랙스 효과와 일관되도록 자체 레이어를 할당합니다.
씬에 높은 잔디나 꽃, 나무가 있다면 약간의 움직임을 주세요. 리드 프로그래머 매트 테일러는 씬에서 선택한 모든 나뭇잎 스프라이트 셰이더를 바람에 함께 애니메이션화하는 단일 특수 셰이더로 변환하는 툴을 만들었습니다. 팀은 각 에셋의 값을 개별적으로 조정할 수 있습니다. 나뭇잎은 나무 상단 주변에 다양한 크기의 잎 청크에 배치되어 움직임을 더 자연스럽게 만듭니다.
이 씬은 컬러 프로세싱과 비네트로 연결되어 있습니다. 커스텀 툴을 사용하여 포스트 프로세싱에 영향을 주고자 하는 씬 영역 위에 상자를 그립니다. 플레이어가 씬을 지나갈 때 블렌딩되는 다양한 요소나 전체 씬에 드래그할 수 있습니다. 씬에 낮과 밤 등 여러 상태가 있는 경우 게임에서 켜거나 끌 수 있는 모든 광원, 에셋, 필터가 포함된 폴더를 씬에 생성할 수 있습니다.
마지막으로 팀은 씬을 다듬을 때까지 에셋, 배치, 기타 모든 요소에 대해 최종 패스(또는 세 개)를 수행합니다. Tails of Iron 및 그에 대한 자세한 정보나 질문은 트위터에서 @OddBugStudio를 팔로우하세요.
Unity의 2D 툴이 무엇을 할 수 있는지 확인하려면 Lost Crypt 샘플 프로젝트를 다운로드하세요. 이 프로젝트에서는 튜토리얼 창을 통해 2D 애니메이션, 2D 스프라이트 셰이프, 2D 타일맵, 2D 광원, 2D용 셰이더 그래프, 보조 텍스처와 볼륨 포스트 프로세싱과 같은 기능을 사용해 볼 수 있습니다.

아티스트를 위한 2D 게임 아트, 애니메이션, 조명은 상용 2D 게임을 제작하려는 Unity 개발자와 아티스트를 위한 가장 포괄적인 2D 개발 가이드입니다.