BlenderCN论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1727|回复: 8

大家一起来学《Blender 2.5 Character Animation Cookbook》

[复制链接]
发表于 2014-1-21 21:15:15 | 显示全部楼层 |阅读模式
cover.jpg
大家一起来学吧,很好的一本书。
 楼主| 发表于 2014-2-6 21:03:23 | 显示全部楼层
本帖最后由 小无花果她爹 于 2014-2-18 13:19 编辑

第五章 Hands Down! The Limbs Controllers (四肢控制)
  • Controlling fingers,手指
  • 指关节的旋转轴为X轴;
  • 在每一节手指上方分别建一根骨骼,用来控制手指弯曲,注意和手指的变形骨骼的轴向保持一致,并作为手掌骨骼的子物体;三个关节骨骼分别基于控制骨骼作Copy Rotation约束,禁用相应的轴向,勾上offset,应用Local Space;然后锁定控制骨骼的Y轴旋转和三向缩放;

  • Creating IK legs with a three-pivot foot,腿
  • 一般来讲控制点在骨骼链的根部时,运用FK;在末端的用IK;
  • 复制小腿和大腿骨骼,B-Bone状态下加粗(Ctrl + Alt + S),分别向小腿和大腿作一个Copy Rotation约束;隐藏变形骨骼,代替以新加的控制骨骼来进行各种操作;
  • 脚踝处添加一根骨骼,向小腿添加一个IK约束,Shift + I,并设置IK链的影响范围,Chain Length;向脚掌的变形骨骼添加一个Child Of约束;
  • 在脚根、中部稍前(脚趾的转动轴处)、脚尖分别建一根骨骼;调整父子关系:脚根>脚尖>脚中>脚踝;
  • 利用Action设置好脚掌脚趾等的弯曲的动画片段;
  • 在脚踝后建一根骨骼,分别约束各段骨骼的Action片段(Action constraint);
  • 旋转物体时,按住Ctrl可以以5度跳跃;
  • 在脚底处加一根骨骼,作为脚踝后和脚跟骨骼的父物体;
  • 在膝盖前方添加一根骨骼,作为脚底骨骼的子物体;把小腿骨骼的IK约束中的Pole Target指向它;用于控制膝盖的方向;如果有问题的话,调整Pole Angle的角度;
  • 不要忘了把除了参与变形网格的骨骼之外的其它骨骼的Deform参数禁用;
  • 现在只要控制三根骨骼就行了:移动“脚底”控制抬脚,旋转“脚踝后”控制脚掌,移动“膝盖前”控制膝盖方向;别的骨骼都可以移到别的层隐藏起来;

  • Stretch those limbs!,拉伸
  • 卡通角色的四肢的夸张变化,挤压和拉伸;
  • IK骨骼的面板中的Bone/Inverse Kinematics/Stretch(设为0.1);
  • 变形骨骼加一个Stretch To约束(先选中IK骨骼再选变形骨骼,变形骨骼看不到的话,按Z切换到网格显示模式),Head/Tail拉到1(对齐到骨骼尾端),reset
  • 开关(拉伸),驱动;

  • Setting up the shoulders,肩膀
  • 铰链式肩部运动,就是肩膀转动的时候手臂还是留在原位;
  • 第四步,注意是transform space


  • Cartoon bending for arms and legs,手和腿的弯曲
  • 卡通角色做出夸张的动作时手脚的弯曲状;
  • 增加变形骨骼的段数(Curved Bones:Segments),然后给Ease in/out(根据情况,弯曲从骨骼的哪一端开始)做相应驱动;作一个开关;

  • Different spaces for IK hands
  • 让手臂的IK控制骨骼跟随胸腔运动(Child Of约束,Set Inverse校正,Influence作驱动,开关);
  • 转动躯干或胸腔时,肩膀会出现不自然的变形;调整相应开关设置(Hinge-Arm.L,Space-Arm.L,Page142);


回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2014-2-21 15:22:44 | 显示全部楼层
本帖最后由 小无花果她爹 于 2014-3-25 15:53 编辑

