Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

물리적 조명 및 카메라 장치

물리적 조명과 카메라 장치를 사용하는 이유는 무엇입니까?

Godot는 색상, 에너지, 카메라 시야 및 노출과 같은 빛에 적용되는 많은 물리적 속성에 대해 임의의 단위를 사용합니다. 기본적으로 이러한 속성은 임의의 단위를 사용합니다. 왜냐하면 정확한 물리적 단위를 사용하면 많은 게임에서 가치가 없는 몇 가지 장단점이 있기 때문입니다. Godot는 기본적으로 사용의 용이성을 선호하므로 물리적 조명 장치는 기본적으로 비활성화됩니다.

물리적 단위의 이점

프로젝트에서 포토리얼리즘을 목표로 하는 경우 실제 단위를 기반으로 사용하면 조정하기가 더 쉬워질 수 있습니다. 실제 재료, 조명 및 씬 밝기에 대한 참조 자료는 `Physically Based <https://physicallybased.info/>`__와 같은 웹사이트에서 쉽게 구할 수 있습니다.

Godot에서 실제 유닛을 사용하는 것은 물리적 조명 유닛(예: Blender)을 사용하는 다른 3D 소프트웨어에서 씬을 포팅할 때 유용할 수도 있습니다.

물리적 단위의 단점

물리적 조명 장치를 사용할 때의 가장 큰 단점은 주어진 시간에 사용되는 동적 범위에 세심한 주의를 기울여야 한다는 것입니다. 매우 높은 조명 강도와 매우 낮은 조명 강도를 혼합하면 부동 소수점 정밀도 오류가 발생할 수 있습니다.

실제로 이는 씬이 너무 많이 노출되거나 노출이 부족하지 않도록 노출 설정을 수동으로 관리해야 함을 의미합니다. 자동 노출은 씬의 빛 균형을 맞춰 정상 범위로 가져오는 데 도움이 되지만 너무 높은 동적 범위에서 손실된 정밀도를 복구할 수는 없습니다.

실제 조명과 카메라 장치를 사용해도 프로젝트가 자동으로 *더 좋아*지는 것은 아닙니다. 때로는 현실감에서 벗어나 실제로 씬이 사람의 눈에 더 잘 보일 수 있습니다. 또한 물리적 단위를 사용하려면 비물리적 단위에 비해 더 엄격한 수준이 필요합니다. 물리적 장치의 대부분의 이점은 장치가 실제 기준과 일치하도록 올바르게 설정된 경우에만 얻을 수 있습니다.

참고

물리적 조명 단위는 2D가 아닌 3D 렌더링에서만 사용할 수 있습니다.

물리적 조명 단위 설정하기

물리적 조명 장치는 물리적 카메라 장치와 별도로 활성화할 수 있습니다.

물리적 조명 장치를 올바르게 활성화하려면 다음 4단계가 필요합니다.

  1. 프로젝트 설정을 활성화합니다.

  2. 카메라를 구성합니다.

  3. 환경을 구성합니다.

  4. Light3D 노드를 구성합니다.

물리적 조명 및 카메라 장치는 단위 변환을 처리하기 위해 몇 가지 계산만 필요하므로 활성화해도 CPU 성능에 눈에 띄는 영향을 미치지 않습니다. 그러나 GPU 측면에서는 현재 물리적 카메라 장치가 피사계 심도를 적용합니다. 이는 성능에 중간 정도의 영향을 미칩니다. 이러한 성능 영향을 완화하기 위해 고급 프로젝트 설정에서는 피사계 심도 품질을 낮출 수 있습니다.

프로젝트 설정 활성화

프로젝트 설정를 열고 고급 토글을 활성화한 다음 **렌더링 > 빛과 그림자 > 물리적 조명 단위 사용**을 활성화합니다. 편집기를 다시 시작하십시오.

카메라 구성

경고

