返回介绍

Texture2D.GetPixel 获取像素颜色

发布于 2019-12-18 15:38:39 字数 2934 浏览 1219 评论 0 收藏 0

JavaScript => public function GetPixel(x: int, y: int): Color;
C# => public Color GetPixel(int x, int y);

Description 描述

Returns pixel color at coordinates (x, y).

返回坐标(x, y)的像素颜色。

If the pixel coordinates are out of bounds (larger than width/height or small than 0), they will be clamped or repeated based on the texture's wrap mode.

如果该像素的坐标超出边界(大于这个纹理的宽/高或者小于0),那么将会以纹理的循环模式为准进行钳制或重复。

Texture coordinates start at lower left corner.

纹理的坐标开始于左下角。

If you are reading a large block of pixels from the texture, it may be faster to use GetPixels32 or GetPixels which returns a whole block of pixel colors.

如果你需要从纹理上读取一大块像素,使用 GetPixels32或GetPixels 可以更快的返回整块的像素颜色

The texture must have the Read/Write Enabled flag set in the import settings, otherwise this function will fail.

纹理必须开启导入设置中的Read/Write Enabled标识,否则该函数会产生错误。

See Also: GetPixels32, GetPixels, SetPixel, GetPixelBilinear.

JavaScript:

#pragma strict
// Sets the y coordinate of the transform to follow the heightmap
public var heightmap: Texture2D;
public var size: Vector3 = new Vector3(100, 10, 100);
function Update() {
	var x: int = Mathf.FloorToInt(transform.position.x / size.x * heightmap.width);
	var z: int = Mathf.FloorToInt(transform.position.z / size.z * heightmap.height);
	var pos: Vector3 = transform.position;
	pos.y = heightmap.GetPixel(x, z).grayscale * size.y;
	transform.position = pos;
}

C#:

	// 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;
    }
}

Texture2D

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

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

发布评论

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