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形变时多了一个内部旋转轴,就不会向外形变了.

原文地址:https://www.cnblogs.com/sztom/p/9874108.html

时间: 2024-10-17 21:56:26

Bow and Arrow Rigging in Blender的相关文章

Spring(3.2.3) - Beans(2): 属性注入 & 构造注入

依赖注入是指程序运行过程中们如果需要另外的对象协作(访问它的属性或调用它的方法)时,无须在代码中创建被调用者,而是依赖于外部容器的注入. 属性注入(Setter Injection) 属性注入是指 IoC 容器使用 Bean 属性的 setter 方法来注入 Bean 依赖的实例.使用属性注入应该为 Bean 提供一个无参的构造函数和属性的 setter 方法. <bean id="magicWand" class="com.huey.dream.bean.Weapon

实例说明策略模式

最近工作不是很多,正好抽出时间学习一下期待已经的设计模式,作为一名刚毕业一年的开发人员更应该多抽出些时间了解一下设计模式. 此片文章对策略模式做一个总结,希望对大家有帮助. (题外话:策略模式之前只是看定义和一些简单的例子,根本不明白,最后一头雾水,不过下面这个小例子还挺有趣的哦,能很好的理解到底什么是策略模式.) 一.案例 设计一个动作冒险类游戏,游戏大概是这样的:游戏中有不同的角色,每个角色战斗时使用的武器不同.现有两个角色:骑士(Knight)和巨魔头(Troll),Knight的武器是宝

Bow &amp; Arrow

using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.UI; using UnityEditor; /// <summary> /// 游戏控制 /// </summary> public class bowAndArrow : MonoBehaviour { /// <summary> /// Ray /// </summa

Modeling -&gt; Mixamo auto rigging -&gt; UE4 retargeting

In general, there are 3 ways we can work with the Blender-UE4 pipeline: 1 Model character Export model Upload to Mixamo for auto rigging Export FBX -> Import to UE4 -> Retarget Anim 2 Download default UE4 Character blender file Update mesh Adjust ri

Blender的插件开发-Panel面板

工具栏面板 先创建一个简单的面板. import bpy class View3DPanel():     bl_space_type = 'VIEW_3D'     bl_region_type = 'TOOLS'     @classmethod     def poll(cls, context):         return (context.object is not None) class PanelOne(View3DPanel, bpy.types.Panel):     bl

汽车检测SIFT+BOW+SVM

整个执行过程如下:1)获取一个训练数据集. 2)创建BOW训练器并获得视觉词汇. 3)采用词汇训练SVM. 4)尝试对测试图像的图像金字塔采用滑动宽口进行检测. 5)对重叠的矩形使用非极大抑制. 6)输出结果. 该项目的结构如下: |-----car_detector|       |--detector.py| |--__init__.py| |--non_maximum.py| |--pyramid.py| |--sliding_window.py|-----car_sliding_wind

BoW图像检索Python实战

下文来自我的博客:BoW图像检索Python实战 前几天把HABI哈希图像检索工具包更新到V2.0版本后,小白菜又重新回头来用Python搞BoW词袋模型,一方面主要是练练Python,另一方面也是为了CBIR群开讲的关于图像检索群活动第二期而准备的一些素材.关于BoW,网上堆资料讲得挺好挺全的了,小白菜自己在曾留下过一篇讲解BoW词袋构建过程的博文Bag of Words模型,所以这里主要讲讲BoW的实战.不过在实战前,小白菜还想在结合自己这两年多BoW的思考和沉淀重新以更直白的方式对BoW做

Blender 建模

1.多图层切换 Blender也有图层的概念,我们在一个图层上建立了一个模型,可以在另外一个图层新建一个独立的模型.界面底部包含了Layer切换按钮.如下图所示: 当前我们正在操作第一个图层,如果想在其他图层上新建模型,只需单击空面板即可.当然可也可以直接使用快捷键M自动弹出图层面板,选择切换. 2.导入图片 使用快捷键N打开属性面板,勾选"Add Image"选项,导入一张想要建模的图片.按快捷键"5",把视口切换到正射投影,这样切换到每个面的时候看的效果就像平面

Blender 界面操作

1.旋转场景 使用鼠标中间键旋转整个场景.按住Shift键,再操作鼠标中间键则可平移整个场景. 2.数字键盘功能 数字键盘1.3.7,分别控制场景向前.向后.向上显示. 数字键盘5,可以在正射投影(Ortho)/透视投影(Persp)之间切换. 数字键盘0,从摄像头位置处查看物体,这个位置查看的物体也只最终呈现出来的视角. 当我们想对半选中物体一半的部分选中,可以先按5,把视图切换到正射方向,然后再按3键从前向后查看. 如果使用笔记本,可通过打开File->User Preferences-,切