Texture2D.GetPixelfunction GetPixel (x : int, y : int) : ColorDescriptionReturns pixel color at coordinates (x, y). If the pixel coordinates are out of bounds (larger than width/height or small than 0), they will be clamped or repeat based on the texture's wrap mode. If you are reading a large block of pixels from the texture, it may be faster to use GetPixels which returns a whole block of pixel colors. The texture must have the Is Readable flag set in the import settings, otherwise this function will fail. See Also: GetPixels, SetPixel, GetPixelBilinear.
JavaScripts
// Sets the y coordinate of the transform to follow the heightmap
var heightmap : Texture2D; var size = Vector3 (100, 10, 100); function Update () { var x : int = transform.position.x / size.x * heightmap.width; var z : int = transform.position.z / size.z * heightmap.height; transform.position.y = heightmap.GetPixel(x, z).grayscale * size.y; } using UnityEngine;
using System.Collections; public class example : MonoBehaviour { public Texture2D heightmap; public Vector3 size = new Vector3(100, 10, 100); void Update() { int x = transform.position.x / size.x * heightmap.width; int z = transform.position.z / size.z * heightmap.height; transform.position.y = heightmap.GetPixel(x, z).grayscale * size.y; } } import UnityEngine
import System.Collections class example(MonoBehaviour): public heightmap as Texture2D public size as Vector3 = Vector3(100, 10, 100) def Update(): x as int = ((transform.position.x / size.x) * heightmap.width) z as int = ((transform.position.z / size.z) * heightmap.height) transform.position.y = (heightmap.GetPixel(x, z).grayscale * size.y) |
