Объявление
public float[,,] GetAlphamaps(int x, int y, int width, int height);Параметры
x | Смещение x для чтения. |
y | Смещение по y для чтения. |
width | Ширина области альфа-карты для чтения. |
height | Высота области альфа-карты для чтения. |
Возвращает
float[,,] Трехмерный массив с плавающей запятой, где третье измерение представляет собой вес смешивания каждого пятна в каждой координате x, y.
Описание
Возвращает альфа-карту в позиции x, y с учетом ширины и высоты.
Возвращенный массив является трехмерным: первые два измерения представляют координаты x и y на карте, а третье обозначает текстуру splatmap, к которой применяется альфа-карта.
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour
{
// Добавьте случайный «шум» в альфа-карты.
void AddAlphaNoise(Terrain t, float noiseScale)
{
float[,,] maps = t.terrainData.GetAlphamaps(0, 0, t.terrainData.alphamapWidth, t.terrainData.alphamapHeight);
for (int y = 0; y < t.terrainData.alphamapHeight; y++)
{
for (int x = 0; x < t.terrainData.alphamapWidth; x++)
{
float a0 = maps[x, y, 0];
float a1 = maps[x, y, 1];
a0 += Random.value * noiseScale;
a1 += Random.value * noiseScale;
float total = a0 + a1;
maps[x, y, 0] = a0 / total;
maps[x, y, 1] = a1 / total;
}
}
t.terrainData.SetAlphamaps(0, 0, maps);
}
}