CN115794063A - 三维模型的处理方法、装置和电子设备 - Google Patents
三维模型的处理方法、装置和电子设备 Download PDFInfo
- Publication number
- CN115794063A CN115794063A CN202211224397.3A CN202211224397A CN115794063A CN 115794063 A CN115794063 A CN 115794063A CN 202211224397 A CN202211224397 A CN 202211224397A CN 115794063 A CN115794063 A CN 115794063A
- Authority
- CN
- China
- Prior art keywords
- rendering
- model
- target model
- file
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明提供了一种三维模型的处理方法、装置和电子设备;其中,该方法包括:获取待处理的目标模型和数字资产文件;其中,目标模型预先通过游戏引擎生成;数字资产文件预先通过三维图形软件生成;数字资产文件中包含模型处理参数;获取模型处理参数的调整参数值,基于调整参数值,对目标模型进行渲染处理,得到目标模型的渲染结果;响应针对渲染结果的保存操作,通过三维图形软件导出目标模型的渲染结果,得到目标模型的渲染文件。该方式中,通过编辑插件对三维图形软件生成的数字资产文件进行编辑并导出,从而实现通过数字资产文件在游戏引擎中自动化的编辑游戏场景,大幅降低了场景编辑人员的工作量,提高了游戏场景的制作效率。
Description
技术领域
本发明涉及游戏技术领域,尤其是涉及一种三维模型的处理方法、装置和电子设备。
背景技术
游戏场景中通常包括地形、建筑物、树木、天空、道路等模型,还可能涉及武器道具、NPC(Non Player Character,非玩家角色)等。对于大世界类型的游戏,游戏场景规模较大,且游戏场景千变万化,工作人员需要手动制作游戏场景,得到游戏场景中的各类视觉效果,但这种制作游戏场景的工作量较大,且效率较低。
发明内容
有鉴于此,本发明的目的在于提供一种三维模型的处理方法、装置和电子设备,以实现通过数字资产文件在游戏引擎中自动化的编辑游戏场景,降低场景编辑人员的工作量,提高游戏场景的制作效率。
第一方面,本发明实施例提供了一种三维模型的处理方法,方法应用于目标电子设备;目标电子设备上运行有编辑插件;编辑插件安装在预设的游戏引擎中;编辑插件与三维图形软件通信连接;方法包括:获取待处理的目标模型和数字资产文件;其中,目标模型预先通过游戏引擎生成;数字资产文件预先通过三维图形软件生成;数字资产文件中包含模型处理参数;获取模型处理参数的调整参数值,基于调整参数值,对目标模型进行渲染处理,得到目标模型的渲染结果;响应针对渲染结果的保存操作,通过三维图形软件导出目标模型的渲染结果,得到目标模型的渲染文件;其中,渲染文件与游戏引擎相匹配。
第二方面,本发明实施例提供了一种三维模型的处理装置,装置应用于目标电子设备;目标电子设备上运行有编辑插件;编辑插件安装在预设的游戏引擎中;编辑插件与三维图形软件通信连接;装置包括:文件获取模块,用于获取待处理的目标模型和数字资产文件;其中,目标模型预先通过游戏引擎生成;数字资产文件预先通过三维图形软件生成;数字资产文件中包含模型处理参数;渲染模块,用于获取模型处理参数的调整参数值,基于调整参数值,对目标模型进行渲染处理,得到目标模型的渲染结果;保存模块,用于响应针对渲染结果的保存操作,通过三维图形软件导出目标模型的渲染结果,得到目标模型的渲染文件;其中,渲染文件与游戏引擎相匹配。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述三维模型的处理方法。
第四方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述三维模型的处理方法。
本发明实施例带来了以下有益效果:
上述三维模型的处理方法、装置和电子设备,获取待处理的目标模型和数字资产文件;其中,目标模型预先通过游戏引擎生成;数字资产文件预先通过三维图形软件生成;数字资产文件中包含模型处理参数;获取模型处理参数的调整参数值,基于调整参数值,对目标模型进行渲染处理,得到目标模型的渲染结果;响应针对渲染结果的保存操作,通过三维图形软件导出目标模型的渲染结果,得到目标模型的渲染文件;其中,渲染文件与游戏引擎相匹配。该方式中,通过编辑插件对三维图形软件生成的数字资产文件进行编辑并导出,从而实现通过数字资产文件在游戏引擎中自动化的编辑游戏场景,大幅降低了场景编辑人员的工作量,提高了游戏场景的制作效率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的编辑插件、三维图形软件和游戏引擎的通信关系示意图;
图2为本发明实施例提供的一种三维模型的处理方法的流程图;
图3为本发明实施例提供的一种三维模型的处理方法中,保存渲染结果得到渲染文件的流程图;
图4为本发明实施例提供的一种三维模型的处理装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
首先对本实施例涉及的专业术语进行解释。
1、HDA
HDA为Houdini Digital Asset,Houdini的数字资产,用于封装自定义的、具有特定功能和逻辑的节点,多个HDA之间可以自由组合和嵌套,形成新的HDA。
2、HAPI
HAPI为Houdini官方开源的一套C函数集合,可以用来在后台调用操作无头Houdini;其中,无头可以理解为没有界面的。
伴随着开放世界游戏品类的游戏越来越多,场景编辑人员的编辑工作量越来越大。如果要编好一个大世界的场景,编辑工作量是传统游戏的几十倍甚至上百倍。工作人员需要手动制作游戏场景,得到游戏场景中的各类视觉效果,但这种制作游戏场景的工作量较大,且效率较低。
基于此,本发明实施例提供的一种三维模型的处理方法、装置和电子设备,该技术可以应用于游戏场景或其他虚拟场景的编辑、制作过程中。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种三维模型的处理方法进行详细介绍,该方法应用于目标电子设备;该目标电子设备上运行有编辑插件;该编辑插件安装在预设的游戏引擎中;该编辑插件与三维图形软件通信连接。上述目标电子设备可以是终端设备、服务器,也可以是运行云服务器的相关设备。
三维图形软件例如可以为Houdini、Blender等,三维图形软件主要用于生成数字资产。发明人在研究过程中发现,如果将数字资产导入至游戏引擎,可以实现游戏场景的自动化编辑,从而大幅提高游戏场景的制作效率。基于此,本实施例旨在通过编辑插件,将三维图形软件生成的数字资产导入至游戏引擎,以通过数字资产自动化的对游戏场景进行编辑。游戏引擎例如可以为Messiah引擎等。受编程语言、运行机制的影响,三维图形软件的数字资产难以直接应用至游戏引擎。因此,本实施例提供一编辑插件,该编辑插件安装在游戏引擎中,通过该编辑插件,可以将三维图形软件生成的数字资产文件导入至游戏引擎,并通过数字资产文件进行游戏场景的制作。
如图1示出了编辑插件、三维图形软件和游戏引擎的通信关系。编辑插件运行在游戏引擎中。当游戏引擎被启动时,编辑插件可以以窗口的形式显示。编辑插件与三维图形软件通信连接,该编辑插件可以理解为三维图形软件的前端,在游戏引擎运行过程中,用户可以通过编辑插件向三维图形软件发送相关指令,三维图形软件向编辑插件提供对应的数据,从而将数据导入游戏引擎。
如图2所示,该三维模型的处理方法包括如下步骤:
步骤S202,获取待处理的目标模型和数字资产文件;其中,该目标模型预先通过游戏引擎生成;该数字资产文件预先通过三维图形软件生成;该数字资产文件中包含模型处理参数;
这里的目标模型可以为场景模型或者人物对象模型。用户可以通过游戏引擎制作目标模型,并将目标模型保存为模型文件。在实际实现时,可以从游戏引擎的模型库中获取目标模型的模型文件,打开模型文件后获取到目标模型。用户可以通过三维图形软件制作数字资产,该数字资产保存为数字资产文件。例如,当三维图形软件为Houdini时,数字资产文件为HDA,数字资产文件中包括具有特定功能和逻辑的节点,通过节点对模型进行处理。上述模型处理参数可以包含在节点中,模型处理参数根据数字资产文件需要实现的功能确定,例如,模型面参数、模型复制参数等。当模型处理参数为模型面参数时,上述数字资产文件可以用于控制目标模型的模型面数量;当模型处理参数为模型复制参数时,上述数字资产文件可以用于控制目标模型的模型数量。
步骤S204,获取模型处理参数的调整参数值,基于调整参数值,对目标模型进行渲染处理,得到目标模型的渲染结果;
在实际实现时,可以在编辑插件的窗口显示模型处理参数,以及模型处理参数的调整控件,例如,参数增加和减少的按钮,也可以提供输入参数的子窗口。用户可以在编辑插件的窗口输入调整参数值。编辑插件中可以内置有渲染器,将目标模型和调整参数值输入至渲染器,以对目标模型进行渲染处理,得到目标模型的渲染结果。另一种方式中,渲染器可以设置在三维图形软件中,编辑插件可以将目标模型和调整参数值发送至三维图形软件,通过该三维图形软件中的渲染器对目标模型进行渲染,得到渲染结果。
编辑插件的窗口中还可以设置预览子窗口,渲染结果可以显示在预览子窗口中,用户通过预览子窗口可以查看渲染结果是否符合需求,如果不符合需求,还可以继续通过编辑插件的窗口调整模型处理参数,更新调整参数值,重新对目标模型进行渲染,直至渲染结果满足需求。
步骤S206,响应针对渲染结果的保存操作,通过三维图形软件导出目标模型的渲染结果,得到目标模型的渲染文件;其中,该渲染文件与游戏引擎相匹配。
当渲染结果符合需求后,用户可以保存渲染结果。可以调用三维图形软件中用于导出文件的函数,导出渲染结果,得到渲染文件;在生成渲染文件时,可以将渲染结果封装为游戏引擎可识别的文件格式,从而得到渲染文件。
上述三维模型的处理方法,获取待处理的目标模型和数字资产文件;其中,目标模型预先通过游戏引擎生成;数字资产文件预先通过三维图形软件生成;数字资产文件中包含模型处理参数;获取模型处理参数的调整参数值,基于调整参数值,对目标模型进行渲染处理,得到目标模型的渲染结果;响应针对渲染结果的保存操作,通过三维图形软件导出目标模型的渲染结果,得到目标模型的渲染文件;其中,渲染文件与游戏引擎相匹配。该方式中,通过编辑插件对三维图形软件生成的数字资产文件进行编辑并导出,从而实现通过数字资产文件在游戏引擎中自动化的编辑游戏场景,大幅降低了场景编辑人员的工作量,提高了游戏场景的制作效率。
下述实施例继续描述三维模型的处理方法的具体实现方式。
首先,从游戏引擎的模型库中获取待处理的目标模型,将该目标模型导入至编辑插件,在编辑插件的预览窗口显示目标模型。通常,在游戏引擎的模型库中保存有各种模型的模型文件,用户可以从模型库中选择一个模型文件,然后,该模型文件导入至编辑插件后,得到目标模型。预览窗口和游戏引擎中均可以显示目标模型,由于目标模型通常为三维模型,用户可以通过控制目标模型进行旋转、缩放等操作,以查看目标模型的视觉效果。
导入目标模型后,还需要导入数字资产文件,当三维图形软件为Houdini软件时,数字资产文件为HDA文件。具体的,可以从三维图形软件的文件库中选择数字资产文件。选择数字资产文件并确认后,编辑插件可以通过数字资产文件记录的原始参数对目标模型进行处理,得到目标模型的初步的渲染效果。
同时,在编辑插件的参数窗口显示数字资产文件中的模型处理参数,以及模型处理参数的参数值调整控件;响应针对参数值条件控件的调整操作,获取模型处理参数的调整参数值。通常,不同的数字资产文件中保存的HDA节点不同,因此,不同的数字资产文件中的模型处理参数不同。编辑插件可以从数字资产文件中遍历模型处理参数,根据模型处理参数的类型,创建显示控件以及参数值调整控件。
当三维图形软件为Houdini软件时,Houdini软件中的函数集合HAPI是一套C语言函数集合,而编辑插件大多基于python开发,因此需要基于另外一套开源的HAPI Wrapper的面向对象框架进行开发,修改并封装成了对应的几个模块,可以在游戏引擎里通过python调用HAPI Wrapper来操作后台的不带UI界面的Houdini软件。
封装的模块如下:HoudiniSession,用来启动HARS,一套基于Thrift的Houdini远程服务;其中,HARS为Houdini-Engine API Remote Server,后台无UI Houdini的启动入口;HoudiniWrapper,用python的ctype封装了基于HAPI C的函数,函数的参数和返回值都是基于python的数据格式;Hdata,用python的ctype封装了基于HAPI C的数据结构;HoudiniMgr,管理器类,在最开始运行插件的时候实例化,生命周期是整个程序;HoudiniAsset,封装了对HDA的操作;HoudiniNode,封装了节点相关的操作;HoudiniGeo,封装了几何体属性数据的相关操作;HoudiniMain,测试用的模块。
基于上述Houdini Wrapper模块,本实施例提供的编辑插件的功能逻辑如下:HoudiniEditor是主模块,包括调用HDA并生成UI参数界面,所有操作进程的处理,以及一个简单的实时渲染预览;HoudiniEditorDialog是用来实现操作界面,实现UI回调函数;HoudiniScenePass是用来生成关卡;FBXProcess是游戏引擎的FBX导入导出回调函数,FBX是一种三维模型的格式。
在实际实现时,编辑插件启动后,通过HoudiniEditor模块创建编辑插件的窗口界面,并在界面中生成预览窗口,通过该预览窗口,对导入的目标模型进行放大、缩小、选择等实时预览操作。
进一步的,响应针对数字资产文件的选中操作,通过编辑插件预设的封装函数读取数字资产文件中的模型处理参数;基于模型处理参数的参数类型,生成模型处理参数的参数值调整控件;在编辑插件的参数窗口显示模型处理参数和模型处理参数的参数值调整控件。这里的封装函数可以为前述HoudiniEditor模块内的函数。模型处理参数的类型可以包括浮点、整形、字符串、按钮等类型。模型处理参数还可以预设有调整范围,从而确定调整参数值的最大值和最小值,基于该最大值和最小值显示参数值调整控件。
下述实施例继续描述对目标模型进行渲染处理的具体实现方式。
通过预设的回调函数,从目标模型中获取几何拓扑数据和属性数据,将几何拓扑数据、属性数据和调整参数值转换成指定编程语言格式的格式数据;通过编辑插件中的渲染器对格式数据进行渲染,得到目标模型的渲染结果。
当获取到目标函数和数字资产文件,用户执行确认操作后,即可调用前述回调函数;或者,用户更新调整参数,执行应用操作后,调用回调函数。这里的回调函数具体可以为confirm_callback。几何拓扑数据具体可以包括目标模型的结构数据;属性数据可以包括模型的位置、UV映射数据、法线、顶点色、透明度等数据。在编辑插件中,具体可以将几何拓扑数据、属性数据和调整参数值转换成python格式的格式数据,将格式数据发送至编辑插件中的渲染器,通过该渲染器对格式数据进行渲染。
一种具体的实现方式中,通过预设的回调函数,控制编辑插件预设的封装函数从目标模型中获取几何拓扑数据和属性数据;其中,封装函数中封装有三维图形软件对应的函数集合;预先通过目标模型对应的编程语言对函数集合进行封装,得到封装函数。由于三维图形软件和游戏引擎的编程语言不同,因此,编辑插件需要将三维图形软件对应的函数集合进行封装,以通过三维图形软件的函数集合使用三维图形软件的相关功能,得到三维图形软件的处理数据,再通过封装函数将三维图形软件的处理数据进行格式转换,得到游戏引擎可识别的数据。通常,目标模型通过游戏引擎进行创建,目标模型对应的编程语言即游戏引擎的可识别语言,因此,通过目标模型对应的编程语言对函数集合进行封装,可以使得到的封装函数输出的数据可以被游戏引擎识别。
这里的封装函数具体可以为HoudiniWrapper,如前述实施例所述,HoudiniWrapper函数可以用python的ctype封装基于HAPI C的函数,函数的参数和返回值都是基于python的数据格式,通过HoudiniWrapper函数可以获取到目标模型的所有数据。
在对目标模型进行渲染时,调用预设的渲染函数,将格式数据发送至渲染控件;其中,该渲染控件包括表面渲染通道和框架渲染通道;表面渲染通道预设有第一着色器参数和第一网格参数;框架渲染通过预设有第二着色器参数和第二网格参数;调用渲染控件对格式数据进行渲染,得到目标模型的渲染结果。
上述渲染控件可以为基于QT的OpenGL渲染器控件,其中,QT为跨平台C++图形用户界面应用程序开发框架,渲染器控件也可以称为渲染窗口。在实际实现时,格式数据可以先通过表面渲染通道进行渲染,再通过框架渲染通道进行渲染;格式数据也可以先通过框架渲染通道进行渲染,再通过表面渲染通道进行渲染。每个渲染通道中均设置有着色器参数和网格参数,通过这些参数进行渲染,两个渲染通道都渲染完成后,调用updateGL()函数可以刷新得到目标模型的渲染结果。
进一步的,得到目标模型的渲染结果之后,在编辑插件的预览窗口中显示目标模型的渲染结果。例如,当调整参数值为目标模型的面片数量时,预览窗口会出现对应面片数量的目标模型的渲染结果。用户可以通过预览窗口对目标模型的渲染结果进行放大、缩小和旋转,从而查看当前的渲染结果是否符合需求。
如果当前的渲染结果符合需求,用户可以对渲染结果进行保存。具体的,响应针对渲染结果的保存操作,调用三维图形软件中的网格输出节点,以通过网格输出节点对渲染结果进行封装,得到目标模型的渲染文件。这里的网格输出节点具体可以为三维图形软件中me2h_mesh_output节点,网格输出结果将渲染结果进行导出,渲染结果到处后,可以设置渲染结果已导出的标识,然后将渲染结果写到磁盘,得到渲染文件。
一种具体的实现方式中,如图3所示,保存渲染结果得到渲染文件的过程可以包括下述步骤:
步骤S302,响应针对渲染结果的保存操作,调用三维图形软件中的网格输出节点;
步骤S304,通过网格输出节点对渲染结果组织成可扩展标记数据文件;其中,该可扩展标记数据文件中包括渲染结果的数据项名称;该数据项名称包括子网格数据项、材料数据项和几何体属性数据项中的一种或多种;可扩展标记数据文件也可以称为XML文件,在可扩展标记数据文件中,保存有渲染结果的数据项名称,这里的数据项名称可以用于查询后续二进制数据文件。
步骤S306,通过指定编程语言的结构模块对渲染结果进行二进制处理,得到二进制数据文件;其中,该二进制数据文件包括数据项名称对应的数据值;
上述可扩展标记数据文件可以理解为二进制数据文件的大纲文件,而二进制数据文件为可扩展标记数据文件的具体内容。在实际实现时,可以通过可扩展标记数据文件查询具体数据项名称,从二进制数据文件中获取数据项名称对应的具体数据。
步骤S308,将可扩展标记数据文件和二进制数据文件保存为目标模型的渲染文件。
上述三维模型的处理方法,实现了一套游戏引擎的模型自动化生成系统,将Houdini的生成数字资产写入到游戏引擎的引擎文件系统。这套系统极大的提高了大世界项目的制作效率,以往很多的手动编辑的工作量可以被取代,借用自动化的手段来解决。用户并不需要掌握任何的编程技能,就可以操作。并且将技术美术TA、美术、程序的功能进行了解耦,让每部分工作按部就班。美术只需要关心效果,TA制作HDA,程序维护这一套编辑插件即可。
对应于上述方法实施例,参见图4所示的一种三维模型的处理装置,装置应用于目标电子设备;目标电子设备上运行有编辑插件;编辑插件安装在预设的游戏引擎中;编辑插件与三维图形软件通信连接;该装置包括:
文件获取模块40,用于获取待处理的目标模型和数字资产文件;其中,目标模型预先通过游戏引擎生成;数字资产文件预先通过三维图形软件生成;数字资产文件中包含模型处理参数;
渲染模块42,用于获取模型处理参数的调整参数值,基于调整参数值,对目标模型进行渲染处理,得到目标模型的渲染结果;
保存模块44,用于响应针对渲染结果的保存操作,通过三维图形软件导出目标模型的渲染结果,得到目标模型的渲染文件;其中,渲染文件与游戏引擎相匹配。
上述三维模型的处理装置,获取待处理的目标模型和数字资产文件;其中,目标模型预先通过游戏引擎生成;数字资产文件预先通过三维图形软件生成;数字资产文件中包含模型处理参数;获取模型处理参数的调整参数值,基于调整参数值,对目标模型进行渲染处理,得到目标模型的渲染结果;响应针对渲染结果的保存操作,通过三维图形软件导出目标模型的渲染结果,得到目标模型的渲染文件;其中,渲染文件与游戏引擎相匹配。该方式中,通过编辑插件对三维图形软件生成的数字资产文件进行编辑并导出,从而实现通过数字资产文件在游戏引擎中自动化的编辑游戏场景,大幅降低了场景编辑人员的工作量,提高了游戏场景的制作效率。
上述渲染模块还用于:通过预设的回调函数,从目标模型中获取几何拓扑数据和属性数据,将几何拓扑数据、属性数据和调整参数值转换成指定编程语言格式的格式数据;通过编辑插件中的渲染器对格式数据进行渲染,得到目标模型的渲染结果。
上述渲染模块还用于:通过预设的回调函数,控制编辑插件预设的封装函数从目标模型中获取几何拓扑数据和属性数据;其中,封装函数中封装有三维图形软件对应的函数集合;预先通过目标模型对应的编程语言对函数集合进行封装,得到封装函数。
上述渲染模块还用于:调用预设的渲染函数,将格式数据发送至渲染控件;其中,渲染控件包括表面渲染通道和框架渲染通道;表面渲染通道预设有第一着色器参数和第一网格参数;框架渲染通过预设有第二着色器参数和第二网格参数;调用渲染控件对格式数据进行渲染,得到目标模型的渲染结果。
上述装置还包括显示模块,用于:在编辑插件的预览窗口中显示目标模型的渲染结果。
上述保存模块还用于:响应针对渲染结果的保存操作,调用三维图形软件中的网格输出节点,以通过网格输出节点对渲染结果进行封装,得到目标模型的渲染文件。
上述保存模块还用于:响应针对渲染结果的保存操作,调用三维图形软件中的网格输出节点;通过网格输出节点对渲染结果组织成可扩展标记数据文件;其中,可扩展标记数据文件中包括渲染结果的数据项名称;数据项名称包括子网格数据项、材料数据项和几何体属性数据项中的一种或多种;通过指定编程语言的结构模块对渲染结果进行二进制处理,得到二进制数据文件;其中,二进制数据文件包括数据项名称对应的数据值;将可扩展标记数据文件和二进制数据文件保存为目标模型的渲染文件。
上述渲染模块还用于:在编辑插件的参数窗口显示数字资产文件中的模型处理参数,以及模型处理参数的参数值调整控件;响应针对参数值条件控件的调整操作,获取模型处理参数的调整参数值。
上述渲染模块还用于:响应针对数字资产文件的选中操作,通过编辑插件预设的封装函数读取数字资产文件中的模型处理参数;基于模型处理参数的参数类型,生成模型处理参数的参数值调整控件;在编辑插件的参数窗口显示模型处理参数和模型处理参数的参数值调整控件。
上述文件获取模块还用于:从游戏引擎的模型库中获取待处理的目标模型,将目标模型导入至编辑插件,在编辑插件的预览窗口显示目标模型。
本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述三维模型的处理方法。该电子设备可以是服务器,也可以是触控终端设备。
参见图5所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述三维模型的处理方法。
进一步地,图5所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。
其中,存储器101可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。
上述电子设备中的处理器,通过执行机器可执行指令,可以实现上述三维模型的处理方法中的下述操作:
获取待处理的目标模型和数字资产文件;其中,目标模型预先通过游戏引擎生成;数字资产文件预先通过三维图形软件生成;数字资产文件中包含模型处理参数;获取模型处理参数的调整参数值,基于调整参数值,对目标模型进行渲染处理,得到目标模型的渲染结果;响应针对渲染结果的保存操作,通过三维图形软件导出目标模型的渲染结果,得到目标模型的渲染文件;其中,渲染文件与游戏引擎相匹配。
通过预设的回调函数,从目标模型中获取几何拓扑数据和属性数据,将几何拓扑数据、属性数据和调整参数值转换成指定编程语言格式的格式数据;通过编辑插件中的渲染器对格式数据进行渲染,得到目标模型的渲染结果。
通过预设的回调函数,控制编辑插件预设的封装函数从目标模型中获取几何拓扑数据和属性数据;其中,封装函数中封装有三维图形软件对应的函数集合;预先通过目标模型对应的编程语言对函数集合进行封装,得到封装函数。
调用预设的渲染函数,将格式数据发送至渲染控件;其中,渲染控件包括表面渲染通道和框架渲染通道;表面渲染通道预设有第一着色器参数和第一网格参数;框架渲染通过预设有第二着色器参数和第二网格参数;调用渲染控件对格式数据进行渲染,得到目标模型的渲染结果。
在编辑插件的预览窗口中显示目标模型的渲染结果。
响应针对渲染结果的保存操作,调用三维图形软件中的网格输出节点,以通过网格输出节点对渲染结果进行封装,得到目标模型的渲染文件。
响应针对渲染结果的保存操作,调用三维图形软件中的网格输出节点;通过网格输出节点对渲染结果组织成可扩展标记数据文件;其中,可扩展标记数据文件中包括渲染结果的数据项名称;数据项名称包括子网格数据项、材料数据项和几何体属性数据项中的一种或多种;通过指定编程语言的结构模块对渲染结果进行二进制处理,得到二进制数据文件;其中,二进制数据文件包括数据项名称对应的数据值;将可扩展标记数据文件和二进制数据文件保存为目标模型的渲染文件。
在编辑插件的参数窗口显示数字资产文件中的模型处理参数,以及模型处理参数的参数值调整控件;响应针对参数值条件控件的调整操作,获取模型处理参数的调整参数值。
响应针对数字资产文件的选中操作,通过编辑插件预设的封装函数读取数字资产文件中的模型处理参数;基于模型处理参数的参数类型,生成模型处理参数的参数值调整控件;在编辑插件的参数窗口显示模型处理参数和模型处理参数的参数值调整控件。
从游戏引擎的模型库中获取待处理的目标模型,将目标模型导入至编辑插件,在编辑插件的预览窗口显示目标模型。
上述三维模型的处理方法,获取待处理的目标模型和数字资产文件;其中,目标模型预先通过游戏引擎生成;数字资产文件预先通过三维图形软件生成;数字资产文件中包含模型处理参数;获取模型处理参数的调整参数值,基于调整参数值,对目标模型进行渲染处理,得到目标模型的渲染结果;响应针对渲染结果的保存操作,通过三维图形软件导出目标模型的渲染结果,得到目标模型的渲染文件;其中,渲染文件与游戏引擎相匹配。该方式中,通过编辑插件对三维图形软件生成的数字资产文件进行编辑并导出,从而实现通过数字资产文件在游戏引擎中自动化的编辑游戏场景,大幅降低了场景编辑人员的工作量,提高了游戏场景的制作效率。
本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述三维模型的处理方法。
上述机器可读存储介质存储中的机器可执行指令,通过执行该机器可执行指令,可以实现上述三维模型的处理方法中的下述操作:
获取待处理的目标模型和数字资产文件;其中,目标模型预先通过游戏引擎生成;数字资产文件预先通过三维图形软件生成;数字资产文件中包含模型处理参数;获取模型处理参数的调整参数值,基于调整参数值,对目标模型进行渲染处理,得到目标模型的渲染结果;响应针对渲染结果的保存操作,通过三维图形软件导出目标模型的渲染结果,得到目标模型的渲染文件;其中,渲染文件与游戏引擎相匹配。
通过预设的回调函数,从目标模型中获取几何拓扑数据和属性数据,将几何拓扑数据、属性数据和调整参数值转换成指定编程语言格式的格式数据;通过编辑插件中的渲染器对格式数据进行渲染,得到目标模型的渲染结果。
通过预设的回调函数,控制编辑插件预设的封装函数从目标模型中获取几何拓扑数据和属性数据;其中,封装函数中封装有三维图形软件对应的函数集合;预先通过目标模型对应的编程语言对函数集合进行封装,得到封装函数。
调用预设的渲染函数,将格式数据发送至渲染控件;其中,渲染控件包括表面渲染通道和框架渲染通道;表面渲染通道预设有第一着色器参数和第一网格参数;框架渲染通过预设有第二着色器参数和第二网格参数;调用渲染控件对格式数据进行渲染,得到目标模型的渲染结果。
在编辑插件的预览窗口中显示目标模型的渲染结果。
响应针对渲染结果的保存操作,调用三维图形软件中的网格输出节点,以通过网格输出节点对渲染结果进行封装,得到目标模型的渲染文件。
响应针对渲染结果的保存操作,调用三维图形软件中的网格输出节点;通过网格输出节点对渲染结果组织成可扩展标记数据文件;其中,可扩展标记数据文件中包括渲染结果的数据项名称;数据项名称包括子网格数据项、材料数据项和几何体属性数据项中的一种或多种;通过指定编程语言的结构模块对渲染结果进行二进制处理,得到二进制数据文件;其中,二进制数据文件包括数据项名称对应的数据值;将可扩展标记数据文件和二进制数据文件保存为目标模型的渲染文件。
在编辑插件的参数窗口显示数字资产文件中的模型处理参数,以及模型处理参数的参数值调整控件;响应针对参数值条件控件的调整操作,获取模型处理参数的调整参数值。
响应针对数字资产文件的选中操作,通过编辑插件预设的封装函数读取数字资产文件中的模型处理参数;基于模型处理参数的参数类型,生成模型处理参数的参数值调整控件;在编辑插件的参数窗口显示模型处理参数和模型处理参数的参数值调整控件。
从游戏引擎的模型库中获取待处理的目标模型,将目标模型导入至编辑插件,在编辑插件的预览窗口显示目标模型。
上述三维模型的处理方法,获取待处理的目标模型和数字资产文件;其中,目标模型预先通过游戏引擎生成;数字资产文件预先通过三维图形软件生成;数字资产文件中包含模型处理参数;获取模型处理参数的调整参数值,基于调整参数值,对目标模型进行渲染处理,得到目标模型的渲染结果;响应针对渲染结果的保存操作,通过三维图形软件导出目标模型的渲染结果,得到目标模型的渲染文件;其中,渲染文件与游戏引擎相匹配。该方式中,通过编辑插件对三维图形软件生成的数字资产文件进行编辑并导出,从而实现通过数字资产文件在游戏引擎中自动化的编辑游戏场景,大幅降低了场景编辑人员的工作量,提高了游戏场景的制作效率。
本发明实施例所提供的三维模型的处理方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种三维模型的处理方法,其特征在于,所述方法应用于目标电子设备;所述目标电子设备上运行有编辑插件;所述编辑插件安装在预设的游戏引擎中;所述编辑插件与三维图形软件通信连接;所述方法包括:
获取待处理的目标模型和数字资产文件;其中,所述目标模型预先通过所述游戏引擎生成;所述数字资产文件预先通过所述三维图形软件生成;所述数字资产文件中包含模型处理参数;
获取所述模型处理参数的调整参数值,基于所述调整参数值,对所述目标模型进行渲染处理,得到所述目标模型的渲染结果;
响应针对所述渲染结果的保存操作,通过所述三维图形软件导出所述目标模型的渲染结果,得到所述目标模型的渲染文件;其中,所述渲染文件与所述游戏引擎相匹配。
2.根据权利要求1所述的方法,其特征在于,基于所述调整参数值,对所述目标模型进行渲染处理,得到所述目标模型的渲染结果的步骤,包括:
通过预设的回调函数,从所述目标模型中获取几何拓扑数据和属性数据,将所述几何拓扑数据、所述属性数据和所述调整参数值转换成指定编程语言格式的格式数据;
通过所述编辑插件中的渲染器对所述格式数据进行渲染,得到所述目标模型的渲染结果。
3.根据权利要求2所述的方法,其特征在于,通过预设的回调函数,从所述目标模型中获取几何拓扑数据和属性数据的步骤,包括:
通过预设的回调函数,控制所述编辑插件预设的封装函数从所述目标模型中获取几何拓扑数据和属性数据;其中,所述封装函数中封装有所述三维图形软件对应的函数集合;预先通过所述目标模型对应的编程语言对所述函数集合进行封装,得到所述封装函数。
4.根据权利要求2所述的方法,其特征在于,通过所述编辑插件中的渲染器对所述格式数据进行渲染,得到所述目标模型的渲染结果的步骤,包括:
调用预设的渲染函数,将所述格式数据发送至渲染控件;其中,所述渲染控件包括表面渲染通道和框架渲染通道;所述表面渲染通道预设有第一着色器参数和第一网格参数;所述框架渲染通过预设有第二着色器参数和第二网格参数;
调用所述渲染控件对所述格式数据进行渲染,得到所述目标模型的渲染结果。
5.根据权利要求2所述的方法,其特征在于,通过所述编辑插件中的渲染器对所述格式数据进行渲染,得到所述目标模型的渲染结果的步骤之后,所述方法还包括:
在所述编辑插件的预览窗口中显示所述目标模型的渲染结果。
6.根据权利要求1所述的方法,其特征在于,响应针对所述渲染结果的保存操作,通过所述三维图形软件导出所述目标模型的渲染结果,得到所述目标模型的渲染文件的步骤,包括:
响应针对所述渲染结果的保存操作,调用所述三维图形软件中的网格输出节点,以通过所述网格输出节点对所述渲染结果进行封装,得到所述目标模型的渲染文件。
7.根据权利要求6所述的方法,其特征在于,响应针对所述渲染结果的保存操作,调用所述三维图形软件中的网格输出节点,以通过所述网格输出节点对所述渲染结果进行封装,得到所述目标模型的渲染文件的步骤,包括:
响应针对所述渲染结果的保存操作,调用所述三维图形软件中的网格输出节点;
通过所述网格输出节点对所述渲染结果组织成可扩展标记数据文件;其中,所述可扩展标记数据文件中包括所述渲染结果的数据项名称;所述数据项名称包括子网格数据项、材料数据项和几何体属性数据项中的一种或多种;
通过指定编程语言的结构模块对所述渲染结果进行二进制处理,得到二进制数据文件;其中,所述二进制数据文件包括所述数据项名称对应的数据值;
将所述可扩展标记数据文件和所述二进制数据文件保存为所述目标模型的渲染文件。
8.根据权利要求1所述的方法,其特征在于,获取所述模型处理参数的调整参数值的步骤,包括:
在所述编辑插件的参数窗口显示所述数字资产文件中的模型处理参数,以及所述模型处理参数的参数值调整控件;
响应针对所述参数值条件控件的调整操作,获取所述模型处理参数的调整参数值。
9.根据权利要求8所述的方法,其特征在于,在所述编辑插件的参数窗口显示所述数字资产文件中的模型处理参数,以及所述模型处理参数的参数值调整控件的步骤,包括:
响应针对所述数字资产文件的选中操作,通过所述编辑插件预设的封装函数读取所述数字资产文件中的模型处理参数;
基于所述模型处理参数的参数类型,生成所述模型处理参数的参数值调整控件;
在所述编辑插件的参数窗口显示所述模型处理参数和所述模型处理参数的参数值调整控件。
10.根据权利要求1所述的方法,其特征在于,获取待处理的目标模型的步骤,包括:
从所述游戏引擎的模型库中获取待处理的目标模型,将所述目标模型导入至所述编辑插件,在所述编辑插件的预览窗口显示所述目标模型。
11.一种三维模型的处理装置,其特征在于,所述装置应用于目标电子设备;所述目标电子设备上运行有编辑插件;所述编辑插件安装在预设的游戏引擎中;所述编辑插件与三维图形软件通信连接;所述装置包括:
文件获取模块,用于获取待处理的目标模型和数字资产文件;其中,所述目标模型预先通过所述游戏引擎生成;所述数字资产文件预先通过所述三维图形软件生成;所述数字资产文件中包含模型处理参数;
渲染模块,用于获取所述模型处理参数的调整参数值,基于所述调整参数值,对所述目标模型进行渲染处理,得到所述目标模型的渲染结果;
保存模块,用于响应针对所述渲染结果的保存操作,通过所述三维图形软件导出所述目标模型的渲染结果,得到所述目标模型的渲染文件;其中,所述渲染文件与所述游戏引擎相匹配。
12.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器执行所述机器可执行指令以实现权利要求1-10任一项所述的三维模型的处理方法。
13.一种机器可读存储介质,其特征在于,所述机器可读存储介质存储有机器可执行指令,所述机器可执行指令在被处理器调用和执行时,所述机器可执行指令促使所述处理器实现权利要求1-10任一项所述的三维模型的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211224397.3A CN115794063A (zh) | 2022-10-08 | 2022-10-08 | 三维模型的处理方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211224397.3A CN115794063A (zh) | 2022-10-08 | 2022-10-08 | 三维模型的处理方法、装置和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115794063A true CN115794063A (zh) | 2023-03-14 |
Family
ID=85432623
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211224397.3A Pending CN115794063A (zh) | 2022-10-08 | 2022-10-08 | 三维模型的处理方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115794063A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483783A (zh) * | 2023-04-21 | 2023-07-25 | 北京优酷科技有限公司 | 文件导出方法、装置及设备 |
CN118351274A (zh) * | 2024-04-29 | 2024-07-16 | 广州蓝昊广告有限公司 | 一种物体模型渲染方法、装置、设备及存储介质 |
-
2022
- 2022-10-08 CN CN202211224397.3A patent/CN115794063A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483783A (zh) * | 2023-04-21 | 2023-07-25 | 北京优酷科技有限公司 | 文件导出方法、装置及设备 |
CN116483783B (zh) * | 2023-04-21 | 2023-11-17 | 北京优酷科技有限公司 | 文件导出方法、装置及设备 |
CN118351274A (zh) * | 2024-04-29 | 2024-07-16 | 广州蓝昊广告有限公司 | 一种物体模型渲染方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108897567B (zh) | 基于Unity的软件加载文件的方法、装置、设备及存储介质 | |
CN112416339A (zh) | 页面开发方法、装置、计算机设备 | |
CN111552462B (zh) | 物联网设备的设备模型构建方法、装置及存储介质 | |
WO2020199423A1 (zh) | Yang模型配置界面的自动化构建方法及系统 | |
US11281742B2 (en) | Interactive and selective coloring of digital vector glyphs | |
CN109710357B (zh) | 一种基于Unity3D引擎实现服务器操作的方法及系统 | |
CN111984902A (zh) | 可视化页面配置方法、系统、计算机设备和存储介质 | |
CN109683858B (zh) | 数据处理方法及装置 | |
CN108287718A (zh) | 基于游戏引擎的特效编辑方法及装置 | |
CN115794063A (zh) | 三维模型的处理方法、装置和电子设备 | |
CN114741085A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111046472A (zh) | 模型构件信息的显示方法、装置、计算机设备和存储介质 | |
US11074740B2 (en) | Shader editing | |
CN115731373A (zh) | 模型处理方法、装置和电子设备 | |
CN112057868B (zh) | 游戏模型的合批处理方法、装置及电子设备 | |
CN113918194A (zh) | 一种页面组件的显示方法、装置、电子设备及存储介质 | |
CN112486378B (zh) | 图形生成方法、装置、终端及存储介质 | |
CN108509554B (zh) | 一种基于wpf技术和excel快速生成组织架构图的方法 | |
CN115495809B (zh) | 楼宇自控系统的3d模型生成方法、装置、设备和介质 | |
US11599338B2 (en) | Model loading method and apparatus for head-mounted display device, and head-mounted display device | |
US9570108B2 (en) | Mapping pixels to underlying assets in computer graphics | |
CN115779439A (zh) | 游戏配置文件的编辑方法、装置、终端设备及存储介质 | |
CN118194825B (zh) | 数据转换方法、装置、存储介质和计算机设备 | |
CN116228942B (zh) | 角色动作提取方法、设备和存储介质 | |
CN113744399B (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 |