Maya动画小教程:“动力火车”约束案例

(变形枪的教程视频出了bug,视频补在文末)

木头老师这次坐着动力火车来啦,这个案例是木头老师在软件基础课程中专门设计出来学习maya约束命令的。对于一些机械结构使用约束命令来完成联动效果非常实用。

这个案例乍一看觉挺复杂,其实按照步骤来一步一步的制作,其中还是很有条理,很容易的。

我们先来了解下相关用到的约束命令吧:

1、命令解析

2015约束命令菜单

2018约束命令菜单

■ 点约束

约束命令都在动画模块下的约束菜单中,我们先来看看点约束,点约束是用来约束物体位移信息的约束方式,先选择约束物体在选择被约束物体,执行点约束命令,这是被约束物体就可以跟随约束物体运动了。

在命令参数面板上有几个需要注意的选项,其中一个是偏移选项,当我们勾选偏移后,点约束就允许物体有一定的位置偏移,约束后物体会不会重合到同一个轴心点上,如果不勾选偏移物体将会被约束到轴心点上。

在一个选项就是下面的轴向选项,轴向选项下可以允许单独约束单独的轴向。

还有一个选项就是权重,当有两个物体约束同一个物体时,权重可以规定约束之间的影响大小。

■旋转约束

旋转约束是约束物体的旋转属性,其中的参数设置和点约束相似,在这里就不赘述。

■缩放约束

缩放约束是约束物体的缩放属性,其中的参数设置和点约束相似,也不做赘述。

■父子约束

父子约束是模拟父子关系的约束方式。

■几何体约束

几何体约束是将物体约束到几何体表面的约束方式,被约束后物体的运动会牢牢地吸附在物体表面上,模型和曲线都可以作为约束物体。

2、案例部分

终于到了案例部分了,我们先来看看咱们的大火车吧,是不是模型的结构还挺唬人的,一打开就被众多零部件给吓到了。

千万别慌,先要针对场景做一些整理,把这身和相对独立的部分建立好显示层,便于管理。木头老师把车身单独见了层,对左车轮和右车轮分别建层,曲柄和前端的气阀部分也单独建层。

这样我们就可以打开我们需要关注的车轮部分,现在好啦,只剩下车轱辘和横梁了,这样看起来简单多了,记住从简单开始永远是解决问题的好方法,把复杂问题切分成几个简单问题。

先来讨论下这一组车轮怎么运动,显然车轮应该是相同旋转的,所以我们可以用第一个车轮影响后面的车轮。先打好轮子的组,用第一个车轮组约束后面两个车轮的旋转。

接下来改解决下横梁的问题了,横梁该如何运动呢?其实横梁的运动是位移,如果我们想用车轮带动横梁显然不太现实,所以我们在这里引入一个特殊的方法。

建立一个定位器,然后把定位器放到第一个车轮组下作为车轮的子物体,然后使用定位器对横梁做位移约束,定位器相当于将旋转信息转换成列位移信息,横梁就跟着运动了。

第一阶段告一段落,接下来的部分对于新人来说会有些高能,要做好思想准备。

打开曲柄联动的层,我们看到了L型的曲柄,这部分显然不是简单的约束能够解决的。在这里我们不得不借助外援,使用骨骼和ik来实现L曲柄的联动效果

根据曲柄的尺寸打一段骨骼,然后将骨骼移动到模型曲柄处,将模型P给骨骼作为子物体,然后打ik控制器,这样ik手柄就可以带动曲柄运动了,接下来我们需要用车轮对ik手柄进行父子约束,这样当轮子旋转的时候就会联动L手柄运动。

这样我们就来到了最后的阶段,气阀出口的部分和斜梁的联动。我们还是从最容易的地方入手,气阀联动的L手柄相信大家已经猜到和上一个曲柄的方法一样,斜梁的部分会有些难于解决,这也是本案例中最难得部分。

这部分我就不卖关子了,我用的还是ik控制器的方法,使用单根骨骼,将模型P给骨骼作为子物体,然后添加ik控制器。

接下来我们会画一根线,将线移动到骨骼末端的位置上,用线对ik控制器做几何体约束,这样ik控制器就只沿着线运动了,然后再用最后一根骨点对ik控制器做一个点约束,这样斜梁末端就会吸附在运动线上了。

最后用骨点对气阀的滑块做点个轴向的约束,到此为止斜梁就可以带动气阀滑轨运动了。而斜梁的末端骨骼我们P给车轮就好了。

这时车轮的旋转就可以带动一些列的连杆的联动了。好了,烧脑部分就到这里,打字真的好累啊,如果各位想看教学视频可以点击后面的提示查看视频版教程,可以跟着一步一步的操作。欢迎各位继续观众百艺汇聚的系列课程。

