zoukankan      html  css  js  c++  java
  • 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-BoneB-BoneB 就是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),将骨架移动成下图的位置:

    这里写图片描述

    1. Tab 切换回 Pose Mode,按 R 键旋转骨架的时候,模型的一些表面没有被移动:(说明:“现场”还原成功)

    这里写图片描述

    这里写图片描述

    1. 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. 鼠标右键选中中间的关节,移动它到圆柱体中间位置。

    这里写图片描述

    1. (你可以看到上面的图片中,模型左上角的部分表面又步骤骨架包裹的控制范围内了。)对上面的关节进行微调,最后调整成下图样子:(注意:鼠标左键按住目标位置的白色圆,才能成功拖动目标物体。)

    这里写图片描述

    Step 5 . 现在回到 Pose Mode,来旋转一下看看,现在骨架牵动模型的状态就比较理想了。

    这里写图片描述

    当我使用 Envelope 呈现方式 调整完骨架的状态之后,我还是习惯将呈现方式调整为:八面体(Octahedral )的形式来呈现。


    总结:

    1. 快速将折弯的骨架变回原来的样子:组合键:Alt + R Alt + R 就是将角度归回原来的设定值。
    2. 选中一个骨架,按Alt + R 只能还原这个骨架为原来的位置,其他的骨架还需要继续还原。
    3. 在编辑模式(Edit Mode)下,鼠标左键按住目标位置的白色圆,才能成功拖动目标物体
  • 相关阅读:
    rest framework 认证 权限 频率
    rest framework 视图,路由
    rest framework 序列化
    10.3 Vue 路由系统
    10.4 Vue 父子传值
    10.2 Vue 环境安装
    10.1 ES6 的新增特性以及简单语法
    Django 跨域请求处理
    20190827 On Java8 第十四章 流式编程
    20190825 On Java8 第十三章 函数式编程
  • 原文地址:https://www.cnblogs.com/aobosir/p/5928603.html
Copyright © 2011-2022 走看看