一种获取场景物件视觉参数的方法及系统与流程

文档序号:20485837发布日期:2020-04-21 21:40阅读:124来源:国知局
一种获取场景物件视觉参数的方法及系统与流程

本发明涉及计算机游戏技术领域,特别涉及一种获取场景物件视觉参数的方法及系统。



背景技术:

在游戏开发过程中,游戏场景内的物件可见性数据的设置在游戏画面表现力和游戏性有着无足轻重的地位,其在游戏各个方面都有很广泛的应用,如渲染效率优化,物件动态加载等。但是此数据的获取方法一直较为复杂,牵扯较多图形渲染相关知识,对于从业人员的专业素养要求较高,因此在整个行业中,游戏场景物件的可见性数据的获取一直是一个痛点和难点。



技术实现要素:

为至少解决现有技术中存在的技术问题之一,本发明的目的在于提供一种获取场景物件视觉参数的方法及系统,通过利用不同游戏客户端引擎都共有的相机和渲染功能,预先对场景物件进行染色,在实际游戏场景中通过相机抓取场景图像信息,根据各个场景的染色情况判断所述物件的可见性。

本发明解决其问题所采用的技术方案第一方面是:一种获取场景物件视觉参数的方法,其特征在于,包括以下步骤:物件染色步骤,遍历各个场景中的各个物件,设置各个物件对应的颜色参数;采样设置步骤,遍历各个场景并设置采样参数,其中采样参数包括采样点的数量、位置以及密度;图像抓取步骤,设置预设广角,对所述采样点的三维空间的全景图片进行采集,获取所述采样点对应的图像信息,其中图像信息包括各个物件对应的颜色参数;图像分析步骤,遍历所有采样点对应的图像信息,基于所述颜色参数,获取对应物件的视觉参数,其中视觉参数为可见性数据。

有益效果:对比于常规方案极大的简化了生成可见性数据的步骤,同时还降低了生成此数据的学习成本,极大的降低了此数据生产的人力和时间成本,通过控制采样点密度能够实现满足局部区域数据高精度的同时降低总体数据体积的目的。

根据本发明第一方面所述的,物件染色步骤包括:调用着色器并设置颜色参数,基于所述颜色参数对各个所述物件进行染色,其中各个所述颜色参数唯一且与所述物件一一对应。

根据本发明第一方面所述的,采样设置步骤还包括:在所述场景中的不可活动区域中不进行采样参数的设置;在所述场景中的可活动区域中设置采样参数,并根据各个所述物件的访问频率设置对应的采样密度。

根据本发明第一方面所述的,图像抓取步骤还包括:调用游戏引擎内置的相机,并设置广角参数;遍历各个所述采样点,对调用所述相机对所述采样点的三维空间的全景图片进行采集,得到对应的图像信息。

根据本发明第一方面所述的,广角参数为120。

根据本发明第一方面所述的,图像分析步骤还包括:基于各个所述采样点对应的图像信息,逐一分析各个所述图像信息中的颜色参数;通过物件染色步骤中对各个所述物件设置的颜色参数与所述图像信息中的颜色参数对比,基于所述颜色参数得到对应的所述物件,获取各个所述物件在对应场景中的可见性数据,即所述物件是否可见。

根据本发明第一方面所述的,颜色参数中的颜色透明度为0。

本发明解决其问题所采用的技术方案第二方面是:一种获取场景物件视觉参数的系统,其特征在于,包括:物件染色模块,用于遍历各个场景中的各个物件,设置各个物件对应的颜色参数;采样设置模块,用于遍历各个场景并设置采样参数,其中采样参数包括采样点的数量、位置以及密度;图像抓取模块,用于设置预设广角,对所述采样点的三维空间的全景图片进行采集,获取所述采样点对应的图像信息,其中图像信息包括各个物件对应的颜色参数;图像分析模块,用于遍历所有采样点对应的图像信息,基于所述颜色参数,获取对应物件的视觉参数,其中视觉参数为可见性数据。

有益效果:对比于常规方案极大的简化了生成可见性数据的步骤,同时还降低了生成此数据的学习成本,极大的降低了此数据生产的人力和时间成本,通过控制采样点密度能够实现满足局部区域数据高精度的同时降低总体数据体积的目的。

根据本发明第二方面所述的,物件染色模块还包括:设置单元,用于对各个所述物件分别进行颜色参数的设置;记录单元,用于记录各个所述物件的颜色参数设置。

根据本发明第二方面所述的,图像抓取模块还包括:相机调用单元,用于调用游戏引擎内置的相机;参数设置单元,用于设置所述相机的广角参数;控制单元,用于控制所述相机对所述采样点的三维空间的全景图片进行采集。

附图说明

图1是根据本发明优选实施例的方法流程示意图;

图2是根据本发明优选实施例的系统结构示意图。

具体实施方式

以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。

参照图1,是根据本发明优选实施例的方法流程示意图:

本方案由物件染色,采样点选取,相机拍照和结果图像分析四个过程组成。

