[Unity3d]3D項目轉換為VR項目(暴風魔鏡SDK)


  • 使用暴風魔鏡SDK來操作

  • 將魔鏡的攝像頭拖放到項目中:

  • 將MoJingVrHead的Script剪切到CamRoot中:

  • 這個時候能看到顯示2個物體了,不過使用的Canvas還是顯示一個:

調整Canvas的屬性,使其顯示2份:

  • 步驟一:將Render Mode改為Camera模式並且新建一個Camera進行測試,並且保證Canvas相對於飛機更靠近攝像頭

  • 調整測試的Camera並設置如下:相當於只看UI層

    • 因為Canvas屬於UI層,所以設置顯示UI層;

    • 設置Don't clear則表示會繼續顯示其它layer的信息

  • 在將Canvas的Render mode設置為world space如下,並且刪除掉測試的Camera,則就顯示正常了

  • 再將Canvas拷貝到Mojing的Camera下,這樣Canvas就會跟隨着Mojing一起移動了:

  • 因為我們不需要Mojing的Camera來控制我們主體的位置,所以將Trach Position去掉:

注意,不建議將Render moder模式從Overlay直接改為world space,這樣會導致Canvas大小不合適而比較難於調整


  • 添加VR模式下的操控方式,添加IntegrateInputManager,並且通過其Buttons的設置了解到OK就是單擊手柄的返回按鍵

    代碼中的用法CrossPlatformInputManager.GetButton("OK")
  • 程序運行后,游戲中的主體變小了,這是因為fov由60變為了96導致的,這和暴風魔鏡的畸變設置有關:

添加交互界面

  • 參考魔鏡的Demo場景HeadControllerDemo添加
  • 因為魔鏡中的攝像頭位置不變,所以我們需要修改相應的代碼,讓其開始不激活,在主角消失之后才顯示交互對話框,並且在OnEnable的時候來設置其位置
  • 通過轉動這個點,來選擇,也已經將Demo上傳到了Github


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM