场景物体处理方法、装置及电子设备与流程

文档序号:14358460阅读:238来源:国知局

本发明涉及游戏场景制作技术领域,具体而言,涉及一种场景物体处理方法、装置及电子设备。



背景技术:

在游戏编辑器中,三维点选是一个基本且十分重要的功能,编辑器中的大部分操作都需要基于点选进行,比如选中场景中的一个模型、角色等等。

现有技术一般通过在cpu端通过射线查询技术进行选中判断,通过这种方式需要对组成模型的每个面进行分析处理,判断是否与射线相交,以此来判断是否选中,这种方法需要在cpu端对组成模型的面进行频繁的求交运算,因而在场景对象比较复杂的情况下会占用较大的cpu资源。



技术实现要素:

有鉴于此,本发明实施例的目的在于提供一种场景物体处理方法、装置及电子设备,以减少因为拾取计算对cpu产生的压力。

本发明实施例提供了一种场景物体处理方法,所述场景物体处理方法包括:

将预先设置有索引值的待拾取对象信息渲染至包括多个像素信息的原始索引纹理,获得包括所述待拾取对象信息的目标索引纹理;

建立所述索引值与覆盖的至少一个像素信息的对应关系并存储。

可选地,将预先设置有索引值的待拾取对象信息渲染至包括多个像素信息的原始索引纹理,获得包括所述待拾取对象信息的目标索引纹理的步骤,包括:

将预先设置有索引值的待拾取对象信息覆盖至所述多个像素信息中的至少一个像素信息;

将包括了被所述待拾取对象信息覆盖的至少一个像素信息的原始索引纹理作为目标索引纹理,获得该目标索引纹理。

可选地,建立所述索引值与覆盖的至少一个像素信息的对应关系并存储的步骤,包括:

针对所述目标索引纹理,查找出所述待拾取对象信息覆盖的至少一个像素信息,将所述索引值加载至所述待拾取对象信息覆盖的至少一个像素信息,对加载了所述索引值的至少一个像素信息进行存储。

可选地,查找出所述待拾取对象信息覆盖的至少一个像素信息,将所述索引值加载至所述待拾取对象信息覆盖的至少一个像素信息的步骤包括:

采用片元着色器查找出所述待拾取对象信息覆盖的至少一个像素信息;

采用片元着色器将所述索引值加载至所述待拾取对象信息覆盖的至少一个像素信息。

可选地,所述方法还包括:

针对每个像素信息,若该像素信息被多个待拾取对象信息覆盖,采用深度测试计算法查找出与该像素信息距离最远的待拾取对象信息,将该待拾取对象信息判定为覆盖该像素信息。

本发明实施例还提供了一种场景物体处理方法,用于对上述待拾取对象信息进行读取,所述场景物体处理方法包括:

获取目标索引纹理;

获得光标在所述目标索引纹理中的位置信息,根据所述位置信息查找出光标选中的像素信息;

查找出与该像素信息对应的索引值,根据该索引值查找出与该索引值对应的待拾取对象信息,获得该待拾取对象信息。

本发明实施例还提供了一种场景物体处理装置,所述场景物体处理装置包括:

渲染模块,用于将预先设置有索引值的待拾取对象信息渲染至包括多个像素信息的原始索引纹理,获得包括所述待拾取对象信息的目标索引纹理;

存储模块,用于建立所述索引值与覆盖的至少一个像素信息的对应关系并存储。

本发明实施例还提供了一种场景物体处理装置,所述场景物体处理装置包括:

获取模块,用于获取目标索引纹理;

像素信息查找模块,用于获得光标在所述目标索引纹理中的位置信息,根据所述位置信息查找出光标选中的像素信息;

对象拾取模块,用于查找出与该像素信息对应的索引值,根据该索引值查找出与该索引值对应的待拾取对象信息,获得该待拾取对象信息。

本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述场景物体处理方法。

本发明实施例还提供了一种计算机可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时控制所述可读存储介质所在电子设备执行上述场景物体处理方法。

本发明实施例提供的场景物体处理方法、装置及电子设备,会基于gpu建立待拾取对象信息、索引值信息和像素信息之间的对应关系,并获得目标索引纹理,减少了在前期处理阶段对cpu产生的压力。

进一步地,本发明实施例提供的场景物体处理方法、装置及电子设备,通过光标的位置信息获得光标在目标索引纹理中的位置信息和像素信息,根据像素信息获得索引值信息,进一步获得待拾取对象信息,避免了在判断是否获取待拾取对象信息时进行的求交运算,在判断是否拾取成功的过程中减少了对cpu端的压力。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明实施例提供的一种电子设备10的方框示意图。

图2为本发明实施例提供的一种场景物体处理方法的流程图。

图3为一实施方式中图2所述步骤s22包括的另一子步骤的示意图。

图4为本发明实施例提供的一种场景物体处理装置20的模块框图。

