2013-01-02 80 views
0

我在使用Vuforia庫的應用程序中使用相機(設備相機)。我想在相機上渲染2D紋理(任何.png或.jpg)來定義它的座標和大小。我嘗試過,但我的應用程序總是崩潰。我不知道我在做什麼錯。請幫助我這對我來說很棒。如何在Unity3d中以編程方式在相機視圖中顯示圖像

string tempPath = "/Assets/Images/119642-samsung-galaxy-note-2-picture-large.jpg";

Texture2D tex = new Texture2D(400,350); 
Resources.LoadAssetAtPath(tempPath, typeof(Texture2D)); 
renderer.material.mainTexture = tex as Texture2D; 

這裏以上就是我在做什麼。提前致謝。

回答

0

據我所見,沒有必要使用Resources.LoadAssetAtPath。根據文檔:

返回資源路徑處的資源(僅限編輯器)。

此功能在獨立播放器或網絡播放器中始終返回null。這對於快速訪問僅用於 編輯器的資源非常有用。

假設renderer是要顯示在遊戲對象的正確渲染,這個代碼應該工作,假設你的tempPath是正確的:

WWW www = new WWW("file://" + path); 
yield www; 
Texture2d texture = www.texture; 
texture.Resize(400, 350); 
renderer.material.mainTexture = texture; 

你必須使用一個WWW得到實際的文件,然後將其分配給實際的Texture2d。然後,您可以將其調整爲您喜歡的任何寬度/高度,然後將其分配給mainTexture。

如果這項工作,請高估並接受!否則告訴我什麼是不正確的!

+0

非常感謝。我做到了這一點,但它顯示了與相機卡在一起的圖像。我不需要這個,我想在特定的位置顯示圖像,它顯示卡住與相機不具體的位置。我怎麼能這樣呢? – josh

+0

@josh嗯,你是什麼意思?你能更清楚嗎?圖像是否呈現給相機而不是遊戲對象?你能給一個截圖嗎? –

+0

是的這個圖像應該與遊戲對象卡在一起。就像我在做什麼,我正在做Geocaching的應用程序,所以當用戶來到特定的位置和方向,然後我會顯示應該卡在特定位置的圖像。 – josh

相關問題