Blender 基础 骨架-02 骨架的各种呈现方式
Blender 基础 骨架-02 — 骨架的各种呈现方式
我使用的Blender版本:Blender V 2.77
前言
在 Blender 基础 骨架-01 教程里面,将骨架和模型联系在一起,我们在3D动画里面,管这道工序称之为:绑定,英文就是:Band。(绑定:让骨架控制模型)
这节课,我们继续学习骨架。学习骨架在Blender里面的各种呈现方式。
从界面上,我们现在的这个骨架,有点像锥状物,这个东西我们称之为:八面体。当你将场景转一下,你会看到,这个东西其实是立体的,下面的小角锥有四个面,上面的大角锥也有四个面,加一起一共八面。
在Blender里面,默认骨架的呈现方式就是:八面体。 在Blender里面,还有几个呈现的方式。
透视 X-Ray
按 Shift + 空格,先切换到四视图布局。我们先看右上角的透视图。我们可以看到:骨架被圆柱体包裹着,不太方便看。模型把里面的骨架大部分都包袱住了,所以感觉上好像不太好用。
Q: 我们如何让这个骨架:就算有模型包袱,我们也可以看到骨架?
A: 我们可以做一些设定:
Step 1 . 现在选中这个骨架,然后按Ctrl + Tab 来到 Pose Mode (在 Object Mode里面做下面的设定也是可以的)
Step 2 . 右边的选单列里面,有一项,有点像一个小人的标签,这个标签就是:Object Data。进入这个 小人 标签。
我们之前在做模型的时候,经常使用的一个标签,是下面这个 Object.这个标签里面,是当前被选中物件所有的状况。
当我们在场景里建立了骨架之后,我们就多一个可以使用的标签,就是 这个:Object Data。(这个标签里面有一些我们可以设定的东西)
进入 小人 标签(Object Data)后,我们可以看到有一项: Display,这个Display里面有一项:X-Ray,这个X-Ray的意思就是医院里的X-光。
Step 3 . 将X-Ray复选框勾选,现在场景里面,就可以透过模型看到被模型包裹着的骨架。(X-Ray 对我们来讲非常方便。)
骨架的呈现方式
再来还有什么模式:
我们现在可以改变骨架呈现的样式。在 Display 里面,有下面几个选项:
这几个选择的字比较长,有的被切掉了,我们现在把右边选单列拉长,让字母全部都显示出来:
你可以看到:
1. 有默认值 Octahedral 就是八面体
2. 还有 Stick ,意思是:拐杖或者棍棒
3. 还有 B-Bone ,B-Bone 的 B 就是Box的缩写,所以它可能会使用一种像长盒子的方式来呈现骨架
4. Envelope 一般它的意思是:封套。不太好说,等一下,我们来示范一下它的呈现效果。(这个呈现方式非常重要,下面我们会详细介绍)
5. Wire 这个就不用说了,就是一条线,骨架会以一条线的方式呈现。
你试着点击这这个按钮,来看看骨架的各种不同的呈现方式都是什么样子的。
Octahedral
Octahedral 就不用说了,八面体,默认的骨架呈现方式。
Stick
点击Stick,将骨架的呈现方式切换为棒状看看。现在我们可以看到,骨架就变成了:看起来像棍棒的方式来呈现。使用这种方式呈现的好处就是:因为它比较细,如果我们做比较精细的模型时,比如:手指,树枝。在建骨架的时候,我使用这种呈现方式,会比较容易操作。因为骨架太粗看起来比较麻烦,所以我在必要的时候,我们可以将骨架的呈现方式切换成:Stick。
B-Bone
再来看看 B-Bone , 呈现方式是下面的样子:看上去像是一个火柴棒,其实就是一个长方体
Envelope
重点讲:Envelope 。
当我们将呈现方式切换为:Envelope时,界面就变成了下面这个样子:(这个Envelope的呈现方式其实对我们来说还是蛮重要的)
在Envelope的呈现方式,按 Tab键 切换到编辑模式(Edit Mode )下,就是这个样子的:
我们观察一下,当我将模式切换为编辑模式,这两个骨头都有一个椭圆形的圈圈在骨架外围,这个是什么东西?
这个就是:这个骨架所影响的范围。所以,Envelope这种呈现方式我给它翻译成:封套 或者 包袱。也就是说,假如我们把这个骨架看成是一个封套的话,灰色部分就是:骨架所能包裹的模型表面范围。
例如:上部的子阶层骨架,它所包袱的范围,就是灰色的这一圈的范围:
假如,我们现在点击(鼠标右键)骨架任何一个关节(骨头的端部)的话,我们就可以使用放大缩小工具(注意: 这里的快捷键是:Alt + S,而不是:S)来改变它现在这个包裹的范围。
例如:
我们现在点击(鼠标右键)子阶层骨架的尾部关节,然后按 Alt + S 组合键,我们就可以改变它所影响的范围:
当然,每个关节都可以去做这个设定。那这个设定会影响到的就是: 你在折弯这个模型是,模型所产生的变化。
使用 Envelope 呈现方式来 解释并解决 Blender 基础 骨架-01 教程里面遇到问题:部分模型表面没有被骨架控制
我们现在就来试试看:现在按键盘上的Tab键,回到Object Mode,再按:Shift + 空格 回到四视图布局状态。
Step 0 . 先还原问题“现场”:
1. 选择 Octahedral 八面体骨架呈现方式。
2. 再按 Tab键,切换到编辑模式(Edit Mode),将骨架移动成下图的位置:
- 按Tab 切换回 Pose Mode,按 R 键旋转骨架的时候,模型的一些表面没有被移动:(说明:“现场”还原成功)
- 按 Alt + R,将折弯的骨架变回原来的样子。(选中一个骨架,按Alt + R 只能还原这个骨架为原来的位置,其他的骨架还需要继续还原。)
Step 1 .
1. 在Pose Mode下,把骨架的呈现模式改为Envelope。
2. 按住 Shift键,选中(鼠标右键选中)所有的骨架:
箭头所指的圈圈里面就是没有被包裹到的模型表面。
现在大家马上就可以看到端倪了。为什么模型有的地方的表面没有被移动,就是因为这些表面没有在包裹的范围之内,所以,假如我们点选上面的骨头,旋转它的时候,没有包袱的表面,就不会跟着骨头跑。
Step 2 .
1. 现在我们按 Tab 键,进入编辑模式,选中(鼠标右键)上的关节(子阶层骨架尾端关节),按Alt + S组合键 来使用放大缩小工具,把这个关节放大,把模型左上角未被包裹到的表面包裹住即可:
现在你可以回到 Pose Mode下,使用旋转工具来检验模型的左上角表面是否被包裹完整。各位可以看到,那个表面就跟着骨头跑,这个地方确实被包裹起来了:
Step 3 . 现在需要将圆柱体右边中间位置的表面也包裹到骨架控制的范围内。对于现在的这个情况:将中间的关节移动到圆柱体中间位置的解决方案,要比放大这个关节的解决方案要好得多。
1. 按 Tab键,切换为 编辑模式(Edit Mode)
2. 鼠标右键选中中间的关节,移动它到圆柱体中间位置。
- (你可以看到上面的图片中,模型左上角的部分表面又步骤骨架包裹的控制范围内了。)对上面的关节进行微调,最后调整成下图样子:(注意:鼠标左键按住目标位置的白色圆,才能成功拖动目标物体。)
Step 5 . 现在回到 Pose Mode,来旋转一下看看,现在骨架牵动模型的状态就比较理想了。
当我使用 Envelope 呈现方式 调整完骨架的状态之后,我还是习惯将呈现方式调整为:八面体(Octahedral )的形式来呈现。
总结:
- 快速将折弯的骨架变回原来的样子:组合键:Alt + R 。 Alt + R 就是将角度归回原来的设定值。
- 选中一个骨架,按Alt + R 只能还原这个骨架为原来的位置,其他的骨架还需要继续还原。
- 在编辑模式(Edit Mode)下,鼠标左键按住目标位置的白色圆,才能成功拖动目标物体。
Blender 基础 骨架-02 骨架的各种呈现方式的更多相关文章
- 开源EDR(OSSEC)基础篇- 02 -部署环境与安装方式
https://yq.aliyun.com/articles/683077?spm=a2c4e.11163080.searchblog.9.753c2ec1lRj02l
- Blender 基础 骨架 01
Blender 基础 骨架 01 我使用的Blender版本:Blender V 2.77 前言 本讲介绍: 骨架的基本使用方式. 骨架是角色动画里面最常使用的元素,它可以准确控制一个模型的变形,尤其 ...
- 【T-SQL基础】02.联接查询
概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...
- MongoDB基础知识 02
MongoDB基础知识 02 6 数据类型 6.1 null : 表示空值或者不存在的字段 {"x":null} 6.2 布尔型 : 布尔类型只有两个值true和false {&q ...
- CSS3基础入门02
CSS3 基础入门02 边框相关属性 border-radius 通过这个属性我们可以设置边框圆角,即可以将四个角设置为统一的圆角,也可以单独的设置具体的某一个角的圆角. grammer: borde ...
- Linux基础命令-02
Linux基础命令-02:
- # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结
095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 04 static关键字(续)
094 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
- 093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 02 static关键字 03 static关键字(下)
093 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...
随机推荐
- python_函数中使用*和**
Python在函数中,使用*接收元组,使用**接收键/值对 当要使函数接收元组或字典形式的参数 的时候,有一种特殊的方法,它分别使用*和**前缀 .这种方法在函数需要获取可变数量的参数 的时候特别有用 ...
- PHP JSON文件解析并获取key、value,判断key是否存在
/****************************************************************************** * PHP JSON文件解析并获取key ...
- Java操作Redis(代码演示)
redis-demo演示 一.创建一个maven工程 1.在pom.xml中引入相关redis的相关依赖 <project xmlns="http://maven.apache.org ...
- swing之记事本的简单实现
package gui1; import java.awt.BorderLayout; import javax.swing.ImageIcon; import javax.swing.JButton ...
- ftp上传下载 java FTPClient (zhuan)
项目需要,网上搜了搜,很多,但问题也不少,估计转来转去,少了不少东西,而且也情况也不太一样.没办法,只能自己去写一个. 一, 安装sserv-u ftp服务器 版本10.1.0.1 我所设服务器 ...
- 使用Jsonp实现跨域请求
来自百度百科的一段话: JSONP(JSON with Padding)是JSON的一种“使用模式”,可用于解决主流浏览器的跨域数据访问的问题.由于同源策略,一般来说位于 server1.exampl ...
- MLCC 电容的的 NP0 C0G 材质
MLCC 电容的的 NP0 C0G 材质 随手记一下. MLCC 中最稳定的材质 NP0 C0G,NP0 和 C0G 是相同的,只是不同的产商不同的名字而已. 注意中间的是 0 不是 英文字母 O,虽 ...
- 前端跨域问题,以及ajax,jsonp,json的区别
看了很多网上的资料,小七感觉都没有完全解决我的疑惑以及问题,所以特意拿出通俗易懂的话讲解跨域问题,以及ajax,jsonp,json的区别.首先先说跨域问题什么时候需要跨域?[1]域名不同(即网址不同 ...
- js易犯错误与易混淆的重要知识点
一:作用域的问题 简单案例1: var a = 1; var n = function () { console.log(a); var a=2; } n(); =>输出undefined原因: ...
- 关于Intellij IDEA导入jdk出现异常
目前JDK出现的情况如下: 这里JavaJDK是有问题的,因为只有jre而没有JDK.正确做法是重新安装新的JDK. 正常的JDK下的目录是这样的: 选择jdk开头的文件夹就可以了.