图5为本发明实施例提供的一种场景物体处理方法的另一流程图。

图6为本发明实施例提供的一种场景物体处理装置40的模块框图。

图标:10-电子设备;11-存储器;12-处理器;13-网络模块;20-场景物体处理装置;21-渲染模块;22-存储模块;40-场景物体处理装置;41-获取模块;42-像素信息查找模块;43-对象拾取模块。

具体实施方式

在游戏编辑器中,三维点选是一个基本且十分重要的功能,编辑器中的大部分操作都需要基于点选进行,比如选中场景中的一个模型、角色等等。

经研究发现,现有技术一般通过在cpu端通过射线查询技术进行物体是否选中的判断,通过这种方式需要对组成模型的每个面进行分析处理,判断是否与射线相交,以此来判断是否选中,但由于在判断是否选中时,需要在cpu端对组成模型的面进行频繁的求交运算,在场景对象比较复杂的情况下回占用较大的cpu资源。

基于上述研究,本发明实施例提供了一种场景物理处理方法,能够在对物体的选中判断过程中减少cpu端的压力

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

如图1所示,是本发明实施例提供的电子设备10的方框示意图。本发明实施例中的电子设备10可以为具有数据存储、传输、处理功能的服务端。如图1所示,电子设备10包括:存储器11、处理器12、网络模块13、场景物体处理装置20和场景物体处理装置40。

所述存储器11、处理器12以及网络模块13相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器11中存储有场景物体处理装置20和场景物体处理装置40,所述场景物体处理装置20和所述场景物体处理装置40分别包括至少一个可以软件或固件(firmware)的形式存储于所述存储器11中的软件功能模块,所述处理器12通过运行存储在存储器11内的软件程序以及模块,如本发明实施例中的场景物体处理装置20和场景物体处理装置40,从而执行各种功能应用以及数据处理,即实现本发明实施例中的场景物体处理方法。

其中,所述存储器11可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器11用于存储程序,所述处理器12在接收到执行指令后,执行所述程序。

所述处理器12可能是一种集成电路芯片,具有数据的处理能力。上述的处理器12可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等。可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

网络模块13用于通过网络建立电子设备10与其他通信终端之间的通信连接,实现网络信号及数据的收发操作。上述网络信号可包括无线信号或者有线信号。

可以理解,图1所示的结构仅为示意,电子设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。

本发明实施例还提供一种计算机可读存储介质,所述可读存储介质包括计算机程序。所述计算机程序运行时控制所述可读存储介质所在电子设备10执行下面的场景物体处理方法。

请参阅图2,是本发明实施例提供的一种场景物体处理方法的流程图。所述方法有关的流程所定义的方法步骤应用于电子设备10,可以由所述处理器12实现。下面将对图2所示的具体流程进行详细阐述。

在本实施例中,场景物体处理方法包括场景物体存储方法和场景物体拾取方法。服务端首先建立待拾取对象信息和索引纹理的关系,然后根据光标判断待拾取对象是否被选中。应当理解,该场景物体处理方法既可以单独实现场景物体存储方法或场景物体拾取方法,也可以同时实现场景物体存储方法和场景物体拾取方法。

图2示出了本发明实施例所提供的一种场景处理方法的流程图,该流程图可以理解为场景物体存储方法的流程图,在服务端完成,可以理解为,第三方通过服务端实现场景物体存储方法。

步骤s21,创建原始索引纹理。

在本实施例中,第三方可以理解为游戏场景制作人员,游戏场景制作人员通过服务端创建原始索引纹理,该原始索引纹理包括多个像素信息。

例如,该原始纹理可以包括像素信息p1、p2、p3、p4和p5。

步骤s22,将预先设置有索引值的待拾取对象信息渲染至包括多个像素信息的原始索引纹理,获得包括所述待拾取对象信息的目标索引纹理。

在本实施例中,渲染可以理解为覆盖,即将预先设置有索引值的待拾取对象信息覆盖至包括多个像素信息的原始索引纹理。

请结合参阅图3,本实施例中通过步骤s221和步骤s222列举了步骤s22的其中一种实现方式。

步骤s221,将预先设置有索引值的待拾取对象信息覆盖至所述多个像素信息中的至少一个像素信息。

例如,待拾取对象信息可以为a。a的索引值可以为index-a。可以理解为,index-a与a建立有对应关系。

将a覆盖至原始索引纹理,a可以覆盖多个像素信息中的至少一个像素信息。又例如,针对像素信息p1、p2、p3、p4和p5,a覆盖了p1和p2。

步骤s222,将包括了被所述待拾取对象信息覆盖的至少一个像素信息的原始索引纹理作为目标索引纹理,获得该目标索引纹理。

例如,原始索引纹理里面的部分像素信息被a覆盖,则将原始索引纹理作为目标索引纹理,可以理解为,目标索引纹理为渲染之后的原始索引纹理。

