纹理天空盒unity的颜色
Color of texture skybox unity
我正在统一使用 google 纸板。
在我的主场景中,我有一个带有图像作为纹理的天空盒。
我怎样才能得到我正在寻找的像素的颜色?
天空盒是mainCamera的一个元素,即"Head"的child。
我也把 GvrReticle 作为头部的 child;它对我的目的有用吗?
谢谢
基本上,您等待帧结束,以便相机渲染。然后将渲染数据读入纹理并获取中心像素。
编辑 请注意,如果您在中心渲染了一个 UI 元素,它将显示 UI 元素颜色而不是后面的颜色。
private Texture2D tex;
public Color center;
void Awake()
{
StartCoroutine(GetCenterPixel());
}
private void CreateTexture()
{
tex = new Texture2D(1, 1, TextureFormat.RGB24, false);
}
private IEnumerator GetCenterPixel()
{
CreateTexture();
while (true)
{
yield return new WaitForEndOfFrame();
tex.ReadPixels(new Rect(Screen.width / 2f, Screen.height / 2f, 1, 1), 0, 0);
tex.Apply();
center = tex.GetPixel(0,0);
}
}
我正在统一使用 google 纸板。 在我的主场景中,我有一个带有图像作为纹理的天空盒。 我怎样才能得到我正在寻找的像素的颜色? 天空盒是mainCamera的一个元素,即"Head"的child。 我也把 GvrReticle 作为头部的 child;它对我的目的有用吗? 谢谢
基本上,您等待帧结束,以便相机渲染。然后将渲染数据读入纹理并获取中心像素。
编辑 请注意,如果您在中心渲染了一个 UI 元素,它将显示 UI 元素颜色而不是后面的颜色。
private Texture2D tex;
public Color center;
void Awake()
{
StartCoroutine(GetCenterPixel());
}
private void CreateTexture()
{
tex = new Texture2D(1, 1, TextureFormat.RGB24, false);
}
private IEnumerator GetCenterPixel()
{
CreateTexture();
while (true)
{
yield return new WaitForEndOfFrame();
tex.ReadPixels(new Rect(Screen.width / 2f, Screen.height / 2f, 1, 1), 0, 0);
tex.Apply();
center = tex.GetPixel(0,0);
}
}