물리적 조명 장치가 활성화되어 있고 씬에 WorldEnvironment 노드가 있는 경우(즉, 편집기 환경이 비활성화된 경우) 반드시 WorldEnvironment 노드에 할당된 CameraAttributes 리소스가 있어야 합니다. 그렇지 않으면 눈에 보이는 DirectionalLight3D 노드가 있는 경우 3D 편집기 뷰포트가 매우 밝게 나타납니다.

Camera3D 노드에서 속성 속성에 CameraAttributes 리소스를 추가할 수 있습니다. 이 리소스는 카메라의 피사계 심도와 노출을 제어하는 데 사용됩니다. :ref:`class_CameraAttributesPhysical`를 사용하는 경우 해당 초점 거리 속성은 카메라의 시야를 조정하는 데에도 사용됩니다.

물리적 조명 단위가 활성화되면 CameraAttributesPhysical의 Exposure 섹션에서 다음 추가 속성을 사용할 수 있게 됩니다.

  • 조리개: f-스톱으로 측정된 카메라 조리개의 크기입니다. f-스톱은 카메라의 초점 거리와 조리개 직경 사이의 단위 없는 비율입니다. 조리개를 높게 설정하면 조리개가 작아져 이미지가 더 어두워지고 초점이 더 선명해집니다. 조리개가 낮으면 조리개가 넓어져 더 많은 빛이 들어오게 되어 더 밝고 초점이 덜 맞는 이미지를 얻을 수 있습니다.

  • 셔터 속도: 셔터가 열리고 닫히는 시간으로 역초*(``1/N``) 단위로 측정됩니다. 값이 낮을수록 빛이 많아져 이미지가 밝아지고, 값이 높을수록 빛이 적어져 이미지가 어두워집니다. *스크립트를 사용하여 이 속성을 가져오거나 설정할 때 단위는 역초 대신 초 단위입니다.

  • 감도: ISO로 측정된 카메라 센서의 감도입니다. 감도가 높을수록 이미지가 더 밝아집니다. 자동 노출이 활성화되면 노출 보정 방법으로 사용할 수 있습니다. 값을 두 배로 늘리면 노출 값(EV100으로 측정)이 1스톱 증가합니다.

  • 승수: 비물리적 노출 승수입니다. 값이 높을수록 씬의 밝기가 증가합니다. 이는 후처리 조정이나 애니메이션 목적으로 사용될 수 있습니다.

16 f-스톱의 기본 조리개 값은 주간 야외에 적합합니다(예: 기본 DirectionalLight3D와 함께 사용). 실내 조명의 경우 2에서 4 사이의 값이 더 적합합니다.

사진 및 영화 제작에 사용되는 일반적인 셔터 속도는 1/50(0.02초)입니다. 야간 사진은 일반적으로 1/10(0.1초) 정도의 셔터를 사용하는 반면, 스포츠 사진은 모션 블러를 줄이기 위해 1/250(0.004초)에서 1/1000(0.001초) 사이의 셔터 속도를 사용합니다.

실제 생활에서 주간 야외 사진의 감도는 날씨 조건에 따라 일반적으로 50 ISO에서 400 ISO 사이로 설정됩니다. 실내 또는 야간 사진 촬영에는 더 높은 값이 사용됩니다.

참고

실제 카메라와는 달리, ISO 감도를 높이거나 셔터 속도를 낮추는 것(눈에 보이는 입자나 빛의 흔적 등)의 부작용은 Godot에서 시뮬레이션되지 않습니다.

물리적 조명 장치를 사용하지 않는 경우에도 사용할 수 있는 CameraAttributes물리적 속성에 대한 설명은 :ref:`doc_physical_light_and_camera_units_setting_up_physical_camera_units`를 참조하세요.

환경 구성

경고

기본 구성은 주간 야외 장면을 위해 설계되었습니다. 야간 및 실내 장면이 올바르게 보이려면 DirectionalLight3D 및 WorldEnvironment 배경 강도를 조정해야 합니다. 그렇지 않으면 위치 조명이 기본 강도에서 거의 보이지 않습니다.