通过步骤s22,获得了目标索引纹理,接下来对目标索引纹理里面的像素信息和待拾取对象建立对应关系,请参照步骤s23。

步骤s23,获得所述索引值与覆盖的至少一个像素信息的对应关系并存储。

例如,查找出被a覆盖的像素信息为p1和p2,将索引值index-a分别加载到p1和p2。

其中,可以采用片元着色器完成上述操作,例如,采用片元着色器查找出被a覆盖的像素信息为p1和p2,将index-a传入片元着色器,利用片元着色器将index-a加载到p1和p2。

可选地,若某一像素信息被多个待拾取对象信息覆盖,采用深度测试计算法查找出与该像素信息距离最远的待拾取对象信息,将该待拾取对象信息判定为覆盖该像素信息。

例如,若p1被待拾取对象a和待拾取对象b覆盖,采用深度测试法判断a和b之中距离p1最远的对象信息,若a距离p1最远,则将a判定为覆盖p1。采用该方法能保证覆盖到像素信息的都是距离屏幕或者镜头最近的待拾取对象。可以理解为,游戏场景中的距离关系如下:

像素信息-待拾取对象-屏幕

若待拾取对象距离像素信息最远,相应地,可以认为待拾取对象距离屏幕最近。

同理,对于b,继续查找b距离屏幕或者镜头最近的对应的像素信息,并作相应操作。如此设置,避免了前处理阶段的频繁求交计算和测试对cpu带来的压力。

在上述基础上,如图4所示,本发明实施例提供了一种场景物体处理装置20,所述场景物体处理装置20包括渲染模块21和存储模块22。

渲染模块21用于将预先设置有索引值的待拾取对象信息渲染至包括多个像素信息的原始索引纹理,获得包括所述待拾取对象信息的目标索引纹理。

由于渲染模块21和图2中步骤s21、步骤s22的实现原理类似,因此在此不作更多说明。

存储模块22用于建立所述索引值与覆盖的至少一个像素信息的对应关系并存储。

由于存储模块22和图2中步骤s23的实现原理类似,因此在此不作更多说明。

图5示出了本发明实施例所提供的一种场景处理方法的另一流程图,该流程图可以理解为场景物体拾取方法的流程图,在服务端完成,可以理解为,第三方通过服务端实现场景物体拾取方法。

步骤s41,获取目标索引纹理。

在本实施例中,第三方可以为游戏玩家。例如,游戏玩家在进行游戏时,服务端获得目标索引纹理,可理解为,该目标索引纹理为游戏场景w1,游戏玩家通过屏幕或者镜头看到了游戏场景w1中存在物体a。

步骤s42,获得光标在所述目标索引纹理中的位置信息,根据所述位置信息查找出光标选中的像素信息。

例如,游戏玩家通过光标对物体a进行选取,将光标移动至a的某个部位,服务端获得光标在游戏场景w1中的位置信息,在本实施例中,光标可以在p1所在的位置处,根据该位置信息查找出p1为光标选中的像素信息。

步骤s43,查找出与该像素信息对应的索引值,根据该索引值查找出与该索引值对应的待拾取对象信息,获得该待拾取对象信息。

例如,选中p1后,服务端查找出p1对应索引值index-a,根据index-a查找出待拾取对象a,可理解为,加载了索引值index-a的像素信息有p1和p2,选中p1和p2,获取对象a的信息。又例如,a可以为一件游戏装备,通过选中p1,进一步选中p1和p2,达到选中a的目的。采用该方法,避免了在判断拾取过程中进行的频繁求交运算,减少了cpu的压力。

在上述基础上,如图6所示,本发明实施例提供了一种场景物体处理装置40,所述场景物体处理装置40包括获取模块41、像素信息查找模块42和对象拾取模块43。

获取模块41,用于获取目标索引纹理。

由于获取模块41和图5中步骤s41的实现原理类似,因此在此不作更多说明。

像素信息查找模块42,用于获得光标在所述目标索引纹理中的位置信息,根据所述位置信息查找出光标选中的像素信息。

由于像素信息查找模块42和图5中步骤s42的实现原理类似,因此在此不作更多说明。

对象拾取模块43,用于查找出与该像素信息对应的索引值,根据该索引值查找出与该索引值对应的待拾取对象信息,获得该待拾取对象信息。

由于对象拾取模块43和图5中步骤s43的实现原理类似,因此在此不作更多说明。

本发明实施例中的场景物体处理方法,通过获取被待拾取对象覆盖的像素信息,进一步获取待拾取对象,避免了判断待拾取对象是否被选中的过程中产生的频繁求交运算,减少了cpu的压力。

进一步地,采用深度测试计算法可以对覆盖同一像素信息的多个待拾取对象进行判断,确定出覆盖同一像素信息的唯一对象,避免了在拾取判定过程中造成的混乱不清的情况。

在本发明实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置和方法实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,电子设备10,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上所述仅为本发明的可选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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