第六章 Blending with the Animation Workflow

  • Animating in layers
  • 12 basic principles of animation
  • interpolation mode(t);
  • 选中某一帧所在位置的一列帧(k);
  • Blocking方式:确定物体动画两端的位置,中间没有插值;
  • 在视图中显示运动物体关键帧位置,Motion paths中Calculate;勾上Frame Numbers,Keyframes和Keyframe Numbers,改动关键帧位置后需update paths一下;
  • DopeSheet中,选中关键帧,按R,标记关键帧类型,显示不同的颜色【Extremes (pink), Breakdowns (blue), regular keyframes (white), or "Jitter"(green)】;
  • 在Graph Editor的F-Curve Editor中调整曲线手柄,可以调整物体运动节奏;

  • Changing between IK and FK in a shot,在一个镜头里的FK-IK切换
  • FK与IK切换;
  • 通常情况下,角色在走路时,腿部默认用IK,因为控制点在脚部,身体运动时,脚部要有相对独立的控制;而手臂用FK,因为手臂只要绕着肩膀摆动就行了;
  • 角色滑倒前摔,用手撑地作缓冲,转换到IK;
  • 把FK-IK相关开关控制设置位置关键帧;
  • 1),撑地前前一刻,FK状态,手掌设置LocRot关键帧;2),撑地前一刻,手掌设置Visual LocRot关键帧,开关切换到IK(注意顺序,在同一帧位置,首先设置手掌骨骼的Visual LocRot,再把开关转换到IK状态,手掌骨骼如果没有改动,就会延续之前的FK状态,直到手掌骨骼又有改变);3),撑地时,调整手掌触地的手势,设置Visual LocRot关键帧;4),完成。

  • Grasping and throwing objects,手抓东西,或扔
  • 把物体约束到手的控制骨骼,Child Of;
  • 设置Influence值的关键帧,抓的前一帧为零,抓的这帧为1;
  • 扔东西的话,反之;

  • Silhouette and mirrored rendering,轮廓与镜像渲染

  • 轮廓,形状,姿势,镜像检查;
  • 在Node Editor窗口中选择Compsiting Nodes类型,勾选Use Nodes和Backdrop;
  • 缩放Backdrop,v、Alt+v,移动,Alt+中建;
  • 渲染出alpha通道,,注意要检查的物体前后不要有遮挡物;
  • 在ColorRamp中的色条上虚线是被选中的;
  • 镜像翻转,Distort | Flip;
  • 把节点加入节点链中,拖到连接线上;从链中摘出是Alt+右键;
  • 为了加速渲染,可以把渲染面板下的Shading都禁用,把灯光移到别的层,因为我们只要一个剪影;

  • Tracking animation arcs,动画弧线
  • 在视图中显示运动物体关键帧位置轨迹,Motion paths中Calculate;勾上Frame Numbers,Keyframes和Keyframe Numbers,关键帧是橙色数字和小方点,改动关键帧位置后需update paths一下;
  • Graph Editor中,设置关键帧手柄类型,v;
  • Ghost,Onion Skin;

  • Using video for background reference,视频背景参考
  • vimeo的真人视频参考,http://vimeo.com/groups/aniref/videos,可以用这个下载,http://keepvid.com/
  • 检查视频帧速率(视频播放器的属性),以便在blender里作相应匹配,render属性面板/Dimensions/Frame Rate;
  • 在视图里添加背景参考,N/Background Images打勾/Add Image
  • 四视图切换,Ctrl+Alt+Q,默认除了相机视图外的其它三个视图不能旋转操作,解除(N/Display/Lock去勾);

  • Working with linked assets and characters

  • Non-linear animation

回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2014-1-21 22:23:06 | 显示全部楼层
本帖最后由 小无花果她爹 于 2014-1-22 20:52 编辑

第一章 Get Rigging
  • 把X轴作为骨骼的转动轴(转动Ctrl + R,测试R + X + X,自动校正Ctrl + N);
  • 生成一条骨骼链,最好是先创建一根骨骼然后再把它分割成需要的骨骼数(W / Subdivide);
  • 预置全身骨骼(Add-ons / Rigify);
  • 骨骼命名,特别是左右对称结构的骨骼,可以加后缀如.L、.R;
  • 控制骨骼不直接参与网格变形(Deform去勾,Toggle Bone Options,快捷键Shift + W);
  • 约束控制,控制骨骼先选( Ctrl + Shift + C);
  • Copy Rotation约束一般基于自身坐标轴(Offset,Local Space);
  • 同一骨骼链拷贝约束(Pose menu / Constraints / Copy Constraints to Selected);
  • 自定义控制骨骼的图形 ,要改变它们的位置或方向,进入到图形网格的编辑模式修改;要使原始网格不参加渲染和在场景中隐藏,可在Outliner设置或移到别的层;
  • 自定义控制骨骼设置颜色,选好骨骼成组(Ctrl + G),然后在Bone Groups里选一个预置的颜色;
  • 用Shape Key和Driver校正手臂弯曲时的肘部网格错位和肱二头肌的鼓起效果;
  • IK-FK转换(Driver)
  • 权重绘制;
...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-22 15:27:28 | 显示全部楼层
本帖最后由 小无花果她爹 于 2014-1-22 23:16 编辑

第二章 Rigging the Torso
  • How to create a stretchy spine,创建有弹性的脊椎
  • 脊椎骨骼用B-Bone显示模式,缩放改变粗细(Ctrl + Alt + S);
  • 增加片段(Segments)能够使脊椎更加柔滑;
  • Inherit Scale,继承父物体的缩放
  • 最下面的一根变形骨骼外面套一根控制骨骼,作Copy Location约束(Shift + Ctrl + C)
  • 需要拉伸的脊椎骨骼加上一根控制骨骼,并作Stretch To约束,这时候会有状况出现,没关系,把约束属性面板里的Head or Tail改为1,然后按一下Reset;
  • 还要加一个Copy Rotation约束;
  • 脊椎的伸缩一般不会横向发展,所以要把X、Z轴的Scale锁定(Pose Mode)
  • Rigging the pelvis,骨盆绑定
  • 这里要把骨盆骨骼翻转方向,不是网格变形骨骼,还是要在外面套一根控制骨骼,再把它翻转方向(W / Switch Direction),Why?因为我们通常把肚脐眼作为人体的重心,而作为脊椎的第一根骨骼的骨盆骨骼的轴心点在耻骨处,也不能直接把它翻转方向,那样会乱套的;
  • 骨盆上面的一根骨骼要关闭Inherit Rotation和Inherit Scale;
  • Making your character breathe,呼吸引起的胸腔动态
  • Controlling the neck and head,头颈控制

