CN113450463A - 预制体的转换方法和装置 - Google Patents
预制体的转换方法和装置 Download PDFInfo
- Publication number
- CN113450463A CN113450463A CN202110749738.8A CN202110749738A CN113450463A CN 113450463 A CN113450463 A CN 113450463A CN 202110749738 A CN202110749738 A CN 202110749738A CN 113450463 A CN113450463 A CN 113450463A
- Authority
- CN
- China
- Prior art keywords
- data structure
- engine
- node
- nodes
- attribute
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种预制体的转换方法和装置。其中,该方法包括:获取原引擎中目标预制体的描述文件,其中,所述原引擎为开源游戏引擎;解析描述文件得到目标预制体在原引擎中的第一数据结构,并基于第一数据结构在目标引擎中创建第二数据结构,其中,第一数据结构中包括多个用于挂载预设资源的节点,所述目标引擎为闭源游戏引擎;通过对第一数据结构中节点的属性参数进行转换处理,得到第二数据结构的对应节点中的属性参数;以及通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件。本发明解决了现有技术中,更换游戏引擎时,预制体的转换效果不佳的技术问题。
Description
技术领域
本发明涉及游戏引擎领域,具体而言,涉及一种预制体的转换方法和装置。
背景技术
许多游戏在设计初期所使用的开发引擎与改版时需要使用的开发引擎不同,使得技术人员面临转换开发引擎的情况。在转换游戏开发引擎时,对Prefab的转换是其中非常重要的环节。例如,一游戏最初版本是基于Cocos Creator引擎进行开发的,在需要转换引擎时,由于Cocos Creator与Unity之间的差异,使得原本生成于Cocos Creator中的Prefab难以在Unity中实现同样的效果,从而导致引擎转换的效果不佳。
针对现有技术中,更换游戏引擎时,预制体的转换效果不佳的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种预制体的转换方法和装置,以至少解决现有技术中,更换游戏引擎时,需要将原引擎中的预制体在目标引擎中全部重做,导致转换效率低的技术问题。
根据本发明实施例的一个方面,提供了一种预制体的转换方法,包括:获取原引擎中目标预制体的描述文件,其中,所述原引擎为开源游戏引擎;解析描述文件得到目标预制体在原引擎中的第一数据结构,并基于第一数据结构在目标引擎中创建第二数据结构,其中,第一数据结构中包括多个用于挂载预设资源的节点,所述目标引擎为闭源游戏引擎;通过对第一数据结构中节点的属性参数进行转换处理,得到第二数据结构的对应节点中的属性参数;以及通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件。
进一步地,解析描述文件得到目标预制体在原引擎中的第一数据结构,并基于第一数据结构在目标引擎中创建第二数据结构,包括:遍历描述文件,得到第一数据结构中的节点和每个节点的父节点属性;在目标引擎中生成与每个节点对应的节点;根据每个节点的父节点属性,在目标引擎中的对应节点上还原出第二数据结构。
进一步地,通过对第一数据结构中节点的属性参数进行转换处理,得到第二数据结构的对应节点中的属性参数,包括:获取原引擎的属性中,目标引擎中不存在的第一属性;在目标引擎中,包含第一属性的节点中添加与第一属性对应的第一组件,并根据节点在原引擎中的第一属性的属性值确定第一组件的组件参数。
进一步地,通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件,包括:获取目标引擎和原引擎中,属性名称相同且定义不同的第二属性;根据原引擎中节点的第二属性的属性值,确定目标引擎中,对应节点的第二属性的属性值。
进一步地,通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件,包括:获取挂载在第一数据结构中任意节点,且目标引擎中不存在的第二组件,并在目标引擎中添加与第二组件功能对应的第三组件;以及获取挂载在第一数据结构中任意节点上的自定义组件,并在目标引擎中添加与自定义组件功能对应的第四组件。
进一步地,功能组件包括动画功能组件,动画功能组件的属性值包括时间曲线,通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件,包括:根据描述文件获取原引擎中节点的第一时间曲线,并解析第一时间曲线得到第一曲线参数,其中,第一曲线参数包括预设控制点的控制信息;将的第一曲线参数转换为第二曲线参数,其中,第二曲线参数包括:入斜率、出斜率、入权重和出权重;基于第二曲线参数构建得到目标引擎中对应节点的第二时间曲线。
进一步地,动画功能组件的属性值还包括节点运动轨迹,通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件,包括:根据描述文件获取原引擎中节点的移动轨迹;根据移动轨迹确定目标引擎中对应节点在指定时间帧的位置信息;基于指定时间帧和位置信息在目标引擎中还原移动轨迹。
进一步地,在获取原引擎中目标预制体的描述文件之前,生成用于表示资源信息的标识与实际路径的映射关系的资源配置信息;描述文件中包括节点所挂载的预设资源的标识,在通过对第一数据结构中节点的属性参数进行转换处理,得到第二数据结构的对应节点中的属性参数;以及通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件之后,根据原引擎中节点对应的预设资源的标识,基于资源配置信息,确定目标引擎中对应节点所挂载的预设资源的实际路径;基于实际路径确定目标引擎中对应节点所挂载的预设资源。
根据本发明实施例的一个方面,提供了一种预制体的转换装置,其特征在于,包括:获取模块,用于获取原引擎中目标预制体的描述文件,其中,所述原引擎为开源游戏引擎;解析模块,用于解析描述文件得到目标预制体在原引擎中的第一数据结构,并基于第一数据结构在目标引擎中创建第二数据结构,其中,第一数据结构中包括多个用于挂载预设资源的节点,所述目标引擎为闭源游戏引擎;转换模块,用于通过对第一数据结构中节点的属性参数进行转换处理,得到第二数据结构的对应节点中的属性参数;以及通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件。
根据本发明实施例的一个方面,提供了一种存储介质,存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述的预制体的转换方法。
根据本发明实施例的一个方面,提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述的预制体的转换方法。
在本发明实施例中,获取原引擎中目标预制体的描述文件;解析描述文件得到目标预制体在原引擎中的第一数据结构,并基于第一数据结构在目标引擎中创建第二数据结构,其中,第一数据结构中包括多个用于挂载预设资源的节点;通过对第一数据结构中节点的属性参数进行转换处理,得到第二数据结构的对应节点中的属性参数;以及通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件。上述方案通过提供的转换工具获取待转换的目标预制体的描述文件,并基于该描述文件在目标引擎中构建与原引擎中相同的数据结构,再基于原引擎中构成数据结构的节点的属性参数和功能组件转换到目标引擎对应的节点中,从而完成了预制体在不同引擎中的转换,无需资源重做,解决了现有技术中,更换游戏引擎时,需要将原引擎中的预制体在目标引擎中全部重做,导致转换效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种预制体的转换方法的流程图;
图2是根据本申请实施例的一种预制体转换工具的界面示意图;
图3a是一种Cocos引擎的节点属性的示意图;
图3b是将图3a中的一部分节点属性转换至Unity引擎中的示意图;
图3c是将图3a中的另一部分节点属性转换至Unity引擎中的示意图;
图4a是采用Json格式序列化保存描述文件的示意图;
图4b是Cocos中的Prefab节点结构的示意图;
图4c是将图4b中的Prefab节点结构转化至Unity引擎的示意图;
图5a是Cocos引擎中自定义组件sp.Skeleton的示意图;
图5b是Unity引擎中自定义组件Skeleton Graphic Multi(script)的示意图;
图6a是Cocos引擎中的时间曲线的示意图;
图6b是Unity引擎中的时间曲线的示意图;
图7是一个挂载了红包图像的节点的示意图;
图8是根据本申请实施例的一种预制体的转换装置示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例,提供了一种预制体的转换方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的一种预制体的转换方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,获取原引擎中目标预制体的描述文件,其中,所述原引擎为开源游戏引擎。
具体的,预制体即为prefab。prefab可以理解为是一个游戏对象及其组件的集合,目的是使游戏对象及资源能够被重复使用。相同的对象可以通过一个预设体来创建,此过程可理解为实例化。预制体作为一个资源,可应用在一个项目中的不同场景中。当拖动预设体到场景中就会创建一个实例,该实例与其原始预制体相关联,对预制体进行更改后,与其相关联的实例也会同步修改。从而使得预制体可以提升资源的利用率和开发的效率。例如,某个预制体为创建的一个标准的房间模型,当在场景中需要建立另一个房间时,无需再手动的将地板,墙,天花板拼接,而是可以直接拖一个预制体到Scene视图中,并对这个预制体进行修改即可。
在一种可选的实施例中,上述原引擎可以为Cocos引擎,Cocos引擎是一种开源游戏引擎,下述的目标引擎可以为Unity引擎,Unity引擎是一种闭源游戏引擎,本实施例以将Cocos引擎中的预制体转换为Unity引擎中预制体为例进行说明。
上述目标预制体为待进行转换的预制体,可以为一个预制体,即对一个预制体进行单独的转换,也可以是多个预制体,即对多个预制体进行批量的转换。
目标预制体的描述文件用于对预制体的节点信息进行描述,可以通过Json格式序列化保存在原项目的资源目录中。在一种可选的实施例中,可以获取原项目的资源目录,解析资源目录下的文件,即可得到上述描述文件。
需要说明的是,本实施例中的步骤可以由目标引擎执行,具体可以由在目标引擎中自定义添加的预制体转换工具执行。图2是根据本申请实施例的一种预制体转换工具的界面示意图,结合图2所示,该工具界面提供“选择路径”界面,用户选择该控件,并选择资源目录,目标引擎即可在资源目标下找到描述文件。该工具界面还提供单独转换prefab控件“选择prefab”,用户选择该控件即可选择待转换的预制体,目标引擎即可确定目标预制体。类似的,该工具界面还提供批量转换prefab控件“选择目录”,用户选择该控件即可选择多个待转换的预制体,目标引擎即可确定多个目标预制体。
步骤S104,解析描述文件得到目标预制体在原引擎中的第一数据结构,并基于第一数据结构在目标引擎中创建第二数据结构,其中,第一数据结构中包括多个用于挂载预设资源的节点,所述目标引擎为闭源游戏引擎。
上述数据结构可以为树状结构。树状结构由节点构成,节点可以挂载预设资源(例如,图片等显示元素),并具有对应的多种属性,在实例化预制体之后,节点所挂载的预设资源即可按照节点的多种属性显示。
描述文件以Json的格式对各个节点进行描述,为了将目标预制体从原引擎转换至目标引擎,则首先需要在目标引擎中构建与原引擎相同的数据结构。
在一种可选的实施例中,解析目标预制体的描述文件,获得目标预制体的每个节点,以及节点之间的关联关系,然后在目标引擎中创建对应的节点,并按照解析得到的关联关系将创建的节点进行关联,即可得到上述第二数据结构。
步骤S106,通过对第一数据结构中节点的属性参数进行转换处理,得到第二数据结构的对应节点中的属性参数;以及通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件。
节点本身具有一些属性信息,除了这些属性信息,还可以挂载一些功能组件,这些功能组件用于实现预制体的一些功能,例如:动画功能、透明功能等。
在目标引擎中生成相同的第二数据结构后,还需要对第二数据结构的节点进行属性的设置,以及功能组件的添加,从而最终生成与原引擎中的预制体完全相同的预制体,进而完成了目标预制体的转换。
以将目标预制体从Cocos引擎转换至Unity引擎为例,Cocos引擎中,每个节点上以Key-Value形式保存着节点的属性值,在Unity中根据这些属性设置,即可还原节点的位置、旋转、缩放、大小、锚点、透明度、激活状态等特征。如图3a和图3b所示,图3a中为Cocos引擎的节点属性,图3b为转换至Unity引擎中的节点属性。Cocos引擎中的大部分内置组件也可以在Unity引擎中找到一一对应的组件,添加对应组件后,根据Cocos引擎中组件设置的属性,在Unity引擎中重新设置一遍即可还原。例如,cc.Sprite对应Unity中的Image组件,cc.Lable对应Unity中的Text组件,cc.Button对应Unity中的Button组件,cc.ProgressBar对应Unity中的Slider组件等。
在一种可选的实施例中,对于目标引擎和原引擎中均存在且定义完全相同的属性,可以直接使用原引擎中节点的属性值,为目标引擎中对于节点的属性进行赋值。对于目标引擎和原引擎中均存在且定义完全相同的功能组件,可以直接在目标引擎的节点上添加原引擎中对应节点所挂载的功能组件。
由上可知,本申请上述实施例获取原引擎中目标预制体的描述文件;解析描述文件得到目标预制体在原引擎中的第一数据结构,并基于第一数据结构在目标引擎中创建第二数据结构,其中,第一数据结构中包括多个用于挂载预设资源的节点;通过对第一数据结构中节点的属性参数进行转换处理,得到第二数据结构的对应节点中的属性参数;以及通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件。上述方案通过提供的转换工具获取待转换的目标预制体的描述文件,并基于该描述文件在目标引擎中构建与原引擎中相同的数据结构,再基于原引擎中构成数据结构的节点的属性参数和功能组件转换到目标引擎对应的节点中,从而完成了预制体在不同引擎中的转换,无需资源重做,并能够在目标引擎中还原出相同效果的预置体,解决了现有技术中,更换游戏引擎时,预制体的转换效果不佳的技术问题。
作为一种可选的实施例,解析描述文件得到目标预制体在原引擎中的第一数据结构,并基于第一数据结构在目标引擎中创建第二数据结构,包括:遍历描述文件,得到第一数据结构中的节点和每个节点的父节点属性;在目标引擎中生成与每个节点对应的节点;根据每个节点的父节点属性,在目标引擎中的对应节点上还原出第二数据结构。
具体的,上述数据结构用于描述节点之间的关联关系,具体可以为树状结构。
在一种可选的实施例中,仍以将目标预制体从Cocos引擎转换至Unity引擎为例,采用Json格式序列化保存描述文件可以如图4a所示。首先遍历Json描述文件,得到Cocos引擎中的树状结构(如图4b所示),解析出所有cc.Node类型的节点,并在Unity引擎中生成对应的节点,根据cc.Node中父节点属性,将Unity引擎中生成的节点附加到对应父节点上,最终还原出和Cocos中一样的Prefab节点结构(如图4c所示)。
作为一种可选的实施例,通过对第一数据结构中节点的属性参数进行转换处理,得到第二数据结构的对应节点中的属性参数,包括:获取原引擎的属性中,目标引擎中不存在的第一属性;在目标引擎中,包含第一属性的节点中添加与第一属性对应的第一组件,并根据节点在原引擎中的第一属性的属性值确定第一组件的组件参数。
由于原引擎和目标引擎之间存在一定的区别,并非每一个原引擎中的节点属性都能够在目标引擎中找到一一对应的节点属性,因此存在这样一些属性:原引擎中节点所具有的属性,但在目标引擎中并不存在,即上述第一属性,可以通过预先编写的脚本来确定上述第一属性。对于这一类属性,上述方案通过在目标引擎的节点中添加类似功能的第一组件来解决上述问题,并基于这些属性在原引擎中的属性值,来确定在目标引擎中添加的第一组件的组件参数,并将添加的第一组件的组件参数作为目标引擎中节点的属性参数。
在一种可选的实施例中,仍以将目标预制体从Cocos引擎转换至Unity引擎为例,上述第一属性可以为节点的透明度属性opacity。属性opacity在Cocos引擎中的作用为控制整个节点以及所有子节点的透明度,而Unity中并不存在相同功能的属性,因此可以在Unity引擎中为包含opacity属性的节点添加CanvasGroup组件,通过CanvasGroup组件的Alpha属性控制该节点及其所有子节点上的Graphic类型组件的透明度,以还原Cocos引擎中属性opacity的效果。在对CanvasGroup.alpha赋值时,Cocos引擎中opacity值的范围为[0,255],对应Unity引擎中CanvasGroup组件Alpha属性范围为[0,1],因此需要将属性opacity的属性值进行归一化处理,得到对应的Alpha的赋值。图3c为图3a中的部分属性转换至Unity引擎中的示意图,结合图3和图3c所示,图3a中属性opacity的属性值为255,对应于图3c中的Alpha值为1。
需要说明的是,可以预先在转换工具中编写出上述第一属性,以及第一属性与第一组件的对应关系,在转换过程中,检测到任意节点的第一属性时,在这一节点上添加第一组件并设置组件的参数。
作为一种可选的实施例,通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件,包括:获取目标引擎和原引擎中,属性名称相同且定义不同的第二属性;根据原引擎中节点的第二属性的属性值,确定目标引擎中,对应节点的第二属性的属性值。
由于原引擎和目标引擎之间存在一定的区别,原引擎和目标引擎中并非每一个属性名称相同的节点属性的属性定义也相同,因此存在这样一些属性:原引擎和目标引擎中的属性名称相同,但属性定义并不相同在,即上述第二属性,可以通过预先编写的脚本来确定上述第二属性。对于这一类属性,上述方案通过属性值的转换来解决上述问题。
在一种可选的实施例中,仍以将目标预制体从Cocos引擎转换至Unity引擎为例,上述第二属性可以为锚点属性anchorPoint,Cocos引擎中锚点用于确定子节点与父节点的位置关系,子节点的子节点默认继承上级的锚点属性。而Unity引擎中使用锚点+轴心共同确定子节点与父节点的位置关系,因此在转换时,需要递归子节点的父节点参数,设置和第一层子节点一样的锚点属性,以得到与原引擎中相同的效果。
类似的,可以预先在转换工具中编写出上述第二属性,以及第二属性的属性值在原引擎和目标引擎中的转换方式,在转换过程中,检测到任意节点的第二属性时,根据上述转换方式进行转换。
作为一种可选的实施例,通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件,包括:获取挂载在第一数据结构中任意节点,且目标引擎中不存在的第二组件,并在目标引擎中添加与第二组件功能对应的第三组件;以及获取挂载在第一数据结构中任意节点上的自定义组件,并在目标引擎中添加与自定义组件功能对应的第四组件。
由于原引擎和目标引擎之间存在一定的区别,原引擎的功能组件并非每一个都存在于目标引擎中,因此存在这样一些功能组件:原引擎中节点所具有的功能组件,但在目标引擎中并不存在,即上述第二组件。对于这一类功能组件,上述方案通过在目标引擎中添加第三方组件来解决上述问题。
在一种可选的实施例中,仍以将目标预制体从Cocos引擎转换至Unity引擎为例,上述第二组件可以为Cocos引擎的内置粒子组件ParticleSystem,粒子组件ParticleSystem支持直接导入第三方粒子编辑器编辑的通用Plist格式粒子配置文件,通过该配置实现2D粒子效果。Unity引擎中内置的ParticleSystem组件用于实现3D粒子效果,两个组件在实现和参数配置上没有一一对应的关系,还原出Cocos引擎的效果较难。因此引入第三方组件Particle2D,该组件基于UGUI用于实现2D粒子效果,支持导入通用Plist格式粒子配置文件,导入后能还原Cocos引擎中一模一样的2D粒子效果。
在原引擎中还存在一些自定义组件,即上述第三组件,目标引擎中并不包含这些自动以组件。对于这一类功能组件,上述方案仍通过在目标引擎中添加第三方组件来解决上述问题。
在一种可选的实施例中,仍以将目标预制体从Cocos引擎转换至Unity引擎为例,在将Cocos引擎的非内置组件(即自定义组件)还原到Unity前,需要先在Unity引擎中添加自定义组件,实现Cocos效果。在转换过程中与内置组件类似,一一对应转换即可。例如,结合图5a,在Cocos引擎中,具有自定义组件sp.Skeleton,用于实现播放骨骼动画,Unity引擎中,再结合图5b所示需要先实现能播放骨骼动画的组件Skeleton Graphic Multi(script),再设置相同的属性。
作为一种可选的实施例,功能组件包括动画功能组件,动画功能组件的属性值包括时间曲线,通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件,包括:根据描述文件获取原引擎中节点的第一时间曲线,并解析第一时间曲线得到第一曲线参数,其中,第一曲线参数包括预设控制点的控制信息;将的第一曲线参数转换为第二曲线参数,其中,第二曲线参数包括:入斜率、出斜率、入权重和出权重;基于第二曲线参数构建得到目标引擎中对应节点的第二时间曲线。
具体的,动画功能组件用于实现节点所挂载的预设资源的动画效果。动画功能组件包括时间曲线,第一时间曲线和第二时间曲线可以均为贝塞尔曲线。由于原引擎中时间曲线的控制参数与目标引擎中时间曲线的控制参数不同,因此基于原引擎中时间曲线的控制参数进行转换,得到目标引擎中时间曲线的控制参数,从而得到目标引擎中的第二时间曲线,该第二时间曲线即构成目标引擎中的动画功能组件。
在一种可选的实施例中,仍以将目标预制体从Cocos引擎转换至Unity引擎为例,在Cocos引擎中,除了标准的位移、旋转、缩放动画和序列帧动画以外,动画系统还支持任意组件属性和用户自定义属性的驱动,可任意编辑时间曲线和移动轨迹编辑功能。预制体的描述文件以Json格式序列化保存上述第一时间曲线,包含若干条动画曲线信息,每条曲线记录控制的节点和关键帧信息,在Unity引擎中可以通过AnimationCurve创建动画曲线,通过KeyFrame设置曲线的关键帧,还原动画效果。Cocos引擎中的时间曲线编辑,可实现两个关键帧之间的数据通过哪种插值方式改变,支持线性、常量、自定义类型,如图6a所示。Unity引擎也支持时间曲线的编辑,如图6b所示。但两者导出结果不一样,Cocos引擎是通过保存两个控制点的信息来确定曲线的形状,Unity引擎通过保存inSlope(入斜率)、outSlope(出斜率)、inWeight(入权重)、outWeight(出权重)这四个参数来确定曲线的形状。基于上述分析,将Cocos引擎中第一时间曲线的两个控制点的参数进行转换,得到Unity引擎中的inSlope、outSlope、inWeight、outWeight数据。
下面再对将Cocos引擎中第一时间曲线的两个控制点的参数进行转换,得到Unity引擎中的inSlope、outSlope、inWeight、outWeight数据进行说明。第一时间曲线包括两个控制点,第一曲线参数所包含的预设控制点的控制信息具体可以为第一时间曲线的起点坐标、终点坐标和上述两个控制点的坐标。以起点坐标为(x0,y0),终点坐标为(x1,y1),两个控制点的坐标为p1(px1,py1)和p2(px2,py2)为例:
inSlope=(y1-py2)/(x1-px2);
outSlope=(py1-y0)/(px1-x0);
inWeight=(y1-px2)/(x1-x0);
outWeight=(px1-x0)/(x1-x0)。
由于原引擎和目标引擎本身的差异,使得预制体在从原引擎转换至目标引擎后,难以完全得到还原,尤其是预制体在原引擎中的动画组件。
为了还原预制体在原引擎中动画组件,相关技术中只能根据观察到的预制体在原引擎中的动画效果重新制作预制体在目标引擎中的动画组件,但这种方式不仅效率低,且还原度也较低。本申请上述方案在原引擎提供第一时间曲线,且目标引擎提供第二时间曲线基础上,抽取第一时间曲线的第一曲线参数,并将第一曲线参数转换为第二时间曲线对应的第二曲线参数,从而根据第二曲线参数能够构建第二时间曲线,进而可以基于第二时间曲线,将预制体的动画组件从原引擎转换至目标引擎中时,进一步提高了预制体的转换效率和转换效果。
作为一种可选的实施例,动画功能组件的属性值还包括节点运动轨迹,通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件,包括:根据描述文件获取原引擎中节点的移动轨迹;根据移动轨迹确定目标引擎中对应节点在指定时间帧的位置信息;基于指定时间帧和位置信息在目标引擎中还原移动轨迹。
在一种可选的实施例中,仍以将目标预制体从Cocos引擎转换至Unity引擎为例,Cocos引擎中的移动轨迹编辑功能,能实现指定节点按编辑好的移动轨迹移动,如图7所示,图7中以一个挂载了红包图像的节点为例,其坐标表示该节点相对于其父节点的坐标,其曲线用于表示该节点的移动轨迹。通过保存的描述文件分析,该节点的移动轨迹是一条四阶Bezier曲线,由多个控制点决定曲线的形状。转换到Unity引擎时,需要实现四阶Bezier曲线运行组件,提供时间给动画系统控制,组件根据时间的变化实时计算曲线的位置,再设置该节点位置,即可还原Cocos引擎中沿着指定曲线移动的效果。
上述方案基于确定节点在原引擎中的移动轨迹,确定不同时间帧下节点在目标引擎中的位置,进而根据不同时间帧下节点在目标引擎中的位置在目标引擎中还原出预制体的动画效果。仍以Cocos引擎和Unity引擎为例,编辑移动轨迹是Cocos引擎特有的功能,Unity引擎不提供编辑节点的移动轨迹功能,为实现在Unity引擎上还原Cocos引擎的效果,上述方案将Cocos引擎里的移动轨迹转化为贝塞尔曲线,然后在Unity引擎中根据贝塞尔曲线公式实时计算出节点的位置,从而在Unity引擎中实现了“移动轨迹”的功能。
还需要说明的是,相关技术中存在一些将Unity引擎中制作好的Prefab转换至Cocos引擎中的工具,但这些工具仅限于将Unity引擎中制作好的Prefab转换至Cocos引擎中,而并不能将Cocos引擎中的Prefab转换至Unity引擎中;且对于一个Prefab来说,其至少具有两个文件,一个文件用于存储其结构和一些简单的组件,另一个文件单独用于保存动画组件,相关技术在Unity引擎至Cocos引擎的转换中,只对Prefab的结构和一些简单的组件。而本实施例所提供的方案不仅对存储其结构和一些简单的组件的文件进行了解析和转换,还对专门用于存储动画组件的文件进行了的解析和转化,从而使得不限于转换Prefab的结构和一些简单的组件,还能够将复杂组件(如上动画组件)较好的还原至Unity引擎中。
作为一种可选的实施例,在获取原引擎中目标预制体的描述文件之前,上述方法还包括:生成用于表示资源信息的标识与实际路径的映射关系的资源配置信息;描述文件中包括节点所挂载的预设资源的标识,在通过对第一数据结构中节点的属性参数进行转换处理,得到第二数据结构的对应节点中的属性参数;以及通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件之后,方法还包括:根据原引擎中节点对应的预设资源的标识,基于资源配置信息,确定目标引擎中对应节点所挂载的预设资源的实际路径;基于实际路径确定目标引擎中对应节点所挂载的预设资源。
具体的,上述预设资源可以是需要挂载在节点上显示的图片等元素,每个预设资源具有对应的标识,描述文件中描述的是节点所挂载的预设资源的标识。因此为了在目标引擎中能够根据预设资源的标识找到预设资源,在进行转换之前,还需要生成资源配置信息,以使得在目标引擎中生成目标预制体之后,能够成功的挂载原预设资源。
在一种可选的实施例中,仍结合图2所示,在通过“选择路径”控件确定资源目录后,通过选择“生成资源配置”控件生成资源配置信息,即生成了原引擎中的资源信息的标识和实际路径的映射。
图2所示的转换工具的使用步骤可以如下:
1、第一次启动该工具,需要设置原工程下的资源路径,以及resouces文件夹结束;
2、设置完成后,自动生成资源配置文件,若未生成,进入步骤3;
3、路径设置错误,重新设置路径后,点击“生成资源配置”;
4、转换资源前,请确定已将对应的图片资源拷贝至本工程;
5、转换完成后,先查看Console窗口是否有报错或警告信息,若图片丢失,则参考步骤4;
6、转换后,输出至指定路径。
通过上述实施例所提供的方案,能够完全在目标引擎中还原出原引擎中制作好的Prefab,包括Prefab的节点结构、节点属性、内置组件和自定义组件。在转换过程中,需要兼容原引擎和目标引擎不同实现方式,以及目标引擎原生不支持的扩展功能,
根据本发明实施例,提供了一种预制体的转换装置的实施例,图8是根据本申请实施例的一种预制体的转换装置示意图,结合图8所示,该装置包括:
获取模块80,用于获取原引擎中目标预制体的描述文件,其中,所述原引擎为开源游戏引擎。
解析模块82,用于解析描述文件得到目标预制体在原引擎中的第一数据结构,并基于第一数据结构在目标引擎中创建第二数据结构,其中,第一数据结构中包括多个用于挂载预设资源的节点,所述目标引擎为闭源游戏引擎。
转换模块84,用于通过对第一数据结构中节点的属性参数进行转换处理,得到第二数据结构的对应节点中的属性参数;以及通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件。
作为一种可选的实施例,解析模块包括:遍历子模块,用于遍历描述文件,得到第一数据结构中的节点和每个节点的父节点属性;生成子模块,用于在目标引擎中生成与每个节点对应的节点;第一还原子模块,用于根据每个节点的父节点属性,在目标引擎中的对应节点上还原出第二数据结构。
作为一种可选的实施例,转换模块包括:第一获取子模块,用于获取原引擎的属性中,目标引擎中不存在的第一属性;第一确定子模块,用于在目标引擎中,包含第一属性的节点中添加与第一属性对应的第一组件,并根据节点在原引擎中的第一属性的属性值确定第一组件的组件参数。
作为一种可选的实施例,转换模块包括:第二获取子模块,用于获取目标引擎和原引擎中,属性名称相同且定义不同的第二属性;第二确定子模块,用于根据原引擎中节点的第二属性的属性值,确定目标引擎中,对应节点的第二属性的属性值。
作为一种可选的实施例,转换模块包括:第一添加子模块,用于获取挂载在第一数据结构中任意节点,且目标引擎中不存在的第二组件,并在目标引擎中添加与第二组件功能对应的第三组件;以及第二添加子模块,用于获取挂载在第一数据结构中任意节点上的自定义组件,并在目标引擎中添加与自定义组件功能对应的第四组件。
作为一种可选的实施例,功能组件包括动画功能组件,动画功能组件的属性值包括时间曲线,转换模块包括:第二还原子模块,用于根据描述文件获取原引擎中节点的第一时间曲线,并解析第一时间曲线得到第一曲线参数,其中,第一曲线参数包括预设控制点的控制信息;转换子模块,用于将的第一曲线参数转换为第二曲线参数,其中,第二曲线参数包括:入斜率、出斜率、入权重和出权重;构建子模块,用于基于第二曲线参数构建得到目标引擎中对应节点的第二时间曲线。
作为一种可选的实施例,动画功能组件的属性值还包括节点运动轨迹,转换模块包括:第三还原子模块,用于根据描述文件获取原引擎中节点的移动轨迹;第三确定子模块,用于根据移动轨迹确定目标引擎中对应节点在指定时间帧的位置信息;第四确定子模块,用于基于指定时间帧和位置信息在目标引擎中还原移动轨迹。
作为一种可选的实施例,上述装置还包括:生成模块,用于在获取原引擎中目标预制体的描述文件之前,生成用于表示资源信息的标识与实际路径的映射关系的资源配置信息;确定模块,用于描述文件中包括节点所挂载的预设资源的标识,在通过对第一数据结构中节点的属性参数进行转换处理,得到第二数据结构的对应节点中的属性参数;以及通过对第一数据结构中节点挂载的功能组件进行转换处理,得到第二数据结构的对应节点挂载的功能组件之后,根据原引擎中节点对应的预设资源的标识,基于资源配置信息,确定目标引擎中对应节点所挂载的预设资源的实际路径;并基于实际路径确定目标引擎中对应节点所挂载的预设资源。
根据本发明实施例,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述的预制体的转换方法。
根据本发明实施例,提供了一种处理器,处理器用于运行程序,其中,所述程序运行时执行上述的预制体的转换方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种预制体的转换方法,其特征在于,包括:
获取原引擎中目标预制体的描述文件,其中,所述原引擎为开源游戏引擎;
解析所述描述文件得到所述目标预制体在所述原引擎中的第一数据结构,并基于所述第一数据结构在目标引擎中创建第二数据结构,其中,所述第一数据结构中包括多个用于挂载预设资源的节点,所述目标引擎为闭源游戏引擎;
通过对所述第一数据结构中节点的属性参数进行转换处理,得到所述第二数据结构的对应节点中的属性参数;以及通过对所述第一数据结构中节点挂载的功能组件进行转换处理,得到所述第二数据结构的对应节点挂载的功能组件。
2.根据权利要求1所述的方法,其特征在于,解析所述描述文件得到所述目标预制体在所述原引擎中的第一数据结构,并基于所述第一数据结构在所述目标引擎中创建第二数据结构,包括:
遍历所述描述文件,得到所述第一数据结构中的所述节点和每个所述节点的父节点属性;
在所述目标引擎中生成与每个所述节点对应的节点;
根据每个所述节点的父节点属性,在所述目标引擎中的对应节点上还原出所述第二数据结构。
3.根据权利要求1所述的方法,其特征在于,通过对所述第一数据结构中节点的属性参数进行转换处理,得到所述第二数据结构的对应节点中的属性参数,包括:
获取所述原引擎的属性中,所述目标引擎中不存在的第一属性;
在所述目标引擎中,包含所述第一属性的节点中添加与所述第一属性对应的第一组件,并根据所述节点在所述原引擎中的第一属性的属性值确定所述第一组件的组件参数。
4.根据权利要求1所述的方法,其特征在于,通过对所述第一数据结构中节点挂载的功能组件进行转换处理,得到所述第二数据结构的对应节点挂载的功能组件,包括:
获取所述目标引擎和所述原引擎中,属性名称相同且定义不同的第二属性;
根据所述原引擎中节点的所述第二属性的属性值,确定所述目标引擎中,对应节点的所述第二属性的属性值。
5.根据权利要求1所述的方法,其特征在于,通过对所述第一数据结构中节点挂载的功能组件进行转换处理,得到所述第二数据结构的对应节点挂载的功能组件,包括:
获取挂载在所述第一数据结构中任意节点,且所述目标引擎中不存在的第二组件,并在所述目标引擎中添加与所述第二组件功能对应的第三组件;以及
获取挂载在所述第一数据结构中任意节点上的自定义组件,并在所述目标引擎中添加与所述自定义组件功能对应的第四组件。
6.根据权利要求1所述的方法,其特征在于,所述功能组件包括动画功能组件,所述动画功能组件的属性值包括时间曲线,通过对所述第一数据结构中节点挂载的功能组件进行转换处理,得到所述第二数据结构的对应节点挂载的功能组件,包括:
根据所述描述文件获取所述原引擎中节点的第一时间曲线,并解析所述第一时间曲线得到第一曲线参数,其中,所述第一曲线参数包括预设控制点的控制信息;
将所述的第一曲线参数转换为第二曲线参数,其中,所述第二曲线参数包括:入斜率、出斜率、入权重和出权重;
基于所述第二曲线参数构建得到所述目标引擎中对应节点的第二时间曲线。
7.根据权利要求6所述的方法,其特征在于,所述动画功能组件的属性值还包括节点运动轨迹,通过对所述第一数据结构中节点挂载的功能组件进行转换处理,得到所述第二数据结构的对应节点挂载的功能组件,包括:
根据所述描述文件获取所述原引擎中节点的移动轨迹;
根据所述移动轨迹确定所述目标引擎中对应节点在指定时间帧的位置信息;
基于所述指定时间帧和所述位置信息在所述目标引擎中还原所述移动轨迹。
8.根据权利要求1所述的方法,其特征在于,
在获取原引擎中目标预制体的描述文件之前,所述方法还包括:
生成用于表示资源信息的标识与实际路径的映射关系的资源配置信息;
所述描述文件中包括所述节点所挂载的预设资源的标识,在通过对所述第一数据结构中节点的属性参数进行转换处理,得到所述第二数据结构的对应节点中的属性参数;以及通过对所述第一数据结构中节点挂载的功能组件进行转换处理,得到所述第二数据结构的对应节点挂载的功能组件之后,所述方法还包括:
根据所述原引擎中所述节点对应的预设资源的标识,基于所述资源配置信息,确定所述目标引擎中对应节点所挂载的预设资源的实际路径;
基于所述实际路径确定所述目标引擎中对应节点所挂载的预设资源。
9.一种预制体的转换装置,其特征在于,包括:
获取模块,用于获取原引擎中目标预制体的描述文件,其中,所述原引擎为开源游戏引擎;
解析模块,用于解析所述描述文件得到所述目标预制体在所述原引擎中的第一数据结构,并基于所述第一数据结构在目标引擎中创建第二数据结构,其中,所述第一数据结构中包括多个用于挂载预设资源的节点,所述目标引擎为闭源游戏引擎;
转换模块,用于通过对所述第一数据结构中节点的属性参数进行转换处理,得到所述第二数据结构的对应节点中的属性参数;以及通过对所述第一数据结构中节点挂载的功能组件进行转换处理,得到所述第二数据结构的对应节点挂载的功能组件。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至8中任意一项所述的预制体的转换方法。
11.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至8中任意一项所述的预制体的转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110749738.8A CN113450463B (zh) | 2021-07-01 | 2021-07-01 | 预制体的转换方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110749738.8A CN113450463B (zh) | 2021-07-01 | 2021-07-01 | 预制体的转换方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113450463A true CN113450463A (zh) | 2021-09-28 |
CN113450463B CN113450463B (zh) | 2023-07-21 |
Family
ID=77814907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110749738.8A Active CN113450463B (zh) | 2021-07-01 | 2021-07-01 | 预制体的转换方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113450463B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114625705A (zh) * | 2022-03-22 | 2022-06-14 | 在线途游(北京)科技有限公司 | 一种在开发引擎内自动生成ui资源的方法及装置 |
CN116302296A (zh) * | 2023-05-23 | 2023-06-23 | 腾讯科技(深圳)有限公司 | 资源预览方法、装置、设备及存储介质 |
WO2024114153A1 (zh) * | 2022-11-29 | 2024-06-06 | 腾讯科技(深圳)有限公司 | 基于寄生程序的资源配置方法、装置、设备、介质及产品 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140274408A1 (en) * | 2013-03-14 | 2014-09-18 | Zynga Inc. | Methods and systems for provisioning a game container within a cloud computing system |
KR20180038840A (ko) * | 2016-10-07 | 2018-04-17 | 주식회사 엔피씨팩토리 | 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구의 확장 엔진 제공 방법 및 그 시스템 |
CN108279901A (zh) * | 2018-01-23 | 2018-07-13 | 网易(杭州)网络有限公司 | Ui文件编辑方法、装置、电子设备及存储介质 |
CN110502483A (zh) * | 2019-07-09 | 2019-11-26 | 招联消费金融有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN111359219A (zh) * | 2020-03-16 | 2020-07-03 | 网易(杭州)网络有限公司 | 虚幻引擎的文件处理方法、装置、设备及存储介质 |
CN111414409A (zh) * | 2020-03-17 | 2020-07-14 | 网易(杭州)网络有限公司 | 游戏引擎之间数据交换方法及装置、存储介质及电子设备 |
CN112473145A (zh) * | 2020-12-10 | 2021-03-12 | 网易(杭州)网络有限公司 | 一种基于游戏引擎的数据处理方法和装置 |
CN112749229A (zh) * | 2019-10-31 | 2021-05-04 | 北京国双科技有限公司 | 数据转换方法、装置、存储介质及电子设备 |
-
2021
- 2021-07-01 CN CN202110749738.8A patent/CN113450463B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140274408A1 (en) * | 2013-03-14 | 2014-09-18 | Zynga Inc. | Methods and systems for provisioning a game container within a cloud computing system |
KR20180038840A (ko) * | 2016-10-07 | 2018-04-17 | 주식회사 엔피씨팩토리 | 단일 소스 기반의 멀티 디바이스 지원을 위한 소프트웨어 제작 도구의 확장 엔진 제공 방법 및 그 시스템 |
CN108279901A (zh) * | 2018-01-23 | 2018-07-13 | 网易(杭州)网络有限公司 | Ui文件编辑方法、装置、电子设备及存储介质 |
CN110502483A (zh) * | 2019-07-09 | 2019-11-26 | 招联消费金融有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN112749229A (zh) * | 2019-10-31 | 2021-05-04 | 北京国双科技有限公司 | 数据转换方法、装置、存储介质及电子设备 |
CN111359219A (zh) * | 2020-03-16 | 2020-07-03 | 网易(杭州)网络有限公司 | 虚幻引擎的文件处理方法、装置、设备及存储介质 |
CN111414409A (zh) * | 2020-03-17 | 2020-07-14 | 网易(杭州)网络有限公司 | 游戏引擎之间数据交换方法及装置、存储介质及电子设备 |
CN112473145A (zh) * | 2020-12-10 | 2021-03-12 | 网易(杭州)网络有限公司 | 一种基于游戏引擎的数据处理方法和装置 |
Non-Patent Citations (4)
Title |
---|
GLEGOO: "Unity Ngui制作的UI prefab转换成CocosCreator prefab工具", 《URL: HTTPS://GITHUB.COM/GLEGOO/NGUI-COCOS-CREATOR-CONVERTOR》 * |
GLEGOO: "Unity Ngui制作的UI prefab转换成CocosCreator prefab工具", 《URL: HTTPS://GITHUB.COM/GLEGOO/NGUI-COCOS-CREATOR-CONVERTOR》, 6 March 2019 (2019-03-06), pages 1 * |
碳14: "游戏引擎比对:Unity & Cocos Creator UI篇", pages 1 - 4 * |
谢景明;: "基于Cocos2d-JS游戏引擎的使用研究", 信息与电脑(理论版), no. 08, pages 1 - 7 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114625705A (zh) * | 2022-03-22 | 2022-06-14 | 在线途游(北京)科技有限公司 | 一种在开发引擎内自动生成ui资源的方法及装置 |
WO2024114153A1 (zh) * | 2022-11-29 | 2024-06-06 | 腾讯科技(深圳)有限公司 | 基于寄生程序的资源配置方法、装置、设备、介质及产品 |
CN116302296A (zh) * | 2023-05-23 | 2023-06-23 | 腾讯科技(深圳)有限公司 | 资源预览方法、装置、设备及存储介质 |
CN116302296B (zh) * | 2023-05-23 | 2023-08-15 | 腾讯科技(深圳)有限公司 | 资源预览方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113450463B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113450463A (zh) | 预制体的转换方法和装置 | |
CN106200983B (zh) | 一种结合虚拟现实与bim实现虚拟现实场景建筑设计的系统 | |
CN111324965A (zh) | 一种基于云的通用参数化模型解析方法及设计系统 | |
CN103593181B (zh) | 一种可配置分布式三维视景仿真系统 | |
KR100503789B1 (ko) | 렌더링시스템, 렌더링방법 및 그 기록매체 | |
CN110675466A (zh) | 渲染系统及渲染方法、装置、电子设备和存储介质 | |
CN108257205B (zh) | 一种三维模型构建方法、装置及系统 | |
CN111275826B (zh) | 一种适用于ar情景的三维模型自动转换方法 | |
CN111179391A (zh) | 一种三维动画制作方法、系统及存储介质 | |
CN111640170B (zh) | 骨骼动画生成方法、装置、计算机设备及存储介质 | |
CN113886910A (zh) | 仿真路灯的创建方法、装置、设备及可读存储介质 | |
US9396574B2 (en) | Choreography of animated crowds | |
CN112704872A (zh) | 一种场景数据的同步方法、装置、系统及存储介质 | |
KR101572206B1 (ko) | 멀티미디어 컨텐츠 개발용 프로그램을 이용한 카메라 모션 프레임 에디터 툴, 이를 기반으로 한 cmf 및 mot 파일 에디팅 방법 | |
KR20200061851A (ko) | 웹을 기반한 다수의 가상현실 개발엔진 활용을 위한 가상현실 저작 플랫폼 및 언어변환 시스템 | |
CN111897530B (zh) | 基于ue4平台的ui系统及方法 | |
KR102206019B1 (ko) | 시뮬레이션 모델 연동을 위한 어댑터 개발 지원 장치 및 방법 | |
KR101560354B1 (ko) | 3d 디지털 캐릭터 생성을 위한 복합 편집 시스템 및 방법 | |
CN115640044B (zh) | 基于Unity的三维软件开发方法、装置、设备及介质 | |
KR100817506B1 (ko) | 지능형 콘텐츠 생성방법 | |
Carra et al. | gMotion: A spatio-temporal grammar for the procedural generation of motion graphics | |
CN115861582B (zh) | 基于多智能体的虚拟现实引擎系统及实现方法 | |
US20240111496A1 (en) | Method for running instance, computer device, and storage medium | |
CN111767253B (zh) | 一种建筑模型文件的集成方法和装置 | |
KR100366380B1 (ko) | 분산협력 시스템 환경하에서 쓰리디 스튜디오 맥스플러그인을 이용한 쓰리디 객체 공유방법 |
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 |