CN108304178B - 一种基于Unity3D的数据集引用方法及系统 - Google Patents

一种基于Unity3D的数据集引用方法及系统 Download PDF

Info

Publication number
CN108304178B
CN108304178B CN201810043437.1A CN201810043437A CN108304178B CN 108304178 B CN108304178 B CN 108304178B CN 201810043437 A CN201810043437 A CN 201810043437A CN 108304178 B CN108304178 B CN 108304178B
Authority
CN
China
Prior art keywords
data set
resource
reference component
unity
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810043437.1A
Other languages
English (en)
Other versions
CN108304178A (zh
Inventor
江卓浩
吴海权
李茂�
黄龙程
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Xishanju Network Technology Co ltd
Zhuhai Kingsoft Digital Network Technology Co Ltd
Original Assignee
Guangzhou Seasun Entertainment Network Technology Co ltd
Zhuhai Kingsoft Online Game Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Seasun Entertainment Network Technology Co ltd, Zhuhai Kingsoft Online Game Technology Co Ltd filed Critical Guangzhou Seasun Entertainment Network Technology Co ltd
Priority to CN201810043437.1A priority Critical patent/CN108304178B/zh
Publication of CN108304178A publication Critical patent/CN108304178A/zh
Application granted granted Critical
Publication of CN108304178B publication Critical patent/CN108304178B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming

Abstract

本发明的技术方案包括一种基于Unity3D的数据集引用方法,该方法包括:A.创建数据集对象,同时创建数据集对象对应的引用组件,所述引用组件用于替代对数据集的引用;B.对数据集对象所产生的事件进行监听,当数据集发生数据变动并保存时,移除因引用所述引用组件产生的实例化对象,并重新生成实例化对象并保存。本发明的有益效果为:提出的Prefab引用实施方法,作为补充的资源制作管理手段,弥补了Unity3D引擎原生不支持prefab引用的缺点,在资源制作阶段提供被引用Prefab对象的反向更新能力,从全局上提高资源迭代翻新效率,增强全局资源管理能力。

Description

一种基于Unity3D的数据集引用方法及系统
技术领域
本发明涉及一种基于Unity3D的数据集引用方法及系统,属于计算机三维动画数据处理领域。
背景技术
使用Unity3D引擎进行游戏开发的过程中,一般使用Prefab作为复合资源的载体。
为了降低资源在结构上冗余提升制作效率,常对多个结构相似的Prefab提取出公共部分,整理成独立的Prefab,各个资源对公共部分进行引用使用。
而由于Unity3D中,Prefab被设计为最小粒度单位,并没有提供Prefab之间的引用和反向更新功能。
Unity3D提供仅有的Prefab的引用能力,只存在于对Prefab文件进行编辑的阶段,一旦对其进行应用保存操作,被引用的对象将强制链接到父对象,成为一个整体
产生的缺点在于,本因需要被重复引用而进行分离的子Prefab文件被链接到各个独立的资源中去,失去了引用/被引用的信息,无法进行反向更新,资源复用意义大打折扣。
发明内容
针对现有技术的不足,本发明的技术方案提供了一种基于Unity3D的数据集引用方法及系统,用于实现资源数据集的高效复用。
本发明的技术方案1.一种基于Unity3D的数据集引用方法,其特征在于,该方法包括:A.创建数据集对象,同时创建数据集对象对应的引用组件,所述引用组件用于替代对数据集的引用;B.对数据集对象所产生的事件进行监听,当数据集发生数据变动并保存时,移除因引用所述引用组件产生的实例化对象,并重新生成实例化对象并保存。
根据所述的基于Unity3D的数据集引用方法,其中的步骤A还包括:S21,创建基于基于Unity3D的数据集对象,生成与数据集对象对应的引用组件,其中引用组件存储有数据集对象的唯一标识符;S22,生成实例化对象,其中实例化对象用于第三方数据或/和对象的访问。
根据所述的基于Unity3D的数据集引用方法,其中步骤S22访问包括以下步骤:根据数据集的唯一标识符获取数据集的存储路径获取数据集,对数据集对象进行实例化,并将实例化对象挂载于对应的数据或/和对象。
根据所述的基于Unity3D的数据集引用方法,其中步骤B还包括以下步骤:S41,当数据集对象发生数据变更时,对数据集对象进行遍历确认是否使用引用组件,若存在则进一步检查是否实例化预览对象;S42,删除已经实例化对象,并保存数据集对象;S43,重新生成数据集对象对应的用于预览的实例。
根据所述的基于Unity3D的数据集引用方法,其中步骤B还包括用于发布时的数据集透明处理,其特征在于:S51,遍历资源数据包中的资源列表,获取数据集资源,进一步获取具有引用组件的数据集资源;S52,对具有引用组件的数据集资源进行引用解除并对对应的数据集资源进行打包。
根据所述的基于Unity3D的数据集引用方法,其中步骤S52还包括以下步骤:对引用组件的数据集资源进行解除时,停止对数据集数据变化事件的监听,并对引用组件使用预览实例化以及重新保存数据集,保存完后恢复对数据集的数据变化事件监听。
根据所述的任意基于Unity3D的数据集引用方法,其中的数据集为Prefab数据。
本发明的技术方案还包括根据上述任意方法的一种基于Unity3D的数据集引用方法,其中该系统包括:关联模块,用于创建数据集对象,同时创建数据集对象对应的引用组件,所述引用组件用于替代对数据集的引用;引用模块,用于对数据集对象所产生的事件进行监听,当数据集发生数据变动并保存时,移除因引用所述引用组件产生的实例化对象,并重新生成实例化对象并保存。
本发明的有益效果为:提出的Prefab引用实施方法,作为补充的资源制作管理手段,弥补了Unity3D引擎原生不支持prefab引用的缺点,在资源制作阶段提供被引用Prefab对象的反向更新能力,从全局上提高资源迭代翻新效率,增强全局资源管理能力。
附图说明
图1所示为根据本发明实施方式的整体流程图;
图2所示为根据本发明实施方式的Prefab引用行为流程图;
图3所示为根据本发明实施方式的Prefab引用组件预览流程图;
图4所示为根据本发明实施方式的Prefab的一次引用流程图;
图5所示为根据本发明实施方式的Prefab的资源透明流程图;
图6所示为根据本发明实施方式的Prefab解除引用流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明的基于Unity3D的数据集引用方法及系统适用于三维游戏动画图像的数据集处理。
图1所示为根据本发明实施方式的整体流程图。
其具体如下:A.创建数据集对象,同时创建数据集对象对应的引用组件,所述引用组件用于替代对数据集的引用;B.对数据集对象所产生的事件进行监听,当数据集发生数据变动并保存时,移除因引用所述引用组件产生的实例化对象,并重新生成实例化对象并保存。
图2所示为根据本发明实施方式的Prefab引用行为流程图。
其包括以下步骤:创建新的Prefab数据;为Prefab数据添加引用组件;将被引用的Prefab的唯一标识信息记录于组件;并生成预览实例化对象。
图3所示为根据本发明实施方式的Prefab引用组件预览流程图。其包括以下步骤:
根据唯一标识符获取资源路径;根据资源路径获取Prefab对象;由Prefab对象实例化;
将实例化对象挂载于当前对象下。
图4所示为根据本发明实施方式的Prefab的一次引用流程图。其具体如下所示:遍历更新的数据集对象是否引用了组件;如果没有则结束,如果有则检查是否实例化了预览对象;进一步,删除预览对象并重新保存Prefab;以及,重新生成预览实例。
图5所示为根据本发明实施方式的Prefab的资源透明流程图。其具体包括以下步骤:
遍历打包资源列表;选择Prefab类型资源;选择使用了引用组件的Prefab资源;进行解引用;对资源进行打包;利用SVN等控制软件对被修改资源进行还原。
图6所示为根据本发明实施方式的Prefab解除引用流程图。其具体包括以下步骤:
停止对Prefab修改事件的监听;对引用组件使用预览实例化;重新保存Prefab;进而恢复对Prefab修改事件的监听。
以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,都应属于本发明的保护范围。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

Claims (7)

1.一种基于Unity3D的数据集引用方法,其特征在于,该方法包括:
A.创建数据集对象,同时创建数据集对象对应的引用组件,所述引用组件用于替代对数据集的引用;
B.对数据集对象所产生的事件进行监听,当数据集发生数据变动并保存时,移除因引用所述引用组件产生的实例化对象,并重新生成实例化对象并保存,其中的数据集为Prefab数据。
2.根据权利要求1所述的基于Unity3D的数据集引用方法,其特征在于,所述的步骤A还包括:
S21,创建基于Unity3D的数据集对象,生成与数据集对象对应的引用组件,其中引用组件存储有数据集对象的唯一标识符;
S22,生成实例化对象,其中实例化对象用于第三方数据或/和对象的访问。
3.根据权利要求2所述的基于Unity3D的数据集引用方法,其特征在于,所述的步骤S22访问包括以下步骤:
根据数据集的唯一标识符获取数据集的存储路径,根据存储路径获取数据集对象,对数据集对象进行实例化,并将实例化对象挂载于对应的数据或/和对象。
4.根据权利要求1所述的基于Unity3D的数据集引用方法,其特征在于,所述的步骤B还包括以下步骤:
S41,当数据集对象发生数据变更时,对数据集对象进行遍历确认是否使用引用组件,若存在则进一步检查是否实例化预览对象;
S42,删除已经实例化对象,并保存数据集对象;
S43,重新生成数据集对象对应的用于预览的实例。
5.根据权利要求1所述的基于Unity3D的数据集引用方法,所述的步骤B还包括用于发布时的数据集透明处理,其特征在于:
S51,遍历资源数据包中的资源列表,获取数据集资源,进一步获取具有引用组件的数据集资源;
S52,对具有引用组件的数据集资源进行引用解除并对对应的数据集资源进行打包。
6.根据权利要求5所述的基于Unity3D的数据集引用方法,其特征在于,所述的步骤S52还包括以下步骤:
对引用组件的数据集资源进行解除时,停止对数据集数据变化事件的监听,并对引用组件使用预览实例化以及重新保存数据集,保存完后恢复对数据集的数据变化事件监听。
7.根据权利要求1~6任一所述方法的一种基于Unity3D的数据集引用系统,其特征在于,该系统包括:
关联模块,用于创建数据集对象,同时创建数据集对象对应的引用组件,所述引用组件用于替代对数据集的引用;
引用模块,用于对数据集对象所产生的事件进行监听,当数据集发生数据变动并保存时,移除因引用所述引用组件产生的实例化对象,并重新生成实例化对象并保存,其中的数据集为Prefab数据。
CN201810043437.1A 2018-01-17 2018-01-17 一种基于Unity3D的数据集引用方法及系统 Active CN108304178B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810043437.1A CN108304178B (zh) 2018-01-17 2018-01-17 一种基于Unity3D的数据集引用方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810043437.1A CN108304178B (zh) 2018-01-17 2018-01-17 一种基于Unity3D的数据集引用方法及系统

Publications (2)

Publication Number Publication Date
CN108304178A CN108304178A (zh) 2018-07-20
CN108304178B true CN108304178B (zh) 2021-03-30

Family

ID=62865629

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810043437.1A Active CN108304178B (zh) 2018-01-17 2018-01-17 一种基于Unity3D的数据集引用方法及系统

Country Status (1)

Country Link
CN (1) CN108304178B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109887103B (zh) * 2019-03-21 2021-08-06 威创集团股份有限公司 一种Unity3D定位布点方法、装置、设备和计算机可读存储介质
CN110457054B (zh) * 2019-07-22 2023-01-03 珠海金山数字网络科技有限公司 一种UnityNGUI控件锚点更新模式优化方法及装置
CN111569427B (zh) * 2020-06-10 2023-04-25 网易(杭州)网络有限公司 资源的处理方法、装置、存储介质和电子装置
CN116302296B (zh) * 2023-05-23 2023-08-15 腾讯科技(深圳)有限公司 资源预览方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5389902B2 (ja) * 2008-04-28 2014-01-15 セールスフォース ドット コム インコーポレイティッド ウェブサイト及びそのコンテンツの作成及び管理のためのオブジェクト指向のシステム
CN106708623B (zh) * 2016-11-23 2021-04-27 腾讯科技(深圳)有限公司 一种对象资源处理方法、装置及系统
CN107038044A (zh) * 2017-03-27 2017-08-11 长沙趣动文化科技有限公司 基于Unity3D的游戏资源离散加载方法及系统
CN107436787B (zh) * 2017-07-31 2018-05-22 腾讯科技(深圳)有限公司 资源处理方法、装置、存储介质和电子装置

Also Published As

Publication number Publication date
CN108304178A (zh) 2018-07-20

Similar Documents

Publication Publication Date Title
CN108304178B (zh) 一种基于Unity3D的数据集引用方法及系统
CN107515776B (zh) 业务不间断升级方法、待升级节点和可读存储介质
CN109684057B (zh) 任务处理方法、装置和存储介质
US8886865B1 (en) Virtual machine image management using delta trees
US6493730B1 (en) Efficient object faulting with generational garbage collection
CN107016016B (zh) 一种数据处理的方法及装置
US10268776B1 (en) Graph store built on a distributed hash table
US9207966B2 (en) Method and system for providing a high-availability application
US20190243712A1 (en) Versioned records management using restart era
CN104268097A (zh) 一种元数据处理方法及系统
CN103188306B (zh) 分布式预处理方法和系统
CN112882859A (zh) 一种虚拟机合成备份方法及系统
US6944618B2 (en) Method, computer program product, and system for unloading a hierarchical database utilizing segment specific selection criteria
CN104123135A (zh) 一种统一后台接口的方法及装置
CN116860527A (zh) 在Kubernetes环境下使用本地存储的容器的迁移方法
CN103729301A (zh) 数据处理方法和装置
CA2600504C (en) Container-level transaction management system and method therefor
CN111760293B (zh) 时间轴工具的资源动态加载方法及装置、电子设备
US20210303417A1 (en) Method and system for managing backup data
JP6927301B2 (ja) アクセラレータ制御装置、アクセラレータ制御方法、及び、アクセラレータ制御プログラム
CN114880150A (zh) 故障隔离和现场保护方法和系统
CN108376104B (zh) 节点调度方法及装置、计算机可读存储介质
CN112256481A (zh) 一种敏捷开发中数据恢复方法及系统
CN112637263A (zh) 一种多数据中心资源优化提升方法、系统和存储介质
CN102567141B (zh) 一种数据项备份方法及智能卡

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 519000 Room 102, 202, 302 and 402, No. 325, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province, Room 102 and 202, No. 327 and Room 302, No. 329

Patentee after: Zhuhai Jinshan Digital Network Technology Co.,Ltd.

Patentee after: Guangzhou Xishanju Network Technology Co.,Ltd.

Address before: 519000 building 3, Jinshan Software Park, 325 Qiandao Ring Road, Xiangzhou District, Zhuhai City, Guangdong Province

Patentee before: ZHUHAI KINGSOFT ONLINE GAME TECHNOLOGY Co.,Ltd.

Patentee before: GUANGZHOU SEASUN ENTERTAINMENT NETWORK TECHNOLOGY Co.,Ltd.