CN111508062A - 一种Unity版本更新中一键升级模型的方法及装置 - Google Patents

一种Unity版本更新中一键升级模型的方法及装置 Download PDF

Info

Publication number
CN111508062A
CN111508062A CN202010287934.3A CN202010287934A CN111508062A CN 111508062 A CN111508062 A CN 111508062A CN 202010287934 A CN202010287934 A CN 202010287934A CN 111508062 A CN111508062 A CN 111508062A
Authority
CN
China
Prior art keywords
model
shader
dimensional model
unity
upgrading
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.)
Granted
Application number
CN202010287934.3A
Other languages
English (en)
Other versions
CN111508062B (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.)
SUZHOU MXR SOFTWARE TECHNOLOGY CO LTD
Original Assignee
SUZHOU MXR SOFTWARE 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 SUZHOU MXR SOFTWARE TECHNOLOGY CO LTD filed Critical SUZHOU MXR SOFTWARE TECHNOLOGY CO LTD
Priority to CN202010287934.3A priority Critical patent/CN111508062B/zh
Publication of CN111508062A publication Critical patent/CN111508062A/zh
Application granted granted Critical
Publication of CN111508062B publication Critical patent/CN111508062B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/55Radiosity
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

本发明揭示了一种Unity版本更新中一键升级模型的方法及装置,所述方法包括:从旧版Unity中获取需更新的三维模型,解析三维模型,获取三维模型的第一模型信息;将第一模型信息存入与三维模型相对应的配置文件中,并将配置文件导入新版Unity中;在新版Unity中新建着色器列表,将三维模型对应的第一着色器均存入着色器列表中;加载三维模型,根据第一模型信息找到着色器列表中对应的第一着色器,使用第一着色器替换三维模型中原有的第二着色器,完成模型升级。本发明实现了Unity更新版本中模型一键替换升级的功能,使原项目能正常运行,大大减少了项目成本。

Description

一种Unity版本更新中一键升级模型的方法及装置
技术领域
本发明涉及一种Unity版本更新技术,尤其是涉及一种Unity版本更新中一键升级模型的方法及装置。
背景技术
Unity软件是一个综合型的游戏开发工具,并被越来越多公司选择作为3D游戏开发的引擎。
现有针对Unity版本更新引起的模型不可用问题,通常是通过手动调整模型及重新编写shader(着色器)来解决。这种方法不仅耗时,而且也需要投入大量人工。
发明内容
有鉴于此,本发明的目的在于提供一种Unity版本更新中一键升级模型的方法及装置。
为实现上述目的,本发明提出如下技术方案:一种Unity版本更新中一键升级模型的方法,所述方法包括:
S100,从旧版Unity中获取需更新的三维模型,解析所述三维模型,获取所述三维模型的第一模型信息;
S200,将所述第一模型信息存入与所述三维模型相对应的配置文件中,并将所述配置文件导入新版Unity中;
S300,在所述新版Unity中新建着色器列表,将三维模型对应的第一着色器均存入所述着色器列表中;
S400,加载所述三维模型,获取所述配置文件中的第一模型信息,根据所述第一模型信息找到所述着色器列表中对应的第一着色器,使用所述第一着色器替换三维模型中原有的第二着色器,完成模型升级。
优选地,所述S100中,获取所述三维模型后,判断所述三维模型是否是加密的,若是,则先将其解密,之后再对其进行解析,若否,则直接对其进行解析。
优选地,所述第一模型信息包括模型的部件名称和部件对应的着色器名称。
优选地,所述S300中,通过自定义工具将第一着色器存入着色器列表中。
优选地,所述S400包括:
S401,加载所述三维模型,获取第一模型信息中的部件名称;
S402,将配置文件中的信息解析到字典中;
S403,通过所述部件名称在所述字典中找到对应的着色器名称;
S404,遍历所述部件名称和着色器名称,使用所述部件名称找到所述着色器列表中对应的第一着色器;
S405,使用所述第一着色器替换三维模型中原有的第二着色器,完成模型升级。
优选地,所述S200中,通过字典转换文本的方式,将字典格式的第一模型信息以文本的形式存入到配置文件中。
本发明还揭示了另外一种技术方案:一种Unity版本更新中一键升级模型的装置,所述装置包括:
模型信息获取模块,用于从旧版Unity中获取需更新的三维模型,解析所述三维模型,获取所述三维模型的第一模型信息;
配置文件生成及导入模块,用于将所述第一模型信息存入与所述三维模型相对应的配置文件中,并将所述配置文件导入新版Unity中;
着色器列表新建模块,用于在所述新版Unity中新建着色器列表,并将三维模型对应的第一着色器均存入所述着色器列表中;
模型升级模块,用于加载所述三维模型,获取所述配置文件中的第一模型信息,根据所述第一模型信息找到所述着色器列表中对应的第一着色器,使用所述第一着色器替换三维模型中原有的第二着色器,完成模型升级。
优选地,所述装置还包括:
解密模块,用于在所述模型信息获取模块获取所述三维模型后,判断所述三维模型是否是加密的,若是,则先将其解密,之后再进入模型信息获取模块对其进行解析,若否,则直接进入模型信息获取模块对其进行解析。
优选地,所述第一模型信息包括模型的部件名称和部件对应的着色器名称。
优选地,所述模型升级模块包括:
模型加载单元,用于加载所述三维模型,获取第一模型信息中的部件名称;
配置解析单元,用于将配置文件中的信息解析到字典中;
着色器匹配单元,用于通过模型加载单元中获取的所述部件名称在所述字典中找到对应的着色器名称;
第一着色器匹配单元,用于遍历所述部件名称和着色器名称,使用所述部件名称找到所述着色器列表中对应的第一着色器;
着色器替换单元,用于使用所述第一着色器替换三维模型中原有的第二着色器,完成模型升级。
本发明的有益效果是:
1、本发明通过遍历Unity的模型信息,升级模型着色器,不改变模型原资源,且未增加模型加载的时间,实现了Unity更新版本中模型一键替换升级的功能,使原项目能正常运行,大大减少了项目成本。
2、本发明支持模型的加解密,使得模型安全可控的传输。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明方法的流程示意图;
图2是本发明步骤S400的流程示意图;
图3是本发明具体实施例的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
结合图1和图3所示,本发明所揭示的一种Unity版本更新中一键升级模型的方法,包括:
S100,从旧版Unity中获取需更新的三维模型,解析所述三维模型,获取所述三维模型的第一模型信息。
具体地,在旧版Unity中获取需要更新的三维模型(如3Dmax、Maya制作的数字化三维模型等)文件,先判断该模型文件是否是加密的,若为加密文件,则先将该三维模型进行解密。这里的解密原理为:将模型中嵌入一串字符串(即密钥),使用模型时只有输入匹配模型的密钥才能正常打开模型。
之后解析该模型文件,获取所述三维模型的第一模型信息,所述第一模型信息具体包括模型的部件名称和部件对应的着色器(shader)名称。
S200,将所述第一模型信息存入与所述三维模型相对应的配置文件中,并将所述配置文件导入新版Unity中。
具体地,上述解析出来的第一模型信息为字典形式的,通过字典转换文本(txt)的方式,将字典形式的第一模型信息转换为文本形式的,再将转换为文本形式的第一模型信息存入与三维模型相对应的配置(config)文件中。之后再将该配置文件导入到新版的Unity中,供新版Unity读取。字典形式的第一模型信息转换为文本形式的原理为:将模型名称,模型的部件名称和对应的shader名称转化为字符串暂存字典,再将字典存储为文本形式。
S300,在所述新版Unity中新建着色器列表,将三维模型对应的第一着色器均存入所述着色器列表中。
具体地,在新版Unity中新建着色器列表,通过自定义工具将三维模型对应的第一着色器都存入该着色器列表中。
S400,加载所述三维模型,获取所述配置文件中的第一模型信息,根据所述第一模型信息找到所述着色器列表中对应的第一着色器,使用所述第一着色器替换三维模型中原有的第二着色器,完成模型升级。
具体地,如图2所示,所述S400具体包括:
S401,在新版Unity中加载三维模型,获取第一模型信息中的部件名称。
S402,将配置文件中的第一模型信息解析到字典中。
具体通过反向解析文本文件,将文本形式的第一模型信息再次读取到字典中。
S403,通过上述S401中获取的部件名称在上述字典中找到对应的着色器名称。
S404,遍历上述部件名称和着色器名称,使用所述部件名称找到所述着色器列表中对应的第一着色器;
S405,使用所述第一着色器替换三维模型中原有的第二着色器,完成模型升级。
与上述方法相对应的,本发明所揭示的一种Unity版本更新中一键升级模型的装置,包括:
模型信息获取模块,用于从旧版Unity中获取需更新的三维模型,解析所述三维模型,获取所述三维模型的第一模型信息;
配置文件生成及导入模块,用于将所述第一模型信息存入与所述三维模型相对应的配置文件中,并将所述配置文件导入新版Unity中;
着色器列表新建模块,用于在所述新版Unity中新建着色器列表,并将三维模型对应的第一着色器均存入所述着色器列表中;
模型升级模块,用于加载所述三维模型,获取所述配置文件中的第一模型信息,根据所述第一模型信息找到所述着色器列表中对应的第一着色器,使用所述第一着色器替换三维模型中原有的第二着色器,完成模型升级。
进一步地,所述装置还包括解密模块,用于在所述模型信息获取模块获取所述三维模型后,判断所述三维模型是否是加密的,若是,则先将其解密,之后再进入模型信息获取模块对其进行解析,若否,则直接进入模型信息获取模块对其进行解析。
所述模型升级模块包括:
模型加载单元,用于加载三维模型,获取第一模型信息中的部件名称;
配置解析单元,用于将配置文件中的信息解析到字典中;
着色器匹配单元,用于通过模型加载单元中获取的部件名称在字典中找到对应的着色器名称;
第一着色器匹配单元,用于遍历部件名称和着色器名称,使用部件名称找到着色器列表中对应的第一着色器;
着色器替换单元,用于使用第一着色器替换三维模型中原有的第二着色器,完成模型升级。
其中,上述模型信息获取模块、配置文件生成及导入模块、着色器列表新建模块和模型升级模块的工作原理可参照上述S100~S400的描述,这里不做赘述。
本发明通过遍历Unity的模型信息,升级模型着色器,不改变模型原资源,且未增加模型加载的时间,实现了Unity更新版本中模型一键替换升级的功能,使原项目能正常运行,大大减少了项目成本。
本发明的技术内容及技术特征已揭示如上,然而熟悉本领域的技术人员仍可能基于本发明的教示及揭示而作种种不背离本发明精神的替换及修饰,因此,本发明保护范围应不限于实施例所揭示的内容,而应包括各种不背离本发明的替换及修饰,并为本专利申请权利要求所涵盖。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

