在IK链中实现拉伸效果之早古方法

本文介绍了如何在Maya中通过IK链来实现骨骼的拉伸效果。通过获取曲线的长度信息,利用数学公式调整骨骼的缩放比例,以确保骨骼随曲线同步伸缩。文章详细阐述了获取曲线长度的方法以及设置骨骼缩放的两种方式,包括使用表达式和multiplyDivide节点,并提及了如何结合指数函数实现体积变化。
摘要由CSDN通过智能技术生成


在构建身体骨骼绑定的时候,手脚腰腹部都对绑定有拉伸效果的需求,在此总结一个很古早的拉伸实现方法,利用骨骼的单轴向的缩放实现IK链的拉伸效果。

原理

在IK链中,我们通过对ik曲线的控制来控制骨骼的运动来实现,所以我们需要做的就是在曲线伸缩的同时使骨骼也同步伸缩,此时我们就可以利用曲线的长度的变化来确认骨骼缩放的倍数,只需运用如下的数学公式:
joint scale = current curve length / original curve length

实现

获取曲线的长度信息

选择曲线并运行下列mel语句,给曲线添加一个节点 curveInfo:

arclen -ch 1;

然后选择此节点,打开属性编辑器,就可以看见 Arc Length 属性;
在这里插入图片描述

设置骨骼的缩放

在这里有两种方法可以实现:
1.写表达式:
假设缩放的轴向为X轴,并已知曲线原始长度为18.432

//Curve Scale Expression
float $scale = curveInfo1.arcLength / 18.432;
back_1_joint.scaleX = $scale;
back_2_joint.scaleX = $scale;
back_3_
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值