CN114359469B - 生成主控对象投影的方法、装置、设备及介质 - Google Patents
生成主控对象投影的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN114359469B CN114359469B CN202210015247.5A CN202210015247A CN114359469B CN 114359469 B CN114359469 B CN 114359469B CN 202210015247 A CN202210015247 A CN 202210015247A CN 114359469 B CN114359469 B CN 114359469B
- Authority
- CN
- China
- Prior art keywords
- model
- bone
- projection
- control object
- master
- 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 134
- 238000009877 rendering Methods 0.000 claims abstract description 57
- 210000000988 bone and bone Anatomy 0.000 claims description 233
- 230000008569 process Effects 0.000 claims description 48
- 238000003860 storage Methods 0.000 claims description 26
- 238000012545 processing Methods 0.000 claims description 19
- 230000036544 posture Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 230000002194 synthesizing effect Effects 0.000 claims description 5
- 238000000605 extraction Methods 0.000 claims description 3
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 230000009183 running Effects 0.000 description 12
- 230000009184 walking Effects 0.000 description 11
- 238000013461 design Methods 0.000 description 10
- 210000003141 lower extremity Anatomy 0.000 description 9
- 210000001364 upper extremity Anatomy 0.000 description 9
- 230000000284 resting effect Effects 0.000 description 8
- 230000000737 periodic effect Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000009187 flying Effects 0.000 description 4
- 230000009191 jumping Effects 0.000 description 4
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 4
- 230000009193 crawling Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000035515 penetration Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000149 penetrating effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004083 survival effect Effects 0.000 description 1
- 238000012546 transfer Methods 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
-
- 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/80—Special adaptations for executing a specific game genre or game mode
- A63F13/837—Shooting of targets
-
- 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/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/6646—Methods for processing data by generating or executing the game program for rendering three dimensional images for the computation and display of the shadow of an object or character
-
- 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/2016—Rotation, translation, scaling
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Architecture (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种生成主控对象投影的方法、装置、设备及介质,涉及动画技术领域。该方法包括:从所述主控对象的本体动画蓝图中提取所述主控对象的原始骨骼模型,所述主控对象是以第一人称视角观察虚拟环境的对象,所述本体动画蓝图用于生成所述虚拟环境中所述主控对象的本体,所述原始骨骼模型是所述主控对象的未经过骨骼变形的模型;基于所述主控对象的当前状态,调整所述原始骨骼模型的姿势,得到投影模型,所述投影模型是用于生成所述主控对象在所述虚拟环境中的投影的模型;渲染所述投影模型,得到所述主控对象的投影。本申请可以降低计算机设备的运算压力。
Description
技术领域
本申请涉及动画技术领域,特别涉及一种生成主控对象投影的方法、装置、设备及介质。
背景技术
为了在虚拟环境中模拟出现实环境,会为用户的主控对象添加上投影,以提高虚拟环境的真实度。
相关技术会提供两份动画蓝图,一份动画蓝图用于显示主控对象本身,另一份动画蓝图用于显示主控对象的投影。在显示虚拟对象本身时,会对主控对象的骨骼模型依次进行动画姿势匹配、骨骼缩放和模型细节优化,以显示主控对象。在显示主控对象的投影时,会对主控对象模型进行动画姿势匹配和模型细节优化,以显示主控对象的投影。
相关技术需要额外进行一份动画蓝图才能显示主控对象的投影,计算量较大,对计算机设备要求较高。
发明内容
本申请实施例提供了一种视频分类方法、装置、设备及介质,该方法可以较为快速地生成主控对象的投影,所述技术方案如下:
根据本申请的一个方面,提供了一种生成主控对象投影的方法,该方法包括:
从所述主控对象的本体动画蓝图中提取所述主控对象的原始骨骼模型,所述主控对象是以第一人称视角观察虚拟环境的对象,所述本体动画蓝图用于生成所述虚拟环境中所述主控对象的本体,所述原始骨骼模型是所述主控对象的未经过骨骼变形的模型;
基于所述主控对象的当前状态,调整所述原始骨骼模型的姿势,得到投影模型,所述投影模型是用于生成所述主控对象在所述虚拟环境中的投影的模型;
渲染所述投影模型,得到所述主控对象的投影。
根据本申请的另一个方面,提供了一种生成主控对象投影的装置,该装置包括:
提取模块,用于从所述主控对象的本体动画蓝图中提取所述主控对象的原始骨骼模型,所述主控对象是以第一人称视角观察虚拟环境的对象,所述本体动画蓝图用于生成所述虚拟环境中所述主控对象的本体,所述原始骨骼模型是所述主控对象的未经过骨骼变形的模型;
调整模块,用于基于所述主控对象的当前状态,调整所述原始骨骼模型的姿势,得到投影模型,所述投影模型是用于生成所述主控对象在所述虚拟环境中的投影的模型;
渲染模块,用于渲染所述投影模型,得到所述主控对象的投影。
根据本申请的另一方面,提供了一种计算机设备,该计算机设备包括:处理器和存储器,存储器中存储有至少一条指令、至少一段程序、代码集或指令集,至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现如上方面所述的生成主控对象投影的方法。
根据本申请的另一方面,提供了一种计算机存储介质,计算机可读存储介质中存储有至少一条程序代码,程序代码由处理器加载并执行以实现如上方面所述的生成主控对象投影的方法。
根据本申请的另一方面,提供了一种计算机程序产品或计算机程序,上述计算机程序产品或计算机程序包括计算机指令,上述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从上述计算机可读存储介质读取上述计算机指令,上述处理器执行上述计算机指令,使得上述计算机设备执行如上方面所述的生成主控对象投影的方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
在生成主控对象的投影时,只需要从本体动画蓝图中提取原始骨骼模型,就可以根据原始骨骼模型得到主控对象的投影。相较于相关技术使用两套不同的动画蓝图来同时获取主控对象的本体和投影,该方法不需要额外设置一套动画蓝图就可以得到主控对象的投影,可以简化获取主控对象的投影的流程,不需要过多的计算量就能得到主控对象的投影,降低计算机设备的计算压力,即使计算机设备的计算能力较弱,也能完成主控对象的投影。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个示例性实施例提供的计算机系统的结构示意图;
图2是本申请一个示例性实施例提供的相关技术的示意图;
图3是本申请一个示例性实施例提供的主控对象的本体的示意图;
图4是本申请一个示例性实施例提供的主控对象的投影的示意图;
图5是本申请一个示例性实施例提供的相关技术的示意图;
图6是本申请一个示例性实施例提供的生成主控对象投影的方法的流程示意图;
图7是本申请一个示例性实施例提供的主控对象的本体的示意图;
图8是本申请一个示例性实施例提供的主控对象的投影的示意图;
图9是本申请一个示例性实施例提供的生成主控对象投影的方法的流程示意图;
图10是本申请一个示例性实施例提供的渲染投影模型的示意图;
图11是本申请一个示例性实施例提供的一体化投影模型的示意图;
图12是本申请一个示例性实施例提供的渲染投影模型的示意图;
图13是本申请一个示例性实施例提供的一体化枪械模型的示意图;
图14是本申请一个示例性实施例提供的生成主控对象投影的方法的流程示意图;
图15是本申请一个示例性实施例提供的调整原始骨骼模型的姿势的方法的流程示意图;
图16是本申请一个示例性实施例提供的调整子骨骼的示意图;
图17是本申请一个示例性实施例提供的调整父骨骼的示意图;
图18是本申请一个示例性实施例提供的本体动画蓝图的实现方法的流程示意图;
图19是本申请一个示例性实施例提供的本体动画蓝图的实现方法的示意图;
图20是本申请一个示例性实施例提供的本体动画蓝图的实现方法的流程示意图;
图21是本申请一个示例性实施例提供的本体动画蓝图的实现方法的示意图;
图22是本申请一个示例性实施例提供的生成主控对象投影的方法的示意图;
图23是本申请一个示例性实施例提供的生成主控对象投影的装置的结构示意图;
图24是本申请一个示例性实施例提供的计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先,对本申请实施例中涉及的名词进行介绍:
主控对象:是指用户控制的以第一人称视角观察虚拟环境的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在虚拟环境中显示的人物、动物、植物、油桶、墙壁、石块等。可选地,当虚拟环境为三维虚拟环境时,虚拟对象是基于动画骨骼技术创建的三维立体模型,每个虚拟对象在三维虚拟环境中具有自身的形状和体积,占据三维虚拟环境中的一部分空间。可选地,当虚拟环境为二维虚拟环境时,虚拟对象是基于动画技术创建的二维平面模型,每个虚拟对象在二维虚拟环境中具有自身的形状和面积,占据二维虚拟环境中的一部分面积。
FPS(First Person Shooting game)游戏:是一种在虚拟世界中提供若干个据点,处于不同阵营的用户控制虚拟角色在虚拟世界中对战,占领据点或摧毁敌对阵营据点或击杀敌对阵营全部或部分角色的游戏。通常,FPS游戏中用户以第一人称视角进行游戏。例如,FPS游戏可将用户分成两个敌对阵营,将用户控制的虚拟角色分散在虚拟世界中互相竞争,以击杀敌方的全部用户作为胜利条件。FPS游戏以局为单位,一局FPS游戏的持续时间是从游戏开始的时刻至达成胜利条件的时刻。
图1示出了本申请一个示例性实施例提供的计算机系统100的结构示意图。计算机系统100包括:终端120和服务器140。
终端120上安装有支持虚拟环境的应用程序。该应用程序可以是FPS游戏、竞速游戏、MOBA(Multiplayer Online Battle Arena,多人在线战术竞技游戏)游戏、虚拟现实应用程序、三维地图程序、多人枪战类生存游戏中的任意一种。用户使用终端120操作位于虚拟环境中的主控对象进行活动,该活动包括但不限于:攻击、释放技能、购买道具、治疗、调整身体姿态、爬行、步行、骑行、飞行、跳跃、驾驶、拾取、射击、投掷中的至少一种。示意性的,第一虚拟角色是第一虚拟人物。终端120是智能手机、平板电脑、电子书阅读器、MP3播放器、MP4播放器、膝上型便携计算机和台式计算机中的至少一种。
终端120通过无线网络或有线网络与服务器140相连。
服务器140可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器140用于为支持虚拟环境的应用程序提供后台服务。可选地,服务器140承担主要计算工作,终端120承担次要计算工作;或者,服务器140承担次要计算工作,终端120承担主要计算工作;或者,服务器140和终端120两者采用分布式计算架构进行协同计算。
相关技术在显示主控对象时,会按照如下步骤实现,如图2所示:
匹配动画姿势201:确定主控对象的不同部位的动画姿势。匹配动画姿势201用于确定主控对象的动画姿势。可选地,主控对象在活动时,确定主控对象的动画姿势。示例性的,活动包括但不限于走、跑、跳、站、蹲、趴、攻击、飞行、驾驶、拾取、射击、投掷中的至少一种。可选地,匹配动画姿势201会匹配主控对象不同部位的动画姿势,比如,主控对象边射击边跑,则需要为主控对象的上半身匹配射击的动画姿势,为主控对象的下半身匹配跑的动画姿势。
叠加动画202:将主控对象的不同部位的动画姿势进行叠加,得到主控对象的动画姿势。叠加动画202用于处理主控对象不同部位的动画叠加。示例性的,将主控对象的上半身的动画姿势与下半身的动画姿势进行叠加,得到主控对象的动画姿势。
骨骼变形203:调整主控对象的骨骼模型,得到变形后的骨骼模型。骨骼变形203用于调整主控对象的骨骼形状。可选地,骨骼变形203的方式包括但不限于改变骨骼位置、改变骨骼朝向和缩放骨骼比例中的至少一种。示例性的,一方面,在显示主控对象时,为了防止主控对象的头部穿模,会缩放主控对象头部的骨骼。另一方面,在主控对象进行左右探身时,会对主控对象进行过量扭曲,使得主控对象能够完成探身这一动作。如图3所示,以第三人称视角观察主控对象301时,主控对象301的头部被缩放,且主控对象301的身体处于过量扭曲的状态。
调整姿势204:基于主控对象的当前状态,调整变形后的骨骼模型的姿势。调整姿势204用于调整主控对象的姿势以提高精确度。示例性的,通过反向动力学调整主控对象手部的姿势,以提高主控对象持握道具的精确度。
在完成调整姿势204后,会输出主控对象的本体模型205,本体模型205用于生成主控对象的本体。
需要说明的是,显示主控对象的本体的方法并不能直接移植到显示主控对象的投影上,示例性的,若是采用上述方法来生成主控对象的投影则会得到如图4所示的投影401,投影401的形状明显和实际不符。这是由于骨骼变形203这一步骤会引起主控对象的骨骼变形,一方面将主控对象的头部缩放了,另一方面对主控对象进行了扭曲,导致主控对象的骨骼与实际不同,但是又不能跳过骨骼变形203这一步骤,如果跳过骨骼变形203这一步骤,一方面,如果在骨骼变形203中没有缩放头部,会导致主控对象的头部和主控对象的摄像机模型相互影响,造成穿模的现象。另一方面,当主控对象进行左右探身时,如果不对主控对象进行足够扭曲,则难以实现主控对象的探身。
因此,相关技术会在计算机设备中运行两个不同的进程来分别实现主控对象的本体和投影的显示。示例性的,如图5所示,第一进程501用于生成主控对象的本体,第二进程502用于生成主控对象的投影。但是,申请人发现,这里又会引起其他问题,由于需要对一个主控对象计算两份不同的进程,且前述两个进程无法通过降频等其他方式进行优化,对于那些计算能力有限的计算机设备而言,比如手机,是无法通过这种方式来同时显示主控对象的本体和投影。而且,对于那些计算能力较强的计算机设备而言,也容易因为线程等待而导致进程处理时间过长。
为了解决上述问题:1、主控对象的本体和主控对象的投影的实现方式不兼容,需要两套不同的方法才能分别得到主控对象的本体和主控对象的投影;2、同时生成主控对象的本体和主控对象的投影要求计算机设备具有较强的计算能力,部分计算能力较弱的终端并不能实现同时生成主控对象的本体和主控对象的投影。
图6示出了本申请一个实施例提供的生成主控对象投影的方法的流程示意图。该方法可由图1所示的终端120执行,该方法包括以下步骤:
步骤602:从主控对象的本体动画蓝图中提取主控对象的原始骨骼模型,主控对象是以第一人称视角观察虚拟环境的对象,本体动画蓝图用于生成虚拟环境中主控对象的本体,原始骨骼模型是主控对象的未经过骨骼变形的模型。
主控对象可以是虚拟人物、虚拟动物、动漫人物中的至少一种。本申请对此不作具体限定。示例性的,用户在FPS游戏中操控主控对象,用户以第一人称视角控制主控对象。
可选地,本体动画蓝图包括骨骼变形处理,骨骼变形处理用于为了避免主控对象穿模而修改主控对象的骨骼。示例性的,当主控对象的骨骼模型进行骨骼变形后,会缩放主控对象的头部骨骼,此时的模型不适合用于生成主控对象的投影,因此,使用未经过骨骼变形的模型作为原始骨骼模型。
可选地,本体动画蓝图包括如图2所示实施例所示的步骤。
本体动画蓝图是生成虚拟环境中主控对象的本体的流程。通过本体动画蓝图可以得到主控对象的本体。主控对象的本体指虚拟环境中的主控对象。
步骤604:基于主控对象的当前状态,调整原始骨骼模型的姿势,得到投影模型,投影模型是用于生成主控对象在虚拟环境中的投影的模型。
可选地,当前状态包括但不限于攻击、释放技能、购买道具、治疗、调整身体姿态、爬行、步行、骑行、飞行、跳跃、驾驶、拾取、射击、投掷、跑步、静止中的至少一种。示例性的,若主控对象处于步行状态,则将原始骨骼模型的姿势调整为步行姿势。
可选地,当主控对象的状态发生变化时,基于变化后的状态,调整原始骨骼模型的姿势,得到投影模型。示例性的,主控对象由静止状态变化为跑步状态,则将主控对象由静止姿势变化为跑步姿势。
可选地,基于周期性变化调整原始骨骼模型的姿势。比如,主控对象在步行状态下,双脚交替移动,故基于双脚周期性的交替移动,改变原始骨骼模型的姿势。
示例性的,基于主控对象的当前状态,采用反向动力学调整原始骨骼模型的姿势,得到投影模型。
需要说明的是,出于投影的性质,主控对象的投影的本身精度较低,因此可以取消实施目标姿势调整操作,目标姿势调整操作用于提升主控对象的投影的精度。比如,当主控对象在小角度转身时,存在脚步逻辑调整,脚步逻辑调整用于提升表现的细腻程度,但是由于主控对象的投影的精度较低,即使进行了脚步逻辑调整也不会体现出来,因此可以取消脚步逻辑调整,以降低计算机设备的计算量。
因此,在一些实际场景,可以减少对原始骨骼模型的姿势调整的步骤,比如,取消上述脚步逻辑调整,或者,取消手部细节调整。
步骤606:渲染投影模型,得到主控对象的投影。
可选地,主控对象的投影是虚拟环境中背光侧的投影。示例性的,主控对象的投影是虚拟环境中地面上的投影,或者,主控对象的投影是虚拟环境中墙壁上的投影,或者,主控对象的投影是虚拟环境中天花板上的投影。
可选地,主控对象的投影还可以指反射面上的图像。例如,主控对象的投影指镜面上主控对象的图像,又例如,主控对象的投影指水面上主控对象的图像。
示例性的,如图7所示,图7展示了在主控对象在持有虚拟枪械的情况下,主控对象在地面上的投影701。示例性的,如图8所示,图8展示了在主控对象在切换虚拟枪械的情况下,主控对象在地面上的投影801。从图7和图8可以明显看出,主控对象的投影701和投影801是符合实际情况的,能够良好地还原出主控对象的投影。
在一个具体的实施方式,采用本申请实施例的方法来获取主控对象的投影时,只需要在CPU上消耗0.033ms,而采用相关技术来获取主控对象的投影时,需要在CPU上消耗4.133ms。明显地,本申请实施例的方法可以有效减少计算机设备的计算时间,提高效率。
综上所述,本申请实施例在生成主控对象的投影时,只需要会从本体动画蓝图中提取原始骨骼模型,就可以根据原始骨骼模型得到主控对象的投影。该方法不需要额外设置一套动画蓝图就可以得到主控对象的投影,可以简化获取主控对象的投影的流程,不需要过多的计算量就能得到主控对象的投影,降低计算机设备的计算压力,即使计算机设备的计算能力较弱,也能完成主控对象的投影。
图9示出了本申请一个实施例提供的生成主控对象投影的方法的流程示意图。该方法可由图1所示的终端120执行,该方法包括以下步骤:
步骤901:在本体动画蓝图的第一骨骼变形处理前,从本体动画蓝图中提取原始骨骼模型。
第一骨骼变形处理用于缩放主控对象的摄像机模型和原始骨骼模型的重合区域处的骨骼。由于主控对象是以第一人称视角观察虚拟环境的对象,所以需要将摄像机模型安置在主控对象的头部,以实现第一人称视角的效果。但是,又因为主控对象的头部也是存在模型的,这种情况会导致穿模的出现。因此,会对主控对象的摄像机模型和原始骨骼模型的重合区域处的骨骼进行缩放,使得摄像机模型和原始骨骼模型不存在重合区域,避免穿模情况的出现。
可选地,通过程序设计来实现第一骨骼变形处理。
步骤902:基于主控对象的当前状态,调整原始骨骼模型的姿势,得到投影模型。
示例性的,基于主控对象的当前状态,采用反向动力学调整原始骨骼模型的姿势,得到投影模型。
可选地,当主控对象的状态发生变化时,基于变化后的状态,调整原始骨骼模型的姿势,得到投影模型。示例性的,主控对象由静止状态变化为跑步状态,则将主控对象由静止姿势变化为跑步姿势。
可选地,基于周期性变化调整原始骨骼模型的姿势。比如,主控对象在步行状态下,双脚交替移动,故基于双脚周期性的交替移动,改变原始骨骼模型的姿势。
步骤903:将投影模型替换为一体化投影模型。
可选地,投影模型包括至少两个组件模型,至少两个组件模型包括主控对象上不同部位的模型。比如,组件模型包括头模型、躯干模型、上肢模型、下肢模型中的至少一种。则在调用每一个组件模型进行渲染时,都会产生一次绘制调用,则总计会产生多次绘制调用。会对计算机设备的GPU(Central Processing Unit,中央处理器)带来较大的渲染压力。示例性的,如图10所示,当组件模型包括头模型、躯干模型、上肢模型和下肢模型时,则需要提交至少四种渲染调用,这极大地增加了GPU的负担。
因此,在本申请实施例中,出于投影的特性,主控对象的投影的本身精度并不高,即使存在一些偏差,也不会影响投影本身的精度。因此,本体模型包括至少两个组件模型,至少两个组件模型包括主控对象上不同部位的模型,将投影模型替换为一体化投影模型,一体化投影模型是合并至少两个组件模型后的低面模型,一体化投影模型的面数小于投影模型的面数。在一种具体的实现方式中,一体化投影模型不包括组件模型,一体化投影模型由一个完整的模型组成。示例性的,如图11所示,图11展示了主控对象的一体化投影模型1101。
示例性的,如图12所示,在将投影模型替换为一体化投影模型后,只需要提交一次渲染就可以得到主控对象的投影,减轻了GPU的负担。
在一些情况下,主控对象持有虚拟物品,同样为了降低GPU的渲染压力,可以将主控对象持有的虚拟物品的模型替换为一体化物品模型。示例性的,若主控对象持有虚拟枪械,则虚拟枪械也包括至少两个物品组件模型,需要将虚拟枪械的模型替换为一体化枪械模型,以便对枪械投影的渲染,如图13所示,将包括至少两个物品组件模型的枪械模型替换为一体化枪械模型1301。
步骤904:对一体化投影模型进行渲染,得到主控对象的投影。
可选地,主控对象的投影是虚拟环境中背光侧的投影。示例性的,主控对象的投影是虚拟环境中地面上的投影,或者,主控对象的投影是虚拟环境中墙壁上的投影,或者,主控对象的投影是虚拟环境中天花板上的投影。
可选地,主控对象的投影还可以指反射面上的图像。例如,主控对象的投影指镜面上主控对象的图像,又例如,主控对象的投影指水面上主控对象的图像。
综上所述,本申请实施例在生成主控对象的投影时,会在第一骨骼变形处理前,从动画蓝图中提取原始骨骼模型得到主控对象的投影,保证生成的投影是存在头部的。相较于相关技术使用两套不同的动画蓝图来同时获取主控对象的本体和投影,该方法不需要额外设置一套动画蓝图就可以得到主控对象的投影,可以简化获取主控对象的投影的流程,不需要过多的计算量就能得到主控对象的投影,降低计算机设备的计算压力。
而且,将投影模型的替换为一体化投影模型,降低了计算机设备提交渲染的次数,可以减轻GPU的工作压力。
图14示出了本申请一个实施例提供的生成主控对象投影的方法的流程示意图。该方法可由图1所示的终端120执行,该方法包括以下步骤:
步骤1401:在本体动画蓝图的第二骨骼变形处理前,从本体动画蓝图中提取原始骨骼模型。
第二骨骼变形处理用于在主控对象处于目标当前状态时,扭曲原始骨骼模型。在一个具体的例子,当主控对象进行左右探身时,会对主控对象的骨骼模型进行过量扭曲,这是为了主控对象在障碍物后能够探身,且探身后能够观察到虚拟环境中的其他对象,因此需要进行第二骨骼变形处理。但是如果在第二骨骼变形处理后提取骨骼模型,由于骨骼模型已经被过量扭曲了,因此最后得到的投影也是处于过量扭曲的状态,如图4所示,主控对象的投影401处于过量扭曲的状态,但是这种过量扭曲的状态并不是正常人类可以实现的。因此,在本申请中,需要在本体动画蓝图的第二骨骼变形处理前,从本体动画蓝图中提取原始骨骼模型。
步骤1402:基于主控对象的当前状态,调整原始骨骼模型的姿势,得到投影模型。
示例性的,基于主控对象的当前状态,采用反向动力学调整原始骨骼模型的姿势,得到投影模型。
可选地,当主控对象的状态发生变化时,基于变化后的状态,调整原始骨骼模型的姿势,得到投影模型。示例性的,主控对象由静止状态变化为跑步状态,则将主控对象由静止姿势变化为跑步姿势。
可选地,基于周期性变化调整原始骨骼模型的姿势。比如,主控对象在步行状态下,双脚交替移动,故基于双脚周期性的交替移动,改变原始骨骼模型的姿势。
步骤1403:将投影模型替换为一体化投影模型。
可选地,投影模型包括至少两个组件模型,至少两个组件模型包括主控对象上不同部位的模型。比如,组件模型包括头模型、躯干模型、上肢模型、下肢模型中的至少一种。
本体模型包括至少两个组件模型,至少两个组件模型包括主控对象上不同部位的模型。一体化投影模型是合并至少两个组件模型后的低面模型,一体化投影模型的面数小于投影模型的面数。在一种具体的实现方式中,一体化投影模型不包括组件模型,一体化投影模型由一个完整的模型组成。示例性的,如图11所示,图11展示了主控对象的一体化投影模型1101。
在一些情况下,主控对象持有虚拟物品,同样为了降低GPU的渲染压力,可以将主控对象持有的虚拟物品的模型替换为一体化物品模型。示例性的,若主控对象持有虚拟枪械,则虚拟枪械也包括至少两个物品组件模型,需要将虚拟枪械的模型替换为一体化枪械模型,以便对枪械投影的渲染,如图13所示,将包括至少两个物品组件模型的枪械模型替换为一体化枪械模型1301。
步骤1404:对一体化投影模型进行渲染,得到主控对象的投影。
可选地,主控对象的投影是虚拟环境中背光侧的投影。示例性的,主控对象的投影是虚拟环境中地面上的投影,或者,主控对象的投影是虚拟环境中墙壁上的投影,或者,主控对象的投影是虚拟环境中天花板上的投影。
可选地,主控对象的投影还可以指反射面上的图像。例如,主控对象的投影指镜面上主控对象的图像,又例如,主控对象的投影指水面上主控对象的图像。
综上所述,本申请实施例在生成主控对象的投影时,会在第二骨骼变形处理前,从动画蓝图中提取原始骨骼模型得到主控对象的投影,保证生成的投影的形状是正确的。相较于相关技术使用两套不同的动画蓝图来同时获取主控对象的本体和投影,该方法不需要额外设置一套动画蓝图就可以得到主控对象的投影,可以简化获取主控对象的投影的流程,不需要过多的计算量就能得到主控对象的投影,降低计算机设备的计算压力。
而且,将投影模型的替换为一体化投影模型,降低了计算机设备提交渲染的次数,可以减轻GPU的工作压力。
在接下来的实施例中,对调整原始骨骼模型的姿势的方法进行简要介绍,本申请实施例以反向动力学为例进行说明,需要说明的是,还可以通过其他方法来调整原始骨骼模型的姿势,本申请对词不做具体限定。
图15示出了本申请一个实施例提供的调整原始骨骼模型的姿势的方法的流程示意图。该方法可由图1所示的终端120执行,该方法包括以下步骤:
步骤1501:基于主控对象的当前状态,确定子骨骼的目标位置。
原始骨骼模型包括子骨骼和与子骨骼对应的父骨骼,子骨骼位于骨骼链的末端。以主控角色是人形角色为例进行说明,子骨骼可以是人形角色的手,父骨骼则是人形角色的手臂。子骨骼可以是人形角色的脚,父骨骼则是人形角色的腿。
可选地,当前状态包括但不限于攻击、释放技能、购买道具、治疗、调整身体姿态、爬行、步行、骑行、飞行、跳跃、驾驶、拾取、射击、投掷、跑步、静止中的至少一种。
目标位置是在当前状态下,子骨骼需要达到的位置。示例性的,主控对象处于步行状态,子骨骼指主控对象的脚部,且主控对象的脚部处于抬起状态,则目标位置是主控对象的脚部的落点。示例性的,主控对象正在楼梯上扶着栏杆步行,子骨骼指主控对象的手部,且主控对象的手部处于抬起状态,则目标位置是主控对象的手部的落点。
步骤1502:根据目标位置,确定子骨骼的位置。
示例性的,确定子骨骼的位置包括以下子步骤:
1、确定子骨骼的第一端点到子骨骼的末端的第一向量。
子骨骼的第一端点是子骨骼上远离子骨骼的末端的端点。示例性的,如图16所示,第一向量是子骨骼1602的第一端点1603到子骨骼的末端1605所呈的向量。
2、确定第一端点到目标位置的第二向量。
示例性的,如图16所示,第二向量是第一端点1603到目标位置1604所呈的向量。
3、基于第一向量和第二向量之间的夹角,旋转子骨骼,确定子骨骼的位置。
示例性的,如图16所示,基于第一向量和第二向量之间的夹角,逆时针旋转子骨骼1602,旋转角度与夹角相同,以得到子骨骼1602的位置。
步骤1503:根据目标位置和子骨骼的位置,确定父骨骼的位置。
示例性的,确定父骨骼的位置包括以下子步骤:
1、确定父骨骼的第二端点到子骨骼的末端的第三向量。
父骨骼的第二端点是父骨骼上远离子骨骼的端点。示例性的,如图17所示,第三向量是父骨骼1601的第二端点1606到子骨骼的末端1605所呈的向量。
2、确定第二端点到目标位置的第四向量。
示例性的,如图17所示,第四向量是第二端点1606到目标位置1604所呈的向量。
3、基于第三向量和第四向量之间的夹角,旋转父骨骼,确定父骨骼的位置。
示例性的,如图17所示,基于第三向量和第四向量之间的夹角,逆时针旋转父骨骼1601,旋转角度与夹角相同,以得到父骨骼1601的位置。
步骤1504:根据子骨骼和父骨骼的位置,调整原始骨骼模型的姿势,得到投影模型。
在已知子骨骼和父骨骼的位置的情况下,可以根据子骨骼和父骨骼的位置调整原始骨骼模型,以完成对原始骨骼模型的姿势调整。
综上所述,本申请实施例提供了一种调整原始骨骼模型姿势的方法,该方法可以调整原始骨骼模型的姿势,使主控对象的动作和姿势贴合当前状态,使得原始骨骼模型的姿势更加贴近实际情况,这样得到投影模型能够较好地体现出的主控对象的状态。
在一种具体的实施方式中,提供一种本体动画蓝图的实现方法,图18示出了本申请一个实施例提供的本体动画蓝图的实现方法的流程示意图。该方法可由图1所示的终端120执行,该方法包括以下步骤:
步骤1801:确定主控对象的初始动画姿势。
可选地,根据主控对象的当前状态确定初始动画姿势。
可选地,主控对象的骨骼模型包括至少两个组件模型,至少两个组件模型包括主控对象上不同部位的模型。比如,主控对象的骨骼模型包括上半身模型和下半生模型。在确定初始动画姿势时,需要依次确定至少两个组件模型的动画姿势。叠加至少两个组件模型的动画姿势,得到初始动画姿势。示例性的,主控对象边射击边跑,则需要为主控对象的上半身匹配射击的动画姿势,为主控对象的下半身匹配跑的动画姿势,将上半身和下半身的动画姿势叠加在一起,得到主控对象的初始动画姿势。
步骤1802:将初始动画姿势代入到主控对象的骨骼模型中,得到原始骨骼模型。
可选地,根据初始动画姿势调整主控对象的骨骼,得到原始骨骼模型。
示例性的,如图19所示,在本体动画蓝图1901中提取出的原始骨骼模型1902经过调整姿势后,可以得到投影模型1903,投影模型1903用于生成主控对象在虚拟环境中的投影。
步骤1803:对原始骨骼模型进行骨骼变形处理,得到骨骼变形后的原始骨骼模型。
示例性的,对原始骨骼模型进行第一骨骼变形处理,得到骨骼变形后的原始骨骼模型。第一骨骼变形处理用于缩放主控对象的摄像机模型和原始骨骼模型的重合区域处的骨骼。比如,缩放主控对象的头部区域的骨骼。
示例性的,对原始骨骼模型进行第二骨骼变形处理,得到骨骼变形后的原始骨骼模型。第二骨骼变形处理用于在主控对象处于目标当前状态时,扭曲原始骨骼模型。比如,在主控对象进行左右探身时,会对主控对象的骨骼模型进行过量扭曲。
步骤1804:基于当前状态,调整骨骼变形后的原始骨骼模型的姿势,得到主控对象的本体模型。
可选地,基于当前状态,采用反向动力学调整骨骼变形后的原始骨骼模型的姿势,得到主控对象的本体模型。
需要说明的是,IK(Inverse Kinematics,反向运动)和AO(Aim Offset,瞄准偏移)都对骨骼变形处理有时序上的依赖,比如,部分IK操作必须在骨骼变形处理后进行,而另一部分IK操作则必须在骨骼变形处理前进行,而有一部分IK操作则是既可以在骨骼变形处理前进行,也可以在骨骼变形前进行。其中,IK和AO对骨骼变形处理依赖于具体的项目。
步骤1805:对本体模型进行渲染,得到主控对象的本体。
可选地,本体模型包括至少两个组件模型,至少两个组件模型包括主控对象上不同部位的模型。比如,本体模型包括中的头模型、躯干模型、上肢模型和下肢模型。在渲染本体模型时,需要分别对至少两个组件模型进行渲染,得到至少两个组件模型的渲染结果。合成至少两个组件模型的渲染结果,得到主控对象的本体。示例性的,分别对头模型、躯干模型、上肢模型和下肢模型进行渲染,得到头模型、躯干模型、上肢模型和下肢模型对应的渲染结果,将这四个渲染结果进行合成,得到主控对象的本体。
综上所述,本实施例提供了一种本体动画蓝图的方法,该方法可以得到主控对象的本体。并且,本体动画蓝图中的原始骨骼模型可以用于获取主控对象的投影。
在本申请实施例,会将本体动画蓝图中骨骼变形处理之后的步骤尽可能地放到骨骼变形处理前进行。在一种具体的实施方式中,提供另一种本体动画蓝图的实现方法。在具体实施时,可以在不影响主控对象的本体的情况下,将骨骼变形处理后的步骤,移至骨骼变形前处理。比如,在图18所示的实施例中,将步骤1804对应的操作移至步骤1803前进行。
图20示出了本申请一个实施例提供的本体动画蓝图的实现方法的流程示意图。该方法可由图1所示的终端120执行,该方法包括以下步骤:
步骤2001:确定主控对象的初始动画姿势。
可选地,根据主控对象的当前状态确定初始动画姿势。
可选地,主控对象的骨骼模型包括至少两个组件模型,至少两个组件模型包括主控对象上不同部位的模型。比如,主控对象的骨骼模型包括上半身模型和下半生模型。在确定初始动画姿势时,需要依次确定至少两个组件模型的动画姿势。叠加至少两个组件模型的动画姿势,得到初始动画姿势。示例性的,主控对象边射击边跑,则需要为主控对象的上半身匹配射击的动画姿势,为主控对象的下半身匹配跑的动画姿势,将上半身和下半身的动画姿势叠加在一起,得到主控对象的初始动画姿势。
步骤2002:将初始动画姿势代入到主控对象的骨骼模型中,得到骨骼姿势模型。
可选地,根据初始动画姿势调整主控对象的骨骼,得到骨骼姿势模型。
步骤2003:基于当前状态,调整骨骼姿势模型的姿势,得到原始骨骼模型。
可选地,基于当前状态,采用反向动力学调整骨骼姿势模型的姿势,得到原始骨骼模型。
示例性的,如图21所示,在本体动画蓝图2101中提取出的原始骨骼模型2102经过调整姿势后,可以得到投影模型2103,投影模型2103用于生成主控对象在虚拟环境中的投影。
步骤2004:对原始骨骼模型进行骨骼变形处理,得到骨骼变形后的原始骨骼模型。
示例性的,对原始骨骼模型进行第一骨骼变形处理,得到骨骼变形后的原始骨骼模型。第一骨骼变形处理用于缩放主控对象的摄像机模型和原始骨骼模型的重合区域处的骨骼。比如,缩放主控对象的头部区域的骨骼。
示例性的,对原始骨骼模型进行第二骨骼变形处理,得到骨骼变形后的原始骨骼模型。第二骨骼变形处理用于在主控对象处于目标当前状态时,扭曲原始骨骼模型。比如,在主控对象进行左右探身时,会对主控对象的骨骼模型进行过量扭曲。
步骤2005:对本体模型进行渲染,得到主控对象的本体。
可选地,本体模型包括至少两个组件模型,至少两个组件模型包括主控对象上不同部位的模型。比如,本体模型包括中的头模型、躯干模型、上肢模型和下肢模型。在渲染本体模型时,需要分别对至少两个组件模型进行渲染,得到至少两个组件模型的渲染结果。合成至少两个组件模型的渲染结果,得到主控对象的本体。示例性的,分别对头模型、躯干模型、上肢模型和下肢模型进行渲染,得到头模型、躯干模型、上肢模型和下肢模型对应的渲染结果,将这四个渲染结果进行合成,得到主控对象的本体。
需要说明的是,本申请实施例是将骨骼变形处理后的操作移至骨骼变形处理前进行处理,但是这里有一个前提,即将骨骼变形处理后的操作移至骨骼变形处理前后,不会对主控对象的本体和/或投影产生影响。其中,可以移动的骨骼变形处理后的操作由实际需求确定。示例性的,在实际需求A中,调整姿势这一操作是可以移至骨骼变形处理前进行处理的,但是,在实际需求B中,调整姿势这一操作是不可以移至骨骼变形处理前进行处理的。本申请对可以移至骨骼变形处理前的操作不做具体限定。
综上所述,本实施例提供了一种本体动画蓝图的方法,该方法可以得到主控对象的本体。并且,本体动画蓝图中的原始骨骼模型可以用于获取主控对象的投影。
在一个具体的例子中,以应用在射击游戏中来举例说明。
图22示出了本申请一个实施例提供的生成主控对象投影的方法的流程示意图。该方法可由图1所示的终端120执行,该方法包括以下步骤:
步骤2201:从主控游戏对象的本体动画蓝图中提取主控游戏对象的原始骨骼模型。
主控游戏对象是虚拟人物、虚拟动物、动漫人物中的至少一种。本申请对此不作具体限定。
原始骨骼模型是主控游戏对象的未经过骨骼变形的模型。
本体动画蓝图是生成虚拟环境中主控对象的本体的流程。通过本体动画蓝图可以得到主控对象的本体。主控对象的本体指虚拟环境中的主控对象。
步骤2202:渲染原始骨骼模型,得到主控游戏对象的投影。
可选地,主控游戏对象的投影是虚拟环境中背光侧的投影。示例性的,主控游戏对象的投影是虚拟环境中地面上的投影,或者,主控游戏对象的投影是虚拟环境中墙壁上的投影,或者,主控游戏对象的投影是虚拟环境中天花板上的投影。
可选地,主控游戏对象的投影还可以指反射面上的图像。例如,主控游戏对象的投影指镜面上主控游戏对象的图像,又例如,主控游戏对象的投影指水面上主控游戏对象的图像。
可选地,在渲染原始模型前,通过反向动力学调整原始骨骼模型的姿势,得到姿势调整后的骨骼模型。渲染姿势调整后的骨骼模型,得到主控游戏对象的投影。
综上所述,本实施例本申请实施例在生成主控游戏对象的投影时,只需要会从本体动画蓝图中提取原始骨骼模型,就可以根据原始骨骼模型得到主控对象的投影。该方法不需要额外设置一套动画蓝图就可以得到主控对象的投影,可以简化获取主控对象的投影的流程,不需要过多的计算量就能得到主控对象的投影,降低计算机设备的计算压力,即使计算机设备的计算能力较弱,也能完成主控对象的投影。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图23,其示出了本申请一个实施例提供的生成主控对象投影的装置的框图。上述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置2300包括:
提取模块2301,用于从所述主控对象的本体动画蓝图中提取所述主控对象的原始骨骼模型,所述主控对象是以第一人称视角观察虚拟环境的对象,所述本体动画蓝图用于生成所述虚拟环境中所述主控对象的本体,所述原始骨骼模型是所述主控对象的未经过骨骼变形的模型;
调整模块2302,用于基于所述主控对象的当前状态,调整所述原始骨骼模型的姿势,得到投影模型,所述投影模型是用于生成所述主控对象在所述虚拟环境中的投影的模型;
渲染模块2303,用于渲染所述投影模型,得到所述主控对象的投影。
在本申请的一个可选设计中,所述本体动画蓝图包括骨骼变形处理;所述提取模块2301,还用于在所述本体动画蓝图的所述骨骼变形处理前,从所述本体动画蓝图中提取所述原始骨骼模型。
在本申请的一个可选设计中,所述骨骼变形处理包括第一骨骼变形处理,所述第一骨骼变形处理用于缩放所述主控对象的摄像机模型和所述原始骨骼模型的重合区域处的骨骼。所述提取模块2301,还用于在所述本体动画蓝图的所述第一骨骼变形处理前,从所述本体动画蓝图中提取所述原始骨骼模型。
在本申请的一个可选设计中,所述骨骼变形处理包括第二骨骼变形处理,所述第二骨骼变形处理用于在所述主控对象处于目标当前状态时,扭曲所述原始骨骼模型;所述提取模块2301,还用于在所述本体动画蓝图的所述第二骨骼变形处理前,从所述本体动画蓝图中提取所述原始骨骼模型。
在本申请的一个可选设计中,所述原始骨骼模型包括子骨骼和与所述子骨骼对应的父骨骼,所述子骨骼位于所述骨骼链的末端;所述调整模块2302,还用于基于所述主控对象的当前状态,确定所述子骨骼的目标位置;根据所述目标位置,确定所述子骨骼的位置;根据所述目标位置和所述子骨骼的位置,确定所述父骨骼的位置;根据所述子骨骼和所述父骨骼的位置,调整所述原始骨骼模型的姿势,得到所述投影模型。
在本申请的一个可选设计中,所述调整模块2302,还用于确定所述子骨骼的第一端点到所述子骨骼的末端的第一向量,所述子骨骼的第一端点是所述子骨骼上远离所述子骨骼的末端的端点;确定所述第一端点到所述目标位置的第二向量;基于所述第一向量和所述第二向量之间的夹角,旋转所述子骨骼,确定所述子骨骼的位置。
在本申请的一个可选设计中,所述调整模块2302,还用于确定所述父骨骼的第二端点到所述子骨骼的末端的第三向量,所述父骨骼的第二端点是所述父骨骼上远离所述子骨骼的端点;确定所述第二端点到所述目标位置的第四向量;基于所述第三向量和所述第四向量之间的夹角,旋转所述父骨骼,确定所述父骨骼的位置。
在本申请的一个可选设计中,所述本体模型包括至少两个组件模型,所述至少两个组件模型包括所述主控对象上不同部位的模型,所述渲染模块2303,还用于将所述投影模型替换为一体化投影模型,所述一体化投影模型是合并所述至少两个组件模型后的低面模型,所述一体化投影模型的面数小于所述投影模型的面数;对所述一体化投影模型进行渲染,得到所述主控对象的投影。
在本申请的一个可选设计中,所述装置还包括制作模块2304;
所述制作模块2304,用于确定所述主控对象的初始动画姿势;将所述初始动画姿势代入到所述主控对象的骨骼模型中,得到所述原始骨骼模型;对所述原始骨骼模型进行骨骼变形处理,得到骨骼变形后的原始骨骼模型;基于所述当前状态,调整所述骨骼变形后的原始骨骼模型的姿势,得到所述主控对象的本体模型,所述本体模型是用于生成所述主控对象地本体的模型;对所述本体模型进行渲染,得到所述主控对象的本体。
在本申请的一个可选设计中,所述主控对象的骨骼模型包括至少两个组件模型,所述至少两个组件模型包括所述主控对象上不同部位的模型;所述制作模块2304,还用于依次确定所述至少两个组件模型的动画姿势;叠加所述至少两个组件模型的动画姿势,得到所述初始动画姿势。
在本申请的一个可选设计中,所述本体模型包括至少两个组件模型,所述至少两个组件模型包括所述主控对象上不同部位的模型;所述制作模块2304,还用于分别对所述至少两个组件模型进行渲染,得到所述至少两个组件模型的渲染结果;合成所述至少两个组件模型的渲染结果,得到所述主控对象的本体。
综上所述,本实施例在生成主控对象的投影时,会从本体动画蓝图中提取原始骨骼模型,根据原始骨骼模型得到主控对象的投影。该方法不需要额外设置一套动画蓝图就可以得到主控对象的投影,可以简化获取主控对象的投影的流程,不需要过多的计算量就能得到主控对象的投影,降低计算机设备的计算压力。
图24是根据一示例性实施例示出的一种计算机设备的结构示意图。所述计算机设备2400包括中央处理单元(Central Processing Unit,CPU)2401、包括随机存取存储器(Random Access Memory,RAM)2402和只读存储器(Read-Only Memory,ROM)2403的系统存储器2404,以及连接系统存储器2404和中央处理单元2401的系统总线2405。所述计算机设备2400还包括帮助计算机设备内的各个器件之间传输信息的基本输入/输出系统(Input/Output,I/O系统)2406,和用于存储操作系统2413、应用程序2414和其他程序模块2415的大容量存储设备2407。
所述基本输入/输出系统2406包括有用于显示信息的显示器2408和用于用户输入信息的诸如鼠标、键盘之类的输入设备2409。其中所述显示器2408和输入设备2409都通过连接到系统总线2405的输入输出控制器2410连接到中央处理单元2401。所述基本输入/输出系统2406还可以包括输入输出控制器2410以用于接收和处理来自键盘、鼠标、或电子触控笔等多个其他设备的输入。类似地,输入输出控制器2410还提供输出到显示屏、打印机或其他类型的输出设备。
所述大容量存储设备2407通过连接到系统总线2405的大容量存储控制器(未示出)连接到中央处理单元2401。所述大容量存储设备2407及其相关联的计算机设备可读介质为计算机设备2400提供非易失性存储。也就是说,所述大容量存储设备2407可以包括诸如硬盘或者只读光盘(Compact Disc Read-Only Memory,CD-ROM)驱动器之类的计算机设备可读介质(未示出)。
不失一般性,所述计算机设备可读介质可以包括计算机设备存储介质和通信介质。计算机设备存储介质包括以用于存储诸如计算机设备可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机设备存储介质包括RAM、ROM、可擦除可编程只读存储器(Erasable Programmable ReadOnly Memory,EPROM)、带电可擦可编程只读存储器(Electrically ErasableProgrammable Read-Only Memory,EEPROM),CD-ROM、数字视频光盘(Digital Video Disc,DVD)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备。当然,本领域技术人员可知所述计算机设备存储介质不局限于上述几种。上述的系统存储器2404和大容量存储设备2407可以统称为存储器。
根据本公开的各种实施例,所述计算机设备2400还可以通过诸如因特网等网络连接到网络上的远程计算机设备运行。也即计算机设备2400可以通过连接在所述系统总线2405上的网络接口单元2412连接到网络2411,或者说,也可以使用网络接口单元2412来连接到其他类型的网络或远程计算机设备系统(未示出)。
所述存储器还包括一个或者一个以上的程序,所述一个或者一个以上程序存储于存储器中,中央处理器2401通过执行该一个或一个以上程序来实现上述生成主控对象投影的方法的全部或者部分步骤。
在示例性实施例中,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述各个方法实施例提供的生成主控对象投影的方法。
本申请还提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述方法实施例提供的生成主控对象投影的方法。
本申请还提供一种计算机程序产品或计算机程序,上述计算机程序产品或计算机程序包括计算机指令,上述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从上述计算机可读存储介质读取上述计算机指令,上述处理器执行上述计算机指令,使得上述计算机设备执行如上方面实施例提供的生成主控对象投影的方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种生成主控对象投影的方法,其特征在于,所述方法包括:
在本体动画蓝图的第一骨骼变形处理前,从所述本体动画蓝图中提取原始骨骼模型,所述第一骨骼变形处理用于缩放所述主控对象的摄像机模型和所述原始骨骼模型的重合区域处的骨骼;或者,在所述本体动画蓝图的第二骨骼变形处理前,从所述本体动画蓝图中提取所述原始骨骼模型,所述第二骨骼变形处理用于在所述主控对象处于目标当前状态时,扭曲所述原始骨骼模型;其中,所述主控对象是以第一人称视角观察虚拟环境的对象,所述本体动画蓝图用于生成所述虚拟环境中所述主控对象的本体模型;
基于所述主控对象的当前状态,调整所述原始骨骼模型的姿势,得到投影模型,所述投影模型是用于生成所述主控对象在所述虚拟环境中的投影的模型;
渲染所述投影模型,得到所述主控对象的投影。
2.根据权利要求1所述的方法,其特征在于,所述原始骨骼模型包括子骨骼和与所述子骨骼对应的父骨骼,所述子骨骼位于骨骼链的末端;
所述基于所述主控对象的当前状态,调整所述原始骨骼模型的姿势,得到投影模型,包括:
基于所述主控对象的当前状态,确定所述子骨骼的目标位置;
根据所述目标位置,确定所述子骨骼的位置;
根据所述目标位置和所述子骨骼的位置,确定所述父骨骼的位置;
根据所述子骨骼和所述父骨骼的位置,调整所述原始骨骼模型的姿势,得到所述投影模型。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标位置,确定所述子骨骼的位置,包括:
确定所述子骨骼的第一端点到所述子骨骼的末端的第一向量,所述子骨骼的第一端点是所述子骨骼上远离所述子骨骼的末端的端点;
确定所述第一端点到所述目标位置的第二向量;
基于所述第一向量和所述第二向量之间的夹角,旋转所述子骨骼,确定所述子骨骼的位置。
4.根据权利要求2所述的方法,其特征在于,所述根据所述目标位置和所述子骨骼的位置,确定所述父骨骼的位置,包括:
确定所述父骨骼的第二端点到所述子骨骼的末端的第三向量,所述父骨骼的第二端点是所述父骨骼上远离所述子骨骼的端点;
确定所述第二端点到所述目标位置的第四向量;
基于所述第三向量和所述第四向量之间的夹角,旋转所述父骨骼,确定所述父骨骼的位置。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述本体模型包括至少两个组件模型,所述至少两个组件模型包括所述主控对象上不同部位的模型;
所述渲染所述投影模型,得到所述主控对象的投影,包括:
将所述投影模型替换为一体化投影模型,所述一体化投影模型是合并所述至少两个组件模型后的低面模型,所述一体化投影模型的面数小于所述投影模型的面数;
对所述一体化投影模型进行渲染,得到所述主控对象的投影。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述本体动画蓝图包括以下步骤:
确定所述主控对象的初始动画姿势;
将所述初始动画姿势代入到所述主控对象的骨骼模型中,得到所述原始骨骼模型;
对所述原始骨骼模型进行骨骼变形处理,得到骨骼变形后的原始骨骼模型;
基于所述当前状态,调整所述骨骼变形后的原始骨骼模型的姿势,得到所述主控对象的本体模型,所述本体模型是用于生成所述主控对象的本体的模型;
对所述本体模型进行渲染,得到所述主控对象的本体。
7.根据权利要求6所述的方法,其特征在于,所述主控对象的骨骼模型包括至少两个组件模型,所述至少两个组件模型包括所述主控对象上不同部位的模型;
所述确定所述主控对象的初始动画姿势,包括:
依次确定所述至少两个组件模型的动画姿势;
叠加所述至少两个组件模型的动画姿势,得到所述初始动画姿势。
8.根据权利要求6所述的方法,其特征在于,所述本体模型包括至少两个组件模型,所述至少两个组件模型包括所述主控对象上不同部位的模型;
所述对所述本体模型进行渲染,得到所述主控对象的本体,包括:
分别对所述至少两个组件模型进行渲染,得到所述至少两个组件模型的渲染结果;
合成所述至少两个组件模型的渲染结果,得到所述主控对象的本体。
9.一种生成主控对象投影的装置,其特征在于,所述装置包括:
提取模块,用于在本体动画蓝图的第一骨骼变形处理前,从所述本体动画蓝图中提取原始骨骼模型,所述第一骨骼变形处理用于缩放所述主控对象的摄像机模型和所述原始骨骼模型的重合区域处的骨骼;或者,在所述本体动画蓝图的第二骨骼变形处理前,从所述本体动画蓝图中提取所述原始骨骼模型,所述第二骨骼变形处理用于在所述主控对象处于目标当前状态时,扭曲所述原始骨骼模型;所述主控对象是以第一人称视角观察虚拟环境的对象,所述本体动画蓝图用于生成所述虚拟环境中所述主控对象的本体模型;
调整模块,用于基于所述主控对象的当前状态,调整所述原始骨骼模型的姿势,得到投影模型,所述投影模型是用于生成所述主控对象在所述虚拟环境中的投影的模型;
渲染模块,用于渲染所述投影模型,得到所述主控对象的投影。
10.根据权利要求9所述的装置,其特征在于,所述原始骨骼模型包括子骨骼和与所述子骨骼对应的父骨骼,所述子骨骼位于骨骼链的末端;
所述调整模块,还用于基于所述主控对象的当前状态,确定所述子骨骼的目标位置;根据所述目标位置,确定所述子骨骼的位置;根据所述目标位置和所述子骨骼的位置,确定所述父骨骼的位置;根据所述子骨骼和所述父骨骼的位置,调整所述原始骨骼模型的姿势,得到所述投影模型。
11.根据权利要求10所述的装置,其特征在于,
所述调整模块,还用于确定所述子骨骼的第一端点到所述子骨骼的末端的第一向量,所述子骨骼的第一端点是所述子骨骼上远离所述子骨骼的末端的端点;确定所述第一端点到所述目标位置的第二向量;基于所述第一向量和所述第二向量之间的夹角,旋转所述子骨骼,确定所述子骨骼的位置。
12.根据权利要求10所述的装置,其特征在于,
所述调整模块,还用于确定所述父骨骼的第二端点到所述子骨骼的末端的第三向量,所述父骨骼的第二端点是所述父骨骼上远离所述子骨骼的端点;确定所述第二端点到所述目标位置的第四向量;基于所述第三向量和所述第四向量之间的夹角,旋转所述父骨骼,确定所述父骨骼的位置。
13.根据权利要求9至12任一项所述的装置,其特征在于,所述本体模型包括至少两个组件模型,所述至少两个组件模型包括所述主控对象上不同部位的模型;
所述渲染模块,还用于将所述投影模型替换为一体化投影模型,所述一体化投影模型是合并所述至少两个组件模型后的低面模型,所述一体化投影模型的面数小于所述投影模型的面数;对所述一体化投影模型进行渲染,得到所述主控对象的投影。
14.根据权利要求9至12任一项所述的装置,其特征在于,所述装置还包括制作模块:
所述制作模块,用于确定所述主控对象的初始动画姿势;将所述初始动画姿势代入到所述主控对象的骨骼模型中,得到所述原始骨骼模型;对所述原始骨骼模型进行骨骼变形处理,得到骨骼变形后的原始骨骼模型;基于所述当前状态,调整所述骨骼变形后的原始骨骼模型的姿势,得到所述主控对象的本体模型,所述本体模型是用于生成所述主控对象的本体的模型;对所述本体模型进行渲染,得到所述主控对象的本体。
15.根据权利要求14所述的装置,其特征在于,所述主控对象的骨骼模型包括至少两个组件模型,所述至少两个组件模型包括所述主控对象上不同部位的模型;
所述制作模块,还用于依次确定所述至少两个组件模型的动画姿势;叠加所述至少两个组件模型的动画姿势,得到所述初始动画姿势。
16.根据权利要求14所述的装置,其特征在于,所述本体模型包括至少两个组件模型,所述至少两个组件模型包括所述主控对象上不同部位的模型;
所述制作模块,还用于分别对所述至少两个组件模型进行渲染,得到所述至少两个组件模型的渲染结果;合成所述至少两个组件模型的渲染结果,得到所述主控对象的本体。
17.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如权利要求1至8中任一项所述的生成主控对象投影的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如权利要求1至8中任一项所述的生成主控对象投影的方法。
19.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时实现权利要求1至8中任一项所述的生成主控对象投影的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210015247.5A CN114359469B (zh) | 2022-01-07 | 2022-01-07 | 生成主控对象投影的方法、装置、设备及介质 |
PCT/CN2022/126147 WO2023130800A1 (zh) | 2022-01-07 | 2022-10-19 | 生成主控对象投影的方法、装置、设备及介质 |
JP2023566962A JP2024518913A (ja) | 2022-01-07 | 2022-10-19 | 主制御対象の投影生成方法、装置、コンピュータ機器及びコンピュータプログラム |
US18/221,812 US20230360348A1 (en) | 2022-01-07 | 2023-07-13 | Method and apparatus for generating main control object projection, device, and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210015247.5A CN114359469B (zh) | 2022-01-07 | 2022-01-07 | 生成主控对象投影的方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114359469A CN114359469A (zh) | 2022-04-15 |
CN114359469B true CN114359469B (zh) | 2023-06-09 |
Family
ID=81106389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210015247.5A Active CN114359469B (zh) | 2022-01-07 | 2022-01-07 | 生成主控对象投影的方法、装置、设备及介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20230360348A1 (zh) |
JP (1) | JP2024518913A (zh) |
CN (1) | CN114359469B (zh) |
WO (1) | WO2023130800A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114359469B (zh) * | 2022-01-07 | 2023-06-09 | 腾讯科技(深圳)有限公司 | 生成主控对象投影的方法、装置、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10208072A (ja) * | 1996-11-19 | 1998-08-07 | Namco Ltd | スケルトンモデルの形状変形方法、画像合成装置及び情報記憶媒体 |
CN102413885A (zh) * | 2009-05-01 | 2012-04-11 | 微软公司 | 用于对运动捕捉应用模型跟踪的系统和方法 |
US9473758B1 (en) * | 2015-12-06 | 2016-10-18 | Sliver VR Technologies, Inc. | Methods and systems for game video recording and virtual reality replay |
CN108664231A (zh) * | 2018-05-11 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 2.5维虚拟环境的显示方法、装置、设备及存储介质 |
CN110755845A (zh) * | 2019-10-21 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 虚拟世界的画面显示方法、装置、设备及介质 |
CN111249729A (zh) * | 2020-02-18 | 2020-06-09 | 网易(杭州)网络有限公司 | 一种游戏角色的显示方法、装置、电子设备和存储介质 |
CN112221133A (zh) * | 2020-10-21 | 2021-01-15 | Oppo(重庆)智能科技有限公司 | 游戏画面的定制方法、云服务器、终端及存储介质 |
CN113577774A (zh) * | 2021-02-01 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 虚拟对象生成方法、装置、电子设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11107183B2 (en) * | 2017-06-09 | 2021-08-31 | Sony Interactive Entertainment Inc. | Adaptive mesh skinning in a foveated rendering system |
US11175730B2 (en) * | 2019-12-06 | 2021-11-16 | Facebook Technologies, Llc | Posture-based virtual space configurations |
CN112206525B (zh) * | 2020-09-30 | 2022-04-29 | 深圳市瑞立视多媒体科技有限公司 | Ue4引擎中手拧虚拟物品的信息处理方法和装置 |
CN112927332B (zh) * | 2021-04-02 | 2023-06-09 | 腾讯科技(深圳)有限公司 | 骨骼动画更新方法、装置、设备及存储介质 |
CN114359469B (zh) * | 2022-01-07 | 2023-06-09 | 腾讯科技(深圳)有限公司 | 生成主控对象投影的方法、装置、设备及介质 |
-
2022
- 2022-01-07 CN CN202210015247.5A patent/CN114359469B/zh active Active
- 2022-10-19 JP JP2023566962A patent/JP2024518913A/ja active Pending
- 2022-10-19 WO PCT/CN2022/126147 patent/WO2023130800A1/zh active Application Filing
-
2023
- 2023-07-13 US US18/221,812 patent/US20230360348A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10208072A (ja) * | 1996-11-19 | 1998-08-07 | Namco Ltd | スケルトンモデルの形状変形方法、画像合成装置及び情報記憶媒体 |
CN102413885A (zh) * | 2009-05-01 | 2012-04-11 | 微软公司 | 用于对运动捕捉应用模型跟踪的系统和方法 |
US9473758B1 (en) * | 2015-12-06 | 2016-10-18 | Sliver VR Technologies, Inc. | Methods and systems for game video recording and virtual reality replay |
CN108664231A (zh) * | 2018-05-11 | 2018-10-16 | 腾讯科技(深圳)有限公司 | 2.5维虚拟环境的显示方法、装置、设备及存储介质 |
CN110755845A (zh) * | 2019-10-21 | 2020-02-07 | 腾讯科技(深圳)有限公司 | 虚拟世界的画面显示方法、装置、设备及介质 |
CN111249729A (zh) * | 2020-02-18 | 2020-06-09 | 网易(杭州)网络有限公司 | 一种游戏角色的显示方法、装置、电子设备和存储介质 |
CN112221133A (zh) * | 2020-10-21 | 2021-01-15 | Oppo(重庆)智能科技有限公司 | 游戏画面的定制方法、云服务器、终端及存储介质 |
CN113577774A (zh) * | 2021-02-01 | 2021-11-02 | 腾讯科技(深圳)有限公司 | 虚拟对象生成方法、装置、电子设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
利用OSG三维图形渲染引擎实现的骨骼动画;段辉丽;唐丽玉;;计算机工程与应用(第03期);全文 * |
面向投影环境的计算机视觉交互信息获取;李超;许春耀;潘林;余轮;;电视技术(第11期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114359469A (zh) | 2022-04-15 |
US20230360348A1 (en) | 2023-11-09 |
WO2023130800A1 (zh) | 2023-07-13 |
JP2024518913A (ja) | 2024-05-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111260762B (zh) | 一种动画实现方法、装置、电子设备和存储介质 | |
CN111659115B (zh) | 虚拟角色控制方法、装置、计算机设备和存储介质 | |
CN112691377B (zh) | 虚拟角色的控制方法、装置、电子设备及存储介质 | |
US11724191B2 (en) | Network-based video game editing and modification distribution system | |
US8648864B2 (en) | System and method for blended animation enabling an animated character to aim at any arbitrary point in a virtual space | |
US9208613B2 (en) | Action modeling device, method, and program | |
US20230050933A1 (en) | Two-dimensional figure display method and apparatus for virtual object, device, and storage medium | |
US11305193B2 (en) | Systems and methods for multi-user editing of virtual content | |
US11759709B2 (en) | Display method and apparatus for virtual environment picture, and device and storage medium | |
US11816772B2 (en) | System for customizing in-game character animations by players | |
CN113134233B (zh) | 控件的显示方法、装置、计算机设备及存储介质 | |
WO2022184128A1 (zh) | 虚拟对象的技能释放方法、装置、设备及存储介质 | |
CN111714880A (zh) | 画面的显示方法和装置、存储介质、电子装置 | |
JP2024054230A (ja) | 予約購入アイテムの表示方法、装置、デバイス、媒体およびコンピュータプログラム | |
CN114359469B (zh) | 生成主控对象投影的方法、装置、设备及介质 | |
CN114026524B (zh) | 用于动画化人脸的方法、系统、以及计算机可读介质 | |
CN113041616B (zh) | 游戏中控制跳字显示的方法、装置、电子设备及存储介质 | |
Tomilin et al. | LevDoom: A benchmark for generalization on level difficulty in reinforcement learning | |
CN112933600B (zh) | 虚拟对象控制方法、装置、计算机设备和存储介质 | |
CN114146413B (zh) | 虚拟对象的控制方法、装置、设备、存储介质及程序产品 | |
CN112933595B (zh) | 游戏中处理跳字显示的方法、装置、电子设备及存储介质 | |
US20240375007A1 (en) | Interactive processing method and apparatus for virtual scene, electronic device, and storage medium | |
JP5378027B2 (ja) | ゲームプログラム、記憶媒体およびコンピュータ装置 | |
CN117101138A (zh) | 虚拟角色的控制方法、装置、电子设备以及存储介质 | |
CN116524076A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40070379 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |