动态生成游戏角色视野的方法和装置

文档序号:1063462 发布日期:2020-10-16 浏览:15次 >En<

阅读说明:本技术 动态生成游戏角色视野的方法和装置 (Method and device for dynamically generating game role visual field ) 是由 李艳春 于 2020-06-16 设计创作,主要内容包括:一种动态生成游戏角色视野的方法和装置,该方法包括如下步骤:将为游戏角色预定义的视野形状分成多个子块,以使每个子块被独立地实时渲染;在实时渲染每个子块时,探测在每个子块的待渲染范围内是否存在预定义为阻挡视野的障碍物,当在至少一个子块的待渲染范围内探测到所述障碍物时,将所述至少一个子块的实时渲染范围限制于所述障碍物朝向所述游戏角色的一侧的区域。本发明节省了视野图片的美术制作时间和成本,提高了游戏制作效率,也减少了对游戏资源的占用。而且,本发明能够根据实际游戏场景的情况灵活地动态调整视野形状的实时渲染范围,更加逼真地反映现实世界中人物视野受到阻碍时的变化,从而显著地提升了玩家的游戏体验。(A method and apparatus for dynamically generating a view of a game character, the method comprising the steps of: dividing a field of view shape predefined for a game character into a plurality of sub-blocks such that each sub-block is independently rendered in real-time; detecting whether an obstacle predefined as a view-blocking obstacle exists within a to-be-rendered range of each sub-block when each sub-block is rendered in real time, and limiting the real-time rendering range of at least one sub-block to an area of a side of the obstacle facing the game character when the obstacle is detected within the to-be-rendered range of the at least one sub-block. The invention saves the art making time and cost of the visual field picture, improves the game making efficiency and reduces the occupation of game resources. Moreover, the method can flexibly and dynamically adjust the real-time rendering range of the visual field shape according to the condition of the actual game scene, and more vividly reflect the change when the visual field of the human in the real world is blocked, thereby obviously improving the game experience of the player.)

动态生成游戏角色视野的方法和装置

技术领域

本发明涉及游戏画面处理领域,尤其涉及一种动态生成游戏角色视野的方法和装置。

背景技术

对于某些类型的游戏,游戏内的角色(例如人物或怪物)一般存在一个设定好的视野,且该视野需要向玩家显示,这可以通过在游戏角色脚下显示一个从游戏角色的观察方向向前延伸一定范围的形状,来标识游戏角色当前可以看到的区域。当游戏角色关注的事物进入这个区域时,即表示游戏角色能够看到事物,根据游戏程序的设定,游戏角色可以自主地或由玩家控制以对该事物作出相应的反应。在实际的游戏场景中,场景环境可能会比较复杂,例如,可能出现墙、柱子、大木箱等各种障碍物阻挡或部分阻挡了游戏角色的视野,这时候游戏角色是不应该看到障碍物后面的事物的,因此游戏角色的视野也不能以穿过阻碍物的方式显示给玩家。

目前,显示游戏角色视野的一般实现方式是让美术人员事先绘制固定大小和形状(例如扇形)的图片,然后在游戏运行过程中简单地将该图片调用显示于游戏角色的脚下,来显示游戏角色的观察视野。

以扇形视野为例,通过美术制作生成游戏角色视野的具体过程如下:游戏策划人员先根据需求确定扇形视野的角度大小有几种,比如视野较小的角度为30度,视野较大的角度为60度,更大的角度为90度。然后由美术人员制作出30度,60度,90度等不同的扇形图。游戏过程中,由游戏程序根据不同的游戏角色所设定的视野范围,将对应于不同角色的扇形图放在对应的游戏角色脚下进行显示。此外,可以根据需求,对图形进行缩放来改变视野扇形的实际半径。

传统的生成游戏角色视野的方式存在以下缺点:

首先,这种方式只能使用预先制作好的图片,按照前面的例子,游戏中只能使用美术人员预先制作的30度、60度、90度的视野图片,因此游戏角色只能产生30度、60度、90度的扇形视野,如果想产生一个45度的扇形视野,就需要美术人员重新进行制作,故需要花费更多的美术时间,并且效率较低。同时,为了能够在游戏中使用这些图片,还需要将预先制作好的图片以游戏资源的方式进行资源文件的保存,占用了游戏资源。

如前所述,由于在游戏过程中游戏角色视野只能从美术人员预先制作好的视野图片中选择来生成,因此,在面对实际的复杂游戏场景时,游戏角色视野的调整与变化方式不够灵活。而且,即使能够通过预先制作更多张不同的视野图片,通过从更多的图片中选择来调整游戏角色当前视野的角度大小,但这种方式一方面会占用更多的游戏资源,另一方面也无法逼真地反映出在现实世界中人物视野受到障碍物阻挡时所产生的视野范围的动态变化情况。例如,游戏角色原本是60度的扇形视野,当扇形视野内碰到有障碍物阻挡了一部分视野角度时,如果保持60度的扇形视野图片不变,则扇形的一部分会直接穿过障碍物显示到障碍物的后方,导致与现实中视野部分受阻时的情况不符。此外,当有障碍物阻挡了一部分视野角度时,即使将60度的扇形视野图片换成更小角度如30度的扇形视野图片,或者将60度的扇形视野图片的半径缩小,也仍不能恰当地反映出现实世界的情况。因为虽然障碍物阻挡了一部分视野角度,但游戏角色无法看到的只是障碍物后方的事物,而在被阻挡了的那一部分视野角度内,游戏角色仍然应当能够看到障碍物前方的事物,直接将大角度的视野图片换成小角度的视野图片或半径缩小的视野图片,与现实中视野部分受阻时的情况均不相符。因此,这种依赖于预先制作的图形的视野显示方式影响玩家的游戏体验。

发明内容

本发明的主要目的在于提供一种动态生成游戏角色视野的方法和装置,以使游戏角色视野的显示方式更加灵活且更贴近真实情况,改善玩家体验。

本发明的第一方面提供一种动态生成游戏角色视野的方法,包括如下步骤:

将为游戏角色预定义的视野形状分成多个子块,以使每个子块被独立地实时渲染;

在实时渲染每个子块时,探测在每个子块的待渲染范围内是否存在预定义为阻挡视野的障碍物,当在至少一个子块的待渲染范围内探测到所述障碍物时,将所述至少一个子块的实时渲染范围限制于所述障碍物朝向所述游戏角色的一侧的区域。

进一步地,在实时渲染每个子块时,计算从所述视野形状的原点向每个子块的待渲染范围内发射的虚拟场景射线的发射轨迹,并检测所述虚拟场景射线的发射轨迹是否与预定义为阻挡视野的障碍物发生碰撞,当检测到所述发射轨迹与所述障碍物发生碰撞时,确定发生碰撞的位置,并以不超出所述发生碰撞的位置的渲染范围实时渲染所述子块。

进一步地,所述视野形状为扇形,所述多个子块为所述扇形划分出来的多个子扇形。

进一步地,所述多个子扇形为所述扇形按弧度等分的子扇形。

进一步地,从待渲染的所述子扇形对应于所述原点的顶点向所述子扇形内发射所述虚拟场景射线,当检测到所述虚拟场景射线的发射轨迹与所述障碍物发生碰撞时,确定发生碰撞的位置,并根据发生碰撞的位置确定新的子扇形的半径,在待渲染的所述子扇形的角度范围内渲染所述新的子扇形。

进一步地,所述视野形状为由多个三角形组成的近似扇形,所述多个子块为近似扇形划分出来的多个小三角形。

进一步地,所述多个小三角形为所述近似扇形按角度等分的小三角形。

进一步地,从待渲染的所述小三角形对应于所述原点的第一顶点向所述小三角形内发射所述虚拟场景射线,当检测到所述虚拟场景射线的发射轨迹与所述障碍物发生碰撞时,确定发生碰撞的位置,并根据发生碰撞的位置确定新的小三角形与所述顶点相对的对边,在待渲染的所述小三角形的角度范围内渲染所述新的小三角形。

