유니티에서 라이트가 안 켜지는 이유는 라이트맵 설정, 오브젝트 스태틱 설정, 쉐이더 호환성 등 여러 원인이 복합적으로 작용합니다. 라이트맵 해상도 조정과 샘플링 재검증을 통해 대부분 해결할 수 있어요.
유니티 라이트가 안 켜지는 주요 원인 분석
유니티에서 라이트를 추가했는데도 제대로 표시되지 않는 경우가 많습니다. 이는 라이트맵 설정, 오브젝트 스태틱 설정, 쉐이더 호환성 등 여러 요소가 영향을 미치기 때문이에요.
가장 흔한 원인은 라이트맵이 제대로 베이킹되지 않거나, 오브젝트가 스태틱으로 표시되지 않은 경우입니다. 특히 새로 추가한 오브젝트의 경우 라이트맵에 포함되지 않아 어두운 상태로 남아있을 수 있어요. 실시간 라이트(Real-time Light)만으로는 광원 효과가 제한적이기 때문에 정적 라이팅도 함께 설정해야 해요.
또한 아바타나 캐릭터의 경우 라이트맵, 쉐이더, 메터리얼이 호스트 환경과 호환되지 않으면 라이트가 제대로 들어오지 않는 현상이 발생합니다. VRChat 같은 플랫폼에서 특히 이러한 호환성 문제가 자주 보이는데, 업로드 전 충분한 검증이 필수예요.
라이트맵 해상도 선택 및 최적화 전략
라이트맵은 1024 × 1024, 2048 × 2048, 4096 × 4096 중에서 선택하는 것이 일반적입니다. 맵의 크기와 표현할 디테일 정도에 따라 달라져요.
해상도별 추천 용도:
– 1024 × 1024: 소규모 맵, 모바일 게임, 빠른 베이킹 필요
– 2048 × 2048: 중간 규모 맵, 표준 권장, 성능과 품질 균형
– 4096 × 4096: 대규모 맵(500~700m MMORPG), 고품질 요구
해상도가 너무 높으면 베이킹 시간이 수십 분 이상 걸릴 수 있고 성능 저하도 심해요. 해상도를 낮춰서 먼저 테스트한 후 점진적으로 높이는 방식이 효율적입니다. 특히 개발 초기에는 1024로 빠르게 테스트한 후 완성 단계에서 2048이나 4096으로 올리는 게 좋아요.
오브젝트 스태틱 설정 확인 및 적용
라이트맵을 정상적으로 베이킹하려면 오브젝트가 “Static”으로 마크되어야 합니다. 유니티 에디터에서 오브젝트를 선택한 후 우측 상단 인스펙터 윈도의 “Static” 체크박스를 활성화해야 해요.
스태틱 설정의 영향:
– 체크 안 함: 해당 오브젝트는 라이트맵에 포함 안 됨 (실시간 라이트만 적용)
– 체크함: 라이트맵에 포함되어 정적 라이팅 적용
특히 다이나믹 오브젝트(움직이는 캐릭터, 애니메이션)와 스태틱 오브젝트(건물, 지형, 고정된 오브젝트)를 분리하지 않으면 베이킹 결과가 부정확할 수 있어요. 새 오브젝트를 추가했다면 반드시 스태틱으로 설정한 후 Window > Rendering > Lightmap Settings에서 “Bake”를 눌러 라이트맵을 재베이킹해야 합니다.
베이킹 중 발생하는 아티팩트(빗금, 그림자 뭉개짐) 해결
라이트맵 베이킹 중에 빗금 패턴이나 그림자가 뭉개지는 현상(쉐이딩 에러)이 발생할 수 있습니다. 이는 라이트맵 해상도와 샘플링 설정이 맞지 않을 때 나타나는 전형적인 문제예요.
단계별 해결 방법:
1. 라이트맵 해상도를 낮춥니다 (4096 → 2048)
2. 샘플링 값을 조정합니다 (고해상도일수록 높은 샘플링 필요)
3. 라이트맵 채널 설정을 확인합니다
4. 베이킹을 다시 실행합니다
이러한 아티팩트는 성능과 품질의 타협점을 찾는 과정이에요. 처음엔 낮은 해상도로 빠르게 테스트하고, 문제가 해결되면 천천히 높여 가며 최적의 설정을 찾으세요. 대부분의 경우 2048 해상도와 기본 샘플링으로 충분하니까 그곳부터 시작하는 걸 권장해요.
쉐이더와 메터리얼 호환성 점검 및 설정
특히 VRChat 같은 플랫폼에서 아바타나 월드를 만들 때, 라이트맵·쉐이더·메터리얼이 호스트 환경과 호환되지 않으면 라이트가 제대로 들어오지 않을 수 있습니다. 스케치업이나 블렌더 같은 외부 도구에서 FBX로 가져온 모델은 특히 호환성 문제가 많아요.
확인해야 할 필수 사항:
– 쉐이더 타입: 표준 라이트 쉐이더(Standard) vs 커스텀 쉐이더 검증
– 메터리얼 설정: Metallic, Smoothness 값이 적절한가 확인
– 라이트맵 UV: 별도 UV 채널(UV2)이 할당되었는가 확인
– 임포트 설정: FBX 임포트 시 “Generate Lightmap UVs” 체크
아바타나 월드를 업로드하기 전에 라이트맵·쉐이더 호환성을 반드시 점검하는 흐름이 필요해요. 특히 스케치업이나 외부 프로그램에서 가져온 모델은 유니티의 표준 라이트 쉐이더로 재설정해야 합니다. 임포트 직후엔 항상 메터리얼을 다시 할당하고 라이트맵 UV가 자동 생성되었는지 확인하세요.
FAQ
Q. 유니티 에디터에서 라이트를 추가했는데 화면에 나타나지 않는 경우는 어떻게 처리해야 하나요?
A. 먼저 오브젝트가 Static으로 마크되었는지 인스펙터에서 확인하세요. 그 다음 Window > Rendering > Lightmap Settings에서 라이트맵이 베이킹되었는지 확인하고, 필요하면 해상도를 낮춰 다시 베이킹해보세요. 실시간 라이트도 함께 설정하면 즉시 효과를 볼 수 있어요.
Q. 큰 규모의 게임 맵을 만들 때 라이트맵 해상도는 어떤 기준으로 선택하는 게 정확한가요?
A. 500~700m 규모의 MMORPG 맵은 4096, 중간 맵은 2048, 소규모 맵은 1024를 권장합니다. 베이킹 시간과 성능을 고려해 해상도를 낮춰 테스트한 후 점진적으로 올리는 게 안전해요. 최종 해상도는 타겟 플랫폼의 사양에 따라 결정하세요.
Q. 라이트맵 베이킹 과정에서 그림자가 뭉개지거나 빗금 무늬가 자꾸 보이는데 이게 뭔가요?
A. 라이트맵 해상도와 샘플링이 맞지 않을 때 발생하는 쉐이딩 아티팩트예요. 해상도를 한 단계 낮추거나 샘플링 값을 조정해 재베이킹하면 대부분 개선됩니다. 처음엔 2048으로 시작해서 문제를 해결한 후 천천히 올려보세요.
Q. 스케치업이나 다른 모델링 도구에서 FBX로 가져온 3D 모델의 라이트가 제대로 안 들어오는 상황은?
A. FBX 임포트 후 모든 오브젝트를 Static으로 마크하고, 메터리얼을 유니티 표준 라이트 쉐이더로 재설정하세요. 또한 임포트 설정에서 “Generate Lightmap UVs” 옵션이 활성화되었는지 확인한 후 라이트맵을 다시 베이킹하세요. 그러면 정상적으로 표시될 거예요.
Q. VRChat이나 메타버스 플랫폼에 업로드하는 아바타에서 라이트가 들어오지 않는 문제는 어떻게 해결하나요?
A. 라이트맵, 쉐이더, 메터리얼이 호스트 환경과 호환되지 않을 수 있어요. 업로드 전에 라이트맵·쉐이더 호환성을 점검하고, 메터리얼의 Metallic·Smoothness 값을 확인하세요. 표준 쉐이더 사용을 권장하며, 필요하면 커스텀 쉐이더 호환성도 검증하시기 바라요.