DynamicGI.SetEnvironmentData
Declaration
public static void SetEnvironmentData(float[] input);Параметры
| Параметр | Описание |
|---|---|
| ввод | Массив значений с плавающей запятой, используемый для освещения окружения Enlighten Realtime Global Illumination. |
Описание
Позволяет переопределить освещение окружающей среды для Enlighten Realtime Global Illumination, без изменения 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); } }