91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

金阳县| 邵武市| 蕉岭县| 保德县| 什邡市| 东方市| 开江县| 剑阁县| 宁海县| 科尔| 洪江市| 浮梁县| 东阳市| 白河县| 马尔康县| 土默特右旗| 宾川县| 上杭县| 德阳市| 都兰县| 固阳县| 无棣县| 金堂县| 东海县| 龙海市| 阜阳市| 上蔡县| 汝阳县| 定南县| 望江县| 抚顺县| 汝南县| 南京市| 康保县| 轮台县| 平武县| 湖北省| 抚松县| 定安县| 连江县| 乌兰县|