[发明专利]一种基于命令流三维角色的动画合成方法有效
申请号: | 201610910423.6 | 申请日: | 2016-10-19 |
公开(公告)号: | CN106548503B | 公开(公告)日: | 2019-07-05 |
发明(设计)人: | 高岩;张健 | 申请(专利权)人: | 华东师范大学 |
主分类号: | G06T13/40 | 分类号: | G06T13/40 |
代理公司: | 上海蓝迪专利商标事务所(普通合伙) 31215 | 代理人: | 徐筱梅;张翔 |
地址: | 200241 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于命令流的三维角色动画合成方法,该方法首先将角色动作模型依据移动状态、全身姿态和上身姿态分类描述;并根据动作分类的组合关系表,预制作具体的三维动画文件;搭建分布式客户机/服务器网络模型,制定数据报传输的协议规范;客户机解析服务器传来的命令数据流后,查找动作分类的组合关系表,获得相关的动作文件,运动混合且对角色的位置朝向插值后合成新的动画序列。本发明能够逼真的再现虚拟战场环境种虚拟士兵不同动作间的自动转换,同时支持虚拟角色的位置和朝向的平滑插值更新,避免了繁琐的命令控制过程和动作之间的组合爆炸问题,动作切换平滑、自然,可广泛用于各虚拟战场中,因此本发明具有一定的应用价值。 | ||
搜索关键词: | 一种 基于 命令 三维 角色 动画 合成 方法 | ||
【主权项】:
1.一种基于命令流的三维角色动画合成方法,其特征在于包括以下步骤:(1)首先将角色动作模型按移动状态、全身姿态和上身姿态分类描述;(2)构建动作分类的组合关系表,并制作具体的三维动画文件,要求动画之间共享同一骨架、模型;(3)搭建socket通信的客户机和服务器模型,并制定数据传输的协议规范;(4)客户机解析服务器传来的命令数据流,得到角色ID、时间戳、移动状态索引、全身姿态索引和上身姿态索引;(5)根据角色ID,查找到相应的角色;根据命令中的运动类型,查找动作分类的组合关系表,获得相关的运动文件序列;(6)对步骤(5)所确定角色的运动文件序列作运动混合;(7)根据时间戳和刷新帧率,对运动混合的结果姿态插值播放;其中:所述客户机根据数据包格式规范,解析服务器传来的命令数据流,获得角色ID,记录当前时间戳即T1时刻角色所在的位置P1、朝向D1、移动状态索引Move1、全身姿态索引Pose1和上身姿态索引ArmPose1,并保存下一时间戳即T2时刻角色所在的位置P2、朝向D2、移动状态索引Move2、全身姿态索引Pose2和上身姿态索引ArmPose2;所述运动文件序列生成包括以下具体步骤:(A1)判断当前状态Move1、Pose1、ArmPose1与下一时刻状态Move2、Pose2、ArmPose2是否相同,未发生改变,则结束;否则,进行下一步;(A2)判断Move1与Move2是否相同,是则转步骤(A4);否则,进行下一步;(A3)根据状态Move2查询周期动作分类组合关系表输出相应的动画文件到CycleAnimList中;(A4)判断ArmPose1与ArmPose2是否相同,是则转步骤(A9);否则,进行下一步;(A5)判断ArmPose1是否为持枪状态,且ArmPose2是否为空手、瞄准、投掷、工程作业、攀爬等五种状态,是则转下一步;否则,转步骤(A7);(A6)根据Pose2的状态即站姿、跪姿或卧姿分别从辅助动作表输出动画文件—站立放回武器动作、半蹲放回武器动作或卧姿放回武器动作到ActionAnimList中;转步骤(A9);(A7)判断ArmPose2是否为持枪状态,且ArmPose1是否为空手、瞄准、投掷、工程作业、攀爬五种状态,是则转下一步;否则,转步骤(A9);(A8)根据Pose2的状态即站姿、跪姿或卧姿分别从辅助动作表输出动画文件—站立取出武器动作、半蹲取出武器动作或卧姿取出武器动作到ActionAnimList中;(A9)根据状态Move2、Pose2、ArmPose2查询动作分类组合关系表输出相应的动画文件到ActionAnimList中;所述对角色的运动文件序列作运动混合包括以下具体步骤:(B1)对ActionAnimList中的所有动作采用直接过渡的方式连接,连接结果记为Anim1,采用淡入淡出的过渡函数对前后两个运动片断进行融合;(B2)采用单调递减函数α=cos(t/T)对前一个运动片断作淡出处理,其中t∈[0,T],T为用户指定的过渡时间;(B3)采用单调递增函数β=1‑cos(t/T)对后一个运动片断作淡入处理,其中t∈[0,T],T为用户指定的过渡时间;(B4)对CycleAnimList中的所有动作采用加权平均的方式融合,连接结果记为Anim2;(B5)对Anim1和Anim2采用加权平均的方式融合,得到结果Anim;所述对运动混合的结果姿态插值播放包括以下具体步骤:(C1)利用角色当前时间戳T1所在位置P1和下一时间戳T2所在位置P2,采用线性插值函数计算下一帧角色所在位置P;(C2)计算位置所采用的线性插值函数为:
其中f为运行帧率,n为当前时刻所在帧号;当P到达P2位置,n重新清零;(C3)利用角色当前时间戳T1的朝向D1和下一时间戳T2的朝向D2,采用线性插值函数计算下一帧角色的朝向D;(C4)计算朝向所采用的线性插值函数为:
其中f为运行帧率,n为当前时刻所在帧号,Tdur为用户设置的旋转过渡时间;当D到达D2朝向,n重新清零。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华东师范大学,未经华东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201610910423.6/,转载请声明来源钻瓜专利网。
- 上一篇:一种光阻法成像仪的前端信号调理电路
- 下一篇:检测装置、检测模块及检测方法