没有什么比一个缓慢的设置更让动画师沮丧的了。这篇教程将讲述一些窍门与技巧,帮助你加快角色动画的设置速度
。我们最终要实现实时回放。如果你觉得你所有的设置都是杂乱的,或者需要一些指导,那么这篇教程将帮助你找到
正确的方向。
尽量减少不必要的节点,只在需要的地方添加。在设置角色时,必须要注意M些很容易被忘记的事情。下面这些提示
与技巧将改进你的工作流程。

高分辨率的Tom1
使用不同的分辨率:
对你的角色使用不同的分辨率进行工作能够显著的增加角色设置的速度。应尽量避免对高分辨率的角色进行动画,除非必须得那样做。我认为,对角色进行动画设置时,最好有两三种不同分辨率的角色。
块状分辨率:
这只是作为关节的子物体的简单几何体。立方体与球体较好。最重要的是确保正确的比例,没有必要与模型中所有的细节进行匹配。块状分辩率可以作为你的一种选择,但是,如果你的场景中有50个角色,那么用块状分辩率是必须的。

低分辨率的应是更加精确的模型。这个版本包含一个可打开和关闭的高分辨率的头部,这样可以制作对口型的动画。就像刚习使用块状分辨率设置,模型的各个部分作为关节的子物体。重要的是角色各部分的比例要准确。对于你或动画师来说,在设置动画时不必担心高分辨率版本中会出现交*的情况。低分辨率角色模型应该简结一点,不要浪费多边形,确信将每一块都计算在内。但如果哪一块不是很重要,或者对动画没有用的话,就可以将他们删除掉。
一个好的低分辨率的模型接近千没有细节的角色。动画师应该说明他所设置的角色是什么。

高分辨率:
这是最后的设置,高分辨率模型绑定在关节上。动画完成后,使用高分辨率模型进行渲染,并对低分辨率角色动画进行检测。有些动画可能会在高分辨率的情况下进行制作,但要保持一定的限度。除非一定要那样做,否则就不要使用高分辨率模型。

对角色使用不同的分辨率也会产生一些问题。例如:如何实现动画从低分辨率到高分辨率的转换?如果某一部分 发生改变,怎样更新不同分辨率下角色的设置,一种解决方法是将低分辨率和块分辩率的设置与高分辨率的设置用同一个文件。那样的话,在高分辨率中,如果某部分发生变化,就可以很快的更新低分辨率与块分辩率。因此,需要在一个文件中创建每种分辨率的设置。
在两种分辨率设置的角色之间转换动画时,需要用到参考〔referencing〕,导入/导出动画,或者需要一个MEL脚本,将动画从一个设置拷贝到另一个。

在这里我对参考〔referencing〕做一个快速的讲解,我曾注意到,许多小型工作室在他们的工作流程中参考,而大一点的则不使用。对于较小的工作室,使用参考是非常有意义的。你不可能在打开或保存一个300MB大小的文件上花费很多时间,而使用参考可以使文件减小。如果不使用MEL脚本或插件程序来处理动画的转换,那么,参考可以很快的开始动画。它可以让你在一个场景中同时对动画、材质、灯光进行设置。我不在强调这个了。

导入导出动画是转换动画时被广泛接受的方法。除非你改变了角色的层级关系,否则,90%的时间内工作正常。如果那样做了,你会发现你在手工的拷贝整个动画〔不是开玩笑!〕,如果你懂MEL语言,在这种时候,就应使用它。

假定你正在工作的是一个自己的工程文件,它只包含一些角色。有一个方法让你可以很菀椎目刂贫??T谕?晃募?校?褂貌慊蚴橇?拥娇杉?visibility)属性来显示低分辩率和高分辩率模型。用这种方法,如果你想查看高分辨率的角色的动画,可以把低分辨率的隐藏,而显示高分辨率模型。

现在有很多在两种设置之间转换动画的方法,这样显得有点混乱。要选择适合你的或是适合你的工作室的方法。在工作结束时,每个人都应有一个合适的流程。
对于TD(技术指导)而言,使用不同分辨率可能会显得麻烦,耗时,这对于制作室是一个普遍的问题。一旦克服了在处理同一个动画的不同设置时出现的问题,其作用就会很明显了。

少就是多:最少的控制实现最多的功能可以使动画师尽情的表演。在你第一次设置一个角色时,可能包含了每一个你能够想到的独立控制。你认为任何东西都需要进行动画,这就会不知不觉的将它们包含在设置中。这样做是非常好的 ,至少你提前作了计划,但这样也不好,可以会走向极端。

好的设置具有适当数量的控制。如果可能的话,尽量整合。一个很好的例子就是脚部的控制。我以前经常看到一只脚 由吸个部分控制。对于动画师来说,这是非常混乱的,就连删掉他们都是很麻烦的。可以制作一个控制并添加属性来控制脚趾、关节、脚后跟和旋转的脚蹊而不是吸个单独的控制。现在,如果动画师想移动角色的脚,就只剩下一个控 制点了,这使得他/她的工作变的更容易。

整合后的控制1

整合后的控制2
同样的法则也适用于角色的层级关系。尽量减少额外的节点,并将控制组成一个组,这样动画师可以很快选取他所需要的控如果别的人想使用你的设置,那么,设置的控制易千辨别以及适当的整理好,对使用者来说是非常重要的。

层级关系1
锁定与隐藏:
和只保留需要的控制一样重要的是,你不能让动画师对不必要的通道进行关键帧的设置。动画师在进行角色动画时,不需要设置关键帧的通道应将其锁定和隐藏。我将Fx与Ix控制分开,如果你像我的话,你就不需要rightArmIK控制中的rotateX属性。

锁定隐藏1
使用通道控制器(channel control),删除不需要的属性:
(Window>General Editors>Channel Control〕

锁定隐藏2

如果你非常熟悉MEL语言,在脚本中使用下面的命令能够加速工作进程:
//锁定一个属性避免进一步的修改
setAttr一lock on object.channeIName
//使属性不能添加关键帧
setAttr一keyable off object.channelName
确定不需要属性已经被锁定和不能添加关键帧,以免动画师意外的设定关键帧。还要确保那些属性能很容易从Graph Editor中找
到。

有害的表达式
在Maya中,表达式会明显的使角色的设置缓慢下来。想象一下,在你奔跑的时候,你要在每次迈步的时候先计划一下你的脚该迈向何处。在Maya中,表达式就是这样运行的,它对每帧进行计算。对动画师们来讲,在重试的过程中这会产生错误和问题,同时也会延长渲染时间。现在假设一个场景中有50个角色,每一个角色有3个表达式,那么在每一帧中就要对150个表达式进行计算!
有一个解决方法是:工具节点〔utility nodes〕。工具节点是Maya中的一种节点,具有输入输出连接,这种节点可以插入到物体间的属性中。如果不熟悉工具节点,使用Maya帮助〔在Maya环境中,按下F1键〕,就可以在文档的nodes and atribute部份找到。把它们看作是空组,除非你在outliner中看不到〔M就使用hyperGraph〕。它们通常用来执行数学函数。

如果想让object A.translateX的值等于当前的时间加上5,可以很容易的使用工具节点来实现。下面我们把它直观的表示出
来:
ObjectA.translateX=当前的时间+ 5
对两个事物进行相加,就要使用addDoubleLinear节点,在脚本编辑器中,输入以下内容:
//createNode是一个MEL命令,用来创建节点,-n是一个标记〔flag〕,来定义新创建的节点的名称
createNodetransform-n“objectA".
createNode addDoubleLinear-n份addMe份.
//setAttr是用来设置物体属性的MEL命令
setAttr addMe.input1 5.
//connectAttr是将两个物体的属性进行连接的MEL命令,前者是输出属性,后者是目标属性。
connectAttrtime 1.outTime addMe.input2.
connectAttr addMe.output objectA.trans1ateX
你不必知道MEL脚本是怎样使用工具节点的,只需理解工具节点没有按钮,必须得用手写出。不过,这并不是很难的。
最常用的函数就是加、减、乘、除。TI,va有好几个工具节点来实现那些功能。像ddDoubleLinear是一个很有趣的名字一样,即便它只是简单的把两个物体相加,但你必须知道它是怎样工作的。每个节点都有输入输出属性,它们可以接受一个属性作为输入,而输出到另外一个属性。所以,addDoubleLinear就意味着将两个输入属性相加,并把结果放入节点的输出属性中。帮助文件会让你明白每一个节点的输入输出属性是怎样连接的。

图片如下:

有害的表达式2
工具节点能够缩短渲染时间,减少动画时间,并可以保持角色在设置过程中不是很复杂。虽然工具节点不是在每一帧都求值但它仍是一个使用简单数学函数的好工具。确保对其进行与执行的函数相关的命名,这样可以很快的在hyperGraph中看出来并计算
出接下来的情况。

如果你具备MEL知识,你就会发现多么复杂的事情都可以使用工具节点来解决,包括使用多重节点进行单一的输,以及采用不 同方式对它们进行自动化操作。
在你的场景中,如果非要使用表达式的话,尽量不要让表达式限制了动画师,或强迫一些设置当中的移动。一个较好的例子就 是:当角色的一条腿抬高时,表达式可以自动调整角色的重心。虽然看起来这很有用,但并不一定适合动画师。某些部分还是要留
给动画师,毕竟,这是他们的工作嘛。

计算动画--你的敌人:
什么是计算动画?你可能在以前的工作中已经用过,但并不真正懂得它的意思。相反的,如果你是一个非常有经验的动画师,
能体会到计算动画的感觉。不管你属千哪一种,至少得知道作为一个动画师哪些是不想遇到的。
计算动画一般出现在动画师想设置与控制相反的动画时。把脚向前移动时,臀部就会住后,因为TD将表达式放置在这里。现在必须将臀部控制进行动画,使它回到你移动脚之前的位置,以保证它处在在最初的位置。“可恶的TD!”你说,他是怎么想的?
在设置角色的过程中,必须清楚的意识到一个控制将怎样影响设置中在别处的另一个控制。你不会想在每次移动一个物体时都产生连锁反应。

控制器1

控制器2
每个控制都应该非常清楚并精确的控制着相应的部分。如果是armTranslateX, 那么就会使胳膊上下移动,但不包括肩部。难道动画师们不知道肩部应该抬高的吗?但你只会使他们的工作更加困难,而且可能会给他们造成麻烦。

我是从两方面看待这个问题的。下面是TD和几个动画师们的对话。TD对动画师说:
“我决定添加一个自动的肩部控制来协调双臂的上下移动。如果抬高胳膊的控制,肩也会随之升高。这完全可以节省很多时间。”

动画师甲对TD说:
“不,不,不}你所作的一切只会使我让肩部朝着与它本该运动的方向相反的方向运动。如果我不想要你那种移动呢,或是我想为一个特别的镜头做一个不同的运动呢。我不想要这个。”

