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

DynamicGI.SetEnvironmentData

提出变更建议

成功!

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

关闭

提交失败

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

关闭

取消

声明

public static void SetEnvironmentData(float[] input);

参数

input 要用于 enlighten 实时全局光照环境照明的浮点值数组。

说明

允许覆盖 enlighten 实时全局光照的远距离环境照明,而无需更改 Skybox 材质。

输入数组表示一个立方体,每个面都是 8 x 8 个像素,每个像素是 4 个浮点(表示像素颜色的 RGBA 值),因此该数组的大小为 8*8*6*4 = 1536 个浮点。
请注意,更改远距离环境光源或环境光照强度会用此函数设置的数据覆盖这些值。

using UnityEngine;

public class ExampleScript : MonoBehaviour { void Start() { // Set custom environment data for Enlighten Realtime Global Illumination. const int kCubeSize = 8 * 8; const int kEnvironmentDataSize = kCubeSize * 6 * 4; float[] envData = new float[kEnvironmentDataSize];

for (int c = 0; c < 6; ++c) // cube has 6 sides. { for (int i = 0; i < kCubeSize; i += 4) { int index = c * kCubeSize;

// Fill with default values. envData[index + i + 0] = 0.0f; envData[index + i + 1] = 0.0f; envData[index + i + 2] = 0.0f; envData[index + i + 3] = 1.0f;

// Funky colors on each cube face. envData[index + i + (c / 2)] = 4.0f * (float)i / (float)kCubeSize; } }

// Send the generated environment data to the GI system. DynamicGI.SetEnvironmentData(envData); } }