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只不過是一種新潮而多樣化交互的水龍頭。
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 編輯
檢舉
回應