在给定贴图区域中分配所有泼溅值。
提供给该函数的数组用于确定 要替换的部分的宽度和高度。数组的第三个维度 对应于泼溅贴图纹理的数量。
// Blend the two terrain textures according to the steepness of // the slope at each point. function Start () { var map: float[,,] = new float[t.terrainData.alphamapWidth, t.terrainData.alphamapHeight, 2];
// For each point on the alphamap... for (var y = 0; y < t.terrainData.alphamapHeight; y++) { for (var x = 0; x < t.terrainData.alphamapWidth; x++) { // Get the normalized terrain coordinate that // corresponds to the the point. var normX = x * 1.0 / (t.terrainData.alphamapWidth - 1); var normY = y * 1.0 / (t.terrainData.alphamapHeight - 1);
// Get the steepness value at the normalized coordinate. var angle = t.terrainData.GetSteepness(normX, normY);
// Steepness is given as an angle, 0..90 degrees. Divide // by 90 to get an alpha blending value in the range 0..1. var frac = angle / 90.0; map[x, y, 0] = frac; map[x, y, 1] = 1 - frac; } }
t.terrainData.SetAlphamaps(0, 0, map); }