Объявление
public static void SetEnvironmentData(float[] input);Параметры
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);
}
}