System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及3d场景渲染,特别涉及一种实时渲染3d资产文件编解码方法及装置。
技术介绍
1、目前的3d资产文件以fbx,gl b等为主,设计理念比较老旧,虽然随着3d资产产业的发展,长久以来不断兼容新的元素和格式,使得其适用范围比较广泛,但是事情总有两面性,其复杂度变得愈来愈高,也由于滥用,导致单个文件元素存放过多,导致文件过大,总体而言,现有3d资产文件格式存在使用复杂度高,管理困难,存储和带宽浪费等问题。目前流行的新一代的3d资产格式为usd,实现了文件解耦,但存在一个问题,所有资产只能本地加载,即一个渲染场景包含所有资产元素,需要打包在一起,没办法实现资产文件的真正解耦。
技术实现思路
1、本专利技术提供了一种实时渲染3d资产文件编解码方法及装置,其目的是为了降低存储空间的消耗,提高渲染灵活性,降低用户的生产成本。
2、为了达到上述目的,本专利技术提供了一种实时渲染3d资产文件编解码方法,基于usd格式文件,应用于网络传输场景下,包括:
3、步骤1,获取3d资产文件,并将所述3d资产文件按照设计需求摆放在3d场景中,形成复合场景;
4、步骤2,使用usd编码器对所述3d资产文件进行编码,生成json文件,并存储为本地文件;
5、步骤3,将所述3d资产文件存储在文件存储服务器中,并更新所述json文件,将json文件中的3d资产文件地址修改为网络地址;
6、步骤4,根据json文件和约定的渲染需求,将关联的3d资产文
7、其中,所述步骤1具体包括:
8、使用dcc制作3d资产的网格、材质、贴图、动画,形成单个3d资产文件;
9、将制作完成的单个3d资产文件按设计需求摆放在3d场景中,形成一个复合场景,用于最终渲染出图。
10、其中,所述步骤2具体包括:
11、使用usd编码器对所述复合场景进行编码,此编码过程不影响所述复合场景的具体3d资产文件。
12、其中,所述步骤2具体包括:
13、制作所述3d场景中的3d资产文件的层级结构和关联关系,并将层级结构以有向图的数据结构,存储为json文件。
14、其中,所述步骤3具体包括:
15、根据存储分发要求,将所述json文件中的3d资产文件地址修改为网络地址,使所述3d场景中的不同3d资产文件存储在不同的文件服务器中;
16、充分解耦3d资产文件,使不同的3d场景引用同一个3d资产文件,使资源利用最大化。
17、其中,所述步骤4具体包括:
18、所述渲染器渲染3d场景时,不需要等待所有3d模型全部下载完毕,可以根据3d模型的下载情况,根据层级结构信息进行实时渲染。
19、其中,所述使用usd编码器对所述3d资产文件进行编码的步骤具体包括:
20、读取usd格式的3d场景文件,获取3d场景中每个3d资产文件的层级结构、关联关系和场景中特殊设定的参数,根据读取到的3d场景文件,以有向图的数据结构来描述3d资产文件的层级结构和关联关系,并保存相关参数,存储于一个json文件。
21、本专利技术还提供了一种实时渲染3d资产文件编解码装置,基于usd格式文件,应用于网络传输场景下,包括:
22、获取模块,用于获取3d资产文件,并将所述3d资产文件按照设计需求摆放在3d场景中,形成复合场景;
23、编码模块,用于使用usd编码器对所述3d资产文件进行编码,生成json文件,并存储为本地文件;
24、更新模块,用于将所述3d资产文件存储在文件存储服务器中,并更新所述json文件,将json文件中的3d资产文件地址修改为网络地址;
25、渲染模块,用于根据json文件和约定的渲染需求,将关联的3d资产文件从文件存储服务器下载到本地,并对所述3d资产文件进行实时渲染。
26、本专利技术还提供了一种实时渲染3d资产文件编解码设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现实时渲染3d资产文件编解码方法的步骤。
27、本专利技术还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现实时渲染3d资产文件编解码方法的步骤。
28、本专利技术的上述方案有如下的有益效果:
29、本专利技术的实时渲染3d资产文件编解码方法及装置,基于usd格式文件,应用于网络传输场景下,将现有3d资产,包括网格、材质、贴图、音视频等,按需求拆分出来,以独立文件的形式存在,通过自定义的媒体资源文件,以有向图的形式,存放3d资产文件地址、文件间的层级关系,解码器通过解析媒体资源文件,获取3d资产文件地址以及文件层级关系,来构建在渲染端的3d场景,实现3d资产文件解耦和流式加载的技术;在3d资产内容上针对编码做了相关优化,通过资产文件拆分文件,相比传统的fbx等文件格式,将贴图,材质等打包在一个文件,使得不同场景可以使用引用的方式关联资产,减少了同一资产被重复打包到不同文件的情况,降低了存储空间的消耗,并提高渲染灵活性,极大降低了用户的生产成本。
30、本专利技术的其它有益效果将在随后的具体实施方式部分予以详细说明。
本文档来自技高网...【技术保护点】
1.一种实时渲染3D资产文件编解码方法,基于USD格式文件,应用于网络传输场景下,其特征在于,包括:
2.根据权利要求1所述的实时渲染3D资产文件编解码方法,其特征在于,所述步骤1具体包括:
3.根据权利要求2所述的实时渲染3D资产文件编解码方法,其特征在于,所述步骤2具体包括:
4.根据权利要求3所述的实时渲染3D资产文件编解码方法,其特征在于,所述步骤2具体包括:
5.根据权利要求4所述的实时渲染3D资产文件编解码方法,其特征在于,所述步骤3具体包括:
6.根据权利要求5所述的实时渲染3D资产文件编解码方法,其特征在于,所述步骤4具体包括:
7.根据权利要求4所述的实时渲染3D资产文件编解码方法,其特征在于,所述使用USD编码器对所述3D资产文件进行编码的步骤具体包括:
8.一种实时渲染3D资产文件编解码装置,基于USD格式文件,应用于网络传输场景下,其特征在于,包括:
9.一种实时渲染3D资产文件编解码设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的实时渲染3D资产文件编解码方法的步骤。
...【技术特征摘要】
1.一种实时渲染3d资产文件编解码方法,基于usd格式文件,应用于网络传输场景下,其特征在于,包括:
2.根据权利要求1所述的实时渲染3d资产文件编解码方法,其特征在于,所述步骤1具体包括:
3.根据权利要求2所述的实时渲染3d资产文件编解码方法,其特征在于,所述步骤2具体包括:
4.根据权利要求3所述的实时渲染3d资产文件编解码方法,其特征在于,所述步骤2具体包括:
5.根据权利要求4所述的实时渲染3d资产文件编解码方法,其特征在于,所述步骤3具体包括:
6.根据权利要求5所述的实时渲染3d资产文件编解码方法,其特征在于,所述步骤4具体包括:
7.根据权利要求4所述的实时...
【专利技术属性】
技术研发人员:欧翔,吴红,
申请(专利权)人:湖南芒果融创科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。