1.物件染色,此过程中将不同的物件染色成不同的颜色,此步骤中要保证选取的颜色的透明度都是完全不透明的,每个物件要有唯一的一种颜色和其唯一对应。对应关系一旦生成后不允许中途改变,并且一直保存直至图像分析步骤中使用。

2.根据场景特点和需求,选取合适的采样点。根据不同的场景和需求,采样点也会有稍微的不同,比如一些玩家不可能达到的场景区域就不需要可见性数据,因此也不需要设置采样点。同样的,如果在一些精度要求较高的地方,也可以适当的增加采样点的密度。

3.相机拍照,选取采样点后,就可以分别在不同的采样点上通过相机进行拍照,这个拍照的过程也就是我们说的数据采样的过程。整个采样过程在不同的引擎之间均可以通过引擎自带的相机功能来完成,效果不会有差异。我们可以此时将相机广角设为120,只需要相机在欧拉旋转角度(0,0,0),(0,120,0),(0,240,0),(90,240,0),(270,240,0)此五个方向成五个图片即可完成此采样点的数据采样。广角参数和朝向可以根据不同的引擎做一些微调,只需要保证不同方向的照片合起来后对各个方向均没有遗漏即可。此时得到的多张图像数据,就是已经包含了此采样点上各个物件的可见性信息的采样数据了。

4.图像分析,就是通过分析图像上的颜色信息,拿到物件可见性数据的过程。此时我们通过统计采样点数据上所有出现过的颜色种类,然后根据步骤1中生成的物件与颜色的对应关系即可得到此采样点上能看到的所有物体。

5.最后,循环对整个场景内所有采样点进行拍照和图像分析过程,即可得到场景内所有采样点上所有物件的可见性数据。

物件染色是用于在结果图像中可以根据图像中包含的颜色来判定目标颜色对应的物件是否可见。因此选取的所有颜色的透明度必须完全不透明,同时不同的颜色之间的区分度要根据后期图像分析的可支持精度来决定。

物件染色是用于在结果图像中可以根据图像中包含的颜色来判定目标颜色对应的物件是否可见。因此每个物件都必须与唯一的一种颜色进行对应,同时此种颜色也必须唯一对应此物件。

物件染色是用于在结果图像中可以根据图像中包含的颜色来判定目标颜色对应的物件是否可见。因此物件与具体颜色的对应关系在生成后就不允许改动,并且此对应关系数据应该一直保存,最终提供给最终的图像分析使用。

采样点是根据场景特点来选取的一系列坐标点。每个采样点的可见性数据代表了此采样点与周围其它采样点之间的其它点的可见性数据。因此采样点的密度决定了可见性数据的精度。同时采样点的数量也决定了采样次数,因此也决定了此方案的生成速度。

相机拍照是用于对指定点的可见性数据进行采样,生成与此采样点相对应的图像数据。因此每个采样点需要多张图像才能完整反映此采样点各个方向的物件可见性,因此需要多个相机或者一个相机在多个方向生成多张图像。

相机拍照是用于对指定点的可见性数据进行采样,生成与此采样点相对应的图像数据。由于最终图像数据的多少决定着整体可见性数据生成的速度,所以可以通过增大相机广角的方式来使得一个采样点可见性数据用更少的图像来表达。随着广角的增大,同一张图片内可表达的可见性数据区域也会增加。因此需要生成的图片数量也会随之降低,提高生成速度。但是由于广角畸变的存在,所以具体广角的数值可以根据不同项目,不同引擎进行微调。

针对结果图像的分析即可得到对应点的物件可见性数据。分别将每个采样点生成的图像数据进行分析,获取到图像数据内包含的所有颜色,然后通过物件染色过程中生成的颜色与物件的对应数据,从而得到次采样点上可以见到的物件。

参照图2,是根据本发明优选实施例的系统结构示意图,包括:

物件染色模块,用于遍历各个场景中的各个物件,设置各个物件对应的颜色参数;

采样设置模块,用于遍历各个场景并设置采样参数,其中采样参数包括采样点的数量、位置以及密度;

图像抓取模块,用于设置预设广角,对采样点的三维空间的全景图片进行采集,获取采样点对应的图像信息,其中图像信息包括各个物件对应的颜色参数;

图像分析模块,用于遍历所有采样点对应的图像信息,基于颜色参数,获取对应物件的视觉参数,其中视觉参数为可见性数据。

物件染色模块还包括:

设置单元,用于对各个物件分别进行颜色参数的设置;

记录单元,用于记录各个物件的颜色参数设置。

图像抓取模块还包括:

相机调用单元,用于调用游戏引擎内置的相机;

参数设置单元,用于设置相机的广角参数;

控制单元,用于控制相机对采样点的三维空间的全景图片进行采集。

应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术-包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作——根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。

此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。

进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。

计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如显示器。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括显示器上产生的物理和有形对象的特定视觉描绘。

以上所述,只是本发明的较佳实施例而已,本发明并不局限于上述实施方式,只要其以相同的手段达到本发明的技术效果,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。在本发明的保护范围内其技术方案和/或实施方式可以有各种不同的修改和变化。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1