进一步地,所述虚拟场景射线为待渲染的所述小三角形的顶角上的中线或角平分线,根据所述中线或角平分线的发射轨迹与所述障碍物发生碰撞的位置确定所述中线或角平分线的长度,并根据所述中线或角平分线的长度确定所述新的小三角形的另外两个顶点的位置,由所述另外两个顶点的位置确定新的小三角形与所述第一顶点相对的所述对边。

本发明的第二方面提供一种动态生成游戏角色视野的装置,包括:

视野分块模块,用于将为游戏角色预定义的视野形状分成多个子块,以使每个子块被独立地实时渲染;

探测与渲染模块,用于在实时渲染每个子块时,探测在每个子块的待渲染范围内是否存在预定义为阻挡视野的障碍物,当在至少一个子块的待渲染范围内探测到所述障碍物时,将所述至少一个子块的实时渲染范围限制于所述障碍物朝向所述游戏角色的一侧的区域。

本发明的第三方面提供一种电子设备,包括计算机可读存储介质和处理器,所述计算机可读存储介质存储有可执行程序,所述可执行程序由所述处理器执行时,实现所述的方法。

本发明的第四方面一种计算机可读存储介质,所述计算机可读存储介质存储有可执行程序,所述可执行程序由处理器执行时,实现所述的方法。

本发明具有如下有益效果:

本发明提供了一种动态生成游戏角色视野的方法和装置,其中将游戏角色的视野形状分成待独立地实时渲染的多个子块,在实时渲染每个子块时,探测在每个子块的待渲染范围内是否存在阻挡视野的障碍物,当探测到某个子块的待渲染范围内有阻挡视野的障碍物时,将对应子块的实时渲染范围限制于所述障碍物朝向所述游戏角色的一侧的区域,仅在限制的范围内进行对应的子块渲染。由此,与传统的游戏角色视野生成方式相比,首先,本发明不再需要美术人员预先制作视野形状图片,不仅节省了美术制作的时间和人员成本,提高了游戏制作效率,而且也不再需要在游戏运行时将视野形状图片以资源文件保存以供使用,降低了对游戏资源的占用与消耗。进一步地,本发明能够根据实际游戏场景的情况,在游戏角色视野受到障碍物阻挡时灵活地动态调整视野形状的各个子块的实时渲染范围,从而逼真地反映出在现实世界中人物视野遇到障碍物阻挡时所发生的视野范围变化。例如,当探测到视野形状内出现障碍物,障碍物进入到某个或某些子块的视野范围时,本发明仅实时渲染受影响的子块位于障碍物的前方的部分,而受影响子块位于障碍物内部及障碍物后方的部分则不予以渲染,其既避免了视野形状穿过障碍物显示,又不影响视野形状在障碍物在前方的显示,由此,这种游戏角色视野的动态生成方式与现实中人物视野受阻时的情况相一致,使生成的游戏角色视野更加逼真地反映现实世界中人物视野受阻时的复杂变化情况,从而显著地提升了玩家的游戏体验。

附图说明

图1为本发明第一实施例的动态生成游戏角色视野的方法流程图。

图2为本发明一种优选实施例的动态生成游戏角色视野的方法流程图。

图3为60°的扇形视野的示意图。

图4为由多个三角形组成的近似圆形视野的示意图。

图5为本发明一个具体实施例中近似扇形视野划分出多个小三角形子块的示意图。

图6为本发明一个具体实施例中多个小三角形子块在渲染过程中通过中线或角平分线进行障碍物探测以确定渲染范围的示意图。

图7为本发明一个具体实施例的渲染效果图。

图8为本发明第二实施例的动态生成游戏角色视野的装置结构框图。

具体实施方式

以下对本发明的实施方式做详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。

参阅图1,本发明的第一实施例提供了一种动态生成游戏角色视野的方法,包括如下步骤:

步骤S1、将为游戏角色预定义的视野形状分成多个子块,以使每个子块被独立地实时渲染;

