UNITY如何动态加载R素材?
admin
2023-08-03 13:49:03
0


Daydream/Unity技術:

    Unity动态加载R素材-- 使用ScriptableObjectAssetBoudle

by 高煥堂  


一、背景说明:
   如果您还不熟悉R素材与A素材,请您参阅:Real素材的有机次序

   大约半年前,我为了想参与与HTC 的Vive X加速器计划而设计了概念和名词也是我当时提出的。这样的架构也适合于建立特性产业的素材和App平台。例如,台湾的莺歌镇是陶瓷/琉璃设计小城,台湾三义乡则是木雕艺术城市,这些木雕、陶瓷、琉璃设计的商业产品的虚拟化3D模型,都可以成为VR的R素材,管理在平台上,我又鼓励台北铭传大学传播系学生来帮忙做的App以进行VR营销,就变成一个VR电商平台了。无意中,发现了很棒的校企产学合作机会,不亦乐乎。最近,台湾著名的IT杂志CTimes也专文报导这项VR行业平台的商业意义和经济价值。
   这项平台技术方案也公布于HTC Vive官方论坛上。请参阅HTC Vive开发者论坛文章:" 如何在Vive上开发应用"

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

 

二、的经济价值:
   记得半年前,我把素材区分为两种: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素材来与装配上去。
   把它对应到领域上,就而言,教育只是手段,专业知识(如烘焙)才是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 ~

  


相关内容

热门资讯

山东济宁:让机器人“跑”进千行... 盛夏时节,孔孟之乡迎来一场科技与产业深度交融的大会。7月11日至13日,由山东省机器人行业协会、中国...
外交部亚洲司负责人就日方涉“南... 2026年7月12日,外交部亚洲司负责人就日本外相炒作“南海仲裁案裁决”出台十年发表谈话、日伙同他国...
全球首款可变形个人机器人,上纬... IT之家 7 月 12 日消息,上纬新材今日发布启元 T1 实机视频,号称“全球首款可变形个人机器人...
腾讯重仓一个IPO 图片来源:视觉中国 作者/杨继云 报道/投资界PEdaily 深圳超级IPO来了。 日前,深圳云豹智...
乌方称“俄军9成导弹和无人机有... 近日,乌克兰总统顾问弗拉修克在接受日本共同社的采访时声称,俄军在进攻乌克兰时使用的巡航和弹道导弹及无...
美国驻阿曼使馆发布“就地避险”... 当地时间7月12日,美国驻阿曼大使馆向阿曼境内部分地区发布“就地避险”提醒。美国驻阿曼使馆表示,鉴于...
风雨里的守望——广西防汛抗洪一... ↑ 7月11日,在通往广西南宁横州市镇龙乡的道路上,救援人员徒步向受困地区进发(无人机照片)。近期,...
特大暴雨!“巴威”即将进入安徽... 今年第9号台风“巴威”登陆后深入内陆,将携大量水汽影响安徽,今明两天(7月12日至13日)为台风雨核...
油烟机自动翻盖打不开了 油烟机自动翻盖打不开了的原因有三个。第一,可能是控制面板故障或者附着的油污太多了。第二,油烟机控制系...
万家乐油烟机按键失灵是什么原因 万家乐油烟机按键失灵是什么原因可能是因为受潮影响,机器内部进水导致触摸按键失灵,首先检查电源板各电压...