CN115888087A - 一种虚拟植物模型的处理方法和装置 - Google Patents
一种虚拟植物模型的处理方法和装置 Download PDFInfo
- Publication number
- CN115888087A CN115888087A CN202211595927.5A CN202211595927A CN115888087A CN 115888087 A CN115888087 A CN 115888087A CN 202211595927 A CN202211595927 A CN 202211595927A CN 115888087 A CN115888087 A CN 115888087A
- Authority
- CN
- China
- Prior art keywords
- information
- pivot point
- plant model
- determining
- vertex
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明实施例提供了一种虚拟植物模型的处理方法和装置,所述方法包括:获取虚拟植物模型,并确定虚拟植物模型中顶点的枢轴点信息;确定虚拟植物模型所处虚拟场景中的风力信息;根据枢轴点信息和风力信息,确定针对顶点的旋转控制信息,并基于旋转控制信息,控制顶点进行移动。通过本发明实施例,实现了结合枢轴点和风力信息来模拟虚拟植物模型的风动效果,既能结合虚拟植物模型的自身结构,丰富了不同种类虚拟植物模型的风动效果,又能与虚拟场景中环境情况进行联动,提升了虚拟场景的真实感,且所需的美术编辑较为简单,减少了美术人力资源的消耗,在运行过程中所造成的性能消耗也较小,能够运行于移动平台。
Description
技术领域
本发明涉及游戏技术领域,特别是涉及一种虚拟植物模型的处理方法和装置。
背景技术
在游戏场景中,可以通过部署虚拟植物来提升真实感,而在现有的游戏中,虚拟植物通常是静止的,也存在部分游戏中通过利用正弦函数对模型顶点进行简单地扰动、弯曲,以造成植物有风吹动的假象。
然而,采用这种方式只能模拟枝叶扰动效果,效果较为单一且不够真实,且在存在大量不同种类植物的情况下,采用这种方式会耗费大量的美术人力资源,在运行过程中还会造成性能问题,导致难以运行于移动平台。
发明内容
鉴于上述问题,提出了以便提供克服上述问题或者至少部分地解决上述问题的一种虚拟植物模型的处理方法和装置,包括:
一种虚拟植物模型的处理方法,该方法包括:
获取虚拟植物模型,并确定虚拟植物模型中顶点的枢轴点信息;
确定虚拟植物模型所处虚拟场景中的风力信息;
根据枢轴点信息和风力信息,确定针对顶点的旋转控制信息,并基于旋转控制信息,控制顶点进行移动。
可选地,虚拟植物模型包括按层级拆分的多个子元素,枢轴点设置于不同层级子元素的交接位置。
可选地,根据枢轴点信息和风力信息,确定针对顶点的旋转控制信息,包括:
根据枢轴点信息和风力信息,确定旋转轴和旋转角度信息;
基于旋转轴和旋转角度信息,确定针对顶点的旋转控制信息。
可选地,枢轴点信息包括枢轴点的位置信息,风力信息包括风力大小信息,根据枢轴点信息和风力信息,确定旋转轴和旋转角度信息,包括:
根据枢轴点的位置信息,确定其与顶点之间的距离信息;
结合距离信息和风力大小信息,确定旋转角度信息。
可选地,枢轴点信息包括枢轴点的轴向信息,风力信息包括风力方向信息,根据枢轴点信息和风力信息,确定旋转轴和旋转角度信息,包括:
根据轴向信息和风力方向信息,确定旋转轴信息。
可选地,枢轴点的轴向信息与顶点所在子元素的朝向信息一致。
可选地,确定虚拟植物模型中顶点的枢轴点信息,包括:
获取确定多个子元素之间的连接关系,并根据多个子元素之间的连接关系,确定虚拟植物模型中顶点与枢轴点之间的索引信息;
根据索引信息,确定虚拟植物模型中顶点对应的枢轴点,并从枢轴点信息集合中,确定枢轴点对应的枢轴点信息。
可选地,枢轴点信息集合存储于枢轴点贴图中。
可选地,按层级拆分的多个子元素,包括:
主干元素、枝干元素、叶片元素。
可选地,叶片元素为由多个叶片元素组成的集合。
一种虚拟植物模型的处理装置,该装置包括:
枢轴点信息确定模块,用于获取虚拟植物模型,并确定虚拟植物模型中顶点的枢轴点信息;
风力信息确定模块,用于确定虚拟植物模型所处虚拟场景中的风力信息;
顶点移动控制模块,用于根据枢轴点信息和风力信息,确定针对顶点的旋转控制信息,并基于旋转控制信息,控制顶点进行移动。
一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的虚拟植物模型的处理方法。
一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的虚拟植物模型的处理方法。
本发明实施例具有以下优点:
在本发明实施例中,通过获取虚拟植物模型,并确定虚拟植物模型中顶
点的枢轴点信息,确定虚拟植物模型所处虚拟场景中的风力信息,然后根据5枢轴点信息和风力信息,确定针对顶点的旋转控制信息,并基于旋转控制信
息,控制顶点进行移动,实现了结合枢轴点和风力信息来模拟虚拟植物模型的风动效果,既能结合虚拟植物模型的自身结构,丰富了不同种类虚拟植物模型的风动效果,又能与虚拟场景中环境情况进行联动,提升了虚拟场景的
真实感,且所需的美术编辑较为简单,减少了美术人力资源的消耗,在运行0过程中所造成的性能消耗也较小,能够运行于移动平台。
附图说明
为了更清楚地说明本发明的技术方案,下面将对本发明的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的
一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提5下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种虚拟植物模型的处理方法的步骤流程图;
图2a是本发明一实施例提供的一种虚拟植物模型的示意图;
图2b是本发明一实施例提供的另一种虚拟植物模型的示意图;
图3是本发明一实施例提供的另一种虚拟植物模型的处理方法的步骤流程图;
图4是本发明一实施例提供的另一种虚拟植物模型的处理方法的步骤流程图;
图5是本发明一实施例提供的一种虚拟植物模型的处理装置的结构框5图;
图6是本发明一实施例提供的一种电子设备的示意图;
图7是本发明一实施例提供的一种计算机可读存储介质的示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参照图1,示出了本发明一实施例提供的一种虚拟植物模型的处理方法的步骤流程图,可以应用于游戏应用,该游戏应用可以运行于移动平台。
具体的,可以包括如下步骤:
步骤101,获取虚拟植物模型,并确定虚拟植物模型中顶点的枢轴点信息。
作为一示例,虚拟植物模型可以为虚拟场景中的植物模型,如游戏场景中树、草等植物模型,其可以为3D模型。
在对虚拟场景进行渲染时,如采用VS(Vertex Shader,顶点着色引擎)进行渲染,可以获取预先建立的虚拟植物模型,虚拟植物模型可以包括按层级拆分的多个子元素,每个子元素可以包括一个或多个顶点。
其中,VS是一种增加各式特效在3D场景中的处理单元,顶点着色引擎的可程式化特性允许开发者靠加载新的软件指令来调整各式的特效,每一个顶点将被各种的数据变素清楚地定义,至少包括每一顶点的x、y、z坐标,每一点顶点可能包函的数据有颜色、最初的径路、材质、光线特征等。
作为一示例,按层级拆分的多个子元素,可以包括:
主干元素、枝干元素、叶片元素。
具体的,可以将虚拟植物模型按照层级拆分为多个子元素,每个子元素具有其所属的层级,如图2a,按照主干、枝干(枝干中可以包括不同的层级,如一级枝干、二级枝干……N级枝干)、叶片等层级对虚拟植物模型进行拆分,根据植物自身结构可知,下层子元素与上层子元素连接,如叶片元素与枝干元素或主干元素连接、枝干元素与主干元素连接。
在本发明一实施例中,叶片元素可以为由多个叶片元素组成的集合,具体的,对于叶片元素,由于其数量较多,为了节省资源,可以根据叶片元素连接的上层子元素,对多个叶片元素进行分组(连接同一个上层子元素的叶片元素属于同一组),将同一组的叶片元素作为一个集合,如图2a中叶片集合,并将该集合整体作为一个叶片元素进行控制进而可以提升叶片元素在运动时的团簇感,且能够节省资源,无需对每个叶片元素进行单独处理。
为了提升虚拟植物模型的渲染效果,保证渲染效果能够结合虚拟植物模型自身结构,则对于虚拟植物模型中每个顶点,可以确定与其对应的枢轴点,并可以获取与其对应的枢轴点的枢轴点信息。
其中,枢轴点是3D空间中的一个特定位置,用作对象变换的参照,所有对象都具有枢轴点,通过枢轴点可以控制对象如何平移,旋转和缩放,枢轴点还表示对象在空间的精确位置,对象的所有变换都是相对于枢轴点的。
其中,枢轴点信息可以包括枢轴点的位置信息和轴向信息。
在本发明一实施例中,枢轴点可以设置于不同层级子元素的交接位置,即在上层子元素和下层子元素的交接位置设置枢轴点。
如图2a,在主干和树根的交接位置可以设置枢轴点A1,在主干和枝干1的交接位置可以设置枢轴点A2,在枝干1和枝干2的交接位置可以设置枢轴点A3,在枝干2和叶片集合之间可以设置枢轴点A4。
基于此,对于虚拟植物模型中每个顶点,可以确定其所属的子元素,进而可以确定位于其所属子元素与上层子元素交接位置的枢轴点。
在本发明一实施例中,枢轴点的轴向可以与顶点所在子元素的朝向一致。具体的,对于每个枢轴点,可以以该枢轴点为原点建立三维坐标系,并可以将三维坐标系中X轴的轴向(即枢轴点的轴向)与枢轴点连接的子元素的朝向绑定,进而可以保证枢轴点的轴向与枢轴点连接的子元素的朝向一致,便于后续基于枢轴点对子元素的风动效果进行调整。
其中,子元素的朝向可以为以枢轴点为起点且沿子元素延伸的方向,如图2b,针对枢轴点A2建立三维坐标系,将三维坐标系中X轴的朝向调整为与枝干1的朝向,即与枝干1向外延伸的方向保持一致。
例如,在主干元素和枝干元素之间设置枢轴点,将枢轴点的轴向与枝干元素的轴向保持一致。又如,在枝干元素和叶片元素之间设置枢轴点,将枢轴点的轴向与叶片元素的轴向保持一致。
在本发明一实施例中,确定虚拟植物模型中顶点的枢轴点信息,包括:
子步骤11,获取确定多个子元素之间的连接关系,并根据多个子元素之间的连接关系,确定虚拟植物模型中顶点与枢轴点之间的索引信息。
对于不同层级的子元素,下层子元素与上层子元素是相互连接的,如叶片元素与枝干元素或主干元素连接、枝干元素与主干元素连接。为了得到更好的风吹摆动的连锁反应,可以根据虚拟植物模型的自身结构,通过3D建模渲染和制作软件在不同层级的子元素之间建立连接关系,其可以为父子链接关系,并可以对子元素之间的连接关系进行存储,进而可以保证虚拟植物模型中叶片元素跟随枝干元素摆动、枝干元素跟随主干元素摆动的效果。
具体的,可以在每个顶点的顶点信息中存储其所在子元素的连接关系,表征顶点会受到哪些枝干影响,以便后续索引到相应的枢轴点信息。
基于此,可以获取存储的多个子元素之间的连接关系,并可以在进行渲染时,将其放置于公共缓存中以提供给VS,如可以将连接关系的相关数据放置于UniformBuffer,UniformBuffer是一个公共的缓存,可以将大量的需要传递至多个着色器的矩阵、向量数据等存储在UniformBuffer中,进而减少代码量,并可以减少CPU传递至GPU的数据量。
在确定连接关系后,可以根据多个子元素之间的连接关系,在虚拟植物模型中顶点与枢轴点之间建立索引信息,同一个子元素中所有顶点可以索引到同一个枢轴点。具体的,根据多个子元素之间的连接关系,可以确定整个虚拟植物模型的结构,并可以确定每个枢轴点连接的上层子元素和下层子元素,对于下层子元素所包含的所有顶点,可以建立其与该枢轴点的索引关系。
子步骤12,根据索引信息,确定虚拟植物模型中顶点对应的枢轴点,并从枢轴点信息集合中,确定枢轴点对应的枢轴点信息。
对于每个枢轴点,可以根据其所在的位置和轴向确定枢轴点信息,枢轴点信息可以包括枢轴点的位置信息和枢轴点的轴向信息,并可以将所有枢轴点的枢轴点信息存储为一个枢轴点信息集合。
在本发明一实施例中,枢轴点信息集合可以存储于枢轴点贴图中,其可以为UV贴图,可以包括针对枢轴点的位置信息的位置信息贴图、针对枢轴点的朝向信息的朝向信息贴图,在渲染时通过对贴图采样来获取信息,实现仅增加一个UV贴图来优化虚拟植物模型的风动效果,提升了效率。
具体的,可以对枢轴点的位置信息、轴向信息进行处理后,生成色块信息,然后根据色块信息,生成相应的贴图,然后可以根据贴图创建材质球,并将其连同虚拟植物模型一并存在于引擎中。
对于虚拟植物模型中的顶点,可以根据索引信息确定对应的枢轴点,然后可以从预先存储的枢轴点信息集合中,确定该枢轴点对应的枢轴点信息。
在一示例中,由于不同的引擎存在坐标系差异,则可以根据引擎的坐标系,对存储的枢轴点信息进行转换后使用。
步骤102,确定虚拟植物模型所处虚拟场景中的风力信息。
为了与虚拟场景中环境情况进行联动,可以确定虚拟植物模型所处虚拟场景中的风力信息,风力信息可以包括风力大小信息和风力方向信息。
在一示例中,可以通过获取风力图,然后可以计算当前时间点在风力图中的UV坐标,进而可以从风力图中获取相应的风力信息。
步骤103,根据枢轴点信息和风力信息,确定针对顶点的旋转控制信息,并基于旋转控制信息,控制顶点进行移动。
对于某个顶点而言,其受到风力的影响除了与风力的大小、方向信息相关,还与其在虚拟植物模型中的具体位置、结构相关,而顶点在虚拟植物模型中的具体位置、结构可以通过其对应的枢轴点的枢轴点信息来表征。
基于此,在获得风力信息后,可以结合顶点对应的枢轴点的枢轴点信息和当前的风力信息,计算针对顶点的旋转控制信息,然后可以按照旋转控制信息,控制顶点进行移动至目标位置。
在本发明实施例中,通过枢轴点信息来结合虚拟植物模型的自身结构,通过风力信息来实现与虚拟场景中环境情况进行联动,体现风力强度、风向,进而形成枝干随风摆动效果。
在一示例中,在控制顶点进行移动后,可以相应修改其法线信息。
在本发明一实施例中,根据枢轴点信息和风力信息,确定针对顶点的旋转控制信息,可以包括:
子步骤21,根据枢轴点信息和风力信息,确定旋转轴和旋转角度信息。
在具体实现中,可以根据枢轴点信息和风力信息,计算出用于控制顶点移动的旋转轴和旋转角度信息,该旋转轴是以枢轴点为原点的。
在本发明一实施例中,枢轴点信息可以包括枢轴点的位置信息,风力信息可以包括风力大小信息,根据枢轴点信息和风力信息,确定旋转轴和旋转角度信息,可以包括:
子步骤211,根据枢轴点的位置信息,确定其与顶点之间的距离信息。
对于每个枢轴点,其可以设置于上层子元素和下层子元素的交接位置,则下层子元素中的多个顶点可以对应同一个枢轴点,而由于同一个下层子元素中顶点与枢轴点的距离是不同的,每个顶点受到风力影响也是不同的。
例如,对于与主干连接的枝干,枢轴点设置主干和枝干的交接位置,则枝干中越靠近枢轴点的部分越靠近主干,受到主干的牵引越大,则受到风力影响越小。反之,枝干中越远离枢轴点的部分越远离主干,受到主干的牵引越小,则受到风力影响越大。
基于此,可以确定顶点与枢轴点之间的距离信息。
子步骤212,结合距离信息和风力大小信息,确定旋转角度信息。
在获得距离信息后,可以结合距离信息和风力大小信息进行计算,确定相对于该顶点的旋转角度信息。
在本发明一实施例中,枢轴点信息包括枢轴点的轴向信息,枢轴点的轴向信息与顶点所在子元素的朝向信息一致,风力信息包括风力方向信息,则根据枢轴点信息和风力信息,确定旋转轴和旋转角度信息,可以包括:
子步骤213,根据轴向信息和风力方向信息,确定旋转轴信息。
由于枢轴点的轴向信息与顶点所在子元素的朝向信息一致,其可以表征顶点所在子元素的朝向,如枝干元素的朝向,则对于受风力作用的子元素,可以将轴向信息和风力方向信息进行叉积运算,进而可以得到旋转轴信息。
子步骤22,基于旋转轴和旋转角度信息,确定针对顶点的旋转控制信息。
在获得旋转轴和旋转角度信息后,可以根据旋转轴和旋转角度信息,生成旋转控制信息,如旋转控制信息可以为用描述旋转的四元数。
其中,四元数是一种描述旋转的手段,由旋转轴和旋转角度两个要素组成,用于表示绕过旋转轴转过特定的角度。
在本发明实施例中,通过获取虚拟植物模型,并确定虚拟植物模型中顶点的枢轴点信息,确定虚拟植物模型所处虚拟场景中的风力信息,然后根据枢轴点信息和风力信息,确定针对顶点的旋转控制信息,并基于旋转控制信息,控制顶点进行移动,实现了结合枢轴点和风力信息来模拟虚拟植物模型的风动效果,既能结合虚拟植物模型的自身结构,丰富了不同种类虚拟植物模型的风动效果,又能与虚拟场景中环境情况进行联动,提升了虚拟场景的真实感,且所需的美术编辑较为简单,减少了美术人力资源的消耗,在运行过程中所造成的性能消耗也较小,能够运行于移动平台(在移动平台中,对帧率基本无影响,耗电在40mA以下)。
参照图3,示出了本发明一实施例提供的另一种虚拟植物模型的处理方法的步骤流程图,具体可以包括如下步骤:
步骤301,获取虚拟植物模型,并确定虚拟植物模型中顶点的枢轴点信息;其中,枢轴点信息包括枢轴点的位置信息和轴向信息。
在对虚拟场景进行渲染时,如采用VS(Vertex Shader,顶点着色引擎)进行渲染,可以获取预先建立的虚拟植物模型,虚拟植物模型可以包括按层级拆分的多个子元素,每个子元素可以包括一个或多个顶点。
为了提升虚拟植物模型的渲染效果,保证渲染效果能够结合虚拟植物模型自身结构,则对于虚拟植物模型中每个顶点,可以确定与其对应的枢轴点,并可以获取与其对应的枢轴点的枢轴点信息。
在本发明一实施例中,枢轴点可以设置于不同层级子元素的交接位置,即在上层子元素和下层子元素的交接位置设置枢轴点。
如图2a,在主干和树根的交接位置可以设置枢轴点A1,在主干和枝干1的交接位置可以设置枢轴点A2,在枝干1和枝干2的交接位置可以设置枢轴点A3,在枝干2和叶片集合之间可以设置枢轴点A4。
基于此,对于虚拟植物模型中每个顶点,可以确定其所属的子元素,进而可以确定位于其所属子元素与上层子元素交接位置的枢轴点。
在本发明一实施例中,枢轴点的轴向可以与顶点所在子元素的朝向一致。具体的,对于每个枢轴点,可以以该枢轴点为原点建立三维坐标系,并可以将三维坐标系中X轴的轴向(即枢轴点的轴向)与枢轴点连接的子元素的朝向绑定,进而可以保证枢轴点的轴向与枢轴点连接的子元素的朝向一致,便于后续基于枢轴点对子元素的风动效果进行调整。
其中,子元素的朝向可以为以枢轴点为起点且沿子元素延伸的方向,如图2b,针对枢轴点A2建立三维坐标系,将三维坐标系中X轴的朝向调整为与枝干1的朝向,即与枝干1向外延伸的方向保持一致。
例如,在主干元素和枝干元素之间设置枢轴点,将枢轴点的轴向与枝干元素的轴向保持一致。又如,在枝干元素和叶片元素之间设置枢轴点,将枢轴点的轴向与叶片元素的轴向保持一致。
步骤302,确定虚拟植物模型所处虚拟场景中的风力信息;其中,风力信息包括风力大小信息和风力方向信息。
为了与虚拟场景中环境情况进行联动,可以确定虚拟植物模型所处虚拟场景中的风力信息,风力信息可以包括风力大小信息和风力方向信息。
在一示例中,可以通过获取风力图,然后可以计算当前时间点在风力图中的UV坐标,进而可以从风力图中获取相应的风力信息。
步骤303,根据枢轴点的位置信息,确定其与顶点之间的距离信息,并结合距离信息和风力大小信息,确定旋转角度信息。
对于每个枢轴点,其可以设置于上层子元素和下层子元素的交接位置,则下层子元素中的多个顶点可以对应同一个枢轴点,而由于同一个下层子元素中顶点与枢轴点的距离是不同的,每个顶点受到风力影响也是不同的。
例如,对于与主干连接的枝干,枢轴点设置主干和枝干的交接位置,则枝干中越靠近枢轴点的部分越靠近主干,受到主干的牵引越大,则受到风力影响越小。反之,枝干中越远离枢轴点的部分越远离主干,受到主干的牵引越小,则受到风力影响越大。
基于此,可以确定顶点与枢轴点之间的距离信息,然后可以结合距离信息和风力大小信息进行计算,确定相对于该顶点的旋转角度信息。
步骤304,根据轴向信息和风力方向信息,确定旋转轴信息。
由于枢轴点的轴向信息与顶点所在子元素的朝向信息一致,其可以表征顶点所在子元素的朝向,如枝干元素的朝向,则对于受风力作用的子元素,可以将轴向信息和风力方向信息进行叉积运算,进而可以得到旋转轴信息。
步骤305,基于旋转轴和旋转角度信息,确定针对顶点的旋转控制信息,并基于旋转控制信息,控制顶点进行移动。
在获得旋转轴和旋转角度信息后,可以根据旋转轴和旋转角度信息,生成旋转控制信息,如旋转控制信息可以为用描述旋转的四元数。
参照图4,示出了本发明一实施例提供的另一种虚拟植物模型的处理方法的步骤流程图,具体可以包括如下步骤:
步骤401,获取虚拟植物模型;其中,虚拟植物模型包括按层级拆分的多个子元素,枢轴点设置于不同层级子元素的交接位置。
在对虚拟场景进行渲染时,如采用VS(Vertex Shader,顶点着色引擎)进行渲染,可以获取预先建立的虚拟植物模型,虚拟植物模型可以包括按层级拆分的多个子元素,每个子元素可以包括一个或多个顶点。
在本发明一实施例中,枢轴点可以设置于不同层级子元素的交接位置,即在上层子元素和下层子元素的交接位置设置枢轴点。
如图2a,在主干和树根的交接位置可以设置枢轴点A1,在主干和枝干1的交接位置可以设置枢轴点A2,在枝干1和枝干2的交接位置可以设置枢轴点A3,在枝干2和叶片集合之间可以设置枢轴点A4。
基于此,对于虚拟植物模型中每个顶点,可以确定其所属的子元素,进而可以确定位于其所属子元素与上层子元素交接位置的枢轴点。
在本发明一实施例中,枢轴点的轴向可以与顶点所在子元素的朝向一致。具体的,对于每个枢轴点,可以以该枢轴点为原点建立三维坐标系,并可以将三维坐标系中X轴的轴向(即枢轴点的轴向)与枢轴点连接的子元素的朝向绑定,进而可以保证枢轴点的轴向与枢轴点连接的子元素的朝向一致,便于后续基于枢轴点对子元素的风动效果进行调整。
其中,子元素的朝向可以为以枢轴点为起点且沿子元素延伸的方向,如图2b,针对枢轴点A2建立三维坐标系,将三维坐标系中X轴的朝向调整为与枝干1的朝向,即与枝干1向外延伸的方向保持一致。
例如,在主干元素和枝干元素之间设置枢轴点,将枢轴点的轴向与枝干元素的轴向保持一致。又如,在枝干元素和叶片元素之间设置枢轴点,将枢轴点的轴向与叶片元素的轴向保持一致。
步骤402,获取确定多个子元素之间的连接关系,并根据多个子元素之间的连接关系,确定虚拟植物模型中顶点与枢轴点之间的索引信息。
对于不同层级的子元素,下层子元素与上层子元素是相互连接的,如叶片元素与枝干元素或主干元素连接、枝干元素与主干元素连接。为了得到更好的风吹摆动的连锁反应,可以根据虚拟植物模型的自身结构,通过3D建模渲染和制作软件在不同层级的子元素之间建立连接关系,其可以为父子链接关系,并可以对子元素之间的连接关系进行存储,进而可以保证虚拟植物模型中叶片元素跟随枝干元素摆动、枝干元素跟随主干元素摆动的效果。
具体的,可以在每个顶点的顶点信息中存储其所在子元素的连接关系,表征顶点会受到哪些枝干影响,以便后续索引到相应的枢轴点信息。
基于此,可以获取存储的多个子元素之间的连接关系,并可以在进行渲染时,将其放置于公共缓存中以提供给VS,如可以将连接关系的相关数据放置于UniformBuffer,UniformBuffer是一个公共的缓存,可以将大量的需要传递至多个着色器的矩阵、向量数据等存储在UniformBuffer中,进而减少代码量,并可以减少CPU传递至GPU的数据量。
在确定连接关系后,可以根据多个子元素之间的连接关系,在虚拟植物模型中顶点与枢轴点之间建立索引信息,同一个子元素中所有顶点可以索引到同一个枢轴点。具体的,根据多个子元素之间的连接关系,可以确定整个虚拟植物模型的结构,并可以确定每个枢轴点连接的上层子元素和下层子元素,对于下层子元素所包含的所有顶点,可以建立其与该枢轴点的索引关系。
步骤403,根据索引信息,确定虚拟植物模型中顶点对应的枢轴点,并从枢轴点信息集合中,确定枢轴点对应的枢轴点信息。
对于每个枢轴点,可以根据其所在的位置和轴向确定枢轴点信息,枢轴点信息可以包括枢轴点的位置信息和枢轴点的轴向信息,并可以将所有枢轴点的枢轴点信息存储为一个枢轴点信息集合。
在本发明一实施例中,枢轴点信息集合可以存储于枢轴点贴图中,其可以为UV贴图,可以包括针对枢轴点的位置信息的位置信息贴图、针对枢轴点的朝向信息的朝向信息贴图,在渲染时通过对贴图采样来获取信息,实现仅增加一个UV贴图来优化虚拟植物模型的风动效果,提升了效率。
具体的,可以对枢轴点的位置信息、轴向信息进行处理后,生成色块信息,然后根据色块信息,生成相应的贴图,然后可以根据贴图创建材质球,并将其连同虚拟植物模型一并存在于引擎中。
对于虚拟植物模型中的顶点,可以根据索引信息确定对应的枢轴点,然后可以从预先存储的枢轴点信息集合中,确定该枢轴点对应的枢轴点信息。
在一示例中,由于不同的引擎存在坐标系差异,则可以根据引擎的坐标系,对存储的枢轴点信息进行转换后使用。
步骤404,确定虚拟植物模型所处虚拟场景中的风力信息。
为了与虚拟场景中环境情况进行联动,可以确定虚拟植物模型所处虚拟场景中的风力信息,风力信息可以包括风力大小信息和风力方向信息。
在一示例中,可以通过获取风力图,然后可以计算当前时间点在风力图中的UV坐标,进而可以从风力图中获取相应的风力信息。
步骤405,根据枢轴点信息和风力信息,确定针对顶点的旋转控制信息,并基于旋转控制信息,控制顶点进行移动。
对于某个顶点而言,其受到风力的影响除了与风力的大小、方向信息相关,还与其在虚拟植物模型中的具体位置、结构相关,而顶点在虚拟植物模型中的具体位置、结构可以通过其对应的枢轴点的枢轴点信息来表征。
基于此,在获得风力信息后,可以结合顶点对应的枢轴点的枢轴点信息和当前的风力信息,计算针对顶点的旋转控制信息,然后可以按照旋转控制信息,控制顶点进行移动至目标位置。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明一实施例提供的一种虚拟植物模型的处理装置的结构示意图,具体可以包括如下模块:
枢轴点信息确定模块501,用于获取虚拟植物模型,并确定虚拟植物模型中顶点的枢轴点信息。
风力信息确定模块502,用于确定虚拟植物模型所处虚拟场景中的风力信息。
顶点移动控制模块503,用于根据枢轴点信息和风力信息,确定针对顶点的旋转控制信息,并基于旋转控制信息,控制顶点进行移动。
在本发明一实施例中,虚拟植物模型包括按层级拆分的多个子元素,枢轴点设置于不同层级子元素的交接位置。
在本发明一实施例中,顶点移动控制模块503,包括:
旋转轴和旋转角度确定子模块,用于根据枢轴点信息和风力信息,确定旋转轴和旋转角度信息。
旋转控制信息确定子模块,用于基于旋转轴和旋转角度信息,确定针对顶点的旋转控制信息。
在本发明一实施例中,枢轴点信息包括枢轴点的位置信息,风力信息包括风力大小信息,旋转轴和旋转角度确定子模块,包括:
距离信息确定单元,用于根据枢轴点的位置信息,确定其与顶点之间的距离信息。
旋转角度确定单元,用于结合距离信息和风力大小信息,确定旋转角度信息。
在本发明一实施例中,枢轴点信息包括枢轴点的轴向信息,风力信息包括风力方向信息,旋转轴和旋转角度确定子模块,包括:
旋转轴信息确定单元,用于根据轴向信息和风力方向信息,确定旋转轴信息。
在本发明一实施例中,枢轴点的轴向信息与顶点所在子元素的朝向信息一致。
在本发明一实施例中,枢轴点信息确定模块501,包括:
索引信息确定子模块,用于获取确定多个子元素之间的连接关系,并根据多个子元素之间的连接关系,确定虚拟植物模型中顶点与枢轴点之间的索引信息。
根据索引确定枢轴点信息子模块,用于根据索引信息,确定虚拟植物模型中顶点对应的枢轴点,并从枢轴点信息集合中,确定枢轴点对应的枢轴点信息。
在本发明一实施例中,枢轴点信息集合存储于枢轴点贴图中。
在本发明一实施例中,按层级拆分的多个子元素,包括:
主干元素、枝干元素、叶片元素。
在本发明一实施例中,叶片元素为由多个叶片元素组成的集合。
在本发明实施例中,通过获取虚拟植物模型,并确定虚拟植物模型中顶点的枢轴点信息,确定虚拟植物模型所处虚拟场景中的风力信息,然后根据枢轴点信息和风力信息,确定针对顶点的旋转控制信息,并基于旋转控制信息,控制顶点进行移动,实现了结合枢轴点和风力信息来模拟虚拟植物模型的风动效果,既能结合虚拟植物模型的自身结构,丰富了不同种类虚拟植物模型的风动效果,又能与虚拟场景中环境情况进行联动,提升了虚拟场景的真实感,且所需的美术编辑较为简单,减少了美术人力资源的消耗,在运行过程中所造成的性能消耗也较小,能够运行于移动平台。
参考图6,本发明一实施例还提供了一种电子设备,可以包括处理器601、存储器602及存储在存储器602上并能够在处理器上运行的计算机程序,计算机程序被处理器执行时实现如上虚拟植物模型的处理方法。
参考图7,本发明一实施例还提供了一种计算机可读存储介质700,计算机可读存储介质700上存储计算机程序,计算机程序被处理器执行时实现如上虚拟植物模型的处理方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,
所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所5有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术
语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得0包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括上述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
5以上对所提供的一种虚拟植物模型的处理方法和装置,进行了详细介
绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种虚拟植物模型的处理方法,其特征在于,所述方法包括:
获取虚拟植物模型,并确定所述虚拟植物模型中顶点的枢轴点信息;
确定所述虚拟植物模型所处虚拟场景中的风力信息;
根据所述枢轴点信息和所述风力信息,确定针对所述顶点的旋转控制信息,并基于所述旋转控制信息,控制所述顶点进行移动。
2.根据权利要求1所述的方法,其特征在于,所述虚拟植物模型包括按层级拆分的多个子元素,所述枢轴点设置于不同层级子元素的交接位置。
3.根据权利要求2所述的方法,其特征在于,所述根据所述枢轴点信息和所述风力信息,确定针对所述顶点的旋转控制信息,包括:
根据所述枢轴点信息和所述风力信息,确定旋转轴和旋转角度信息;
基于所述旋转轴和旋转角度信息,确定针对所述顶点的旋转控制信息。
4.根据权利要求3所述的方法,其特征在于,所述枢轴点信息包括枢轴点的位置信息,所述风力信息包括风力大小信息,所述根据所述枢轴点信息和所述风力信息,确定旋转轴和旋转角度信息,包括:
根据所述枢轴点的位置信息,确定其与所述顶点之间的距离信息;
结合所述距离信息和所述风力大小信息,确定旋转角度信息。
5.根据权利要求3或4所述的方法,其特征在于,所述枢轴点信息包括枢轴点的轴向信息,所述风力信息包括风力方向信息,所述根据所述枢轴点信息和所述风力信息,确定旋转轴和旋转角度信息,包括:
根据所述轴向信息和所述风力方向信息,确定旋转轴信息。
6.根据权利要求5所述的方法,其特征在于,所述枢轴点的轴向信息与所述顶点所在子元素的朝向信息一致。
7.根据权利要求2所述的方法,其特征在于,所述确定所述虚拟植物模型中顶点的枢轴点信息,包括:
获取确定所述多个子元素之间的连接关系,并根据所述多个子元素之间的连接关系,确定所述虚拟植物模型中顶点与枢轴点之间的索引信息;
根据所述索引信息,确定所述虚拟植物模型中顶点对应的枢轴点,并从枢轴点信息集合中,确定所述枢轴点对应的枢轴点信息。
8.根据权利要求7所述的方法,其特征在于,所述枢轴点信息集合存储于枢轴点贴图中。
9.根据权利要求2所述的方法,其特征在于,所述按层级拆分的多个子元素,包括:
主干元素、枝干元素、叶片元素。
10.根据权利要求9所述的方法,其特征在于,所述叶片元素为由多个叶片元素组成的集合。
11.一种虚拟植物模型的处理装置,其特征在于,所述装置包括:
枢轴点信息确定模块,用于获取虚拟植物模型,并确定所述虚拟植物模型中顶点的枢轴点信息;
风力信息确定模块,用于确定所述虚拟植物模型所处虚拟场景中的风力信息;
顶点移动控制模块,用于根据所述枢轴点信息和所述风力信息,确定针对所述顶点的旋转控制信息,并基于所述旋转控制信息,控制所述顶点进行移动。
12.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至10中任一项所述的虚拟植物模型的处理方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10中任一项所述的虚拟植物模型的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211595927.5A CN115888087A (zh) | 2022-12-13 | 2022-12-13 | 一种虚拟植物模型的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211595927.5A CN115888087A (zh) | 2022-12-13 | 2022-12-13 | 一种虚拟植物模型的处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115888087A true CN115888087A (zh) | 2023-04-04 |
Family
ID=86493150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211595927.5A Pending CN115888087A (zh) | 2022-12-13 | 2022-12-13 | 一种虚拟植物模型的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115888087A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116524133A (zh) * | 2023-06-30 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 虚拟植被的生成方法、装置、设备及存储介质 |
-
2022
- 2022-12-13 CN CN202211595927.5A patent/CN115888087A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116524133A (zh) * | 2023-06-30 | 2023-08-01 | 腾讯科技(深圳)有限公司 | 虚拟植被的生成方法、装置、设备及存储介质 |
CN116524133B (zh) * | 2023-06-30 | 2024-04-02 | 腾讯科技(深圳)有限公司 | 虚拟植被的生成方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7773087B2 (en) | Dynamically configuring and selecting multiple ray tracing intersection methods | |
CN109934897B (zh) | 一种摆动效果模拟系统、方法、计算设备及存储介质 | |
CN102402791B (zh) | 一种基于gpu的三维流体模拟方法 | |
CN101894388B (zh) | 虚拟植物生长的展示方法 | |
CN110458930A (zh) | 三维地图的渲染方法、装置及存储介质 | |
CN105205861A (zh) | 基于Sphere-Board的树木三维可视化模型实现方法 | |
CN112184862B (zh) | 虚拟对象的控制方法、装置及电子设备 | |
CN112132936A (zh) | 画面渲染方法、装置、计算机设备及存储介质 | |
CN115888087A (zh) | 一种虚拟植物模型的处理方法和装置 | |
CN111773719A (zh) | 虚拟对象的渲染方法和装置、存储介质、电子装置 | |
CN112132938B (zh) | 模型元素的形变处理、画面渲染方法、装置、设备及介质 | |
CN111882677B (zh) | 三维植物模型编辑的方法、装置、电子设备及存储介质 | |
Terraz et al. | 3Gmap L-systems: an application to the modelling of wood | |
CN107274468B (zh) | 一种应用于三维游戏的受风处理方法及系统 | |
Favorskaya et al. | Procedural modeling of broad-leaved trees under weather conditions in 3D virtual reality | |
Lu et al. | Venation skeleton-based modeling plant leaf wilting | |
CN110728750B (zh) | 一种智能驾驶环境实景建模方法、系统、终端及存储介质 | |
CN112132934A (zh) | 模型元素的形变处理、画面渲染方法、装置、设备及介质 | |
US11189068B2 (en) | Macro-based electronic map editing | |
Kang et al. | Real-time cloud modelling and rendering approach based on L-system for flight simulation | |
Yi et al. | Light-Guided Tree Modeling of Diverse Biomorphs. | |
Xie | The research on mobile game engine | |
CN112132937A (zh) | 模型元素的形变处理、画面渲染方法、装置、设备及介质 | |
KR101267571B1 (ko) | 자연 식물의 애니메이션 표시방법 | |
Diehl et al. | Applications of serious games in Geovisualization |
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 |