【技术实现步骤摘要】
一种动作资源风格转换方法及系统
[0001]本专利技术涉及角色动作风格转换
,特别是一种动作资源风格转换方法及系统。
技术介绍
[0002]现有技术在动作资源生产过程中对生产成本优化有限,仅减少少量基础动作资源的生产成本,动作资源的细调部分还需要大量的美术成本,无法实现动作资源自动转换为新风格动作资源。
技术实现思路
[0003]为克服上述问题,本专利技术的目的是提供一种能够通过对角色数据的识别生成更贴合当前角色的新风格动作资源风格类型的方法。
[0004]本专利技术采用以下方案实现:一种动作资源风格转换方法,所述方法基于角色数据来生成新风格动作资源,所述方法为:
[0005]输入角色数据,碰撞体管理模块将基于角色数据生成贴合角色模型的角色部件碰撞体集合,将角色数据进行识别,选择每个角色部件适配的碰撞体类型;
[0006]输入动作资源,动作资源处理模块读取动作资源帧数据加入动作资源帧数据队列中,从动作资源帧数据队列中读取一个动作资源帧数据并应用至新风格角色上;
[0007 ...
【技术保护点】
【技术特征摘要】
1.一种动作资源风格转换方法,其特征在于:所述方法基于角色数据来生成新风格动作资源,所述方法为:输入角色数据,碰撞体管理模块将基于角色数据生成贴合角色模型的角色部件碰撞体集合,将角色数据进行识别,选择每个角色部件适配的碰撞体类型;输入动作资源,动作资源处理模块读取动作资源帧数据加入动作资源帧数据队列中,从动作资源帧数据队列中读取一个动作资源帧数据并应用至新风格角色上;通过碰撞检测模块检测碰撞体管理模块中角色部件的碰撞情况,计算角色部件骨骼节点的目标位置;通过反向运动模块计算碰撞检测模块中角色部件骨骼节点目标位置并计算关联骨骼节点的目标位置;通过肌肉空间模块根据角色数据生成角色肌肉空间,包括根据反向运动模块中的骨骼节点目标位置更新肌肉空间数据,驱动角色骨骼节点运动呈现适配当前新风格角色的动作资源帧数据并记录;判断动作资源帧数据队列中是否还有其他动作资源帧数据,是,则通过动作资源处理模块生成新风格动作资源,否,则从动作资源帧数据队列中读取一个动作资源帧数据并应用至新风格角色上,实现通过角色数据来生成新风格动作资源。2.根据权利要求1所述的一种动作资源风格转换方法,其特征在于:所述碰撞体管理模块能够基于角色数据生成贴合角色模型的角色部件碰撞体集合,具体为:步骤S11、输入角色数据,读取角色骨骼节点,判断角色骨骼节点队列是否为空,是,则完成角色部件碰撞体集合生成;否,则从角色骨骼节点队列中读取一个骨骼节点;步骤S12、判断读取的骨骼节点是否为角色部件骨骼节点,是,则获取此角色部件骨骼节点的关联部件骨骼节点信息,将所有角色关联部件骨骼节点加入角色关联部件骨骼节点队列;否,判断角色骨骼节点队列中是否还有其他角色骨骼节点;步骤S13、判断角色骨骼节点队列中是否还有其他角色骨骼节点,是,则从角色骨骼节点队列中读取一个骨骼节点,否,完成角色部件碰撞体集合生成;步骤S14、判断角色关联部件骨骼节点队列是否为空,是,则判断角色骨骼节点队列中是否还有其他骨骼节点,否,则从角色关联部件骨骼节点队列中读取一个角色关联部件骨骼节点;步骤S15、获取角色骨骼节点与角色关联部件骨骼节点在角色蒙皮数据中关联的顶点与顶点权重数据加入顶点数据队列,从顶点数据队列删除小玉对应角色骨骼节点类型保留权重的顶点数据;步骤S16、从顶点数据队列删除零散的无效顶点数据,创建角色骨骼节点对应碰撞体类型的碰撞体,基于角色骨骼节点及角色关联部件骨骼节点数据计算并设置碰撞体中心位置;步骤S17、基于顶点数据队列计算并设置碰撞体大小与其他碰撞体参数,将创建的碰撞体加入角色部件碰撞体集合,判断角色关联部件骨骼节点队列中是否还有其他角色关联部件骨骼节点,是,则从角色关联部件骨骼节点队列中读取一个角色关联部件骨骼节点,否,则判断角色骨骼节点队列中是否还有其他角色骨骼节点。3.根据权利要求1所述的一种动作资源风格转换方法,其特征在于:所述动作资源处理模块能够将角色动作资源解析为动作资源帧数据队列,具体为:步骤S21、输入动作资源,创建一个动作资源帧数据队列;步骤S22、获取角色动作资源总帧数,记录当前帧数为0;步骤S23、判断当前帧数是否小于角色动作资源总帧数,是,则应用动作资源的当前帧状态,否,则返回动作资源帧数据队列;步骤S24、活的当前帧的动作资源数据并加入动作资源帧数据
队列,当前帧数加1,继续判断当前帧数是否小于动作资源总帧数。4.根据权利要求1所述的一种动作资源风格转换方法,其特征在于:所述动作资源处理模块通过适配当前风格模型的动作资源帧数据队列生成新风格动作资源,具体为:步骤S31、输入适配当前角色风格模型的动作资源帧数据队列,记录为新动作资源帧数据队列;步骤S32、创建一个新动作资源,判断新动作资源帧数据队列是否为空,是,则完成新风格动作资源生成,否,则从新动作资源帧数据队列中读取一个动作资源帧数据;步骤S33、将当前动作资源帧数据中的数据写入角色动作资源,判断新动作资源帧数据队列中是否还有其他动作资源帧数据,是,则从新动作资源帧数据队列中读取一个动作资源帧数据,否,则读取新动作资源的帧数据动作曲线队列;步骤S34、判断帧数据动作曲线队列是否为空,是,则完成新风格动作资源生成,否,则从帧数据动作曲线队列中读取一条帧数据动作曲线;步骤S35、将这条帧数据动作曲线上的帧数据按直线与二次贝塞尔曲线拟合后获得关键帧数据动作曲线,将关键帧数据动作曲线重新写入新动作资源;步骤S36、判断帧数据动作曲线队列中是否还有其他帧数据动作曲线,是,则从帧数据动作曲线队列中读取一跳帧数据动作曲线,否,则完成新风格动作资源生成。5.根据权利要求1所述的一种动作资源风格转换方法,其特征在于:所述碰撞体检测模块通过对角色部件碰撞体集合中的碰撞体碰撞情况检测,实现计算角色部件骨骼节点目标位置,具体为:步骤S41、输入播放动作姿势的角色数据,读取角色部件信息,将所有角色部件加入角色部件队列;步骤S42、判断角色部件是否为空,是,则完成角色部件骨骼节点的目标位置计算,否,则判断上一帧角色部件碰撞体集合数据是否为空;步骤S43、判断上一帧角色部件碰撞体集合数据是否为空,是,则记录当前角色部件碰撞体集合数据为上一帧角色部件碰撞体集合数据,完成角色部件骨骼节点的目标位置计算,否,则从角色部件队列中读取一个角色部件;步骤S44、获取此角色部件的碰撞体集合数据,从根碰撞体向末端碰撞体依次加入碰撞体队列;步骤S45、判断碰撞体队列是否为空,是,则判断角色部件队列中是否还有其他角色部件,否,则从碰撞体队列中读取一个碰撞体;步骤S46、判断角色部件队列中是否还有其他角色部件,是,则从角色部件队列中读取一个角色部件,否,则记录挡圈角色部件碰撞体集合数据为上一帧角色部件碰撞体集合数据;步骤S47、将此碰撞体与上一帧角色部件的碰撞体集合数据中非当前角色部件的碰撞体逐个进行碰撞检测;步骤S48、判断是否产生碰撞体集合,是,则将当前碰撞体关联的末端节点向上一帧位置移动至不产生碰撞,记录当前碰撞体关联的末端节点的目标位置为当前末端节点所在位置否,则记录当前碰撞体关联的末端节点的目标位置为当前末端节点所在位置;步骤S49、判断碰撞体队列中是否还有其他碰撞体,是,则从碰撞体队列中读取一个碰撞体,否,则判断角色部件队列中是否还有其他角色部件。6.根据权利要求1所述的一种动作资源风格转换方法,其特征在于:所述反向运动模块计算关联骨骼节点目标位置,具体为:步骤S51、输入播放动作姿势的角色数据与角色部件骨骼节点的目标位置,读取角色部件信息,将所有角色部件加入角色部件队列;步骤S52、判断角色部件队列是否为空,是,则完成关联骨骼节点目标位置计算,否,则判断上一帧角色部件骨骼节点的目标位置集合数据是否为空;步骤S53、判断上一帧角色部件骨骼节点的目标位置集合数据是否为空,是,则记录角色部件骨骼节点的目标位置集合数据为上一帧角色部件骨骼节点的目标位置集合数据,完成关联骨骼节点目标位置计算,否,从角色部件队
列中读取一个角色部件,记录当前角色部件的动作执行比重为100%,获取此角色部件的骨骼节点数据,从末端骨骼节点向根骨骼节点依次加入骨骼节点队列;步骤S54、判断骨骼节点队列是否为空,是,则判断角色部件队列中是否还有其他角色部件,否,则从骨骼节点队列中读取一个骨骼节点,获取骨骼节点当前位置、目标位置、上一帧位置,计算目标位置在上一帧位置到当前位置的比重;步骤S55、判断角色部件队列中是否还有其他角色部件,是,则从角色部件队列中读取一个角色部件,否,记录角色部件骨骼节点的目标位置集合数据为上一帧角色部件骨骼节点的目标位置集合数据;步骤S56、判断当前比重是否小于当前角色部件的动作执行比重,是,则更新当前角色部件的动作执行比重为当前比重,否,则向上一帧位置移动目标...
【专利技术属性】
技术研发人员:刘德建,温荣泉,陈宏展,
申请(专利权)人:福建天晴数码有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。