【发布时间】:2017-07-12 15:05:28
【问题描述】:
我试图在相对位置 Vector2(50,60) 的图像对象上找到一个像素。但是,虽然对象只有 100x100,但我的图像是 1200x1200(用于分辨率缩放目的)。当我尝试这样做时:
Color color = mask.sprite.texture.GetPixel(x, y);
它返回图像上 (50,60) 的像素,而不是游戏对象上的像素(图像上的 50,60 始终是空白像素)
我的问题:如何在缩小的游戏对象 UI 图像上找出所需游戏对象位置的像素颜色。
【问题讨论】:
-
x / currentSizeX * originalSizeX? -
你有很多选择,你的主要问题基本上是将你的 50、60 坐标映射到你的 1200x1200 范围。 U 也可以查找所选对象的纹理坐标 (
RaycastHit.textureCoord)。然后做一个纹理查找。您当前的帖子需要较少的信息才能以代码形式为您提供正确的答案。 -
我认为 unity 会有一些开箱即用的功能,但我会选择 @Draco18s 的答案。我不确定,但在我看来,光线投射的执行速度比计算和缩放要慢。