
픽셀 조명 제작하기
Tutorial
Beginner
+10XP
20 mins
Unity Technologies
유니티 Spot Light 2D를 픽셀 아트 스타일로 제작하는 방법에 대해 소개하는 차시입니다.
1. Spot Light 2D 배치하기
이제 어두어진 던전에 조명을 추가하여 한층 분위기를 자아내보도록 하겠습니다. Hierachy 창의 + 버튼을 통해 Light > Spot Light 2D를 클릭하여 조명을 하나 추가합니다. Global Light 2D와 같이 Color와 Intensity를 조절하여 원하는 색상으로 만들 수 있습니다. 또한 Radius의 Outer를 조절해 조명 영역을 넓힐 수 있습니다.
Spot Light 2D는 Scene에서 직관적으로 모양을 편집할 수 있습니다. 노란색 커서와 삼각형 위치를 조절하면 일정 부분만 밝히는 스포트라이트 형태로도 제작할 수 있습니다. 이러한 느낌으로 상단 왼쪽과 오른쪽에 스포트라이트를 배치해봅니다.
Radious 속성 아래에 있는 Inner / Outer Spot Angle 의 두 값의 차이가 적을 수록, 그리고 Falloff Strength 값이 낮을 수록 조명의 경계가 더욱 선명해집니다.
2. 픽셀 라이트 제작 첫번째 : Pixel Perfect Camera 활용하기
분위기는 더욱 좋아졌지만 보시다시피 픽셀 아트와는 거리가 조금 있어보입니다. 유니티에서 2D 조명을 픽셀화 하는 방법은 여러가지가 있지만 그 중에서 쉬운 방법 중 하나인 Pixel Perfect Camera 컴포넌트 활용법을 먼저 소개하겠습니다.
픽셀이 두드러지는 픽셀 아트 스타일은 스크린에 따라서 픽셀의 크기가 일정하지 않을 수 있습니다. 그렇기 때문에 카메라 객체에 Pixel Perfect Camera 컴포넌트를 추가하여 화면에 보이는 모든 픽셀이 고르게 나타나도록 할 수 있습니다. 지금 Main Camera에 Add Component를 통해 Pixel Perfect Camera 컴포넌트를 추가해보세요.
Pixel Perfect Camera는 더욱 정확한 픽셀 퍼펙트를 위해 에셋의 Pixels Per Unit 정보를 필요로 합니다. 그렇기 때문에 이 속성에는 픽셀 아트 스프라이트 에셋들이 사용하는 Pixel Per Unit과 동일한 값을 적어야 합니다. 이후 Reference Resolution을 조정하여 알맞은 화면 크기를 지정합니다.
만약 Game창 상단에 해상도가 잘못되었다는 에러 메세지가 표시되어 있다면 Game창의 해상도가 짝수가 되도록 마우스로 창의 크기를 조절하시길 바랍니다. 해상도가 짝수가 된다면 이 메세지는 자연스럽게 사라집니다.
픽셀아트 스타일의 게임을 제작한다면 Pixel Perfect Camera 컴포넌트는 매우 중요한 역할을 할 것입니다. 여기서 한층 더 발전시켜서 화면의 픽셀들을 일정한 픽셀 위치에 스냅핑할 수 있는 Grid Snapping 속성을 사용하면 더욱 레트로 느낌의 화면으로 변화시킬 수 있습니다.
Grid Snapping을 클릭하고 Upscale Render Texture로 설정하면 객체의 이동 및 회전은 물론 Spot Light 2D의 경계도 픽셀화가 된 것을 확인할 수 있습니다.
다만 객체를 추적하는 등 이동하는 카메라일 경우 사용자에게 어지러움을 부여할 수 있으므로 고정 카메라를 사용하는 방향으로 개발하는 것을 추천드립니다.
3. 픽셀 라이트 제작 두번째 : Sprite 에셋 활용하기
픽셀 아트와 적절하게 혼합하기 위한 두번째 라이팅 방식은 미리 제작된 스프라이트 에셋을 활용하는 것입니다. 정말 쉽죠? 이 프로젝트에서도 픽셀 라이팅을 위한 스프라이트 하나가 포함되어 있는데요, 에셋 폴더에서 Sprites > Props 폴더에는 SpotLight 스프라이트 하나가 있습니다.
사용 방법 또한 간단합니다. Hierachy 창의 + 버튼을 통해 Light > Sprite Light 2D를 클릭하여 조명을 하나 추가합니다. Sprite 속성은 SpotLight 스프라이트로 변경하고 객체 위치를 Mineral과 겹치게 옮깁니다. Mineral의 조명인 만큼 색상도 푸른색으로 바꾸면 더욱 좋겠네요.
이 방법은 다른 컴포넌트의 도움이 필요없지만 유니티 에디터에서 자유로운 형태로 변형할 수 없기 때문에 다양한 형태가 필요하면 그만큼 많은 스프라이트 에셋이 필요하다는 단점이 있습니다. 그래도 원하는 레트로 조명 모양을 얻기엔 이만한 방법도 없죠.
이 프로젝트는 특별히 Sprite Light를 더욱 생동감 있게 표현하기 위해 작은 비주얼 스크립트 그래프가 준비되어 있습니다. Sprite Light 객체에 Add Component > Visual Scripting > Script Machine을 클릭하여 추가하고 Graph 속성에 Scale Wave 그래프를 할당해주세요. 또한 Variables 컴포넌트에 Speed 라는 이름의 Float 타입 변수를 추가하고 적절할 값을 기입해두고 플레이 모드로 진입하면 부드럽게 스케일링되는 조명을 감상하실 수 있습니다.
이제 어느 정도 조명을 배치해두었으니 좀 더 다듬어보는 시간을 가지도록하겠습니다. 다음 차시로 넘어가시죠.