Claims (10)

1.一种Unity版本更新中一键升级模型的方法,其特征在于,所述方法包括:
S100,从旧版Unity中获取需更新的三维模型,解析所述三维模型,获取所述三维模型的第一模型信息;
S200,将所述第一模型信息存入与所述三维模型相对应的配置文件中,并将所述配置文件导入新版Unity中;
S300,在所述新版Unity中新建着色器列表,将三维模型对应的第一着色器均存入所述着色器列表中;
S400,加载所述三维模型,获取所述配置文件中的第一模型信息,根据所述第一模型信息找到所述着色器列表中对应的第一着色器,使用所述第一着色器替换三维模型中原有的第二着色器,完成模型升级。
2.根据权利要求1所述的一种Unity版本更新中一键升级模型的方法,其特征在于,所述S100中,获取所述三维模型后,判断所述三维模型是否是加密的,若是,则先将其解密,之后再对其进行解析,若否,则直接对其进行解析。
3.根据权利要求1所述的一种Unity版本更新中一键升级模型的方法,其特征在于,所述第一模型信息包括模型的部件名称和部件对应的着色器名称。
4.根据权利要求1所述的一种Unity版本更新中一键升级模型的方法,其特征在于,所述S300中,通过自定义工具将第一着色器存入着色器列表中。
5.根据权利要求3所述的一种Unity版本更新中一键升级模型的方法,其特征在于,所述S400包括:
S401,加载所述三维模型,获取第一模型信息中的部件名称;
S402,将配置文件中的信息解析到字典中;
S403,通过所述部件名称在所述字典中找到对应的着色器名称;
S404,遍历所述部件名称和着色器名称,使用所述部件名称找到所述着色器列表中对应的第一着色器;
S405,使用所述第一着色器替换三维模型中原有的第二着色器,完成模型升级。
6.根据权利要求3所述的一种Unity版本更新中一键升级模型的方法,其特征在于,所述S200中,通过字典转换文本的方式,将字典格式的第一模型信息以文本的形式存入到配置文件中。
7.一种Unity版本更新中一键升级模型的装置,其特征在于,所述装置包括:
模型信息获取模块,用于从旧版Unity中获取需更新的三维模型,解析所述三维模型,获取所述三维模型的第一模型信息;
配置文件生成及导入模块,用于将所述第一模型信息存入与所述三维模型相对应的配置文件中,并将所述配置文件导入新版Unity中;
着色器列表新建模块,用于在所述新版Unity中新建着色器列表,并将三维模型对应的第一着色器均存入所述着色器列表中;
模型升级模块,用于加载所述三维模型,获取所述配置文件中的第一模型信息,根据所述第一模型信息找到所述着色器列表中对应的第一着色器,使用所述第一着色器替换三维模型中原有的第二着色器,完成模型升级。
8.根据权利要求7所述的一种Unity版本更新中一键升级模型的装置,其特征在于,所述装置还包括:
解密模块,用于在所述模型信息获取模块获取所述三维模型后,判断所述三维模型是否是加密的,若是,则先将其解密,之后再进入模型信息获取模块对其进行解析,若否,则直接进入模型信息获取模块对其进行解析。
9.根据权利要求7所述的一种Unity版本更新中一键升级模型的装置,其特征在于,所述第一模型信息包括模型的部件名称和部件对应的着色器名称。
10.根据权利要求9所述的一种Unity版本更新中一键升级模型的装置,其特征在于,所述模型升级模块包括:
模型加载单元,用于加载所述三维模型,获取第一模型信息中的部件名称;
配置解析单元,用于将配置文件中的信息解析到字典中;
着色器匹配单元,用于通过模型加载单元中获取的所述部件名称在所述字典中找到对应的着色器名称;
第一着色器匹配单元,用于遍历所述部件名称和着色器名称,使用所述部件名称找到所述着色器列表中对应的第一着色器;
着色器替换单元,用于使用所述第一着色器替换三维模型中原有的第二着色器,完成模型升级。
CN202010287934.3A 2020-04-13 2020-04-13 一种Unity版本更新中一键升级模型的方法及装置 Active CN111508062B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010287934.3A CN111508062B (zh) 2020-04-13 2020-04-13 一种Unity版本更新中一键升级模型的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010287934.3A CN111508062B (zh) 2020-04-13 2020-04-13 一种Unity版本更新中一键升级模型的方法及装置

