亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

UNITY如何動態加載R素材?

發布時間:2020-09-06 15:19:43 來源:網絡 閱讀:543 作者:myeit 欄目:開發技術


Daydream/Unity技術:

    Unity動態加載R素材-- 使用ScriptableObjectAssetBoudle

by 高煥堂  


一、背景說明:
   如果您還不熟悉R素材與A素材,請您參閱:Real素材的有機次序

   大約半年前,我為了想參與與HTC 的Vive X加速器計劃而設計了<VR+醫療MRI行業平臺>。<R素材>概念和名詞也是我當時提出的。這樣的<VR行業平臺>架構也適合于建立特性產業的素材和App平臺。例如,臺灣的鶯歌鎮是陶瓷/琉璃設計小城,臺灣三義鄉則是木雕藝術城市,這些木雕、陶瓷、琉璃設計的商業產品的虛擬化3D模型,都可以成為VR的R素材,管理在平臺上,我又鼓勵臺北銘傳大學傳播系學生來幫忙做<VR+廣告>的App以進行VR營銷,就變成一個VR電商平臺了。無意中,發現了很棒的校企產學合作機會,不亦樂乎。最近,臺灣著名的IT雜志CTimes也專文報導這項VR行業平臺的商業意義和經濟價值。
   這項平臺技術方案也公布于HTC Vive官方論壇上。請參閱HTC Vive開發者論壇文章:" 如何在Vive上開發<VR+行業>應用"

        --- https://www.vive.com/cn/forum/chat.php?type=developer
     或者 --- https://www.vive.com/tw/forum/chat.php?type=general

 

二、<VR行業平臺>的經濟價值:
   記得半年前,我把素材區分為兩種:A素材與R素材。一開始,我并不是基于客戶的方便性(Artificial)與需要性(Real)而區分的。而是從系統(產品)角度來區分的。因為平臺最關鍵在于強勢型API的制定權在誰手上,例如Android平臺的SDK/API制定權在Google的OHA聯盟手上,即使HTC把手機終端產品和UI做得再好,都會因API受制于人。
   基于強勢型API的制定權,就把素材分為兩種,然后透過我定義的API在我的平臺上自由組合成為VR App,也就俗稱的VR內容(content)了。這就如同日光<燈座>與<燈管>之間的關系了。

   UNITY如何動態加載R素材?

   從系統(產品)面來看,兩者的區分在于:A素材是”Early-binding at development-time”就是在開發階段就綁進去App(如房屋)里一起編譯、連結,并和一起上傳下載。而R素材是”Late-binding at run-time”,就是在App運行(房屋入住)階段才透過API到平臺上取得R素材來與裝配上去。
   把它對應到<VR+教育>領域上,就<VR教育平臺>而言,教育只是手段,專業知識(如烘焙)才是R素材。同樣一份R素材,搭配百花齊放的A素材和硬件設備,就呈現出多種表現了。例如,烘焙R素材可用古老(有框)AR呈現,可用Hololens新(無框)AR呈現,也可用Daydream VR呈現之。由于傳統VR應用開發者大多力求討好更多用戶,包括2C、2B,都是在追求復制性。而在我的平臺上,開創一個新的復制面向:復制到360行業!
  所以我特別強調<行業>。幫行業的創作(R素材),找更多呈現,找更多客戶群。也就是舊R素材(搭配A素材成新產品)、賣新客戶。而不是傳統上,在老掉牙的客戶群,幫他找更多東東給他們(新產品賣舊客戶)。因為VR的2C不行,C不會給更多$,我們卻花更多成本,就賠$了,富貴遠去了!
  反之,我則鼓勵大家尋求更多C群,分擔精致R素材的高成本,給予C中價位,高質量VRAR內容。創業者從單一行業(R素材)出發,逐漸復制技術(及A素材)到不同行業,也分擔了技術及A素材的成本。一方面,透過更多C群,分擔R素材成本。另一方面,透過更多行業,分擔技術及A素材成本。因而A、R素材和技術都高質量,成本因分擔而下降,創造了物美價廉。若因物美占有市場,若因物美而價高,富貴相隨矣!
 


三、實踐技術:使用Unity的ScriptableObject和AssetBundle方法
   其中,大家比較常問的是:R素材必須動態加載,而不能再開發段就綁入App里,如下:

   UNITY如何動態加載R素材?

   其中,基本需求是:不要將紅綠燈的構型綁入App,而直到用戶運行VR App時才到伺服端實時取得紅綠燈素材。那么,在實際的Daydream或HTC Vive體驗平臺上,又如何實現這項實實取得呢?
   其實踐方法有許多種,如果您使用Unity編輯器,最簡單的途徑就是使用Unity的ScriptableObject技術。我們可以使用 ScriptableObject 在 Project view 建立專用的 Asset 來做設定,并將它存放在Resources文件夾中。當VR App運行中,需要用到時,才調用 Resources.Load()函數來取到設定值,若有任何修改的話,只要打開 Project view 內的 Resources文件夾修改一下即可。
   通常,一個行業的R素材資源是相當多的,而且會時常更新的,這些龐大資源全部綁入App里,本身就不合理。于是,就可以進一步將ScriptableObject打包成為AssetBundle。我們的VR App可以掌管主要邏輯或線程,當有需要某些資源(如R素材),才從外部的 AssetBundle 加載資源,這樣我們常常只需要重新打包資源(R素材)的部份就能完成更新,而不需要重新編譯App。
  如果不是使用Unity編輯器,也可采用其他技術,例如運用Android/Linux平臺上的*.SO,或者Windows平臺上的DLL來實踐動態加載。其技術細節,之后再來幫您解釋了。

                                                  

高煥堂 教您架構思維,富貴藏在...

UNITY如何動態加載R素材?==>請看內容

~ end ~

  


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

长阳| 上饶县| 峨边| 安远县| 新田县| 孟州市| 衡东县| 苏尼特右旗| 临汾市| 内乡县| 台江县| 鞍山市| 京山县| 航空| 盖州市| 江津市| 基隆市| 桑植县| 松潘县| 略阳县| 塘沽区| 沧州市| 宁晋县| 抚松县| 扎赉特旗| 阿拉善右旗| 宜阳县| 获嘉县| 兴国县| 宁国市| 子洲县| 资中县| 大余县| 都江堰市| 扶沟县| 邯郸市| 年辖:市辖区| 东阿县| 武清区| 昌邑市| 恭城|