Bow and Arrow Rigging in Blender
Posted sztom
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bow and Arrow Rigging in Blender相关的知识,希望对你有一定的参考价值。
https://www.youtube.com/watch?v=jpsd0Aw1qvA
新建骨架,由如下图3部分组成:
- Bone.000.Top ~ Bone.015.Top (上半部分16节骨骼)
- Bone.016.Bot ~ Bone.031.Bot (下半部分16节骨骼)
- Bone (弦上的骨骼)
有了这3部分的骨架绑定到弓箭,作为父级,选择自动权重. 姿态模式下, 移动{Bone}(弦上的骨骼), 弦已经可以动了.
适当调整上面自动生成的顶点组后,
进入骨架编辑模式, 再增加如下图3部分骨骼.(在绑定弓箭后再新增的骨骼,不会参与形变了,若提前建立了,要去掉这3段骨骼属性里形变的勾选.)
添加另外3段控制骨骼,
- Bone.Top.ik (最上方的控制骨骼)
- BoneF (最前面的控制骨骼, 作为最初建立的3部分骨骼的父级)
- Bone.Bot.ik (最下方的控制骨骼)
添加父级关系: (选择新增的3段骨骼, [Alt P] 全都清除掉父关系;)
依次选择: Bone.Top.ik, Bone.Bot.ik, BoneF, [Ctrl P],选择保持形变.
依次选择: Bone弦, Bone.000.Top, Bone.016.Bot, BoneF [ctrl P] 选择保持形变.
添加约束:
选择最上面的形变骨骼{Bone.015.top}, [shift Ctrl C] 选择 {反向动力学IK}, 目标骨骼选择:Bone.Top.ik (最上方的控制骨骼) ; 链长:16;
选择最下面的形变骨骼{Bone.015.bot}, [shift Ctrl C] 选择 {反向动力学IK}, 目标骨骼选择:Bone.Bot.ik (最下方的控制骨骼) ; 链长:16;
{方案1}选择最上面的控制骨骼(Bone.Top.ik), [shift Ctrl C] 选择 {限定距离Limit Distance}, 目标骨骼选择: Bone (弦上的骨骼);
选择Bone,弦上的骨骼, 添加约束: 限制位移, Limit Location, Y 最小,最大值, 适当调整, 按照你画图的大小, 避免弦拉的过长.
现在拉弦(姿态模式下拉骨骼{Bone}), 上半部分的弓已经可以弯曲了. 因为{方案1}我们只做了上面骨骼的限定距离.
{方案2} 如图添加2段骨骼
Bone.Bot.Limit
Bone.Bot.Rot
[Alt P]清除各自的父级
添加父关系
依次选择: Bone.Bot.ik, Bone.Bot.Rot, [Ctrl P] 保持形变;
依次选择: Bone.Bot.Limit, Bone.Bot.Rot, BoneF, [Ctrl P] 保持形变;
添加约束:
选择: Bone.Bot.Limit [Shift Ctrl C] 选{Limit Distance} ,骨骼选 {Bone};
选择: Bone.Bot.Rot [Shift Ctrl C] 选{Track To} ,骨骼选 {Bone.Bot.Limit}, 勾选{目标Z};
现在拉弦(姿态模式下拉骨骼{Bone}):
方案1, 在拉弦时, 弓的形变有时会稍有向前方形变;
方案2, 添加了Bone.Bot.Rot, 作为 Bone.Bot.ik的父级, 在ik形变时多了一个内部旋转轴,就不会向外形变了.
以上是关于Bow and Arrow Rigging in Blender的主要内容,如果未能解决你的问题,请参考以下文章
UVA 11748 - Rigging Elections(dfs)
[Unity] 使用 Animation Rigging 制作瞄准 IK 1
python使用matplotlib可视化使用annotate函数以及arrowprops参数在可视化图像中添加箭头和文本注释(arrow and text annotation)