返回介绍

TerrainData.GetAlphamaps 获取透明贴图

发布于 2019-12-18 15:38:37 字数 2421 浏览 1579 评论 0 收藏 0

JavaScript => public function GetAlphamaps(x: int, y: int, width: int, height: int): float[,,];
C# => public float[,,] GetAlphamaps(int x, int y, int width, int height);

Parameters 参数

Description 描述

Returns the alpha map at a position x, y given a width and height.
返回给定了宽度和高度的透明贴图的位置x和y。

The returned array is three-dimensional - the first two dimensions represent x and y coordinates on the map, while the third denotes the splatmap texture to which the alphamap is applied.
返回的数组是三维的,前两个维度代表x和y坐标,第三个是适用于透明贴图的splatmap纹理。

JavaScript:

#pragma strict
// Add some random "noise" to the alphamaps.
function AddAlphaNoise(t: Terrain, noiseScale: float) {
	var maps: var = t.terrainData.GetAlphamaps(0, 0, t.terrainData.alphamapWidth, t.terrainData.alphamapHeight);
	for (var y: var = 0; y < t.terrainData.alphamapHeight; y++) {
		for (var x: var = 0; x < t.terrainData.alphamapWidth; x++) {
			var a0: var = maps[x, y, 0];
			var a1: var = maps[x, y, 1];
			a0 += Random.value * noiseScale;
			a1 += Random.value * noiseScale;
			var total: var = a0 + a1;
			maps[x, y, 0] = a0 / total;
			maps[x, y, 1] = a1 / total;
		}
	}
	t.terrainData.SetAlphamaps(0, 0, maps);
}

C#:

using UnityEngine;
using System.Collections;
 
public class ExampleClass : MonoBehaviour {
	// Add some random "noise" to the alphamaps.
	void AddAlphaNoise(Terrain t, float noiseScale) {
		var maps = t.terrainData.GetAlphamaps(0, 0, t.terrainData.alphamapWidth, t.terrainData.alphamapHeight);
 
		for (var y = 0; y < t.terrainData.alphamapHeight; y++) {
			for (var x = 0; x < t.terrainData.alphamapWidth; x++) {
				var a0 = maps[x, y, 0];
				var a1 = maps[x, y, 1];
 
				a0 += Random.value * noiseScale;
				a1 += Random.value * noiseScale;
 
				var total = a0 + a1;
 
				maps[x, y, 0] = a0 / total;
				maps[x, y, 1] = a1 / total;
			}
		}
 
		t.terrainData.SetAlphamaps(0, 0, maps);
	}
}

terraindata

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文