Light

class in UnityEngine

/

继承自:Behaviour

切换到手册

描述

light components 的脚本接口。

它用于对 Unity 光源进行全面控制。这些属性与 Inspector 中显示 的值完全匹配。

通常光源仅在 Editor 中创建,但是有时需要通过脚本创建光源:

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。 如果要使用 lightsUseCCT,必须启用 lightsUseLinearIntensity 以确保物理上的正确输出。 另请参阅:GraphicsSettings.lightsUseLinearIntensity、GraphicsSettings.lightsUseCCT。
commandBufferCount此光源上设置的命令缓冲区数(只读)。
cookie光投射的阴影的剪影纹理。
cookieSize方向光剪影的大小。
cullingMask这用于有选择性地对场景中的特定对象进行照明。
flare要用于此光的 flare asset。
innerSpotAngle光源的聚光灯内锥角的角度(以度为单位)。
intensity光的强度乘以光颜色。
layerShadowCullDistances每光源、每层阴影剔除距离。
lightmapBakeType此属性描述可以对光贡献的哪个部分进行烘培(仅限编辑器)。
lightShadowCasterMode允许您根据光源来覆盖全局阴影遮罩模式。该属性只能用于能够处理每个光源阴影遮罩模式的渲染管线。与旧版渲染器不兼容。
range光照范围。
renderingLayerMask确定光源影响的渲染 LayerMask。
renderMode如何渲染光。
shadowAngle控制由方向光应用于阴影投射边缘的人工柔化量。
shadowBias阴影贴图恒定偏差。
shadowCustomResolution阴影贴图的自定义分辨率。
shadowMatrixOverride用于在阴影剔除期间覆盖常规光源矩阵的投影矩阵。
shadowNearPlane要用于阴影视锥体的近平面值。
shadowNormalBias阴影贴图基于法线的偏差。
shadowRadius控制由点光源或聚光灯应用于阴影投射边缘的人工柔化量。
shadowResolution阴影贴图的分辨率。
shadows此光如何投射阴影。
shadowStrength光阴影的强度。
shape该属性描述聚光灯的形状。仅可编程渲染管线使用该属性;内置渲染器支持该属性。
spotAngle光的聚光灯锥体的角度(以度为单位)。
type光源类型。
useBoundingSphereOverride将其设置为 true 可覆盖进行剔除的光源包围球体。
useColorTemperature设置为 true 可使用该色温。
useShadowMatrixOverride设置为 true 可启用在阴影期间进行剔除的自定义矩阵。

公共函数

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

继承的成员

变量

enabled启用的 Behaviour 可更新,禁用的 Behaviour 不可更新。
isActiveAndEnabled是否已激活并启用 Behaviour?
gameObject此组件附加到的游戏对象。始终将组件附加到游戏对象。
tag此游戏对象的标签。
transform附加到此 GameObject 的 Transform。
hideFlags该对象应该隐藏、随场景一起保存还是由用户修改?
name对象的名称。

公共函数

BroadcastMessage调用此游戏对象或其任何子项中的每个 MonoBehaviour 上名为 methodName 的方法。
CompareTag此游戏对象是否使用 tag 进行了标记?
GetComponent如果游戏对象附加了类型为 type 的组件,则将其返回,否则返回 null。
GetComponentInChildren使用深度首次搜索返回 GameObject 或其任何子项中类型为 type 的组件。
GetComponentInParent返回 GameObject 或其任何父项中类型为 type 的组件。
GetComponents返回 GameObject 中类型为 type 的所有组件。
GetComponentsInChildren返回 GameObject 或其任何子项中类型为 type 的所有组件。
GetComponentsInParent返回 GameObject 或其任何父项中类型为 type 的所有组件。
SendMessage调用此游戏对象中的每个 MonoBehaviour 上名为 methodName 的方法。
SendMessageUpwards调用此游戏对象中的每个 MonoBehaviour 上或此行为的每个父级上名为 methodName 的方法。
TryGetComponent获取指定类型的组件(如果存在)。
GetInstanceID返回对象的实例 ID。
ToString返回对象的名称。

静态函数

Destroy移除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 /obj/。强烈建议您改用 Destroy。
DontDestroyOnLoad在加载新的 Scene 时,请勿销毁 Object。
FindObjectOfType返回第一个类型为 type 的已加载的激活对象。
FindObjectsOfType返回所有类型为 type 的已加载的激活对象的列表。
Instantiate克隆 original 对象并返回克隆对象。

运算符

bool该对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用,判断它们是否引用同一个对象。
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961