步骤S2、在实时渲染每个子块时,探测在每个子块的待渲染范围内是否存在预定义为阻挡视野的障碍物,当在至少一个子块的待渲染范围内探测到所述障碍物时,将所述至少一个子块的实时渲染范围限制于所述障碍物朝向所述游戏角色的一侧的区域。

所述的游戏可以是智能手机、平板电脑、计算机、电视机等任何电子设备上运行的游戏,凡是需要生成并显示游戏角色视野的,本发明的上述动态生成游戏角色视野的方法均可以适用。

所述的视野形状既可以是各种规则的形状,例如扇形或近似扇形的多边形,也可以是不规则形状,本发明的上述动态生成游戏角色视野的方法均可以适用。

参阅图2,在优选的实施例中,步骤S2中,在实时渲染每个子块时,计算从所述视野形状的原点(即游戏角色的视角出发点,通常可以是游戏角色当前的脚底位置)向每个子块的待渲染范围内发射的虚拟场景射线的发射轨迹,并检测所述虚拟场景射线的发射轨迹是否与预定义为阻挡视野的障碍物发生碰撞,当检测到所述发射轨迹与所述障碍物发生碰撞时,确定发生碰撞的位置,并以不超出所述发生碰撞的位置的渲染范围实时渲染所述子块。

应理解,本发明中,探测在每个子块的待渲染范围内是否存在障碍物的方式不限于上述实施例的发射虚拟场景射线来进行物体检测的方式,也可以是其他任何在游戏场景中的预定区域内检测是否有预定义物体进入的方式。

在一些优选的实施例中,游戏角色的视野形状为扇形(应理解,本文中所称的扇形也包括圆形),所述多个子块为在扇形视野形状内划分出来的多个子扇形。通常,这些子块为具有同一扇形顶点且按照角度衔接关系依次分布的多个子扇形。更优选地,所述多个子扇形为所述扇形按弧度等分的子扇形。例如,如图3所示,一个游戏角色的视野形状为60°的扇形,所述多个子块可以为多个顶角为10°的子扇形。每个子扇形对应于视野形状的一个步长,步长越多,视野形状的动态变化将能实现越为精细的控制。当然,每个子扇形的弧度并不需要是相等的。

根据优选的实施例,步骤S2中,从待渲染的所述子扇形对应于所述原点的顶点向所述子扇形内发射所述虚拟场景射线,当检测到所述虚拟场景射线的发射轨迹与所述障碍物发生碰撞时,确定发生碰撞的位置,并根据发生碰撞的位置确定新的子扇形的半径,再根据该半径,在待渲染的所述子扇形的角度范围内渲染所述新的子扇形。所渲染的子扇形位于障碍物与游戏角色之间,渲染的部分不会进入到阻挡视野的障碍物内部,更不会穿过障碍物并延伸到其后方。

在另一些优选的实施例中,游戏角色的视野形状可以是由多个三角形组成的近似扇形(应理解,本文中所称的近似扇形也包括近似圆形),所述多个子块为在近似扇形内划分出来的多个小三角形。如图4所示为多个三角形组成的近似圆形。通常,所述多个子块为具有同一顶点且按照角度衔接关系依次分布的多个小三角形。更优选地,所述多个小三角形为所述近似扇形按角度等分的小三角形。例如,参阅图5,游戏角色的视野形状为120°的近似扇形,所述多个子块为多个顶角为30°的小三角形。每个小三角形对应于视野形状的一个步长,步长越多,所述近似扇形越接近扇形,而且视野形状的动态变化将能实现越为精细的控制。当然,每个小三角形的顶角角度并不需要是相等的。

参阅图6,根据优选的实施例,步骤S2中,从待渲染的所述小三角形对应于所述原点的第一顶点向所述小三角形内发射所述虚拟场景射线,当检测到所述虚拟场景射线的发射轨迹与所述障碍物发生碰撞时,确定发生碰撞的位置,并根据发生碰撞的位置确定新的小三角形与所述顶点相对的对边,根据该对边和待渲染的所述小三角形与顶角相连的两条边,在待渲染的所述小三角形的角度范围内渲染所述新的小三角形。所渲染的小三角形位于障碍物与游戏角色之间,渲染的部分不会进入到阻挡视野的障碍物内部,更不会穿过障碍物并延伸到其后方。

