CN111494943B - 一种图像显示方法、装置、电子设备及可读存储介质 - Google Patents

一种图像显示方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN111494943B
CN111494943B CN202010319313.9A CN202010319313A CN111494943B CN 111494943 B CN111494943 B CN 111494943B CN 202010319313 A CN202010319313 A CN 202010319313A CN 111494943 B CN111494943 B CN 111494943B
Authority
CN
China
Prior art keywords
pixel point
ground pixel
character model
target ground
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010319313.9A
Other languages
English (en)
Other versions
CN111494943A (zh
Inventor
吴友友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202010319313.9A priority Critical patent/CN111494943B/zh
Publication of CN111494943A publication Critical patent/CN111494943A/zh
Application granted granted Critical
Publication of CN111494943B publication Critical patent/CN111494943B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6661Methods for processing data by generating or executing the game program for rendering three dimensional images for changing the position of the virtual camera

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请提供了一种图像显示方法、装置、电子设备及可读存储介质,其中,该方法包括:根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于虚拟角色模型运动所导致的每个目标地面像素点的深度变化值;针对每个目标地面像素点,根据该目标地面像素点的第一坐标值和深度变化值,计算该目标地面像素点的第二坐标值;根据该目标地面像素点周围的其他地面像素点的第二坐标值,确定该目标地面像素点在虚拟空间中的法线方向;根据每个目标地面像素点在虚拟空间中的法线方向,显示虚拟空间所对应的动画图像。本申请根据确定的每个目标地面像素点的深度变化值,确定目标地面像素点在虚拟空间中的法线方向,减少了对资源的消耗。

Description

一种图像显示方法、装置、电子设备及可读存储介质
技术领域
本申请涉及图像处理技术领域,尤其是涉及一种图像显示方法、装置、电子设备及可读存储介质。
背景技术
在绘制游戏图像时,为了增加画面的真实感,除了要展现地面效果,通常还需要展现出角色模型与地面的交互效果,例如,角色模型在雪地中进行翻滚,摔跤等动作后,在雪地中形成的凹痕。
现有技术在绘制游戏图像时,通常是首先确定出角色模型和地面接触的顶点,然后对这部分顶点做顶点凹陷。这种做凹陷效果的方法,通常需要将接触部分做足够多的顶点,才能在效果上尽可能贴合真实的凹痕。
发明内容
有鉴于此,本申请的目的在于提供一种图像显示方法、装置、电子设备及可读存储介质,在展现图像的凹陷效果时,降低对资源的消耗。
第一方面,本申请实施例提供了一种图像显示方法,包括:
根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点的深度变化值;
针对每个目标地面像素点,根据该目标地面像素点的第一坐标值和深度变化值,计算该目标地面像素点的第二坐标值;所述第一坐标值是该目标地面像素点在所述虚拟角色模型运动前,在所述虚拟空间中的坐标值;所述第二坐标值是该目标地面像素点在所述虚拟角色模型运动后,在所述虚拟空间中的坐标值;
针对每个目标地面像素点,根据该目标地面像素点周围的其他地面像素点的第二坐标值,确定该目标地面像素点在所述虚拟空间中的法线方向;
根据每个目标地面像素点在所述虚拟空间中的法线方向,显示所述虚拟空间所对应的动画图像。
结合第一方面,本申请实施例提供了第一方面的第一种可能的实施方式,其中,所述针对每个目标地面像素点,根据该目标地面像素点周围的其他地面像素点的第二坐标值,确定该目标地面像素点在所述虚拟空间中的法线方向,包括:
针对每个目标地面像素点,根据该目标地面像素点的第二坐标值和其他地面像素点的第二坐标值,从其他地面像素点中选择出与该目标地面像素点的距离符合预设要求的参考地面像素点;
针对每个目标地面像素点,根据该目标地面像素点的参考地面像素点的第二坐标值,确定该目标地面像素点在所述虚拟空间中的法线方向。
结合第一方面,本申请实施例提供了第一方面的第二种可能的实施方式,其中,所述根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值,包括:
针对每个目标地面像素点,根据所述虚拟角色模型的运动情况,确定该目标地面像素点的第一深度值和第二深度值;所述第一深度值是根据所述虚拟角色模型运动前,该目标地面像素点与设置在所述虚拟空间的第一虚拟相机之间的距离确定的;所述第二深度值是根据所述虚拟角色模型运动后,该目标地面像素点与设置在所述虚拟空间的第一虚拟相机之间的距离确定的;
针对每个目标地面像素点,根据该目标地面像素点的第一深度值和该目标地面像素点的第二深度值的差值,确定该目标地面像素点的深度变化值。
结合第一方面,本申请实施例提供了第一方面的第三种可能的实施方式,其中,所述根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值,包括:
根据每个地面像素点的第一坐标值以及所述虚拟角色模型在虚拟空间中的坐标值,从所述地面像素点中选择受所述虚拟角色模型运动所影响的地面像素点作为目标地面像素点;
根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值。
结合第一方面,本申请实施例提供了第一方面的第四种可能的实施方式,其中,所述根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值,包括:
根据每个地面像素点的第一坐标值以及所述虚拟角色模型在虚拟空间中的坐标值,从所述地面像素点中选择不受所述虚拟角色模型运动所影响的地面像素点作为目标地面像素点;
针对每个目标地面像素点,根据所述虚拟角色模型的运动时间长度,确定该目标地面像素点在所述虚拟角色模型运动后在相机坐标系下的深度变化值。
结合第一方面的第四种可能的实施方式,本申请实施例提供了第一方面的第五种可能的实施方式,其中,所述根据每个地面像素点的第一坐标值以及所述虚拟角色模型在虚拟空间中的坐标值,从所述地面像素点中选择不受所述虚拟角色模型运动所影响的地面像素点作为目标地面像素点,包括:
根据每个地面像素点的第一坐标值,确定位于地面凹陷区域中的地面像素点;
根据位于地面凹陷区域中的地面像素点的第一坐标值,以及所述虚拟角色模型在虚拟空间中的坐标值,从位于地面凹陷区域中的地面像素点中选择不受所述虚拟角色模型运动所影响的地面像素点作为目标地面像素点。
结合第一方面,本申请实施例提供了第一方面的第六种可能的实施方式,其中,所述根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值,包括:
根据每个地面像素点的第一坐标值以及所述虚拟角色模型在虚拟空间中的坐标值,从所述地面像素点中选择不受所述虚拟角色模型运动所影响的地面像素点作为目标地面像素点;
针对每个目标地面像素点,根据所述虚拟角色模型的运动时间长度和该目标地面像素点的最大深度值,确定该目标地面像素点在所述虚拟角色模型运动后在相机坐标系下的深度变化值。
结合第一方面,本申请实施例提供了第一方面的第七种可能的实施方式,其中,所述根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值,包括:
针对每个地面像素点,根据该地面像素点的第一深度值和该地面像素点的第二深度值的差值是否符合预设要求,确定该地面像素点是否作为目标地面像素点;所述第一深度值是根据所述虚拟角色模型运动前,该地面像素点与设置在所述虚拟空间的第一虚拟相机之间的距离确定的;所述第二深度值是根据所述虚拟角色模型运动后,该地面像素点与设置在所述虚拟空间的第一虚拟相机之间的距离确定的;
根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值。
结合第一方面,本申请实施例提供了第一方面的第八种可能的实施方式,其中,所述根据每个目标地面像素点在虚拟空间中的法线方向,显示虚拟空间所对应的动画图像,包括:
根据用于观察所述虚拟空间的第二虚拟相机的视线方向与每个目标地面像素点在所述虚拟角色模型运动后的第一法线方向的夹角,确定待调整像素点;
针对每个待调整像素点,将该待调整像素点在所述虚拟角色模型运动后的第一法线方向调整为在所述虚拟角色模型运动前的第二法线方向;
根据所述待调整像素点在所述虚拟角色模型运动前的第二法线方向,显示虚拟空间所对应的动画图像。
结合第一方面,本申请实施例提供了第一方面的第九种可能的实施方式,其中,所述根据每个目标地面像素点在虚拟空间中的法线方向,显示虚拟空间所对应的动画图像,包括:
针对每个目标地面像素点,根据该目标地面像素点在虚拟空间中的法线方向、光源方向以及用于观察所述虚拟空间的第二虚拟相机的视线方向确定该目标地面像素点的图像显示参数;
根据每个目标地面像素点的图像显示参数,显示所述虚拟空间所对应的动画图像。
结合第一方面,本申请实施例提供了第一方面的第十种可能的实施方式,其中,所述虚拟空间为以下任意一种空间:雪地空间、沼泽空间、草地空间、沙漠空间。
第二方面,本申请实施例还提供一种图像显示装置,包括:
第一确定模块,用于根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点的深度变化值;
计算模块,用于针对每个目标地面像素点,根据该目标地面像素点的第一坐标值和深度变化值,计算该目标地面像素点的第二坐标值;所述第一坐标值是该目标地面像素点在所述虚拟角色模型运动前,在所述虚拟空间中的坐标值;所述第二坐标值是该目标地面像素点在所述虚拟角色模型运动后,在所述虚拟空间中的坐标值;
第二确定模块,用于针对每个目标地面像素点,根据该目标地面像素点周围的其他地面像素点的第二坐标值,确定该目标地面像素点在所述虚拟空间中的法线方向;
显示模块,用于根据每个目标地面像素点在所述虚拟空间中的法线方向,显示所述虚拟空间所对应的动画图像。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本申请提供的一种图像显示方法,首先,根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值;其次,针对每个目标地面像素点,根据该目标地面像素点的第一坐标值和深度变化值,计算该目标地面像素点的第二坐标值;再次,针对每个目标地面像素点,根据该目标地面像素点周围的其他地面像素点的第二坐标值,确定该目标地面像素点在虚拟空间中的法线方向;最后根据每个目标地面像素点在虚拟空间中的法线方向,显示虚拟空间所对应的动画图像。本申请的技术方案不需要对大量的地面像素点与角色模型的顶点做碰撞检测即可确定地面像素点改变后的法线方向,降低了资源消耗。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种图像显示方法的流程图;
图2示出了本申请实施例所提供的第一种人物模型在雪地上运动的场景图;
图3示出了本申请实施例所提供的第二种人物模型在雪地上运动的场景图;
图4示出了本申请实施例所提供的一种虚拟空间中,第一虚拟相机与第二虚拟相机的示意图;
图5a示出了本申请实施例所提供的人物模型运动前,目标雪地像素点的示意图;
图5b示出了本申请实施例所提供的人物模型运动后,目标雪地像素点的示意图;
图6示出了本申请实施例所提供的第一种在雪地中的人物模型的足迹效果图;
图7示出了本申请实施例所提供的第二种在雪地中的人物模型的足迹效果图;
图8示出了本申请实施例所提供的一种图像显示装置的结构示意图;
图9示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中美术人员在制作地面游戏图像的时候,需要先生成一个地面的高度图,然后利用这个高度图对角色模型的顶点与地面的顶点做碰撞检测,计算出哪些顶点有接触,然后将这些接触的顶点的法线值保存在由美术人员绘制的法线贴图上。在绘制地面游戏图像的时候,对法线贴图进行纹理采样,从而获取到地面像素改变后的法线方向,然后根据地面像素改变后的法线方向制作地面游戏图像的凹凸效果。
发明人考虑到上述制作地面游戏图像的过程中需要对大量的地面的顶点与角色模型的顶点做碰撞检测,才能确定出接触的顶点,而且无论地面还是角色模型在完成顶点凹陷后通常有块状感,需要使用细分着色器将这些接触的顶点细分成更多的顶点,才能使得凹陷效果更加贴近真实,耗费大量的资源。
基于此,本申请实施例提供了一种图像显示方法,下面通过实施例进行描述。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种图像显示方法进行详细介绍。如图1所示的一种图像显示方法的流程图中,包括以下步骤:
S101:根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于虚拟角色模型运动所导致的每个目标地面像素点的深度变化值;
S102:针对每个目标地面像素点,根据该目标地面像素点的第一坐标值和深度变化值,计算该目标地面像素点的第二坐标值;第一坐标值是该目标地面像素点在虚拟角色模型运动前,在虚拟空间中的坐标值;第二坐标值是该目标地面像素点在虚拟角色模型运动后,在虚拟空间中的坐标值;
S103:针对每个目标地面像素点,根据该目标地面像素点周围的其他地面像素点的第二坐标值,确定该目标地面像素点在虚拟空间中的法线方向;
S104:根据每个目标地面像素点在虚拟空间中的法线方向,显示虚拟空间所对应的动画图像。
在步骤S101中,虚拟角色模型指的是可以在虚拟空间中的地面上运动并且在与地面接触(静止接触或运动接触)时能够使得地面发生形变的角色模型,在游戏场景中,虚拟角色模型可以是人物模型、车辆模型、动物模型等。地面的形变可以是可自动恢复的形变(例如沙漠中形成的因沙子的移动而可自动恢复的脚印),也可以是不可自动恢复的形变(例如重物与地面撞击形成的不可自动恢复的塌陷)。
虚拟空间指的是虚拟的世界空间,虚拟空间所在的坐标系是世界坐标系。虚拟空间中可以包括地面、可在地面上运动的人物、物体以及静止于地面上的不可运动的物体等。虚拟空间可以是以下任意一种空间:雪地空间、沼泽空间、草地空间、沙漠空间。虚拟空间也可以是由以上至少两种空间组合而成的复合虚拟空间,例如沼泽空间与草地空间形成的虚拟野外空间等。
虚拟角色模型在虚拟空间中的地面上发生运动后,虚拟角色模型能够在虚拟空间中的地面上留下运动痕迹,如图2所示的第一种人物模型在雪地上运动的场景图中,两个人物模型在雪地中打架,在雪地上留下了脚印和摔倒的痕迹。
在具体实施中,目标地面像素点可以指的是地面上所有的地面像素点,也可以是部分地面像素点。
虚拟角色模型在虚拟空间中的地面上运动之后,目标地面像素点的深度值发生了变化,因此深度变化值指的是目标地面像素点在虚拟角色模型运动前与运动后的深度差值。
在具体实施中,可以利用第一虚拟相机获取每个目标地面像素点在虚拟角色模型运动前的深度值和运动后的深度值。可以将第一虚拟相机设置在虚拟空间中的地面以下垂直地面的方向上,因此第一虚拟相机的光轴就是垂直地面的,通过第一虚拟相机可以记录地面上每个目标地面像素点分别在虚拟角色模型在运动前以及运动后的深度值。
某些情况下,第一虚拟相机也可以是设置在虚拟空间的地面上,或者是地面以上的空中,这样的话,得到的深度值通常就是负值。
这里,在获取每个目标地面像素点的深度值时,每个目标地面像素点的深度值是以颜色值的形式进行存储的。为了提高信息精确度,这里可以利用两个颜色通道存储每个目标地面像素点的深度值对应的颜色值。
在步骤S102中,第一坐标值和第二坐标值均指的是世界坐标系中的坐标值。
这里,可以将步骤S101中确定的目标地面像素点在相机坐标系下的深度变化值转换成世界坐标系中对应方向上的坐标变化值。由于第一虚拟相机的视角是垂直地面的,确定的深度变化值的方向是垂直地面的,因此转换成世界坐标系中的坐标变化值的方向也是垂直地面的。
针对每个目标地面像素点,在虚拟空间中,根据该目标地面像素点在虚拟角色模型运动前,在世界坐标系中的第一坐标值和确定的垂直地面方向上的坐标变化值,可以计算出虚拟角色模型运动后,该目标地面像素点在世界坐标系中的第二坐标值。
在步骤S103中,目标地面像素点周围的其他地面像素点指的是与该目标地面像素点的距离符合预设要求的地面像素点。
根据每个目标地面像素点左侧地面像素点和右侧地面像素点的第二坐标值确定第一方向向量,每个目标地面像素点上方地面像素点和下方地面像素点的第二坐标值确定第二方向向量,根据第一方向向量和第二方向向量,可以确定出在虚拟角色模型运动后,每个目标地面像素点的法向方向。
优选地,目标地面像素点周围的其他地面像素点可以是与目标地面像素点紧邻的四个地面像素点,这样确定的每个目标地面像素点的法线方向更加准确。
在步骤S104中,可以针对每个目标地面像素点,根据该目标地面像素点在虚拟空间中的法线方向、光源方向以及用于观察虚拟空间的第二虚拟相机的视线方向确定该目标地面像素点的图像显示参数;然后根据每个目标地面像素点的图像显示参数,显示虚拟空间所对应的动画图像。
第二虚拟相机(虚拟摄像头),第二虚拟相机的视线方向是根据观察虚拟空间的方向决定的,并且第二虚拟相机的视线方向是可以随着观察虚拟空间的方向而改变的。第二虚拟相机的视线方向决定了用户所控制的终端屏幕上所显示的画面,随着第二虚拟相机位置的改变,和/或视线方向的改变,用户所控制的终端屏幕上所显示的画面也会随之变化。
图4所示的一种虚拟空间中,第一虚拟相机与第二虚拟相机的示意图中,虚拟角色模型在地面上,第一虚拟相机垂直地面设置在地面以下,第二虚拟相机设置在地面以上,第二虚拟相机的位置可以影响用户所控制的终端屏幕上所显示的画面。
在一种优选的实施方式中,图像显示参数可以是光照值,因此步骤S104可以是根据该目标地面像素点在虚拟空间中的法线方向、光源方向以及用于观察虚拟空间的第二虚拟相机的视线方向确定该目标地面像素点对应的地面点的光照值,再根据该目标地面像素点对应的地面点的光照值,显示虚拟空间所对应的动画图像。
本申请实施例通过上述S101-S104的步骤,根据确定的每个目标地面像素点的深度变化值,确定目标地面像素点在虚拟空间中的法线方向,减少了对资源的消耗。
针对步骤S101,虚拟角色模型在运动前后可能会影响目标地面像素点的深度值,深度变化值是目标地面像素点在虚拟角色模型运动前与运动后的深度差值,因此在一种可行的实施方式中,步骤S101可以按照以下步骤执行:
步骤1011:针对每个目标地面像素点,根据虚拟角色模型的运动情况,确定该目标地面像素点的第一深度值和第二深度值;第一深度值是根据角色模型运动前,该目标地面像素点与设置在虚拟空间的第一虚拟相机之间的距离确定的;第二深度值是根据虚拟角色模型运动后,该目标地面像素点与设置在虚拟空间的第一虚拟相机之间的距离确定的;
步骤1012:针对每个目标地面像素点,根据该目标地面像素点的第一深度值和该目标地面像素点的第二深度值的差值,确定该目标地面像素点的深度变化值。
在步骤1011中,在虚拟角色模型运动前,利用第一虚拟相机获取目标地面像素点的第一深度值,具体地通过目标地面像素点与设置在虚拟空间的第一虚拟相机之间的距离可以确定目标地面像素点的第一深度值。
在虚拟角色模型运动后,利用第一虚拟相机获取目标地面像素点的第二深度值,具体地通过目标地面像素点与设置在虚拟空间的第一虚拟相机之间的距离可以确定目标地面像素点的第二深度值。
由于虚拟角色模型运动前,虚拟角色模型未对目标地面像素点造成影响,因此目标地面像素点的第一深度值实际上是该目标地面像素点上地面在相机坐标系中的深度值;虚拟角色模型运动后,可以认为虚拟角色模型与地面的接触面是贴在地面上的,此时目标地面像素点的深度值为接触面的深度值,也就是目标地面像素点的第二深度值实际上是虚拟角色模型在相机坐标系中的深度值。
在步骤1012中,根据第二深度值与第一深度值的差值,可以确定出由于虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值。
根据前文所述,第二深度值与第一深度值的差值即目标地面像素点上虚拟角色模型与地面在相机坐标系中的深度值之差。
在一种可行的实施方式中,可以根据地面像素点的第一深度值和该地面像素点的第二深度值的差值确定出目标地面像素点,然后确定目标地面像素点的深度变化值,因此步骤S101可以按照以下步骤执行:
步骤1013:针对每个地面像素点,根据该地面像素点的第一深度值和该地面像素点的第二深度值的差值是否符合预设要求,确定该地面像素点是否作为目标地面像素点;
步骤1014:根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值。
在步骤1013中,由于第一虚拟相机是设置在地面以下的且第一虚拟相机的视角是垂直于地面的,在具体实施过程中,为了实现虚拟角色模型运动后形成地面凹陷效果时,在第一虚拟相机的视角下观察时地面周围高于虚拟角色模型与地面接触的部分,可以对地面像素点的深度值向第一虚拟相机的远处进行一小段偏移,即使得地面像素点的深度值稍微偏大一点,然后利用偏移后的形成的第一深度值与第二深度值进行差值计算。
因此,这里可以根据第一深度值和第二深度值的差值符合预设要求的地面像素点作为目标地面像素点。第一深度值和第二深度值的差值符合预设要求的地面像素点时,表明虚拟角色模型的运动对该地面像素点的深度值造成了变化。
步骤1014中,根据第二深度值与第一深度值的差值,可以确定出由于虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值。
根据虚拟角色模型的运动情况,目标地面像素点可以是受虚拟角色模型运动影响的目标地面像素点,也可以是不受虚拟角色模型运动影响的目标地面像素点。
具体地,受虚拟角色模型运动影响的地面像素点可以指的是目标地面像素的深度变化值是由于虚拟角色模型当前的运动导致的地面像素点;不受虚拟角色模型运动影响的地面像素点指的是目标地面像素的深度变化值不是由于虚拟角色模型当前的运动导致的以及目标地面像素点的深度值不发生变化的地面像素点。
因此针对上述目标地面像素点是否为受虚拟角色模型运动影响的地面像素点的情况,在执行步骤S101时,可以按照以下两种情况执行:
第一种情况,针对目标地面像素点为受虚拟角色模型运动影响的地面像素点时,步骤S101可以按照以下步骤执行:
步骤1015:根据每个地面像素点的第一坐标值以及虚拟角色模型在虚拟空间中的坐标值,从地面像素点中选择受虚拟角色模型运动所影响的地面像素点作为目标地面像素点;
步骤1016:根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值。
在步骤1015中,地面像素点的第一坐标值可以指的是地面像素点对应的虚拟空间中的地面的第一坐标值。这里地面像素点的坐标值以及虚拟角色模型在虚拟空间中的坐标值均指的是世界坐标系中的坐标值。
在具体实施中,根据每个地面像素点的第一坐标值以及虚拟角色模型在虚拟空间中的坐标值,可以从地面像素点中选择出由于虚拟角色模型当前的运动使得地面由原有状态变成凹陷状态的目标地面像素点。
在步骤1016中,根据位于虚拟空间中的虚拟角色模型的运动情况,确定每个受虚拟角色模型运动所影响的目标地面像素点在相机坐标系下的深度变化值。
第二种情况,针对目标地面像素点为不受虚拟角色模型运动影响的地面像素点时,步骤S101可以按照以下步骤执行:
步骤1017:根据每个地面像素点的第一坐标值以及虚拟角色模型在虚拟空间中的坐标值,从地面像素点中选择不受虚拟角色模型运动所影响的地面像素点作为目标地面像素点;
步骤1018:针对每个目标地面像素点,根据虚拟角色模型的运动时间长度,确定该目标地面像素点在虚拟角色模型运动后在相机坐标系下的深度变化值。
在步骤1017中,根据每个地面像素点的第一坐标值以及虚拟角色模型在虚拟空间中的坐标值,可以从地面像素点中选择出目标地面像素的深度变化值不是由于虚拟角色模型当前的运动导致的以及目标地面像素点的深度值不发生变化的地面像素点。
在步骤1018中,考虑到在实际情况中,随着虚拟角色模型的运动情况变化以及地面的性质,虚拟角色模型在地面上的运动痕迹会发生变化,如图3所示的第二种人物模型在雪地上运动的场景图中,在下雪的游戏场景中,雪地上不断有雪累积,随着人物模型行走,距离人物模型较远的脚印慢慢变浅。因此在类似的情况下,目标地面像素点的深度值会发生变化,在该步骤中可以根据虚拟角色模型的运动时间长度,确定目标地面像素点在虚拟角色模型运动后在相机坐标系下的深度变化值。
在具体实施过程中,在获取每一帧图像的深度值的同时,还可以获取每一帧图像中虚拟角色模型的运动时刻,然后根据虚拟角色模型的运动时刻确定虚拟角色模型的运动时间长度。为了精确记录虚拟角色模型的运动时刻,这里也可以将运动时刻对应的颜色值保存在两个颜色通道里。
具体地,在确定虚拟角色模型的运动时间长度时,可以根据虚拟角色模型开始运动的第一时刻以及当前运动的第二时刻确定。
除了可以根据虚拟角色模型的运动时间长度,确定目标地面像素点在虚拟角色模型运动后在相机坐标系下的深度变化值以外,在一些其他可行的实施方式中,还可以根据虚拟角色模型的运动时间长度和目标地面像素点的最大深度值,确定目标地面像素点在虚拟角色模型运动后在相机坐标系下的深度变化值;或者是根据虚拟角色模型的运动时间长度和目标地面像素点的深度值恢复速度等参数,确定目标地面像素点在所述虚拟角色模型运动后在相机坐标系下的深度变化值。
在一种可行的实施方式中,针对上述第二种情况,在执行步骤1017时,还可以按照以下步骤执行:
步骤10171:根据每个地面像素点的第一坐标值,确定位于地面凹陷区域中的地面像素点;
步骤10172:根据位于地面凹陷区域中的地面像素点的第一坐标值,以及虚拟角色模型在虚拟空间中的坐标值,从位于地面凹陷区域中的地面像素点中选择不受虚拟角色模型运动所影响的地面像素点作为目标地面像素点。
在步骤10171中,地面凹陷区域指的是在由于虚拟角色模型运动在地面上形成的凹陷区域,例如游戏中的虚拟角色模型在雪地上留下的脚印。
地面凹陷区域可以指的是虚拟角色模型进行当前运动在地面上形成的凹陷区域,也可以是虚拟角色模型进行历史运动时在地面上形成的凹陷区域。
根据每个地面像素点的第一坐标值,可以确定出位于地面凹陷区域中的地面像素点。
在步骤10172中,根据位于地面凹陷区域中的地面像素点的第一坐标值,以及虚拟角色模型在虚拟空间中的坐标值,可以确定出虚拟角色模型进行历史运动时在地面上形成的凹陷区域,这样从这些地面凹陷区域中的地面像素点中可以选择出不受虚拟角色模型运动所影响的地面像素点作为目标地面像素点。
针对步骤S103,针对每个目标地面像素点,根据该目标地面像素点周围的其他地面像素点的第二坐标值,可以确定该目标地面像素点在虚拟空间中的法线方向,在具体实施过程中,可以按照以下步骤执行:
步骤1031:针对每个目标地面像素点,根据该目标地面像素点的第二坐标值和其他地面像素点的第二坐标值,从其他地面像素点中选择出与该目标地面像素点的距离符合预设要求的参考地面像素点;
步骤1032:针对每个目标地面像素点,根据该目标地面像素点的参考地面像素点的第二坐标值,确定该目标地面像素点在虚拟空间中的法线方向。
在步骤1031中,可以从其他地面像素点中选择出目标地面像素点周围的参考地面像素点,优选地,可以选择目标地面像素点上下左右四个参考地面像素点。通过该目标地面像素点和参考地面像素点,可以确定出目标地面像素点和参考地面像素点所在的平面。
在步骤1032中,根据参考地面像素点的第二坐标值,可以计算出平面的法线,也就是目标地面像素点的法线,从而确定目标地面像素点在虚拟空间中的法线方向。
针对步骤S104,考虑到用于观察虚拟空间的第二虚拟相机的视线方向,虚拟空间所对应的动画图像中某些部分(例如雪地中脚印的侧边)是不应该被显示出来的,这样显示的动画图像才能更真实,因此在一种可行的实施方式中,步骤S104可以按照以下步骤执行:
步骤1041:根据用于观察虚拟空间的第二虚拟相机的视线方向与每个目标地面像素点在虚拟角色模型运动后的第一法线方向的夹角,确定待调整像素点;
步骤1042:针对每个待调整像素点,将该待调整像素点在虚拟角色模型运动后的第一法线方向调整为在虚拟角色模型运动前的第二法线方向;
步骤1043:根据待调整像素点在虚拟角色模型运动前的第二法线方向,显示虚拟空间所对应的动画图像。
在步骤1041中,当第二虚拟相机的视线方向与目标地面像素点在虚拟角色模型运动后的第一法线方向的夹角大于0度且小于90度时对应的目标地面像素点的法线方向需要调整,该目标地面像素点为待调整像素点,例如雪地空间中,根据第二虚拟相机的视线方向,人物模型的脚印某侧的侧边是不应该被看到的。
在具体实施中,可以计算法线方向与视线方向的点乘,当点乘大于0的时候,在步骤1042中,将该待调整像素点在虚拟角色模型运动后的第一法线方向调整为在虚拟角色模型运动前的第二法线方向。然后在步骤1043中根据待调整像素点在虚拟角色模型运动前的第二法线方向,显示虚拟空间所对应的动画图像。
下面以游戏中的雪地为例,详细介绍通过本申请实施例提供的方法显示人物模型在雪地的运动图像的过程。
步骤1,获取人物模型运动前,每个雪地像素点在相机坐标系下的第一深度值以及人物模型运动后,每个雪地像素点在相机坐标系下的第二深度值;
步骤2,针对每个雪地像素点,根据该雪地像素点的第一深度值和该雪地像素点的第二深度值的差值是否符合预设要求,确定位于足迹区域中的目标雪地像素点;第一深度值是根据人物模型运动前,该雪地像素点与设置在雪地空间的第一虚拟相机之间的距离确定的;第二深度值是根据人物模型运动后,该雪地像素点与设置在雪地空间的第一虚拟相机之间的距离确定的;
步骤3,根据每个雪地像素点的第一深度值和该雪地像素点的第二深度值的差值,确定由于人物模型运动所导致的每个目标雪地像素点在相机坐标系下的深度变化值;
步骤4,针对每个目标雪地像素点,根据该目标雪地像素点的第一坐标值和深度变化值,计算该目标雪地像素点的第二坐标值;第一坐标值是该目标雪地像素点在人物模型运动前,在雪地空间中的坐标值;第二坐标值是该目标雪地像素点在人物模型运动后,在雪地空间中的坐标值;
步骤5,针对每个目标雪地面像素点,根据该目标雪地像素点的第二坐标值和其他雪地像素点的第二坐标值,从其他雪地像素点中选择出与该目标雪地像素点紧邻的参考雪地像素点;
步骤6,针对每个目标雪地像素点,根据该目标雪地像素点的参考雪地像素点的第二坐标值,确定该目标雪地像素点在雪地空间中的法线方向;
步骤7,针对每个目标雪地像素点,根据该目标雪地像素点在雪地空间中的法线方向、光源方向以及用于观察雪地空间的第二虚拟相机的视线方向确定该目标雪地像素点的光照值;
步骤8,根据每个目标雪地像素点的光照值,显示雪地空间中的足迹。
在步骤1中,人物模型在雪地空间中的地面上运动后,人物模型能够在雪地上留下足迹。
这里,可以利用第一虚拟相机获取人物模型运动前,每个雪地像素点在相机坐标系下的第一深度值以及人物模型运动后,每个雪地像素点在相机坐标系下的第二深度值。
第一虚拟相机设置在虚拟空间中的地面以下,且虚拟相机的视角是垂直地面向上的。
这里,在获取每个雪地像素点的深度值时,每个雪地像素点的深度值是以颜色值的形式进行存储的。为了提高信息精确度,这里可以利用两个颜色通道存储每个雪地像素点的深度值对应的颜色值。
在步骤2中,人物模型运动前,雪地像素点的第一深度值实际上是雪地在相机坐标系中的深度值;人物模型运动后,人物模型的足部与地面的接触面是贴在地面上的,此时目标地面像素点的深度值为接触面的深度值,因此这里目标地面像素点的第二深度值实际上是人物模型的深度值。
由于第一虚拟相机是设置在地面以下的且第一虚拟相机的视角是垂直于地面的,在具体实施过程中,为了实现虚拟角色模型运动后形成地面凹陷效果时,在第一虚拟相机的视角下观察时地面周围高于虚拟角色模型与地面接触的部分,可以对地面像素点的深度值向第一虚拟相机的远处进行一小段偏移,即使得地面像素点的深度值稍微偏大一点,然后利用偏移后的深度值,也就是利用第一深度值与第二深度值进行差值计算。
人物模型运动前,雪地像素点的第一深度值是大于人物模型运动后雪地像素点的第二深度值的。也就是当雪地像素点的第二深度值小于第一深度值时,说明该雪地像素点位于足迹区域内,这里确定位于足迹区域内的雪地像素点为目标雪地像素点。
在步骤3中,每个目标雪地像素点的第一深度值和该目标雪地像素点的第二深度值的差值就是该目标雪地像素点在相机坐标系下的深度变化值。
在步骤4中,可以将步骤3中确定的目标雪地像素点在相机坐标系下的深度变化值转换成世界坐标系中对应方向上的坐标变化值。由于虚拟相机的视角是垂直地面向上的,确定的深度变化值的方向是垂直地面的,因此转换成世界坐标系中的坐标变化值的方向也是垂直地面的。
针对每个目标雪地像素点,在世界坐标系中,根据该目标雪地像素点在人物模型运动前,在虚拟空间中的第一坐标值和确定的垂直地面方向上的坐标变化值,可以计算出人物模型运动后,该目标雪地像素点在雪地空间中的第二坐标值。
在步骤5中,为了确定的每个目标雪地像素点的法线方向更加准确这里,可以选择与目标雪地像素点紧邻的四个雪地像素点。
步骤6,根据每个目标雪地像素点左侧雪地像素点和右侧雪地像素点的第二坐标值确定第一方向向量,每个目标雪地像素点上方雪地像素点和下方雪地像素点的第二坐标值确定第二方向向量,根据第一方向向量和第二方向向量,可以确定出人物模型运动后,每个目标雪地像素点的法向方向。
这里,可以根据人物模型运动前每个目标雪地像素点的第一坐标值,选择出与目标雪地像素点紧邻的四个雪地像素点,如图5a所示的人物模型运动前,目标雪地像素点的示意图中,与目标雪地像素点X紧邻的四个雪地像素点分别为E、F、G、C。人物模型运动前,目标雪地像素点X的法线方向垂直于雪地像素点E、F、G、C所在的平面。
人物模型运动后,目标雪地像素点X以及雪地像素点E、F、G、C的可能会发生变化,如图5b所示的人物模型运动后,目标雪地像素点的示意图中,目标雪地像素点X移动到了目标雪地像素点X′的位置,雪地像素点E、F、G分别移动到了雪地像素点A、B、D的位置,雪地像素点C的位置则没有发生变化,因此相应地,目标雪地像素点X以及雪地像素点E、F、G的坐标值发生了变化,雪地像素点C的坐标值则没有发生变化。
一般情况下我们认为雪地所在的地面为水平面,并且人物模型在与雪地接触时,雪地仅仅受到垂直地面的作用力,因此这里目标雪地像素点X以及雪地像素点A、B、D的坐标值仅仅在垂直地面的方向上发生了变化,目标雪地像素点X′以及雪地像素点A、B、D、C的坐标值在垂直地面的方向上的变化值可以分别通过目标雪地像素点X′以及雪地像素点A、B、D、C在相机坐标系下的深度变化值(这里雪地像素点C相机坐标系下的深度变化值为零)转换得到。
这里,可以通过与目标雪地像素点X′紧邻的雪地像素点A和雪地像素点D的第二坐标值确定第一方向向量,与目标雪地像素点目标雪地像素点X′紧邻的雪地像素点B和雪地像素点C的第二坐标值确定第二方向向量,然后根据第一方向向量和第二方向向量,可以确定出人物模型运动后,目标雪地像素点X′的法向方向,目标雪地像素点X′的法向方向是垂直于人物模型运动后,雪地像素点A、B、D、C所在的平面的。
在具体实施中,雪地像素点E(A)、F(B)、G(D)、C有可能位于足迹区域内(即目标雪地像素点),也可能位于足迹区域外(即非目标雪地像素点),这取决于目标雪地像素点X′(X)的位置,例如目标雪地像素点X′(X)位于足迹区域边缘,那么雪地像素点E(A)、F(B)、G(D)、C有可能位于足迹区域外(即非目标雪地像素点)。
步骤7,这里可以根据用于观察虚拟空间的第二虚拟相机的视线方向与每个目标雪地像素点在人物模型运动后的法线方向的夹角,确定待调整的雪地像素点,这是因为当第二虚拟相机的视线方向与目标雪地像素点在人物模型运动后的法线方向的夹角大于0度且小于90度时对应的目标雪地像素点是应该被调整的。如图6所示的第一种在雪地中的人物模型的足迹效果图中,当第二虚拟相机的视线方向与目标雪地像素点在人物模型运动后的法线方向的夹角大于0度且小于90度时对应的脚印侧边是不应该被看到的,在图7所示的第二种在雪地中的人物模型的足迹效果图中,该脚印侧边应该被调整为人物模型运动前的雪地。
在具体实施时可以将待调整的雪地像素点的法线方向调整为在人物模型运动前的雪地像素点的法线方向,也就是垂直地面向上的法线方向。
其余的目标雪地像素点,根据该目标雪地像素点在雪地空间中的法线方向、光源方向以及用于观察雪地空间的第二虚拟相机的视线方向确定该目标雪地像素点的光照值。
步骤8,根据每个目标雪地像素点的光照值可以显示出雪地中足迹的凹陷效果。
基于相同的技术构思,本申请实施例还提供一种图像显示装置、电子设备、以及计算机可读存储介质等,具体可参见以下实施例。
图8是示出本申请的一些实施例的图像显示装置的框图,该图像显示装置实现的功能对应上述在终端设备上执行图像显示方法的步骤。该装置可以理解为一个包括处理器的服务器的组件,该组件能够实现上述图像显示方法,如图8所示,该图像显示装置可以包括:
第一确定模块801,用于根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点的深度变化值;
计算模块802,用于针对每个目标地面像素点,根据该目标地面像素点的第一坐标值和深度变化值,计算该目标地面像素点的第二坐标值;所述第一坐标值是该目标地面像素点在虚拟角色模型运动前,在虚拟空间中的坐标值;所述第二坐标值是该目标地面像素点在虚拟角色模型运动后,在虚拟空间中的坐标值;
第二确定模块803,用于针对每个目标地面像素点,根据该目标地面像素点周围的其他地面像素点的第二坐标值,确定该目标地面像素点在虚拟空间中的法线方向;
显示模块804,用于根据每个目标地面像素点在虚拟空间中的法线方向,显示所述虚拟空间所对应的动画图像。
在一种可行的实施方式中,第二确定模块803,包括:
第一选择模块,用于针对每个目标地面像素点,根据该目标地面像素点的第二坐标值和其他地面像素点的第二坐标值,从其他地面像素点中选择出与该目标地面像素点的距离符合预设要求的参考地面像素点;
第三确定模块,用于针对每个目标地面像素点,根据该目标地面像素点的参考地面像素点的第二坐标值,确定该目标地面像素点在虚拟空间中的法线方向。
在一种可行的实施方式中,第一确定模块801,包括:
第四确定模块,用于针对每个目标地面像素点,根据所述虚拟角色模型的运动情况,确定该目标地面像素点的第一深度值和第二深度值;所述第一深度值是根据所述虚拟角色模型运动前,该目标地面像素点与设置在所述虚拟空间的第一虚拟相机之间的距离确定的;所述第二深度值是根据所述虚拟角色模型运动后,该目标地面像素点与设置在所述虚拟空间的第一虚拟相机之间的距离确定的;
第五确定模块,用于针对每个目标地面像素点,根据该目标地面像素点的第一深度值和该目标地面像素点的第二深度值的差值,确定该目标地面像素点的深度变化值。
在一种可行的实施方式中,第一确定模块801,包括:
第二选择模块,用于根据每个地面像素点的第一坐标值以及所述虚拟角色模型在虚拟空间中的坐标值,从所述地面像素点中选择受所述虚拟角色模型运动所影响的地面像素点作为目标地面像素点;
第六确定模块,用于根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值。
在一种可行的实施方式中,第一确定模块801,包括:
第三选择模块,用于根据每个地面像素点的第一坐标值以及所述虚拟角色模型在虚拟空间中的坐标值,从所述地面像素点中选择不受所述虚拟角色模型运动所影响的地面像素点作为目标地面像素点;
第七确定模块,用于针对每个目标地面像素点,根据所述虚拟角色模型的运动时间长度,确定该目标地面像素点在所述虚拟角色模型运动后在相机坐标系下的深度变化值。
在一种可行的实施方式中,第三选择模块,包括:
第八确定模块,用于根据每个地面像素点的第一坐标值,确定位于地面凹陷区域中的地面像素点;
第四选择模块,用于根据位于地面凹陷区域中的地面像素点的第一坐标值,以及所述虚拟角色模型在虚拟空间中的坐标值,从位于地面凹陷区域中的地面像素点中选择不受所述虚拟角色模型运动所影响的地面像素点作为目标地面像素点。
在一种可行的实施方式中,第一确定模块801,包括:
第五选择模块,用于根据每个地面像素点的第一坐标值以及所述虚拟角色模型在虚拟空间中的坐标值,从所述地面像素点中选择不受所述虚拟角色模型运动所影响的地面像素点作为目标地面像素点;
第九确定模块,用于针对每个目标地面像素点,根据所述虚拟角色模型的运动时间长度和该目标地面像素点的最大深度值,确定该目标地面像素点在所述虚拟角色模型运动后在相机坐标系下的深度变化值。
在一种可行的实施方式中,第一确定模块801,包括:
第十确定模块,用于针对每个地面像素点,根据该地面像素点的第一深度值和该地面像素点的第二深度值的差值是否符合预设要求,确定该地面像素点是否作为目标地面像素点;所述第一深度值是根据所述虚拟角色模型运动前,该地面像素点与设置在所述虚拟空间的第一虚拟相机之间的距离确定的;所述第二深度值是根据所述虚拟角色模型运动后,该地面像素点与设置在所述虚拟空间的第一虚拟相机之间的距离确定的;
第十一确定模块,用于根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值。
在一种可行的实施方式中,显示模块804,包括:
第十二确定模块,用于根据用于观察所述虚拟空间的第二虚拟相机的视线方向与每个目标地面像素点在所述虚拟角色模型运动后的第一法线方向的夹角,确定待调整像素点;
调整模块,用于针对每个待调整像素点,将该待调整像素点在所述虚拟角色模型运动后的第一法线方向调整为在所述虚拟角色模型运动前的第二法线方向;
第一子显示模块,用于根据所述待调整像素点在所述虚拟角色模型运动前的第二法线方向,显示虚拟空间所对应的动画图像。
在一种可行的实施方式中,显示模块804,包括:
第十三确定模块,用于针对每个目标地面像素点,根据该目标地面像素点在虚拟空间中的法线方向、光源方向以及用于观察所述虚拟空间的第二虚拟相机的视线方向确定该目标地面像素点的图像显示参数;
第二子显示模块,用于根据每个目标地面像素点的所述图像显示参数,显示虚拟空间所对应的动画图像。
在一种可行的实施方式中,包括:所述虚拟空间为以下任意一种空间:雪地空间、沼泽空间、草地空间、沙漠空间。
本申请实施例公开了一种电子设备,如图9所示,包括:处理器901、存储器902和总线903,所述存储器902存储有所述处理器901可执行的机器可读指令,当电子设备运行时,所述处理器901与所述存储器902之间通过总线903通信。
所述机器可读指令被所述处理器901执行时执行前面方法实施例中所述的任一方法,具体实现可参见方法实施例,在此不再赘述。
本申请实施例所提供的进行图像显示方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (14)

1.一种图像显示方法,其特征在于,包括:
根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点的深度变化值;
针对每个目标地面像素点,根据该目标地面像素点的第一坐标值和深度变化值,计算该目标地面像素点的第二坐标值;所述第一坐标值是该目标地面像素点在所述虚拟角色模型运动前,在所述虚拟空间中的坐标值;所述第二坐标值是该目标地面像素点在所述虚拟角色模型运动后,在所述虚拟空间中的坐标值;
针对每个目标地面像素点,根据该目标地面像素点周围的其他地面像素点的第二坐标值,确定该目标地面像素点在所述虚拟空间中的法线方向;
根据每个目标地面像素点在所述虚拟空间中的法线方向,显示所述虚拟空间所对应的动画图像。
2.根据权利要求1所述的图像显示方法,其特征在于,所述针对每个目标地面像素点,根据该目标地面像素点周围的其他地面像素点的第二坐标值,确定该目标地面像素点在所述虚拟空间中的法线方向,包括:
针对每个目标地面像素点,根据该目标地面像素点的第二坐标值和其他地面像素点的第二坐标值,从其他地面像素点中选择出与该目标地面像素点的距离符合预设要求的参考地面像素点;
针对每个目标地面像素点,根据该目标地面像素点的参考地面像素点的第二坐标值,确定该目标地面像素点在所述虚拟空间中的法线方向。
3.根据权利要求1所述的图像显示方法,其特征在于,所述根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值,包括:
针对每个目标地面像素点,根据所述虚拟角色模型的运动情况,确定该目标地面像素点的第一深度值和第二深度值;所述第一深度值是根据所述虚拟角色模型运动前,该目标地面像素点与设置在所述虚拟空间的第一虚拟相机之间的距离确定的;所述第二深度值是根据所述虚拟角色模型运动后,该目标地面像素点与设置在所述虚拟空间的第一虚拟相机之间的距离确定的;
针对每个目标地面像素点,根据该目标地面像素点的第一深度值和该目标地面像素点的第二深度值的差值,确定该目标地面像素点的深度变化值。
4.根据权利要求1所述的图像显示方法,其特征在于,所述根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值,包括:
根据每个地面像素点的第一坐标值以及虚拟角色模型在虚拟空间中的坐标值,从所述地面像素点中选择受所述虚拟角色模型运动所影响的地面像素点作为目标地面像素点;
根据位于所述虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值。
5.根据权利要求1所述的图像显示方法,其特征在于,所述根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值,包括:
根据每个地面像素点的第一坐标值以及虚拟角色模型在虚拟空间中的坐标值,从所述地面像素点中选择不受所述虚拟角色模型运动所影响的地面像素点作为目标地面像素点;
针对每个目标地面像素点,根据所述虚拟角色模型的运动时间长度,确定该目标地面像素点在所述虚拟角色模型运动后在相机坐标系下的深度变化值。
6.根据权利要求5所述的图像显示方法,其特征在于,所述根据每个地面像素点的第一坐标值以及虚拟角色模型在虚拟空间中的坐标值,从所述地面像素点中选择不受所述虚拟角色模型运动所影响的地面像素点作为目标地面像素点,包括:
根据每个地面像素点的第一坐标值,确定位于地面凹陷区域中的地面像素点;
根据位于地面凹陷区域中的地面像素点的第一坐标值,以及所述虚拟角色模型在虚拟空间中的坐标值,从位于地面凹陷区域中的地面像素点中选择不受所述虚拟角色模型运动所影响的地面像素点作为目标地面像素点。
7.根据权利要求1所述的图像显示方法,其特征在于,所述根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值,包括:
根据每个地面像素点的第一坐标值以及所述虚拟角色模型在虚拟空间中的坐标值,从所述地面像素点中选择不受所述虚拟角色模型运动所影响的地面像素点作为目标地面像素点;
针对每个目标地面像素点,根据所述虚拟角色模型的运动时间长度和该目标地面像素点的最大深度值,确定该目标地面像素点在所述虚拟角色模型运动后在相机坐标系下的深度变化值。
8.根据权利要求1所述的图像显示方法,其特征在于,所述根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值,包括:
针对每个地面像素点,根据该地面像素点的第一深度值和该地面像素点的第二深度值的差值是否符合预设要求,确定该地面像素点是否作为目标地面像素点;所述第一深度值是根据所述虚拟角色模型运动前,该地面像素点与设置在所述虚拟空间的第一虚拟相机之间的距离确定的;所述第二深度值是根据所述虚拟角色模型运动后,该地面像素点与设置在所述虚拟空间的第一虚拟相机之间的距离确定的;
根据位于所述虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点在相机坐标系下的深度变化值。
9.根据权利要求1所述的图像显示方法,其特征在于,所述根据每个目标地面像素点在所述虚拟空间中的法线方向,显示所述虚拟空间所对应的动画图像,包括:
根据用于观察所述虚拟空间的第二虚拟相机的视线方向与每个目标地面像素点在所述虚拟角色模型运动后的第一法线方向的夹角,确定待调整像素点;
针对每个待调整像素点,将该待调整像素点在所述虚拟角色模型运动后的第一法线方向调整为在所述虚拟角色模型运动前的第二法线方向;
根据所述待调整像素点在所述虚拟角色模型运动前的第二法线方向,显示虚拟空间所对应的动画图像。
10.根据权利要求1所述的图像显示方法,其特征在于,所述根据每个目标地面像素点在所述虚拟空间中的法线方向,显示所述虚拟空间所对应的动画图像,包括:
针对每个目标地面像素点,根据该目标地面像素点在所述虚拟空间中的法线方向、光源方向以及用于观察所述虚拟空间的第二虚拟相机的视线方向确定该目标地面像素点的图像显示参数;
根据每个目标地面像素点的图像显示参数,显示所述虚拟空间所对应的动画图像。
11.根据权利要求1所述的图像显示方法,其特征在于,所述虚拟空间为以下任意一种空间:雪地空间、沼泽空间、草地空间、沙漠空间。
12.一种图像显示装置,其特征在于,包括:
第一确定模块,用于根据位于虚拟空间中的虚拟角色模型的运动情况,确定由于所述虚拟角色模型运动所导致的每个目标地面像素点的深度变化值;
计算模块,用于针对每个目标地面像素点,根据该目标地面像素点的第一坐标值和深度变化值,计算该目标地面像素点的第二坐标值;所述第一坐标值是该目标地面像素点在所述虚拟角色模型运动前,在所述虚拟空间中的坐标值;所述第二坐标值是该目标地面像素点在所述虚拟角色模型运动后,在所述虚拟空间中的坐标值;
第二确定模块,用于针对每个目标地面像素点,根据该目标地面像素点周围的其他地面像素点的第二坐标值,确定该目标地面像素点在虚拟空间中的法线方向;
显示模块,用于根据每个目标地面像素点在所述虚拟空间中的法线方向,显示所述虚拟空间所对应的动画图像。
13.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至11任一所述的图像显示方法的步骤。
14.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至11任一所述的图像显示方法的步骤。
CN202010319313.9A 2020-04-21 2020-04-21 一种图像显示方法、装置、电子设备及可读存储介质 Active CN111494943B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010319313.9A CN111494943B (zh) 2020-04-21 2020-04-21 一种图像显示方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010319313.9A CN111494943B (zh) 2020-04-21 2020-04-21 一种图像显示方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN111494943A CN111494943A (zh) 2020-08-07
CN111494943B true CN111494943B (zh) 2023-03-31

Family

ID=71865988

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010319313.9A Active CN111494943B (zh) 2020-04-21 2020-04-21 一种图像显示方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111494943B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762492A (zh) * 2018-05-14 2018-11-06 歌尔科技有限公司 基于虚拟场景实现信息处理的方法、装置、设备及存储介质
CN109461199A (zh) * 2018-11-15 2019-03-12 腾讯科技(深圳)有限公司 画面渲染方法和装置、存储介质及电子装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108762492A (zh) * 2018-05-14 2018-11-06 歌尔科技有限公司 基于虚拟场景实现信息处理的方法、装置、设备及存储介质
CN109461199A (zh) * 2018-11-15 2019-03-12 腾讯科技(深圳)有限公司 画面渲染方法和装置、存储介质及电子装置

Also Published As

Publication number Publication date
CN111494943A (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
CN107251101B (zh) 针对使用具有参数的标记的增强现实的场景修改
CN109660783B (zh) 虚拟现实视差校正
CN108629843B (zh) 一种实现增强现实的方法及设备
CN109711246B (zh) 一种动态物体识别方法、计算机装置及可读存储介质
CN112287928A (zh) 一种提示方法、装置、电子设备及存储介质
US20070195083A1 (en) Image-based protruded displacement mapping method and bi-layered displacement mapping method using the same
CN110720215B (zh) 提供内容的设备和方法
CN101296378A (zh) 图像处理装置以及方法
CN111583381B (zh) 游戏资源图的渲染方法、装置及电子设备
CN101122464A (zh) 一种gps导航系统中道路显示方法、装置及设备
CN111583398B (zh) 图像显示的方法、装置、电子设备及计算机可读存储介质
KR100696966B1 (ko) 화상 처리
KR100723422B1 (ko) 포인트 기반 렌더링 장치와 방법 및 컴퓨터 프로그램을 저장한 컴퓨터로 읽을 수 있는 기록매체
JP4463597B2 (ja) 3次元描画モデル生成方法及びそのプログラム
CN111080762B (zh) 虚拟模型渲染方法及装置
CN111651055A (zh) 城市虚拟沙盘展示方法、装置、计算机设备及存储介质
KR101508388B1 (ko) 밉맵 생성 장치 및 방법
CN111494943B (zh) 一种图像显示方法、装置、电子设备及可读存储介质
Deepu et al. 3D Reconstruction from Single 2D Image
CN116012542A (zh) 一种地震灾害动态可视化方法和装置
CN114219888A (zh) 三维角色动态剪影效果生成方法及装置、存储介质
CN113345107A (zh) 增强现实数据展示方法、装置、电子设备及存储介质
CN117079169B (zh) 一种地图场景适配方法及系统
CN111798504A (zh) 渲染方法及装置
CN117011474B (zh) 鱼眼图像样本生成方法、装置、计算机设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant