System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机图像处理和游戏开发技术,具体而言,本公开涉及一种引擎材质重建和渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
技术介绍
1、在使用引擎进行游戏开发或者虚拟现实场景搭建、工业渲染等工作的过程中,可能会涉及到使用其它数字内容生成(digital content creation,dcc)软件生成的模型或单独的材质,各种模型中材质的格式各异,单独的材质也可有多种格式,且模型和材质可能根据多种不同光照模型生成。
2、常用的dcc包括houdini,maya,max,cinema4d和blender等三维软件。也存在一些进行dcc文件格式转换的软件,例如autodesk公司出品的一款用于跨平台的免费三维创作与交换格式的软件fbx,可以用在诸如在max、maya等软件间进行模型、材质、动作和摄影机信息的互导,通过fbx用户能访问大多数三维供应商的dcc工具。引擎可以调用fbx格式的材质模型。但是由于dcc工具的种类很多,在fbx使用中,只有maya和max导出的fbx文件可以完整导出引擎中使用的pbr材质信息。对于其它的dcc软件(比如cinema4d和blender等)则不是都能很好的支持pbr材质信息的导出。
3、此外,对于引擎行业,为了获得接近真实世界的渲染效果,目前业内主流的技术为根据metallic-roughness工作流的pbr(基于物理的渲染)材质和光照模型进行渲染,特别是对于游戏引擎行业,业内主流的几大游戏引擎均只支持根据metallic-roughness工作流的p
4、目前相关技术中,为了在引擎中兼容各种dcc产出的模型和材质进行pbr渲染,需要针对每一款dcc分别通过不同的对应插件进行材质的转换,开发者每引入一种新的类型dcc生成的材质就要安装一种插件,有些类型的dcc生成的文件甚至没有相应的插件可用,给使用引擎进行软件开发带来了极大不便。
技术实现思路
1、本公开实施例旨在一定程度上解决上述问题的至少一个方面。为此,本公开实施例提供了引擎的材质重建系列的技术方案和引擎的渲染系列技术方案,通过在引擎中将不同类型的材质重建为符合pbr光照模型使得引擎能够支持更多种类的材质输入。
2、根据本公开实施例的第一方面,提供了一种引擎的材质重建方法,引擎的材质重建方法包括:
3、根据原始材质文件获取原始材质对应的光照类型;
4、根据原始材质的光照类型和引擎支持的目标材质的光照类型确定需要转换的材质参数,需要转换的材质参数包括原始材质的材质参数和目标材质的材质参数;
5、根据原始材质的材质参数值获取目标材质的材质参数值;以及
6、根据目标材质的材质参数值重建目标材质。
7、根据本公开实施例的第二方面,提供了一种引擎的渲染方法,引擎的渲染方法包括:
8、采用本公开第一方面的引擎的材质重建方法根据原始材质文件重建引擎支持的目标材质;
9、根据目标材质进行图像渲染。
10、根据本公开实施例的第三个方面,提供了一种引擎的材质重建装置,该装置包括:
11、光照类型识别模块,用于根据原始材质文件获取原始材质对应的光照类型;
12、材质参数确定模块,用于根据原始材质的光照类型和引擎支持的目标材质的光照类型确定需要转换的材质参数,需要转换的材质参数包括原始材质的材质参数和目标材质的材质参数;
13、参数转换模块,用于根据原始材质的材质参数值获取目标材质的材质参数值;以及
14、材质重建模块,用于根据目标材质的材质参数值重建目标材质。
15、根据本公开实施例的第四个方面,提供了一种引擎的渲染装置,该装置包括:
16、材质导入模块,用于根据原始材质文件获取原始材质对应的光照类型,并根据原始材质的光照类型和引擎支持的目标材质的光照类型确定需要转换的材质参数,其中需要转换的材质参数包括原始材质的材质参数和目标材质的材质参数;
17、材质参数转换模块,用于根据原始材质的材质参数值计算目标材质的材质参数值;
18、图像渲染模块,用于根据目标材质的材质参数进行光照计算和图像渲染。
19、根据本公开实施例的第五方面,提供了一种电子设备,该电子设备包括:
20、存储器;
21、处理器,处理器包括中央处理器cpu和/或图形处理器gpu;以及
22、存储在存储器上的计算机程序,其中
23、计算机程序被处理器执行时实现根据本公开第一方面的引擎的材质重建方法的步骤或版本公开第二方面的引擎的渲染方法的步骤。
24、根据本公开实施例的第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现根据本公开第一方面的引擎的材质重建方法的步骤或版本公开第二方面的引擎的渲染方法的步骤。
25、本公开实施例提供的技术方案带来的有益效果是:
26、引擎在获取到不同类型的原始材质时,可以通过对材质类型的自动识别和材质参数的转换计算,将原始材质重建为引擎能支持的目标材质,从而既能保证资源和渲染效果与dcc端一致,又能使光照模型与引擎一致。且材质重建过程无需使用第三方插件,扩展了可用材质的选择范围,方便用户进行开发。
27、引擎的渲染可以实现对不同种类的原始材质的兼容,在效果展现上能维持资源和渲染效果都与dcc端一致,而光照模型又能和引擎一致。并且对开发者而言不同类型的材质使用过程,无需额外的操作,简化了操作过程。
本文档来自技高网...【技术保护点】
1.一种引擎的材质重建方法,其特征在于,包括:
2.根据权利要求1所述的引擎的材质重建方法,其特征在于,所述根据原始材质文件获取原始材质对应的光照类型包括:
3.根据权利要求1所述的引擎的材质重建方法,其特征在于,根据所述原始材质的光照类型和引擎支持的目标材质的光照类型确定需要转换的材质参数包括:
4.根据权利要求1所述的引擎的材质重建方法,其特征在于,所述根据所述原始材质的材质参数值获取目标材质的材质参数值,包括:
5.根据权利要求4所述的引擎的材质重建方法,其特征在于,所述根据所述原始材质的材质参数值获取目标材质的材质参数值,还包括:
6.一种引擎的渲染方法,其特征在于,包括:
7.根据权利要求6所述的引擎的渲染方法,其特征在于,其中:
8.根据权利要求7所述的引擎的渲染方法,其特征在于:所述材质导入器将所述原始材质的材质参数值传递到对应的渲染控制类的实例Effect,包括:
9.根据权利要求7所述的引擎的渲染方法,其特征在于:所述材质导入器将所述原始材质的材质参数值传递到对应的渲
10.一种引擎的材质重建装置,其特征在于,包括:
11.一种引擎的渲染装置,其特征在于,包括:
12.一种电子设备(计算机装置/设备/系统),包括:
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5中任一项所述的引擎的材质重建方法的步骤或权利要求6-9中任一项所述的引擎的渲染方法的步骤。
...【技术特征摘要】
1.一种引擎的材质重建方法,其特征在于,包括:
2.根据权利要求1所述的引擎的材质重建方法,其特征在于,所述根据原始材质文件获取原始材质对应的光照类型包括:
3.根据权利要求1所述的引擎的材质重建方法,其特征在于,根据所述原始材质的光照类型和引擎支持的目标材质的光照类型确定需要转换的材质参数包括:
4.根据权利要求1所述的引擎的材质重建方法,其特征在于,所述根据所述原始材质的材质参数值获取目标材质的材质参数值,包括:
5.根据权利要求4所述的引擎的材质重建方法,其特征在于,所述根据所述原始材质的材质参数值获取目标材质的材质参数值,还包括:
6.一种引擎的渲染方法,其特征在于,包括:
7.根据权利要求6所述的引擎的渲染方法,其特征在于,...
【专利技术属性】
技术研发人员:金堃,周鑫,林顺,
申请(专利权)人:厦门雅基软件有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。