动画师乙对TIC说:
“响这功能相当不错。我每次移动胳膊时,不必过多的担心肩部的运动。我只要添加需要控制就行了。”
正如你所看到的,不同的人有不同的看法。尽管这样,曾经与我交谈过的大多数动画师宁愿进行整体控制。任何一种自动化的动作都会使动画师们很苦恼,并且使他们的工作很困难。更好的理解角色是怎样移动的,能够避免创建计算动画。与动画师交流,尽可能了解动画师们的需要。在把它添加到设置以前,要让动画师们知道你想要做什么,交流能够节省你很多时间,特别是时钟嘀嗒嘀嗒的时候。
最后,观察各个控制部分是如何连接的的最好的方法,就是观察角色的解剖图。一定要与使用你的设置进行动画的动画师进行交流。如果动画师们乐千交流,那你更应该如此了。

清理场景:
还记得你的母亲让你将房间打扫千净的时候吗?同样的,当动画师们用你的设置进行动画时,应该将场景清理千净。没有人愿意清除你所产生的那些杂乱的东西。通常在角色设置的整个过程中,清理掉那些剩下的无用的控制和转换。这些节点刚就在这儿,
“刃肠它是千什么用的呢?”如果你都说不出的话,相信我,没人知道那是什么。

层级关系2
整理并不是你的最后一步,它应是正在进行中的过程。将模型的厉史删掉,冻结变换〔freezetransformation),并把角色放到原点上。在每次完成一系列的控制设置后,删除掉那些随之而产生的羌用的控制。在处理过程中,应该检测一下角色的设置,试着经常的断开它。如果它不能工作,那么别人也羌法用它进行工作。

删除历史
整个想法要真正的合乎逻坛,使自己很有条理是一个简单的任务,它会节省你的时间。另一个好的习惯就是确保角色的最终设置与角色都在场景中的一个节点下。这在制作界中被认为是一个标准。即使你在家工作,一直保持工作的条理性是一个好的习惯。如果你习惯于清理,你就不会注意到你正在做的。

层级关系3
总结,下面是一些枝巧列表:
使用不同分辨率:
具有不同分辨率的角色能很明显的增加设置的速度。
少就是多:
最少的控制实现最多的功能可以使动画师尽情的表演。
锁定与隐藏:
锁定和隐藏那些动画师们不设置关键帧的属性通道。
有害的表达式:
表达式有很多缺点,考虑使用工具节点,这将会使动画运行的平滑些。
避免计算动画:
计算动画反而降低动画师的速度。
清理场景:
没人愿意研究你那个杂乱的场景,你得自己清理。
如果你按照上面的每一个技巧来做的话,就可以完成一个漂亮的快速的设置。对经验丰富的动画师来讲,这些都是每个人应该遵循的普通的技巧。但是有些问题经常被问起。对干外面那些并没有建立起一整套工作流程的小工作室来说,这些可能是帮助你加谏生产的一个好的开始。如果你是在家里独自做自己的项目,那么按照上面所说的枝巧将会在制作过程中节省时间。记住,只需要注意你所作的,并理解上面所说的那些细节,那就是所有关千设置的东西最终设置

