CN112233253B - 虚拟球体的形变控制方法、装置、电子设备及存储介质 - Google Patents
虚拟球体的形变控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112233253B CN112233253B CN202011465048.1A CN202011465048A CN112233253B CN 112233253 B CN112233253 B CN 112233253B CN 202011465048 A CN202011465048 A CN 202011465048A CN 112233253 B CN112233253 B CN 112233253B
- Authority
- CN
- China
- Prior art keywords
- deformation
- control point
- motion
- parameters
- parameter
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 230000007613 environmental effect Effects 0.000 claims abstract description 26
- 239000013598 vector Substances 0.000 claims description 127
- 230000005489 elastic deformation Effects 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 7
- 230000003068 static effect Effects 0.000 description 5
- 238000006073 displacement reaction Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Landscapes
- Engineering & Computer Science (AREA)
- Architecture (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请涉及一种虚拟球体的形变控制方法、装置、电子设备及存储介质,方法包括:获取虚拟球体的环境运动参数、虚拟球体表面控制点的参数以及所述虚拟球体表面顶点的参数,其中,所述表面顶点属于所述虚拟球体的网格数据;获取约束关系,该约束关系中包括所述控制点的参数与所述虚拟球体表面顶点的参数之间的形变位置约束关系;根据所述环境运动参数、所述约束关系、所述控制点的参数以及所述表面顶点的参数,获取所述控制点以及所述表面顶点的形变参数;按照所述控制点的形变参数和所述表面顶点的形变参数,对所述虚拟球体进行形变控制。本申请用以解决虚拟球体独立运行,无法体现与环境的交互,显示效果不佳的问题。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种虚拟球体的形变控制方法、装置、电子设备及存储介质。
背景技术
随着多媒体技术的发展和无线网络的普及,人们的娱乐活动变得越来越丰富,如通过手持式媒体设备联网玩游戏、通过电脑玩单机或者联网游戏,游戏类型多种多样,如弹幕射击游戏、冒险游戏、模拟游戏、角色扮演游戏、休闲游戏和其它游戏等。
大部分类型的游戏可以实现联网,实现多人同时在线玩,以MMORPG游戏(MMORPG是英文Massive Multiplayer Online Role-Playing Game的缩写,常被翻译为"大型多人在线角色扮演游戏",游戏中玩家扮演一个虚构角色,并控制该角色的许多活动)为例,玩家通过在大世界中的冒险(涉及战斗、寻找特定道具等)来完成游戏任务。
为丰富游戏效果,很多游戏场景中,需要构建虚拟环境,并在虚拟环境中模拟弹性球体形态,例如气泡。
目前,大部分球体形态模拟,使用软件离线渲染的方式生成,这种方式渲染得到的球体孤立运行,无法与所处虚拟环境中的影响因素,保持一致的运动,导致模拟的球体在虚拟环境中的显示效果,与球体在真实场景中的效果相差较大。
发明内容
本申请提供了一种虚拟球体的形变控制方法、装置、电子设备及存储介质,用以解决虚拟球体独立运行,无法体现与环境的交互,显示效果不佳的问题。
第一方面,本申请实施例提供了一种虚拟球体的形变控制方法,包括:
获取虚拟球体的环境运动参数、所述虚拟球体表面控制点的参数以及所述虚拟球体表面顶点的参数,其中,所述表面顶点属于所述虚拟球体的网格数据;
获取约束关系,其中,所述约束关系中包括所述控制点的参数与所述表面顶点的参数之间的形变位置约束关系;
根据所述环境运动参数、所述约束关系、所述控制点的参数以及所述表面顶点的参数,获取所述控制点以及所述表面顶点的形变参数;
按照所述控制点的形变参数和所述表面顶点的形变参数,对所述虚拟球体进行形变控制。
可选地,在所述控制点的个数为至少两个时,所述约束关系中还包括每个所述控制点的弹性形变约束关系;
所述根据所述环境运动参数、所述约束关系、所述控制点的参数以及所述表面顶点的参数,获取所述控制点以及所述表面顶点的形变参数,包括:
根据所述环境运动参数以及所述弹性形变约束关系,确定每个所述控制点的形变参数;
根据每个所述控制点的形变参数、所述形变位置约束关系、每个所述控制点的参数以及所述表面顶点的参数,获取所述表面顶点的形变参数。
可选地,所述环境运动参数包括运动方向矢量和运动偏移量。
可选地,所述弹性形变约束关系中包括每个所述控制点的形变系数,以及每个所述控制点的形变方向与运动方向之间的方向约束关系。
可选地,所述根据所述环境运动参数以及所述弹性形变约束关系,确定每个所述控制点的形变参数,包括:
分别对于每个所述控制点进行以下处理:
将所述弹性形变约束关系中所述控制点的形变系数乘以所述运动偏移量,得到所述控制点的运动偏移量;
根据所述弹性形变约束关系中所述控制点的所述方向约束关系以及所述环境运动参数中的运动方向矢量,获得所述控制点的运动方向矢量;
将所述控制点的运动偏移量和所述控制点的运动方向矢量作为所述控制点的形变参数。
可选地,所述控制点的参数包括所述控制点的坐标向量;
所述表面顶点的参数包括所述表面顶点的坐标向量。
可选地,所述形变位置约束关系包括:所述控制点的坐标向量与所述表面顶点的坐标向量点积后,乘以所述表面顶点对应的缩放系数。
可选地,所述形变参数包括形变向量;
所述根据每个所述控制点的形变参数、所述形变位置约束关系、每个所述控制点的参数以及所述表面顶点的参数,获取所述表面顶点的形变参数,包括:
分别对每个所述控制点进行以下处理:确定与所述控制点具有所述形变位置约束关系的所述表面顶点的集合;分别将所述集合中的每个所述表面顶点的坐标向量与所述控制点的坐标向量点积后,乘以所述表面顶点对应的缩放系数,再与所述控制点的形变参数点积,得到所述集合中每个所述表面顶点各自的点积结果;
在所述表面顶点对应一个所述点积结果时,将所述表面顶点对应的所述点积结果作为所述表面顶点的形变向量;
在所述表面顶点对应两个或两个以上所述点积结果时,将所述两个或两个以上所述点积结果的平均向量作为所述表面顶点的形变向量。
可选地,所述获取虚拟球体的环境运动参数包括:
获取与所述虚拟球体相关联的虚拟对象的运动方向矢量和运动速度值;获取与所述运动速度值相对应的运动偏移量作为所述环境运动参数中的运动偏移量;将所述虚拟对象的运动方向矢量作为所述环境运动参数中的运动方向矢量;
或者
获取所述虚拟球体上被碰撞点的法线,将与所述法线平行且指向所述虚拟球体的单位矢量作为所述环境运动参数中的运动方向矢量,将预设的运动偏移量作为所述环境运动参数中的运动偏移量。
第二方面,本申请实施例提供了一种虚拟球体的形变控制装置,包括:
第一获取模块,用于获取虚拟球体的环境运动参数、所述虚拟球体表面控制点的参数以及所述虚拟球体表面顶点的参数,其中,所述表面顶点属于所述虚拟球体的网格数据;
第二获取模块,用于获取约束关系,其中,所述约束关系中包括所述控制点的参数与所述表面顶点的参数之间的形变位置约束关系;
第三获取模块,用于根据所述环境运动参数、所述约束关系、所述控制点的参数以及所述表面顶点的参数,获取所述控制点以及所述表面顶点的形变参数;
控制模块,用于按照所述控制点的形变参数和所述表面顶点的形变参数,对所述虚拟球体进行形变控制。
第三方面,本申请实施例提供了一种电子设备,包括:存储器、处理器;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如第一方面所述的虚拟球体的形变控制方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的虚拟球体的形变控制方法。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的方法,通过设置约束关系,在该约束关系中包括虚拟球体表面控制点的参数以及虚拟球体表面顶点的参数之间的形变位置约束关系,在获取环境运动参数、虚拟球体表面控制点的参数和表面顶点的参数后,按照该约束关系,获得控制点以及表面顶点的形变参数,从而实现对虚拟球体的形变控制,并且,根据环境运动参数对虚拟球体进行形变控制,使得虚拟球体形变控制体现了与环境的交互,提高了虚拟球体的显示效果,避免了虚拟球体独立运行,无法体现与环境的交互,显示效果不佳的问题。
并且,利用虚拟球体的网格数据进行形变控制,不需要占用大量的动画资源,避免了采用骨骼动画模型导致的运行压力高的问题、以及避免了导入扩展名为abc的文件导致占用内存大的问题,降低了占用的内存资源,降低了运行压力,使得对虚拟球体运行硬件环境的要求降低。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中对虚拟球体进行形变控制的硬件环境示意图;
图2为本申请实施例中对虚拟球体进行形变控制的方法流程示意图;
图3为本申请实施例中控制点形变参数确定过程示意图;
图4为本申请实施例中获取表面顶点的形变参数的过程示意图;
图5为本申请实施例中虚拟球体表面控制点设置示意图;
图6为本申请实施例中未进行形变控制的虚拟球体的示意图;
图7为本申请实施例中通过单个控制点进行形变控制后的效果示意图;
图8为本申请实施例中某游戏场景中未进行形变控制的虚拟球体的游戏截图;
图9为本申请实施例中某游戏场景中通过三个控制点进行形变控制的游戏截图;
图10为本申请实施例中虚拟球体的形变控制装置的结构示意图;
图11为本申请实施例中电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例中提供了一种虚拟球体的形变控制方法,在本实施例中,该虚拟球体的形变控制方法可以应用于如图1所示的由终端10和服务器11所构成的硬件环境中。如图1所示,服务器11通过网络与终端10连接,可用于为终端或终端上安装的客户端提供服务(如游戏服务、应用服务等),可在服务器上或独立于服务器设置数据库,用于为服务器11提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端10并不限定于PC(Personal Computer,个人计算机)、手机、平板电脑等。
本申请实施例的虚拟球体的形变控制方法可以由服务器11来执行,也可以由终端10来执行,还可以是由服务器11和终端10共同执行。其中,终端10执行本申请实施例虚拟球体的形变控制方法也可以是由安装在其上的客户端来执行。
本申请实施例可以应用于多种场景下,例如,应用于游戏场景下,在游戏应用中创建虚拟环境,在虚拟环境中显示虚拟球体和虚拟对象,采用本实施例提供的方法能够实现虚拟球体的形变控制,体现虚拟球体与虚拟环境的交互。
如图2所示,对虚拟球体进行形变控制的主要方法流程包括:
步骤201,获取虚拟球体的环境运动参数、虚拟球体表面控制点的参数以及虚拟球体表面顶点的参数,其中,表面顶点属于虚拟球体的网格数据。
需要说明的是,本申请实施例中,虚拟球体的网格数据,是指静态网格模型(Static Mesh Component)中的数据,静态网格是一个包含一组静态多边形的几何体,在虚拟引擎的场景中创建世界几何体所用的基本单位,除构建场景外,静态网格模型还用于创建运动体、植物、地形修饰等视觉元素。也就是本申请实施例中虚拟球体不是采用骨骼动画构建,也不需要采用扩展名为abc的文件,不需要占用过多的动画资源,也不需要大量占用内存资源,降低了运行压力,使得生成的动画对运行硬件环境的要求降低。
一个具体实施例中,虚拟球体的环境运动参数包括运动向量,该运动向量包括运动方向矢量和运动偏移量。
其中,根据虚拟球体运动情况的不同,获取环境运动参数的方式也有不同,包括但不限于以下所列举的两种方式:
方式一
获取与虚拟球体相关联的虚拟对象的运动方向矢量和运动速度,获取与该运动速度相对应的运动偏移量作为该虚拟球体的环境运动参数中的运动偏移量,将该虚拟对象的运动方向矢量作为该虚拟球体的环境运动参数中的运动方向矢量。
其中,运动速度的变化与运动偏移量的变化呈正比例关系,运动速度越快,则对应设置的运动偏移量也越大。具体地,可以划分速度区间与运动偏移量之间的对应关系,在一个区间内的速度,对应到同一个运动偏移量。
例如,虚拟球体与虚拟人物绑定,虚拟人物的头顶之上显示该虚拟球体,并且虚拟球体随着该虚拟人物运动,在虚拟人物运动时,将该虚拟人物的运动方向矢量,作为环境运动参数的运动方向矢量,并且,预先配置运动速度与运动偏移量之间的映射关系,将该虚拟人物的运动速度映射到的运动偏移量,作为环境运动参数的运动偏移量。
方式二
获取虚拟球体上被碰撞点的法线,将与该法线平行且指向该虚拟球体的单位矢量作为该环境运动参数中的运动方向矢量,将预设的运动偏移量作为该环境运动参数中的运动偏移量。
例如,虚拟球体与虚拟环境中的某一虚拟物体发生碰撞,将与碰撞点的法线平行,且指向虚拟球体的单位矢量,作为该环境运动参数的运动方向矢量,并将与碰撞这一事件对应预设的运动偏移量,作为该环境运动参数中的运动偏移量。
当然,除了以上两种方式外,还可以设置环境运动参数中的运动偏移量为固定值,也就是虚拟球体的运动偏移量为固定值,与环境无关,仅虚拟球体的运动方向矢量受虚拟环境中环境运动参数的影响。
一个具体实施例中,控制点的参数包括该控制点的坐标向量;表面顶点的参数包括表面顶点的坐标向量。
其中,一个虚拟球体可以包括一个或多个控制点。为了避免运算复杂,可限制控制点的个数不超过设定值,当然仅设置一个控制点也能够达到形变控制的目的。
在虚拟球体包括多个控制点的情况下,一个控制点对应一部分虚拟球体表面顶点,每个控制点对应的表面顶点可以完全不重合或者部分重合。控制点的形变会影响与该控制点对应的表面顶点的形变。
在同一个表面顶点的形变受到两个或两个以上控制点形变的影响时,将该两个或两个以上控制点各自对该表面顶点产生的形变参数进行平均,作为该表面顶点的形变参数。为了能够在保证形变效果的同时,避免不必要的计算,在为虚拟球体配置控制点时,可以配置相邻两个控制点之间的距离不小于预设值,尽量减少受多个控制点影响的表面顶点的数量。
在虚拟球体包括一个控制点的情况下,一个控制点对应一部分虚拟球体表面顶点,即该控制点的形变会影响该一部分表面顶点的形变。
其中,控制点可以直接是采用三维向量表示,该三维向量表示该控制点的坐标向量。
步骤202,获取约束关系,其中,该约束关系中包括控制点的参数与虚拟球体表面顶点的参数之间的形变位置约束关系。
一个具体实施例中,形变位置约束关系是指在形变发生后,虚拟球体控制点的参数与表面顶点的参数需要满足的约束关系。
具体地,该形变位置约束关系包括:控制点的坐标向量与表面顶点的坐标向量的点积后,乘以该表面顶点对应的缩放系数。该点积表示为P dot V,其中,P表示控制点的坐标向量,V表示表面顶点的坐标向量,dot表示点积运算。
其中,可以为不同的表面顶点配置不同的缩放系数,以达到丰富形变效果的目的。当然,也可以是为不同的表面顶点配置相同的缩放系数,以简便计算过程。该缩放系数可以是技术人员根据游戏场景的需要在开发是进行配置。
当然,除了采用点积约束控制点和表面顶点的坐标向量之间的关系外,还可以采用其他方式约束,此处并不局限于采用dot进行约束的方式。
一个具体实施例中,在配置的控制点的个数为至少两个时,该约束关系中还包括每个控制点的弹性形变约束关系。
具体地,该弹性形变约束关系中包括每个控制点的形变系数,以及每个控制点的形变方向与环境运动参数中运动方向矢量之间的方向约束关系。
例如,控制点1的形变系数可以设置为0.1,控制点2的形变西湖可以设置为0.3。这里对形变系数的具体取值不做限制,根据游戏场景的需要进行配置即可。
例如,方向约束关系中约定控制点1的形变方向为:环境运动参数中运动方向矢量与第一预设方向矢量乘积,约定控制点2的形变方向为:环境运动参数中运动方向矢量与第二预设方向矢量乘积,等。
需要说明的是,为了保证计算简单,在设置有多个控制点的情况下,不同的控制点之间可以不设置形变位置约束关系。通过每个控制点的形变系数,以及控制点与运动方向矢量之间的约束关系,使不同控制点位置的形变具有差异性,以丰富动画效果。
步骤203,根据环境运动参数、约束关系、控制点的参数以及表面顶点的参数,获取控制点以及表面顶点的形变参数。
一个具体实施例中,形变参数包括形变向量,该形变向量包括形变方向和形变位移量。
情况一,在只有一个控制点的情况下,根据环境运动参数确定该控制点的形变参数,根据该控制点的形变参数、该形变位置约束关系、控制点的坐标向量以及表面顶点的坐标向量,获取该表面顶点的形变参数。
在只要一个控制点的情况下,可直接将该环境运动参数作为该控制点的形变参数。
具体地,将控制点的坐标向量以及表面顶点的坐标向量点积,将点积结果乘以该表面顶点对应的缩放系数后,再与控制点的形变参数点积,将所得的结果向量作为表面顶点的形变向量。
其中,所得的结果向量的方向,即为形变方向,点积所得的结果向量的大小,即为形变位移量。
情况二,在有多个控制点的情况下,根据环境运动参数以及弹性形变约束关系,确定每个控制点各自的形变参数;根据每个控制点的形变参数、该形变位置约束关系、每个控制点的坐标向量以及表面顶点的坐标向量,获取表面顶点的形变参数。
具体地,如图3所示,在确定每个控制点的形变参数时,分别对每个控制点进行以下处理:
步骤301,将弹性形变约束关系中控制点的形变系数乘以环境运动参数中的运动偏移量,得到控制点的运动偏移量;
步骤302,根据弹性形变约束关系中控制点的方向约束关系以及环境运动参数中的运动方向矢量,获得控制点的运动方向矢量;
步骤303,将控制点的运动偏移量和控制点的运动方向矢量作为该控制点的形变参数。
按照该过程,得到每个控制点各自的形变参数。
具体地,如图4所示,获取表面顶点的形变参数的具体过程为:
步骤401,分别对每个控制点进行以下处理:确定与控制点具有形变位置约束关系的表面顶点的集合;分别将该集合中的每个表面顶点的坐标向量,与该控制点的坐标向量点积后,乘以该表面顶点对应的缩放系数,再与该控制点的形变参数点积,得到该集合中每个表面顶点各自的点积结果;
步骤402,在表面顶点对应一个点积结果时,将该表面顶点对应的点积结果,作为该表面顶点的形变向量;
步骤403,在表面顶点对应两个或两个以上点积结果时,将该两个或两个以上点积结果的平均向量,作为该表面顶点的形变向量。
在获得每个表面顶点的形变向量后,执行后续流程。
步骤204,按照控制点的形变参数和表面顶点的形变参数,对虚拟球体进行形变控制。
具体地,按照控制点的形变参数对控制点进行形变,以及按照表面顶点的形变参数对表面顶点进行形变,根据形变后的控制点的坐标和表面顶点的坐标进行后续三维动画处理(如贴图等)后,即可得到形变后的虚拟球体。
一个示例性实施例中,如图5所示,虚拟球体表面控制点包括以下四个:虚拟球体在水平轴方向的左顶点1和右顶点2,以及包括虚拟球体在垂直于水平轴方向的上顶点3和下顶点4。
形变位置约束关系包括:左顶点与相对应的第一区域内的表面顶点的第一形变位置约束关系;右顶点与相对应的第二区域内的表面顶点的第二形变位置约束关系;上顶点与相对应的第三区域内的表面顶点的第三形变位置约束关系;下顶点与相对应的第四区域内的表面顶点的第四形变位置约束关系。
左顶点的形变系数a、方向约束关系A,右顶点的形变系数b、方向约束关系B,上顶点的形变系数c、方向约束关系C,下顶点的形变系数d、方向约束关系D。
在获得虚拟球体所关联的虚拟对象的运动向量后,左顶点的形变系数a乘以该运动向量中的运动偏移量,左顶点的方向约束关系A与运动向量中的方向矢量点积,得到左顶点的运动方向矢量。右顶点的形变系数b乘以该运动向量中的运动偏移量,右顶点的方向约束关系B与运动向量中的方向矢量点积,得到右顶点的运动方向矢量。上顶点的形变系数c乘以该运动向量中的运动偏移量,上顶点的方向约束关系C与运动向量中的方向矢量点积,得到上顶点的运动方向矢量。下顶点的形变系数d乘以该运动向量中的运动偏移量,右顶点的方向约束关系D与运动向量中的方向矢量点积,得到右顶点的运动方向矢量。
对于第一区域内的各表面顶点,分别进行以下计算:计算左顶点的坐标向量与表面顶点的坐标向量的点积,得到第一点积结果,将第一点积结果与该表面顶点对应的缩放系数相乘后,与运动向量点积,得到该表面顶点的形变向量。
对于第二区域内的各表面顶点,分别进行以下计算:计算右顶点的坐标向量与表面顶点的坐标向量的点积,得到第二点积结果,将第二点积结果与该表面顶点对应的缩放系数相乘后与运动向量点积,得到该表面顶点的形变向量。
对于第三区域内的各表面顶点,分别进行以下计算:计算上顶点的坐标向量与表面顶点的坐标向量的点积,得到第三点积结果,将第三点积结果与该表面顶点对应的缩放系数相乘后,与运动向量点积,得到该表面顶点的形变向量。
对于第四区域内的各表面顶点,分别进行以下计算:计算下顶点的坐标向量与表面顶点的坐标向量点积,得到第四点积结果,将第四点积结果与该表面顶点对应的缩放系数相乘后,与运动向量点积,得到该表面顶点的形变向量。
按照控制点和表面顶点各自的形变向量对虚拟球体进行形变控制,得到形变后的虚拟球体。
本申请实施例提供的方法,通过设置约束关系,在该约束关系中包括虚拟球体表面控制点的参数以及虚拟球体表面顶点的参数之间的形变位置约束关系,在获取环境运动参数、虚拟球体表面控制点的参数和表面顶点的参数后,按照该约束关系,获得控制点以及表面顶点的形变参数,从而实现对虚拟球体的形变控制,并且,根据环境运动参数对虚拟球体进行形变控制,使得虚拟球体形变控制体现了与环境的交互,提高了虚拟球体的显示效果,避免了虚拟球体独立运行,无法体现与环境的交互,显示效果不佳的问题。
并且,利用虚拟球体的网格数据进行形变控制,不需要占用大量的动画资源,避免了采用骨骼动画模型导致的运行压力高的问题、以及避免了导入扩展名为abc的文件导致占用内存大的问题,降低了占用的内存资源,降低了运行压力,使得对虚拟球体运行硬件环境的要求降低。
如图6所示为未进行形变控制的虚拟球体的示意图,图7所示为通过单个控制点进行形变控制的效果示意图。可见,通过单个控制点可以对虚拟球体的大部分表面顶点进行形变控制。
如图8所示为某游戏场景中在未进行形变控制的虚拟球体的游戏截图,图9为该游戏场景中通过三个控制点进行形变控制的动画过程截图。图9中球体上方、左侧和左上侧的三个小球,为三个控制点的调试(debug)小球,在游戏运行过程中可以隐藏该调试小球。可见,通过三个控制点对虚拟球体进行形变控制,使得虚拟球体的形变效果更加丰富,更接近于真实的弹性球体。
基于同一构思,本申请实施例中提供了一种形变控制装置,该装置的具体实施可参见方法实施例部分的描述,重复之处不再赘述,如图10所示,该装置主要包括:
第一获取模块1001,用于获取虚拟球体的环境运动参数、所述虚拟球体表面控制点的参数以及所述虚拟球体表面顶点的参数,其中,所述表面顶点属于所述虚拟球体的网格数据;
第二获取模块1002,用于获取约束关系,其中,所述约束关系中包括所述控制点的参数与所述表面顶点的参数之间的形变位置约束关系;
第三获取模块1003,用于根据所述环境运动参数、所述约束关系、所述控制点的参数以及所述表面顶点的参数,获取所述控制点以及所述表面顶点的形变参数;
控制模块1004,用于按照所述控制点的形变参数和所述表面顶点的形变参数,对所述虚拟球体进行形变控制。
基于同一构思,本申请实施例中还提供了一种电子设备,如图11所示,该电子设备主要包括:处理器1101、通信接口1102、存储器1103和通信总线1104,其中,处理器1101、通信接口1102和存储器1103通过通信总线1104完成相互间的通信。其中,存储器1103中存储有可被至处理器1101执行的程序,处理器1101执行存储器1103中存储的程序,实现如下步骤:获取虚拟球体的环境运动参数、所述虚拟球体表面控制点的参数以及所述虚拟球体表面顶点的参数,其中,所述表面顶点属于所述虚拟球体的网格数据;
获取约束关系,其中,所述约束关系中包括所述控制点的参数与所述表面顶点的参数之间的形变位置约束关系;
根据所述环境运动参数、所述约束关系、所述控制点的参数以及所述表面顶点的参数,获取所述控制点以及所述表面顶点的形变参数;
按照所述控制点的形变参数和所述表面顶点的形变参数,对所述虚拟球体进行形变控制。
上述电子设备中提到的通信总线1104可以是外设部件互连标准(PeripheralComponent Interconnect,简称PCI)总线或扩展工业标准结构(Extended IndustryStandard Architecture,简称EISA)总线等。该通信总线1104可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口1102用于上述电子设备与其他设备之间的通信。
存储器1103可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选地,存储器还可以是至少一个位于远离前述处理器1101的存储装置。
上述的处理器1101可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等,还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当该计算机程序在计算机上运行时,使得计算机执行上述实施例中所描述形变控制方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。该计算机可以时通用计算机、专用计算机、计算机网络或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令从一个网站站点、计算机、服务器或者数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、微波等)方式向另外一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带等)、光介质(例如DVD)或者半导体介质(例如固态硬盘)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种虚拟球体的形变控制方法,其特征在于,包括:
获取虚拟球体的环境运动参数、所述虚拟球体表面控制点的参数以及所述虚拟球体表面顶点的参数,其中,所述表面顶点属于所述虚拟球体的网格数据;
获取约束关系,其中,所述约束关系中包括所述控制点的参数与所述表面顶点的参数之间的形变位置约束关系;
根据所述环境运动参数、所述约束关系、所述控制点的参数以及所述表面顶点的参数,获取所述控制点以及所述表面顶点的形变参数;
按照所述控制点的形变参数和所述表面顶点的形变参数,对所述虚拟球体进行形变控制;
其中,在所述控制点的个数为至少两个时,所述约束关系中还包括每个所述控制点的弹性形变约束关系;所述弹性形变约束关系中包括每个所述控制点的形变系数,以及每个所述控制点的形变方向与所述运动方向矢量之间的方向约束关系;所述环境运动参数包括运动方向矢量和运动偏移量;
所述根据所述环境运动参数、所述约束关系、所述控制点的参数以及所述表面顶点的参数,获取所述控制点以及所述表面顶点的形变参数,包括:
根据所述环境运动参数以及所述弹性形变约束关系,确定每个所述控制点的形变参数;
根据每个所述控制点的形变参数、所述形变位置约束关系、每个所述控制点的参数以及所述表面顶点的参数,获取所述表面顶点的形变参数;
其中,所述根据所述环境运动参数以及所述弹性形变约束关系,确定每个所述控制点的形变参数,包括:
分别对于每个所述控制点进行以下处理:
将所述弹性形变约束关系中所述控制点的形变系数乘以所述运动偏移量,得到所述控制点的运动偏移量;
根据所述弹性形变约束关系中所述控制点的所述方向约束关系以及所述环境运动参数中的运动方向矢量,获得所述控制点的运动方向矢量;
将所述控制点的运动偏移量和所述控制点的运动方向矢量作为所述控制点的形变参数。
2.根据权利要求1所述的虚拟球体的形变控制方法,其特征在于,所述控制点的参数包括所述控制点的坐标向量;
所述表面顶点的参数包括所述表面顶点的坐标向量。
3.根据权利要求2所述的虚拟球体的形变控制方法,其特征在于,所述形变位置约束关系包括:所述控制点的坐标向量与所述表面顶点的坐标向量点积后,乘以所述表面顶点对应的缩放系数。
4.根据权利要求3所述的虚拟球体的形变控制方法,其特征在于,所述形变参数包括形变向量;
所述根据每个所述控制点的形变参数、所述形变位置约束关系、每个所述控制点的参数以及所述表面顶点的参数,获取所述表面顶点的形变参数,包括:
分别对每个所述控制点进行以下处理:确定与所述控制点具有所述形变位置约束关系的所述表面顶点的集合;分别将所述集合中的每个所述表面顶点的坐标向量与所述控制点的坐标向量点积后,乘以所述表面顶点对应的缩放系数,再与所述控制点的形变参数点积,得到所述集合中每个所述表面顶点各自的点积结果;
在所述表面顶点对应一个所述点积结果时,将所述表面顶点对应的所述点积结果作为所述表面顶点的形变向量;
在所述表面顶点对应两个或两个以上所述点积结果时,将所述两个或两个以上所述点积结果的平均向量作为所述表面顶点的形变向量。
5.根据权利要求1所述的虚拟球体的形变控制方法,其特征在于,所述获取虚拟球体的环境运动参数包括:
获取与所述虚拟球体相关联的虚拟对象的运动方向矢量和运动速度值;获取与所述运动速度值相对应的运动偏移量作为所述环境运动参数中的运动偏移量;将所述虚拟对象的运动方向矢量作为所述环境运动参数中的运动方向矢量;
或者
获取所述虚拟球体上被碰撞点的法线,将与所述法线平行且指向所述虚拟球体的单位矢量作为所述环境运动参数中的运动方向矢量,将预设的运动偏移量作为所述环境运动参数中的运动偏移量。
6.一种虚拟球体的形变控制装置,其特征在于,包括:
第一获取模块,用于获取虚拟球体的环境运动参数、所述虚拟球体表面控制点的参数以及所述虚拟球体表面顶点的参数,其中,所述表面顶点属于所述虚拟球体的网格数据;
第二获取模块,用于获取约束关系,其中,所述约束关系中包括所述控制点的参数与所述表面顶点的参数之间的形变位置约束关系;
第三获取模块,用于根据所述环境运动参数、所述约束关系、所述控制点的参数以及所述表面顶点的参数,获取所述控制点以及所述表面顶点的形变参数;
控制模块,用于按照所述控制点的形变参数和所述表面顶点的形变参数,对所述虚拟球体进行形变控制;
其中,在所述控制点的个数为至少两个时,所述约束关系中还包括每个所述控制点的弹性形变约束关系;所述弹性形变约束关系中包括每个所述控制点的形变系数,以及每个所述控制点的形变方向与所述运动方向矢量之间的方向约束关系;所述环境运动参数包括运动方向矢量和运动偏移量;
所述第三获取模块,具体用于根据所述环境运动参数以及所述弹性形变约束关系,确定每个所述控制点的形变参数;根据每个所述控制点的形变参数、所述形变位置约束关系、每个所述控制点的参数以及所述表面顶点的参数,获取所述表面顶点的形变参数;
其中,所述第三获取模块,具体用于分别对于每个所述控制点进行以下处理:将所述弹性形变约束关系中所述控制点的形变系数乘以所述运动偏移量,得到所述控制点的运动偏移量;根据所述弹性形变约束关系中所述控制点的所述方向约束关系以及所述环境运动参数中的运动方向矢量,获得所述控制点的运动方向矢量;将所述控制点的运动偏移量和所述控制点的运动方向矢量作为所述控制点的形变参数。
7.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至5任一项所述的虚拟球体的形变控制方法。
8.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5任一项所述的虚拟球体的形变控制方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011465048.1A CN112233253B (zh) | 2020-12-14 | 2020-12-14 | 虚拟球体的形变控制方法、装置、电子设备及存储介质 |
PCT/CN2021/119149 WO2022127241A1 (zh) | 2020-12-14 | 2021-09-17 | 虚拟球体的形变控制方法、装置、程序和可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011465048.1A CN112233253B (zh) | 2020-12-14 | 2020-12-14 | 虚拟球体的形变控制方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112233253A CN112233253A (zh) | 2021-01-15 |
CN112233253B true CN112233253B (zh) | 2021-03-16 |
Family
ID=74124090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011465048.1A Active CN112233253B (zh) | 2020-12-14 | 2020-12-14 | 虚拟球体的形变控制方法、装置、电子设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112233253B (zh) |
WO (1) | WO2022127241A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112233253B (zh) * | 2020-12-14 | 2021-03-16 | 成都完美时空网络技术有限公司 | 虚拟球体的形变控制方法、装置、电子设备及存储介质 |
CN112991444B (zh) * | 2021-02-10 | 2023-06-20 | 北京字跳网络技术有限公司 | 位置确定方法及设备 |
CN114618163A (zh) * | 2022-03-21 | 2022-06-14 | 北京字跳网络技术有限公司 | 虚拟道具的驱动方法、装置、电子设备及可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992672A (zh) * | 2017-11-28 | 2018-05-04 | 电子科技大学 | 一种基于虚拟弹簧的软组织形变建模方法 |
CN111127641A (zh) * | 2019-12-31 | 2020-05-08 | 中国人民解放军陆军工程大学 | 一种具有高逼真面部特征的三维人体参数化建模方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9142055B1 (en) * | 2011-07-01 | 2015-09-22 | Lucasfilm Entertainment Company Ltd. | Refraction determination for animating 3D objects |
CN104794742B (zh) * | 2015-05-08 | 2017-12-01 | 中国科学院软件研究所 | 一种基于有限元方法的气球膨胀动画模拟方法 |
CN105069826B (zh) * | 2015-08-26 | 2018-06-29 | 中国科学院深圳先进技术研究院 | 弹性物体变形运动的建模方法 |
CN106991722A (zh) * | 2017-03-01 | 2017-07-28 | 浙江大学 | 一种基于斜椭球域影响凸包的几何网格模型变形方法 |
CN109242765B (zh) * | 2018-08-31 | 2023-03-10 | 腾讯科技(深圳)有限公司 | 一种人脸图像处理方法、装置和存储介质 |
CN110782528A (zh) * | 2019-10-23 | 2020-02-11 | 创新工场(北京)企业管理股份有限公司 | 自由形变的人脸整形模拟方法、***及存储介质 |
CN110931121A (zh) * | 2019-11-29 | 2020-03-27 | 重庆邮电大学 | 一种基于Hololens的远程手术指导装置及操作方法 |
CN111921202B (zh) * | 2020-09-16 | 2021-01-08 | 成都完美天智游科技有限公司 | 虚拟场景的数据处理方法、装置、设备及可读存储介质 |
CN112233253B (zh) * | 2020-12-14 | 2021-03-16 | 成都完美时空网络技术有限公司 | 虚拟球体的形变控制方法、装置、电子设备及存储介质 |
-
2020
- 2020-12-14 CN CN202011465048.1A patent/CN112233253B/zh active Active
-
2021
- 2021-09-17 WO PCT/CN2021/119149 patent/WO2022127241A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107992672A (zh) * | 2017-11-28 | 2018-05-04 | 电子科技大学 | 一种基于虚拟弹簧的软组织形变建模方法 |
CN111127641A (zh) * | 2019-12-31 | 2020-05-08 | 中国人民解放军陆军工程大学 | 一种具有高逼真面部特征的三维人体参数化建模方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2022127241A1 (zh) | 2022-06-23 |
CN112233253A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112233253B (zh) | 虚拟球体的形变控制方法、装置、电子设备及存储介质 | |
WO2022001652A1 (zh) | 虚拟角色控制方法、装置、计算机设备和存储介质 | |
CN112489171B (zh) | 一种动画效果模拟方法及装置 | |
CN105913471B (zh) | 图片处理的方法和装置 | |
US20090158150A1 (en) | Rules-based profile switching in metaverse applications | |
US20130307850A1 (en) | Action modeling device, method, and program | |
US20210366183A1 (en) | Glitch detection system | |
CN108837510B (zh) | 信息的展示方法和装置、存储介质、电子装置 | |
US20230043121A1 (en) | Skill casting method and apparatus of virtual object, device, and storage medium | |
JP6864753B2 (ja) | オブジェクト移動方法及び装置並びに記憶媒体、電子装置 | |
CN111589114B (zh) | 虚拟对象的选择方法、装置、终端及存储介质 | |
CN112316429A (zh) | 虚拟对象的控制方法、装置、终端及存储介质 | |
CN111773688B (zh) | 柔性对象的渲染方法和装置、存储介质、电子装置 | |
JPWO2008016064A1 (ja) | ゲーム装置、ゲーム装置におけるオブジェクトの表示方法及び表示プログラム | |
CN112354182A (zh) | 三维场景的生成方法和装置、存储介质和电子装置 | |
CN111265874B (zh) | 游戏中目标物的建模方法、装置、设备及存储介质 | |
JP6306751B2 (ja) | プログラム、情報記憶媒体、サーバ、ゲームシステム、及びネットワークシステム | |
Boyraz et al. | Constructing a 3D game with Unity 3D game engine | |
US20230244329A1 (en) | Submovement-based mouse input cheating detection | |
Osborn et al. | Mappyland: fast, accurate mapping for console games | |
CN107930124B (zh) | 娃娃模型之间配合运动的方法、装置、终端设备及存储介质 | |
CN113041616A (zh) | 游戏中控制跳字显示的方法、装置、电子设备及存储介质 | |
US20230241511A1 (en) | Submovement-based mouse input cheating detection | |
Drudis Mola | Joc 3D basat en Unity estil Tower Defense | |
JP2018089444A (ja) | プログラム、サーバ、及びネットワークシステム |
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 |