Files
godot-docs-l10n/classes/zh_Hans/class_cameraattributesphysical.rst

241 lines
13 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

:github_url: hide
.. _class_CameraAttributesPhysical:
CameraAttributesPhysical
========================
**继承:** :ref:`CameraAttributes<class_CameraAttributes>` **<** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
基于物理的相机设置。
.. rst-class:: classref-introduction-group
描述
----
**CameraAttributesPhysical** 用于根据基于物理的相机的设置来设置渲染设置。它负责曝光、自动曝光、以及景深。
当在 :ref:`WorldEnvironment<class_WorldEnvironment>` 中使用时,它提供了曝光、自动曝光、以及景深的默认设置,这些设置将由所有没有自己的 :ref:`CameraAttributes<class_CameraAttributes>` 的相机使用,包括编辑器相机。当在 :ref:`Camera3D<class_Camera3D>` 中使用时,它将覆盖 :ref:`WorldEnvironment<class_WorldEnvironment>` 中设置的任何 :ref:`CameraAttributes<class_CameraAttributes>`\ ,并将覆盖 :ref:`Camera3D<class_Camera3D>`:ref:`Camera3D.far<class_Camera3D_property_far>`\ 、\ :ref:`Camera3D.near<class_Camera3D_property_near>`\ 、\ :ref:`Camera3D.fov<class_Camera3D_property_fov>`\ 、以及 :ref:`Camera3D.keep_aspect<class_Camera3D_property_keep_aspect>` 属性。当在 :ref:`VoxelGI<class_VoxelGI>`:ref:`LightmapGI<class_LightmapGI>` 中使用时,将只会使用曝光设置。
默认设置适用于室外环境,可在每个设置的文档中找到有关在室内环境中使用的设置的提示。
\ **注意:**\ 景深模糊只支持 Forward+ 和移动渲染方式,不支持兼容模式。
.. rst-class:: classref-introduction-group
教程
----
- :doc:`物理灯光与相机单位 <../tutorials/3d/physical_light_and_camera_units>`
.. rst-class:: classref-reftable-group
属性
----
.. table::
:widths: auto
+---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+
| :ref:`float<class_float>` | :ref:`auto_exposure_max_exposure_value<class_CameraAttributesPhysical_property_auto_exposure_max_exposure_value>` | ``10.0`` |
+---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+
| :ref:`float<class_float>` | :ref:`auto_exposure_min_exposure_value<class_CameraAttributesPhysical_property_auto_exposure_min_exposure_value>` | ``-8.0`` |
+---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+
| :ref:`float<class_float>` | :ref:`exposure_aperture<class_CameraAttributesPhysical_property_exposure_aperture>` | ``16.0`` |
+---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+
| :ref:`float<class_float>` | :ref:`exposure_shutter_speed<class_CameraAttributesPhysical_property_exposure_shutter_speed>` | ``100.0`` |
+---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+
| :ref:`float<class_float>` | :ref:`frustum_far<class_CameraAttributesPhysical_property_frustum_far>` | ``4000.0`` |
+---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+
| :ref:`float<class_float>` | :ref:`frustum_focal_length<class_CameraAttributesPhysical_property_frustum_focal_length>` | ``35.0`` |
+---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+
| :ref:`float<class_float>` | :ref:`frustum_focus_distance<class_CameraAttributesPhysical_property_frustum_focus_distance>` | ``10.0`` |
+---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+
| :ref:`float<class_float>` | :ref:`frustum_near<class_CameraAttributesPhysical_property_frustum_near>` | ``0.05`` |
+---------------------------+-------------------------------------------------------------------------------------------------------------------+------------+
.. rst-class:: classref-reftable-group
方法
----
.. table::
:widths: auto
+---------------------------+-----------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_fov<class_CameraAttributesPhysical_method_get_fov>`\ (\ ) |const| |
+---------------------------+-----------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
属性说明
--------
.. _class_CameraAttributesPhysical_property_auto_exposure_max_exposure_value:
.. rst-class:: classref-property
:ref:`float<class_float>` **auto_exposure_max_exposure_value** = ``10.0`` :ref:`🔗<class_CameraAttributesPhysical_property_auto_exposure_max_exposure_value>`
.. rst-class:: classref-property-setget
- |void| **set_auto_exposure_max_exposure_value**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_auto_exposure_max_exposure_value**\ (\ )
计算自动曝光时使用的最大亮度单位EV100。在计算场景平均亮度时颜色值将至少被钳制在这个值上。这限制了自动曝光在低于一定的亮度进行曝光时导致场景将保持明亮的一个截止点。
.. rst-class:: classref-item-separator
----
.. _class_CameraAttributesPhysical_property_auto_exposure_min_exposure_value:
.. rst-class:: classref-property
:ref:`float<class_float>` **auto_exposure_min_exposure_value** = ``-8.0`` :ref:`🔗<class_CameraAttributesPhysical_property_auto_exposure_min_exposure_value>`
.. rst-class:: classref-property-setget
- |void| **set_auto_exposure_min_exposure_value**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_auto_exposure_min_exposure_value**\ (\ )
计算自动曝光时使用的最小亮度(单位为 EV100。在计算场景平均亮度时颜色值将至少被钳制在这个值上。这限制了自动曝光在超过一定的亮度进行曝光时导致场景将保持黑暗的一个截止点。
.. rst-class:: classref-item-separator
----
.. _class_CameraAttributesPhysical_property_exposure_aperture:
.. rst-class:: classref-property
:ref:`float<class_float>` **exposure_aperture** = ``16.0`` :ref:`🔗<class_CameraAttributesPhysical_property_exposure_aperture>`
.. rst-class:: classref-property-setget
- |void| **set_aperture**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_aperture**\ (\ )
相机光圈的大小,以 f 档为单位进行测量。f 档是相机焦距与光圈直径之间的一个无单位比率。高光圈设置将产生一个更小的光圈,从而导致更暗的图像和更清晰的焦点。低光圈会产生一个大光圈,让更多的光线进入,从而产生一个更亮、更不聚焦的图像。默认值适用于白天的室外(即与默认 :ref:`DirectionalLight3D<class_DirectionalLight3D>` 一起使用对于室内照明2 到 4 之间的值更合适。
仅在启用 :ref:`ProjectSettings.rendering/lights_and_shadows/use_physical_light_units<class_ProjectSettings_property_rendering/lights_and_shadows/use_physical_light_units>` 时可用。
.. rst-class:: classref-item-separator
----
.. _class_CameraAttributesPhysical_property_exposure_shutter_speed:
.. rst-class:: classref-property
:ref:`float<class_float>` **exposure_shutter_speed** = ``100.0`` :ref:`🔗<class_CameraAttributesPhysical_property_exposure_shutter_speed>`
.. rst-class:: classref-property-setget
- |void| **set_shutter_speed**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_shutter_speed**\ (\ )
快门打开和关闭的时间,计算方式为 ``1 / shutter_speed`` 秒。较高的值将允许较少的光线(导致图像较暗),而较低的值将允许更多的光线(导致图像较亮)。
仅当启用 :ref:`ProjectSettings.rendering/lights_and_shadows/use_physical_light_units<class_ProjectSettings_property_rendering/lights_and_shadows/use_physical_light_units>` 时可用。
.. rst-class:: classref-item-separator
----
.. _class_CameraAttributesPhysical_property_frustum_far:
.. rst-class:: classref-property
:ref:`float<class_float>` **frustum_far** = ``4000.0`` :ref:`🔗<class_CameraAttributesPhysical_property_frustum_far>`
.. rst-class:: classref-property-setget
- |void| **set_far**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_far**\ (\ )
覆盖 :ref:`Camera3D.far<class_Camera3D_property_far>` 的值。在内部计算景深时使用。当被附加到 :ref:`Camera3D<class_Camera3D>` 作为其 :ref:`Camera3D.attributes<class_Camera3D_property_attributes>` 时,它将覆盖 :ref:`Camera3D.fov<class_Camera3D_property_fov>` 属性。
.. rst-class:: classref-item-separator
----
.. _class_CameraAttributesPhysical_property_frustum_focal_length:
.. rst-class:: classref-property
:ref:`float<class_float>` **frustum_focal_length** = ``35.0`` :ref:`🔗<class_CameraAttributesPhysical_property_frustum_focal_length>`
.. rst-class:: classref-property-setget
- |void| **set_focal_length**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_focal_length**\ (\ )
相机镜头和相机光圈之间的距离,单位:毫米。控制视野和景深。较大的焦距会导致较小的视野和较窄的景深,这意味着更少的对象将在焦点中。较小的焦距会导致更宽的视野和更大的景深,这意味着更多的物体将在焦点中。当被附加到 :ref:`Camera3D<class_Camera3D>` 作为其 :ref:`Camera3D.attributes<class_Camera3D_property_attributes>` 时,它将覆盖 :ref:`Camera3D.fov<class_Camera3D_property_fov>` 属性和 :ref:`Camera3D.keep_aspect<class_Camera3D_property_keep_aspect>` 属性。
.. rst-class:: classref-item-separator
----
.. _class_CameraAttributesPhysical_property_frustum_focus_distance:
.. rst-class:: classref-property
:ref:`float<class_float>` **frustum_focus_distance** = ``10.0`` :ref:`🔗<class_CameraAttributesPhysical_property_frustum_focus_distance>`
.. rst-class:: classref-property-setget
- |void| **set_focus_distance**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_focus_distance**\ (\ )
将在焦点中的物体与相机的距离,以米为单位进行测量。在内部,这将被钳制为至少比 :ref:`frustum_focal_length<class_CameraAttributesPhysical_property_frustum_focal_length>` 大 1 毫米。
.. rst-class:: classref-item-separator
----
.. _class_CameraAttributesPhysical_property_frustum_near:
.. rst-class:: classref-property
:ref:`float<class_float>` **frustum_near** = ``0.05`` :ref:`🔗<class_CameraAttributesPhysical_property_frustum_near>`
.. rst-class:: classref-property-setget
- |void| **set_near**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_near**\ (\ )
覆盖 :ref:`Camera3D.near<class_Camera3D_property_near>` 的值。在内部计算景深时使用。当被附加到 :ref:`Camera3D<class_Camera3D>` 作为其 :ref:`Camera3D.attributes<class_Camera3D_property_attributes>` 时,它将覆盖 :ref:`Camera3D.near<class_Camera3D_property_near>` 属性。
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
方法说明
--------
.. _class_CameraAttributesPhysical_method_get_fov:
.. rst-class:: classref-method
:ref:`float<class_float>` **get_fov**\ (\ ) |const| :ref:`🔗<class_CameraAttributesPhysical_method_get_fov>`
返回对应于 :ref:`frustum_focal_length<class_CameraAttributesPhysical_property_frustum_focal_length>` 的垂直视野。每当 :ref:`frustum_focal_length<class_CameraAttributesPhysical_property_frustum_focal_length>` 发生变化时,该值都会在内部计算。
.. |virtual| replace:: :abbr:`virtual (本方法通常需要用户覆盖才能生效。)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (本方法无副作用,不会修改该实例的任何成员变量。)`
.. |vararg| replace:: :abbr:`vararg (本方法除了能接受在此处描述的参数外,还能够继续接受任意数量的参数。)`
.. |constructor| replace:: :abbr:`constructor (本方法用于构造某个类型。)`
.. |static| replace:: :abbr:`static (调用本方法无需实例,可直接使用类名进行调用。)`
.. |operator| replace:: :abbr:`operator (本方法描述的是使用本类型作为左操作数的有效运算符。)`
.. |bitfield| replace:: :abbr:`BitField (这个值是由下列位标志构成位掩码的整数。)`
.. |void| replace:: :abbr:`void (无返回值。)`