-3
我正在與統一的谷歌紙板。 在我的主場景中,我有一個帶有圖像紋理的天空盒。 如何獲得我正在尋找的像素的顏色? 天空盒是mainCamera的一個元素,即「頭」的孩子。 我也把GvrReticle當成孩子的頭;對我的目的有用嗎? 謝謝紋理天空盒團結的顏色
我正在與統一的谷歌紙板。 在我的主場景中,我有一個帶有圖像紋理的天空盒。 如何獲得我正在尋找的像素的顏色? 天空盒是mainCamera的一個元素,即「頭」的孩子。 我也把GvrReticle當成孩子的頭;對我的目的有用嗎? 謝謝紋理天空盒團結的顏色
基本上你等待幀的結束,以便相機已經呈現。然後,將渲染的數據讀入紋理並獲取中心像素。
編輯請注意,如果您有一個在中心呈現的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);
}
}
好的,謝謝。有效。但現在我有另一個問題:我怎樣才能得到正在運行但不在屏幕上呈現的另一個攝像頭(不是主)的天空盒紋理的中心像素?這款相機是主相機的「姊妹」。我想我應該從「頭」的輪換開始,但我不知道如何 –