动画对象的处理方法、装置、设备及存储介质与流程

文档序号:21444307发布日期:2020-07-10 17:33阅读:173来源:国知局
动画对象的处理方法、装置、设备及存储介质与流程

本申请涉及游戏技术领域,尤其涉及一种动画对象的处理方法、装置、设备及存储介质。



背景技术:

随着用户对于游戏体验的要求越来越高,在三维(3dimensions,3d)的游戏中,为了使3d游戏中运动的动画对象符合人体的真实结构,当前通常对动画对象进行修型来使动画对象更加真实。

现阶段,在3d游戏制作软件中,主要通过融合变形来处理关节处的修型,采用一套做好绑定、处理好权重的角色模型文件,给角色模型文件制作一些角度较大的特定动作,然后加入skinmorph命令,把一个特定动作的骨骼加入skinmorph,接着直接调整模型的点,以制作出所需的关节变形效果。

然而,这种方式必须在某一特定动作下进行,若采用的动作的幅度超过特定幅度时,将无法实现修型效果,并且,当每个动画对象都采用skinmorph来制作时,制作成本高。



技术实现要素:

本申请提供一种动画对象的处理方法、装置、设备及存储介质,以解决现有技术中采用skinmorph来制作动画对象可能存在无法实现修型效果,并且制作成本高的问题。

第一方面,本申请实施例提供一种动画对象的处理方法,包括:

获取针对动画对象的目标部位的旋转指令;

响应于所述旋转指令,根据所述目标部位和第一辅助物体之间的旋转约束,控制所述第一辅助物体运动,其中,所述第一辅助物体设于所述目标部位与所述动画对象其他部位之间的关节处;

根据所述第一辅助物体和第二辅助物体之间的父子关系,控制第二辅助物体运动,其中,所述第二辅助物体设置在修型骨骼的尾骨骼上,所述修型骨骼设置在所述目标部位上,且所述修型骨骼与所述目标部位之间存在父子关系;

根据所述第二辅助物体和所述修型骨骼之间的约束关系,对所述修型骨骼进行伸缩处理;

根据处理后的修型骨骼进行蒙皮操作,得到蒙皮后的动画对象。

进一步地,所述获取针对动画对象的目标部位的旋转指令之前,还包括:

创建所述第一辅助物体,并将所述第一辅助物体设置在所述目标部位与所述动画对象其他部位之间的关节处;

创建所述修型骨骼,并将所述修型骨骼设置在所述目标部位上;

创建所述第二辅助物体,并将所述第二辅助物体设置在所述修型骨骼的尾骨骼上;

建立所述第一辅助物体与所述第二辅助物体之间的父子关系、所述修型骨骼与所述目标部位之间的父子关系,以及所述第二辅助物体与所述修型骨骼之间的约束关系。

进一步地,所述目标部位和第一辅助物体之间的旋转约束包括:所述第一辅助物体跟随所述目标部位旋转的约束关系。

进一步地,所述建立所述第一辅助物体与所述第二辅助物体之间的父子关系,包括:

建立以所述第一辅助物体为父、所述第二辅助物体为子的父子关系。

进一步地,所述建立所述修型骨骼与所述目标部位之间的父子关系,包括:

建立以所述目标部位为父、所述修型骨骼为子的父子关系。

进一步地,所述建立所述第二辅助物体与所述修型骨骼之间的约束关系,包括:

建立所述第二辅助物体对所述修型骨骼的位置约束关系和/或注视约束关系。

进一步地,所述根据所述第二辅助物体和所述修型骨骼之间的约束关系,对所述修型骨骼进行伸缩处理,包括:

根据所述第二辅助物体的运动,以及所述第二辅助物体和所述修型骨骼之间的约束关系,控制所述修型骨骼进行位移;

根据所述修型骨骼的位移对所述修型骨骼进行伸缩处理。

进一步地,根据所述修型骨骼的位移对所述修型骨骼进行伸缩处理,包括:

复制所述修型骨骼,并将复制得到的修型骨骼设置在所述目标部位上,其中,所述修型骨骼和所述复制得到的修型骨骼位置重合;

通过脚本控制器,将所述修型骨骼的位移值转换成所述复制得到的修型骨骼的缩放值;