问题一:在用到driver表达式的时候出现问题了 002-Neck_error.jpg
解决:到用户设置(Ctrl + Alt + U)里File标签下勾选(感谢原志翔同学
002-Neck_error-ok.jpg

问题二:
002-Neck_error2.jpg
解决:书中blender版本,space那里是Local
Space勾选框,2.69版本变成了下拉框,选Local
Space不行,要选transform space
002-Neck_error2-ok.jpg
...




回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-22 20:52:48 | 显示全部楼层
第三章 Eying Animation(注视动画)

        1. 眼睛是心灵的窗户,我们的角色可以通过它来表达感情;
        2. 断开父子链接,Alt + P / Clear Parent
        3. Shift + I,添加IK约束;
        4. 把眼球绑定到骨骼,Ctrl + P / Set Parent to / Bone;
        5. 限制IK骨骼的旋转角度,bone面板下的Inverse Kinematics;
        6. 复制眼球的骨骼后,可以自动重命名,前提是对称结构并有规范的后缀(W / Flip Names)(ps:这里我复制里两根骨骼,第一根成功重命名,第二根失败);
        7. 作对鸡眼,锁定注视骨骼的Y、Z轴,缩放操作
        8. 左右瞳孔Shape Keys可以复制(Transfer Shape Key)
        9. 骨架左右对称创建,X-Axis Mirror
        10. 在应用shape keys的driver时,记得把Pin禁用,不然shape keys就不起作用了;

...
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-23 21:40:27 | 显示全部楼层
本帖最后由 小无花果她爹 于 2014-2-1 22:05 编辑

第四章 Poker Face? Facial Rigging(面部绑定)

  • Adding expressions using Shape Keys,形变帧
  • 人脸上没有表情,就好像活死人了;
  • 因为左右形变分开做的,所以编辑mesh时把X对称关闭;
  • 镜像shape key时,要把源目标的值滑动到1;
  • 《Sintel》的角色一般要做50多个shape;
  • 除了各种表情要用到的shape,还可以做些基本发音的口型(比如 "a", "o", "e", "m",
    "f"等等);
  • 注意命名规则,前缀(比如Mouth_, Eyebrow_)和后缀(.L and .R)
  • 用骨骼(B-Bone模式,控制好大小,ctrl+alt+s缩放)控制shape keys(driver),可以达到混合形变帧的效果(多个shape key引用了同一根骨骼的相应通道,也就是说用一根骨骼可以控制多个形变帧);控制骨骼加上Limited Location约束,设定好移动范围,并锁定垂直于移动平面的轴向(通常是Z轴);
  • Graph Editor / Drivers mode,打开属性面板(N);
  • Expr位置中var*10,乘上10是为了更直观地显示形变的效果;
  • 如果控制骨骼向负轴向移动,Expr位置中应该var乘以一个负值(比如var*-10);

问题一:如图,左面嘴角上扬做好了,做右面对应位置,镜像形变帧失败,求解!
004-Face_error01-1.jpg

004-Face_error01-2.jpg

解决:
在加上一个shape key后勾上from mix
004-Face_error01-ok-1.jpg
再选mirror shape key
004-Face_error01-ok-2.jpg
不过还有警示,和上面问题中的一样
004-Face_error01-ok-3.jpg
但是。。。
004-Face_error01-ok-4.jpg

  • Face controls with lattices,用晶格物体控制脸部
  • 切换显示骨骼层,Shift + M;
  • mesh建立Vertex Group,刷好权重(控制范围);建一个Lattice物体;然后mesh加上lattice修改器,绑定Lattice,指定顶点组;创建一根骨骼作为控制手柄;选择Lattice,加一个Hook修改器,指定骨骼,在编辑模式把相应点Assign给骨骼,别忘了reset一下,然后这根骨骼就可以控制绑给晶格的mesh了,最后可以给骨骼一个Custom Shape;
  • 形变帧驱动控制和晶格控制各擅胜场,可以相互配合着来表现丰富的表情;
  • With this mixed-technique approach we can get the best of each tool: modeling specific
    creases and wrinkles with shape keys; freely deforming the mesh in real time with lattices;
    and using bones where we need rotation (for the eyelids or the jaw, as we'll cover in the
    next recipe)


  • Creating the jaw controller,下颌
  • 通过Action来控制下颌;
  • 在相应位置创建下颌绑定骨骼,因为骨架已经绑定了mesh,所以新建的骨骼会自动分配到相应的权重,然后把各种下巴控制骨骼、晶格以及下方的牙齿都作为它的子物体;
  • 在Dope Sheet的Action Editor中,新建一个action并命名;
  • 对下颌作不同姿态(分别从原始位置到张嘴、左右撇嘴、下颌前后微移等)的LocRot关键帧动画,一般10帧一个位置;
  • Shift+up arrow,向前走10帧;up arrow,跳到下一个关键帧;Alt+滚轮,微调;左右键,逐帧;
  • 选中关键帧,按Shift + D复制,移到相应位置;
  • 建一根骨骼控制下颌骨骼,Action约束;指定action,Location轴向,Local Space,关键帧范围,等;
  • 重复Action约束,指定各段action关键帧动画;
  • 现在就可以通过控制骨骼的移动来控制下颌;


  • Controlling your tongue,舌头
  • 创建两根骨骼(舌根和舌尖),分别作为下颌骨的子物体,把舌头网格绑定到舌尖,舌根基于舌尖加一个Stretch To约束,舌尖骨骼控制舌头的拉伸等动作,舌根骨骼使舌头根部留在原位;


回复 支持 反对

使用道具 举报

发表于 2014-12-8 11:43:04 | 显示全部楼层
哇 正需要  大侠好人啊
回复 支持 反对

使用道具 举报

发表于 2018-5-2 05:39:15 | 显示全部楼层
谢谢分享,看看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Blender最新中文教学视频|Blender头条|小黑屋|手机版|Archiver|Blender中国 ( 蜀ICP备17002929号 )

GMT+8, 2018-5-24 00:57 , Processed in 0.028802 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表