2015-06-10 64 views
9

我想用Unity3D構建一個類似Photosphere的應用程序並將它與Google紙板一起使用。谷歌紙板的Unity- Photosphere照片查看器

我需要加載不同的全景視圖照片,並能夠通過使用Cardboard護目鏡立體地查看它們。

我有問題使用全景圖像並將其渲染到Unity中的立體視圖。

任何建議將受到感謝。

+0

您的問題需要改進。您沒有顯示您自己的任何努力,或嘗試失敗的解決方案。請參閱網站常見問題解答,瞭解我們的標準必須通過問題來解決。 –

+0

新的Stackoverflow和統一。我會評論,但我沒有足夠的代表。所以,我完全遵循你寫下的內容,而且我很難嘗試切換不同的天空盒(材質)。我混淆了GazeInputModule,但我真的不明白。我想要做的是: - 環視立體環境 - 如果暫停超過1秒或2秒,按鈕切換環境(天空盒素材)出現。 - 使用紙板的注視或觸發器轉到下一張幻燈片。對不起,我遲到了。希望你能幫助我。謝謝!! –

回答

24

簡單的解決方案,我可以給你:

A.安裝您的Unity Pro採用Android臨插件,安裝 Cardboard SDK For Unity,安裝Android構建工具和SDK。

B設定空中包廂

  1. 優惠stereoscopic panorama image(可能需要一段時間來加載圖像,因爲它是一個高分辨率圖像)。

  2. 在團結,導入圖像,改變紋理類型立方體貼圖。選擇映射圓柱(緯和長)

  3. 創建材料,改變着色空中包廂/立方體貼圖

  4. 將材質分配給材質。

  5. 在Unity 5 Pro的頂欄,選擇窗口 - >Ligthing,該材料拖到空中包廂屬性。在這一步你可以通過編程來完成。將這些步驟與Cardboard資產和遊戲對象組合在一起。瞧,你已經做了一個VR全景立體紙板應用程序!整個設置只需5分鐘(不包括設置工具:D)。

如果您對Unity非常熟悉,您完全知道如何處理我的指示。如果你陷在我的腳步,請隨時問我。快樂編碼:)

額外提示: 您可以將大型紋理文件轉換爲資產包,類似於存儲在服務器中的動態內容。你的應用只是一個小尺寸的空應用。當應用程序啓動時,請求並從服務器下載資產包,然後操作紋理。:)

超級額外提示:不要忘記在Android Build Settings下生成資產包。如果沒有,當捆綁軟件下載到Android手機時,您的紋理將被破壞。

+0

這正是我所需要的,因爲我對團結也很陌生。你能給出關於如何改變材質/紋理的建議嗎?點擊屏幕,我想更改天空盒中使用的圖像。我添加了一個新的遊戲對象並檢測了水龍頭,但不知道如何更改圖像。理想情況下,我想下載該映像,但我甚至無法弄清楚需要編寫腳本的內容,以便在添加到項目中的資源發生變化時發生。 –

+0

好問題。 Skybox只接受材料。這可能需要升技。我所做的是我創建了一個預製件(gameobject),這是每個紋理的材質。 – felixwcf

+0

選擇頂部面板中的遊戲對象Component-> Mesh-> MeshRenderer。我之所以這樣做是因爲我想使用它的材質組件來存儲持有我的紋理的材質,後來我可以通過使用編碼來訪問它,比如gameObject.sharedMaterial [0];所以,每個紋理都有一個遊戲對象和一個材質。現在我發現有Component-> Rendering-> Skybox,也許你可以使用它的素材組件來保存你的素材,並直接指定Skybox。 – felixwcf

1

製作一個球體,寫一個着色器,使其不會被剔除,並且可以從內部看到它。使用全景圖像作爲球體上的紋理。在球體的中心放置一個VR攝像機。如果您想要真正的立體聲,請爲左眼和右眼創建兩個具有單獨紋理的球體。將球體放置在鑽機相機的照相機中。使用圖層剔除功能,以便每臺相機只能看到合適的球體。

+0

因爲您有Google Cardboard SDK for Unity,所以您不必執行所有這些步驟。只需使用立體全景圖像設置您的天空盒,並與紙板資產合併,即可獲得理想的效果。 設置自己的立體相機可能需要您編寫用於失真校正,固定陀螺旋轉,平鋪和左右球體偏移的調整,並且所有內容都已由SDK處理。 :D – felixwcf

+0

@Felix那麼,VR照相機鑽機,我的意思是CardboardMain預製件,應該是明確的。沒有想到skyboxes tho,好poit! :) –