Publications (2)

Publication Number Publication Date
CN111508062A true CN111508062A (zh) 2020-08-07
CN111508062B CN111508062B (zh) 2023-05-09

Family

ID=71864702

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010287934.3A Active CN111508062B (zh) 2020-04-13 2020-04-13 一种Unity版本更新中一键升级模型的方法及装置

Country Status (1)

Country Link
CN (1) CN111508062B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880454A (zh) * 2012-06-15 2013-01-16 深圳市旭东数字医学影像技术有限公司 医学三维模型的网页显示的方法及其系统
US20130132936A1 (en) * 2010-08-11 2013-05-23 Zte Corporation Apparatus and method for packing a software package of version upgrade
CN108257204A (zh) * 2016-12-28 2018-07-06 福建省天奕网络科技有限公司 运用于Unity引擎的顶点色绘制烘焙方法及系统
CN108897567A (zh) * 2018-06-08 2018-11-27 广州虎牙信息科技有限公司 基于Unity的软件加载文件的方法、装置、设备及存储介质
CN109635450A (zh) * 2018-12-14 2019-04-16 苏州梦想人软件科技有限公司 三维模型检测方法及装置
CN109671156A (zh) * 2018-12-27 2019-04-23 成都四方伟业软件股份有限公司 三维模型加载方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130132936A1 (en) * 2010-08-11 2013-05-23 Zte Corporation Apparatus and method for packing a software package of version upgrade
CN102880454A (zh) * 2012-06-15 2013-01-16 深圳市旭东数字医学影像技术有限公司 医学三维模型的网页显示的方法及其系统
CN108257204A (zh) * 2016-12-28 2018-07-06 福建省天奕网络科技有限公司 运用于Unity引擎的顶点色绘制烘焙方法及系统
CN108897567A (zh) * 2018-06-08 2018-11-27 广州虎牙信息科技有限公司 基于Unity的软件加载文件的方法、装置、设备及存储介质
CN109635450A (zh) * 2018-12-14 2019-04-16 苏州梦想人软件科技有限公司 三维模型检测方法及装置
CN109671156A (zh) * 2018-12-27 2019-04-23 成都四方伟业软件股份有限公司 三维模型加载方法和装置

