mirror of
https://github.com/Relintai/pandemonium_engine_docs.git
synced 2025-01-23 15:17:21 +01:00
112 lines
4.9 KiB
ReStructuredText
112 lines
4.9 KiB
ReStructuredText
:github_url: hide
|
|
|
|
.. DO NOT EDIT THIS FILE!!!
|
|
.. Generated automatically from Godot engine sources.
|
|
.. Generator: https://github.com/godotengine/godot/tree/3.5/doc/tools/make_rst.py.
|
|
.. XML source: https://github.com/godotengine/godot/tree/3.5/doc/classes/SpotLight.xml.
|
|
|
|
.. _class_SpotLight:
|
|
|
|
SpotLight
|
|
=========
|
|
|
|
**Inherits:** :ref:`Light<class_Light>` **<** :ref:`VisualInstance<class_VisualInstance>` **<** :ref:`CullInstance<class_CullInstance>` **<** :ref:`Spatial<class_Spatial>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
|
|
|
|
A spotlight, such as a reflector spotlight or a lantern.
|
|
|
|
Description
|
|
-----------
|
|
|
|
A Spotlight is a type of :ref:`Light<class_Light>` node that emits lights in a specific direction, in the shape of a cone. The light is attenuated through the distance. This attenuation can be configured by changing the energy, radius and attenuation parameters of :ref:`Light<class_Light>`.
|
|
|
|
\ **Note:** By default, only 32 SpotLights may affect a single mesh *resource* at once. Consider splitting your level into several meshes to decrease the likelihood that more than 32 lights will affect the same mesh resource. Splitting the level mesh will also improve frustum culling effectiveness, leading to greater performance. If you need to use more lights per mesh, you can increase :ref:`ProjectSettings.rendering/limits/rendering/max_lights_per_object<class_ProjectSettings_property_rendering/limits/rendering/max_lights_per_object>` at the cost of shader compilation times.
|
|
|
|
Tutorials
|
|
---------
|
|
|
|
- :doc:`3D lights and shadows <../tutorials/3d/lights_and_shadows>`
|
|
|
|
- `Third Person Shooter Demo <https://godotengine.org/asset-library/asset/678>`__
|
|
|
|
Properties
|
|
----------
|
|
|
|
+---------------------------+--------------------------------------------------------------------------------+----------+
|
|
| :ref:`float<class_float>` | :ref:`spot_angle<class_SpotLight_property_spot_angle>` | ``45.0`` |
|
|
+---------------------------+--------------------------------------------------------------------------------+----------+
|
|
| :ref:`float<class_float>` | :ref:`spot_angle_attenuation<class_SpotLight_property_spot_angle_attenuation>` | ``1.0`` |
|
|
+---------------------------+--------------------------------------------------------------------------------+----------+
|
|
| :ref:`float<class_float>` | :ref:`spot_attenuation<class_SpotLight_property_spot_attenuation>` | ``1.0`` |
|
|
+---------------------------+--------------------------------------------------------------------------------+----------+
|
|
| :ref:`float<class_float>` | :ref:`spot_range<class_SpotLight_property_spot_range>` | ``5.0`` |
|
|
+---------------------------+--------------------------------------------------------------------------------+----------+
|
|
|
|
Property Descriptions
|
|
---------------------
|
|
|
|
.. _class_SpotLight_property_spot_angle:
|
|
|
|
- :ref:`float<class_float>` **spot_angle**
|
|
|
|
+-----------+------------------+
|
|
| *Default* | ``45.0`` |
|
|
+-----------+------------------+
|
|
| *Setter* | set_param(value) |
|
|
+-----------+------------------+
|
|
| *Getter* | get_param() |
|
|
+-----------+------------------+
|
|
|
|
The spotlight's angle in degrees.
|
|
|
|
----
|
|
|
|
.. _class_SpotLight_property_spot_angle_attenuation:
|
|
|
|
- :ref:`float<class_float>` **spot_angle_attenuation**
|
|
|
|
+-----------+------------------+
|
|
| *Default* | ``1.0`` |
|
|
+-----------+------------------+
|
|
| *Setter* | set_param(value) |
|
|
+-----------+------------------+
|
|
| *Getter* | get_param() |
|
|
+-----------+------------------+
|
|
|
|
The spotlight's angular attenuation curve.
|
|
|
|
----
|
|
|
|
.. _class_SpotLight_property_spot_attenuation:
|
|
|
|
- :ref:`float<class_float>` **spot_attenuation**
|
|
|
|
+-----------+------------------+
|
|
| *Default* | ``1.0`` |
|
|
+-----------+------------------+
|
|
| *Setter* | set_param(value) |
|
|
+-----------+------------------+
|
|
| *Getter* | get_param() |
|
|
+-----------+------------------+
|
|
|
|
The spotlight's light energy attenuation curve.
|
|
|
|
----
|
|
|
|
.. _class_SpotLight_property_spot_range:
|
|
|
|
- :ref:`float<class_float>` **spot_range**
|
|
|
|
+-----------+------------------+
|
|
| *Default* | ``5.0`` |
|
|
+-----------+------------------+
|
|
| *Setter* | set_param(value) |
|
|
+-----------+------------------+
|
|
| *Getter* | get_param() |
|
|
+-----------+------------------+
|
|
|
|
The maximal range that can be reached by the spotlight. Note that the effectively lit area may appear to be smaller depending on the :ref:`spot_attenuation<class_SpotLight_property_spot_attenuation>` in use. No matter the :ref:`spot_attenuation<class_SpotLight_property_spot_attenuation>` in use, the light will never reach anything outside this range.
|
|
|
|
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
|
|
.. |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.)`
|