CN112802166B - 模拟虚拟植物受风摆动的显示方法、装置、存储介质及设备 - Google Patents
模拟虚拟植物受风摆动的显示方法、装置、存储介质及设备 Download PDFInfo
- Publication number
- CN112802166B CN112802166B CN202110064921.4A CN202110064921A CN112802166B CN 112802166 B CN112802166 B CN 112802166B CN 202110064921 A CN202110064921 A CN 202110064921A CN 112802166 B CN112802166 B CN 112802166B
- Authority
- CN
- China
- Prior art keywords
- noise
- coordinates
- wind
- intensity
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/60—3D [Three Dimensional] animation of natural phenomena, e.g. rain, snow, water or plants
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种模拟虚拟植物受风摆动的显示方法、装置、存储介质及电子设备。该方法包括:获取虚拟植物的顶点的坐标、风力向量和时间参数,时间参数随时间变化而不断变化;根据顶点的坐标、风力向量和时间参数确定随时间变化的噪声坐标;利用噪声函数对噪声坐标进行灰度处理,得到随时间变化的噪声灰度值,将噪声灰度值作为噪声强度;根据噪声强度对顶点的坐标进行偏移,以模拟显示虚拟植物受风摆动的效果。本申请实施例提高游戏中模拟显示虚拟植物受风摆动的真实性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及游戏技术领域,具体涉及一种模拟虚拟植物受风摆动的显示方法、装置、存储介质及设备。
背景技术
三维游戏中,游戏场景通常少不了植物(如草),草是环境生态的重要指示标志,在游戏中场景有非常重要的作用。大部分游戏对草的运动动态有一定的要求,特别是在受风力影响的情况下,草的摆动是否自然流畅,是影响游戏画面效果的一个重要指标。
模拟草地动画的方案,有通过顶点色控制摆动的方向和强度的,也有使用构造周期函数(如sin函数)的方案来实现简单的横向位移。使用顶点色控制摆动的方案更适合于树木之类的单株复杂运动,它不能解决整片草地受风时的连续性摆动;使用构造周期函数的方案通常也不能解决重复感的问题。
发明内容
本申请实施例提供一种模拟虚拟植物受风摆动的显示方法、装置、存储介质及设备,可以提高游戏中模拟显示虚拟植物受风摆动的真实性。
本申请实施例提供了一种模拟虚拟植物受风摆动的显示方法,包括:
获取虚拟植物的顶点的坐标、风力向量和时间参数,时间参数随着时间变化而不断变化;
根据顶点的坐标、风力向量和时间参数确定随时间变化的噪声坐标;
利用噪声函数对噪声坐标进行灰度处理,得到随时间变化的噪声灰度值,并将噪声灰度值作为噪声强度;
根据噪声强度对顶点的坐标进行偏移,以模拟显示虚拟植物受风摆动的效果。
本申请实施例还提供一种模拟虚拟植物受风摆动的显示装置,包括:
参数获取模块,用于获取虚拟植物的顶点的坐标、风力向量和时间参数,时间参数随着时间变化而不断变化;
第一确定模块,用于根据顶点的坐标、风力向量和时间参数确定随时间变化的噪声坐标;
第二确定模块,用于利用噪声函数对噪声坐标进行灰度处理,得到随时间变化的噪声灰度值,并将噪声灰度值作为噪声强度;
顶点偏移模块,用于根据噪声强度对顶点的坐标进行偏移,以模拟显示虚拟植物受风摆动的效果。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如上任一实施例所述的模拟虚拟植物受风摆动的显示方法中的步骤。
本申请实施例还提供一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如上任一实施例所述的模拟虚拟植物受风摆动的显示方法中的步骤。
本申请实施例提供的模拟虚拟植物受风摆动的显示方法、装置、存储介质及电子设备,通过获取虚拟植物的顶点的坐标、风力向量和时间参数,该时间参数随着时间变化而不断变化;根据顶点的坐标、风力向量和时间参数确定随时间变化的噪声坐标,如此,得到的噪声坐标是随时间变化的;接着利用噪声函数对噪声坐标进行灰度处理,得到随时间变化的噪声灰度值,并将噪声灰度值作为噪声强度,如此,得到的噪声强度在风力向量上随时间变化,即在风力向量上噪声强度不重复;最后根据噪声强度对顶点的坐标进行偏移,以模拟显示虚拟植物受风摆动的效果。本申请实施例中的模拟虚拟植物受风摆动的方案能得到风力向量上的不断变化的噪声坐标,在风力向量上噪声坐标对应的噪声强度不重复,如此利用不重复的噪声强度对顶点的坐标进行偏移时,使得偏移不重复,避免了周期函数的相位移动带来的重复感,使得模拟显示虚拟植物受风摆动的效果更真实,提高了模拟显示的真实性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的模拟虚拟植物受风摆动的显示方法的流程示意图。
图2a为本申请实施例提供的虚拟植物的示意图。
图2b为本申请实施例提供的草地的示意图。
图3a为本申请实施例提供的噪声灰度图的示意图。
图3b为本申请实施例提供的转换至切空间下对噪声坐标缩放的噪声灰度图的示意图。
图3c为本申请实施例提供的未转换至切空间下对噪声坐标缩放的噪声灰度图示意图。
图4为本申请实施例提供的模拟虚拟植物受风摆动的显示方法的流程示意图。
图5a为本申请实施例提供的未对顶点的法线进行偏转的示意图。
图5b为本申请实施例提供的对顶点的法线进行偏转的示意图。
图6为本申请实施例提供的模拟虚拟植物受风摆动的显示方法的一流程示意图。
图7为本申请实施例提供的模拟虚拟植物受风摆动的显示装置的结构示意图。
图8为本申请实施例提供的模拟虚拟植物受风摆动的显示装置的又一结构示意图。
图9为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种模拟虚拟植物受风摆动的显示方法、装置、存储介质及电子设备。具体地,本申请实施例的模拟虚拟植物受风摆动的显示方法可以由电子设备执行,其中,该电子设备可以为终端或者服务器等设备。该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(PC,Personal Computer)、个人数字助理(PersonalDigital Assistant,PDA)等终端设备。服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
例如,当该模拟虚拟植物受风摆动的显示方法运行于终端时,终端设备存储有模拟显示虚拟植物受风摆动的游戏应用程序并用于呈现在模拟显示虚拟植物受风摆动过程中出现的噪声强度、模拟显示虚拟植物受风摆动的虚拟场景、模拟显示虚拟植物光照倒伏的虚拟场景,以及模拟显示的虚拟植物所在的虚拟场景,或者虚拟植物所在的开发的虚拟场景等。终端设备用于通过图形用户界面与用户进行交互,例如通过终端设备下载安装游戏应用程序并运行。该终端设备将图形用户界面提供给用户的方式可以包括多种,例如,可以渲染显示在终端设备的显示屏上,或者,通过全息投影呈现图形用户界面。
例如,当该模拟虚拟植物受风摆动的显示方法运行于服务器时,可以为云游戏。云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏应用程序的运行主体和游戏画面呈现主体是分离的,模拟虚拟植物受风摆动的显示方法的储存与运行是在云游戏服务器上完成的。而游戏画面呈现是在云游戏的客户端完成的,云游戏客户端主要用于游戏数据的接收、发送以及游戏场景的呈现,例如,云游戏客户端可以是靠近用户侧的具有数据传输功能的显示设备,但是进行游戏数据处理的终端设备为云端的云游戏服务器。在进行游戏时,用户操作云游戏客户端向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏场景等数据进行编码压缩,通过网络返回云游戏客户端,最后,通过云游戏客户端进行解码并输出游戏场景。
以下将分别对本申请实施例提供的一种模拟虚拟植物受风摆动的显示方法、装置、存储介质及电子设备进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
本申请实施例中的虚拟植物可以指游戏场景中的各种植物,如草、灌木、树木等虚拟植物,模拟虚拟植物受风摆动的显示时,对应的虚拟植物既可以指单株植物,也可以指多株植物。一般情况下,指的是多株植物。其中,在一个游戏场景中,为了体现更好的受风摆动的显示效果,多株植物指的是同类型的多株,以模拟出同类型的多株植物受风摆动的显示效果,如草地受风时整体摆动的显示效果,灌木丛受风时整体摆动的显示效果。另外,需要说明的是,本申请实施例中的游戏场景优选为三维游戏场景。
图1是本申请实施例提供的模拟虚拟植物受风摆动的显示方法的流程示意图,该模拟虚拟植物受风摆动的显示方法由电子设备执行,该模拟虚拟植物受风摆动的显示方法包括如下步骤。
101,获取虚拟植物的顶点的坐标、风力向量和时间参数,时间参数随着时间变化而不断变化。
其中,为了方便理解,本申请实施例中的世界坐标系/物体坐标系以右手坐标系为例进行说明。三维游戏场景中,坐标系以地面所处的面为X轴和Z轴,其中,X轴正方向为水平向右,Y轴正方向为垂直于地面且向上的方向。在世界坐标系中,虚拟植物沿着Y轴正方向生长/设置。
其中,虚拟植物的顶点的坐标既可以指虚拟植物的局部坐标(如在虚拟植物的物体坐标系下所对应的顶点的坐标),也可以指虚拟植物的世界坐标。在游戏场景中,若当前虚拟植物有一株,则获取该株虚拟植物的顶点的世界坐标/局部坐标;若当前虚拟植物为多株,则优先采用世界坐标,即获取多株虚拟植物的顶点的世界坐标。其中,顶点指的是虚拟植物的所有顶点,一个虚拟植物通常对应有多个顶点。本申请实施例中以虚拟植物为多株为例进行说明。
可以理解地,每株虚拟植物可对应一个虚拟植物模型。可预先制作多个虚拟植物模型,将该虚拟植物模型贴图/蒙皮得到的虚拟植物放置入游戏场景中的对应位置。如图2a所示,是根据草模型得到的一棵草。如图2b所示,是将多个草模型得到的多棵草放置入游戏场景中对应位置后得到的草地的游戏场景。
其中,将每个虚拟植物的顶点的局部坐标乘以一个世界矩阵,即可得到虚拟植物每个顶点在世界坐标系中的世界坐标。每个虚拟植物的每个顶点都会对应一个唯一的世界坐标,获取虚拟植物的顶点的世界坐标。
其中,风力向量可根据风力方向所对应的向量来确定,风力向量是风力方向所对应的向量在X轴和Z轴上的分矢量,其中,风力方向所对应的向量可随意设置,以符合游戏场景中的情景为准。无论风力方向所对应的向量是什么,所得到的风力向量都是风力方向所对应的向量在X轴和Z轴上的分矢量,即风力向量的Y轴的数据用0表示。风力向量可表示为(x,0,z),其中,x、z分别表示风力方向所对应的向量在X轴、Z轴上的分矢量。如在游戏场景中,风力方向与地面呈45度角,且与X轴、Z轴呈45度角,则对应的风力向量为(1,0,1)。在一些情况下,进一步地,将风力向量的单位向量确定为最后的风力向量,风力向量的单位向量可表示为如风力向量为(1,0,1),则风力向量的单位向量为为了方便理解和计算,优选地,将风力向量的单位向量作为最后的风力向量。
可选地,时间参数指的是游戏时间,该游戏时间可以指从进入(如登录)游戏开始到当前时间所经过的时间,也可理解为当前游戏时长。该进入游戏时对应的时间以及当前时间都以电子设备上的时间为准,以秒或者更小的时间粒度为单位。在一些情况下,还可以仅仅将电子设备上的时间作为游戏时间,以秒或者更小的时间粒度为单位。在一些情况下,时间参数还可以是游戏制作过程中或者游戏中所涉及的模拟时间等,以秒或者更小的时间粒度为单位。无论在哪种情况下,随着时间推移,时间参数也在不断地变化。即时间参数的值随着时间变化而不断变化。
该步骤实现获取虚拟植物的顶点的坐标、风力向量和时间参数。
102,根据顶点的坐标、风力向量和时间参数确定随时间变化的噪声坐标。
在一实施例中,步骤102,包括:根据顶点的坐标、风力向量和时间参数确定风力向量上随时间变化的噪声坐标。
具体地,利用风力向量乘以时间参数,再加上/减去顶点的坐标,得到风力向量上随时间变化的噪声坐标。
本申请下文中,顶点的坐标以世界坐标为例进行说明。
其中,顶点的世界坐标用WorldPosition来表示,风力向量用GlobalWindDir来表示,时间参数用GameTime来表示,噪声坐标用noisePosition来表示,则噪声坐标用以下式子来表示:
noisePosition=GlobalWindDir*GameTime*WaveLength-WorldPosition;
其中,WaveLength表示波长,在一些实施例中,也可以不使用波长。需要注意的是,上述中的噪声坐标利用风力向量乘以时间参数,减去顶点的世界坐标得到的;在其他实施例中,也可以通过加上顶点的世界坐标得到。
若以X轴和Z轴来表示风力向量,将X轴作为第一坐标轴,Y轴作为第二坐标轴,Z轴作为第三坐标轴。假设虚拟植物某一个顶点的世界坐标用(x,y,z)表示,风力向量用(win_x,0,win_y)表示,时间参数用t来表示,则noisePosition=(x+win_x*t,y,z+win_z*t)。
通过noisePositon可以得到,在水平方向上,即平行于地面所在平面坐标系上,如X轴、Z轴方向上,随着时间参数变化,对应的噪声坐标也一直在变化。可以理解地,在该实施例中,X轴、Z轴上存在对应的噪声偏移(计算出的噪声坐标可理解为对应的噪声偏移),如此,保证噪声在X轴和Z轴方向上滚动起来,使得X轴和Z轴方向上的噪声不重复。
将得到的在X轴和Z轴方向上不断变化的噪声坐标作为输入,利用噪声函数(可以为平滑的二维噪声函数,也可以是平滑的三维噪声函数)进行噪声处理,得到噪声灰度图。其中,噪声灰度图如图3a所示。需要说明的是,图3a中所示的只是一个静图,可以理解地,该实施例中得到的噪声灰度图在X轴和Z轴上是滚动的,静图中并没有表现出来。其中,Y轴垂直于X轴和Z轴方向。
在一实施例中,步骤102,包括:根据顶点的坐标、风力向量和时间参数确定平行于地面所在平面坐标系上随时间变化的第一噪声坐标,即根据顶点的坐标、风力向量和时间参数确定风力向量所在的第一坐标轴和第三坐标轴上随时间变化的第一噪声坐标;利用垂直于平面坐标系所在方向的单位向量和时间参数确定垂直于平面坐标系所在方向上随时间变化的第二噪声坐标,即利用第二坐标轴上的单位向量和时间参数确定第二坐标轴上随时间变化的第二噪声坐标;根据第一噪声坐标和第二噪声坐标确定随时间变化的噪声坐标。
其中,第一噪声坐标为(x+win_x*t,y,z+win_z*t),对应平行于地面所在平面坐标系上对应的噪音偏移,即为X轴、Z轴方向上对应的噪声偏移;得到X轴、Z轴方向上对应的噪声偏移是为了保证噪声在X轴和Z轴方向上滚动起来,使得X轴、Z轴方向上的噪声不重复。垂直于平面坐标系所在方向的单位向量用(0,1,0),时间参数为t,第二噪声坐标为(0,t,0),对应垂直于平面坐标系所在方向上的噪音偏移,即Y轴方向上对应的噪声偏移;Y轴方向上对应的噪声偏移是为了有一个纵向滚动,避免出现任何重复。得到第一噪声坐标和第二噪声坐标后,将第一噪声坐标和第二噪声坐标相加,以得到最后的噪声坐标(x+win_x*t,y+t,z+win_z*t)。
可以理解地,该实施例中得到的噪声坐标不仅在平行于地面所在平面坐标系上(即水平方向上)不断变化,如在X轴、Z轴方向上不断变化,也在垂直于平面坐标系所在方向上(即竖直方向上)也不断变化,如在Y轴方向上不断变化;既实现了在X轴、Z轴方向上的滚动,也实现了在Y轴方向上的滚动。
将得到的在X轴、Z轴和Y轴方向上不断变化的噪声坐标作为输入,利用平滑的三维噪声函数进行噪声处理,得到对应的噪声灰度图。其中,可以理解地,该实施例中得到的噪声灰度图在X轴和Z轴方向上是滚动的,同时在Y轴方向上也是滚动的。需要说明的是,在该种情况下,一定使用的是平滑的三维噪声函数,利用平滑的三维噪声函数才可以体现出在三个不同坐标轴方向上的滚动。
该实施例中不仅实现了X轴、Z轴方向上的噪声偏移,还实现了Y轴方向上的噪声偏移,因此噪声在移动过程中是不重复的,避免了周期函数(如sin函数)的相位移动带来的重复感。
103,利用噪声函数对噪声坐标进行灰度处理,得到随时间变化的噪声灰度值,将噪声灰度值作为噪声强度。
需要注意的是,这里的噪声函数采用平滑的噪声函数,以实现平滑的噪声滚动的效果。其中,平滑的噪声函数以为了在进行灰度处理后,得到噪声灰度值是平滑过渡的。其中,噪声函数可以是柏林(Perlin)噪声函数、沃利(Worley)噪声、Simplex噪声函数等等。
其中,若在水平方向上,如在X轴、Z轴方向上,存在对应的噪声偏移(即X轴、Z轴方向上的噪声坐标随时间变化),则对应的噪声函数可以是平滑的二维噪声函数,也可以是平滑的三维噪声函数。
其中,若在水平方向上和竖直方向上,如在X轴、Y轴、Z轴方向上,都存在对应的噪声偏移(即X轴、Y轴、Z轴方向上的噪声坐标随时间变化),则对应的噪声函数一定是平滑的三维噪声函数,以实现既在水平方向上滚动,也在竖直方向上滚动,即实现在三个不同坐标轴方向上的滚动。
具体地,利用噪声函数对噪声坐标进行灰度处理,理解为将噪声坐标作为输入,利用噪声函数对噪声坐标进行灰度处理,以输出为0-1之间的噪声灰度值,将输出的噪声灰度值作为随时间变化的噪声强度。以如下式子表示:noise=noise3D(noisePosition),其中,noisePosition是噪声坐标,noise3D指的是平滑的三维噪声函数,noise为计算出的随时间变化的噪声强度。其中,计算出的noise为0至1区间的平滑灰度值,将对应的平滑灰度值作为噪声强度。
该步骤中得到噪声强度,该噪声强度随时间流动不断向风力向量推动。
104,根据噪声强度对顶点的坐标进行偏移,以模拟显示虚拟植物受风摆动的效果。
得到噪声强度后,根据噪声强度对虚拟植物的顶点的坐标进行偏移。
其中,根据噪声强度对顶点的坐标进行偏移的步骤,包括:确定在风力向量上顶点的坐标的第一偏移强度;根据噪声强度确定在风力向量的切方向上顶点的坐标的第二偏移强度;根据第一偏移强度和第二偏移强度确定顶点的偏移强度;根据顶点的偏移强度对顶点的坐标进行偏移。可以理解地,将风力向量上的第一偏移强度和风力向量的切方向上的第二偏移强度合并之后作为顶点最后的偏移强度,根据该偏移强度对顶点的坐标进行偏移。如此,根据噪声强度对顶点进行偏移,模拟显示虚拟植物受风摆动的效果。
其中,确定在风力向量上顶点的坐标的第一偏移强度的步骤,包括:根据风力向量,确定风力强度;并确定虚拟植物的顶点随高度变化的缩放权重因子;根据风力向量、风力强度、缩放权重因子确定在风力向量上顶点的第一偏移强度。
其中,根据风力向量,确定风力强度,包括:获取预设强度值,根据风力向量和预设强度值,确定风力强度。在一些情况下,还可以直接获取预设强度值,将该预设强度值确定为风力强度。
其中,确定虚拟植物的顶点随高度变化的缩放权重因子的步骤,包括:获取虚拟植物的顶点对应的高度坐标;根据高度坐标和风力强度确定虚拟植物随高度变化的缩放权重因子。其中,可根据风力强度来确定风力高度,如获取预设高度值,根据风力强度和预设高度值确定风力高度,在一些情况下,还可以直接将预设高度值确定为风力高度。根据高度坐标和风力强度确定虚拟植物随高度变化的缩放权重因子,包括:根据高度坐标、风力高度确定虚拟植物随高度变化的缩放权重因子。
其中,顶点所对应的高度坐标指的是顶点在Y轴上的坐标。该坐标既可以是局部坐标,也可以是世界坐标。该处以局部坐标为例进行说明。
其中,虚拟植物的顶点的高度坐标使用LocalPosition.y来表示,通过上文中的描述,在虚拟场景中,以竖直向上的方向为Y轴方向;在虚拟场景中,虚拟植物是竖直向上的。风力高度使用WindHeight来表示。
根据高度坐标和风力高度确定虚拟植物随高度变化的缩放权重因子的步骤,具体为:利用高度坐标除以风力高度,以得到一个根据模型高度变化的缩放因子;调用预设函数,以将该缩放因子中大于1的部分限制在1,小于0的部分限制在0,其他保持不变,如此,得到虚拟植物随高度变化的缩放权重因子。其中,预设函数假设为saturate,该预设函数用于将输入值限制到0-1区间的操作;对于大于1的输入,其返回值为1;对于小于0的输入,其返回值为0;否则返回原值。
可使用如下公式来表示计算缩放权重因子的方式,其中,权重缩放因子用vertex_height来表示:
vertex_height=saturate((LocalPosition.y/WindHeight));
该公式用来表示根据虚拟植物高度而确定的缩放权重因子,以用来表示虚拟植物偏移的缩放,用来固定虚拟植物的根部。可以理解地,虚拟植物的根部计算出的缩放权重因子为0,随着虚拟植物的高度的局部坐标变大,其对应的缩放权重因子也慢慢变大。如此,以模拟出虚拟植物的根部不动,越往顶部,偏移越大的效果。
计算出缩放权重因子后,需计算出在风力向量上顶点的第一偏移强度。具体地,根据风力向量、风力强度、缩放权重因子确定在风力向量上顶点的第一偏移强度的步骤,包括:利用风力向量乘以风力强度,再乘以缩放权重因子,以得到在风力向量上顶点的第一偏移强度。
其中,可使用如下公式来计算在风力向量上顶点的第一偏移强度:
WorldPositionDisp1=GlobalWindDir*GlobalWindStrength*vertex_height;
其中,WorldPositionDisp1表示在风力向量上顶点的第一偏移强度,GlobalWindStrength表示风力强度。
计算出在风力向量上顶点的第一偏移强度后,需计算出在风力向量的切方向上的第二偏移强度。
其中,根据噪声强度确定在风力向量的切方向上顶点的坐标的第二偏移强度的步骤,包括:根据风力向量,确定风力强度;并确定虚拟植物的顶点随高度变化的缩放权重因子;根据噪声强度确定在切方向的正方向和反方向上虚拟植物的顶点随时间变化的切线偏移强度;根据切线偏移强度、风力强度、缩放权重因子确定在切方向上顶点的第二偏移强度。
其中,根据风力向量,确定风力强度;以及确定虚拟植物的顶点随高度变化的缩放权重因子的步骤,请参看上文中的对应描述,在此不再赘述。
其中,根据噪声强度确定在切方向的正方向和反方向上虚拟植物的顶点随时间变化的切线偏移强度的步骤,包括:构造一个周期函数;根据周期函数,确定在风力向量的切方向上周期变化的周期偏移强度;根据噪声强度在切方向的正方向和反方向上对周期偏移强度进行插值,得到虚拟植物的顶点在切方向的正方向和反方向上随时间变化的切线偏移强度。
将Y轴的单位向量和风力向量的向量叉乘,以得到风力向量的切方向所对应的向量,如DirX=cross(float3(0,1,0),GlobalWindDir),其中,cross表示叉乘,float3(0,1,0)表示Y轴的单位向量,GlobalWindDir表示风力向量,DirX表示风力向量的切方向所对应的向量,其中,根据叉乘的原理可知,切方向指的是横向的与风力向量垂直的方向,即水平方向上与风力向量垂直的方向。
其中,周期函数可以是任一周期函数,如sin函数。如构造的周期函数为:sin(noisePosition.z-GameTime);其中,noisePosition.z表示噪声坐标中Z轴方向的坐标值,GameTime表示时间参数。其中,构造的周期函数还可以使用噪声坐标中X轴方向的坐标值作为参数,如sin(noisePosition.x-GameTime)。若噪声坐标中X轴、Y轴、Z轴方向上都有变化,则构造的周期函数还可以使用Y轴方向的坐标值作为参数,如sin(noisePosition.y-GameTime)。
其中,根据周期函数,确定在风力向量的切方向上周期变化的周期偏移强度的步骤,包括:利用风力向量的切方向乘以构造的周期函数,以得到切方向上周期变化的周期偏移强度。可使用如下公式来表示:
dispX*=DirX*sin(noisePosition.z-GameTime),其中,dispX即为切方向上周期变化的横向摆动的偏移强度,称为周期偏移强度。
在虚拟植物受风摆动的过程中,除了在切方向的正方向上摆动之外,还需要在切方向的反方向上进行摆动。可以理解地,摆动的时候会左右偏移。其中,用DirX表示切方向的正方向,用-DirX表示切方向的反方向。
其中,根据噪声强度在切方向的正方向和反方向上对周期偏移强度进行插值,得到虚拟植物的顶点在切方向的正方向和反方向上随时间变化的切线偏移强度的步骤,包括:确定切方向的正方向的周期偏移强度和切方向的反方向的周期偏移强度;将正方向的周期偏移强度、反方向的周期偏移强度和噪声强度作为插值函数的输入,以得到虚拟植物的顶点在切方向的正方向和反方向上随时间变化的切线偏移强度。
可使用公式来计算虚拟植物的顶点在切方向的正方向和反方向上随时间变化的切线偏移强度:dispDir=lerp(dispX,-dispX,noise)*0.25;其中,dispDir表示切线偏移强度,lerp表示插值函数,dispX表示切方向的正方向的周期偏移强度;-dispX表示切方向的反方向的周期偏移强度,noise为上文中计算出的随时间变化的噪声强度。如此,得到一个与噪声相关的切方向上的偏移,即垂直于风力向量上的一个偏移,用来模拟一些湍流的效果。其中,noise一直在变化,使得计算出的dispDir也一直在变化,因此虚拟植物的顶点在切方向的正方向和反方向上的偏移不会出现重复。
确定了缩放权重因子、切线偏移强度后,再确定第二偏移强度。其中,根据切线偏移强度、风力强度、缩放权重因子确定在切方向上顶点的第二偏移强度的步骤,包括:利用切线偏移强度乘以风力强度,再乘以缩放权重因子,以得到在风力向量的切方向上顶点的第二偏移强度。
其中,可使用如下公式来计算在风力向量的切方向上顶点的第一偏移强度:WorldPositionDisp2=dispDir*GlobalWindStrength*vertex_height;其中,WorldPositionDisp2表示在风力向量的切方向上顶点的第二偏移强度。
得到顶点在风力向量上的第一偏移强度、风力向量的切方向上的第二偏移强度,根据顶点的第一偏移强度和第二偏移强度确定顶点的偏移强度,即将各个方向上的偏移作为顶点最后的偏移强度。
得到的顶点的偏移强度指的是顶点对应的偏移值,还需要将顶点的偏移值和顶点的坐标结合起来。其中,根据顶点的偏移强度对顶点的坐标进行偏移的步骤,包括:将顶点的偏移强度与顶点的坐标相加,以得到顶点偏移后的最终的坐标;根据该最终的坐标来确定顶点的位置,实现顶点的偏移。
本申请实施例中的模拟虚拟植物受风摆动的方案能得到风力向量上(和风力向量的切方向上)的不断变化的噪声偏移,在风力向量上(和风力向量的切方向上)噪声在移动过程中不重复,避免了周期函数的相位移动带来的重复感,使得模拟虚拟植物受风摆动的显示效果更真实,提高了提高游戏中模拟显示虚拟植物受风摆动的真实性。
在一实施例中,如图4所示,所述模拟虚拟植物受风摆动的显示方法包括步骤201至步骤207。
201,获取虚拟植物的顶点的坐标、风力向量和时间参数,时间参数随着时间变化而不断变化。
202,根据坐标、风力向量和时间参数确定随时间变化的噪声坐标。
其中,步骤201至步骤202与上述步骤101至步骤102一致,具体请参看上述步骤中对应的描述,在此不再赘述。
203,将噪声坐标转换至风力向量的切空间中,以得到转换后的噪声坐标。
构建风力向量的切空间,将噪声坐标转换至切空间中,得到转换后的噪声坐标。其中,构建风力向量的切空间,包括:获取Y轴的单位向量,其中,将游戏场景中垂直于地面(竖直朝上)的单位向量作为Y轴的单位向量;获取风力向量的向量;将Y轴的单位向量和风力向量的向量叉乘,以得到风力向量的切方向(风力向量的切线方向)所对应的向量;根据Y轴的单位向量、风力向量的向量、风力向量的切向量构造风力向量的切空间。
在风力向量的切空间中,风力向量作为一个坐标轴,假设为Z轴,风力向量的切向量作为一个坐标轴,假设为X轴。可以理解地,构建了一个以竖直朝上单位向量为Y轴,以风力向量为Z轴的切空间。
构建了风力向量的切空间后,将噪声坐标转换至切空间中。假设所获取的顶点的坐标为世界坐标,可以理解地,步骤202中得到的噪声坐标是在世界坐标系中的世界坐标,将世界坐标系中的噪声坐标转换至切空间中,得到转换后的噪声坐标,转换后的噪声坐标即为切空间中的噪声坐标。
204,将转换后的噪声坐标沿着风力向量上进行缩放,以得到缩放后的噪声坐标。
在一种情况下,将转换后的噪声坐标(噪声坐标值)沿着风力向量进行缩放,包括:获取缩放频率,根据缩放频率将转换后的噪声坐标中的风力向量上(Z轴坐标)进行缩放。即将转换后的噪声坐标(噪声坐标值)仅沿着风力向量上进行缩放。
在一些情况下,不仅沿着风力向量上进行缩放,还沿着风力向量的切方向上进行缩放,具体地,步骤204包括:将转换后的噪声坐标沿着风力向量和风力向量的切方向上进行缩放,以得到缩放后的噪声坐标。即不仅沿着切空间中的Z轴缩放,还沿着切空间中的X轴进行缩放。将转换后的噪声坐标(噪声坐标值)沿着风力向量和风力向量的切方向上进行缩放,包括:获取缩放频率;根据缩放频率将转换后的噪声坐标沿着切空间中的风力向量和切方向上进行缩放。其中,缩放频率包括切空间中风力向量上的第一缩放频率和切方向上的第二缩放频率;根据第一缩放频率和第二缩放频率分别将转换后的噪声坐标沿着风力向量和切方向上进行缩放,即根据第一缩放频率和第二缩放频率分别将转换后的噪声坐标中的Z轴坐标和X轴坐标进行缩放。其中,X轴表示的是横向的垂直于风力向量的坐标轴,即风力向量的切方向。可以理解地,切空间中的风力向量和风力向量的切方向对产生的波浪效果会有影响。
可用如下式子来表示,
float3frequencyScale=float3(XWindFrequency,0,ZWindFrequency);
noisePosition*=frequencyScale;
其中,ZWindFrequency表示第一缩放频率,XWindFrequency表示第二缩放频率,frequencyScale即为缩放频率,最后得到的noisePosition即为缩放后的噪声坐标。
例如,将切空间中的X轴坐标缩小一半,将Z轴坐标放大4倍,即X坐标和Z坐标分别乘以0.5和4,以得到缩放后的噪声坐标。
将缩放后的噪声坐标作为输入,利用平滑的三维噪声函数进行噪声处理,得到噪声灰度图。其中,缩放后的噪声坐标对应的噪声灰度图如图3b所示。图3b中所示的只是一个静图,以为了方便理解缩放后的噪声坐标。需要注意的是,噪声灰度图中,X轴、Y轴、Z轴方向的噪声灰度都在不停的滚动。图3b中可以看出,在切空间中沿着风力向量和风力向量的切方向上对转换后的坐标进行缩放的噪声效果。
将转换后的噪声坐标沿着风力向量和风力向量的切方向进行缩放,以调整出不同的噪声形状,能够让朝向风力向量的波浪效果进行调整,模拟出各种不同风场所带来的不同噪声效果。可以理解地,波浪有频率上的不一样,通过缩放频率可以用来模拟各种风场。
需要强调的是,在对噪声坐标进行缩放时,一定要在风力向量的切空间中进行,如此才可以达到在风力向量以及风力向量的切方向上对波浪调整的效果。假设不在风力向量的切空间中进行缩放,直接利用得到的世界坐标系中的噪声坐标来进行缩放,则达不到在风力向量以及风力向量的切方向上对波浪调整的效果。例如,在世界坐标系中沿着风力向量以及风力向量的切方向直接对噪声坐标来进行缩放,如将沿着风力向量对噪声坐标中的X轴坐标缩小一半,将Z轴坐标放大四倍,则最终缩放效果还是体现在世界坐标系中的X轴坐标和Z轴坐标上。将在世界坐标系中缩放后的噪声坐标作为输入,利用平滑的三维噪声函数进行噪声处理,得到噪声灰度图,如图3c所示。图3c是个静图,以为了方便理解缩放后的噪声坐标。需要注意的是,噪声灰度图中,X轴、Y轴、Z轴方向的噪声灰度都在不停的滚动。从图3c中可以看到,即使沿着风力向量对噪声坐标进行缩放,最后的缩放结果还是体现在世界坐标系中的对应方向上,并没有体现在对应的风力向量以及风力向量的切方向上,达不到想要的效果。因此,将噪声坐标转换至风力向量的切空间中,使得缩放结果体现在风力向量和切方向上,而不是世界坐标轴上。可以理解地,使得最后得到的风浪是在风力向量和风力向量的切方向上是压缩的,而不是在世界坐标轴上是压缩的。
将噪声坐标转换至风力向量的切空间中并沿着风力向量以及风力向量的切方向上进行缩放,以调整出不同的噪声形状,模拟出各种不同风场所带来的不同噪声效果,提高了提高游戏中模拟显示虚拟植物受风摆动的模拟效率和真实性。
205,利用噪声函数对缩放后的噪声坐标进行灰度处理,得到随时间变化的噪声灰度值,将噪声灰度值作为噪声强度。
具体地,利用噪声函数对缩放后的噪声坐标进行灰度处理,理解为将缩放后的噪声坐标作为输入,利用噪声函数对缩放后的噪声坐标进行灰度处理,以输出为0-1之间的噪声灰度值,将输出的噪声灰度值作为随时间变化的噪声强度。以如下式子表示:noise=noise3D(noisePosition),其中,noisePosition是缩放后的噪声坐标,noise3D指的是平滑的三维噪声函数,noise为计算出的随时间变化的噪声强度。其中,计算出的noise为0至1区间的平滑灰度值数据。
以上步骤201至205是为了得到噪声强度,该噪声强度随时间流动不断向风力向量推动。
206,根据噪声强度对顶点的坐标进行偏移,以模拟显示虚拟植物受风摆动的效果。
该步骤请参看步骤104所示,这里将不再赘述。
在一情况下,对顶点的坐标进行偏移的同时还需对顶点的法线进行偏转。
207,根据噪声强度对顶点的法线进行偏转,以模拟虚拟植物光照倒伏的效果。
顶点的法线指的是每个顶点所对应的法线。使用对顶点偏移所使用的相同的噪声强度对顶点的法线进行偏转,以使得顶点的法线也使用对应的噪声强度进行偏转,以模拟虚拟植物光照倒伏的效果。
在一种情况下,步骤207,包括:根据风力向量,确定风力强度;确定虚拟植物的顶点随高度变化的缩放权重因子;根据噪声强度、缩放权重因子、风力强度和预设偏转角度,确定顶点的法线的偏转角度;根据偏转角度确定在风力向量的切方向上的旋转四元数;根据旋转四元数绕着切方向对法线进行偏转。
其中,四元数可以理解为绕着一个轴旋转一定角度的一结构,而在本申请实施例中风力向量固定,所有虚拟植物的顶点的法线偏转的轴是固定的,则就可以根据这个轴来对虚拟植物进行一定角度的偏转。该实施例中利用旋转四元数来实现对法线进行偏转,由于四元数构建方便,且能很好的结合于该游戏场景中实现对顶点的法线进行偏转,提高了对法线进行偏转的效率以及提高了模拟显示受风效果的真实性。
其中,确定虚拟植物的顶点随高度变化的缩放权重因子的步骤请参看上文中对应的描述,在此不再赘述。
其中,根据噪声强度、缩放权重因子、风力强度和预设偏转角度,确定顶点的法线的偏转角度的步骤,包括:利用噪声强度乘以预设偏转角度,再乘以风力强度,再乘以缩放权重因子,以得到顶点的法线的偏转角度。可参看式子:float rotAngle=-noise*WindNormalTwist*GlobalWindStrength*vertex_height;其中,rotAngle指的是顶点的法线的偏转角度,WindNormalTwist为预设偏转角度,GlobalWindStrength表示风力强度,vertex_height为权重缩放因子。该步骤得到一个根据噪声强度(在风力向量和风力向量的切方向上噪声强度不重复)、风力参数和虚拟植物的顶点位置相关的偏转角度。可以理解地,根据虚拟植物根部到顶部的衰减做一个旋转角度的乘积,就可以得到在虚拟植物的不同高度上的不同偏转角度。
其中,根据偏转角度确定在风力向量的切方向上的旋转四元数的步骤,包括:确定风力向量的切方向,即横向的垂直于风力向量的方向;构造一个围绕风力向量的切方向,以偏转角度作为旋转角度的旋转四元数。
其中,根据旋转四元数绕着切方向对法线进行偏转,可参看式子:WorldNormal=qrotate(rotQuat,WorldNormal);其中,WorldNormal指的是虚拟植物的顶点的法线在世界坐标轴中的法线向量,qrotate是使用四元数旋转向量的函数,rotQuat指的是旋转四元数。
顶点法线的偏转角度是根据噪声强度和缩放权重因子、风力参数等来确定的,由于在风力向量和风力向量的切方向上噪声强度不重复,因此,可得到虚拟植物在不同高度上对应的不同偏转角度,再构建围绕风力向量的切方向,以偏转角度作为旋转角度的旋转四元数,根据旋转四元数来对法线进行偏转,如此使得法线的在不同高度上对应的偏转角度不同,得到虚拟植物不同高度上不同偏转的效果,以模拟虚拟植物光照倒伏的效果。
在一些情况下,可以使用欧拉角或者旋转矩阵的方式来代替旋转四元数的方式来实现。
为了对比对顶点的法线进行偏转的效果,图5a提供了未对顶点的法线进行偏转的效果,图5b提供了对顶点的法线进行偏转的效果,图5a和图5b中的虚拟植物上的如针状的黑色的线即为对应顶点的法线,图中为了示例,只列出了一部分的顶点的法线。从图5a中可以看出,未对顶点的法线进行偏转时,无论虚拟植物的顶点如何偏移,顶点的法线一直都是垂直向上的,未发生任何偏转。图5b中所示的,当虚拟植物的顶点进行偏转时,顶点的法线也对应进行偏转,实现了光照倒伏的效果,提高了虚拟植物受风摆动时的真实性。
在一情况下,步骤207,包括:获取法线贴图;根据噪声强度对法线贴图上的法线方向进行法线偏转,以得到法线的偏转角度;根据偏转角度对顶点的法线进行偏转。
其中,法线贴图中有很多法线以及所对应的法线方向信息。根据噪声强度对法线贴图中的法线方向进行法线偏转,由于噪声强度是不重复的,因此,根据噪声强度对法线贴图中的法线方向进行法线偏转的偏转角度也是不重复的。再根据得到的不重复的偏转角度对顶点的法线进行偏转,以实现虚拟植物不同高度上不同偏转的效果,模拟虚拟植物光照倒伏的效果。
该实施例将噪声坐标转换至风力向量的切空间中,在切空间中,将转换后的噪声坐标沿着风力向量进行缩放,使得得到的噪声强度不仅沿着风力向量(和风力向量的切方向)上随时间变化,且使得噪声强度在切空间中沿着风力向量上进行调整,以调整出不同的噪声形状,模拟出各种不同风场所带来的不同噪声效果。另一方面,使用得到的不重复的噪声强度对顶点的法线进行偏转,以实现虚拟植物不同高度上不同偏转的效果,模拟虚拟植物光照倒伏的效果。
上述实施例中,在同一时刻,计算出的噪声灰度图对应的是整个顶点的坐标所对应的噪声灰度图,在该噪声灰度图中,由于坐标不同,所以对应的噪声灰度图并不相同。在不同时刻,由于时间参数发生变化,因此计算出的噪声灰度图也发生了变化,不同时刻噪声灰度图的变化主要是因为时间参数的不同而导致的。因此,可以理解地,在每一时刻,对应的噪声灰度图都是不相同的,得到的噪声强度也是不同的。由于噪声强度不同,因此,根据噪声强度对顶点进行偏移时不可能会出现周期函数一样重复的效果,同时利用噪声强度对顶点的法线进行偏转时,实现的光照倒伏效果也不重复。
图6是本申请实施例提供的模拟虚拟植物受风摆动的显示方法的另一流程示意图。该模拟虚拟植物受风摆动的显示方法包括以下步骤:
301,获取噪声数据,该噪声数据中包括顶点的坐标所对应的噪声灰度值。
具体地,噪声数据可以是离线生成的,以提高模拟虚拟植物受风摆动效果的效率;也可以是在线生成的。
在一情况下,获取噪声数据的步骤,包括:获取虚拟植物的顶点的坐标;利用平滑的三维噪声函数对所获取的顶点的坐标进行噪声处理,以得到顶点的坐标所对应的噪声灰度值;保存顶点的坐标所对应的噪声灰度值为噪声数据。可以理解地,在该种情况下,将虚拟植物的顶点的坐标作为平滑的三维噪声函数的输入,利用平滑的三维噪声函数进行噪声处理,以得到一个0到1区间的平滑灰度值。其中,得到的噪声数据可以噪声贴图(如三维噪声贴图)的形式保存,还可以是任一种其他可保存的形式。需说明的是,该种情况下,依然会产生二维平面方向上的重复感,即在X轴、Z轴上会出现重复。可以理解地,由于顶点的坐标的不同,一个噪声灰度图上不会出现重复;然而下一个噪声灰度图上也是相同的数据,即下一个噪声灰度图和上一个噪声灰度图相同,因此利用噪声灰度图所对应的噪声强度对顶点的坐标进行偏移时会出现重复。
在一情况下,获取噪声数据的步骤,包括:获取虚拟植物的顶点的坐标、风力向量和时间参数;根据顶点的坐标、风力向量和时间参数确定随时间变化的噪声坐标;将噪声坐标转换至风力向量的切空间中,以得到转换后的噪声坐标;将转换后的噪声坐标沿着风力向量上进行缩放,以得到缩放后的噪声坐标;利用噪声函数对缩放后的噪声坐标进行灰度处理,得到随时间变化的噪声灰度值;保存顶点的坐标所对应的噪声灰度值为噪声数据。可以理解地,在该种情况下,将缩放后的噪声坐标作为平滑的三维噪声函数的输入,利用平滑的三维噪声函数进行噪声处理,以得到一个0到1区间的平滑灰度值数据。其中,得到的噪声数据可以噪声贴图(如三维噪声贴图)的形式保存,还可以是任一种其他可保存的形式。需要注意的是,在该种情况下,不会产生二维平面方向(X轴、Z轴)上的重复感。其中,根据顶点的坐标、风力向量和时间参数确定随时间变化的噪声坐标,该步骤包括两种不同的方式:若仅仅是X轴和Z轴上的噪声坐标随时间变化,不会产生X轴、Z轴上的重复,可对应参看图3a中所示的部分;若不仅是X轴和Z轴上的噪声坐标随时间变化,Y轴上的噪声坐标也随时间变化,那么在X轴、Y轴、Z轴上都不会产生重复,可对应参看图3b中所示的部分。其中,与上述实施例中相同的步骤请参看上文中对应的描述,在此不再赘述。
302,获取虚拟植物的顶点的坐标。
303,将顶点的坐标作为采样坐标,根据噪声数据确定采样坐标所对应的噪声灰度值。
可理解地,从噪声数据中获取对应的噪声灰度值是需要采样坐标的,将虚拟植物的顶点的坐标作为采样坐标,从噪声数据中得到采样坐标所对应的噪声灰度值。例如,采样噪声贴图是需要采样坐标的,将虚拟植物的顶点的坐标作为采样坐标,从噪声贴图中得到采样坐标所对应的噪声灰度值。
304,将噪声灰度值作为顶点的坐标所对应的噪声强度。
305,根据噪声强度对顶点的坐标进行偏移,以模拟显示虚拟植物受风摆动的效果。
306,根据噪声强度对顶点的法线进行偏转,以模拟虚拟植物光照倒伏的效果。
其中,步骤305至步骤306具体请参看上文中对应的描述,在此不再赘述。
该实施例中,以噪声数据(如噪声贴图)的方式来实现对虚拟植物受风摆动的模拟。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
为便于更好的实施本申请实施例的模拟虚拟植物受风摆动的显示方法,本申请实施例还提供一种模拟虚拟植物受风摆动的显示装置。请参阅图7,图7为本申请实施例提供的模拟虚拟植物受风摆动的显示装置的结构示意图。该模拟虚拟植物受风摆动的显示装置400可以包括参数获取模块401,第一确定模块402,转换模块403,缩放模块404,第二确定模块403,以及顶点偏移模块404。
参数获取模块401,用于获取虚拟植物的顶点的坐标、风力向量和时间参数,时间参数随着时间变化而不断变化。
第一确定模块402,用于根据顶点的坐标、风力向量和时间参数确定随时间变化的噪声坐标。
在一情况下,第一确定模块402,具体用于根据顶点的坐标、风力向量和时间参数确定风力向量上随时间变化的噪声坐标。
在一情况下,第一确定模块402,还具体用于根据顶点的坐标、风力向量和时间参数确定平行于地面所在平面坐标系(第一坐标轴和第三坐标轴)上随时间变化的第一噪声坐标;利用垂直于平面坐标系所在方向(第二坐标轴)上的单位向量和时间参数确定垂直于平面坐标系所在方向上随时间变化的第二噪声坐标;根据第一噪声坐标和第二噪声坐标确定随时间变化的噪声坐标。
第二确定模块403,用于利用噪声函数对噪声坐标进行灰度处理,得到随时间变化的噪声灰度值,将噪声灰度值作为噪声强度。
顶点偏移模块404,用于根据噪声强度对顶点的坐标进行偏移,以模拟显示虚拟植物受风摆动的效果。
其中,顶点偏移模块404,具体用于确定在风力向量上顶点的坐标的第一偏移强度;根据噪声强度确定在风力向量的切方向上顶点的坐标的第二偏移强度;根据第一偏移强度和第二偏移强度确定顶点的偏移强度;根据顶点的偏移强度对顶点的坐标进行偏移。
其中,顶点偏移模块404,在执行确定在风力向量上顶点的坐标的第一偏移强度的步骤时,具体执行:根据风力向量,确定风力强度;确定虚拟植物的顶点随高度变化的缩放权重因子;根据风力向量、风力强度、缩放权重因子确定在风力向量上顶点的第一偏移强度。
其中,顶点偏移模块404,在执行根据噪声强度确定在风力向量的切方向上顶点的坐标的第二偏移强度的步骤时,具体执行:根据风力向量,确定风力强度;确定虚拟植物的顶点随高度变化的缩放权重因子;根据噪声强度确定在切方向的正方向和反方向上虚拟植物的顶点随时间变化的切线偏移强度;根据切线偏移强度、风力强度、缩放权重因子确定在切方向上顶点的第二偏移强度。
其中,顶点偏移模块404,在执行根据噪声强度确定在切方向的正方向和反方向上虚拟植物的顶点随时间变化的切线偏移强度的步骤时,具体执行:构造一个周期函数;根据周期函数,确定在风力向量的切方向上周期变化的周期偏移强度;根据噪声强度在切方向的正方向和反方向上对周期偏移强度进行插值,得到虚拟植物的顶点在切方向的正方向和反方向上随时间变化的切线偏移强度。
在一情况下,如图8所示,模拟虚拟植物受风摆动的显示装置400还包括:转换模块405和缩放模块406。
转换模块405,用于将噪声坐标转换至风力向量的切空间中,以得到转换后的噪声坐标。
缩放模块406,用于将转换后的噪声坐标沿着风力向量上进行缩放,以得到缩放后的噪声坐标。
第二确定模块403,用于利用平滑的三维噪声函数对缩放后的噪声坐标进行灰度处理,得到随时间变化的噪声灰度值,将噪声灰度值作为噪声强度。
顶点偏移模块404,用于根据噪声强度对顶点的坐标进行偏移,以模拟显示虚拟植物受风摆动的效果。
在一情况下,如图8所示,模拟虚拟植物受风摆动的显示装置400还包括:法线偏转模块407。其中,法线偏转模块407,用于根据噪声强度对顶点的法线进行偏转,以模拟虚拟植物光照倒伏的效果。在一情况下,法线偏转模块407,具体用于根据风力向量,确定风力强度;确定虚拟植物的顶点随高度变化的缩放权重因子;根据噪声强度、缩放权重因子、风力强度和预设偏转角度,确定顶点的法线的偏转角度;根据偏转角度确定在风力向量的切方向上的旋转四元数;根据旋转四元数绕着切方向对法线进行偏转。在一情况下,法线偏转模块407,具体用于获取法线贴图;根据噪声强度对法线贴图上的法线方向进行法线偏转,以得到法线的偏转角度;根据偏转角度对顶点的法线进行偏转。
在一实施例中,模拟虚拟植物受风摆动的显示装置还包括确定获取模块、采样模块。其中,确定获取模块,用于获取噪声数据。采样模块,用于将顶点的坐标作为采样坐标,根据噪声数据确定采样坐标所对应的噪声灰度值,将噪声灰度值作为顶点的坐标所对应的噪声强度。其中,顶点的坐标可采用世界坐标和局部坐标等,但在多株虚拟植物的场景中,优先选择世界坐标。
上述所有的技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。本申请实施例提供的模拟虚拟植物受风摆动的显示装置与上文中模拟虚拟植物受风摆动的显示方法一致,具体请参看上文中虚拟植物受风摆动的方法所对应的具体步骤和所能达到的有益效果。
相应的,本申请实施例还提供一种电子设备,如图9所示,图9为本申请实施例提供的电子设备的结构示意图。该电子设备500包括有一个或者一个以上处理核心的处理器501、有一个或一个以上计算机可读存储介质的存储器502及存储在存储器502上并可在处理器上运行的计算机程序。其中,处理器501与存储器502电性连接。本领域技术人员可以理解,图中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器501是电子设备500的控制中心,利用各种接口和线路连接整个电子设备500的各个部分,通过运行或加载存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行电子设备500的各种功能和处理数据,从而对电子设备500进行整体监控。
在本申请实施例中,电子设备500中的处理器501会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令(计算机程序)加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能:
获取虚拟植物的顶点的坐标、风力向量和时间参数,时间参数随着时间变化而不断变化;根据顶点的坐标、风力向量和时间参数确定随时间变化的噪声坐标;利用噪声函数对噪声坐标进行灰度处理,得到随时间变化的噪声灰度值,将噪声灰度值作为噪声强度;根据噪声强度对顶点的坐标进行偏移,以模拟显示虚拟植物受风摆动的效果。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图9所示,电子设备500还包括:触控显示屏503、射频电路505、音频电路505、输入单元506以及电源507。其中,处理器501分别与触控显示屏503、射频电路504、音频电路505、输入单元506以及电源507电性连接。
触控显示屏503可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏503可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及电子设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器501,并能接收处理器501发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器501以确定触摸事件的类型,随后处理器501根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏503而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏503也可以作为输入单元506的一部分实现输入功能。
在本申请实施例中,通过处理器501执行游戏应用程序在触控显示屏503上生成图形用户界面,图形用户界面上可呈现在模拟虚拟植物受风摆动过程中出现的噪声强度、模拟虚拟植物受风摆动的虚拟场景、模拟虚拟植物光照倒伏的虚拟场景,以及模拟的虚拟植物所在的虚拟场景,或者虚拟植物所在的开发的虚拟场景等。该触控显示屏503用于呈现图形用户界面以及接收用户作用于图形用户界面产生的操作指令。
射频电路504可用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通信,与网络设备或其他电子设备之间收发信号。
音频电路505可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。音频电路505可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路505接收后转换为音频数据,再将音频数据输出处理器501处理后,经射频电路505以发送给比如另一电子设备,或者将音频数据输出至存储器502以便进一步处理。音频电路505还可能包括耳塞插孔,以提供外设耳机与电子设备的通信。
输入单元506可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源507用于给电子设备500的各个部件供电。可选的,电源507可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源507还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图中未示出,电子设备500还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令(计算机程序)来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种模拟虚拟植物受风摆动的显示方法中的步骤。例如,该计算机程序可以执行如下步骤:
获取虚拟植物的顶点的坐标、风力向量和时间参数,时间参数随着时间变化而不断变化;根据顶点的坐标、风力向量和时间参数确定随时间变化的噪声坐标;利用噪声函数对噪声坐标进行灰度处理,得到随时间变化的噪声灰度值,将噪声灰度值作为噪声强度;根据噪声强度对顶点的坐标进行偏移,以模拟显示虚拟植物受风摆动的效果。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种模拟虚拟植物受风摆动的显示方法中的步骤,因此,可以实现本申请实施例所提供的任一种模拟虚拟植物受风摆动的显示方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种模拟虚拟植物受风摆动的显示方法、装置、存储介质及电子设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (15)
1.一种模拟虚拟植物受风摆动的显示方法,其特征在于,包括:
获取虚拟植物的顶点的坐标、风力向量和时间参数,所述时间参数随着时间变化而不断变化;
根据所述顶点的坐标、所述风力向量和所述时间参数确定随时间变化的噪声坐标;
将所述噪声坐标转换至所述风力向量的切空间中,以得到转换后的噪声坐标;
将转换后的噪声坐标沿着所述风力向量上进行缩放,以得到缩放后的噪声坐标;
利用噪声函数对缩放后的噪声坐标进行灰度处理,得到随时间变化的噪声灰度值,并将所述噪声灰度值作为噪声强度;
根据所述噪声强度对所述顶点的坐标进行偏移,以模拟显示所述虚拟植物受风摆动的效果。
2.根据权利要求1所述的模拟虚拟植物受风摆动的显示方法,其特征在于,所述根据所述顶点的坐标、所述风力向量和所述时间参数确定随时间变化的噪声坐标的步骤,包括:
根据所述顶点的坐标、所述风力向量和所述时间参数确定平行于地面所在平面坐标系上随时间变化的第一噪声坐标;
利用垂直于所述平面坐标系所在方向的单位向量和所述时间参数确定垂直于所述平面坐标系所在方向上随时间变化的第二噪声坐标;
根据所述第一噪声坐标和所述第二噪声坐标确定随时间变化的噪声坐标;
所述利用噪声函数对所述噪声坐标进行灰度处理,包括:利用三维噪声函数对所述噪声坐标进行灰度处理。
3.根据权利要求1所述的模拟虚拟植物受风摆动的显示方法,其特征在于,所述根据所述噪声强度对所述顶点的坐标进行偏移的步骤,包括:
确定在所述风力向量上所述顶点的坐标的第一偏移强度;
根据所述噪声强度确定在所述风力向量的切方向上所述顶点的坐标的第二偏移强度;
根据所述第一偏移强度和所述第二偏移强度确定所述顶点的偏移强度;
根据所述顶点的偏移强度对所述顶点的坐标进行偏移。
4.根据权利要求3所述的模拟虚拟植物受风摆动的显示方法,其特征在于,所述根据所述噪声强度确定在所述风力向量的切方向上所述顶点的坐标的第二偏移强度的步骤,包括:
根据所述风力向量,确定风力强度;
并确定所述虚拟植物的顶点随高度变化的缩放权重因子;
根据所述噪声强度确定在所述切方向的正方向和反方向上所述顶点随时间变化的切线偏移强度;
根据所述切线偏移强度、所述风力强度、所述缩放权重因子确定在所述切方向上所述顶点的第二偏移强度。
5.根据权利要求4所述的模拟虚拟植物受风摆动的显示方法,其特征在于,所述根据所述噪声强度确定在所述切方向的正方向和反方向上所述顶点随时间变化的切线偏移强度的步骤,包括:
构造一个周期函数;
根据所述周期函数,确定在所述风力向量的切方向上周期变化的周期偏移强度;
根据所述噪声强度在所述切方向的正方向和反方向上对所述周期偏移强度进行插值,得到所述顶点在所述切方向的正方向和反方向上随时间变化的切线偏移强度。
6.根据权利要求3所述的模拟虚拟植物受风摆动的显示方法,其特征在于,所述确定在所述风力向量上所述顶点的坐标的第一偏移强度的步骤,包括:
根据所述风力向量,确定风力强度;
并确定所述虚拟植物的顶点随高度变化的缩放权重因子;
根据所述风力向量、所述风力强度、所述缩放权重因子确定在所述风力向量上所述顶点的第一偏移强度。
7.根据权利要求1所述的模拟虚拟植物受风摆动的显示方法,其特征在于,还包括:
根据所述噪声强度对所述顶点的法线进行偏转,以模拟所述虚拟植物光照倒伏的效果。
8.根据权利要求7所述的模拟虚拟植物受风摆动的显示方法,其特征在于,所述根据所述噪声强度对所述顶点的法线进行偏转的步骤,包括:
根据所述风力向量,确定风力强度;
并确定所述虚拟植物的顶点随高度变化的缩放权重因子;
根据所述噪声强度、所述缩放权重因子、所述风力强度和预设偏转角度,确定所述顶点的法线的偏转角度;
根据所述偏转角度确定在所述风力向量的切方向上的旋转四元数;
根据所述旋转四元数绕着所述切方向对所述法线进行偏转。
9.根据权利要求7所述的模拟虚拟植物受风摆动的显示方法,其特征在于,所述根据所述噪声强度对所述顶点的法线进行偏转的步骤,包括:
获取法线贴图;
根据所述噪声强度对所述法线贴图上的法线方向进行法线偏转,以得到法线的偏转角度;
根据所述偏转角度对所述顶点的法线进行偏转。
10.根据权利要求4或者6或者8所述的模拟虚拟植物受风摆动的显示方法,其特征在于,所述确定所述虚拟植物的顶点随高度变化的缩放权重因子的步骤,包括:
获取所述虚拟植物的顶点对应的高度坐标;
根据所述高度坐标和所述风力强度确定所述虚拟植物随高度变化的缩放权重因子。
11.根据权利要求1所述的模拟虚拟植物受风摆动的显示方法,其特征在于,在所述根据所述噪声强度对所述顶点的坐标进行偏移之前,还包括:
获取噪声数据,所述噪声数据中包括所述顶点的坐标所对应的噪声灰度值;
将顶点的坐标作为采样坐标,根据所述噪声数据确定所述采样坐标所对应的噪声灰度值;
将所述噪声灰度值作为所述顶点的坐标所对应的噪声强度;
接着执行所述根据所述噪声强度对所述顶点的坐标进行偏移的步骤。
12.根据权利要求11所述的模拟虚拟植物受风摆动的显示方法,其特征在于,所述获取噪声数据的步骤,包括:
获取虚拟植物的顶点的坐标;
利用三维噪声函数对所获取的所述顶点的坐标进行噪声处理,以得到所述顶点的坐标所对应的噪声灰度值;
保存所述顶点的坐标所对应的噪声灰度值为噪声数据。
13.一种模拟虚拟植物受风摆动的显示装置,其特征在于,包括:
参数获取模块,用于获取虚拟植物的顶点的坐标、风力向量和时间参数,所述时间参数随着时间变化而不断变化;
第一确定模块,用于根据所述顶点的坐标、所述风力向量和所述时间参数确定随时间变化的噪声坐标;
转换模块,将所述噪声坐标转换至所述风力向量的切空间中,以得到转换后的噪声坐标;
缩放模块,用于将转换后的噪声坐标沿着所述风力向量上进行缩放,以得到缩放后的噪声坐标;
第二确定模块,用于利用噪声函数对缩放后的噪声坐标进行灰度处理,得到随时间变化的噪声灰度值,并将所述噪声灰度值作为噪声强度;
顶点偏移模块,用于根据所述噪声强度对所述顶点的坐标进行偏移,以模拟显示所述虚拟植物受风摆动的效果。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于处理器进行加载,以执行如权利要求1-12任一项所述的模拟虚拟植物受风摆动的显示方法中的步骤。
15.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器通过调用所述存储器中存储的所述计算机程序,执行如权利要求1-12任一项所述的模拟虚拟植物受风摆动的显示方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110064921.4A CN112802166B (zh) | 2021-01-18 | 2021-01-18 | 模拟虚拟植物受风摆动的显示方法、装置、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110064921.4A CN112802166B (zh) | 2021-01-18 | 2021-01-18 | 模拟虚拟植物受风摆动的显示方法、装置、存储介质及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112802166A CN112802166A (zh) | 2021-05-14 |
CN112802166B true CN112802166B (zh) | 2023-08-08 |
Family
ID=75810173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110064921.4A Active CN112802166B (zh) | 2021-01-18 | 2021-01-18 | 模拟虚拟植物受风摆动的显示方法、装置、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112802166B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000306115A (ja) * | 1999-04-26 | 2000-11-02 | Namco Ltd | 画像生成装置及び情報記憶媒体 |
CN103679820A (zh) * | 2013-12-16 | 2014-03-26 | 北京像素软件科技股份有限公司 | 一种3d虚拟场景中模拟草体扰动效果的方法 |
WO2018012394A1 (ja) * | 2016-07-13 | 2018-01-18 | 株式会社バンダイナムコエンターテインメント | シミュレーションシステム、処理方法及び情報記憶媒体 |
CN109559366A (zh) * | 2018-12-18 | 2019-04-02 | 珠海格力电器股份有限公司 | 盆栽植物生长过程的显示方法、装置、存储介质及设备 |
CN109865291A (zh) * | 2019-01-25 | 2019-06-11 | 网易(杭州)网络有限公司 | 一种游戏中的动画处理方法及装置 |
CN109934897A (zh) * | 2019-03-06 | 2019-06-25 | 珠海金山网络游戏科技有限公司 | 一种摆动效果模拟系统、方法、计算设备及存储介质 |
CN110838162A (zh) * | 2019-11-26 | 2020-02-25 | 网易(杭州)网络有限公司 | 植被渲染方法及装置、存储介质及电子设备 |
CN111145324A (zh) * | 2019-12-27 | 2020-05-12 | 北京像素软件科技股份有限公司 | 基于植被顶点的动画模拟的方法、装置及电子设备 |
CN112206528A (zh) * | 2020-10-12 | 2021-01-12 | 网易(杭州)网络有限公司 | 植被模型渲染方法、装置、设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170154469A1 (en) * | 2015-12-01 | 2017-06-01 | Le Holdings (Beijing) Co., Ltd. | Method and Device for Model Rendering |
US10885775B2 (en) * | 2019-06-06 | 2021-01-05 | Verizon Patent And Licensing Inc. | Monitoring a scene to analyze an event using a plurality of image streams |
-
2021
- 2021-01-18 CN CN202110064921.4A patent/CN112802166B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000306115A (ja) * | 1999-04-26 | 2000-11-02 | Namco Ltd | 画像生成装置及び情報記憶媒体 |
CN103679820A (zh) * | 2013-12-16 | 2014-03-26 | 北京像素软件科技股份有限公司 | 一种3d虚拟场景中模拟草体扰动效果的方法 |
WO2018012394A1 (ja) * | 2016-07-13 | 2018-01-18 | 株式会社バンダイナムコエンターテインメント | シミュレーションシステム、処理方法及び情報記憶媒体 |
CN109559366A (zh) * | 2018-12-18 | 2019-04-02 | 珠海格力电器股份有限公司 | 盆栽植物生长过程的显示方法、装置、存储介质及设备 |
CN109865291A (zh) * | 2019-01-25 | 2019-06-11 | 网易(杭州)网络有限公司 | 一种游戏中的动画处理方法及装置 |
CN109934897A (zh) * | 2019-03-06 | 2019-06-25 | 珠海金山网络游戏科技有限公司 | 一种摆动效果模拟系统、方法、计算设备及存储介质 |
CN110838162A (zh) * | 2019-11-26 | 2020-02-25 | 网易(杭州)网络有限公司 | 植被渲染方法及装置、存储介质及电子设备 |
CN111145324A (zh) * | 2019-12-27 | 2020-05-12 | 北京像素软件科技股份有限公司 | 基于植被顶点的动画模拟的方法、装置及电子设备 |
CN112206528A (zh) * | 2020-10-12 | 2021-01-12 | 网易(杭州)网络有限公司 | 植被模型渲染方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于L-系统和Perlin噪声函数的风吹树动模拟;王春华;杨克俭;;计算机工程(12);第192-193,197页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112802166A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111760288B (zh) | 虚拟三维场景中方位显示方法、装置、终端和存储介质 | |
CN110196746B (zh) | 交互界面渲染方法及装置、电子设备、存储介质 | |
CN112802172B (zh) | 三维模型的纹理映射方法、装置、存储介质及计算机设备 | |
CN112233211B (zh) | 动画制作的方法、装置、存储介质及计算机设备 | |
CN115082608B (zh) | 虚拟角色服装渲染方法、装置、电子设备和存储介质 | |
CN112489179B (zh) | 目标模型的处理方法、装置、存储介质及计算机设备 | |
CN115082607B (zh) | 虚拟角色头发渲染方法、装置、电子设备和存储介质 | |
CN116402931A (zh) | 体积渲染方法、装置、计算机设备和计算机可读存储介质 | |
CN118015194A (zh) | 模型处理方法、装置和计算机可读存储介质 | |
CN112802166B (zh) | 模拟虚拟植物受风摆动的显示方法、装置、存储介质及设备 | |
CN116567360A (zh) | 直播特效处理方法、装置、计算机设备和存储介质 | |
CN113345059B (zh) | 动画生成方法、装置、存储介质及电子设备 | |
CN114949863A (zh) | 虚拟角色眼睛渲染方法、装置、电子设备和存储介质 | |
CN115501590A (zh) | 显示方法、装置、电子设备和存储介质 | |
CN112587915B (zh) | 光照效果呈现方法、装置、存储介质及计算机设备 | |
CN112132934A (zh) | 模型元素的形变处理、画面渲染方法、装置、设备及介质 | |
CN115430150B (zh) | 一种游戏技能释放方法、装置、计算机设备及存储介质 | |
CN116524063B (zh) | 光照颜色的计算方法、装置、设备及介质 | |
CN118134773A (zh) | 虚拟流体模型的处理方法、装置、计算机设备及存储介质 | |
CN113559500B (zh) | 动作数据的生成方法、装置、电子设备及存储介质 | |
CN115994969A (zh) | 游戏模型的特效渲染方法、装置、计算机设备和存储介质 | |
CN118096976A (zh) | 水面交互效果的处理方法、装置、设备和可读存储介质 | |
CN117065330A (zh) | 流体特效处理方法、装置、计算机设备和存储介质 | |
CN117899490A (zh) | 虚拟模型的处理方法、装置、计算机设备及存储介质 | |
CN118873943A (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 |