进一步如图6所示,在较佳的实施例中,步骤S2中,以待渲染的所述小三角形的顶角上的中线或角平分线作为所述虚拟场景射线,根据所述中线或角平分线的发射轨迹与所述障碍物发生碰撞的位置确定所述中线或角平分线的长度,并根据所述中线或角平分线的长度确定所述新的小三角形的另外两个顶点的位置,由所述另外两个顶点的位置确定新的小三角形与所述第一顶点相对的所述对边,渲染所述新的小三角形。

与传统的游戏角色视野生成方式相比,本发明实施例不再需要美术人员预先制作视野形状图片,不仅节省了美术制作的时间和人员成本,提高了游戏制作效率,而且也不再需要在游戏运行时将视野形状图片以资源文件保存以供使用,降低了对游戏资源的占用与消耗。进一步地,本发明实施例能够根据实际游戏场景的情况,在游戏角色视野受到障碍物阻挡时灵活地动态调整视野形状的各个子块的实时渲染范围,从而逼真地反映出在现实世界中人物视野遇到障碍物阻挡时所发生的视野范围变化。例如,当探测到视野形状内出现障碍物,障碍物进入到某个或某些子块的视野范围时,本发明实施例仅实时渲染受影响的子块位于障碍物的前方的部分,而受影响子块位于障碍物内部及障碍物后方的部分则不予以渲染,其既避免了视野形状穿过障碍物显示,又不影响视野形状在障碍物在前方的显示,由此,这种游戏角色视野的动态生成方式与现实中人物视野受阻时的情况相一致,使生成的游戏角色视野更加逼真地反映现实世界中人物视野受阻时的复杂变化情况,从而显著地提升了玩家的游戏体验。

参阅图8,本发明的第二实施例提供了一种动态生成游戏角色视野的装置,包括:

视野分块模块,用于将为游戏角色预定义的视野形状分成多个子块,以使每个子块被独立地实时渲染;

探测与渲染模块,用于在实时渲染每个子块时,探测在每个子块的待渲染范围内是否存在预定义为阻挡视野的障碍物,当在至少一个子块的待渲染范围内探测到所述障碍物时,将所述至少一个子块的实时渲染范围限制于所述障碍物朝向所述游戏角色的一侧的区域。

所述游戏可以是智能手机、平板电脑、计算机、电视机等任何电子设备上运行的游戏,凡是需要生成并显示游戏角色视野的,本发明的上述动态生成游戏角色视野的装置均可以适用。

在优选的实施例中,所述探测与渲染模块在实时渲染每个子块时,计算从所述视野形状的原点(即游戏角色的视角出发点,通常是游戏角色当前站立的地面位置)向每个子块的待渲染范围内发射的虚拟场景射线的发射轨迹,并检测所述虚拟场景射线的发射轨迹是否与预定义为阻挡视野的障碍物发生碰撞,当检测到所述发射轨迹与所述障碍物发生碰撞时,确定发生碰撞的位置,并以不超出所述发生碰撞的位置的渲染范围实时渲染所述子块。

应理解,本发明中,探测在每个子块的待渲染范围内是否存在障碍物的方式不限于上述实施例的发射虚拟场景射线来进行物体检测的方式,也可以是其他任何在游戏场景中的预定区域内检测是否有预定义物体进入的方式。

在一些优选的实施例中,游戏角色的视野形状为扇形(应理解,本文中所称的扇形也包括圆形),所述多个子块为在扇形视野形状内划分出来的多个子扇形。通常,这些子块为具有同一扇形顶点且按照角度衔接关系依次分布的多个子扇形。更优选地,所述多个子扇形为所述扇形按弧度等分的子扇形。例如,如图3所示,一个游戏角色的视野形状为60°的扇形,所述多个子块可以为多个顶角为10°的子扇形。每个子扇形对应于视野形状的一个步长,步长越多,视野形状的动态变化将能实现越为精细的控制。当然,每个子扇形的弧度并不需要是相等的。