百艺汇聚第7期实体班马上就要开班啦!!!

持续火热招生中

现报名即赠送价值3688元预科班一套

(时长六周)

同学们抓紧上车不要掉队

详情请加群咨询管理员朵朵老师或者刘老师

Matlab从入门到精通(1)——学习书单与流程

Matlab是一门脚本编程语言,由于其上手简单、函数库齐全目前广泛应用于各种科研领域。

今天就给大家讲讲从一名Matlab小白到熟练使用Matlab可以参考的书籍和流程。

在展开具体内容之前,首先希望大家建立一个概念Matlab知识一种功能比较齐全的编程工具,类似螺丝刀套组可以用来修电脑、修电视、修家电等等,但是学会了使用工具不等于学会了修电脑、修电视、修家电,深入理解算法思想和操作流程才是熟练使用Matlab进行科研的关键,如果不能做到这一点那说明你不是对Matlab小白而是对算法和你研究的内容小白。

下面我们开始啦。

一、学习Matlab的语法

(这是一堆介绍的废话,不用看)Matlab是一套由Mathworks公司开发的编程平台,相比一般的IDE,他具有更加完善的运行、调试等功能,同时也提供很多准备的预先的函数,其使用的编程语言为M语言,该编程语言的属于脚本语言,主要的特性是无需编译即可运行,对于第一次学习这种语言的同学可以简单理解为这种语言跟C语言类似的一种语言,但是每一句程序都可以脱离主程序单独的执行。

学习Matlab的第一步就是学习Matlab的m语言的语法,该语法与C语言类似,具体学习可以阅读以下内容。

(以上教材是淘宝随便找的40块以下的,现在的教材真是太贵了,买不起买不起)

根据你对Matlab的了解进行选择

书和材料看一遍就行啦,不需要背诵,遇到问题了再预习。

通过上面的学习你已经可以开始把Matlab当计算器用来,接下来先别着急学别的,先用这台计算器及来试试下面的题目。

上述题目主要判断你是否学会了循环结构、判断结构、是否了解了变量的存在。

完成上述题目后,你会发现Matlab当计算器非常好用,可以保留你每一步的计算步骤。并且Matlab的计算能力和计算方式可以做很多以前计算器上做不到的事情,快玩一玩你以前在计算器上玩过的运算把。

二、学习Matlab的常用函数

大家推崇Matlab的原因在于Matlab提供了大量的计算用的函数和专业领域的函数,进行开发时候,可以节省很多力气。

这里建议大家先学习计算用的函数,这是用Matlab进行运算的主要方式。主要包括以下几大类

如果你学习没有思路可以参照以下内容

(以上教材是淘宝随便找,手册这玩意好贵又没啥用,不是土豪别买)

你觉得你学会以后先把里面的例子敲一遍(不要复制哦,自己敲),看看是否报错(错了大概率是你敲错了)结果是否一样。

通过上面的学习你已经可以开始把Matlab当成一个高级计算器来用了,接下来还是先别着急学别的,用这台计算器及来试试下面的题目。

完成上述步骤后,恭喜你已经基本学会Matlab的使用了。

如果你还是觉得无从下手说明你尚未深刻领悟你要实现东西的内在逻辑,需要换个方向努力哦。

三、学习专业领域里的Matlab函数库

前面说了大家推崇Matlab的原因在于Matlab提供了大量的计算用的函数和专业领域的函数,进行开发时候,可以节省很多力气。因此进行具体的开发的时候大家肯定倾向于使用已有的东西,全部推导重做干嘛还要Matlab呢,随便找个脚本语言不一样嘛。

这里的学习可以根据专业领域选择对应的Maltab教材,例如

(这些书都很贵,而且其例子的限制大部分也比较大,有一定的参考价值,图书馆能借到的话还是可以看一看)。

如果英文和专业基础知识尚可的话我还是推荐尽量阅读Matlab的帮助文件,里面的介绍都很详细。

四、写的程序报错了怎么办

大部分人按部就班的完成前面几步之后,到写自己的程序时,发现我的程序怎么报错了,这种情况大部分都是因为第一部学习的时候知识基础并不扎实(实际这玩意看书一般也没法扎实),此处的建议是

坑踩的多了,路才会平。(为啥坑多呢,因为自学大部分就是这样子滴)

总结一下,matlab的学习总体还是比较简单的,难的是各类算法中的实现细节和想法,学会Matlab的使用只是开始用Matlab的第一步。

本站内容来自用户投稿,如果侵犯了您的权利,请与我们联系删除。联系邮箱:835971066@qq.com

本文链接:http://news.xiuzhanwang.com/post/1319.html

友情链接: