CN110163938B - 动画的控制方法、装置、存储介质和电子装置 - Google Patents
动画的控制方法、装置、存储介质和电子装置 Download PDFInfo
- Publication number
- CN110163938B CN110163938B CN201811481911.5A CN201811481911A CN110163938B CN 110163938 B CN110163938 B CN 110163938B CN 201811481911 A CN201811481911 A CN 201811481911A CN 110163938 B CN110163938 B CN 110163938B
- Authority
- CN
- China
- Prior art keywords
- target
- rotation
- adjusted
- matrix
- angle
- 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 51
- 239000011159 matrix material Substances 0.000 claims description 157
- 238000004590 computer program Methods 0.000 claims description 15
- 210000000988 bone and bone Anatomy 0.000 description 54
- 210000001508 eye Anatomy 0.000 description 34
- 210000003128 head Anatomy 0.000 description 22
- 230000000694 effects Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000000386 athletic effect Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 210000005252 bulbus oculi Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000003739 neck Anatomy 0.000 description 1
- 230000011273 social behavior Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 208000015041 syndromic microphthalmia 10 Diseases 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- 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/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- 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/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- 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
-
- 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
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2213/00—Indexing scheme for animation
- G06T2213/12—Rule based animation
-
- 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)
- Geometry (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Architecture (AREA)
- Computing Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种动画的控制方法、装置、存储介质和电子装置。其中,该方法包括:获取动画中虚拟摄像机的第一位置和动画中待调整目标的第二位置;根据第一位置、第二位置和待调整目标所属目标对象的坐标信息确定待调整目标的旋转角度;输入旋转系数对旋转角度进行调整,得到目标角度,其中,待调整目标按照目标角度旋转后,待调整目标朝向虚拟摄像机,旋转系数用于调整待调整目标与关联目标的旋转角度的比例,关联目标是与待调整目标具有联动关系的目标;控制待调整目标按照目标角度进行旋转。本发明解决了动画的控制方式不灵活的技术问题。
Description
技术领域
本发明涉及动画领域,具体而言,涉及一种动画的控制方法、装置、存储介质和电子装置。
背景技术
游戏里的动画大部分是美术在数字内容创建DCC(全称为Digital ContentCreation)软件(例如软件Maya、3dsMax等)中制作,然后导入游戏引擎中用状态机在不同的动画切换。这种制作方式的优点是美术人员可以利用软件的制作优势,做出逼真的动画。对于眼球始终朝向摄像机这个场景来说,需要美术在关键的朝向制作动画,运行的时候根据这些关键朝向做动画插值。
为了解决实时交互的问题,动画也要根据用户的输入做出及时的反馈,因此IK(全称为Inverse Kinematics,中文含义是反向动力学,即子骨骼节点带动父骨骼节点运动)动画也广泛应用在游戏引擎里。IK动画是通过末端骨骼的位置来反向推导其他骨骼的运动。比如伸手去拿一个茶杯,茶杯的位置是目标,IK动画解算从手指到手臂的动画。IK动画的优点是实时计算动画,不需要美术的参与。对于眼球始终朝向摄像机这个场景来说,只要指定眼球的朝向,IK系统就会自动算出眼球,头部以及脖子的朝向。
但是,上述两种方法也有各自的缺点,采用状态机的方式,因为动画都是预先制作好的,所以要考虑到游戏中所有可能出现的动画,工作量巨大;采用IK系统,由于所有的计算都是自动的,美术没有办法参与。无论是状态机的方式还是IK系统,都导致调整角度不够灵活。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种动画的控制方法、装置、存储介质和电子装置,以至少解决动画的控制方式不灵活的技术问题。
根据本发明实施例的一个方面,提供了一种动画的控制方法,包括获取动画中虚拟摄像机的第一位置和动画中待调整目标的第二位置;根据第一位置、第二位置和待调整目标所属目标对象的坐标信息确定待调整目标的旋转角度;输入旋转系数对旋转角度进行调整,得到目标角度,其中,待调整目标按照目标角度旋转后,待调整目标朝向虚拟摄像机,旋转系数用于调整待调整目标与关联目标的旋转角度的比例,关联目标是与待调整目标具有联动关系的目标;控制待调整目标按照目标角度进行旋转。
根据本发明实施例的另一方面,还提供了一种动画的控制装置,包括:获取单元,用于获取动画中虚拟摄像机的第一位置和动画中待调整目标的第二位置;确定单元,用于根据第一位置、第二位置和待调整目标所属目标对象的坐标信息确定待调整目标的旋转角度;输入单元,用于输入旋转系数对旋转角度进行调整,得到目标角度,其中,待调整目标按照目标角度旋转后,待调整目标朝向虚拟摄像机,旋转系数用于调整待调整目标与关联目标的旋转角度的比例,关联目标是与待调整目标具有联动关系的目标;控制单元,用于控制待调整目标按照目标角度进行旋转。
根据本发明实施例的一方面,还提供了一种存储介质,存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的方法。
根据本发明实施例的一方面,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为通过计算机程序执行上述的方法。
本实施例通过待调整目标和虚拟摄像机的位置确定待调整目标的坐标的矩阵表达,根据待调整目标的坐标之后确定待调整目标的旋转角度,可以根据输入的旋转系数对旋转角度进行调整,得到目标角度,然后控制待调整目标按照目标角度进行调整,从而使得待调整目标的旋转更加灵活,表现出的效果更加自然,解决了现有技术调整旋转角度时不灵活的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的硬件环境的示意图;
图2是根据本发明实施例的一种可选的动画的控制方法的流程图;
图3是根据本发明实施例的一种可选的矢量的示意图;
图4是根据本发明实施例的一种可选的旋转效果的示意图;
图5是根据本发明实施例的一种可选的旋转角度应用的示意图;
图6是根据本发明实施例的一种可选的动画的控制装置的示意图;
图7是根据本发明实施例的一种可选的电子装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种动画的控制方法。在本实施例中,在将本申请的技术方案应用于本地应用(如单机游戏)的情况下,上述动画的控制方法可以应用于如图1所示的终端101所构成的硬件环境中,由终端101通过执行本申请的动画的控制方法来调整待调整目标的朝向。
可选地,在将本申请的技术方案应用于联网应用(如联网游戏)的情况下,上述硬件环境中还可包括为终端101提供业务服务(如游戏服务)的服务器102,由服务器102执行本申请的方法,并将执行结果作为服务(如游戏服务)的一部分提供给终端101,来调整终端上待调整目标的朝向,终端101可通过网络与服务器102进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端101可以是手机终端,也可以是PC终端、笔记本终端或平板电脑终端。
本申请的技术方案所适用的场景包括但不局限于如下场景:
本申请的技术方案可以应用在采用增强现实AR、虚拟现实VR等技术的社交场景中,该社交场景可以由上述终端101提供,由服务器102来同步社交场景中的社交行为,社交场景中包括待调整目标所属的目标对象,该目标对象可以为当前用户在社交场景中对应的虚拟人物、当前用户在社交场景中的虚拟好友、社交场景中的虚拟路人、当前用户在社交场景中的虚拟宠物等对象;当目标对象在社交场景中运动的过程中,可以通过服务器执行本申请的技术方案来调整目标对象上待调整目标的朝向,如将其眼睛调整为始终朝向虚拟摄像机,并将调整结果下发给各个终端,以使得各个终端同步渲染出目标对象的眼睛始终是朝向屏幕的画面(屏幕播放的画面即以虚拟摄像机的视角渲染出的画面)。
本申请的技术方案还可以应用在游戏场景中,如MOBA游戏(Multiplayer OnlineBattle Arena,中文译为多人在线战术竞技游戏)、FPS游戏(First-person shooter game,中文译为第一人称射击类游戏)、TPS游戏(Third-person shooter game,中文译为第三人称射击类游戏)等,可以将上述游戏的游戏应用安装在上述终端101上,以形成游戏的客户端,玩家通过客户端在游戏场景中参与游戏,游戏场景中包括待调整目标所属的目标对象,该目标对象可以为当前用户在游戏场景中操控的游戏角色、该游戏角色的队友、该游戏角色的敌人等对象;当玩家在游戏场景中参与游戏的过程中,若该游戏为单机游戏、多人本地互联的游戏,可由其中一个终端执行本申请的技术方案来调整目标对象上待调整目标的朝向,还可将执行结果同步给其它终端,若该游戏为联网游戏,可由服务器102执行本申请的技术方案来调整目标对象上待调整目标的朝向,并将执行结果同步给参与游戏的终端。
下面以本发明实施例的动画的控制方法由终端101来执行为例进行说明,终端101执行本发明实施例的动画的控制方法也可以是由安装在其上的客户端(如游戏应用的客户端)来执行,例如,将本申请的动画的控制方法嵌入到游戏应用的游戏引擎中,作为游戏引擎自身逻辑的一部分;或者将本申请的动画的控制方法嵌入到游戏应用的游戏逻辑中,作为游戏逻辑的一部分。图2是根据本发明实施例的一种可选的动画的控制方法的流程图。如图2所示,该动画的控制方法包括:
S202,终端获取动画中虚拟摄像机的第一位置和动画中待调整目标的第二位置。
在动画中可以表现多个对象,待调整目标可以是对象的一部分。对象可以是人物角色,待调整目标可以是人物角色的某个器官或者身体结构的某个部分,如眼睛等。该动画可以游戏动画,待调整目标可以是游戏角色中的眼睛。第一位置是虚拟摄像机在动画中的位置,第二位置是待调整目标在动画中的位置,游戏场景和游戏场景中各个角色可游戏引擎渲染出,在获取第一位置和第二位置时,可以在游戏引擎中获取其所渲染的待调整目标在动画中的第二位置,并利用游戏引擎的配置文件(配置文件中配置有各个虚拟摄像机的状态、移动逻辑等)获取虚拟摄像机的第一位置。第一位置和第二位置都可以采用三维坐标表示,三维坐标可以利用矩阵表示。
S204,终端根据第一位置、第二位置和待调整目标所属目标对象的坐标信息确定待调整目标的旋转角度。
获取第二位置到第一位置的矢量(该矢量可以为三维坐标系中的矢量),如图3所示,利用该矢量乘以矩阵[001],得到待调整目标的x轴坐标;利用该矢量乘以[010],得到待调整目标的y轴坐标;利用该矢量乘以[100],得到待调整目标的z轴坐标。从而得到待调整目标在三维空间中坐标的矩阵表达,该矩阵为旋转矩阵Mr(即第一矩阵),为了抵消游戏过程中玩家控制角色的旋转以及初始状态下角色没有对齐X轴,获取玩家控制角色旋转时角色的旋转矩阵Mt(即第二矩阵)和初始状态下角色的旋转矩阵Mi(即第三矩阵),将以上旋转矩阵Mr、旋转矩阵Mt和旋转矩阵Mi级联起来,得到待调整目标的目标矩阵M:
其中,待调整目标所属目标对象为游戏角色,目标对象的坐标信息包括旋转矩阵Mt和旋转矩阵Mi,旋转矩阵Mt和旋转矩阵Mi可以通过游戏引擎获得。
可选地,上述Mi、Mr可以为三行三列的矩阵,旋转矩阵Mt表示游戏角色在玩家的控制下游戏角色自身与玩家的控制操作对应的旋转矩阵(即从控制前的状态转换为控制后的状态之间的转换矩阵)和初始状态下角色的旋转矩阵Mi可以通过游戏引擎提供的应用程序接口API获取:
即,根据第一位置、第二位置和待调整目标所属目标对象的坐标信息确定待调整目标的旋转角度包括:根据第一位置和第二位置获取待调整目标的第一矩阵,其中,第一矩阵根据第二位置到第一位置的矢量得到;获取目标对象的旋转矩阵,得到第二矩阵,其中,第二矩阵为目标对象在预定场景中被控制旋转时的矩阵;获取目标对象在初始状态下的旋转矩阵,得到第三矩阵;对第一矩阵、第二矩阵和第三矩阵进行级联,得到目标矩阵;将目标矩阵转换成旋转角度。
其中,第一矩阵为旋转矩阵Mr,第二矩阵为旋转矩阵Mt,第三矩阵为旋转矩阵Mi。在得到目标矩阵之后,由于目标矩阵无法直观的表示旋转角度为多少,为了便于调整待调整目标的旋转角度,可以将目标矩阵转换成旋转角度。
ωx=atan2(R32,R33);
ωz=atan2(R21,R11)。
旋转角度可以包括相对于X轴的角度ωx、相对于Y轴的角度ωy以及相对于Z轴的角度ωz。
S206,终端输入旋转系数对旋转角度进行调整,得到目标角度,待调整目标按照目标角度旋转后,待调整目标朝向虚拟摄像机,由于该目标角度表示的就是调整前的角度与朝向虚拟摄像机时的角度之间的角度差值,所以按照目标角度调整后是朝向虚拟摄像机的,旋转系数用于调整待调整目标与关联目标的旋转角度的比例,关联目标是与待调整目标具有联动关系的目标,一种可选的方式中,旋转系数是由动画美术预先设定的。
对于一个角色来说,旋转角色的某个部分可能会导致其他部分的联动,或者,旋转某个部分时同时旋转其他相关的部分才会使得旋转效果比较自然,因此,在旋转待调整目标时,也要考虑其他关联目标的旋转角度,也就是说,为待调整目标和关联目标设置旋转角度的比例(即前述的旋转系数)。
举例来说,待调整目标为角色的眼睛,关联目标包括角色的头部和脖子,眼睛、头部和脖子的旋转比例为3:2:1,则,代入Mi、Mr中各个元素的数值计算出来M,然后,在确定了眼睛的目标角度为与X轴之间的角度减少30°的情况下,头部旋转(即与X轴之间的角度减少)20°,脖子旋转(即与X轴之间的角度减少)10°。在这个例子中,待旋转目标的旋转系数可以为3,其与头部之间的比例为3:2,其与脖子之间的旋转比例为3:1。此处的旋转系数可以根据待调整目标在对象中的不同位置进行设置,使得待调整目标按照目标角度旋转后,朝向虚拟摄像机,且对象的动作表现比较自然,如图4所示,眼睛旋转了30°,头部旋转了20°,脖子旋转了10°。
需要说明的是,相对于Y轴和Z轴的旋转角度与相对于X轴的旋转方式类似。
S208,控制待调整目标按照目标角度进行旋转。
本实施例通过待调整目标和虚拟摄像机的位置确定待调整目标的坐标的矩阵表达,根据待调整目标的坐标之后确定待调整目标的旋转角度,可以根据输入的旋转系数对旋转角度进行调整,得到目标角度,然后控制待调整目标按照目标角度进行调整,从而使得待调整目标的旋转更加灵活,表现出的效果更加自然,解决了现有技术调整旋转角度时不灵活的技术问题。
可选地,控制待调整目标按照目标角度进行旋转包括:获取待调整目标的当前旋转矩阵(当前旋转矩阵与旋转矩阵Mt、旋转矩阵Mi类似,可以通过游戏引擎提供的应用程序接口API获得),对于游戏角色而言,其旋转包括两个部分,其一是受控于玩家等的整个游戏角色的旋转,当前旋转矩阵即用来表示当前时刻整个角色的旋转,其二是为了使得待调整目标始终面向虚拟相机而作的旋转,用目标矩阵或者目标矩阵转换来的目标角度表示,这二者的叠加即相当于最终的旋转;将目标角度应用在当前旋转矩阵上,得到目标矩阵,其中,目标矩阵表示的旋转角度为待调整目标朝向虚拟摄像机的角度。
作为一个可选的示例,当前旋转矩阵表示旋转前待调整目标的空间位置,可以用Me表示:
Ma=[ωx,ωy,ωz]。
对当前旋转矩阵和表示目标角度的矩阵Ma相乘,完成待调整目标的旋转。在需要眼睛朝向虚拟摄像机时,完成旋转后的待调整目标朝向虚拟摄像机,此处的需要可以是指游戏中某个时刻需要将待调整目标朝向虚拟摄像机,也可以是整个游戏过程中保持待调整目标朝向虚拟摄像机,如果中间一旦出现待调整目标未朝向虚拟摄像机的情况则按照本申请的上述方法进行调整,调整后的效果如图4所示。
可选地,在根据第一位置、第二位置和待调整目标所属目标对象的坐标信息确定待调整目标的旋转角度之后,并且在输入旋转系数对旋转角度进行调整,得到目标角度之前,方法还包括:设置待调整目标进行旋转所需的时间,得到旋转时间;根据旋转时间对旋转角度进行线性差值,得到差值后的旋转角度,其中,差值后的旋转角度与旋转系数相乘得到目标角度。
为了使得旋转的效果自然不生硬,避免待调整目标瞬间旋转目标角度,在输入旋转系数对旋转角度进行调整之前,对旋转角度根据时间做一次线性插值,即,设置旋转所需的时间,差值后的旋转角度和旋转系数相乘可以调整旋转所需的时间。例如,在旋转角度为30°的情况下,如果旋转时间为1秒,则控制待调整目标在1秒钟旋转30°;如果旋转时间为5秒,则控制待调整目标在5秒钟内旋转30°。线性差值不改变待调整目标所要旋转的角度,仅改变旋转所需要的时间。将旋转时间设置为5秒,可以表现出待调整目标慢慢旋转的效果。
可选地,控制待调整目标按照目标角度进行旋转包括:获取至少一个关联目标的旋转系数,得到至少一个旋转系数;将至少一个旋转系数应用在至少一个关联目标中对应的关联目标上,得到至少一个旋转角度;控制至少一个关联目标和待调整目标按照目标角度和至少一个旋转角度逐级进行旋转。
在确定了关联目标的旋转系数之后,就确定了关联目标的旋转角度。举例来说,待调整目标为角色的眼睛,关联目标包括角色的头部和脖子,眼睛、头部和脖子的旋转比例为3:2:1,则,在确定了眼睛的目标角度为30°的情况下,头部旋转20°,脖子旋转10°。确定每个部分的旋转角度之后,按照骨骼的层级逐级进行旋转,也就是按照从脖子到头部再到眼睛的顺序进行旋转。
如图5所示,骨骼A表示脖子,骨骼B表示头部,骨骼C表示眼睛,骨骼的层级顺序为骨骼A到骨骼B到骨骼C,先计算骨骼A的旋转角度,然后根据美术的输入调整旋转,即根据输入旋转系数调整骨骼A的旋转角度,叠加到已有的旋转,即叠加到骨骼A的当前旋转角度上,完成骨骼A的旋转。计算骨骼B的旋转角度,然后根据美术的输入调整旋转,即根据输入旋转系数调整骨骼B的旋转角度,叠加到已有的旋转,即叠加到骨骼B的当前旋转角度上,完成骨骼B的旋转。计算骨骼C的旋转角度,然后根据美术的输入调整旋转,即根据输入旋转系数调整骨骼C的旋转角度,叠加到已有的旋转,即叠加到骨骼C的当前旋转角度上,完成骨骼C的旋转。
图5虽然示出了分别计算骨骼A、骨骼B和骨骼C的旋转,但是,本实施例可以在计算出骨骼C的旋转角度后,根据旋转系数直接得到骨骼A和骨骼B的旋转角度,进而完成从骨骼A到骨骼C的逐级旋转,最终旋转的结果可以参见图4,图4中人物眼睛(相当于骨骼C)与X轴之间的角度减少30°,头部和脖子(相当于骨骼A和骨骼B)与X轴之间的角度分别减少20°和10°。
本实施例可以实时的产生眼球跟踪摄像机的效果,动画平滑自然,看不出人工痕迹,也不影响身体其它部分的动画,比如朝你看的同时也能眨眼。如前述内容描述,本申请的技术方案相当于提供了一种将虚拟场景中的目标对象的某个部位(即待调整目标)调整为朝向虚拟摄像机的方案,该虚拟场景可以为前述的游戏场景、社交场景等。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明实施例的另一个方面,还提供了一种用于实施上述动画的控制方法的动画的控制装置,图6是根据本发明实施例的一种可选的动画的控制装置的示意图,如图6所示,该装置包括:
获取单元602,用于获取动画中虚拟摄像机的第一位置和动画中待调整目标的第二位置;
在动画中可以表现多个对象,待调整目标可以是对象的一部分。对象可以是人物角色,待调整目标可以是人物角色的某个器官或者身体结构的某个部分,如眼睛等。该动画可以游戏动画,待调整目标可以是游戏角色中的眼睛。第一位置是虚拟摄像机在动画中的位置,第二位置是待调整目标在动画中的位置,游戏场景和游戏场景中各个角色可游戏引擎渲染出,在获取第一位置和第二位置时,可以在游戏引擎中获取其所渲染的待调整目标在动画中的第二位置,并利用游戏引擎的配置文件(配置文件中配置有各个虚拟摄像机的状态、移动逻辑等)获取虚拟摄像机的第一位置。第一位置和第二位置都可以采用三维坐标表示,三维坐标可以利用矩阵表示。
确定单元604,用于根据第一位置、第二位置和待调整目标所属目标对象的坐标信息确定待调整目标的旋转角度;
获取第二位置到第一位置的矢量(该矢量可以为三维坐标系中的矢量),如图3所示,利用该矢量乘以矩阵[001],得到待调整目标的x轴坐标;利用该矢量乘以[010],得到待调整目标的y轴坐标;利用该矢量乘以[100],得到待调整目标的z轴坐标。从而得到待调整目标在三维空间中坐标的矩阵表达,该矩阵为旋转矩阵Mr(即第一矩阵),为了抵消游戏过程中玩家控制角色的旋转以及初始状态下角色没有对齐X轴,获取玩家控制角色旋转时角色的旋转矩阵Mt(即第二矩阵)和初始状态下角色的旋转矩阵Mi(即第三矩阵),将以上旋转矩阵Mr、旋转矩阵Mt和旋转矩阵Mi级联起来,得到待调整目标的目标矩阵M:
其中,待调整目标所属目标对象为游戏角色,目标对象的坐标信息包括旋转矩阵Mt和旋转矩阵Mi,旋转矩阵Mt和旋转矩阵Mi可以通过游戏引擎获得。
可选地,上述Mi、Mr可以为三行三列的矩阵,旋转矩阵Mt表示游戏角色在玩家的控制下游戏角色自身与玩家的控制操作对应的旋转矩阵(即从控制前的状态转换为控制后的状态之间的转换矩阵)和初始状态下角色的旋转矩阵Mi可以通过游戏引擎提供的应用程序接口API获取:
即,确定单元包括:第一获取模块,用于根据第一位置和第二位置获取待调整目标的第一矩阵,其中,第一矩阵根据第二位置到第一位置的矢量得到;第二获取模块,用于获取目标对象的旋转矩阵,得到第二矩阵,其中,第二矩阵为目标对象在预定场景中被控制旋转时的矩阵;第三获取模块,用于获取目标对象在初始状态下的旋转矩阵,得到第三矩阵;级联单元,用于对第一矩阵、第二矩阵和第三矩阵进行级联,得到目标矩阵;转换单元,用于将目标矩阵转换成旋转角度。
其中,第一矩阵为旋转矩阵Mr,第二矩阵为旋转矩阵Mt,第三矩阵为旋转矩阵Mi。在得到目标矩阵之后,由于目标矩阵无法直观的表示旋转角度为多少,为了便于调整待调整目标的旋转角度,可以将目标矩阵转换成旋转角度。
ωx=atan2(R32,R33);
ωz=atan2(R21,R11)。
旋转角度可以包括相对于X轴的角度ωx、相对于Y轴的角度ωy以及相对于Z轴的角度ωz。
输入单元606,用于输入旋转系数对旋转角度进行调整,得到目标角度,其中,待调整目标按照目标角度旋转后,待调整目标朝向虚拟摄像机,由于该目标角度表示的就是调整前的角度与朝向虚拟摄像机时的角度之间的角度差值,所以按照目标角度调整后是朝向虚拟摄像机的,旋转系数用于调整待调整目标与关联目标的旋转角度的比例,关联目标是与待调整目标具有联动关系的目标,一种可选的方式中,旋转系数是由动画美术预先设定的。
对于一个角色来说,旋转角色的某个部分可能会导致其他部分的联动,或者,旋转某个部分时同时旋转其他相关的部分才会使得旋转效果比较自然,因此,在旋转待调整目标时,也要考虑其他关联目标的旋转角度,也就是说,为待调整目标和关联目标设置旋转角度的比例。
举例来说,待调整目标为角色的眼睛,关联目标包括角色的头部和脖子,眼睛、头部和脖子的旋转比例为3:2:1,则,代入Mi、Mr中各个元素的数值计算出来M,然后,在确定了眼睛的目标角度为与X轴之间的角度减少30°的情况下,头部旋转(即与X轴之间的角度减少)20°,脖子旋转(即与X轴之间的角度减少)10°。在这个例子中,待旋转目标的旋转系数可以为3,其与头部之间的比例为3:2,其与脖子之间的旋转比例为3:1。此处的旋转系数可以根据待调整目标在对象中的不同位置进行设置,使得待调整目标按照目标角度旋转后,朝向虚拟摄像机,且对象的动作表现比较自然,如图4所示,眼睛旋转了30°,头部旋转了20°,脖子旋转了10°。
需要说明的是,相对于Y轴和Z轴的旋转角度与相对于X轴的旋转方式类似。
控制单元608,用于控制待调整目标按照目标角度进行旋转。
本实施例通过待调整目标和虚拟摄像机的位置确定待调整目标的坐标的矩阵表达,根据待调整目标的坐标之后确定待调整目标的旋转角度,可以根据输入的旋转系数对旋转角度进行调整,得到目标角度,然后控制待调整目标按照目标角度进行调整,从而使得待调整目标的旋转更加灵活,表现出的效果更加自然,解决了现有技术调整旋转角度时不灵活的技术问题。
可选地,控制单元包括:第四获取模块,用于获取待调整目标的当前旋转矩阵(当前旋转矩阵与旋转矩阵Mt、旋转矩阵Mi类似,可以通过游戏引擎提供的应用程序接口API获得),对于游戏角色而言,其旋转包括两个部分,其一是受控于玩家等的整个游戏角色的旋转,当前旋转矩阵即用来表示当前时刻整个角色的旋转,其二是为了使得待调整目标始终面向虚拟相机而作的旋转,用目标矩阵或者目标矩阵转换来的目标角度表示,这二者的叠加即相当于最终的旋转;第一应用模块,用于将目标角度应用在当前旋转矩阵上,得到目标矩阵,其中,目标矩阵表示的旋转角度为待调整目标朝向虚拟摄像机的角度。
作为一个可选的示例,当前旋转矩阵表示旋转前待调整目标的空间位置,可以用Me表示:
Ma=[ωx,ωy,ωz]。
当前旋转矩阵表示旋转前待调整目标的空间位置,可以用Me表示。对当前旋转矩阵和表示目标角度的矩阵Ma相乘,完成待调整目标的旋转。在需要眼睛朝向虚拟摄像机时,完成旋转后的待调整目标朝向虚拟摄像机,效果如图4所示。
可选地,装置还包括:设置单元,用于在根据第一位置、第二位置和待调整目标所属目标对象的坐标信息确定待调整目标的旋转角度之后,并且在输入旋转系数对旋转角度进行调整,得到目标角度之前,设置待调整目标进行旋转所需的时间,得到旋转时间;差值单元,用于根据旋转时间对旋转角度进行线性差值,得到差值后的旋转角度,其中,差值后的旋转角度与旋转系数相乘得到目标角度。
为了使得旋转的效果自然不生硬,避免待调整目标瞬间旋转目标角度,在输入旋转系数对旋转角度进行调整之前,对旋转角度根据时间做一次线性插值,即,设置旋转所需的时间,差值后的旋转角度和旋转系数相乘可以调整旋转所需的时间。例如,在旋转角度为30°的情况下,如果旋转时间为1秒,则控制待调整目标在1秒钟旋转30°;如果旋转时间为5秒,则控制待调整目标在5秒钟内旋转30°。线性差值不改变待调整目标所要旋转的角度,仅改变旋转所需要的时间。将旋转时间设置为5秒,可以表现出待调整目标慢慢旋转的效果。
可选地,控制单元包括:第五获取模块,用于获取至少一个关联目标的旋转系数,得到至少一个旋转系数;第二应用模块,用于将至少一个旋转系数应用在至少一个关联目标中对应的关联目标上,得到至少一个旋转角度;控制模块,用于控制至少一个关联目标和待调整目标按照目标角度和至少一个旋转角度逐级进行旋转。
在确定了关联目标的旋转系数之后,就确定了关联目标的旋转角度。举例来说,待调整目标为角色的眼睛,关联目标包括角色的头部和脖子,眼睛、头部和脖子的旋转比例为3:2:1,则,在确定了眼睛的目标角度为30°的情况下,头部旋转20°,脖子旋转10°。确定每个部分的旋转角度之后,按照骨骼的层级逐级进行旋转,也就是按照从脖子到头部再到眼睛的顺序进行旋转。
如图5所示,骨骼A表示脖子,骨骼B表示头部,骨骼C表示眼睛,骨骼的层级顺序为骨骼A到骨骼B到骨骼C,先计算骨骼A的旋转角度,然后根据美术的输入调整旋转,即根据输入旋转系数调整骨骼A的旋转角度,叠加到已有的旋转,即叠加到骨骼A的当前旋转角度上,完成骨骼A的旋转。计算骨骼B的旋转角度,然后根据美术的输入调整旋转,即根据输入旋转系数调整骨骼B的旋转角度,叠加到已有的旋转,即叠加到骨骼B的当前旋转角度上,完成骨骼B的旋转。计算骨骼C的旋转角度,然后根据美术的输入调整旋转,即根据输入旋转系数调整骨骼C的旋转角度,叠加到已有的旋转,即叠加到骨骼C的当前旋转角度上,完成骨骼C的旋转。
图5虽然示出了分别计算骨骼A、骨骼B和骨骼C的旋转,但是,本实施例可以在计算出骨骼C的旋转角度后,根据旋转系数直接得到骨骼A和骨骼B的旋转角度,进而完成从骨骼A到骨骼C的逐级旋转。
本实施例可以实时的产生眼球跟踪摄像机的效果,动画平滑自然,看不出人工痕迹,也不影响身体其它部分的动画,比如朝你看的同时也能眨眼。
根据本发明实施例的又一个方面,还提供了一种用于实施上述动画的控制方法的电子装置,如图7所示,该电子装置包括,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,图7是根据本发明实施例的一种可选的电子装置的示意图。如图7所示,该电子装置可以包括:一个或多个(图7中仅示出一个)处理器701、至少一个通信总线702、用户接口703、至少一个传输装置704和存储器705。其中,通信总线702用于实现这些组件之间的连接通信。其中,用户接口703可以包括显示器706和键盘707。传输装置704可选的可以包括标准的有线接口和无线接口。
可选地,在本实施例中,上述电子装置可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取动画中虚拟摄像机的第一位置和动画中待调整目标的第二位置;
S2,根据第一位置、第二位置和待调整目标所属目标对象的坐标信息确定待调整目标的旋转角度;
S3,输入旋转系数对旋转角度进行调整,得到目标角度;
S4,控制待调整目标按照目标角度进行旋转。
可选地,本领域普通技术人员可以理解,图7所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图7其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图7中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图7所示不同的配置。
其中,存储器705可用于存储软件程序以及模块,如本发明实施例中的,其和装置对应的程序指令/模块,处理器701通过运行存储在存储器705内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的,其。存储器705可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器705可进一步包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置704用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置704包括一个网络适配器(NetworkInterface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置704为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器705用于存储待调整目标的旋转矩阵。
本实施例通过待调整目标和虚拟摄像机的位置确定待调整目标的坐标的矩阵表达,根据待调整目标的坐标之后确定待调整目标的旋转角度,可以根据输入的旋转系数对旋转角度进行调整,得到目标角度,然后控制待调整目标按照目标角度进行调整,从而使得待调整目标的旋转更加灵活,表现出的效果更加自然,解决了现有技术调整旋转角度时不灵活的技术问题。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取动画中虚拟摄像机的第一位置和动画中待调整目标的第二位置;
S2,根据第一位置、第二位置和待调整目标所属目标对象的坐标信息确定待调整目标的旋转角度;
S3,输入旋转系数对旋转角度进行调整,得到目标角度;
S4,控制待调整目标按照目标角度进行旋转。
可选地,存储介质还被设置为存储用于执行上述实施例中的方法中所包括的步骤的计算机程序,本实施例中对此不再赘述。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种动画的控制方法,其特征在于,包括:
获取动画中虚拟摄像机的第一位置和所述动画中待调整目标的第二位置;
根据所述第一位置和所述第二位置获取所述待调整目标的第一矩阵,其中,所述第一矩阵根据所述第二位置到所述第一位置的矢量得到;
获取目标对象的旋转矩阵,得到第二矩阵,其中,所述目标对象为所述待调整目标的所属对象,所述第二矩阵为所述目标对象在预定场景中被控制旋转时的矩阵;
获取所述目标对象在初始状态下的旋转矩阵,得到第三矩阵;
对所述第一矩阵、所述第二矩阵和所述第三矩阵进行级联,得到目标矩阵;
将所述目标矩阵转换成所述待调整目标的旋转角度;
输入旋转系数对所述旋转角度进行调整,得到目标角度,其中,所述待调整目标按照所述目标角度旋转后,所述待调整目标朝向所述虚拟摄像机,所述旋转系数用于调整所述待调整目标与关联目标的旋转角度的比例,所述关联目标是与所述待调整目标具有联动关系的目标;
控制所述待调整目标按照所述目标角度进行旋转。
2.根据权利要求1所述的方法,其特征在于,控制所述待调整目标按照所述目标角度进行旋转包括:
获取所述待调整目标的当前旋转矩阵;
将所述目标角度应用在所述当前旋转矩阵上,得到目标矩阵,其中,所述目标矩阵表示的旋转角度为所述待调整目标朝向所述虚拟摄像机的角度。
3.根据权利要求1所述的方法,其特征在于,在将所述目标矩阵转换所述待调整目标的旋转角度之后,并且在输入旋转系数对所述旋转角度进行调整,得到目标角度之前,所述方法还包括:
设置所述待调整目标进行旋转所需的时间,得到旋转时间;
根据所述旋转时间对所述旋转角度进行线性差值,得到差值后的旋转角度,其中,所述差值后的旋转角度与所述旋转系数相乘得到所述目标角度。
4.根据权利要求1所述的方法,其特征在于,控制所述待调整目标按照所述目标角度进行旋转包括:
获取至少一个所述关联目标的旋转系数,得到至少一个旋转系数;
将所述至少一个旋转系数应用在至少一个所述关联目标中对应的关联目标上,得到至少一个旋转角度;
控制至少一个所述关联目标和所述待调整目标按照所述目标角度和所述至少一个旋转角度逐级进行旋转。
5.一种动画的控制装置,其特征在于,包括:
获取单元,用于获取动画中虚拟摄像机的第一位置和所述动画中待调整目标的第二位置;
确定单元,用于根据所述第一位置和所述第二位置获取所述待调整目标的第一矩阵,其中,所述第一矩阵根据所述第二位置到所述第一位置的矢量得到;获取目标对象的旋转矩阵,得到第二矩阵,其中,所述目标对象为所述待调整目标的所属对象,所述第二矩阵为所述目标对象在预定场景中被控制旋转时的矩阵;获取所述目标对象在初始状态下的旋转矩阵,得到第三矩阵;对所述第一矩阵、所述第二矩阵和所述第三矩阵进行级联,得到目标矩阵;将所述目标矩阵转换成所述待调整目标的旋转角度;输入单元,用于输入旋转系数对所述旋转角度进行调整,得到目标角度,其中,所述待调整目标按照所述目标角度旋转后,所述待调整目标朝向所述虚拟摄像机,所述旋转系数用于调整所述待调整目标与关联目标的旋转角度的比例,所述关联目标是与所述待调整目标具有联动关系的目标;
控制单元,用于控制所述待调整目标按照所述目标角度进行旋转。
6.根据权利要求5所述的装置,其特征在于,所述控制单元包括:
第四获取模块,用于获取所述待调整目标的当前旋转矩阵;
第一应用模块,用于将所述目标角度应用在所述当前旋转矩阵上,得到目标矩阵,其中,所述目标矩阵表示的旋转角度为所述待调整目标朝向所述虚拟摄像机的角度。
7.根据权利要求5所述的装置,其特征在于,所述装置还包括:
设置单元,用于在根据所述第一位置、所述第二位置和所述待调整目标所属目标对象的坐标信息确定所述待调整目标的旋转角度之后,并且在输入旋转系数对所述旋转角度进行调整,得到目标角度之前,设置所述待调整目标进行旋转所需的时间,得到旋转时间;
差值单元,用于根据所述旋转时间对所述旋转角度进行线性差值,得到差值后的旋转角度,其中,所述差值后的旋转角度与所述旋转系数相乘得到所述目标角度。
8.根据权利要求5所述的装置,其特征在于,所述控制单元包括:
第五获取模块,用于获取至少一个所述关联目标的旋转系数,得到至少一个旋转系数;
第二应用模块,用于将所述至少一个旋转系数应用在至少一个所述关联目标中对应的关联目标上,得到至少一个旋转角度;
控制模块,用于控制至少一个所述关联目标和所述待调整目标按照所述目标角度和所述至少一个旋转角度逐级进行旋转。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至4任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至4任一项中所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811481911.5A CN110163938B (zh) | 2018-12-05 | 2018-12-05 | 动画的控制方法、装置、存储介质和电子装置 |
PCT/CN2019/114251 WO2020114154A1 (zh) | 2018-12-05 | 2019-10-30 | 动画的控制方法、装置、存储介质和电子装置 |
EP19893340.0A EP3832604A4 (en) | 2018-12-05 | 2019-10-30 | ANIMATION CONTROL PROCESS AND DEVICE, STORAGE MEDIA AND ELECTRONIC DEVICE |
US17/193,525 US11783523B2 (en) | 2018-12-05 | 2021-03-05 | Animation control method and apparatus, storage medium, and electronic device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811481911.5A CN110163938B (zh) | 2018-12-05 | 2018-12-05 | 动画的控制方法、装置、存储介质和电子装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110163938A CN110163938A (zh) | 2019-08-23 |
CN110163938B true CN110163938B (zh) | 2023-04-25 |
Family
ID=67645246
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811481911.5A Active CN110163938B (zh) | 2018-12-05 | 2018-12-05 | 动画的控制方法、装置、存储介质和电子装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11783523B2 (zh) |
EP (1) | EP3832604A4 (zh) |
CN (1) | CN110163938B (zh) |
WO (1) | WO2020114154A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110163938B (zh) * | 2018-12-05 | 2023-04-25 | 腾讯科技(深圳)有限公司 | 动画的控制方法、装置、存储介质和电子装置 |
CN111632372A (zh) * | 2020-06-03 | 2020-09-08 | 深圳市瑞立视多媒体科技有限公司 | 虚拟对象的控制方法、装置、设备及存储介质 |
CN112156463B (zh) * | 2020-10-22 | 2023-04-07 | 腾讯科技(深圳)有限公司 | 角色展示方法、装置、设备及介质 |
CN113198179B (zh) * | 2021-05-10 | 2024-06-04 | 网易(杭州)网络有限公司 | 虚拟对象的转向控制方法及装置、存储介质、电子设备 |
CN113730905A (zh) * | 2021-09-03 | 2021-12-03 | 北京房江湖科技有限公司 | 一种在虚拟空间中实现自由游走的方法及其装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982557A (zh) * | 2012-11-06 | 2013-03-20 | 桂林电子科技大学 | 基于深度相机的空间手势姿态指令处理方法 |
CN105488834A (zh) * | 2015-12-01 | 2016-04-13 | 网易(杭州)网络有限公司 | 角色面部朝向的调整方法及装置 |
CN108784725A (zh) * | 2017-08-28 | 2018-11-13 | 上海联影医疗科技有限公司 | 用于确定旋转角度的系统和方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5300777B2 (ja) * | 2010-03-31 | 2013-09-25 | 株式会社バンダイナムコゲームス | プログラム及び画像生成システム |
US9791897B2 (en) * | 2012-06-29 | 2017-10-17 | Monkeymedia, Inc. | Handheld display device for navigating a virtual environment |
KR102084253B1 (ko) * | 2013-11-20 | 2020-03-03 | 한국전자통신연구원 | 복원조각과 볼륨형 표면을 이용하는 카메라 트래킹 장치 및 방법 |
CN106042005B (zh) * | 2016-06-01 | 2018-02-06 | 山东科技大学 | 仿生眼定位追踪系统的工作方法 |
JP6539253B2 (ja) * | 2016-12-06 | 2019-07-03 | キヤノン株式会社 | 情報処理装置、その制御方法、およびプログラム |
JP2018099198A (ja) * | 2016-12-19 | 2018-06-28 | 株式会社三共 | 遊技機 |
CN106981099B (zh) * | 2017-03-27 | 2020-04-14 | 厦门黑镜科技有限公司 | 用于操作三维动画角色的方法和装置 |
CN107463256A (zh) | 2017-08-01 | 2017-12-12 | 网易(杭州)网络有限公司 | 基于虚拟现实的用户朝向控制方法与装置 |
CN107517372B (zh) * | 2017-08-17 | 2022-07-26 | 腾讯科技(深圳)有限公司 | 一种vr内容拍摄方法、相关设备及系统 |
CN108126343A (zh) * | 2017-12-20 | 2018-06-08 | 网易(杭州)网络有限公司 | 游戏角色的视线调整方法、装置、处理器和终端 |
CN108635857B (zh) * | 2018-05-18 | 2022-04-22 | 腾讯科技(深圳)有限公司 | 界面显示方法、装置、电子装置及计算机可读存储介质 |
CN110163938B (zh) * | 2018-12-05 | 2023-04-25 | 腾讯科技(深圳)有限公司 | 动画的控制方法、装置、存储介质和电子装置 |
-
2018
- 2018-12-05 CN CN201811481911.5A patent/CN110163938B/zh active Active
-
2019
- 2019-10-30 WO PCT/CN2019/114251 patent/WO2020114154A1/zh unknown
- 2019-10-30 EP EP19893340.0A patent/EP3832604A4/en active Pending
-
2021
- 2021-03-05 US US17/193,525 patent/US11783523B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102982557A (zh) * | 2012-11-06 | 2013-03-20 | 桂林电子科技大学 | 基于深度相机的空间手势姿态指令处理方法 |
CN105488834A (zh) * | 2015-12-01 | 2016-04-13 | 网易(杭州)网络有限公司 | 角色面部朝向的调整方法及装置 |
CN108784725A (zh) * | 2017-08-28 | 2018-11-13 | 上海联影医疗科技有限公司 | 用于确定旋转角度的系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2020114154A1 (zh) | 2020-06-11 |
EP3832604A4 (en) | 2021-11-17 |
EP3832604A1 (en) | 2021-06-09 |
US20210192821A1 (en) | 2021-06-24 |
US11783523B2 (en) | 2023-10-10 |
CN110163938A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110163938B (zh) | 动画的控制方法、装置、存储介质和电子装置 | |
US11724191B2 (en) | Network-based video game editing and modification distribution system | |
KR20210003687A (ko) | 비디오 게임에서 플레이어 게임플레이를 모방하기 위한 커스텀 모델 | |
CN109731330B (zh) | 画面的显示方法和装置、存储介质、电子装置 | |
US11409276B2 (en) | Method and system for controlling robots within in an interactive arena and generating a virtual overlayed | |
US11238667B2 (en) | Modification of animated characters | |
US11305193B2 (en) | Systems and methods for multi-user editing of virtual content | |
US20160114243A1 (en) | Image processing program, server device, image processing system, and image processing method | |
CN112827169B (zh) | 游戏图像处理方法和装置、存储介质及电子设备 | |
CN108702430A (zh) | 用于控制相机的差异瞄准方向的方法和装置 | |
US20220254086A1 (en) | Animated faces using texture manipulation | |
CN113426110B (zh) | 虚拟角色交互方法、装置、计算机设备和存储介质 | |
CN113313796A (zh) | 场景生成方法、装置、计算机设备和存储介质 | |
US10668384B2 (en) | System using rule based techniques for handling gameplay restrictions | |
US10255756B1 (en) | Delayed, game-triggered online game platform registration | |
US20230196339A1 (en) | Systems and methods for facilitating virtual space instance access and contemporaneous streaming payments | |
JP7410296B2 (ja) | 電子サブスクリプション決済における不正検出 | |
WO2023229920A1 (en) | Method and system for providing game reimmersion | |
CN116485954A (zh) | 虚拟骨骼的修型方法和装置、存储介质及电子设备 | |
CN117101138A (zh) | 虚拟角色的控制方法、装置、电子设备以及存储介质 | |
CN118831319A (zh) | 画面显示方法、装置、设备及存储介质 | |
Baričević et al. | QAVE–a Gamebased Immersive Virtual Reality System |
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 |