根据优选的实施例,所述探测与渲染模块从待渲染的所述子扇形对应于所述原点的顶点向所述子扇形内发射所述虚拟场景射线,当检测到所述虚拟场景射线的发射轨迹与所述障碍物发生碰撞时,确定发生碰撞的位置,并根据发生碰撞的位置确定新的子扇形的半径,再根据该半径,在待渲染的所述子扇形的角度范围内渲染所述新的子扇形。所渲染的子扇形位于障碍物与游戏角色之间,渲染的部分不会进入到阻挡视野的障碍物内部,更不会穿过障碍物并延伸到其后方。

在另一些优选的实施例中,游戏角色的视野形状可以是由多个三角形组成的近似扇形(应理解,本文中所称的近似扇形也包括近似圆形),所述多个子块为在近似扇形内划分出来的多个小三角形。如图4所示为多个三角形组成的近似圆形。通常,所述多个子块为具有同一顶点且按照角度衔接关系依次分布的多个小三角形。更优选地,所述多个小三角形为所述近似扇形按角度等分的小三角形。例如,参阅图5,游戏角色的视野形状为120°的近似扇形,所述多个子块为多个顶角为30°的小三角形。每个小三角形对应于视野形状的一个步长,步长越多,所述近似扇形越接近扇形,而且视野形状的动态变化将能实现越为精细的控制。当然,每个小三角形的顶角角度并不需要是相等的。

参阅图6,根据优选的实施例,所述探测与渲染模块从待渲染的所述小三角形对应于所述原点的第一顶点向所述小三角形内发射所述虚拟场景射线,当检测到所述虚拟场景射线的发射轨迹与所述障碍物发生碰撞时,确定发生碰撞的位置,并根据发生碰撞的位置确定新的小三角形与所述顶点相对的对边,根据该对边和待渲染的所述小三角形与顶角相连的两条边,在待渲染的所述小三角形的角度范围内渲染所述新的小三角形。所渲染的小三角形位于障碍物与游戏角色之间,渲染的部分不会进入到阻挡视野的障碍物内部,更不会穿过障碍物并延伸到其后方。

进一步如图6所示,在较佳的实施例中,所述探测与渲染模块以待渲染的所述小三角形的顶角上的中线或角平分线作为所述虚拟场景射线,根据所述中线或角平分线的发射轨迹与所述障碍物发生碰撞的位置确定所述中线或角平分线的长度,并根据所述中线或角平分线的长度确定所述新的小三角形的另外两个顶点的位置,由所述另外两个顶点的位置确定新的小三角形与所述第一顶点相对的所述对边,渲染所述新的小三角形。

与传统的游戏角色视野生成方式相比,本发明实施例不再需要美术人员预先制作视野形状图片,不仅节省了美术制作的时间和人员成本,提高了游戏制作效率,而且也不再需要在游戏运行时将视野形状图片以资源文件保存以供使用,降低了对游戏资源的占用与消耗。进一步地,本发明实施例能够根据实际游戏场景的情况,在游戏角色视野受到障碍物阻挡时灵活地动态调整视野形状的各个子块的实时渲染范围,从而逼真地反映出在现实世界中人物视野遇到障碍物阻挡时所发生的视野范围变化。例如,当探测到视野形状内出现障碍物,障碍物进入到某个或某些子块的视野范围时,本发明实施例仅实时渲染受影响的子块位于障碍物的前方的部分,而受影响子块位于障碍物内部及障碍物后方的部分则不予以渲染,其既避免了视野形状穿过障碍物显示,又不影响视野形状在障碍物在前方的显示,由此,这种游戏角色视野的动态生成方式与现实中人物视野受阻时的情况相一致,使生成的游戏角色视野更加逼真地反映现实世界中人物视野受阻时的复杂变化情况,从而显著地提升了玩家的游戏体验。

以下结合附图进一步描述典型实例的具体处理过程。

