Authorware Director Multimedia Builder After Effects Premiere Vegas Combustion Digital Fusion 其他
返回列表 下载 回复 发帖

利用体积选择制作材质过渡动画

  作者:凡子

  首先我们了解一下这篇教程要制作一个什么样的效果



  可以看到,我们至少要处理两个问题,一个是字从无到有,二是从线框变为实体,那么,接下来我们就围绕这两个问题来展开我们的教程   首先,在场景中输入文字   第一步 如图所示,先创建要动画的文字



  第二步 制作文字对象,对先前创建的文字加上一个Extrude修改器,便其变为一个立体字  其中:挤压值amount为20 片段数segments为2(这里不给高片段的原因是线条太密将来生成线框字的效果就不好看)   当然,如果愿意你完全可以加入倒角或其它特殊效果

??第三步 确定大概渲染效果??其实这一步大家可以自由发挥,我这里是采用的天光效果,而且是用一个简单的环形阵列光来摸拟。所以,创建如下图的环形阵列光以摸拟天光, 其中:
  灯光数为8       灯光间复制关系为关联方式,这样好调节整体效果   每个灯的参数在默认参数下作如下改动:       光强度Multiplier:0.3       使用阴影贴图方式的阴影   并且将阴影贴图设置里的贴图采样SampleRange设为:10 大的采样会使得阴影看起来虚一些,这样比较柔和,更像天光





                                                                     



   

    

       
  这是根据我们上面布好的天光渲染出来的效果

点击放大
  第四步 定好了大概的渲染风格后,我们要安排的就是摄像机是如何运作来引导动画了
  这里我作的是环绕文字进行360度观察的效果, 可想而知这就是将一个摄像机对准文字中心进行环形旋转,所以我们将这一效果的实现转变成为一个摄像机作一段环绕动画,以文字为中心绘一个circle圆圈

  第五步 当然,我想你一定能够理解圆环的作用,对,作为摄像机的运动路径,但我们不直接将摄像机创建出来就让它沿路径运动,因为在MAX中一旦给摄像机加入path contrast路径约束再调节摄像机的取镜就比较麻烦了,这样不灵活,事实上我们只需要摄像机是绕着文字作环状运动就行了,因此只需要它和圆环保持某种相对运动关系, 而这种相对运动关系的桥梁就是一个虚拟体Dummy(在创建面板的帮助物体类型里可以找到 )
  如图所示,在文字的正对面,并且在圆的一个正下边缘位置创建一个虚拟体,大小合适就行了

  第六步 接下来就要开始创建一个摄像机了,如图从虚拟体的位置开始拉出一个目标点摄像机target cam。 并将目标点自然放置于文字中心稍后一点的位置.这时创建出来的摄像机还处在水平面上,当然你要将它拉起一个角度,形成从上到下的观察角度,最后大致调节如下图





                                                                     



   

    

       
  第七步 接下来我们要让虚拟体绕着路径线做环绕运动,这将用到一些知识点,如指定动画控制器。  在MAX系统里,物体的绝大多数属性可以被记录为动画,而动画控制器告诉MAX物体对象的某一参数是根据什么变化方式来进行变化的,比如,在这里,我们要让虚拟体沿路径运动,意思就是说虚拟体的位置参数(坐标XYZ)要依据路径线来变化,所以我们要给虚拟体的position位置参数组加入路径约束控制器。  如图,点击虚拟体对象,转到运动面板,按下图所示方法给虚拟体指定路径动画控制器

点击放大
  第八步 现在运动控制器是指定好了,但虚拟体还没指定是按哪条路径运动,所以我们得按下图的方法给这一控制器指定路径

  接着,当我们指定完路径以后,我们会发现虚拟体改变了原有的位置,移到了圆圈的另一个边点上,这是为什么呢,显然,这时我们拖动时间滑块以经可以看到虚拟体绕圆运动了,但它的起始点和摄像机不一致了,这会给动画制作带来麻烦,所以我们要纠正这一问题,下图是指定路径后虚拟体位置发生变化的一张图。





                                                                     



   

    

       
  导致这一问题产生的原因是,路径约束总是将被约束体初始化在路径的起始点,虽然您可以通过运动面板中控制器下的一个叫做percent的值来改变这一初始位置,但在这里,我们不使用这种方法,改变值以后我们往往不易于分析问题,一个初始的值总是以零开始是最好分析的,所以我们不动它, 既然总是以路径的起点为初始位置,所以我们只要改变路径线的起点问题就可以解决,所以我们给circle圆圈加上一个edit spline编辑样条曲线的修改器用以改变它的起始点   如图,给圆加入修改器后,进入点层级,打开show vertiex number 可以看到圆圈线的起点

