提供Verge3D教程和Web3D开发技术服务

【技术】blender笔记

Blender雕刻

样式 笔刷 快捷键1 快捷键2
  Blob 1
  Clay 2 C
  Clay strips 3
  Crease 4 Shift + C
  Fill/deepen 5
  Flatten/constrast 6 Shift + T
  Grab 7 G
  Inflate/Deflate 8 I
  Layer 9 L
  Mask 0 M
  Nudge Shift + 1
  Pinch/magnify Shift + 2 P
  rotate Shift + 3
  Scrape/Peaks Shift + 4
  SculptDraw Shift + 5 X
  Smooth Shift + 6 S
  Snkae hook Shift + 7 K
  Thumb Shift + 8

F 半径

Shift + F 强度

Blender拓扑

思路:拓扑是在高模基础上,利用吸附等工具建立合理布线结构的过程,新结构用于绘制贴图、绑定、动画。

准备材料:

高模、blender

过程和步骤:

  • 导入高模,创建平面,打开吸附,选择吸附到面;

  • 为平面添加修改器mirror命令,勾选clipping

  • 添加修改器subsurface,选择simple方式

  • 添加修改器shrinkwrap,适当增加offset值:002,模式选择project

  • 适当调整材质优化显示效果

 

blender绑定

  • 权重镜像mirror
  • 刷好左侧骨骼权重;
  • 选中右侧骨骼,remove掉所有顶点;
  • 选中右侧所有顶点;
  • 依次选择左侧骨骼,点击mirror镜像;
  • 检查是否镜像。
    IK问题

(1)POSE模式下,选中要实现IK的骨骼,通过pose菜单或使用快捷键shift+I,暂时选择without targets,目标稍后添加;

 

(2)在修改器面板有如下几个关键参数:

Target:是IK的控制器,通过移动它实现IK,这里因为选择了绑定骨骼作为目标,所以下面出现bone选项,选择目标骨骼即可

Pole target:是极目标,控制IK的方向

Chain length:是改变IK的影响级别,如果不想IK影响到上半身,只控制腿,就可以通过chain length数值,改变影响级别。

头发的绑定——cloth

原理:对头发模型进行骨骼绑定,通过布料动力学曲线对骨骼进行IK控制,实现头发在动画中的从动效果。动力学可以用曲线,也可以用面片,面片能做碰撞,曲线不能。如果绑定长头发,需要碰撞,可以用面片;如果绑定流海儿,不需要碰撞,可以用线。

步骤:

  • 创建适合头发模型绑定的骨骼

  • 创建动力学曲线,这里是一条poly的线,blender里poly线可以用于布料。(可以改为面片,用于碰撞)

  • 创建IK,注意chain length:1,目标点是虚拟体

  • 通过ctrl+p 使poly的点约束IK目标点

  • 布料设置,pining顶点组的设置权重是不一样的。为了实现头发根部从动效果弱,稍部从动效果强烈,需要通过pining控制。根部点的权重为1,稍部权重为1。操作步骤为首先创建一个顶点组,然后选择点,调整权重,assign到顶点组。另外,权重可以通过笔刷绘制,但是这里顶点的权重无法观察到,所以直接指定权重值就好。布料的其它动力学参数设置根据曲线的运动效果调节即可。

  • 绑定头发模型,然后解算

  • 头发的碰撞。被动碰撞体需要单独创建低模,绑定到骨骼上,设置为不渲染。
  • 注意:以上是测试,在实际给头发模型做绑定时,创建顺序可能不相同,应首先在头发模型上创建用于布料解算的面片,然后,打开吸附点模式,创建骨骼,虚拟体。

衣服的绑定——MeshDeform

思路:衣服的模型结构有的比较复杂,如重叠的衣领、纽扣、腰带等,直接绑定会在刷权重时造成麻烦。采用MeshDeform修改器,通过简单模型控制复杂模型,既可准确控制模型运动,又方便刷权重,避免穿帮。

步骤:

  • 解除衣服与骨骼的绑定;
  • 创建用于衣服变形的网格物体(注意,变形网格必须制作成封闭模型,要将衣服完全包裹在内);
  • 为衣服添加MeshDeform修改器,选择变形网格,然后bind,稍等生效

  • 变形网格设置为线框模式,不渲染,绑定,刷权重。
  • 如果是结构复杂的裙子,又需要做布料解算,可用网格变形的方法,通过变形网格做布料解算,然后包裹到裙子上。

 

blender动作捕捉

思路:

makehuman可以导出支持动捕数据的绑定格式,同时有支持blender的插件makewalk,因此可以在blender里使用动捕数据。

准备材料:

Blender下载:http://www.blender.org

Makehuman下载:http://www.makehuman.org

动捕数据下载:
卡奈基·梅隆大学
http://www.thetrailerspark.com/

http://mocap.cs.cmu.edu

https://sites.google.com/a/cgspeed.com/cgspeed/motion-capture/cmu-bvh-conversion

http://perfume-global.com/ 

http://centralsource.com/blender/bvh/files.htm

过程步骤:

  • blender插件安装

下载makehuman,并解压。

打开blender,安装makewalk插件,安装路径:~\makehuman\blendertools\makewalk\_init_.py

另一种安装方法:将makewalk文件夹打包成zip格式,在blender中安装

  • 使用makehuman导出模型

绑定采用动捕支持格式cmu mb

 

 

模型格式采用dae格式,导出参数参考以下设置:

  • blender安装完makewalk之后,在工具栏出现相应标签,点击loadAndRetarget,加载动捕数据

  • 成功。

补充:使用blender内置插件rigify绑定好自己的模型后,也可以通过makewalk插件加载动捕数据。

blender传递权重

blender软件中传递权重工具是一个非常实用的功能,比如角色绑定身体后,身体的权重需要和身上的衣服或道具相一致,否则会出现运动不一致的情况。另外还有一种情况是,遇到复杂的绑定,比如模型分好多层,身体外面的有衣服,衣服外面有皮带,皮带上面还有小装饰等,这时需要做一个低模,绑定后把低模权重传递给复杂模型,极大提高效率。
在blender中实现传递权重需要以下步骤:
1.删除目标模型的顶点组;
2.先选择源模型,再加选目标模型,切换到权重模式;
3.执行工具面板的transferWeights命令,参数见下图

注意,首先勾选FreezeOperator,然后依次按图所示选择参数,参数确定后,勾掉FreezeOperator,权重即可实现传递。

zjbcool

zjbcool
关闭菜单