参阅图5和图6,将近似扇形视野按照一定的步长拆分成n个独立的小三角形,在游戏过程中根据障碍物所在的位置,独立计算每个小三角形的渲染范围。用小三角形的中线长度来确定每个小三角形对应的近似扇形块的半径。例如,可以按照每5度的弧度生成一个小三角形,由6个这样的小三角形来拼成一个30度的近似扇形。当然,还可以使用更小的步长使近似扇形更圆滑。可以通过小三角形的个数增减,以及改变小三角形的大小,来动态改变扇形弧度和大小。

为了在游戏场景里探测障碍物,以近似扇形的原点即视野计算出发点为起点,以各个小三角形的顶角中线为方向,发射射线,计算射线的轨迹,进行射线与视野障碍物是否碰撞的检测,来确定每个小三角形的顶角中线长度,该顶角中线长度也即在这个小三角形上的近似扇形半径。如果射线与视野障碍物发生碰撞,由顶点到碰撞点的长度即该顶角中线长度,由该顶角中线长度和小三角形与顶点相连的两条边确定应渲染小三角形的范围,在这个范围内进行小三角形渲染。以此方式,独立地实时渲染各个小三角形,这样渲染出来的近似扇形就能够自适应场景里的障碍物,让该近似扇形的视野以不穿过障碍物但又在受阻位置能够达到障碍物的方式显示给玩家。

具体以图5和图6所示的实施例为例,假设近似扇形的中心点位置为P0,第n个三角形的中线方向是Dn,可以以P0为起点以Dn为方向,以R为近似扇形的最大半径,在游戏场景里使用物理模块(如Physix)发射一条场景射线,该场景射线是3D世界中从原点向一个方向发射的一条无终点的线,当在发射轨迹中与物体发生碰撞时,它将停止延伸。如果射线在R距离内与障碍有碰撞,则把碰撞点与中心点P0之间的距离作为三角形的中线长度rayLength。然后以这个长度计算出三角形与扇形中心不重合的两个点的位置Pn和Pn+1。图5和图6中,标号为1的顶点为P1,标号为2的顶点为P2,依次类推。假设P0到P1的单位向量为D1,P0到P2的单位向量为D2,近似扇形划分的步长为θ角,则这两个点位置的计算公式如下:

P1=D1*rayLength/cos(θ/2)+P0

P2=D2*rayLength/cos(θ/2)+P0

然后,将计算出的两个点和扇形顶点组成一个三角形进行渲染。

按照上述步骤依次计算出所有三角形并完成视野形状的渲染。

图7为本发明一个具体实施例的渲染效果图。游戏人物视野形状的中间部分的多个子块受到障碍物柱体阻挡影响,这些子块渲染的范围被限制于障碍物柱体的前方,而未受到障碍物柱体阻挡影响的两侧子块渲染的范围则延伸到障碍物柱体的后侧,从而动态和逼真地反映出现实中的情况。

本发明的第三实施例提供一种电子设备,包括计算机可读存储介质和处理器,所述计算机可读存储介质存储有可执行程序,所述可执行程序由所述处理器执行时,实现所述的动态生成游戏角色视野的方法。

本发明的第四实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有可执行程序,所述可执行程序由处理器执行时,实现所述动态生成游戏角色视野的方法。

所述处理器执行所述可执行程序时实现上述各个动态生成游戏角色视野的方法实施例中的步骤。或者,所述处理器执行所述可执行程序时实现上述装置实施例中各装置/模块的功能。

示例性的,所述计算机程序可以被分割成一个或多个装置/模块,所述一个或者多个装置/模块被存储在所述存储器中,并由所述处理器执行,以完成本发明。所述一个或多个装置/模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述动态生成游戏角色视野的装置中的执行过程。

所述电子设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述电子设备可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备、总线等。

所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是控制中心,利用各种接口和线路连接整个所述装置的各个部分。

所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

其中,所述动态生成游戏角色视野的装置集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。

需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

本发明的背景部分可以包含关于本发明的问题或环境的背景信息,而不一定是描述现有技术。因此,在背景技术部分中包含的内容并不是申请人对现有技术的承认。

15页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:动画的生成方法和装置、存储介质、电子装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类