CN111857872A - 快速查找Unity3D缺失资源的方法、装置及可读介质 - Google Patents
快速查找Unity3D缺失资源的方法、装置及可读介质 Download PDFInfo
- Publication number
- CN111857872A CN111857872A CN202010642209.3A CN202010642209A CN111857872A CN 111857872 A CN111857872 A CN 111857872A CN 202010642209 A CN202010642209 A CN 202010642209A CN 111857872 A CN111857872 A CN 111857872A
- Authority
- CN
- China
- Prior art keywords
- resource
- unity3d
- resource file
- missing
- resources
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5055—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种快速查找Unity3D缺失资源的方法、装置及可读介质,主要用于关联资源是否确实的快速查找,包括:获取基于Unity3D的资源文件,以文本形式加载所述资源文件至内存空间;对文本内容进行匹配,得到文本对应资源文件的关联资源文件的全局唯一标识符;调用Unity3D接口对所述全局唯一标识符进行反推,获取关联资源文件的路径及工程;循环执行步骤S100~S300,直至将所有反推结果中缺失的资源文件写入列表,并显示所述资源至交互界面。本发明的有益效果为:可以实现高效快速查找缺失资源。
Description
技术领域
本发明涉及计算机游戏领域,具体涉及了一种快速查找Unity3D缺失资源的方法、装置及可读介质。
背景技术
在Unity3D资源里,由于误删或者操作不当,Unity3D经常会出现缺失资源,查找缺失资源的通用做法是通过依赖关系查找是否有缺失资源,但是调用 Unity3D中获取依赖关系的接口时,返回来的资源列表会,加载该资源,然后创建一个可序列化对象,遍历对象的属性,当引用对象存在实例不等于0时说明有引用对象,若引用对象的值为空时,则说明有资源缺失了,此种方式仅适用于脚本缺失的情况,并且特别耗时,本文提出了一种高效的获取缺失资源的方式,并适用于各种Unity3D资源类型,如脚本,pefab(游戏资源对象),mat(材质文件),asset(自定义资源)等等。
发明内容
本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了一种快速查找Unity3D缺失资源的方法、装置及可读介质,快速查找Unity3D中的缺失资源。
本发明的技术方案包括快速查找Unity3D缺失资源的方法,其特征在于,该方法包括以下步骤:S100,获取基于Unity3D的资源文件,以文本形式加载所述资源文件至内存空间;S200,对文本内容进行匹配,得到文本对应资源文件的关联资源文件的全局唯一标识符;S300,调用Unity3D接口对所述全局唯一标识符进行反推,获取关联资源文件的路径及工程;S400,循环执行步骤S100~S300,直至将所有反推结果中缺失的资源文件写入列表,并显示所述资源至交互界面。
根据所述的快速查找Unity3D缺失资源的方法,其中资源文件配置为被 Unity3D支持的格式文件。
根据所述的快速查找Unity3D缺失资源的方法,其中资源文件包括基于 Unity3D的预制件、素材及动画控制器。
根据所述的快速查找Unity3D缺失资源的方法,其中S100具体通过C#脚本加载所述资源文件,并以文本形式写入至内存空间。
根据所述的快速查找Unity3D缺失资源的方法,其中S200具体包括:S210,通过正则表达式对文本进行匹配,获取一个或多个唯一标识字段,所述标识字段包括资源ID、全局唯一标识符及资源类型,;S320,将所述标识字段写入数组,其中的数组长度为被引用的关联资源数量。
根据所述的快速查找Unity3D缺失资源的方法,其中S300具体包括:通过 Unity3D的接口AssetDataBase.GUIDToAssetPath将所述全局唯一标识符进行资源路径的反推,若接口AssetDataBase.GUIDToAssetPath没有返回资源路径或没有查找到对应的本地工程,将对应的资源文件记录为缺失资源。
本发明的技术方案还包括一种快速查找Unity3D缺失资源的装置,该装置包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述任一所述的方法步骤。
本发明的技术方案还包括一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现上述任一所述的方法步骤。
本发明的有益效果为:可以高效快速查找缺失资源,相对于一般的方案加载资源,并遍历所有属性的效率高;适用于所有的Unity3D资源,现有技术的objectReferenceInstanceIDValue不等于0和objectReferenceValue为空仅适用于脚本缺失,但是本文提供的方案,适用于所有Unity3D支持的资源;解决缺失资源,可以减少游戏内的资源缺失的情况;解决了通用依赖资源无法获取缺失资源的问题。
附图说明
下面结合附图和实施例对本发明进一步地说明;
图1所示为根据本发明实施方式的总体流程图;
图2所示为根据本发明实施方式的查找确实资源的示意图;
图3所示为根据本发明实施方式的装置图。
具体实施方式
本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
图1所示为根据本发明实施方式的总体流程图。该流程包括:S100,获取基于Unity3D的资源文件,以文本形式加载资源文件至内存空间;S200,对文本内容进行匹配,得到文本对应资源文件的关联资源文件的全局唯一标识符;S300,调用Unity3D接口对全局唯一标识符进行反推,获取关联资源文件的路径及工程;S400,循环执行步骤S100~S300,直至将所有反推结果中缺失的资源文件写入列表,并显示资源至交互界面。
图2所示为根据本发明实施方式的查找确实资源的示意图。
(1)Unity3D***应该***内,把Prefab(预制件)、Material(素材)、AnimatorController(动画控制器)等所有Unity3D支持的格式的资源当成文本读取,Unity3D的支持的资源都是yaml格式的,使用C#脚本以文本格式当该资源读到内存中;
(2)再使用正则表达式全文匹配{fileID:xxx,guid:xxxxxxxx,type:x}这样的文本,匹配返回的多条结果中,每一条这样的记录都表明该资源引用到了其他资源,而guid字段(全局唯一标识符)中的6232be450522f3f4eb3985f256c854af 就是该资源引用到其他资源的guid,同理be350d11eee9d5d4a9afe53a69d7d02d也是读取到的该资源引用到另外一个其他资源;
字段示例如下:
{fileID:2100000,guid:6232be450522f3f4eb3985f256c854af,type:2}
{fileID:2100000,guid:be350d1leee9d5d4a9afe53a69d7d02d,type:2}
(3)用数组记录所有的正则表达式匹配到guid全局唯一标识符,数组的长度就代表该资源的引用到的其他资源的总数量;
(4)在调用Unity3D抛出的接口AssetDataBase.GUIDToAssetPath函数,将记录到的guid反推到对应的资源路径,如果AssetDataBase.GUIDToAssetPath 没有返回对应的资源路径,或者返回的对应的资源在工程本地不存在,那么该资源就存在缺失资源,存在缺失资源会导致显示不正确;
(5)将所有资源遍历用上述的(1)-(4)的方法,检查一遍,就可以找到当前工程中,所有出现缺失的资源,将出现缺失的资源写入数据表中,并显示于界面。
图3所示为根据本发明实施方式的装置图。包括:存储器100,处理器200。其中存储器用于存储采关联资源文件对应的数据,处理器用于获取基于Unity3D 的资源文件,以文本形式加载资源文件至内存空间;对文本内容进行匹配,得到文本对应资源文件的关联资源文件的全局唯一标识符;调用Unity3D接口对全局唯一标识符进行反推,获取关联资源文件的路径及工程;循环执行上述步骤 S100~S300,直至将所有反推结果中缺失的资源文件写入列表,并显示资源至交互界面。
上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
Claims (8)
1.快速查找Unity3D缺失资源的方法,其特征在于,该方法包括以下步骤:
S100,获取基于Unity3D的资源文件,以文本形式加载所述资源文件至内存空间;
S200,对文本内容进行匹配,得到文本对应资源文件的关联资源文件的全局唯一标识符;
S300,调用Unity3D接口对所述全局唯一标识符进行反推,获取关联资源文件的路径及工程;
S400,循环执行步骤S100~S300,直至将所有反推结果中缺失的资源文件写入列表,并显示所述资源至交互界面。
2.根据权利要求1所述的快速查找Unity3D缺失资源的方法,其特征在于,所述资源文件配置为被Unity3D支持的格式文件。
3.根据权利要求2所述的快速查找Unity3D缺失资源的方法,其特征在于,所述资源文件包括基于Unity3D的预制件、素材及动画控制器。
4.根据权利要求1所述的快速查找Unity3D缺失资源的方法,其特征在于,所述S100具体通过C#脚本加载所述资源文件,并以文本形式写入至内存空间。
5.根据权利要求1所述的快速查找Unity3D缺失资源的方法,其特征在于,所述S200具体包括:
S210,通过正则表达式对文本进行匹配,获取一个或多个唯一标识字段,所述标识字段包括资源ID、全局唯一标识符及资源类型,;
S320,将所述标识字段写入数组,其中的数组长度为被引用的关联资源数量。
6.根据权利要求1所述的快速查找Unity3D缺失资源的方法,其特征在于,所述S300具体包括:
通过Unity3D的接口AssetDataBase.GUIDToAssetPath将所述全局唯一标识符进行资源路径的反推,若接口AssetDataBase.GUIDToAssetPath没有返回资源路径或没有查找到对应的本地工程,将对应的资源文件记录为缺失资源。
7.一种快速查找Unity3D缺失资源的装置,该装置包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-6任一所述的方法步骤。
8.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010642209.3A CN111857872A (zh) | 2020-07-06 | 2020-07-06 | 快速查找Unity3D缺失资源的方法、装置及可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010642209.3A CN111857872A (zh) | 2020-07-06 | 2020-07-06 | 快速查找Unity3D缺失资源的方法、装置及可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111857872A true CN111857872A (zh) | 2020-10-30 |
Family
ID=73152286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010642209.3A Pending CN111857872A (zh) | 2020-07-06 | 2020-07-06 | 快速查找Unity3D缺失资源的方法、装置及可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111857872A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988810A (zh) * | 2021-03-08 | 2021-06-18 | 网易(杭州)网络有限公司 | 信息查找方法、装置及设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828776A (zh) * | 2018-12-06 | 2019-05-31 | 珠海西山居互动娱乐科技有限公司 | 一种查找缺失资源并补充的方法及*** |
CN110975293A (zh) * | 2019-11-29 | 2020-04-10 | 米哈游科技(上海)有限公司 | 建立资源引用关系表的方法、装置、服务器及介质 |
CN110990048A (zh) * | 2019-11-04 | 2020-04-10 | 珠海西山居移动游戏科技有限公司 | 一种监控Unity项目资源缺失的方法及*** |
-
2020
- 2020-07-06 CN CN202010642209.3A patent/CN111857872A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828776A (zh) * | 2018-12-06 | 2019-05-31 | 珠海西山居互动娱乐科技有限公司 | 一种查找缺失资源并补充的方法及*** |
CN110990048A (zh) * | 2019-11-04 | 2020-04-10 | 珠海西山居移动游戏科技有限公司 | 一种监控Unity项目资源缺失的方法及*** |
CN110975293A (zh) * | 2019-11-29 | 2020-04-10 | 米哈游科技(上海)有限公司 | 建立资源引用关系表的方法、装置、服务器及介质 |
Non-Patent Citations (1)
Title |
---|
MARSZHOU: "Unity3D工程全资源自动检测***", pages 1 - 3, Retrieved from the Internet <URL:https://zhuanlan.zhihu.com/p/47205675> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988810A (zh) * | 2021-03-08 | 2021-06-18 | 网易(杭州)网络有限公司 | 信息查找方法、装置及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8307010B2 (en) | Data feature tracking through hierarchical node sets | |
US10261942B2 (en) | Embedded processing of structured and unstructured data using a single application protocol interface (API) | |
US20210295104A1 (en) | Storage and automated metadata extraction using machine teaching | |
CN101325078A (zh) | 信息处理装置、信息处理方法和计算机程序 | |
US20210295202A1 (en) | Interface for machine teaching modeling | |
CN112115063B (zh) | 一种软件本地化测试方法、装置、终端及存储介质 | |
CN113495728B (zh) | 依赖关系确定方法、装置、电子设备及介质 | |
CN111857872A (zh) | 快速查找Unity3D缺失资源的方法、装置及可读介质 | |
CN112698866B (zh) | 一种基于Git的代码行生命周期追溯方法及电子装置 | |
CN111752941B (zh) | 一种数据存储、访问方法、装置、服务器及存储介质 | |
CN112764754A (zh) | 基于Unity 3D的文件标识管理方法、装置及介质 | |
US20160371169A1 (en) | Use case fingerprinting and capture store | |
CN113657077B (zh) | 一种文档可变章节在线编写方法及可读存储介质 | |
CN110874182B (zh) | 一种条带索引的处理方法、装置及设备 | |
CN115098503A (zh) | 空值数据处理方法、装置、计算机设备以及存储介质 | |
CN115705297A (zh) | 代码调用检测方法、装置、计算机设备以及存储介质 | |
CN114416641A (zh) | 文件数据的处理方法、装置、电子设备及存储介质 | |
CN109766480B (zh) | 一种数据查询方法和设备 | |
CN108920708B (zh) | 一种数据处理方法及装置 | |
CN108073712B (zh) | 信息***中的主数据删除方法、装置和计算机设备 | |
CN111651531A (zh) | 数据导入方法、装置、设备及计算机存储介质 | |
CN112231300B (zh) | 一种函数的分析方法、装置及电子设备 | |
CN116304117B (zh) | 一种获取文本信息的数据处理方法、***和存储介质 | |
CN107844485A (zh) | 测试脚本文件的更新方法和装置 | |
CN112182028A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 519000 room 402, Room 401, No. 327, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province Applicant after: Zhuhai Xishanju Digital Technology Co.,Ltd. Address before: 519000 room 402, Room 401, No. 327, Qiandao Ring Road, Tangjiawan Town, high tech Zone, Zhuhai City, Guangdong Province Applicant before: ZHUHAI SEASUN MOBILE GAME TECHNOLOGY Co.,Ltd. |