一种游戏场景像素消隐的系统和方法
【技术领域】
[0001]本发明涉及一种游戏场景像素消隐的系统和方法,属于计算机游戏领域。
【背景技术】
[0002]RGB是一种颜色标准。
[0003]随着游戏技术的进步,游戏场景的制作规模越来越大,物件也越来越多。但在游戏视角范围有限的情况下,其实有部分物件是完全被其他物件遮挡住的,我们并不能在游戏视角里看到他们。
[0004]在不采用任何技术的前提下,这部分不可见的物件会增加游戏内存的消耗,同时也会增加渲染绘制的次数,造成无谓的性能开销。
[0005]为了优化这种性能损耗,有一种叫“遮挡剔除”的优化方案。它的原理是基于射线的碰撞检测。但这种方案的计算量比较大,而且是在运行时启用,对游戏本身的性能有较大的冲击,而且这种方案的最终表现效果很依赖与算法的精确程度,稍有不对就会出现消隐不正确的情况出现。
【发明内容】
[0006]针对现有的技术缺陷,本发明技术方案提出了一种游戏场景像素消隐的系统和方法,用于物件经过图形运行库绘制后,在屏幕上检测所占像素的个数的值,这个值可以真实的反映物件在当前场景是否可见,从而确定是否需要把这个物件消隐掉。
[0007]本发明的技术方案包括一种游戏场景像素消隐的系统,其特征在于,该系统包括:摄像机模块,用于将游戏内玩家视角配置为主摄像机,并建立一个与主摄像机参数一致的跟随摄像机,跟随摄像机用于将主摄像机视野内游戏物件像素信息进行识别并加入渲染列表;渲染模块,根据渲染列表创建一一对应的纯色图,并还用于将渲染列表下符合渲染特征的游戏物件使用渲染器进行渲染至指定的纹理贴图,并将所述纹理贴图和对应纯色图存储至颜色缓冲区域;分析模块,对所述颜色缓冲区域下的纹理贴图进行依次读取,获取纹理贴图的RGB值与对应纯色图的相同的像素个数,根据相同像素数量对游戏物件进行分类;消隐模块,根据所述分析模块对符合消隐条件的游戏物件进行消隐,同时在消隐时对主摄像机视野进行模糊处理。
[0008]根据所述的游戏场景像素消隐的系统,所述摄像机模块包括:跟随相机模块,用于将玩家视角配置为主摄像机,调取主摄像机参数创建一个跟随摄像机,其中跟随摄像机还设置有游戏物件的消隐指令参数和渲染指令参数;物件采集模块,使用所述跟随摄像机获取主摄像机视野内所有可见游戏场景具有网格渲染的游戏物件像素信息,并创建渲染列表将像素信息进行加入。
[0009]根据所述的游戏场景像素消隐的系统,所述的渲染模块包括:纯色模块,用于调取所述摄像机模块创建的渲染列表,对渲染列表下的游戏物件像素信息一一对应创建随机纯色物件;纹理渲染模块,用于对所述摄像机模块创建的渲染列表下物件像素信息渲染到指定纹理,形成对应的纹理贴图,并将所述纯色物件与纹理贴图存储至颜色缓冲区域。雾效模块,用于在所述渲染模块进行渲染时,对主摄像机视野内游戏物件取消雾效处理,进而进行纹理渲染,当纹理渲染完成时,还原游戏物件。
[0010]根据所述的游戏场景像素消隐的系统,所述的分析模块包括:对比分析模块,用于调取所述颜色缓冲区域中纹理贴图与对应纯色物件数据信息,分析纹理贴图RGB值并与纯色物件进行像素对比,得到相同像素数量,并将对比结果发送;对比判断模块,用于接收所述对比分析模块发送的对比结果,对超过设定阈值的相同像素数量的对应游戏像素进行进行修改,包括对消隐指令参数的修改。
[0011]根据所述的游戏场景像素消隐的系统,所述的消隐模块包括:用于查询所述对比判断模块超过设定相同像素阈值的游戏像素的消隐指令参数,根据消隐指令参数计算对应游戏物件的像素贡献率,根据像素贡献率对游戏物件进行对应的消隐。
[0012]本发明的技术方案还一种游戏场景像素消隐的方法,其特征在于,该方法包括:将游戏内玩家视角配置为主摄像机,并建立一个与主摄像机参数一致的跟随摄像机,跟随摄像机用于将主摄像机视野内游戏物件像素信息进行识别并加入渲染列表;根据渲染列表创建一一对应的纯色图,并还用于将渲染列表下符合渲染特征的游戏物件使用渲染器进行渲染至指定的纹理贴图,并将所述纹理贴图和对应纯色图存储至颜色缓冲区域;对所述颜色缓冲区域下的纹理贴图进行依次读取,获取纹理贴图的RGB值与对应纯色图的相同的像素个数,根据相同像素数量对游戏物件进行分类;根据所述分析模块对符合消隐条件的游戏物件进行消隐,同时在消隐时对主摄像机视野进行模糊处理。
[0013]进一步,该方法还包括:将玩家视角配置为主摄像机,调取主摄像机参数创建一个跟随摄像机,其中跟随摄像机还设置有游戏物件的消隐指令参数和渲染指令参数;使用所述跟随摄像机获取主摄像机视野内所有可见游戏场景具有网格渲染的游戏物件像素信息,并创建渲染列表将像素信息进行加入。
[0014]进一步,该方法还包括:调取所述摄像机模块创建的渲染列表,对渲染列表下的游戏物件像素信息一一对应创建随机纯色物件;对所述摄像机模块创建的渲染列表下物件像素信息渲染到指定纹理,形成对应的纹理贴图,并将所述纯色物件与纹理贴图存储至颜色缓冲区域。在所述渲染模块进行渲染时,对主摄像机视野内游戏物件取消雾效处理,进而进行纹理渲染,当纹理渲染完成时,还原游戏物件。
[0015]进一步,该方法还包括:调取所述颜色缓冲区域中纹理贴图与对应纯色物件数据信息,分析纹理贴图RGB值并与纯色物件进行像素对比,得到相同像素数量,并将对比结果发送;接收所述对比分析模块发送的对比结果,对超过设定阈值的相同像素数量的对应游戏像素进行进行修改,包括对消隐指令参数的修改。
[0016]进一步,该方法还包括:查询所述对比判断模块超过设定相同像素阈值的游戏像素的消隐指令参数,根据消隐指令参数计算对应游戏物件的像素贡献率,根据像素贡献率对游戏物件进行对应的消隐。
[0017]本发明的有益效果为:预处理场景的遮挡关系。能在不牺牲表现效果的情况下,以最简洁的方式运行场景。消隐掉的场景物件后,能有效降低游戏运行时的内存使用。能有效的降低渲染次数,提升游戏画面的流畅度。
【附图说明】
[0018]图1所示为根据本发明实施方式的系统总体结构图;
图2所示为根据本发明实施方式的跟随摄像机准备流程图;
图3所示为根据本发明实施方式的像素分析流程图。
【具体实施方式】
[0019]为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。本发明的一种游戏场景像素消隐的系统和方法适用于游戏的开发,尤其适用于在控制角色扮演类游戏中实现的游戏像素的处理。
[0020]图1所示为根据本发明实施方式的系统总体结构图;摄像机模块,用于将游戏内玩家视角配置为主摄像机,并建立一个与主摄像机参数一致的跟随摄像机,跟随摄像机用于将主摄像机视野内游戏物件像素信息进行识别并加入渲染列表;渲染模块,根据渲染列表创建一一对应的纯色图,并还用于将渲染列表下符合渲染特征的游戏物件使用渲染器进行渲染至指定的纹理贴图,并将所述纹理贴图和对应纯色图存储至颜色缓冲区域;分析模块,对所述颜色缓冲区域下的纹理贴图进行依次读取,获取纹理贴图的RGB值与对应纯色图的相同的