Language:

HTC論壇

 找回密碼
 立即註冊
查看: 3527|回覆: 2
打印 上一主題 下一主題

[教程] 如何在Vive上開發<VR+行業>應用(part-1&2)

[複製鏈接]

0

主題

0

文章

153

積分

1_路過旅人

Rank: 1

積分
153
跳轉到指定樓層
1#
發表於 2016-9-23 22:42 | 只看該作者 |只看大圖 回覆獎勵 |倒序瀏覽 |閱讀模式
Part-1.  HTC Vive傳統開發的迷思(myth)
         當我每次與HTC Vive開發者談<VR+行業>應用開發專案時最大的溝通困擾就是:大部分的HTC Vive開發者都把Real素材與Artificial素材混淆在一起,而且常常把Real素材的行為代碼,混淆在U3d引擎的script裡,綁死了行業ReaI素材的成長與新陳代謝,阻礙了業主的創新和成長。
       VR素材可分為兩類: 第1類是App開發階段使用到的美術、動畫、燈光、聲音等資源,這是做遊戲者最關注的素材。我們常稱上述第1類素材為: 人為素材(Artificial Material)。且稱第2類素材為:真實素材(Real Material)。在VR遊戲體驗應用上,兩類素材區分並不明顯。但在VR行業應用(如VR教育)的開發上,明確區分兩類素材,就很關鍵了。   
  那麼,如何調整HTC Vive開發流程,來滿足<VR+行業應用>的巨大需求呢?  必須從古典的遊戲開發思維,更上層樓進入<VR+行業應用>開發思維才行。當今在HTC vive平台上,許多開發者的思維還停留在VR遊戲上,但VR行業應用開發潮流已經超越遊戲思維的範疇了。開發者必須站在非遊戲行業的需求來優化其開發流程,才能正確有效地開發出<Vive+行業應用>。 也能加速HTC Vive在遊戲之外的廣泛行業應用與發展。
       由於HTC Vive的傳統開發流程,其最大的缺陷是:在開發段(Development-time)把R素材(即Real素材)綁入到App裡。 所以我們首先要仔細分辨R素材與App之關係R素材與App之關係就是:水與水龍頭之關係。App是水龍頭;R素材是水;R素材平臺是水庫;Internet是水管。例如,MCU(台北銘傳大學)所研發/創造的知識內容(課件),其實就是VR的R素材。R素材(課件)是用戶在全球各地教室裡執行App時,即時從素材平台下傳,從App顯示出來。MCU的R素材隨時創新、即時呈現在全球各教室。VR App只不過是一種新潮而多樣化交互的水龍頭。
       關於R素材與App新開發流程,請先參閱: R素材與App之關係


Part-2.  打造<VR+行業>開發的Vive SDK
        U3d編輯器的用途有二:1)製作A素材; 2)開發App。于此,從App開發者視角來看編輯器。VR開發者終端電腦(即開發環境)的記憶體裡,有編輯器(U3d)的軟體模組,以及A素材(Artificial素材)。

      當開發者啟動了編輯器(U3d)軟體,其UI就呈現於螢幕上,其中主要有三個視窗區域:

      接著,進行程式設計,出現一個編輯視窗,讓開發者進行編輯App,主要工作就是編輯腳本代碼(Script)。

   
      編輯腳本的目的是要讓Vive框架(及幕後的Vive OS)來調用(call),然後指示渲染引擎對素材進行運算和渲染,並調用平台(框架)的API。進行編輯腳本時,開發者會點選所要的素材名稱,寫入腳本代碼裡,這是UI的部分。此外,還會點選Vive平台API名稱,寫入腳本代碼裡。在試行腳本時,Vive平台會透過Vive App框架來調用腳本,處理用戶交互的輸入事件(Input Event)部分。

  
    接著,就由腳本來指示如何回應(Response)了,包括3D視覺圖像的渲染,以及聽覺、觸覺等輸出(Output)了。
  
    以上是古典的編輯器機制和運作模式。現來創造一個VR SDK,首先由軟體程式員(programmer)來進行程式設計,撰寫出R素材平台的App框架,並訂定其強勢型API。
     
     透過編輯器的外掛程式(Plugin)來增添編輯器一個新功能,以便將R素材平台的強勢型API呈現于編輯器的UI畫面上。

     
     接著,開發者進行編輯App,主要工作就是編輯腳本代碼(Script)。進行編輯腳本時,開發者會點選所要的素材名稱,寫入腳本代碼裡,這是UI的部分。此外,還會點選R素材平台API名稱,寫入腳本代碼裡。
   
    在試行腳本時,Vive平台會透過Vive App框架來調用腳本,處理用戶交互的輸入事件(Input Event)部分。此時,腳本透過R素材API來請求R素材App框架來協助。



  R素材App框架擁有控制權,一方面與雲平台通信,取得所需要的R素材。另一方面,透過強勢API來調用腳本代碼。

     
    於是,腳本代碼就指示引擎來進行3D影像處理和渲染。
   
   以上,改善了HTC Vive傳統開發環境的侷限,從遊戲開發的迷思中,邁向行業應用開發之路。

~ end ~


本文章最後由( Kao Tom )於 2016-9-24 07:29 編輯

本文章最後由( Kao Tom )於 2016-9-24 07:31 編輯

SDK_tw_pic-07.png (89.38 KB, 下載次數: 26)

SDK_tw_pic-07.png
回覆

使用道具 檢舉

1349

主題

4145

文章

3萬

積分

6_資深大大

Rank: 8Rank: 8

積分
35359

Po文 101 Po文 501Po文 1001站長大大專業踹共特派記者看熱鬧強者我朋友萬中選一開發者論壇三月慶HTC One系列HTC其他型號新手鄉民專業鄉民模範鄉民新秀大大資深大大

2#
發表於 2016-9-26 15:36 | 只看該作者
謝謝大大分享!很棒的材料XD

本身有在寫部落格嗎?
回覆 支持 反對

使用道具 檢舉

3

主題

24

文章

84

積分

1_路過旅人

Rank: 1

積分
84
3#
發表於 2016-9-30 12:32 | 只看該作者
謝大大分享!整理的非常詳細又清楚呢!
回覆 支持 反對

使用道具 檢舉

您需要登入後才可以回覆 登入 | 立即註冊

本版積分規則

HTC community

GMT+8, 2024-11-28 06:23 , Processed in 0.054158 second(s), 24 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回覆 返回頂部 返回列表