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

MaterialPropertyBlock.CopySHCoefficientArraysFrom

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

public void CopySHCoefficientArraysFrom(List<SphericalHarmonicsL2> lightProbes);

声明

public void CopySHCoefficientArraysFrom(SphericalHarmonicsL2[] lightProbes);

参数

lightProbes 要从中复制的 SH 值数组。

描述

此函数将整个源数组转换为并复制到 7 个名为 unity_SHArunity_SHAgunity_SHAbunity_SHBrunity_SHBgunity_SHBbunity_SHC 的 Vector4 属性数组中,以便与实例化 光探测器 渲染一起使用。

如果 MaterialPropertyBlock 上不存在数组属性,则将使用源数组的长度创建它们。
调用 LightProbes.CalculateInterpolatedLightAndOcclusionProbes 以计算给定世界空间位置处的 SH 值。
如果 lightProbesnull,则会引发 ArgumentNullException。
请注意,所有 MaterialPropertyBlock 数组最多只能有 1023 个元素。如果源数组超出范围,则会打印警告并忽略多余的数组元素。

其他资源:CopyProbeOcclusionArrayFromGraphics.RenderMeshInstancedCommandBuffer.DrawMeshInstanced


声明

public void CopySHCoefficientArraysFrom(SphericalHarmonicsL2[] lightProbes, int sourceStart, int destStart, int count);

声明

public void CopySHCoefficientArraysFrom(List<SphericalHarmonicsL2> lightProbes, int sourceStart, int destStart, int count);

参数

lightProbes 要从中复制的 SH 值数组。
sourceStart 要从中复制的源数组中第一个元素的索引。
destStart 要复制到的目标 MaterialPropertyBlock 数组中第一个元素的索引。
count 要复制的元素数量。

描述

此函数将源数组转换为并复制到 7 个名为 unity_SHArunity_SHAgunity_SHAbunity_SHBrunity_SHBgunity_SHBbunity_SHC 的 Vector4 属性数组中,并使用指定的源和目标范围,以便与实例化 光探测器 渲染一起使用。

如果 MaterialPropertyBlock 上不存在数组属性,则将使用指定的范围长度创建它们。
调用 LightProbes.CalculateInterpolatedLightAndOcclusionProbes 以计算给定世界空间位置处的 SH 值。
如果 occlusionProbesnull,则会引发 ArgumentNullException。
如果源范围或目标范围无效,则会引发 ArgumentOutOfRangeException。
请注意,所有 MaterialPropertyBlock 数组最多只能有 1023 个元素。如果源数组超出范围,则会打印警告并忽略多余的数组元素。

其他资源:CopyProbeOcclusionArrayFromGraphics.RenderMeshInstancedCommandBuffer.DrawMeshInstanced