Also Published As

Publication number Publication date
CN111508062B (zh) 2023-05-09

Similar Documents

Publication Publication Date Title
CN106681739B (zh) 一种智能合约的自动化生成方法
CN110609693B (zh) 基于数据标准化的代码更新方法、装置及终端设备
US11106458B2 (en) System and method for distributed ledger-based software supply chain management
CN111427561A (zh) 业务代码的生成方法、装置、计算机设备和存储介质
CN111488145A (zh) 一种基于业务域数据模型库的微服务代码生成系统及方法
CN113704706B (zh) 代码加固方法、装置
CN109523423B (zh) 一种应用系统生成方法、装置、设备及存储介质
CN110472109B (zh) 动态化数据质量分析方法及平台系统
CN109117377A (zh) 一种基于建表语句的测试数据自动生成方法、装置及设备
US7721276B2 (en) Computer-implemented method, system and program product for comparing application program interfaces (APIs) between JAVA byte code releases
US20110321030A1 (en) Method and apparatus for updating a software image
US8752006B1 (en) System and method and apparatus for automatically generating computer code for remote procedure calls
CN111508062A (zh) 一种Unity版本更新中一键升级模型的方法及装置
CN114386853A (zh) 基于通用审核模型的数据审核处理方法、装置及设备
CN110750962B (zh) 天气数据转换方法和系统
CN102171696B (zh) 定制资料的生成方法和装置
Cooper et al. Performance modeling and analysis of software architectures: An aspect-oriented UML based approach
CN108305161A (zh) 一种纳税服务接口梳理方法及装置
CN107450910B (zh) 提供设计资源的方法及系统和软件开发方法、系统及装置
CN117201021B (zh) 用于主业务系统的密钥动态切换方法、系统、装置及介质
CN105068796A (zh) 补丁程序集的推送方法和补丁程序集的推送系统
CN115964075B (zh) 应用导出导入方法、装置、计算机设备及存储介质
CN101923478A (zh) 一种基于数字电视机顶盒软件的代码校验及版本存储方法
US11966719B2 (en) Event consumption for high-level programing language platform
CN112887425B (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