虚拟对象更新方法及装置与流程

文档序号:32788491发布日期:2023-01-03 20:13阅读:18来源:国知局
虚拟对象更新方法及装置与流程

1.本技术涉及计算机技术领域,特别涉及一种虚拟对象更新方法。本技术同时涉及一种虚拟对象更新装置、一种图像帧生成方法、一种图像帧生成装置、一种计算设备,以及一种计算机可读存储介质。


背景技术:

2.随着互联网技术的发展,计算机图形学的应用也越来越广泛。现实生活中,人们对虚拟场景真实程度的要求也不断提高,在虚拟现实、游戏、动画制作等领域,在虚拟场景绘制时,为了创造出一个充满活力、有生命力的世界,不可避免的需要在虚拟场景中融入风力因素,考虑风对植被、物品(衣服、旗帜、灯笼)的影响,进而增强虚拟场景绘制的真实感。
3.现有技术中,通常采用设置全局风场的方法实现对虚拟场景中植被、物品进行统一绘制,然而这将导致虚拟场景中包含的植被、物品等运动方向相同,无法体现不同的植被、物品间的差异性,因此,亟需一种虚拟对象更新方法以解决上述问题。


技术实现要素:

4.有鉴于此,本技术实施例提供了一种虚拟对象更新方法,以解决现有技术中存在的技术缺陷。本技术实施例同时提供了一种虚拟对象更新装置,一种图像帧生成方法,一种图像帧生成装置,一种计算设备,以及一种计算机可读存储介质。
5.根据本技术实施例的第一方面,提供了一种虚拟对象更新方法,包括:
6.确定虚拟场景的全局风场,以及针对所述虚拟场景预置的区域风场,其中,所述区域风场位于所述全局风场内;
7.在所述全局风场中确定与所述区域风场关联的局部风场;
8.根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;
9.基于所述风场叠加参数确定所述虚拟场景中虚拟对象的形态变化参数,并根据所述形态变化参数对所述虚拟对象的形态进行更新。
10.可选地,所述确定虚拟场景的全局风场,以及针对所述虚拟场景预置的区域风场步骤执行之前,还包括:
11.基于所述虚拟场景对应的地貌信息确定区域风力参数;
12.根据所述区域风力参数在所述全局风场内生成区域风场。
13.可选地,所述基于所述虚拟场景对应的地貌信息确定区域风力参数,包括:
14.基于所述虚拟场景对应的地貌信息,在预置的风力参数中选择与所述地貌信息对应的风力参数,作为所述虚拟场景中子虚拟场景的区域风力参数;
15.相应的,所述根据所述区域风力参数在所述全局风场内生成区域风场,包括:
16.根据所述区域风力参数在所述全局风场内生成所述子虚拟场景的区域风场。
17.可选地,在所述全局风场内包含至少两个区域风场,且至少两个区域风场之间存
在位置关联关系的情况下,所述根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数,包括:
18.在所述位置关联关系为重叠关系的情况下,根据每个区域风场的风力权重和区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;
19.在所述位置关联关系为相交关系的情况下,确定所述局部风场和至少两个区域风场的区域相交风场,以及每个区域风场与局部风场的局部相交风场;根据每个区域风场的风力权重、区域风场参数以及所述局部风场参数计算所述区域相交风场的区域相交风场参数,以及计算每个局部相交风场对应的局部相交风场参数;将所述区域相交风场参数和所述局部相交风场参数作为所述风场叠加参数。
20.可选地,在所述位置关联关系为相交关系的情况下,所述基于所述风场叠加参数确定所述虚拟场景中虚拟对象的形态变化参数,包括:
21.在所述虚拟场景中确定所述区域相交风场包含的第一虚拟对象,并基于所述区域相交风场参数确定所述第一虚拟对象的形态变化参数;
22.在所述虚拟场景中确定所述局部相交风场包含的第二虚拟对象,并基于所述局部相交风场参数确定所述第二虚拟对象的形态变化参数。
23.可选地,所述根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数,包括:
24.根据当前帧中全局风场的全局风场参数确定局部风场的局部风场参数,以及确定当前帧中所述区域风场的区域风场参数;
25.对所述区域风场参数和所述局部风场参数进行叠加计算,获得风场叠加参数。
26.可选地,所述基于所述风场叠加参数确定所述虚拟场景中虚拟对象的形态变化参数,包括:
27.确定所述虚拟场景中虚拟对象的至少一个对象节点;
28.基于所述风场叠加参数确定每个对象节点的节点变化参数;
29.根据每个对象节点的节点变化参数确定所述虚拟对象的形态变化参数。
30.可选地,所述虚拟对象的任意一个对象节点的节点变化参数的确定,包括:
31.确定所述虚拟对象中对象节点的属性信息;
32.根据所述对象节点的属性信息以及所述风场叠加参数确定所述对象节点的节点变化参数。
33.可选地,所述根据所述形态变化参数对所述虚拟对象的形态进行更新,包括:
34.确定所述虚拟对象的初始形态参数;
35.基于所述初始形态参数和所述形态变化参数对所述虚拟对象的形态进行更新。
36.可选地,所述基于所述风场叠加参数确定所述虚拟场景中虚拟对象的形态变化参数,包括:
37.确定所述虚拟场景中所述区域风场包含的第三虚拟对象;
38.将所述第三虚拟对象作为所述虚拟对象,并基于所述风场叠加参数确定所述虚拟场景中虚拟对象的形态变化参数。
39.可选地,所述根据所述形态变化参数对所述虚拟对象的形态进行更新步骤执行之后,还包括:
40.确定所述虚拟场景中所述区域风场未包含的第四虚拟对象;
41.基于所述全局风场的全局风场参数确定所述第四虚拟对象的状态变化参数;
42.根据所述状态变化参数对所述第四虚拟对象的形态进行更新;
43.根据所述第三虚拟对象的形态更新结果和所述第四虚拟对象的形态更新结果生成目标图像帧。
44.根据本技术实施例的第二方面,提供了一种虚拟对象更新装置,包括:
45.确定模块,被配置为确定虚拟场景的全局风场,以及针对所述虚拟场景预置的区域风场,其中,所述区域风场位于所述全局风场内;
46.处理模块,被配置为在所述全局风场中确定与所述区域风场关联的局部风场;
47.计算模块,被配置为根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;
48.更新模块,被配置为基于所述风场叠加参数确定所述虚拟场景中虚拟对象的形态变化参数,并根据所述形态变化参数对所述虚拟对象的形态进行更新。
49.根据本技术实施例的第三方面,提供了一种图像帧生成方法,包括
50.在初始图像帧中确定虚拟场景的全局风场,以及针对所述虚拟场景预置的区域风场,其中,所述区域风场位于所述全局风场内;
51.在所述全局风场中确定与所述区域风场关联的局部风场;
52.根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;
53.基于所述风场叠加参数对所述虚拟场景中虚拟对象的形态进行更新,生成目标图像帧。
54.根据本技术实施例的第四方面,提供了一种图像帧生成装置,包括:
55.风场确定模块,被配置为在初始图像帧中确定虚拟场景的全局风场,以及针对所述虚拟场景预置的区域风场,其中,所述区域风场位于所述全局风场内;
56.风场处理模块,被配置为在所述全局风场中确定与所述区域风场关联的局部风场;
57.参数计算模块,被配置为根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;
58.图像帧生成模块,被配置为基于所述风场叠加参数对所述虚拟场景中虚拟对象的形态进行更新,生成目标图像帧。
59.根据本技术实施例的第五方面,提供了一种计算设备,包括:
60.存储器和处理器;
61.所述存储器用于存储计算机可执行指令,所述处理器执行所述计算机可执行指令时实现所述虚拟对象更新方法的步骤。
62.根据本技术实施例的第六方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述虚拟对象更新方法的步骤。
63.根据本技术实施例的第七方面,提供了一种芯片,其存储有计算机程序,该计算机程序被芯片执行时实现所述虚拟对象更新方法的步骤。
64.本技术提供的虚拟对象更新方法,通过确定虚拟场景的全局风场,以及针对所述
虚拟场景预置的区域风场,其中,所述区域风场位于所述全局风场内;在所述全局风场中确定与所述区域风场关联的局部风场;根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;基于所述风场叠加参数确定所述虚拟场景中虚拟对象的形态变化参数,并根据所述形态变化参数对所述虚拟对象的形态进行更新。
65.基于区域风场参数和局部风场参数计算风场叠加参数,从而对虚拟场景中虚拟对象的形态进行更新,进而使得虚拟对象的形态变化更加接近真实形态变化的效果,增强视觉效果。在对虚拟对象的形态进行更新时,将区域风场参数融入到形态变化参数中,进而使得虚拟场景中的虚拟对象的形态变化具有差异性,增强虚拟对象形态变化的真实感。
附图说明
66.图1是本技术一实施例提供的一种虚拟对象更新方法的结构示意图;
67.图2-1是本技术一实施例提供的一种虚拟对象更新方法的流程图;
68.图2-2是本技术一实施例提供的一种虚拟对象更新方法的示意图;
69.图3是本技术一实施例提供的一种应用于游戏场景更新的虚拟对象更新方法的处理流程图;
70.图4是本技术一实施例提供的一种虚拟对象更新装置的结构示意图;
71.图5是本技术一实施例提供的一种图像帧生成方法的流程图;
72.图6是本技术一实施例提供的一种图像帧生成装置的结构示意图;
73.图7是本技术一实施例提供的一种计算设备的结构框图。
具体实施方式
74.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
75.在本技术一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术一个或多个实施例。在本技术一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本技术一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
76.应当理解,尽管在本技术一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。
77.在本技术中,提供了一种虚拟对象更新方法。本技术同时涉及一种虚拟对象更新装置、一种图像帧生成方法、一种图像帧生成装置、一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
78.随着三维游戏、动画的发展,创造出一个充满活力的、有生命力的世界变得尤为重要,风的强弱不仅可以烘托环境氛围,还可以营造气氛。风成为游戏、动画中的标准功能,现有的游戏或动画环境中,简单的植被和风的表现不够统一,相对独立。很多虚拟场景中的风
只是用一个普通的周期函数模拟风力向量的强度和偏移强度,使一些灌木来回运动产生风场的效果。或者使用一张滚动的2d噪音图定义风的强度变化信息,控制植被的朝向。也有通过顶点色控制摆动的方向和强度。但是这样的风场无法模拟自然界风的真实动态效果,同时无法解决大片植被受风时的运动重复感。为加强游戏环境的代入感,增强风和植被运动的真实感。本技术一实施例,自动化烘培出贴合地形的3d风力向量场,通过变换叠加风场来影响风场参数,关联植被动画。基于地形烘培出3d贴图存储风力向量信息,可模拟出贴合场景的自然独特的三维涡流场,更加自然的模拟风在三维场景中的平流,扩散效果,形成一种低消耗的统一环境风场。
79.图1示出了虚拟对象更新方法的结构示意图。在游戏场景、动画场景下,为了增强场景的代入感,使场景内风力对植被、物品形态影响更具真实性,通常采用在场景中添加风场的方式,实现风对场景中的物体的影响。参见图1所示的虚拟对象更新方法的结构示意图,设置与虚拟场景贴合的全局风场。针对虚拟场景预置区域风场,使得区域风场在全局风场内。在全局风场中确定与区域风场关联的局部风场,即,将全局风场的部分风场作为与区域风场对应的局部风场。
80.通过叠加计算区域风场和局部风场的风场参数,获得风场叠加参数。实现根据局部风场,区域风场分别对应的风强、风速、方向等参数计算作用于区域风场包含的物体的风场叠加参数。基于计算得到的风场叠加参数对区域风场中的物体进行形态更新。在客户端展示包含发生形态变化,以及未发生形态变化的植被、云等物体的图像帧。实现在同一场景中物体受风力影响的形态变化具有差异性,增强虚拟对象形态变化的真实感,更好的模拟自然风下物体的形态变化。
81.图2-1示出了根据本技术一实施例提供的一种虚拟对象更新方法的流程图,具体包括以下步骤:
82.步骤s202:确定虚拟场景的全局风场,以及针对所述虚拟场景预置的区域风场,其中,所述区域风场位于所述全局风场内。
83.具体的,虚拟场景可以是游戏场景或动画场景,在游戏制作以及动画制作过程中,虚拟场景即为绘制的游戏场景或动画场景。虚拟场景中可以包含自然环境、人文环境,场景中包括但不限于树木、草场、人物、建筑、山体、云、旗帜、灯笼等多种虚拟对象。全局风场由3d风力向量场和脚本控制的滚动贴图组成,全局风场覆盖全部虚拟场景,通过设置全局风场的风力、风向、风强等参数使得全局风场作用于虚拟场景中的物体,全局风场使用一张无缝的噪声图,使用脚本控制其在虚拟场景中滚动,形成全局变化的风场,全局风场可以随着时间的推移而改变,也可以随着玩家在虚拟场景中位置的变化而变化。全局风场内预置有风力、风向、风强等参数区别于全局风场的区域风场,区域风场为3d风力向量场,用于实现对虚拟环境中部分物体的形态的影响,突出虚拟场景中局部场景风力的效果。
84.基于此,获取虚拟场景,并确定与虚拟场景包含的全部区域贴合的全局风场。全局风场中预置有至少一个风场体积小于全局风场的区域风场,且区域风场对应的风力、风向、风强等参数与全局风场对应的风力、风向、风强等参数存在差异。在确定了虚拟场景以及与虚拟场景对应的全局风场后,可以在预置的区域风场中选择至少一个区域风场放置在全局风场内。以便于后续基于区域风场和全局风场进行参数计算。
85.实际应用中,在虚拟场景为游戏场景或动画场景的情况下,虚拟场景可以是包含
人物、植被等物体的游戏场景或动画场景。场景中包含作用于场景内全部物体的全局风场。再在预置的区域风场中选择至少一个区域风场放置在全局风场中。其中,区域风场可以是根据游戏制作或动画制作需求预先创建的,还可以是根据当前虚拟场景的地形、地貌、全局风场等,通过设置风场参数创建的。
86.进一步的,在确定虚拟场景的全局风场之前,考虑到区域风场的绘制需要消耗时间、计算资源等,因此可以预先根据虚拟场景的地貌信息创建至少一个区域风场,具体实现如下:
87.基于所述虚拟场景对应的地貌信息确定区域风力参数;根据所述区域风力参数在所述全局风场内生成区域风场。
88.具体的,地貌信息是指虚拟场景中包含的人文环境、自然环境等对应的环境信息,其中,自然环境对应的环境信息可以是地形、地势、以及植被的面积、种类、高度等;人文环境对应的环境信息则可以是人文环境中包含的旗帜、灯笼、人物等信息;相应的,区域风力参数即为根据地貌信息确定的将要创建的区域风场的风力、风向、风强、扰动场、衰减值等动力学参数值,用于创建在风力、风强、风速等方面具有变化规律的区域风场。
89.基于此,区域风场可以基于虚拟场景的地貌信息预先生成。根据虚拟场景的地貌信息确定用于生成区域风场的区域风力参数,进而基于区域风力参数在全局风场内生成区域风场,实现区域风场的预置。用于后续根据虚拟场景以及全局风场选择预置的区域风场。
90.举例说明,在动画场景绘制时,使用脚本控制四方连续的噪声图在动画场景中滚动定义场景内的全局风,形成一个全局变化的风场。针对动画场景中包含的平原、山地等地貌信息,确定作用于指定动画区域的物体的风力参数,进而根据确定的风力参数在全局风场内生成至少一个区域风场,即,针对平原地貌生成一个区域风场,针对山地地貌生成一个区域风场。
91.综上所述,基于虚拟场景地貌信息确定的区域风力参数,在全局风场内生成区域风场,进而实现针对虚拟场景中不同的地貌信息生成不同风力参数的区域风场,提高了全局风场内区域风场的多样性。
92.进一步的,考虑到针对每个虚拟场景均重新确定区域风力参数,生成区域风场将浪费大量的计算、内存等资源,且随着生成的区域风场越来越多,区域风场之间区域风场参数的重复率也会提高,因此在确定区域风场参数时,可以在历史区域风场参数中选择,或者获取到历史区域风场参数后,根据实际需求适当进行参数调整,具体实现如下:
93.基于所述虚拟场景对应的地貌信息,在预置的风力参数中选择与所述地貌信息对应的风力参数,作为所述虚拟场景中子虚拟场景的区域风力参数;相应的,所述根据所述区域风力参数在所述全局风场内生成区域风场,包括:根据所述区域风力参数在所述全局风场内生成所述子虚拟场景的区域风场。
94.具体的,预置的风力参数可以理解为历史风力参数,即根据当前虚拟场景预先设置的风力参数,或基于历史虚拟场景设置的风力参数;子虚拟场景是根据虚拟场景的地貌、地形等信息对虚拟场景进行划分获得的虚拟场景;在虚拟场景为游戏地图的情况下,游戏地图中可以包括树木、草场、人物、云朵、平原、山地、盆地等多种地形和物体,因此可以根据地形和物体对游戏地图进行划分,将远处的树木、草场、人物等划分为一个地图区域,将近处的人物、草场、树木等划分为一个区域,或者根据平原、山地、地形等地貌特征对游戏地图
进行区域划分,划分得到的每个区域均为一个子虚拟场景。
95.基于此,确定预置的多组风力参数,以及虚拟场景对应的地貌信息。根据确定的虚拟场景的地貌信息在预置的风力参数中,选择与地貌信息匹配的风力参数,作为虚拟场景中子虚拟场景的区域风力参数;相应的,在根据区域风力参数在全局风场内生成区域风场时,即可根据区域风力参数在全局风场内生成子虚拟场景的区域风场。
96.沿用上例,针对动画场景中包含的平原、山地等地貌信息,确定作用于指定动画区域的物体的风力参数时,可以在预置的风力参数中选择。在预置的风力参数中确定与动画场景中包含的平原、山地等地貌信息匹配的风力参数,进而根据确定的风力参数在全局风场内生成至少一个区域风场。
97.综上所述,基于虚拟场景对应的地貌信息在预置的风力参数中,选择与地貌信息对应的风力参数,作为虚拟场景中子虚拟场景的区域风力参数,进而避免了基于地貌信息重新设置风力参数,进而提高了区域风场的生成效率。
98.步骤s204:在所述全局风场中确定与所述区域风场关联的局部风场。
99.具体的,在上述确定了虚拟场景的全局风场,以及针对虚拟场景预置的区域风场后,为了在虚拟场景中加入区域风场对虚拟场景中包含的虚拟对象的形态的影响,还需要在全局风场中确定与区域风场关联的局部风场,其中,局部风场是指全局风场中的部分风场,即全局风场中与区域风场的风场体积匹配的部分风场,局部风场与区域风场的风场体积相同,即,二者所占据的三维空间具有空间重叠关系。
100.基于此,在确定了虚拟场景的全局风场,以及针对虚拟场景预置的区域风场后,在全局风场中确定与区域风场关联的局部风场,即根据区域风场在全局风场中所处的位置,以及占据的空间,在全局风场中划分出与区域风场的位置、空间匹配的部分风场作为局部风场。
101.实际应用中,在全局风场内生成了区域风场后,由于区域风场可以是根据虚拟场景的地貌信息生成的,因此区域风场作用于虚拟场景中与地貌信息对应的地貌区域。由于区域风场处于全局风场的特定位置,因此确定的局部风场也为该特定位置对应的部分风场,即,局部风场与区域风场处于全局风场内的同一位置。
102.步骤s206:根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数。
103.具体的,在上述确定了虚拟场景的全局风场,针对虚拟场景预置的区域风场,以及在全局风场中确定了与区域风场关联的局部风场后,即可根据区域风场和局部风场计算风场叠加参数,其中,区域风场参数是指在当前时刻基于区域风场确定的区域风场的风力强度、风力方向、风速等参数,即,在当前时刻对区域风场的风场参数进行采样,获得区域风场参数;相应的,局部风场参数是指在当前时刻基于局部风场确定的局部风场的风力强度、风力方向、风速等参数,即,在当前时刻对局部风场的风场参数进行采样,获得局部风场参数;风场叠加参数是指对区域风场参数和局部风场参数进行叠加计算获得的风场参数,实现基于区域风场参数和局部风场参数确定作用于区域风场包含的虚拟对象的参数。
104.基于此,在确定了虚拟场景的全局风场,针对虚拟场景预置的区域风场,以及在全局风场中确定了与区域风场关联的局部风场后,即可确定区域风场当前时刻的风力强度、风力方向、风速等区域风场参数,以及局部风场当前时刻的风力强度、风力方向、风速等风
场参数,并对区域风场当前时刻的风力强度、风力方向、风速等区域风场参数和局部风场当前时刻的风力强度、风力方向、风速等风场参数进行叠加计算,获得风场叠加参数。
105.实际应用中,在区域风场与局部风场分别对应的风向相同时,实现对风强、风速的叠加,获得更强的风强和更高的风速;在区域风场与局部风场分别对应的风向相返或存在偏移、旋转等效果时,对区域风场与局部风场分别对应的风强、风速进行抵消与融合处理,获得处理后的风场参数,将该风场参数作用于区域风场包含的物体,使得物体的形态变化更具真实感。
106.进一步的,考虑到虚拟场景中包含的地形种类较多,针对不同的地形基于不同的区域风场参数生成了不同的区域风场,考虑到不同的区域风场之间存在重叠、相交、相邻等多种位置关系,因此在计算风场叠加参数时,还需要考虑区域风场之间的相互影响,具体实现如下:
107.在所述全局风场内包含至少两个区域风场,且至少两个区域风场之间存在位置关联关系的情况下,计算风场叠加参数。
108.在所述位置关联关系为重叠关系的情况下,根据每个区域风场的风力权重和区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;
109.在所述位置关联关系为相交关系的情况下,确定所述局部风场和至少两个区域风场的区域相交风场,以及每个区域风场与局部风场的局部相交风场;根据每个区域风场的风力权重、区域风场参数以及所述局部风场参数计算所述区域相交风场的区域相交风场参数,以及计算每个局部相交风场对应的局部相交风场参数;将所述区域相交风场参数和所述局部相交风场参数作为所述风场叠加参数。
110.具体的,风力权重为针对每个区域风场预先设置的权重,用于表示区域风场的影响程度;相交关系是指区域风场之间存在的位置关系,区域风场之间部分区域重叠,则视重叠的区域为相交区域,相应的,区域相交风场即为局部风场和至少两个区域风场三者重叠的部分风场区域;局部相交风场即为局部风场分别和一个区域风场相交的部分区域风场;相应的,区域相交风场参数即为局部风场和至少两个区域风场三者重叠的部分风场区域对应的风场参数。
111.基于此,在至少两个区域风场之间的位置关联关系为相交关系的情况下,表示至少两个区域风场之间全部重叠或部分重叠。因此,在至少两个区域风场完全重叠时确定局部风场和至少两个区域风场的区域相交风场,在至少两个区域风场之间不完全重叠时,确定每个区域风场与局部风场的局部相交风场。根据每个区域风场的风力权重、区域风场参数以及局部风场参数计算区域相交风场的区域相交风场参数,以及计算每个局部相交风场对应的局部相交风场参数。将区域相交风场参数和局部相交风场参数作为所述风场叠加参数。
112.沿用上例,如图2-2中(a)所示,全局风场a中包含区域风场b和区域风场c,区域风场b和区域风场c相交,相交处为区域相交风场,全局风场a与区域风场b、全局风场a与区域风场c重叠的部分分别为局部相交风场b和局部相交风场c。在计算风场叠加参数时,分别计算区域相交风场的风场叠加参数,以及局部相交风场b和局部相交风场c分别对应的风场叠加参数b和风场叠加参数c。
113.综上所述,在全局风场内包含至少两个区域风场,且至少两个区域风场之间存在
位置关联关系的情况下,根据至少两个区域风场之间,以及区域风场和局部风场之间的重叠区域分别计算每个重叠区域的风场叠加参数,进而获得针对一个区域风场不同区域的风场叠加参数,提高了风场区域对应的风场叠加参数的多样性。
114.进一步的,考虑到虚拟场景中在全局风场内又生成了区域风场,为了将区域风场对虚拟场景中虚拟对象的影响体现在虚拟场景中,在确定用于更新虚拟对象的形态的参数时,则需要对全局风场中的局部风场的局部风场参数和区域风场的区域风场参数进行叠加计算,具体实现如下:
115.根据当前帧中全局风场的全局风场参数确定局部风场的局部风场参数,以及确定当前帧中所述区域风场的区域风场参数;对所述区域风场参数和所述局部风场参数进行叠加计算,获得风场叠加参数。
116.基于此,当前帧是指当前时刻虚拟场景对应的图像帧。在计算风场叠加参数时,需要计算每一图像帧的风场叠加参数,根据图像帧之间的转换关系确定风场叠加参数的变化情况。确定虚拟场景对应的当前图像帧,根据当前图像帧中全局风场的全局风场参数计算当期图像帧中局部风场的局部风场参数,以及区域风场的区域风场参数,对区域风场参数和局部风场参数进行叠加计算,获得风场叠加参数。具体的叠加计算方法可以是,确定区域风场的风力方向向量,区域风场的风力强度,以及全局风场的变化风场,根据公式:全局风场的变化风场+区域风场的风力方向向量*区域风场的风力强度,计算风场叠加参数。
117.实际应用中,区域风场为3d风力向量场,获取3d风力向量场的风力方向向量:velocitygriddir.xyz,3d风力向量场的风力强度velocitygriddir.w,以及全局风场的变化风场winddirection,通过计算winddirection+velocitygriddir.xyz*velocitygriddir.w,获得风场叠加参数。
118.综上所述,根据每一帧对应的局部风场参数和区域风场参数叠加计算风场叠加参数,进而基于风场叠加参数对区域风场内包含的虚拟对象进行形态更新,使得虚拟场景中不同区域风场内的虚拟对象的形态变化不同,提高虚拟对象形态变化的差异性。
119.步骤s208:基于所述风场叠加参数确定所述虚拟场景中虚拟对象的形态变化参数,并根据所述形态变化参数对所述虚拟对象的形态进行更新。
120.具体的,在上述根据区域风场的区域风场参数,以及局部风场的局部风场参数计算出风场叠加参数后,即可基于计算得到的风场叠加参数对虚拟场景中,风场区域包含的虚拟对象的形态进行更新,其中,形态变化参数是指用于对虚拟对象的形态进行更新的参数,用于实现将上一图像帧中虚拟对象的形态更新为当前图像帧中虚拟对象的形态,对多个图像帧进行处理进而营造出虚拟对象随风摆动的氛围。
121.基于此,在根据区域风场的区域风场参数,以及局部风场的局部风场参数计算出风场叠加参数后,基于风场叠加参数确定虚拟场景中,区域风场内包含的虚拟对象的形态变化参数,根据计算得到的形态变化参数对虚拟对象的形态进行更新,实现虚拟对象受风力影响发生偏移的效果。
122.进一步的,由于区域风场中包含不止一个区域风场,考虑到区间风场中包含的区域风场之间的影响,一个区域风场的不同区域的虚拟对象可能对应着不同的形态变化参数,因此在对虚拟对象进行形态更新时,使用的形态变化参数也不同,具体实现如下:
123.在所述位置关联关系为相交关系的情况下,计算形态变化参数。在所述虚拟场景
中确定所述区域相交风场包含的第一虚拟对象,并基于所述区域相交风场参数确定所述第一虚拟对象的形态变化参数;在所述虚拟场景中确定所述局部相交风场包含的第二虚拟对象,并基于所述局部相交风场参数确定所述第二虚拟对象的形态变化参数。
124.具体的,第一虚拟对象是指全局风场中,至少两个区域风场相交时,相交区域包含的虚拟对象,相应的第二虚拟对象是指全局风场中至少两个区域风场相交时,区域风场中除相交区域之外的区域包含的虚拟对象。
125.基于此,在至少两个区域风场的位置关联关系为相交关系的情况下,计算形态变化参数。在虚拟场景中根据至少两个区域风场确定区域相交风场包含的第一虚拟对象,并基于区域相交风场参数确定第一虚拟对象的形态变化参数;在虚拟场景中根据至少两个区域风场确定局部相交风场包含的第二虚拟对象,并基于局部相交风场参数确定第二虚拟对象的形态变化参数。
126.沿用上例,如图2-2中(b)所示,在确定了区域相交风场的风场叠加参数,以及局部相交风场b和局部相交风场c分别对应的风场叠加参数b和风场叠加参数c后,根据区域相交风场的风场叠加参数确定区域相交风场内包含的虚拟对象“花朵”的形态变化参数;根据风场叠加参数b确定局部相交风场b包含的虚拟对象“草”的形态变化参数;根据和风场叠加参数c确定局部相交风场c包含的虚拟对象“树”的形态变化参数。
127.综上所述,在虚拟场景中分别确定区域相交风场包含的第一虚拟对象,以及局部相交风场包含的第二虚拟对象,进而分别区域相交风场参数和局部相交风场参数确定第一虚拟对象和第二虚拟对象的形态变化参数,实现不同区域的虚拟对象的形态变化参数不同,提高了虚拟对象形态变化的多样性。
128.进一步的,在确定了风场叠加参数后,考虑到虚拟场景中虚拟对象可能为树木、草、花朵、旗帜等任意物体,每个物体的结构又各不相同,例如树,根据树的结构可以将树划分为树干、树枝和树叶等部分,由于各部分刚度不同,受风力影响的程度不同,各部分的弯曲程度也不同,不同的结构对应的变化参数也不同,因此可以根据虚拟对象各个组成部分对应的变化参数计算虚拟对象的形态变化参数,具体实现如下:
129.确定所述虚拟场景中虚拟对象的至少一个对象节点;基于所述风场叠加参数确定每个对象节点的节点变化参数;根据每个对象节点的节点变化参数确定所述虚拟对象的形态变化参数。
130.具体的,对象节点是指虚拟对象中各个组成部分对应的节点,在虚拟对象为树时,根据树干、树枝和树叶的结构,可以在每个结构中确定多个对象节点,可以根据树枝的长度,将树枝靠近树干的部分作为一个节点,将树枝的末端作为一个节点,在树枝的中间部位确定另一个节点,相应的,节点变化参数即为每个节点对应的参数,用于表示每个节点受风力影响的影响程度。
131.基于此,根据虚拟场景中虚拟对象的结构确定虚拟场景中虚拟对象的至少一个对象节点,根据计算获得的风场叠加参数以及每个对象节点的刚度等信息确定每个对象节点的节点变化参数。由每个对象节点的节点变化参数组成虚拟对象的形态变化参数。进而根据形态变化参数对虚拟对象的形态进行更新。
132.进一步的,在确定虚拟对象中任意一个对象节点的节点变化参数时,考虑到每个对象节点在虚拟对象中所处的位置不同,因此针对不同位置的节点受风力影响变化程度也
不同,因此需要根据实际生活中对象节点属性确定对象节点的节点变化参数,具体实现如下:
133.确定所述虚拟对象中对象节点的属性信息;根据所述对象节点的属性信息以及所述风场叠加参数确定所述对象节点的节点变化参数。
134.具体的,根据对象节点的属性信息可以确定对象节点受风力影响的影响程度,在对象节点为树干对应的节点时,由于树干的刚度较强,受风力影响弯曲程度较轻;在对象节点为树枝时,由于树枝较长,树枝不同部位受风力影响弯曲程度也不同,越靠近树枝末端刚度越弱,也更易于受风力影响。属性信息即为虚拟对象的刚度,长度,结构,受力面积,形状等信息,需要说明的是,可以使用刚度参数:修改虚拟对象的运动幅度,在虚拟对象为树的情况下,e是每个树种特有的弹性模量,b、t和l分别是树枝的宽度、厚度和长度。
135.基于此,在确定了虚拟对象包含的各个对象节点后,即可确定虚拟对象中各个对象节点的属性信息,进而根据各个对象节点的属性信息以及风场叠加参数确定对象节点的节点变化参数。
136.沿用上例,如图2-2中(c)所示,在确定各个区域的虚拟对象的形态变化参数时,可以先稳定虚拟对象包含的各个节点。针对区域相交风场内包含的虚拟对象“花朵”可以在每朵花瓣中确定1个或多个花瓣节点,在每片叶子中确定1个或多个叶子节点,在花茎中确定1个或多个花茎节点,并根据每个节点的柔韧度以及受风力影响后摆动幅度确定每个节点的形态变化参数;相应的,确定局部相交风场b包含的虚拟对象“草”对应的每个节点的形态变化参数,以及局部相交风场c包含的虚拟对象“树”对应的每个节点的形态变化参数。
137.综上所述,根据虚拟对象中对象节点的属性信息分别确定每个节点的节点变化参数,进而获得虚拟对象的形态变化参数,从而实现根据虚拟对象各个组成部分的属性信息确定虚拟对象中不同部位的变化参数,提高虚拟对象形态变化的真实感。
138.进一步的,考虑到虚拟场景中虚拟对象是受风力的影响不断摆动的,为了实现摆动的效果,可以分别计算每一帧中虚拟对象的形态变化参数,进而基于每一帧的参数变化情况实现逐帧更新,进而实现由多个帧组成的场景动画,具体实现如下:
139.确定所述虚拟对象的初始形态参数;基于所述初始形态参数和所述形态变化参数对所述虚拟对象的形态进行更新。
140.基于此,初始形态参数是指虚拟对象初始状态下的形态参数,在对虚拟对象的形态进行更新时,是基于虚拟对象的初始形态进行更新。确定虚拟对象的初始形态参数,基于形态变化参数对初始形态参数进行更新,实现虚拟对象微小的形态变化。
141.沿用上例,如图2-2中(b)所示,图2-2中(b)中的“花朵”,“草”,“树”的形态即为初始形态,相应的,当前形态对应的形态参数即为初始形态参数。当确定了“花朵”,“草”,“树”分别对应的形态变化参数后,即可基于“花朵”,“草”,“树”分别对应的形态变化参数,分别对“花朵”,“草”,“树”的形态进行更新,获得如图2-2中(c)所示的形态更新后的“花朵”,“草”,“树”。
142.综上所述,基于虚拟对象的初始形态参数和形态变化参数对虚拟对象的形态进行更新,提高了虚拟对象形态变化的准确性,实现了虚拟对象的形态逐步变化的效果,增强了虚拟对象形态变化的真实程度。
143.进一步的,考虑到虚拟场景中包含的虚拟对象的种类和数量较多,且各个虚拟对象分布在虚拟场景的多个区域,在对虚拟场景中虚拟对象的形态进行更新时,则需要实现全局更新,具体实现如下:
144.确定所述虚拟场景中所述区域风场包含的第三虚拟对象;将所述第三虚拟对象作为所述虚拟对象,并基于所述风场叠加参数确定所述虚拟场景中虚拟对象的形态变化参数。
145.基于此,第三虚拟对象是指虚拟场景中区域风场包含的虚拟对象;在虚拟场景中生成区域风场时,存在区域风场不能完全覆盖虚拟场景的情况,因此将虚拟场景中区域风场中包含的第三虚拟对象作为虚拟对象,进而基于计算得到的风场叠加参数确定虚拟场景中区域风场包含的虚拟对象的形态变化参数。
146.进一步的,考虑到虚拟场景中可能存在多个区域风场,同时虚拟场景中还存在未被区域风场覆盖的区域,由于全局风场时随着时间的推移,人物的移动而不断变化的,因此在计算虚拟对象的形态变化参数时,则需要进行全局计算,计算每个区域包含的虚拟对象的形态变化参数,进而生成目标图像帧,具体实现如下:
147.确定所述虚拟场景中所述区域风场未包含的第四虚拟对象;基于所述全局风场的全局风场参数确定所述第四虚拟对象的状态变化参数;根据所述状态变化参数对所述第四虚拟对象的形态进行更新;根据所述第三虚拟对象的形态更新结果和所述第四虚拟对象的形态更新结果生成目标图像帧。
148.具体的,第四虚拟对象是指虚拟场景中未被区域风场包含的虚拟对象,因此第四虚拟对象的状态变化参数可以基于虚拟场景的全局风场确定;根据状态变化参数对第四虚拟对象的形态进行更新获得第四虚拟对象的形态更新结果。
149.基于此,确定虚拟场景中区域风场包含的第三虚拟对象,基于风场叠加参数确定虚拟场景中第三虚拟对象的形态变化参数;确定虚拟场景中区域风场未包含的第四虚拟对象,基于全局风场的全局风场参数确定第四虚拟对象的状态变化参数。根据所述状态变化参数对第四虚拟对象的形态进行更新,以及根据所述形态变化参数对第三虚拟对象的形态进行更新,进而根据第三虚拟对象的形态更新结果和第四虚拟对象的形态更新结果生成目标图像帧。实现对虚拟场景中全部虚拟对象的形态更新。
150.沿用上例,动画场景的全局风场中包含区域风场b、区域风场c,区域风场b和区域风场c重叠的区域相交风场,以及除上述区域风场之外的区域风场。在对动画场景中包含的虚拟对象的形态进行更新时,则需要分别对区域风场b中的“草”、区域风场c中的“树”,区域相交风场中的“花朵”,以及除上述区域风场之外的区域风场中的“树”分别进行更新,获得如图2-2中(d)所示的形态更新结果,进而生成图像帧。
151.综上所述,本技术提供的虚拟对象更新方法,通过确定虚拟场景的全局风场,以及针对所述虚拟场景预置的区域风场,其中,所述区域风场位于所述全局风场内;在所述全局风场中确定与所述区域风场关联的局部风场;根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;基于所述风场叠加参数确定所述虚拟场景中虚拟对象的形态变化参数,并根据所述形态变化参数对所述虚拟对象的形态进行更新。基于区域风场参数和局部风场参数计算风场叠加参数,从而对虚拟场景中虚拟对象的形态进行更新,进而使得虚拟对象的形态变化更加接近真实形态变化的效果,增强视觉效果。在
对虚拟对象的形态进行更新时,将区域风场参数融入到形态变化参数中,进而使得虚拟场景中的虚拟对象的形态变化具有差异性,增强虚拟对象形态变化的真实感。
152.下述结合附图3以本技术提供的虚拟对象更新方法对游戏场景更新的应用为例,对所述虚拟对象更新方法进行进一步说明。其中,图3示出了本技术一实施例提供的一种应用于游戏场景更新的虚拟对象更新方法的处理流程图,具体包括以下步骤:
153.步骤s302:基于虚拟场景的地形确定区域风力参数。
154.在虚拟场景为游戏场景的情况下,在三维游戏环境中,为了增强游戏环境的代入感,增强风和植被运动的真实感,基于游戏场景的地形确定与地形匹配的风力方向向量,强度,体积等风力参数。
155.步骤s304:根据区域风力参数在全局风场内生成区域风场。
156.根据确定的风力参数生成3d风力向量场,包括设置扰动场的强度值和衰减值,添加碰撞等。
157.步骤s306:确定虚拟场景的全局风场,以及针对虚拟场景预置的区域风场,并在全局风场中确定与区域风场关联的局部风场。
158.用脚本控制一张无缝的噪声图在游戏场景中滚动形成一个全局变化的风场。全局风场应用于游戏场景内所有的物体,可以随着时间的推移而改变,随着玩家在地图的位置坐标而变化。将全局风场中3d风力向量场所占据的空间对应的部分风场作为局部风场,进而在后续叠加计算风场参数时,基于局部风场和3d风力向量场进行计算。
159.步骤s308:在全局风场内包含存在位置关联关系的至少两个区域风场的情况下,确定位置关联关系类型。
160.考虑到全局风场中可能存在至少两个3d风力向量场,至少两个3d风力向量场之间的位置关系可以包括完全叠加和部分叠加,因此在后续叠加计算风场参数时,则需要针对多个风场进行叠加计算。
161.步骤s310:在位置关联关系类型为重叠关系时,根据每个区域风场的风力权重和区域风场参数,以及局部风场的局部风场参数计算风场叠加参数。
162.在至少两个3d风力向量场完全重叠的情况下,根据至少两个3d风力向量场以及与至少两个3d风力向量场对应的局部风场计算风场叠加参数。
163.步骤s312:在位置关联关系为相交关系的情况下,确定局部风场和至少两个区域风场的区域相交风场,以及每个区域风场与全局风场的局部相交风场。
164.在至少两个3d风力向量场部分区域重叠的情况下,则需要确定至少两个3d风力向量场重叠的区域,以及每个3d风力向量场分别与全局风场重叠的区域。
165.步骤s314:根据每个区域风场的风力权重、区域风场参数以及局部风场参数计算区域相交风场的区域相交风场参数,以及计算每个局部相交风场对应的局部相交风场参数。
166.根据每个3d风力向量场,以及全局风场的风力权重因子、风向、风速,强度等风力参数分别计算至少两个3d风力向量场重叠的区域、每个3d风力向量场分别与全局风场重叠的区域对应的风场叠加参数。
167.步骤s316:将区域相交风场参数和局部相交风场参数作为风场叠加参数。
168.步骤s318:确定虚拟场景中虚拟对象的至少一个对象节点。
169.在游戏场景中,虚拟对象可以是树木、草、花、人物等物体,由于各个物体的组成结构不同,所包含的层级不同,因此不同的物体需要赋予不同的运动参数和衡量指数,确定每个物体各个顶点信息的位置偏移数值,包括环境风场的方向,位移,强度等信息。
170.步骤s320:基于风场叠加参数和对象节点的属性信息确定每个对象节点的节点变化参数。
171.根据计算得到的风场叠加参数,确定物体每个顶点的变化参数,在对物体进行形态更新时,则是根据每个顶点的变化参数对物体的各个顶点进行位置的偏移和旋转。
172.在物体为树或灌木的情况下,树或灌木在风场中的实际运动取决于各种因素,例如树枝的刚度和长度、叶冠的大小和形状、风场条件以及树冠内部的湍流。考虑到真实的植被运动,为植被材质赋予了不同的运动参数和衡量指数,包括:植被顶点坐标的移动距离,植被运动从植被的顶点到尖端的可弯曲程度,叶片在受风时表现的刚性柔软度等。顶点一般是靠近枝干的部分,尖端是树枝或树叶的末端,越靠近枝干的部分弯曲的角度越小,越远离枝干的部分弯曲的程度越大。
173.步骤s322:根据每个对象节点的节点变化参数确定虚拟对象的形态变化参数。
174.根据确定的物体各个顶点的变化参数,组成物体的形态变化参数。
175.步骤s324:确定虚拟场景中区域风场未包含的虚拟对象,以及虚拟场景中区域风场包含的虚拟对象。
176.在游戏场景中确定3d风力向量场包含的物体,以及未被任何3d风力向量场包含的物体。
177.步骤s326:基于全局风场的全局风场参数确定区域风场未包含的虚拟对象的状态变化参数,并对区域风场未包含的虚拟对象的形态进行更新。
178.将全局风场参数作为游戏场景中未被任何3d风力向量场包含的物体形态变化参数,并进行形态更新。
179.步骤s328:基于风场叠加参数确定区域风场包含的虚拟对象的形态变化参数,并对区域风场包含的虚拟对象的形态进行更新。
180.对游戏场景中被3d风力向量场包含的物体进行形态更新。
181.步骤s330:根据形态更新结果生成目标图像帧。
182.根据两类物体的形态更新结果生成图像帧,进而由多个图像帧组成了游戏场景中树木、草、花、人物等物体受风力影响而生成的动画。
183.本技术提供的虚拟对象更新方法,基于地形烘培出3d贴图存储风力向量信息,可模拟出贴合场景的自然独特的三维涡流场,更加自然的模拟风在三维场景中的平流,扩散效果,形成一种低消耗的统一环境风场。植被使用层级轴点动画模拟逼真的运动,各个层级之间相互关联,实现对风力的真实动态反应。提高了实时模拟真实场景的效率,节省客户端性能开销,提高玩家在游戏中的交互体验。
184.综上所述,本技术提供的虚拟对象更新方法,通过确定虚拟场景的全局风场,以及针对所述虚拟场景预置的区域风场,其中,所述区域风场位于所述全局风场内;在所述全局风场中确定与所述区域风场关联的局部风场;根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;基于所述风场叠加参数确定所述虚拟场景中虚拟对象的形态变化参数,并根据所述形态变化参数对所述虚拟对象的形态进行更新。
基于区域风场参数和局部风场参数计算风场叠加参数,从而对虚拟场景中虚拟对象的形态进行更新,进而使得虚拟对象的形态变化更加接近真实形态变化的效果,增强视觉效果。在对虚拟对象的形态进行更新时,将区域风场参数融入到形态变化参数中,进而使得虚拟场景中的虚拟对象的形态变化具有差异性,增强虚拟对象形态变化的真实感。
185.与上述方法实施例相对应,本技术还提供了虚拟对象更新装置实施例,图4示出了本技术一实施例提供的一种虚拟对象更新装置的结构示意图。如图4所示,该装置包括:
186.确定模块402,被配置为确定虚拟场景的全局风场,以及针对所述虚拟场景预置的区域风场,其中,所述区域风场位于所述全局风场内;
187.处理模块404,被配置为在所述全局风场中确定与所述区域风场关联的局部风场;
188.计算模块406,被配置为根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;
189.更新模块408,被配置为基于所述风场叠加参数确定所述虚拟场景中虚拟对象的形态变化参数,并根据所述形态变化参数对所述虚拟对象的形态进行更新。
190.一个可选地实施例中,所述确定模块402,还被配置为:
191.基于所述虚拟场景对应的地貌信息确定区域风力参数;
192.根据所述区域风力参数在所述全局风场内生成区域风场。
193.一个可选地实施例中,所述确定模块402,进一步被配置为:
194.基于所述虚拟场景对应的地貌信息,在预置的风力参数中选择与所述地貌信息对应的风力参数,作为所述虚拟场景中子虚拟场景的区域风力参数;
195.相应的,所述根据所述区域风力参数在所述全局风场内生成区域风场,包括:
196.根据所述区域风力参数在所述全局风场内生成所述子虚拟场景的区域风场。
197.一个可选地实施例中,所述计算模块406,进一步被配置为:
198.在所述位置关联关系为重叠关系的情况下,根据每个区域风场的风力权重和区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;
199.在所述位置关联关系为相交关系的情况下,确定所述局部风场和至少两个区域风场的区域相交风场,以及每个区域风场与局部风场的局部相交风场;根据每个区域风场的风力权重、区域风场参数以及所述局部风场参数计算所述区域相交风场的区域相交风场参数,以及计算每个局部相交风场对应的局部相交风场参数;将所述区域相交风场参数和所述局部相交风场参数作为所述风场叠加参数。
200.一个可选地实施例中,所述计算模块406,进一步被配置为:在所述虚拟场景中确定所述区域相交风场包含的第一虚拟对象,并基于所述区域相交风场参数确定所述第一虚拟对象的形态变化参数;
201.在所述虚拟场景中确定所述局部相交风场包含的第二虚拟对象,并基于所述局部相交风场参数确定所述第二虚拟对象的形态变化参数。
202.一个可选地实施例中,所述计算模块406,进一步被配置为:
203.根据当前帧中全局风场的全局风场参数确定局部风场的局部风场参数,以及确定当前帧中所述区域风场的区域风场参数;
204.对所述区域风场参数和所述局部风场参数进行叠加计算,获得风场叠加参数。
205.一个可选地实施例中,所述更新模块408,进一步被配置为:
206.确定所述虚拟场景中虚拟对象的至少一个对象节点;
207.基于所述风场叠加参数确定每个对象节点的节点变化参数;
208.根据每个对象节点的节点变化参数确定所述虚拟对象的形态变化参数。
209.一个可选地实施例中,所述更新模块408,进一步被配置为:
210.确定所述虚拟对象中对象节点的属性信息;
211.根据所述对象节点的属性信息以及所述风场叠加参数确定所述对象节点的节点变化参数。
212.一个可选地实施例中,所述更新模块408,进一步被配置为:
213.确定所述虚拟对象的初始形态参数;
214.基于所述初始形态参数和所述形态变化参数对所述虚拟对象的形态进行更新。
215.一个可选地实施例中,所述更新模块408,进一步被配置为:
216.确定所述虚拟场景中所述区域风场包含的第三虚拟对象;
217.将所述第三虚拟对象作为所述虚拟对象,并基于所述风场叠加参数确定所述虚拟场景中虚拟对象的形态变化参数。
218.一个可选地实施例中,所述更新模块408,进一步被配置为:
219.确定所述虚拟场景中所述区域风场未包含的第四虚拟对象;
220.基于所述全局风场的全局风场参数确定所述第四虚拟对象的状态变化参数;
221.根据所述状态变化参数对所述第四虚拟对象的形态进行更新;
222.根据所述第三虚拟对象的形态更新结果和所述第四虚拟对象的形态更新结果生成目标图像帧。
223.综上所述,本技术提供的虚拟对象更新装置,通过确定虚拟场景的全局风场,以及针对所述虚拟场景预置的区域风场,其中,所述区域风场位于所述全局风场内;在所述全局风场中确定与所述区域风场关联的局部风场;根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;基于所述风场叠加参数确定所述虚拟场景中虚拟对象的形态变化参数,并根据所述形态变化参数对所述虚拟对象的形态进行更新。基于区域风场参数和局部风场参数计算风场叠加参数,从而对虚拟场景中虚拟对象的形态进行更新,进而使得虚拟对象的形态变化更加接近真实形态变化的效果,增强视觉效果。在对虚拟对象的形态进行更新时,将区域风场参数融入到形态变化参数中,进而使得虚拟场景中的虚拟对象的形态变化具有差异性,增强虚拟对象形态变化的真实感。
224.上述为本实施例的一种虚拟对象更新装置的示意性方案。需要说明的是,该虚拟对象更新装置的技术方案与上述的虚拟对象更新方法的技术方案属于同一构思,虚拟对象更新装置的技术方案未详细描述的细节内容,均可以参见上述虚拟对象更新方法的技术方案的描述。此外,装置实施例中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。
225.图5示出了根据本技术一实施例提供的一种图像帧生成方法的流程图,具体包括以下步骤:
226.步骤s502:在初始图像帧中确定虚拟场景的全局风场,以及针对所述虚拟场景预置的区域风场,其中,所述区域风场位于所述全局风场内;
227.步骤s504:在所述全局风场中确定与所述区域风场关联的局部风场;
228.步骤s506:根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;
229.步骤s508:基于所述风场叠加参数对所述虚拟场景中虚拟对象的形态进行更新,生成目标图像帧。
230.本技术提供的图像帧生成方法方法,通过在初始图像帧中确定虚拟场景的全局风场,以及针对所述虚拟场景预置的区域风场,其中,所述区域风场位于所述全局风场内;在所述全局风场中确定与所述区域风场关联的局部风场;根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;基于所述风场叠加参数对所述虚拟场景中虚拟对象的形态进行更新,生成目标图像帧。基于区域风场参数和局部风场参数计算风场叠加参数,从而对虚拟场景中虚拟对象的形态进行更新,生成目标图像帧,进而使得虚拟对象的形态变化更加接近真实形态变化的效果,增强视觉效果。在对虚拟对象的形态进行更新时,将区域风场参数融入到形态变化参数中,进而使得虚拟场景中的虚拟对象的形态变化具有差异性,增强虚拟对象形态变化的真实感。
231.与上述方法实施例相对应,本技术还提供了图像帧生成装置实施例,图6示出了本技术一实施例提供的一种图像帧生成装置的结构示意图。如图6所示,该装置包括:
232.风场确定模块602,被配置为在初始图像帧中确定虚拟场景的全局风场,以及针对所述虚拟场景预置的区域风场,其中,所述区域风场位于所述全局风场内;
233.风场处理模块604,被配置为在所述全局风场中确定与所述区域风场关联的局部风场;
234.参数计算模块606,被配置为根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;
235.图像帧生成模块608,被配置为基于所述风场叠加参数对所述虚拟场景中虚拟对象的形态进行更新,生成目标图像帧。
236.本技术提供的图像帧生成装置,通过在初始图像帧中确定虚拟场景的全局风场,以及针对所述虚拟场景预置的区域风场,其中,所述区域风场位于所述全局风场内;在所述全局风场中确定与所述区域风场关联的局部风场;根据所述区域风场的区域风场参数,以及所述局部风场的局部风场参数计算风场叠加参数;基于所述风场叠加参数对所述虚拟场景中虚拟对象的形态进行更新,生成目标图像帧。基于区域风场参数和局部风场参数计算风场叠加参数,从而对虚拟场景中虚拟对象的形态进行更新,生成目标图像帧,进而使得虚拟对象的形态变化更加接近真实形态变化的效果,增强视觉效果。在对虚拟对象的形态进行更新时,将区域风场参数融入到形态变化参数中,进而使得虚拟场景中的虚拟对象的形态变化具有差异性,增强虚拟对象形态变化的真实感。
237.上述为本实施例的一种图像帧生成装置的示意性方案。需要说明的是,该图像帧生成装置的技术方案与上述的图像帧生成方法的技术方案属于同一构思,图像帧生成装置的技术方案未详细描述的细节内容,均可以参见上述图像帧生成方法的技术方案的描述。此外,装置实施例中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必
须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。
238.图7示出了根据本技术一实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
239.计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(pstn)、局域网(lan)、广域网(wan)、个域网(pan)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(nic))中的一个或多个,诸如ieee802.11无线局域网(wlan)无线接口、全球微波互联接入(wi-max)接口、以太网接口、通用串行总线(usb)接口、蜂窝网络接口、蓝牙接口、近场通信(nfc)接口,等等。
240.在本技术的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本技术范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
241.计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或pc的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
242.其中,处理器720用于执行所述虚拟对象更新方法的计算机可执行指令。
243.上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的虚拟对象更新方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述虚拟对象更新方法的技术方案的描述。
244.本技术一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于虚拟对象更新方法。
245.上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的虚拟对象更新方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述虚拟对象更新方法的技术方案的描述。
246.本技术一实施例还提供一种芯片,其存储有计算机程序,该计算机程序被芯片执行时实现所述虚拟对象更新方法的步骤。
247.上述对本技术特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
248.所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所
述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
249.需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本技术所必须的。
250.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
251.以上公开的本技术优选实施例只是用于帮助阐述本技术。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本技术的内容,可作很多的修改和变化。本技术选取并具体描述这些实施例,是为了更好地解释本技术的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本技术。本技术仅受权利要求书及其全部范围和等效物的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1