[发明专利]一种利用Unity3d批量渲染景物的方法、系统及计算机存储介质在审
申请号: | 202110566444.1 | 申请日: | 2021-05-24 |
公开(公告)号: | CN115471594A | 公开(公告)日: | 2022-12-13 |
发明(设计)人: | 吴逸秋;周碧雯;谈欣诚 | 申请(专利权)人: | 盛绩信息技术(上海)有限公司 |
主分类号: | G06T15/00 | 分类号: | G06T15/00;G06T15/04;G06T15/50;A63F13/50;A63F13/63 |
代理公司: | 上海金盛协力知识产权代理有限公司 31242 | 代理人: | 严帅 |
地址: | 201210 上海市*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 利用 unity3d 批量 渲染 景物 方法 系统 计算机 存储 介质 | ||
本发明提供一种利用Unity3d批量渲染景物的方法、装置及计算机存储介质。所述方法包括:采用Unity3d中的烘焙函数烘焙并保存需要在同一场景中绘制的各景物的光照贴图,并保存所述光照贴图在所述场景中的位置和缩放数据;将所述各光照贴图以及其对应的位置和缩放数据传入着色器shader中进行采样计算实现以GPU Instancing方式在同一场景中进行批量景物的渲染。通过本发明提供的方案解决无法以Unity3d GPU Instancing的渲染方式使用Lightmap的技术问题,实现在使GPU Instancing方式渲染出大量景物的同时获得较好的渲染效果。
技术领域
本发明涉及烘焙贴图技术领域,尤其涉及一种在Unity3d进行大量景物的渲染方法。通过该方法实现以GPU Instancing方式使用Lightmap方式渲染大量景物渲染。
背景技术
在游戏开发引擎Unity3d中,对于草、树木等这种对于这种需要大规模渲染但是种类有限的对象通常采用GPU Instancing的方式进行绘制。采用这种方式可以提高的渲染性能,同时结合传统的合批处理方式可以节省一定的内存。采用GPU Instancing直接进行景物渲染时,渲染出的景物效果(尤其是景物的光影边缘清晰度)往往不够好。为了获得更好的景物渲染效果,在Unity3d中通常采用Lightmap方式进行景物渲染,但是Lightmap方式对于批量景物的渲染无能为力。而在Unity3d若使用GPU Instancing的方式进行批量景物渲染时,并没有提供支持/结合使用Lightmap进行批量景物渲染的方法。这就会导致使用GPUInstancing方式渲染的景物,不能渲染出更好得效果。
发明内容
本发明所要解决的技术问题在于,提供一种利用Unity3d批量景物渲染的方法、系统及计算机存储介质。通过本发明提供的方法以实现Unity3d GPU Instancing的渲染方式使用Lightmap,实现使用GPU Instancing方式渲染出大量景物的同时获得良好的渲染效果。
本发明第一方面提供一种利用Unity3d批量渲染景物的方法,该方法包括:烘焙并保存需要在同一场景中绘制的各景物的光照贴图到一个texture2darray对象中,并将各所述光照贴图在所述场景中的位置和缩放数据分别保存到相应的LightmapScaleOffset对象中;将所述各光照贴图以及其对应的位置和缩放数据传入着色器shader中进行采样计算实现以GPU Instancing方式在同一场景中批量绘制景物。将所述各光照贴图的lightmapScaleOffset对象与对应的索引index关联存储在一个序列化文件中;所述索引index用于指示具体的lightmapScaleOffset对应的光照贴图(lightmap)。
进一步地,所述烘焙并保存需要在同一场景中绘制的各景物的光照贴图,包括:使用unity3d中的Graphics.DrawMeshInstanced函数将所述需要绘制的各景物分别实例化,并设置所述各景物对应的LightMapParameters属性;基于所述实例化的各景物以及对应的LightMapParameters属性,调用Unity3d的提供的烘焙函数烘焙出所述各景物的光照贴图。
与上述方法相对应,本发明第二方面提供一种利用Unity3d批量渲染景物的系统,该系统包括:局部景物烘焙模块以及整体景物渲染模块;
其中、所述局部景物烘焙模块,用于烘焙并保存需要在同一场景中绘制的各景物的光照贴图到一个texture2darray对象中,并将各所述光照贴图在所述场景中的位置和缩放数据分别保存到相应的LightmapScaleOffset对象中;所述整体景物渲染模块,将所述各光照贴图以及其对应的位置和缩放数据传入着色器shader中进行采样计算实现以GPUInstancing方式在同一场景中批量绘制景物。
相应地,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有程序代码,所述程序代码被处理器执行时实现所述上述Unity3d批量渲染景物的方法。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于盛绩信息技术(上海)有限公司,未经盛绩信息技术(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110566444.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种衣物处理设备
- 下一篇:数据采集方法及数字孪生网络