초보자를 위한 Godot 조명 활용법
요약
본 영상은 Godot 엔진을 사용하여 게임 내 조명 효과를 연출하는 방법을 초보자도 쉽게 배울 수 있도록 안내합니다. 환경 노드 설정부터 Directional, Omni, Spotlight 등 다양한 라이트 노드의 사용법과 각 빛의 특성(에너지, 그림자)을 활용하여 장면의 분위기를 조성하는 실질적인 팁들을 다룹니다.
핵심 포인트
- Godot에서 조명 연출은 환경(Environment) 노드 설정부터 시작합니다.
- Directional light는 태양처럼 특정 방향에서 빛을 비추는 데 적합합니다.
- Omni light는 전구처럼 지점으로부터 반경으로 빛을 방출하는 용도로 사용됩니다.
- Spotlight는 손전등처럼 원뿔 모양의 빛을 좁은 영역에 집중시킬 때 유용합니다.
영상: 초보자를 위한 Godot 조명 활용법
채널: Brackeys
길이: 39분 28초
출처: 자막 (자동, 영어)
저는 조명을 정말 좋아해요. 잠깐만요. 주로 그것이 얼마나 강력할 수 있는지 때문이에요. 조명이 부족하면 아무리 멋져 보이는 장면이라도 망칠 수 있고, 좋은 조명은 단순한 것을 흥미롭게 만들 수 있어요. 그리고 장면에 조명을 넣는 것은 매우 창의적인 과정인데, 게임의 미학을 정의하는 데 도움을 줄 수 있기 때문이죠. 그래서 이 영상에서는 다양한 분위기를 연출하기 위해 조명을 어떻게 사용하는지 알아볼 거예요. 제가 이 실내 장면과 야외 낮 시간 장면을 비추기 위해 사용했던 모든 트릭들과, 낮 시간을 밤 시간으로 매우 빠르게 바꾸는 방법을 보여드릴게요.
이것은 여러분의 기술을 다음 단계로 끌어올리도록 설계된 완벽한 학습 경로입니다. 버전 관리(version control), 셰이더(shaders), 절차적 생성(procedural generation)과 프로그래밍 패턴의 모범 사례와 같은 핵심 주제들을 깊이 파고들게 될 거예요. 게다가 멀티플레이어 개발 방법과 맞춤형 플러그인을 만드는 방법도 배울 수 있습니다. Sam의 플랫폼은 전문 비디오 튜토리얼, 필기 학습 자료, 그리고 인터랙티브 퀴즈를 통해 배우는 것을 재미있고 실용적으로 만듭니다. 7일 무료 체험이 포함된 단일 구독으로 Unity, Python, Unreal과 같은 주제에 대한 300개 이상의 다른 강좌와 함께 이 전체 경로를 이용할 수 있습니다.
보시다시피, 기본적으로 Godot은 에디터에서 작업할 때 프리뷰(preview), 태양(sun), 그리고 환경(environment)을 사용합니다. 그래서 장면을 어둡게 만들려면 이 아이콘을 눌러 프리뷰 태양을 비활성화할 수 있지만, 여전히 완전히 검지는 않아요. 이것은 프리뷰 환경도 장면에 빛을 기여하기 때문이에요. 그래서 우리는 그냥 프리뷰 환경도 비활성화하면 될 거라고 생각할 수 있죠. 하지만 이렇게 하면 Godot이 이 끔찍한 회색 색상으로 기본 설정됩니다. 대신에, 우리는 프리뷰 환경을 활성화해야 해요. 이 세 개의 점 아래로 가서 환경(environment)을 우리 장면에 추가하세요.
보시다시피, 이제 월드 환경(world environment) 노드가 생겼습니다. 여기서 '환경(environment)' 아래로 가서 배경 모드를 하늘(sky)에서 사용자 지정 색상(custom color)으로 설정할 수 있습니다. 그리고 색상이 검은색으로 설정되어 있기 때문에, 우리 장면이 어두워지는 것을 볼 수 있습니다. 또한 여기 '글로우(glow)' 아래로 가서 비활성화하겠습니다. 이제 우리의 장면은 완전히 어둡기 때문에, 빛의 효과만을 보기 위해 라이트 노드(light node)를 추가할 수 있습니다. 만약 GDAU에서 3D 게임 제작에 대한 저희 영상을 보셨다면, 우리 장면에 배치할 수 있는 세 가지 다른 라이트 노드가 있다는 것을 아실 겁니다.
방향광(Directional light)은 특정 방향에서 전체 장면에 빛을 비춥니다. 종종 태양이나 달로 사용됩니다. 오미 라이트(Omni light)는 지점으로부터 반경으로 빛을 방출합니다. 전구와 같다고 생각하시면 됩니다. 그리고 스포트라이트(Spotlight)는 자신이 가리키는 방향으로 원뿔 모양의 빛을 방출하는데, 손전등과 비슷합니다. 이 라이트들을 가지고 놀기 시작하는 것은 꽤 쉽습니다. 그냥 하나를 장면에 추가하고 적절한 곳에 배치하기만 하면 됩니다. 하지만 알아두면 좋은 몇 가지 사항이 있습니다. 예를 들어, 여기에 오미 라이트를 추가했지만, 빛들은 실제로 많은 공통 속성을 공유합니다.
예를 들어, 모든 라이트의 '그림자(shadow)' 아래로 가면 여기서 그림자를 활성화할 수 있습니다. 또한 '빛(light)' 아래로 가서 빛의 강도인 에너지(energy)를 설정하고 색상을 선택할 수도 있습니다. 하지만 각 라이트에만 특정한 설정들도 있습니다. 예를 들어, 여기 오미 라이트 아래에서 우리는 빛의 범위를 설정할 수 있습니다. 그리고 기즈모(gizmo)로 그것을 조정할 수도 있습니다. 또한 감쇠(attenuation)를 변경할 수 있는데, 이것은 광원으로부터 멀어질수록 빛이 어떻게 약해지는지를 제어합니다. 감쇠 값이 2인 것은 물리적으로 정확합니다.
지금 GDO는 아주 작은 지점에서 빛을 방출하고 있습니다. 더 큰 광원에서 나오는 빛을 시뮬레이션하기 위해 크기를 늘릴 수 있습니다. 이것이 두 가지 효과를 가져오는 것을 볼 수 있습니다. 첫째, 반사광의 밝기(size)가 커집니다. 그리고 또한 그림자가 더 부드러워지는 결과를 낳습니다. 광원의 크기를 키우는 것은 정말 멋진 결과물을 줄 수 있지만, 성능에 매우 부담이 되므로 주의해서 사용해야 합니다. 만약 그림자가 흐릿하게 보인다고 느낀다면, 언제든지 프로젝트(Project) 설정으로 들어가 고급 설정(advanced settings)을 활성화한 다음 아래로 스크롤하여 라이트 및 그림자(lights and shadows) 섹션을 찾을 수 있습니다.
여기서 방향성 그림자(directional)와 위치 기반 그림자(positional) 모두에 대해 부드러운 그림자 필터 품질(soft shadow filter quality)을 높일 수 있습니다. 저는 여기를 '높음(high)'으로 설정할 것이고, 그러면 즉시 그림자가 훨씬 더 부드럽게 보이도록 할 것입니다. 스포트라이트(spotlight) 역시 많은 설정을 공유하지만, 이 광원에서는 각도(angle), 즉 원뿔의 폭과 각도 감쇠(angle attenuation)를 제어할 수 있습니다. 여기서 각도 감쇠는 다시 원뿔 가장자리에 가까워질 때 빛이 어떻게 약해지는지를 제어합니다. 그리고 방향성 라이트(directional light)도 예외가 아닙니다. 여기에도 많은 설정들이 있지만, 방향성 그림자(directional shadow) 아래에서 최대 거리(max distance)를 조정할 수 있습니다.
이것은 우리가 방향성 광원에 의해 드리워진 그림자를 얼마나 멀리까지 볼 수 있는지를 제어합니다. 이것은 물론 성능 최적화이지만, 만약 그림자가 카메라에 너무 가까운 곳에서 사라지는 것을 발견한다면, 최대 거리를 단순히 늘리면 됩니다. 이제 언급했듯이, 라이트 노드(light nodes)가 GDO에서 빛의 유일한 광원은 아닙니다. 보았듯이, 월드 환경(world environment)도 우리 장면에 빛을 추가할 수 있습니다. 이것을 환경광(environment light)이라고 부르겠습니다. 기본적으로 월드 환경은 우리가 선택하는 배경에 따라 장면에 빛을 추가합니다. 따라서, 저희가 배경을 단색 검정으로 만들었기 때문에 현재는 환경광이 아무것도 추가되지 않고 있습니다.
하지만 이것을 더 밝은 색으로 변경하면, 그것이 장면의 빛에 얼마나 큰 영향을 미치는지 알 수 있습니다. 그리고 배경을 하늘로 설정하면, 우리의 하늘색이 이제 환경광을 결정합니다. 따라서 하늘을 수정하는 것은 장면에 큰 영향을 줍니다. 물론, 빛에 영향을 주지 않으면서 배경을 변경하고 싶을 수도 있습니다. 이 경우, 장면의 일정한 양의 빛을 추가하고 개별적으로 수정할 수 있는 '앰비언트 라이트(ambient light)'를 사용할 수 있습니다. 우리는 강도(intensity)를 조정하거나 소스를 배경과 완전히 다르게 설정할 수 있습니다.
하지만 환경은 장면에 또 다른 종류의 빛을 기여합니다. 무엇인지 추측해 보시겠어요? 지금 화면에서 볼 수 있습니다. 맞습니다. 바로 '반사광(reflections)'입니다. 이 구체처럼 매우 반사율이 높은 재질은 이것을 꽤 명확하게 보여줍니다. 하지만 약간만 반사되는 재질도 이것의 영향을 받습니다. 그리고 앰비언트 라이트와 마찬가지로, 여기에서도 개별적으로 제어할 수 있습니다. 마지막으로 알아야 할 중요한 점은 환경광이 '전역적(global)'이라는 것입니다. 앰비언트 라이트와 반사된 빛 모두 장면의 모든 지오메트리(geometry)에 영향을 미칩니다.
실내든 실외든, 가까이 있든 멀리 있든 상관없습니다. 때로는 이것이 원하는 것이고 때로는 그렇지 않을 수도 있습니다. 나중에 어떻게 영향을 줄 수 있을지 다루겠습니다. 또한, 저는 이 가이드 구체들을 비디오 전체에서 사용할 것입니다. 이것들이 밝기가 적절한지, 반사광이 제대로 작동하는지 보기 쉽게 해준다고 생각합니다. 만약 직접 해보고 싶다면, 복잡한 것은 아닙니다. 표준 재질(standard material)을 가진 세 개의 구체만 있으면 됩니다. 하나는 석탄처럼 거의 검은색이고, 하나는 종이처럼 거의 흰색이며, 하나는 거울처럼 반짝이는 것입니다.
이것의 정확한 재질 값은 사실 중요하지 않습니다. 좋습니다. 이제 우리는 사용할 수 있는 몇 가지 도구들을 알게 되었으니, 이것들을 어떻게 사용해서 아이디어를 표현할지 생각하기 시작할 수 있습니다. 조명은 예술 형태이며, 게임에서 무대나 영화에서만큼이나 중요한 것입니다. 그리고 조명의 가장 중요한 부분은 단연코 배치입니다. 피사체와 같은 높이에서 직접 비추는 빛은 덜 극적으로 느껴지는 경향이 있는 반면, 위 또는 아래에서 비추는 빛은 더 극적으로 느껴지는 경향이 있습니다.
사실, 동일한 설정의 조명 하나만 사용해서도 무언가 보기 좋고 매력적인 것을 어둡고 드라마틱하게 바꿀 수 있습니다. 좋습니다, 저는 드라마틱한 연출을 잘 못 하지만, 요점은 아시겠죠. 그리고 빛에 너무 집중하고 싶지는 않습니다. 제가 조명에 대한 영상에서 이상한 말을 한다는 것을 깨닫지만, 똑같이 중요한 다른 것도 있습니다. 바로 그림자입니다. 여기에 단일 조명과 매우 적은 그림자로 비춰진 원숭이가 있습니다. 정말 밋밋해 보입니다. 그리고 같은 빛을 사용했지만 약간 이동시키고 진한 그림자를 넣은 같은 원숭이가 여기 있습니다.
갑자기, 우리는 분위기, 흥미, 미스터리를 갖게 됩니다. 그리고 여러분은 이것을 영화에서 아마 알아차리실 겁니다. 로맨틱 코미디는 보통 밝고 균일하게 조명되며, 부드러운 그림자가 있고 빛의 색상은 따뜻합니다. 반면에 액션 스릴러는 보통 어둡고 불균일하게 조명되며, 진한 하드(hard) 그림자가 있고, 특히 밤 시간대에는 더 차가운 빛을 사용할 것입니다. 일반적으로 그림자는 미스터리를 의미합니다. 우리가 볼 수 없는 것을 우리는 상상하거나 궁금해할 수 있기 때문입니다. 물론, 우리는 하나 이상의 조명을 사용할 수도 있습니다. 그리고 제가 이것에 대한 가장 좋은 소개라고 생각하는 것은 쓰리포인트 라이팅(three-point lighting)이라는 개념입니다.
여기서 우리는 장면을 비추는 주된 광원인 키 라이트(key light)를 정의합니다. 야외 낮 시간대에는 키 라이트가 거의 항상 태양입니다. 그리고 이런 스튜디오 환경에서는, 이 큰 전면 조명이 제 얼굴을 비추는 것이 키 라이트가 될 것입니다. 하지만 게임에서는 여러 개의 키 라이트를 가진 장면이 많습니다. 특히 실내 장면에서 그렇습니다. 키 라이트는 종종 필 라이트(fill light)로 보완되는데, 이는 어두운 영역 일부를 밝게 하여 대비를 부드럽게 만듭니다. 저희의 설정에서는, 그림자가 진 제 얼굴 부분에 직접 비추는 출력이 낮은 조명을 사용합니다.
이것을 달성하기 위해 게임에서 환경광(environment light)을 사용하는 것은 일반적입니다. 마지막으로, 피사체 뒤쪽에서 오는 라이트인 림 라이트(rim light) 또는 백라이트(backlight)는 피사체의 형태를 정의하는 데 도움이 될 뿐만 아니라 배경으로부터 눈에 띄게 만듭니다. 저희도 이것을 사용합니다. 보시다시피, 이것은 제 머리의 형태를 정의하는 데 도움을 줍니다. 림 라이트는 장면의 나머지 부분과 다른 색상인 경우가 일반적입니다. 예를 들어, 여기 있는 조명은 앞쪽 조명보다 훨씬 차가운 색상으로 설정되어 있습니다. 따라서 이 세 가지 빛이 쓰리포인트 라이팅을 구성합니다.
비록 우리가 게임 장면을 비출 때 정확히 이 설정을 사용하지 않을 수도 있지만, 저는 거의 모든 것을 비출 때마다 이것에 대해 생각합니다. 자, 그럼 첫 번째 예제인 이 선술집을 비추는 것에 대해 정확하게 해보겠습니다. 이것은 실내 장면이기 때문에, 월드 환경 노드(world environment node)의 배경색을 검은색으로 설정하는 것부터 시작했습니다. 그리고 저는 바깥에서 어떤 빛이 새어 들어올지 생각했습니다. 만약 바깥이 칠흑같이 어둡거나 우리가 깊은 지하에 있다면, 아예 환경광을 사용하지 않을 수도 있습니다.
특히 매우 드라마틱하거나 오싹한 분위기를 연출하고 싶을 때 그렇습니다. 하지만 바깥이 밝다면, 저는 주로 환경광(ambient light source)의 출처를 하늘로 설정하고 이 장면에 자연스럽게 느껴지도록 매개변수를 조정합니다. 이 경우에는 밤 같은 느낌을 원했지만, 차가운 달빛이 살짝 비치는 분위기를 연출했습니다. 기본 하늘(default sky)도 이미 꽤 근접했기 때문에, 저는 그것의 색감을 약간 낮추고 파란색과 보라색 색조를 입혔습니다. 다음으로, 장면에 있는 물리적인 광원들을 찾습니다. 램프나 양초 등 빛을 방출할 수 있는 다른 물건들이 있나요?
이 경우에는 테이블 위의 양초들이 가장 먼저 눈에 들어왔습니다. 그래서 각각의 양초마다 omni light를 추가했습니다. 이 조명들은 범위가 좁고 따뜻한 색상을 가지고 있습니다. 양초가 네 개 있으므로, 빛이 상당히 은은한 광원인 경우 그림자(shadows)를 활성화하지 않음으로써 처리 속도를 높였습니다. 또한, 빛이 너무 멀리 퍼지는 것을 원치 않았기 때문에 감쇠(attenuation) 값을 2로 늘렸습니다. 다음으로 기름 등잔에 omni light를 추가했습니다. 이 조명은 더 크고, 따뜻한 느낌이 조금 덜하며, 그림자 활성화가 되어 있습니다. 이는 일종의 키 라이트(key light) 역할을 합니다. 그리고 화덕에도 같은 작업을 했지만, 이것은 진한 주황색을 필요로 했습니다.
제가 광원들을 빛의 근처나 바로 위에 배치하는 것을 주목해 주세요. 저는 이 방법이 가장 자연스러운 결과를 만들어낸다고 생각합니다. 또 하나 제가 하는 작업은 월드 환경(world environment)으로 들어가서 노출(exposure)을 조정하는 것입니다. 이 영상의 예시 장면들에서는 GDAU 4.4에서 사용 가능한 새로운 AGX 톤 매퍼(tone mapper)를 사용하여 약간의 색상 보정만으로 대비(contrast)를 추가했습니다. 이제, 이 시점에서 여러분은 '빛의 효과는 보이는데, 빛 자체는 안 보인다'고 생각할 수도 있습니다.
다시 말해, 플레이어가 볼 수 있는 발광 표면(emissive surfaces)을 정의할 방법이 필요합니다. 게다가 단순히 이 표면들이 밝기만 한 것이 아니라 빛나 보이게 해야 합니다. 실제 생활에서 광원(light source)을 볼 때, 주변에 후광(halo)이 형성되는 것을 자주 볼 수 있습니다. 이는 공기 중의 먼지나 연기와 같은 불순물에 의해 빛이 산란되기 때문입니다. 그리고 카메라로 촬영할 때도, 특히 렌즈의 유리가 더럽다면, 빛은 렌즈 자체에서 산란됩니다. 게임에서 이를 구현하려면 발광 재질(emissive materials)과 약간의 후처리(post-processing)를 결합해야 합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 YouTube Brackeys (Unity 튜토리얼)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기