点击放大
  然后选中正确的起始点,按下如图中的make first 命令即可将起始点改变

  接下来将可以看到,我们改变了起始点后,虚拟体又被放回原来正确的位置了,这样它的绕圈运动才是正确的





                                                                     



   

    

       
  第九步 现在虚拟体是正确运动了,但我们要的不是它去动而已,我们的摄像机可不能还呆在原地,所以我们将摄像机的机身通过运动联接(也叫绑定)工具将它联接到虚拟体上,这里要注意顺序,是将摄像机联接到虚拟体,因为顺序相反效果是完全不同的,切记了。   绑定好以后,我们的摄像机就也可以完好的按我们设计的那样运作了,大概就像这样:


  第十步 摄像机做好了以后呢,我们就来制作文字从无到有以线框方式扫出的动画了, 在这里,我们先分析一下,文字的从无到有动画事实上是一种从下到上的扫描过程,这个用slice切片修改器是最好处理的,所以我们首先想到了这个材质方面,文字在动画全过程中有两个材质状态,一个是线框材质,一个是实体的材质,所以事先准备好这两种材质是必然的,在这里我们使用多维次物体材质,分配两个ID,一个是线框的,一个是实体的标准材质,这样一来,我们要解决的问题仅仅是如何在适当的时候将适的物体部分转变成对应的材质ID号   那么,首先上好材质吧,这样我们好比较效果一些,材质如下图,非常简单,就不多描述了   首先是用多维次物体材质

  实体状态的材质就是个简单的没做个任何变化的standard标准材质,这里就不出图说明了





                                                                     



   

    

       
  我们来看一下线框材质:  注意我在自发光贴图通道里加入了falloff贴图,并且指定了垂直/平行 的过渡方式,依据摄像机Z深度来过渡,指定了两种过渡色分别为黄色和红色,这就意味着越与摄像机深度正对的物体部分就将呈现黄色,越与摄像机深度平等的部分就接近红色,这样物体在动画过程中颜色也是在微妙变化的,因为摄像机在旋转。

  第十一步 接下来我们来制作文字从无到有的扫出动画, 非常简单,先给文字再加上一个slice修改器,并且按如图方式指定参数

  选中slice修改器的slice plane切片层级,将它下图放置,这将是动画的初始状态





                                                                     



   

    

       
  由于设置的是切片下的部分被移除,所以刚开始文字自然是不可见的, 打开autokey自动记录动画方式,将滑块移到第50帧,此时将切片上移直到出现整个文字。如图状态


  这样我们就记录了一段从0到50帧的切片从下扫到上,文字慢慢出现的动画了,但此时观察一下轨迹编辑器如下图:   观察它在向上的运动是先加速再减速的非匀速过程,而我们希望它是匀速扫描上去的,所以我们要改变两个关键点(第0帧和第50帧)的点出入方式

点击放大

如下图更改关键点出入方式

点击放大
  设置好以后再让我们来看看大概效果:





                                                                     



   

    

       
  接下来我们就要制作最关键的部分了,文字从线框变化为实体, 我们开始已经为物体准备了多维次物体材质,但问题是文字出现后一直以默认的ID1的线框材质继续下去,我们要如何才能在随后的时间段改变它并让它慢慢过渡呢, 答案是体积选择!   这里需要大家理解一下修改器是如何运作的:   在MAX系统里修改器像堆栈一样一个堆一个,但是数据却是从下自上传递的。比如,我们先后给文字加入了extude修改器,slice修改器, 加上text基层级本身,一共三个层级。事实上每一个修改器层级包括基层级都有一个输入(input)和输出(output)的概念,text基层级的输入接口就是文本框,字体,字号等创建参数,这是面向用户输入进去的,接着它将这些数据经过一些内部处理后向上一层级输出,接着extrude层级的输入点接收来自text层级的输出数据并进行加工处理,得到挤压后的结果,接着它把这一结果所留下的数据再向上传递给slice,slice接收后将挤压的结果切片,所以,我们必须清楚的了解修改器的自下而上传递机制,利用这一机制,我们就可以解决动态材质转变问题,看下图的流程:

点击放大

  第十二步 由此可见,我们可以利用体积选择的变化产生一种过渡,将实时的被选的部分动态地用material修改器将其材质ID改为2即实体, 所以我们在文本之上再加入两个修改器

点击放大

  知道方法和思路一切就都好解决了,现在我们开始给体积选择修改器的体积做一段扫描动画就可以了   选中vol.select的gizmo次物体级,移动至如下图状态,这将是第0~50帧的状态

  接下来打开autokey自动动画记录方式,选取中体积选择的gizmo并前后移动两下,好在第50帧打下一个关键点,因为我们要从第51帧才变材质。然后将滑块移到最后一帧第100帧,并将其向内移,直到包住整个文字对象如图:

  现在体积扫描的动画就制作完了,来看看效果





                                                                     



   

    

       
  第十三步 现在一个新的问题出现了,由于最初我们用extrude挤压时,片段数过少,仅为2   所以当体积扫描时,只能动态过渡两个部位,这样跳跃性很大,不连续,不平滑。应该让文字在体积扫描之前突变片段数。这里选中文字对象,并打开轨迹编辑器:

点击放大
  接下来再用同样的方法在51帧创建关键点,其值为20,并且将其出入方式均改为突变方式

点击放大
  这样我们就解决了片段数的问题了,来看看效果

  这样一来,实体到线框的渐变就自然平滑多了,最终渲染即可得到最终结果了   通过这个例子主要要了解修改器的流程方式,体积选择修改器等。最后的文件可以不用塌陷作为模版,以后做多个字的分镜头只需改动text 基层级的字就行了。并且,如果你愿意,你要用这种方法扫描什么都可以而不仅仅是字,并且这种动态技术可以用于变换材质、动态放置粒子发射器等等,只要你想得到。  最后教程就到这了
返回列表