返回坐标 (x, y) 上的像素颜色。
If the pixel coordinates are out of bounds (larger than width/height or smaller than 0),
they will be clamped or repeated based on the texture's wrap mode.
纹理坐标从左下角开始。
如果您从纹理读取大像素块,
使用 GetPixels32 或 GetPixels 可能更快,它返回整块像素颜色。
Texture.isReadable must be true
. GetPixel is not available on Textures using Crunch texture compression.
另请参阅: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; } }