根据所述缩放值对所述修型骨骼进行伸缩处理。

进一步地,所述将所述第一辅助物体设置在所述目标部位与所述动画对象其他部位之间的关节处,包括:

将所述第一辅助物体以轴心对齐的方式设置在所述目标部位与所述动画对象其他部位之间的关节处。

进一步地,所述修型骨骼为bone骨骼。

进一步地,所述方法还包括:

接收用于对所述修型骨骼添加肌肉的指令,并根据所述指令给所述修型骨骼添加肌肉。

第二方面,本申请实施例提供一种动画对象的处理装置,包括:

获取模块,用于获取针对动画对象的目标部位的旋转指令;

处理模块,用于响应于所述旋转指令,根据所述目标部位和第一辅助物体之间的旋转约束,控制所述第一辅助物体运动,其中,所述第一辅助物体设于所述目标部位与所述动画对象其他部位之间的关节处;

根据所述第一辅助物体和第二辅助物体之间的父子关系,控制第二辅助物体运动,其中,所述第二辅助物体设置在修型骨骼的尾骨骼上,所述修型骨骼设置在所述目标部位上,且所述修型骨骼与所述目标部位之间存在父子关系;

根据所述第二辅助物体和所述修型骨骼之间的约束关系,对所述修型骨骼进行伸缩处理;

根据处理后的修型骨骼进行蒙皮操作,得到蒙皮后的动画对象。

进一步地,所述处理模块还用于:

创建所述第一辅助物体,并将所述第一辅助物体设置在所述目标部位与所述动画对象其他部位之间的关节处;

创建所述修型骨骼,并将所述修型骨骼设置在所述目标部位上;

创建所述第二辅助物体,并将所述第二辅助物体设置在所述修型骨骼的尾骨骼上;

建立所述第一辅助物体与所述第二辅助物体之间的父子关系、所述修型骨骼与所述目标部位之间的父子关系,以及所述第二辅助物体与所述修型骨骼之间的约束关系。

进一步地,所述目标部位和第一辅助物体之间的旋转约束包括:所述第一辅助物体跟随所述目标部位旋转的约束关系。

进一步地,所述处理模块具体用于:

所述建立所述第一辅助物体与所述第二辅助物体之间的父子关系,包括:

建立以所述第一辅助物体为父、所述第二辅助物体为子的父子关系。

进一步地,所述处理模块具体用于:

建立以所述目标部位为父、所述修型骨骼为子的父子关系。

进一步地,所述处理模块具体用于:

建立所述第二辅助物体对所述修型骨骼的位置约束关系和/或注视约束关系。

进一步地,所述处理模块具体用于:

根据所述第二辅助物体的运动,以及所述第二辅助物体和所述修型骨骼之间的约束关系,控制所述修型骨骼进行位移;

根据所述修型骨骼的位移对所述修型骨骼进行伸缩处理。

进一步地,所述处理模块具体用于:

复制所述修型骨骼,并将复制得到的修型骨骼设置在所述目标部位上,其中,所述修型骨骼和所述复制得到的修型骨骼位置重合;

通过脚本控制器,将所述修型骨骼的位移值转换成所述复制得到的修型骨骼的缩放值;

根据所述缩放值对所述修型骨骼进行伸缩处理。

进一步地,所述处理模块具体用于:

将所述第一辅助物体以轴心对齐的方式设置在所述目标部位与所述动画对象其他部位之间的关节处。

进一步地,所述修型骨骼为bone骨骼。

进一步地,还包括:

接收模块,用于接收用于对所述修型骨骼添加肌肉的指令,所述处理模块还用于根据所述指令给所述修型骨骼添加肌肉。

第三方面,本申请实施例提供一种电子设备,包括:存储器和处理器,存储器中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行第一方面任一项所述的方法。

第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面任一项所述的方法。

本实施例提供的动画对象的处理方法、装置、设备及存储介质,包括:获取针对动画对象的目标部位的旋转指令,响应于旋转指令,根据目标部位和第一辅助物体之间的旋转约束,控制第一辅助物体运动,其中,第一辅助物体设于目标部位与动画对象其他部位之间的关节处,根据第一辅助物体和第二辅助物体之间的父子关系,控制第二辅助物体运动,其中,第二辅助物体设置在修型骨骼的尾骨骼上,修型骨骼设置在目标部位上,且修型骨骼与目标部位之间存在父子关系,根据第二辅助物体和修型骨骼之间的约束关系,对修型骨骼进行伸缩处理,根据处理后的修型骨骼进行蒙皮操作,得到蒙皮后的动画对象。本实施例具有如下有益效果:旋转目标部位时带动第一辅助物体运动,第一辅助运动时带动第二辅助物体运动,第二辅助物体运动时会使得修型骨骼进行伸缩,然后对伸缩后的修型骨骼进行蒙皮得到蒙皮后的动画对象,通过对伸缩后的修型骨骼进行蒙皮实现了对动画对象的修型,解决了在运动过程中目标部位与其他部位之间的关节处形体缺失的问题,和现有技术相比简化了修型步骤,降低了动画对象的制作成本。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例提供的动画对象的处理方法的流程示意;

图2为本申请实施例提供的一膝关节的示意;

图3为本申请实施例提供的另一膝关节的示意;

图4为本申请实施例提供的肌肉效果的示意图;

图5为本申请实施例提供的一种动画对象的处理方法的流程示意;

图6为本申请实施例提供的另一种动画对象的处理方法的流程示意;

图7为本申请实施例提供的小腿的示意图;

图8为本申请实施例提供的动画对象的处理装置的结构示意;

图9为本申请实施例提供的一种电子设备的结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

现阶段,为了使3d游戏中的动画对象更加真实生动,通过融合变形(顶点动画)来处理关节处的修型和肌肉,具体地:用一套做好绑定,处理好权重的角色模型文件,然后给模型制作一些角度较大的特定动作,加入skinmorph命令,把某一个特定动作的骨骼加入skinmorph(需要注意的是一次只能对一个关节进行制作),然后直接调整模型的点,制作出自己想要的关节变形和肌肉效果。

然而,这种方式存在以下问题:一、这种方法制作必须在某一特定动作下进行,如果动作过大,关节处模型的点都重合在一起,制作人员不方便去制作关节的修型,制作时间较长,并且这种方法必须在特定动作下进行的,当动作超过这个动作的幅度,无法实现修型效果;二、如果每个动画对象都用skinmorph来制作修型和肌肉效果,制作成本高;三、现有的文件导出类型不支持该种方式制作的修型和肌肉效果的文件,即便能够导出,现有的游戏引擎也不支持该种方式制作的修型和肌肉效果。

针对上述问题,本申请提供了一种动画对象的处理方法,通过对伸缩后的修型骨骼进行蒙皮实现了对动画对象的修型,解决了在运动过程中目标部位与其他部位之间的关节处形体缺失的问题,和现有技术相比简化了修型步骤,降低了动画对象的制作成本。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图1为本申请实施例提供的动画对象的处理方法的流程示意,本实施例的执行主体可以为动画对象的处理装置,该处理装置可以集成在终端、服务器或者其它可以执行动画对象制作的设备中,本实施例对此不做限制。如图1所示,本实施例中的方法可以包括:

s101、获取针对动画对象的目标部位的旋转指令。

s102、响应于旋转指令,根据目标部位和第一辅助物体之间的旋转约束,控制第一辅助物体运动。

其中,动画对象为任意一款游戏中的任意一个运动的对象,目标部位为动画对象在运动时弯曲的部位,例如,大腿、小腿、大臂、小臂等,本实施例对此不做限制。

在实际应用中,当该动画对象运动时,例如,跑步,动画对象的小腿会出现弯曲,则目标部位为小腿。其中,小腿的弯曲实质上是小腿发生了旋转。通常,当小腿发生旋转时,小腿和大腿之间的膝关节处会存在形体缺失的问题,图2为本申请实施例提供的一膝关节的示意,如图2所示,小腿和大腿之间的膝关节200处的形体缺失,导致膝关节200处的形体不符合真实运动时的形态。

基于此,为了解决动画对象的小腿在弯曲时造成膝关节处形体缺失的问题,在本实施例中,获取针对目标部位的旋转指令,响应于该旋转指令,根据目标部位和第一辅助物体之间的旋转约束,控制第一辅助物体运动,其中,第一辅助物体设于目标部位与该动画对象其他部位之间的关节处。第一辅助物体用于辅助对关节处缺失的形体进行修型。

参考图2示例,第一辅助物体设置于大腿和小腿之间的膝关节处,目标部位和第一辅助物体之间具有旋转约束,当目标部位旋转时,根据目标部位和第一辅助物体之间的旋转约束,可以控制第一辅助物体运动。

其中,目标部位和第一辅助物体之间的旋转约束包括:第一辅助物体跟随目标部位旋转的约束关系。也就是说,当目标部位旋转时,第一辅助物体跟随第一辅助物体进行旋转。

s103、根据第一辅助物体和第二辅助物体之间的父子关系,控制第二辅助物体运动。

其中,第二辅助物体设置在修型骨骼的尾骨骼上,修型骨骼设置在目标部位上,且修型骨骼与目标部位之间存在父子关系。可选的,尾骨骼位于修型骨骼上靠近关节的一侧。

可选的,修型骨骼为bone骨骼。

针对父子关系,以一棵树为例,当树的主干动的时候,树的枝干也一定会动,当一阵风吹过的时候,枝干会跟随风运动,也即,枝干(即子)会随着主干(即父)的运动而运动,枝干也可以相对独立地运动,在3d游戏软件(如:3dmax)中,可以先选中子然后点击父子链接选项,再选中父,这样就建立了父子关系。

需要说明的是,由于旋转约束的优先级高于父子关系,则当目标部位旋转时,第一辅助物体会跟随运动,而修型骨骼不会跟随运动。这里涉及的修型骨骼和目标部位之间存在父子关系旨在说明修型骨骼和目标部位是绑定在一起的。

在本实施例中,当第一辅助物体运动时,根据第一辅助物体和第二辅助物体之间的父子关系,以第一辅助物体为父,以第二辅助物体为子,第二辅助物体跟随第一辅助物体运动。

s104、根据第二辅助物体和修型骨骼之间的约束关系,对修型骨骼进行伸缩处理。

s105、根据处理后的修型骨骼进行蒙皮操作,得到蒙皮后的动画对象。

其中,第二辅助物体和修型骨骼之间的约束关系包括位置约束关系和/或注视约束关系。

位置约束关系指的是当约束物体的位置发生变化时,被约束物体的位置也会发生相应的变化。注视约束指的是约束物体一直注视被约束物体,当被约束物体运动时,约束物体也会注视着被约束物体从而产生相应的变化。

在本实施例中,第二辅助物体为被约束物体、修型骨骼为约束物体,当第二辅助物体运动时,根据第二辅助物体和修型骨骼之间的约束关系,可以对修型骨骼进行伸缩处理,也即,随着第二辅助物体的运动,修型骨骼会发生拉伸或者缩短。

然后,根据处理后的修型骨骼进行蒙皮操作得到蒙皮后的动画对象,其中,这里的蒙皮操作指的是修型骨骼控制动画对象目标部位的外部轮廓,当修型骨骼发生拉伸或者缩短时,在蒙皮操作过程中可以通过绘制权重,控制目标部位的外部轮廓,从而当目标部位旋转时,可以将目标部位与该动画对象其他部位之间的关节处缺失的形体恢复到人体该有的状态。在图2实施例的基础上,图3为本申请实施例提供的另一膝关节的示意,如图3所示,小腿和大腿之间的膝关节300处的形体正常,符合人体真实运动时的形态。

在一种具体实现中,步骤s105具体包括:

a1、根据第二辅助物体的运动,以及第二辅助物体和修型骨骼之间的约束关系,控制修型骨骼进行位移;

a2、根据修型骨骼的位移对修型骨骼进行伸缩处理。

第二辅助物体运动时,根据第二辅助物体的运动,以及第二辅助物体和修型骨骼之间的约束关系,可以控制修型骨骼进行位移,然后根据修型骨骼的位移对修型骨骼进行伸缩处理,也即,当修型骨骼位移时,实质上修型骨骼发生了拉伸或者缩短。

进一步地,得到蒙皮后的动画对象,还可以制作肌肉效果,具体地:

接收用于对修型骨骼添加肌肉的指令,并根据该指令给修型骨骼添加肌肉。

得到蒙皮后的动画对象后,可以接收用户输入的用于对修型骨骼添加肌肉的指令,然后根据该指令给修型骨骼添加肌肉。

示例性地,修型骨骼为bone骨骼,可以通过如下方式给修型骨骼添加肌肉:在3dmax中,打开bone骨骼系统面板,将修型骨骼的属性scale改为挤压squash,这样即可实现修型骨骼的肌肉效果。由于修型骨骼和目标部位绑定在一起,则也实现了动画对象目标部位的肌肉效果。图4为本申请实施例提供的肌肉效果的示意图,如图4所示,目标部位为小腿,给小腿上的修型骨骼制作肌肉效果后,使得动画对象看上去更加丰富、形象。

本实施例提供的动画对象的处理方法,包括:获取针对动画对象的目标部位的旋转指令,响应于旋转指令,根据目标部位和第一辅助物体之间的旋转约束,控制第一辅助物体运动,其中,第一辅助物体设于目标部位与动画对象其他部位之间的关节处,根据第一辅助物体和第二辅助物体之间的父子关系,控制第二辅助物体运动,其中,第二辅助物体设置在修型骨骼的尾骨骼上,修型骨骼设置在目标部位上,且修型骨骼与目标部位之间存在父子关系,根据第二辅助物体和修型骨骼之间的约束关系,对修型骨骼进行伸缩处理,根据处理后的修型骨骼进行蒙皮操作,得到蒙皮后的动画对象。本实施例具有如下有益效果:旋转目标部位时带动第一辅助物体运动,第一辅助运动时带动第二辅助物体运动,第二辅助物体运动时会使得修型骨骼进行伸缩,然后对伸缩后的修型骨骼进行蒙皮得到蒙皮后的动画对象,通过对伸缩后的修型骨骼进行蒙皮实现了对动画对象的修型,解决了在运动过程中目标部位与其他部位之间的关节处形体缺失的问题,和现有技术相比简化了修型步骤,降低了动画对象的制作成本。

在上述实施例的基础上,图5为本申请实施例提供的一种动画对象的处理方法的流程示意,如图5所示,根据修型骨骼的位移对修型骨骼进行伸缩处理,具体包括:

s201、复制修型骨骼,并将复制得到的修型骨骼设置在目标部位上。

s202、通过脚本控制器,将修型骨骼的位移值转换成复制得到的修型骨骼的缩放值。

s203、根据缩放值对修型骨骼进行伸缩处理。

在实际应用中,可能无法将上述方式制作出的动画对象可能加载至某些游戏引擎,这样因为,这些游戏引擎无法识别修型骨骼的位移值,因此,在本实施例中,为了适用于各种游戏引擎,则复制修型骨骼,并将复制得到的修型骨骼设置在目标部位上,其中,修型骨骼和复制得到的修型骨骼位置重合,然后通过脚本控制器编写代码,将修型骨骼的位移值转换成复制得到的修型骨骼的缩放值。接着,采用转换得到的缩放值对修型骨骼进行伸缩处理。

需要说明的是,复制得到的修型骨骼和目标部位具有父子关系。

本实施例提供的动画对象的处理方法,包括:复制修型骨骼,并将复制得到的修型骨骼设置在目标部位上,通过脚本控制器,将修型骨骼的位移值转换成复制得到的修型骨骼的缩放值,根据缩放值对修型骨骼进行伸缩处理。本实施例具有如下有益效果:通过复制修型骨骼,并将修型骨骼的位移值转换成缩放值,然后采用缩放值对修型骨骼进行伸缩处理,通过该方式制作的动画对象适用于各种游戏引擎。

在上述实施例的基础上,图6为本申请实施例提供的另一种动画对象的处理方法的流程示意,如图6所示,获取针对动画对象的目标部位的旋转指令之前,还包括如下步骤:

s301、创建第一辅助物体,并将第一辅助物体设置在目标部位与动画对象其他部位之间的关节处。

其中,目标部位可以为动画对象的任意一个身体部位,例如:大腿、小腿、大臂、小臂等。

第一辅助物体用于辅助对动画对象进行修型,在3d游戏软件(如:3dmax)中可以创建第一辅助物体。具体地,采用3dmax打开一个动画对象,然后创建第一辅助物体,并将第一辅助物体设置在动画对象的目标部位和其它部位之间的关节处,具体地,将第一辅助物体以轴心对齐的方式设置在目标部位与动画对象其他部位之间的关节处。

其中,轴心对齐的方式指的是第一辅助物体的坐标系和目标部位的坐标系完全重合,第一辅助物体的轴心和膝关节的轴心重合。

s302、创建修型骨骼,并将修型骨骼设置在目标部位上。

在本实施例中,可以在3dmax中创建修型骨骼,并将修型骨骼设置在目标部位上,其中,修型骨骼用于对动画对象进行修型,修型骨骼具有尾骨骼,尾骨骼位于修型骨骼上靠近关节的一侧。

可选的,修型骨骼为bone骨骼。

作为一种示例,在3dmax中,设有“骨骼创建”选项,用户可以选择“骨骼创建”,这样电子设备可接收到该创建指令,进而执行创建修型骨骼,接着还可以将修型骨骼设置在目标部位上。

s303、创建第二辅助物体,并将第二辅助物体设置在修型骨骼的尾骨骼上。

创建修型骨骼后,还可以在3dmax中创建第二辅助物体,并将第二辅助物体设置在修型骨骼的尾骨骼上,具体地,以轴心对齐的方式设置在修型骨骼的尾骨骼上,也即,第二辅助物体的轴心和尾骨骼的轴心重合。第一辅助物体用于辅助对动画对象进行修型。

示例性地,图7为本申请实施例提供的小腿的示意图,如图7所示,第一辅助物体700设置在小腿和大腿之间的膝关节处,修型骨骼701设在小腿上,且修型骨骼701的尾骨骼7011靠近膝关节,第二辅助物体702设置在尾骨骼上。当然,图7只是示例性说明修型骨骼701、第一辅助物体700以及第二辅助物体702的形状以及在小腿上的位置,本实施例不以此为限。

s304、建立第一辅助物体与第二辅助物体之间的父子关系、修型骨骼与目标部位之间的父子关系,以及第二辅助物体与修型骨骼之间的约束关系。

具体地,建立以目标部位为父、修型骨骼为子的父子关系,以及建立以第一辅助物体为父、第二辅助物体为子的父子关系。

在3d游戏软件(如:3dmax)中,在建立父子关系时,可以先选中子然后点击父子链接选项,再选中父,这样就建立了父子关系。

其中,建立第二辅助物体与修型骨骼之间的约束关系,包括:

建立第二辅助物体对修型骨骼的位置约束关系和/或注视约束关系。

其中,位置约束关系指的是当约束物体的位置发生变化时,被约束物体的位置也会发生相应的变化。注视约束指的是约束物体一直注视被约束物体,当被约束物体运动时,约束物体也会注视着被约束物体从而产生相应的运动。在本实施例中,第二辅助物体为被约束物体、修型骨骼为约束物体。

在3dmax中,可以设有“位置约束”、“注视约束”的选项,用户可以选中第二辅助物体然后选中“位置约束”,再选中修型骨骼,这样就建立了第二辅助物体为被约束物体、修型骨骼为约束物体的位置约束关系。

类似地,选中第二辅助物体然后选中“注视约束”,再选中修型骨骼,这样就建立了第二辅助物体为被约束物体、修型骨骼为约束物体的注视约束关系。

需要说明的是,在选中“注视约束”时,可以选择upnodecontrol下的lookat,这样可以避免目标部位旋转时,修型骨骼突然进行180度反转。

本实施例提供的动画对象的处理方法,包括:创建第一辅助物体,并将第一辅助物体设置在目标部位与所述动画对象其他部位之间的关节处,创建修型骨骼,并将所述修型骨骼设置在目标部位上,创建第二辅助物体,并将第二辅助物体设置在修型骨骼的尾骨骼上,建立第一辅助物体与第二辅助物体之间的父子关系、修型骨骼与目标部位之间的父子关系,以及第二辅助物体与修型骨骼之间的约束关系。本实施例具有如下有益效果:引入辅助物体、修型骨骼,并建立辅助物体与修型骨骼之间的约束关系、父子关系,从而简化了动画对象的修型步骤,降低了动画对象的制作成本。

在上述实施例的基础上,下面以一个具体示例对本技术方案进行说明。在该示例中,分别将大腿和小腿确定为目标部位,对于大腿来说,小腿为其它部位,对于小腿来说,大腿为其它部位,具体包括:

(1)、打开一个用3dmax制作的动画对象,在3dmax中创建一个point辅助物体,并将名字改为第一辅助物体(help_l_calf_muscle)。

(2)、把第一辅助物体用3dmax自带的对齐工具按照轴心对齐的方式把旋转和位移都对齐到动画对象的大腿和小腿之间的膝关节处。

(3)、用第一辅助物体分别对大腿和小腿进行旋转约束。

具体地,将第一辅助物体作为约束物体,大腿、小腿作为被约束物体,分别采用第一辅助物体对大腿进行旋转约束,以及采用第一辅助物体对小腿进行旋转约束。

在3dmax中可以先选中被约束物体然后点击旋转约束选项,再选中约束物体,这样就建立了旋转约束。

(4)、在3dmax中,点击骨骼创建选项创建具有尾骨骼的bone骨骼,并将bone骨骼的名字改为第一修型骨骼(bone_up_l_calf_muscle),将尾骨骼的名字改为第一尾骨骼(bone_up_l_calf_muscle_end)。

(5)、复制bone_up_l_calf_muscle、bone_up_l_calf_muscle_end,分别更改名字为第二修型骨骼(bone_down_l_calf_muscle)、第二尾骨骼(bone_down_l_calf_muscle_end)。

(6)、将第一修型骨骼设置在大腿上,将第二修型骨骼设置在小腿上。

(7)、在3dmax中,创建两个point辅助物体,并分别更改名字为第二辅助物体1(help_up_l_calf_muscle_end)、第二辅助物体2

(help_down_l_calf_muscle_end),然后把第二辅助物体1以轴心对齐的方式对齐到第一尾骨骼上,以及将第二辅助物体2以轴心对齐的方式对齐到第二尾骨骼上。

(8)、建立第一修型骨骼和第二辅助物体1之间的约束关系,以及第二修型骨骼和第二辅助物体2之间的约束关系。

其中,该约束关系包括位置(position)约束和注视(lookat)约束,在3dmax中,在选中“注视约束”时,可以选择upnodecontrol下的lookat,这样可以避免目标部位旋转时,修型骨骼突然进行180度反转。

(9)、分别建立第一修型骨骼和大腿之间的父子关系、第二修型骨骼和小腿之间的父子关系,以及第一辅助物体与第二辅助物体1之间的父子关系、第一辅助物体与第二辅助物体2之间的父子关系。

(10)、复制第一修型骨骼、第二修型骨骼,并将复制得到的骨骼分别该名为第三修型骨骼(ref_bone_up_l_calf_muscle)、第四修型骨骼(ref_bone_down_l_calf_muscle),第三修型骨骼的尾骨骼为第三尾骨骼(ref_bone_up_l_calf_muscle_end)、第四修型骨骼的尾骨骼为第四尾骨骼(ref_down_l_calf_muscle_end)。

(11)分别在第三修型骨骼、第四修型骨骼的缩放控制器增加一个脚本(scalescript)控制器,并且在脚本控制器下加入相应的代码,以实现将第一修型骨骼的的位移值转换成第三修型骨骼的缩放值,将第二修型骨骼的的位移值转换成第四修型骨骼的缩放值。

(12)、建立第三修型骨骼和大腿之间的父子关系,并第四修型骨骼和小腿之间的父子关系,以及分别根据第三修型骨骼、第四修型骨骼进行蒙皮操作,得到蒙皮后的动画对象。

(13)、制作肌肉效果时,需要打开bone骨骼系统面板,将第一修型骨骼和第二修型骨骼的属性scale调整为squash。

图8为本申请实施例提供的动画对象的处理装置的结构示意,如图8所示,本实施例的装置,可以包括:

获取模块80,用于获取针对动画对象的目标部位的旋转指令;

处理模块81,用于响应于所述旋转指令,根据所述目标部位和第一辅助物体之间的旋转约束,控制所述第一辅助物体运动,其中,所述第一辅助物体设于所述目标部位与所述动画对象其他部位之间的关节处;

根据所述第一辅助物体和第二辅助物体之间的父子关系,控制第二辅助物体运动,其中,所述第二辅助物体设置在修型骨骼的尾骨骼上,所述修型骨骼设置在所述目标部位上,且所述修型骨骼与所述目标部位之间存在父子关系;

根据所述第二辅助物体和所述修型骨骼之间的约束关系,对所述修型骨骼进行伸缩处理;

根据处理后的修型骨骼进行蒙皮操作,得到蒙皮后的动画对象。

进一步地,所述处理模块81还用于:

创建所述第一辅助物体,并将所述第一辅助物体设置在所述目标部位与所述动画对象其他部位之间的关节处;

创建所述修型骨骼,并将所述修型骨骼设置在所述目标部位上;

创建所述第二辅助物体,并将所述第二辅助物体设置在所述修型骨骼的尾骨骼上;

建立所述第一辅助物体与所述第二辅助物体之间的父子关系、所述修型骨骼与所述目标部位之间的父子关系,以及所述第二辅助物体与所述修型骨骼之间的约束关系。

进一步地,所述目标部位和第一辅助物体之间的旋转约束包括:所述第一辅助物体跟随所述目标部位旋转的约束关系。

进一步地,所述处理模块81具体用于:

所述建立所述第一辅助物体与所述第二辅助物体之间的父子关系,包括:

建立以所述第一辅助物体为父、所述第二辅助物体为子的父子关系。

进一步地,所述处理模块具体用于:

建立以所述目标部位为父、所述修型骨骼为子的父子关系。

进一步地,所述处理模块81具体用于:

建立所述第二辅助物体对所述修型骨骼的位置约束关系和/或注视约束关系。

进一步地,所述处理模块81具体用于:

根据所述第二辅助物体的运动,以及所述第二辅助物体和所述修型骨骼之间的约束关系,控制所述修型骨骼进行位移;

根据所述修型骨骼的位移对所述修型骨骼进行伸缩处理。

进一步地,所述处理模块81具体用于:

复制所述修型骨骼,并将复制得到的修型骨骼设置在所述目标部位上,其中,所述修型骨骼和所述复制得到的修型骨骼位置重合;

通过脚本控制器,将所述修型骨骼的位移值转换成所述复制得到的修型骨骼的缩放值;

根据所述缩放值对所述修型骨骼进行伸缩处理。

进一步地,所述处理模块81具体用于:

将所述第一辅助物体以轴心对齐的方式设置在所述目标部位与所述动画对象其他部位之间的关节处。

进一步地,所述修型骨骼为bone骨骼。

进一步地,还包括:

接收模块82,用于接收用于对所述修型骨骼添加肌肉的指令,所述处理模块还用于根据所述指令给所述修型骨骼添加肌肉。

本实施例的动画对象的处理装置,可以执行图1所示方法中的技术方案,其具体实现过程和技术原理参见上述方法中的相关描述,此处不再赘述。

图9为本申请实施例提供的一种电子设备的结构示意图,如图9所示,本实施例的电子设备可以包括:存储器90和处理器91:

存储器90,用于存储计算机程序(如实现上述方法的应用程序、功能模块等)、计算机指令等;

上述的计算机程序、计算机指令等可以分区存储在一个或多个存储器90中。并且上述的计算机程序、计算机指令、数据等可以被处理器91调用。

处理器91,用于执行存储器90存储的计算机程序,以实现上述实施例涉及的方法中的各个步骤。

具体可以参见前面方法实施例中的相关描述。

处理器91和存储器90可以是独立结构,也可以是集成在一起的集成结构。当处理器91和存储器90是独立结构时,存储器90、处理器91可以通过总线92耦合连接。

本实施例的电子设备可以执行上述实施例的技术方案,其具体实现过程和技术原理参见上述方法中的相关描述,此处不再赘述。

此外,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现动画对象的处理方法。

其中,计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。另外,该asic可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

本申请还提供一种程序产品,程序产品包括计算机程序,计算机程序存储在可读存储介质中,服务器的至少一个处理器可以从可读存储介质读取计算机程序,至少一个处理器执行计算机程序使得服务器实施上述本申请实施例任一的方法。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1