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的更多相关文章
- Spring(3.2.3) - Beans(2): 属性注入 & 构造注入
依赖注入是指程序运行过程中们如果需要另外的对象协作(访问它的属性或调用它的方法)时,无须在代码中创建被调用者,而是依赖于外部容器的注入. 属性注入(Setter Injection) 属性注入是指 I ...
- 微信emoji的code
const MAP = [ "\xc2\xa9" => 'COPYRIGHT SIGN', "\xc2\xae" => ...
- CHAPTER 8 Out of Darkness 第8章 走出黑暗
CHAPTER 8 Out of Darkness 第8章 走出黑暗 We expect scientists to be trying to discover new things, and for ...
- Spring - IoC(2): 属性注入 & 构造注入
依赖注入是指程序运行过程中,如果需要另外的对象协作(访问它的属性或调用它的方法)时,无须在代码中创建被调用者,而是依赖于外部容器的注入. 属性注入(Setter Injection) 属性注入是指 I ...
- 牛客竞赛-Who killed Cock Robin
Who killed Cock Robin? I, said the Sparrow, With my bow and arrow,I killed Cock Robin. Who saw him d ...
- D. Who killed Cock Robin--“今日头条杯”首届湖北省大学程序设计竞赛(网络同步赛)
题目描述:链接点此 这套题的github地址(里面包含了数据,题解,现场排名):点此 题目描述 由于系统限制,C题无法在此评测,此题为现场赛的D题 Who killed Cock Robin? I, ...
- Bow & Arrow 学习
using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.UI; ...
- 开源免费跨平台opengl opencv webgl gtk blender, opengl贴图程序
三维图形的这是opengl的强项,大型3D游戏都会把它作为首选.图像处理,是opencv的锁定的目标,大多都是C的api,也有少部分是C++的,工业图像表现,图像识别,都会考虑opencv的.webg ...
- Modeling -> Mixamo auto rigging -> UE4 retargeting
In general, there are 3 ways we can work with the Blender-UE4 pipeline: 1 Model character Export m ...
随机推荐
- linux文件管理 文件搜索
文件搜索命令find 'find [搜索范围] [搜索条件]' 搜索文件 find / -name install.log #避免大范围搜索,会非常消耗系统资源 #find是在系统当中搜索符合条件的文 ...
- bzoj2330
题解: 差分约束系统 要我们求最小值 显然就是转化为最长路 然后spfa一下即可 代码: #include<bits/stdc++.h> using namespace std; ; lo ...
- C++面向对象实现封装线程池
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- python字符串转换成数字
Action(){ int i; char *s="{str}"; i=atoi(lr_eval_string(s)); lr_output_message("%d&qu ...
- transclude
http://jsfiddle.net/ospatil/A969Z/157/ transclude :true 允许指令内部的dom元素, 保留到 自定义指令的template属性里的含有 ng-t ...
- static全局变量与普通全局变量的区别,static局部变量与普通局部变量的区别,static函数与普通函数的区别
static全局变量与普通全局变量的区别 static全局变量和普通全局变量的存储方式没有不同,如果它们都已经初始化,那么存放在进程的数据段中,否则存放在bss段.这两者的不同点在于作用域不同,当一个 ...
- mysql查询锁表语句
processlist命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句,两种方式使用这个命令. 1. 进入mysql/bin目录下输入mysqladmin process ...
- winform 异性窗体的实现
效果图 首先需要在vs里添加控件 AlphaForm.dll 添加完了有这来两个控件 1.把第二个控件拖入窗体里把窗体铺满 2.找一张至少有一个闭合图形的透明图片 设置为AlphaFormTrans ...
- ArrayList方法综合练习
package com.zs.windows; import java.util.ArrayList; import java.util.Scanner; import com.zs.entity.G ...
- Centos7虚拟机下配置静态IP
以下为Centos7在VMware下配置静态IP地址,配置完后内外网都可以访问,主机与虚拟机之间可以通信. 1.在VMware里,菜单栏点击[编辑]-->[虚拟网络编辑器],如下图.选择的是NA ...