【Maya绑定】FK骨架拉伸实现思路——基于2020新特性

此笔记仅为个人平时积累之用,描述并非专业,如有错误恳请指正

前言

我们在上一节【Maya绑定】三点式IK骨架的比例拉伸的实现思路中,实现三点式IK关节的拉伸。IK关节的控制器只有一个(在wrist处,呈现的是父约束),因此我们计算了各段骨长实现拉伸效果。
FK关节拉伸三段控制器,三段控制器的transform节点中的局部变换矩阵Matrix记录了控制器的自己的变换信息,因此不必计算各段骨长。
在这里插入图片描述

  • 如何移动控制器
    我们可以将父级控制器的定位器locator**(定位器是不包含旋转的改变)**去定位子关节的位置,其Matrix传递给子控制器的parentOffsetMatrix,这样在拉伸的关节的过程中,定位器在移动,控制器也会跟随移动,但不会影响显性的变换。
    parentOffsetMatrix为maya2020新特性,为隐性变换。
  • 为什么要专门制作FK拉伸机制
    控制器使用父约束之类可以改变driven位置,为什么还专门去添加这种看似无意义的举动。
    为了方便说明,可以看两种示例:
    情况1,直接使用控制器进行拉伸:
    在这里插入图片描述
    情况2,使用增加的属性stretch比例因子:
    在这里插入图片描述
    这两个例子,区别在于控制器是否保持归零状态。 如果一段关节已经增加了控制器,但想要修改关节位置,正常思路是移动关到预期位置,控制器解除约束,控制器冻结,重新约束。第二种情况则有效避免了这样的情况发生,并且能实现不同比例模型的复用。上一节的目的也是如此。

关节和其控制器层级关系

在这里插入图片描述
↑上图大纲选中内容展示的是关节以及关节的定位器。关节的定位器定位了其子关节相对于父关节的相对位置,因此我们把定位器命名为“关节名称_OFF_LOC”代表了子关节的相对位置(记两段原始骨长为L1,L2)
在这里插入图片描述
↑上图大纲选中内容展示的是控制器的层级关系。控制器与关节是点约束关系,但我们在节点编辑器中将控制器的rotate与关节的rotate进行相连。也就是说关节原则上是根据控制器移动和旋转。

伪代码实现

# stretch the bone
shoulder_FK.scaleX = shoulder_FK_CTRL.stretch * shoulder_FK.scaleX
elbow_FK.scaleX = elbow_FK_CTRL.stretch * elbow_FK.scaleX

# translate the off_loc
shoulder_FK_OFF_LOC.transX = shoulder_FK_CTRL.stretch * L1 # at elbow
elow_FK_OFF_LOC.transX = elbow_FK_CTRL.stretch * L2 # at wrist 

# fill the parentOffsetMatrix of the Ctrl
elbow_CTRL.parentOffsetMatrix=shoulder_FK_OFF_LOC.matrix
wrist_CTRL.parentOffsetMatrix=elbow_FK_OFF_LOC.matrix

可使用的节点:multDoubleLinear

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
卡通面部绑定是一种在Maya中使用骨骼和约束来控制卡通角色面部表情的技术。根据引用\[1\]和引用\[2\]的描述,可以使用以下步骤进行卡通面部绑定: 1. 复制前半身骨骼,并删除多余的部分。调整脊椎部分的半径使其更大。 2. 为原始骨骼创建IK样条手柄,并自动创建曲线,跨度设置为4。 3. 在选择模式下选择簇曲线。选中所有簇点,并加选大骨骼的根骨骼,进行父子约束。 4. 将簇点的轴心捕捉到关节上,除了在骨骼上的簇点。 5. 从右往左,从第二个开始,选中大骨骼关节和加选簇点,进行父子约束。最后一个关节同时与簇点7和6进行父子约束。 6. 选中簇点1,加选2,进行父子约束。 通过以上步骤,可以实现当最前面的骨骼旋转时,后面的骨骼会跟随旋转,从而达到逐渐覆盖眼球的效果。这样可以实现卡通角色的眨眼动画效果。\[2\] 如果你对卡通面部绑定有更多的学习需求,可以参考引用\[3\]中提到的资源和教学。 #### 引用[.reference_title] - *1* [maya绑定操作](https://blog.csdn.net/CTW2000/article/details/129326229)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Maya制作卡通眨眼眼皮绑定技巧](https://blog.csdn.net/T846815793/article/details/127389042)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值