【技术实现步骤摘要】
一种虚拟人物抓握目标物体动作的实现方法及系统
[0001]本专利技术涉及虚拟人物动作执行
,特别是一种虚拟人物抓握目标物体动作的实现方法及系统。
技术介绍
[0002]目前实现虚拟人物抓握物体的方法为使用的软件编辑的手部抓取动画。此方案缺点为需要人力进行动画编辑,和被抓取的物体尺寸必须标准化。否则使用同一个手部抓取动作,会产生穿帮的效果。
技术实现思路
[0003]为解决上述问题,本专利技术的目的是提供一种虚拟人物抓握目标物体动作的实现方法,实现虚拟人物抓握目标物体不穿帮。
[0004]本专利技术实施例中采用以下方案实现:提供一种虚拟人物抓握目标物体动作的实现方法,按照以下步骤实现:步骤S1、初始化,解析虚拟人物的人体骨骼,将骨骼记录的模型手掌紧握的最大极限值显示在模型上,然后将双手每一个手指关节骨骼的四元数旋转值记录下来;步骤S2、获取手指数据,在虚拟人物上查找绑定左手和右手的网格模型;遍历查找网格模型上所有绑定每一个手指关节骨骼的顶点,建立顶点字典以骨骼为Key将顶点根据骨骼分类存储起来;遍 ...
【技术保护点】
【技术特征摘要】
1.一种虚拟人物抓握目标物体动作的实现方法,包括其特征在于:按照以下步骤实现:步骤S1、初始化,解析虚拟人物的人体骨骼,将骨骼记录的模型手掌紧握的最大极限值显示在模型上,然后将双手每一个手指关节骨骼的四元数旋转值记录下来;步骤S2、获取手指数据,在虚拟人物上查找绑定左手和右手的网格模型;遍历查找网格模型上所有绑定每一个手指关节骨骼的顶点,建立顶点字典以骨骼为Key将顶点根据骨骼分类存储起来;遍历顶点字典中所有顶点的网格位置,获取每个顶点相对骨骼节点的相对位置;步骤S3、手指碰撞体计算,遍历顶点字典,计算获取手指每一个关节的半径和每一个关节的长度;根据获取的关节半径和长度,给每一节手指骨骼上建立圆柱型碰撞器;步骤S4、目标物体碰撞体计算,获取目标物体的网格;遍历网格顶点建立网格碰撞器;步骤S5、抓握动作计算,检测目标物体是否在可被抓取范围;在范围内则虚拟人物手掌张开至记录的最大极限值,虚拟人物手掌由最大极限值不断向最小极限值进行线性差值,当手指碰撞体与目标物体进行碰撞时,则该手指停止聚拢动作;直到所有手指都停止运动时,记录当前所有手指关节骨骼四元数旋转值作为抓握数据;步骤S6、抓握动作实现模块,将记录的抓握数据与当前动作根据设置的权重值进行差值处理;将处理后的数据应用至虚拟人物模型上。2.根据权利要求1所述的一种虚拟人物抓握目标物体动作的实现方法,其特征在于:所述步骤S1进一步具体为:解析虚拟人物的人体骨骼,模型手掌张开至骨骼记录的极限状态,记录模型手掌极限张开状态的手指关节骨骼的四元数旋转值;模型手掌握拳至骨骼记录的极限状态,记录手掌极限握拳状态的手指关节骨骼的四元数旋转值。3.根据权利要求1所述的一种虚拟人物抓握目标物体动作的实现方法,其特征在于:所述步骤S5进一步具体为,步骤S51、首先检测目标物体是否在可被抓取范围的范围内;步骤S52、若不在可抓取范围内,则结束计算;若在范围内则虚拟人物手掌张开至记录的最大极限值,进入下一步;步骤S53、虚拟人物手掌由最大极限值不断向最小极限值进行线性差值,当手指碰撞体与目标物体进行碰撞时,则该手指停止聚拢动作,进入下一步;步骤S54、判断所有的手指碰撞体是否都与目标物体碰撞停止运动;若还有手指碰撞体未与目标物体碰撞则重复步骤S53;若所有手指都停止运动时,记录当前所有手指关节骨骼四元数旋转值作为抓握数据。4.根据权利要求1所述的一种虚拟人物抓握目标物体动作的实现方法,其特征在于:所述步骤S6进一步具体为,抓握动作的权重值为1时则将处理后的数据应用再虚拟人物模型上;抓握动作权重值不为1时,则将记录的抓握数据与当前动作进行权重处理后应用再虚拟人物模型上。5.一种虚拟人物抓握目标物体动作的系统,其...
【专利技术属性】
技术研发人员:刘德建,王赫放,吴少林,陈宏展,
申请(专利权)人:福建天晴在线互动科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。