현재 씬에 WorldEnvironmentCamera3D 노드를 아직 추가하지 않은 경우 지금 3D 편집기 뷰포트 상단에 있는 3개의 수직 점을 클릭하여 추가하세요. **씬에 Sun 추가**를 클릭하고 대화 상자를 다시 연 다음 **씬에 환경 추가**를 클릭합니다.

물리적 조명 장치를 활성화하면 Environment 리소스에서 편집할 수 있는 새 속성이 제공됩니다.

  • 배경 강도: 배경 하늘의 강도(`nits <https://en.wikipedia.org/wiki/Candela_per_square_metre>`__(평방 미터당 칸델라))입니다. 이는 해당 모드가 **배경**으로 설정된 경우 주변광 및 반사광에도 영향을 미칩니다. 사용자 정의 **배경 에너지**가 설정된 경우 이 에너지에 강도가 곱해집니다.

빌드 커스터마이징하기

물리적 조명 장치를 활성화하면 Light3D 노드에서 2개의 새로운 속성을 사용할 수 있습니다.

  • 강도: `lux <https://en.wikipedia.org/wiki/Lux>`__(DirectionalLight3D) 또는 `lumens <https://en.wikipedia.org/wiki/Lumen_(unit)>`__(OmniLight3D/SpotLight3D) 단위의 조명 강도입니다. 맞춤 **에너지**가 설정되면 이 에너지에 강도가 곱해집니다.

  • 온도: 켈빈 단위로 정의된 조명의 *색온도*입니다. 사용자 정의 **색상**이 설정된 경우 이 색상에 색온도가 곱해집니다.

OmniLight3D/SpotLight3D 강도

루멘은 단위 시간당 광원에서 방출되는 가시광선의 총량인 광속의 척도입니다.

SpotLight3D의 경우 가시 원뿔 외부 영역이 완벽한 광 흡수 재료로 둘러싸여 있다고 가정합니다. 따라서 원뿔 영역의 겉보기 밝기는 원뿔 크기가 증가하거나 감소함에 따라 변하지 않습니다.

일반적인 가정용 전구의 범위는 약 600루멘에서 1200루멘입니다. 양초의 밝기는 약 13루멘인 반면, 가로등의 밝기는 약 60000루멘입니다.

DirectionalLight3D 강도

럭스는 단위 면적당 광속을 측정한 것으로 평방 미터당 1루멘과 같습니다. 럭스는 주어진 시간에 표면에 닿는 빛의 양을 측정한 것입니다.

DirectionalLight3D를 사용하면 맑고 화창한 날 직사광선을 받는 표면이 약 100000럭스를 받을 수 있습니다. 집의 일반적인 방은 약 50럭스를 받을 수 있는 반면, 달빛이 비치는 땅은 약 0.1럭스를 받을 수 있습니다.

연산자

6500켈빈은 흰색입니다. 값이 높을수록 더 차가운(파란색) 색상이 되고, 값이 낮을수록 따뜻한(주황색) 색상이 됩니다.

흐린 날의 태양은 약 6500켈빈입니다. 맑은 날의 태양은 5500~6000켈빈 사이입니다. 맑은 날 일출이나 일몰 시 태양의 범위는 약 1850켈빈입니다.

1,000켈빈(왼쪽)부터 12,500켈빈(오른쪽)까지의 색온도 차트

1,000켈빈(왼쪽)부터 12,500켈빈(오른쪽)까지의 색온도 차트

에너지**색상**과 같은 기타 Light3D 속성은 애니메이션 목적으로 편집 가능한 상태로 유지되며 때로는 비현실적인 속성으로 조명을 만들어야 하는 경우에도 마찬가지입니다.

물리적 카메라 단위 설정하기

물리적 카메라 장치는 물리적 조명 장치와 별도로 활성화할 수 있습니다.

