UNITY VR應用(一){360°環景製作-CardboardGVR}

VR應用百百種,現在最容易取得的素材就是360°或720°的環景照片了,因為手機或是很多攝影器材都可以輕鬆拍出來了,今天就來簡單說一下怎麼利用這些材料製作環景應用吧。

vive

Cardboard全景VR設定

  • 首先,用UNITY開啟一個3D專案(使用的是2017的版本),轉換到安卓平台,File>BuildingSettings>Android>SwitchPlatform。
    vr-20180501001
  • 接著,到PlayerSettings打開(匯入)CardboardSDK設定,順便設定一下專案名稱(PackageName:com.公司或作者名.專案名)。
    vr-20180501002


    OtherSettings裡面除了PackageName以外,API的Level也調整到19+為了兼容現在主流的設備。
    vr-20180501003

  • 然後到GOOGLE的開發者網站下載最新的GVR,並且匯入專案中。(https://developers.google.com/vr/develop/unity/get-started-android)
    vr-20180501004


    下載最新版本:
    vr-20180501005

  • 匯入後在GoogleVR資料夾內找到兩個預置物件GvrEditorEmulatorGvrControllerMain放入場景,就完成了基本設定。我們就可以在電腦上用Alt(Ctrl)+滑鼠移動模擬Cardboard的操作。
    vr-20180501006

背景圖製作

球型背景

這是一種簡易的做法,主要是透過Shader反貼在球體內達到效果。

  • 首先,要有一張環景720的照片可以用360攝影機或是先去網路上找一張來試驗,我們要創建一顆3D Object的球來貼這張環景照片。
    vr-20180802001
  • 然後關閉攝影機對SKYBOX的渲染,並且將球和攝影機的位置都歸零重疊。
    vr-20180502002
  • 在Assets按下滑鼠右鍵>Create>Material 新增一顆材質球,設定他的Shader>Skybox>Panoramic,再把照片放入Spherical,PLAY就可以看到效果。
    vr-20180502003


    vr-20180502004

六面體背景

這部分就比較麻煩,需要靠一些第三方工具輔助切圖。例如,PanoVR或者PTGui將環景圖片切成6面。這類型工具大多數免費又有中文支援,這邊就不多作介紹。

  • 不同的地方是攝影機使用Skybox渲染,然後材質球選擇Skybox>6 sided,把圖片放到對應的位置。
    vr-20180502005
  • 再確認Lighting Settings的Skybox換成我們製作的材質球即可。
    vr-20180502006

  • 另一個做法是將材質球選擇Skybox>Cubemap,把圖片的TextureShape改成Cube放進材質球對應的位置。
    vr-20180503001
  • 使用這顆材質在球體模型或方塊上。
    vr-20180503002

兩種做法都可以達到類似效果,但意義不太相同,前者比較像是遠景的方式適合大空間,場上還有其他物件要做全域光照計算使用,後者比較快速容易使用,較適合室內景展示用。

Leave a Reply