el-tree设置某节点不能折叠_如何设置动画角色相关推荐

  1. 锁定计算机后如何不黑屏,怎么设置电脑黑屏时间_怎么设置电脑不黑屏

    2016-12-15 15:23:44 进入控制面板:选择系统与安全选项.箭头所指,可以设置锁屏时间,不过电源选项中还有个设置开启屏幕输入密码的设置,第一个就是:可以设置自动锁屏时间. 2016-11 ...

  2. latex如何设置字体并加粗_如何设置微信昵称字体大小加粗变斜???

    大家好 我是二哥 今天呢给大家分享一下微信昵称相关的内容 那就是如何取一个花式昵称 有花式英文名: 当然了也有花式中文名 此处无图 我们找到了一个APP,只需在文本框中输入你要转换的文字就可以实现,除 ...

  3. 怎样设置左右两个区域_消防水炮设置区域高于22米效果怎样

    咨询过消防水炮厂家的客户,或者说了解过产品的,都应该知道像智能水炮参数中,安装高度给出的数值是6-22米,也就是大家在安装水炮的时候,高度可以设定在6米以上22米以下的位置.不过,有些客户就想了:如果 ...

  4. ueditor如何设置上传图片的高度宽度_怎么设置天猫主图

    天猫主图很多人都设置过,不过,新手第一长主图往往不是很在行,所以也不懂怎么设置?那今天,麦顶电商就给大家科普下关于天猫长主图的知识,想要学习设置长主图的店主,这期的内容也正好适合你们. 用的什么工具? ...

  5. android 设置字体为幼圆_怎么设置电脑字体为幼圆 电脑字体幼圆怎么设置

    在word中如何把文字设置为幼圆? 菜单栏选择格式.字体,然后设置中文字体为仿宋,西文字体为宋体,点击确定,可以了,系统会自动调整你所输入的字体. 怎么把电脑里所有字体变成幼圆的啊?急急急? 我的电脑 ...

  6. kotlin设置按钮不可点击_如何设置iphone手机铃声

    如何设置iphone手机铃声? 设置iphone手机铃声必须用iTunes软件,用iTunes软件将歌曲格式转换成m4r格式,才能在iphone手机里设置成铃声. 工具/原料 iTunes软件 iph ...

  7. 设置mysql数据库为只读_如何设置mysql数据库为只读

    直奔主题,mysql设置为只读后,没法增删改.html 设置命令:mysql mysql>set global read_only=1;    #1是只读,0是读写 sql mysql> ...

  8. easyui的tree获取父节点_力扣 1519——子数中标签相同的节点数

    本题主要在于对树这种数据结构的考察,以及深度优先遍历的使用,优化时可以采取空间换时间的策略. 原题 给你一棵树(即,一个连通的无环无向图),这棵树由编号从 0 到 n - 1 的 n 个节点组成,且恰 ...

  9. extjs tree 遍历树节点并设置选中

    function initTreeChecked(){//获取根节点     var rootnoe = Ext.getCmp("id").getRootNode();;     ...

最新文章

  1. 【JOURNAL】《不思八九》 --和友腊八诗一首
  2. 项目启动 ora-00942:_如何解决大型软件项目开发难题?唯快不破!
  3. 如何测试 ASP.NET Core Web API
  4. 2个阶乘什么意思_两个阶乘号是什么意思,-双阶乘-数学-滕诓芳同学
  5. 基于springboot汽车租赁系统
  6. java、sftp文件服务器的操作(获取链接。上传、下载,删除,获取图片或者文件)
  7. oracle的windows用户名,oracle数据库建立后,用户名跟密码设置windows平台
  8. 解决win 7拷贝共享文件很慢
  9. Android--手机一键Root原理分析
  10. 济南大学 计算机学院,于自强
  11. php mcv,swolle http mcv设计问题
  12. 2000元 组装车 思路
  13. 关于office2016 程序停止运行。。。的问题
  14. srm32f4按键蜂鸣器_STM32F407通过按键控制LED和蜂鸣器
  15. 【数据结构】(森林)以孩子兄弟链表为存储结构,请设计递归算法求树的深度
  16. DS_Store是什么?
  17. 数据保护:UPS不间断电源初步使用
  18. 计算机电源要求吗,电脑真的需要用大功率电源吗?走出选择电源误区
  19. Buddy 内存管理机制(下)
  20. Cognos安装详解

热门文章

  1. 配置高可用的Hadoop平台
  2. MySql数据库连接超时处理
  3. 《开源安全运维平台OSSIM最佳实践》实验环境下载
  4. python django 的启动脚本
  5. 软件项目经理新手上路9 - 谁是你的敌人?
  6. Oracle数据库游标在存储过程中的使用
  7. 使用IsLine FrameWork开发ASP.NET程序之一——命名空间与契约概览
  8. ASP.Net 使用css换肤(转)
  9. procreate 笔刷_Procreate笔刷怎么用?初学者必看!!!(含笔刷设置)
  10. python下载不下来_Python不能下载zip文件,而Browser/Selenium可以下载,这是为什么?...