Camera3D 노드의 카메라 속성 속성에 CameraAttributesPhysical 리소스를 추가한 후에는 **FOV**와 같은 일부 속성을 더 이상 편집할 수 없습니다. 대신 이러한 속성은 이제 초점 거리 및 조리개와 같은 CameraAttributesPhysical의 속성에 의해 제어됩니다.

CameraAttributesPhysical은 Frustum 섹션에서 다음 속성을 제공합니다.

  • 초점 거리: 초점이 맞춰질 물체의 카메라로부터의 거리(미터 단위로 측정)입니다. 내부적으로는 **초점 거리**보다 최소 1mm 더 크게 고정됩니다.

  • 초점 거리: 카메라 렌즈와 카메라 조리개 사이의 거리(밀리미터 단위로 측정)입니다. 시야와 심도를 제어합니다. 초점 거리가 길수록 시야가 좁아지고 심도가 좁아져 초점이 맞는 물체의 수가 줄어듭니다. 초점 거리가 작을수록 시야가 넓어지고 심도가 깊어져 더 많은 물체에 초점이 맞춰집니다. 이 속성은 Camera3D의 FOVKeep Aspect 속성을 재정의하여 검사기에서 읽기 전용으로 만듭니다.

  • 근거리/원거리: 근거리 및 원거리 클립 거리(미터)입니다. 이는 동일한 이름의 Camera3D 속성과 동일하게 동작합니다. Near 값이 낮을수록 카메라는 멀리 있는 잠재적인 정밀도(Z-fighting) 문제를 희생하면서 매우 가까운 개체를 표시할 수 있습니다. Far 값이 높을수록 카메라는 더 멀리 볼 수 있지만 거리에서 잠재적인 정밀도(Z-fighting) 문제가 발생할 수도 있습니다.

기본 초점 거리 35mm는 광각 렌즈에 해당합니다. 기본 "실용적인" 수직 FOV인 75도에 비해 여전히 시야가 눈에 띄게 좁아집니다. 이는 영화 제작 및 사진과 같은 비게임 사용 사례에서는 보다 영화적인 모습을 위해 더 좁은 시야를 사용하는 것을 선호하기 때문입니다.

영화 제작 및 사진 촬영에 사용되는 일반적인 초점 거리 값은 다음과 같습니다.

  • 어안(초광각): 15mm 미만. 피사계 심도가 거의 보이지 않습니다.

  • 광각: 15mm~50mm 사이. 피사계 심도가 감소되었습니다.

  • 표준: 50mm~100mm 사이. 표준 피사계 심도.

  • 망원: 100mm 이상. 피사계 심도가 증가했습니다.

Keep Height 화면 모드를 사용할 때와 마찬가지로 유효 시야는 뷰포트의 화면 비율에 따라 달라지며, 화면 비율이 넓을수록 자동으로 수평 시야가 더 넓어집니다.

카메라의 평균 밝기 수준에 따른 자동 노출 조정은 자동 노출 섹션에서 다음 속성을 사용하여 활성화할 수도 있습니다.

  • 최소 감도: 카메라가 도달할 수 있는 가장 어두운 밝기로, EV100으로 측정됩니다.

  • 최대 감도: 카메라가 도달할 수 있는 가장 밝은 값으로, EV100으로 측정됩니다.

  • 속도: 자동 노출 효과의 속도입니다. 카메라가 자동 노출을 수행하는 데 필요한 시간에 영향을 줍니다. 값이 높을수록 더 빠른 전환이 가능하지만 결과 조정은 씬에 따라 산만해 보일 수 있습니다.

  • 규모: 자동 노출 효과의 규모입니다. 자동 노출의 강도에 영향을 줍니다.

EV100은 ISO 감도 100에서 측정된 노출 값(EV)입니다. 실제 생활에서 흔히 볼 수 있는 EV100 값은 `이 표 <https://en.wikipedia.org/wiki/Exposure_value#Tabulated_exposure_values>`__을 참조하세요.