版本:Unity 6 (6000.0)
语言英语
  • C#

光源

UnityEngine 中的类

/

继承自:Behaviour

/

实现于:UnityEngine.CoreModule

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每项更改建议,并在适用的情况下进行更新。

关闭

提交失败

由于某些原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

切换到手册

描述

用于光源组件的脚本接口。

使用它来控制 Unity 光源的所有方面。这些属性与 Inspector 中显示的值完全匹配。

通常光源是在编辑器中创建的,但有时您可能想从脚本中创建光源。

using UnityEngine;

public class Example : MonoBehaviour { void Start() { // Make a game object GameObject lightGameObject = new GameObject("The Light");

// Add the light component Light lightComp = lightGameObject.AddComponent<Light>();

// Set color and position lightComp.color = Color.blue;

// Set the position (or any transform property) lightGameObject.transform.position = new Vector3(0, 5, 0); } }

属性

areaSize区域光源的大小。
bakingOutput此属性描述了上次全局照明烘焙的输出。
bounceIntensity定义反弹照明的强度的乘数。
boundingSphereOverride用于在剔除期间覆盖常规光源包围球的包围球。
color光源的颜色。
colorTemperature光源的色温。相关色温(缩写为 CCT)在计算光源的最终颜色时会与颜色滤镜相乘。理想黑体发出的电磁辐射的色温定义为其表面温度(开尔文)。根据 D65 标准,白色为 6500K。烛光为 1800K,柔和的暖色调灯泡为 2700K。如果要使用 colorTemperature,则必须启用 GraphicsSettings.lightsUseLinearIntensity 和 Light.useColorTemperature。其他资源:GraphicsSettings.lightsUseLinearIntensity、GraphicsSettings.useColorTemperature。
commandBufferCount此光源上设置的命令缓冲区数量(只读)。
cookie光源投射的 Cookie 纹理。
cookieSize方向光源的 Cookie 的大小。
cullingMask用于选择性地照亮场景中的特定物体。
dilatedRangeLight.range 属性描述了光源上每个点的范围。但是,区域光源由多个发光点组成,因此有效范围会略大一些,并且取决于区域光源的大小。此属性返回此更大的范围。使用此属性来查找给定世界空间点是否会被区域光源照亮。如果不是区域光源,则返回与 Light.range 相同的值。
enableSpotReflector聚光灯是否应模拟具有反射器。
flare此光源要使用的耀斑资源。
forceVisible即使光源在视锥体之外,也要强制光源可见。
innerSpotAngle聚光灯内锥的角(度)。
intensity光源的强度会与光源颜色相乘。
layerShadowCullDistances每个光源、每个层的阴影剔除距离。仅适用于方向光源。
lightmapBakeType此属性描述了光源贡献的哪些部分可以进行烘焙(仅限编辑器)。
lightShadowCasterMode允许您为每个光源覆盖全局阴影遮罩模式。仅在渲染管线可以处理每个光源阴影遮罩模式时使用此功能。与传统渲染器不兼容。
lightUnit应显示 Light.intensity 的单位。
luxAtDistance从哪里测量 LightUnit.Lux 的距离。
range光源每个点的范围。由于区域光源具有发光表面而不是单个点,因此光源的累积范围大于此属性。此更大的范围可以从 Light.dilatedRange 属性中读取。对于非区域光源,Light.range 和 Light.dilatedRange 返回相同的值。
renderingLayerMask确定此光源影响的渲染层遮罩。
renderMode如何渲染光源。
shadowAngle控制方向光源投射的阴影边缘的应用的人工柔化程度(仅限编辑器)。
shadowBias阴影贴图常数偏差。
shadowCustomResolution阴影贴图的自定义分辨率。
shadowMatrixOverride在阴影剔除期间覆盖常规光源投影矩阵的矩阵。如果将 Light.useShadowMatrixOverride 设置为 true,Unity 会使用此矩阵。
shadowNearPlane用于阴影视锥体的近平面值。
shadowNormalBias阴影贴图基于法线的偏差。
shadowRadius控制点光源或聚光灯投射的阴影边缘的应用的人工柔化程度(仅限编辑器)。
shadowResolution阴影贴图的分辨率。
shadows此光源如何投射阴影。
shadowStrength光源阴影的强度。
spotAngle聚光灯锥的角(度)。
type光源的类型。
useBoundingSphereOverride设置为 true 以覆盖用于剔除的光源包围球。
useColorTemperature设置为 true 以使用色温。
useShadowMatrixOverride设置为 true 以启用用于阴影剔除期间的自定义矩阵。
useViewFrustumForShadowCasterCull当光源位于视锥体之外时,是否为该光源剔除阴影。

公共方法

AddCommandBuffer添加一个命令缓冲区,以便在指定位置执行。
AddCommandBufferAsync将命令缓冲区添加到 GPU 的异步计算队列,并在图形处理到达特定点时执行该命令缓冲区。
GetCommandBuffers获取要在指定位置执行的命令缓冲区。
RemoveAllCommandBuffers删除此光源上设置的所有命令缓冲区。
RemoveCommandBuffer从指定位置执行的命令缓冲区中删除命令缓冲区。
RemoveCommandBuffers从指定位置执行的命令缓冲区中删除命令缓冲区。
Reset将所有光源参数恢复为默认值。
SetLightDirty将光源设置为脏,以通知光源烘焙后端更新其内部光源表示(仅限编辑器)。

继承的成员

属性

enabled启用的行为会更新,禁用的行为不会更新。
isActiveAndEnabled报告游戏对象及其关联的行为是否处于活动状态且已启用。
gameObject此组件所附加到的游戏对象。组件始终附加到游戏对象。
tag此游戏对象的标签。
transform附加到此游戏对象的变换。
hideFlags对象是否应隐藏、与场景一起保存或可由用户修改?
name对象的名称。

公共方法

BroadcastMessage在此游戏对象或其任何子级中的每个 MonoBehaviour 上调用名为 methodName 的方法。
CompareTag将游戏对象的标签与定义的标签进行比较。
GetComponent获取与指定组件相同的 GameObject 上类型为 T 的组件的引用。
GetComponentInChildren获取与指定组件相同的 GameObject 上类型为 T 的组件的引用,或 GameObject 的任何子级。
GetComponentIndex获取其父级 GameObject 上组件的索引。
GetComponentInParent获取与指定组件相同的 GameObject 上类型为 T 的组件的引用,或 GameObject 的任何父级。
GetComponents获取与指定组件相同的 GameObject 上类型为 T 的所有组件的引用。
GetComponentsInChildren获取与指定组件相同的 GameObject 上类型为 T 的所有组件的引用,以及 GameObject 的任何子级。
GetComponentsInParent获取与指定组件相同的 GameObject 上类型为 T 的所有组件的引用,以及 GameObject 的任何父级。
SendMessage在此游戏对象中的每个 MonoBehaviour 上调用名为 methodName 的方法。
SendMessageUpwards在此游戏对象中的每个 MonoBehaviour 上调用名为 methodName 的方法,以及行为的每个祖先。
TryGetComponent获取指定类型的组件(如果存在)。
GetInstanceID获取对象的实例 ID。
ToString返回对象的名称。

静态方法

Destroy删除游戏对象、组件或资源。
DestroyImmediate立即销毁对象 obj。强烈建议您使用 Destroy 代替。
DontDestroyOnLoad加载新场景时不要销毁目标对象。
FindAnyObjectByType检索类型为 type 的任何活动加载对象。
FindFirstObjectByType检索类型为 type 的第一个活动加载对象。
FindObjectsByType检索类型为 type 的所有加载对象的列表。
Instantiate克隆对象 original 并返回克隆。
InstantiateAsync捕获原始对象(必须与某些游戏对象相关联)的快照,并返回 AsyncInstantiateOperation。

运算符

bool对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用以查看它们是否引用同一个对象。