:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/CameraAttributesPhysical.xml. .. _class_CameraAttributesPhysical: CameraAttributesPhysical ======================== **Inherits:** :ref:`CameraAttributes` **<** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` Physically-based camera settings. .. rst-class:: classref-introduction-group Description ----------- **CameraAttributesPhysical** is used to set rendering settings based on a physically-based camera's settings. It is responsible for exposure, auto-exposure, and depth of field. When used in a :ref:`WorldEnvironment` it provides default settings for exposure, auto-exposure, and depth of field that will be used by all cameras without their own :ref:`CameraAttributes`, including the editor camera. When used in a :ref:`Camera3D` it will override any :ref:`CameraAttributes` set in the :ref:`WorldEnvironment` and will override the :ref:`Camera3D`\ s :ref:`Camera3D.far`, :ref:`Camera3D.near`, :ref:`Camera3D.fov`, and :ref:`Camera3D.keep_aspect` properties. When used in :ref:`VoxelGI` or :ref:`LightmapGI`, only the exposure settings will be used. The default settings are intended for use in an outdoor environment, tips for settings for use in an indoor environment can be found in each setting's documentation. \ **Note:** Depth of field blur is only supported in the Forward+ and Mobile rendering methods, not Compatibility. .. rst-class:: classref-introduction-group Tutorials --------- - :doc:`Physical light and camera units <../tutorials/3d/physical_light_and_camera_units>` .. rst-class:: classref-reftable-group Properties ---------- .. table:: :widths: auto +---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+ | :ref:`float` | :ref:`auto_exposure_max_exposure_value` | ``10.0`` | +---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+ | :ref:`float` | :ref:`auto_exposure_min_exposure_value` | ``-8.0`` | +---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+ | :ref:`float` | :ref:`exposure_aperture` | ``16.0`` | +---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+ | :ref:`float` | :ref:`exposure_shutter_speed` | ``100.0`` | +---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+ | :ref:`float` | :ref:`frustum_far` | ``4000.0`` | +---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+ | :ref:`float` | :ref:`frustum_focal_length` | ``35.0`` | +---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+ | :ref:`float` | :ref:`frustum_focus_distance` | ``10.0`` | +---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+ | :ref:`float` | :ref:`frustum_near` | ``0.05`` | +---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+ .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +---------------------------+-----------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_fov`\ (\ ) |const| | +---------------------------+-----------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Property Descriptions --------------------- .. _class_CameraAttributesPhysical_property_auto_exposure_max_exposure_value: .. rst-class:: classref-property :ref:`float` **auto_exposure_max_exposure_value** = ``10.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_auto_exposure_max_exposure_value**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_auto_exposure_max_exposure_value**\ (\ ) The maximum luminance (in EV100) used when calculating auto exposure. When calculating scene average luminance, color values will be clamped to at least this value. This limits the auto-exposure from exposing below a certain brightness, resulting in a cut off point where the scene will remain bright. .. rst-class:: classref-item-separator ---- .. _class_CameraAttributesPhysical_property_auto_exposure_min_exposure_value: .. rst-class:: classref-property :ref:`float` **auto_exposure_min_exposure_value** = ``-8.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_auto_exposure_min_exposure_value**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_auto_exposure_min_exposure_value**\ (\ ) The minimum luminance (in EV100) used when calculating auto exposure. When calculating scene average luminance, color values will be clamped to at least this value. This limits the auto-exposure from exposing above a certain brightness, resulting in a cut off point where the scene will remain dark. .. rst-class:: classref-item-separator ---- .. _class_CameraAttributesPhysical_property_exposure_aperture: .. rst-class:: classref-property :ref:`float` **exposure_aperture** = ``16.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_aperture**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_aperture**\ (\ ) Size of the aperture of the camera, measured in f-stops. An f-stop is a unitless ratio between the focal length of the camera and the diameter of the aperture. A high aperture setting will result in a smaller aperture which leads to a dimmer image and sharper focus. A low aperture results in a wide aperture which lets in more light resulting in a brighter, less-focused image. Default is appropriate for outdoors at daytime (i.e. for use with a default :ref:`DirectionalLight3D`), for indoor lighting, a value between 2 and 4 is more appropriate. Only available when :ref:`ProjectSettings.rendering/lights_and_shadows/use_physical_light_units` is enabled. .. rst-class:: classref-item-separator ---- .. _class_CameraAttributesPhysical_property_exposure_shutter_speed: .. rst-class:: classref-property :ref:`float` **exposure_shutter_speed** = ``100.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_shutter_speed**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_shutter_speed**\ (\ ) Time for shutter to open and close, evaluated as ``1 / shutter_speed`` seconds. A higher value will allow less light (leading to a darker image), while a lower value will allow more light (leading to a brighter image). Only available when :ref:`ProjectSettings.rendering/lights_and_shadows/use_physical_light_units` is enabled. .. rst-class:: classref-item-separator ---- .. _class_CameraAttributesPhysical_property_frustum_far: .. rst-class:: classref-property :ref:`float` **frustum_far** = ``4000.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_far**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_far**\ (\ ) Override value for :ref:`Camera3D.far`. Used internally when calculating depth of field. When attached to a :ref:`Camera3D` as its :ref:`Camera3D.attributes`, it will override the :ref:`Camera3D.far` property. .. rst-class:: classref-item-separator ---- .. _class_CameraAttributesPhysical_property_frustum_focal_length: .. rst-class:: classref-property :ref:`float` **frustum_focal_length** = ``35.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_focal_length**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_focal_length**\ (\ ) Distance between camera lens and camera aperture, measured in millimeters. Controls field of view and depth of field. A larger focal length will result in a smaller field of view and a narrower depth of field meaning fewer objects will be in focus. A smaller focal length will result in a wider field of view and a larger depth of field meaning more objects will be in focus. When attached to a :ref:`Camera3D` as its :ref:`Camera3D.attributes`, it will override the :ref:`Camera3D.fov` property and the :ref:`Camera3D.keep_aspect` property. .. rst-class:: classref-item-separator ---- .. _class_CameraAttributesPhysical_property_frustum_focus_distance: .. rst-class:: classref-property :ref:`float` **frustum_focus_distance** = ``10.0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_focus_distance**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_focus_distance**\ (\ ) Distance from camera of object that will be in focus, measured in meters. Internally this will be clamped to be at least 1 millimeter larger than :ref:`frustum_focal_length`. .. rst-class:: classref-item-separator ---- .. _class_CameraAttributesPhysical_property_frustum_near: .. rst-class:: classref-property :ref:`float` **frustum_near** = ``0.05`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_near**\ (\ value\: :ref:`float`\ ) - :ref:`float` **get_near**\ (\ ) Override value for :ref:`Camera3D.near`. Used internally when calculating depth of field. When attached to a :ref:`Camera3D` as its :ref:`Camera3D.attributes`, it will override the :ref:`Camera3D.near` property. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_CameraAttributesPhysical_method_get_fov: .. rst-class:: classref-method :ref:`float` **get_fov**\ (\ ) |const| :ref:`🔗` Returns the vertical field of view that corresponds to the :ref:`frustum_focal_length`. This value is calculated internally whenever :ref:`frustum_focal_length` is changed. .. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)` .. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)` .. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)` .. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)` .. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)` .. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)` .. |void| replace:: :abbr:`void (No return value.)`