座標(x, y)のピクセルのカラーを取得します
ピクセル座標が境界を超えた場合(width/height よりも大きい場合や、 0 より小さい場合)、
テクスチャのラップモードに基づいてクランプされるかリピートされます。
テクスチャの座標は左下隅から始まります。
もしテクスチャから大きなピクセルのかたまりを読み込む場合、
ピクセルカラーのかたまりのすべてを返す GetPixels を使う方が早いでしょう。
テクスチャはインポートセッティングの Read/Write Enabled フラグを設定しなくてはいけません。でなければこのファンクションは失敗するでしょう。
See Also: GetPixels32, GetPixels, SetPixel, GetPixelBilinear.
// Sets the y coordinate of the transform to follow the heightmap using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { public Texture2D heightmap; public Vector3 size = new Vector3(100, 10, 100);
void Update() { int x = Mathf.FloorToInt(transform.position.x / size.x * heightmap.width); int z = Mathf.FloorToInt(transform.position.z / size.z * heightmap.height); Vector3 pos = transform.position; pos.y = heightmap.GetPixel(x, z).grayscale * size.y; transform.position = pos; } }