alias手表教程.docx
《alias手表教程.docx》由会员分享,可在线阅读,更多相关《alias手表教程.docx(15页珍藏版)》请在冰豆网上搜索。
![alias手表教程.docx](https://file1.bdocx.com/fileroot1/2023-1/30/94f628b5-be19-45b3-bf55-0b8609e4ce50/94f628b5-be19-45b3-bf55-0b8609e4ce501.gif)
alias手表教程
第一辑简介
在这一系列的演示教程中我们将涉及到各种不同类型的建模技巧。
其中我将主要讲述的一个技巧,大多数人称之为“拖拉控制点(pullingCV’s)”方法,这种方法也有一些其他的叫法,比如“直接建模(DirectModeling)法”,而我认为真正能最贴切最合适地描述这种技巧的称谓应该叫做“自然曲面法(NaturalSurfacing)”。
我主要将演示的各种例子的关键在于用很少的曲线(Curves)来创建曲面,而这些曲面(Surfaces)的数量也不多。
我们的目标是创建一些十分光滑顺畅的完整的面而不是由一些小面修修补补搭建起来,最终还不能很好的达到曲率连续性要求的面。
我发现当我掌握的技巧越来越多时,我能想到的应对不同问题的解决方案也会越来越多。
我已经用这种技巧在实际设计过程中设计了很多实际产品。
这只是AliasStudio提供给我们的诸多独特技巧其中之一。
这种方法是那些采用实体建模为基础的建模软件所不能比拟的。
(当然实际选用哪种软件才能获得更佳效果取决于你的工作伙伴以及你的下游工作流程)
作为演示这种技术的平台,我选择了一款看上去像是Nike,Suunto或Polar设计的运动型手表。
之所以选择这个模型,是因为它有许多弯折的地方,整个手表的形态极为流畅和具有动感,更重要的是它上面那块形态十分硬朗的液晶显示屏幕,需要非常好的控制它的形状,才不至于显得十分僵硬。
这不是一篇“如何制作一款手表”的教程,而是演示了如何运用这种技术来进行产品设计。
优秀的曲面取决于优秀的构线。
这款手表的表面需要具备一定的弧度。
加上这个要求之后我们就可以来讨论如何让有机曲面和无机曲面之间做到比较完美的过渡衔接
用revolve来创建这个产品的核心部件无疑是最简单的方法,这就需要从一根曲线开始。
这里看到的这根曲线上有若干CV点以达到我想要的形状。
在整个这篇文章中,我们始终不变的主题是使用尽量少的CV点来创建我们想要的造型。
这么做的原因是曲面和曲线一样,都是由CV的分布方式来定义的,当CV点越多时,曲面上产生意想不到的突起或棱角的机会便会越大。
我经常反复不断的重建我的模型以使我的模型上的CV数量减到最低。
这根曲线的上下两端各有3个CV点来定义上下两个端面,侧面两个CV则是用于精确控制曲线的曲率。
另外还要说明的是这是一根5度(5thdegree)的曲线,我发现这种类型的曲线最适合来表达这种面,它比3度的曲线更光顺,同时又没有7度的曲线那么消耗系统资源。
顺便还要说一下,在曲率图上显示出来的曲率半径最小的地方正是后期要增厚来固定表带的地方。
提早为后期的设计做好准备会对之后的工作带来很大的便利。
关于Revolve面
处理Revolve面时我们最头疼的问题就是“极点”了,也就是所有的CV点和形参线(isoparms)汇聚在一起的那个点。
如果你曾今点选过这个地方的面的话,你就知道这个地方的东西非常杂乱无章,无数的点线面互相重叠着堆积在一起。
在极点的位置上,曲面的UV指向任何方向,也就是我们没法获得这一点上的曲面方向,并且不论是Align还是BlendCurves或者其他任何工具都无法解决这个问题。
避开这个问题,我们需要绕一个大圈子。
在这里,我们将主要基于这个revolve面来构建其余的模型
切割revolve面
我对这个面做了一些改动,我把原来的revolve面切割开并且只保留四分之一部分,然后在两个中间的isoparm线上捕捉两个顶点来画一根直线,把这根直线沿x轴方向投影(project)到revolve面上并trim掉不需要的部分。
最终的结果是一个拥有结构线(cross-section)相互交叉,两个边界都是单span的曲面,另一个由直线投影剪切的边界我们暂时不去用它——除非我们的设计已经快接近尾声了,否则一般我们要尽量避免从trim过的边界上来创建新的东西。
创建“基准面”
我通常会先做一些临时面来帮助我的建模。
我不知道这些面有没有统一的标准称呼,通常我把他们称作“基准面(stubsurfaces)”。
等我做出我要的面之后这些基准面就会被删掉了。
这些特殊的面将用来引导创建手表的主体。
用Draft工具(我最喜欢的工具之一)分别沿着X和Y方向拉伸出两个面。
注意拉伸出的面是如何贴和着参考面(即原来的revolve面)的结构线的。
创建主体
这里我用Birail工具来开始创建主体面(MasterSurface)。
这里的截面线(generationcurve)是刚刚基准面上draft出来的面的边界,而两根路径线(rails)则是另外两根单span的边界。
再次说明一下,(在rebuild选项没有打开的情况下)新的rail出来的曲面的边界是受到基准面的span和CV结构的影响的,而基准面则继承了一开始的参考revolve的曲面结构。
这些步骤有什么用呢?
我们现在得到的是一个和revolve曲面十分接近,但又没有影响工作的“极点”的曲面。
另外还有一个好处是,我们现在得到的曲面在U、V两个方向都有5个degree。
而使用revolve工具做出来的面最多只有一个方向有5度(如果你的线是5度的话),另一个方向系统默认只能有3个degree。
我们最终的目标是做出来的MasterSurface要尽可能地贴合revolve面。
我这里要说明一下,如果用revolve面上trim过的边界来做rail的话(也就是2gens+2rails)我们得到的面很可能会更贴合revolve面,但是从trim过的面上创建新的曲面往往会产生额外的isoparm。
我们第一个阶段的任务是布置一个完好的结构和CV排布,之后才是考虑外形的问题,我们的工作才刚刚开始……
四向对称
AliasStudio的LayerSymmetry选项中有一个非常优秀的双向对称工具,只要把一个物体放到一个图层中,然后打开图层对称功能,这样你就能得到一个实时更新的对称模型,任何修改都可以在对称模型中得到反馈。
但是怎样才能实现四向对称呢?
幸运的是我们可以使用instances来得到一个类似的效果。
现在我把rail出来的面duplicate了一个,在Xscale栏中我设置了-1以得到镜像效果,然后把Copy改成了Instance。
Instance是一种虚拟的拷贝,你无法修改Instance的物体,但是对原始物体的修改都会在Instance上反映出来。
在这个例子中,我同时使用了Instance和Layersymmetry功能以产生四向对称的效果。
整个场景中只有一个面是真正可以被修改的,但是其他几个面都会随之同步更新。
四向对称示例
这个例子演示了之前讲述的概念。
我仅仅拖动一个CV点,所有四个曲面都随之改变了。
这样的好处在于我可以更加自由地修改模型,而不要担心模型的结果最终和我想象的不一样,或者是破坏四个部分之间的连续性等问题。
CV简介
在我们开始动手修改模型之前,我想先简单介绍一些修改曲面CV点的基本理论。
我们一排一排地来认识CV布局。
在边界上的CV点定义了曲面的边界形状。
如果这些CV是一直线,那么曲面的边界也会是一直线。
这是“定型线(PositionalRow)”
接下去一排,第二排CV点是“切矢线(TangentialRow)”。
这一排CV定义了曲面端面处的切线矢量,如果所有的CV点和定型线相对在同一个水平面上,那么这个曲面就和它边界上延伸出去的一个水平面保持切线连续(G1)。
这两排CV点都可以很好的手动来控制。
第三排CV是“曲率线(Curvaturerows)”。
这里我们不多说什么是“曲率连续”,只要知道,仅仅通过手动的修改调节而想使两个曲面达到曲率连续几乎是不可能的,这里涉及到很多很复杂的数学背景和算法,必须依靠计算机的辅助控制才行。
当然有两种情况下未必如此。
第一种情况是前三排CV点全部和在同一个平面上,那么这个曲面就可以跟那个面保持曲率连续(G2);还有一种是做symmetry的时候,理论上来讲,一个曲面和它镜像出来的那个面是可以手动调节到G2连续的,虽然可能效果不是很好,但是至少从数学算法上讲它们是可以达到连续性的,当然前提是曲面的边界和对称面是互相垂直的。
使用参考面(UsinganUnderlay)
让我们开始雕琢吧。
我已经把原来的revolve面放回原处了。
我们将以此作为参考来帮助定型我们要做的主面。
为了便于观察,我把revolve面设置成了和主面不同的颜色。
你马上就会发现这个revolve面和主面相互交叉重叠的地方多出了一些杂乱无章的颜色,这是三维软件实时着色时产生的一些错误。
这有可能是一个bug,不过我从来没有见过哪个三维软件可以避免这种情况,所以我将想办法把这个劣势转变成一种优势。
产生这个现象的原因很简单,当两个曲面的之间的偏差很小甚至重叠时,计算机就不知道哪个面应该显示在前面,所以它就把两个面同时显示在前端,导致了这种错误的杂斑出现。
这样我们就可以利用这个特点来判断我们的曲面是否贴合了作为参考的revolve面。
现在我们仅仅看到四条边界的地方有叠影现象,因为现在只有那里的CV点是完全一致的,其他部分的面还没有完全达到想要的形状。
定义表带位置
在正式开始修改主面之前我们还要做一些准备工作,这些工作会使我们的面看上去更加“糟糕”。
我已经定义了表带的起始位置,我先做了一个60mmx40mm的椭圆来模拟人的手腕,然后再做一个和它相切的线作为表带的起始位置。
表带大约和垂直方向呈30度夹角,这取决于你的设计意图及制造工艺。
表带的截面其实是从一开始用于revolve面的那根线复制过来的。
这点十分重要,因为我们要保证表带上的CV及span结构与主面一致。
插入Isoparm
如果我们现在直接把主面和表带Align起来的话,面上大部分的CV点分布结构都会被破坏掉,那样我们就要做很多额外的工作去修补。
任何时候你移动一个CV点,都会影响到它上游和下游的曲面/曲线结构,曲面/曲线度数越高,这种影响也会越大。
通过在主面上靠近边界的地方插入两个isoparm线(ObjectEdit>Insert),我们可以获得两行新的CV点。
我们之前已经有了Positionalrow,现在又在靠近边界的地方有了新的Tangentialrow和Curvaturerow。
现在再做变形的话还是会产生一些变形,但是相对原来的曲面我们的变形将会小很多。
Align表带
接下去我们把这个插入了新的isoparm线的边界去Align到之前创建好的表带上。
之前我们插入的那几排靠得很近的CV点现在被拉开并且将两个部分很完美的连接了起来。
而且这个时候我们还保留着Align的历史,如果你觉得默认的CV点排布过于紧密的话,你可以手动做一些调整,系统会把你移动过的CV点自动调整到最合适的位置以保证不破坏Align的效果。
补充说明一下,我发现这种情况下使用“Align2008”工具可以做到最好的效果,而AliasStudio2009里面的那个新的Align工具则对于trim过的曲面边界处理地比较好。
(译注:
2009版中的新Align工具对于trim面的支持其实还不是很完善,trim面只能作为master面,也就是固定不变的那个面。
但是这个新的Align工具具有很多全新的特性,加入了很多实时反馈的交互式操作方式,同时还大大简化了Align的工作流程,在后续的版本中此工具还会继续增强,最终完全替代Align2008。
)
Align结果
在我们开始对模型变形之前,我们先来看看这个曲面在Align过之后变成什么样了
之前我们的模型中央部分和参考面还十分贴合,不过现在情况改变了。
虽然在Align之前我们加了一些额外的isoparm来缓解这种形变,但是更多的isoparm同时也表示我们需要操作更多的CV点。
所以在不必要的情况下我们不能无限制地加入更多的isoparm
雕琢曲面的第一步
在对CV点进行了第一轮的修缮后,曲面的形状已经变得好很多了。
我希望我可以把每一步的步骤都一点点描述出来,但是对于CV点的调整是非常微妙非常细节的一件事。
我只能在调整的过程中截一些比较关键的以及改动比较大的图。
同时我还希望能有一些这样那样的具体步骤来描述应该怎么去调整和摆放CV点,但是对于CV的调整不是简单的几句话能描述的,主要还是在于不断的练习和经验。
虽然我通常在那边很快速的摆弄那些CV点,但是整个过程还是相当沉闷和乏味的。
从一定角度来讲这也算是一种独特的艺术方式。
总的来说有这么几个小技巧可供参考,MoveCV工具(在controlpanel的左下角)有三种模式,NUV,XYZ和“Slide”。
XYZ模式其实就是Move工具应用在CV点上的效果;NUV模式下CV点只能沿着曲面方向或者沿着曲面垂直方向(法线方向)移动;最后的Slide模式是指CV点只能在连接CV的hull上滑动,这种模式最适合移动TangentialRowCV,只有这样你才能在移动CV的同时还能保证切向的连续性。
至于其他类型的CV点,我一般只用NUV和XYZ方式。
现在动手调整tangentrow,使它们和Positionalrow位于同一平面上。
增加密度
前几步中我说过不要在主面上增加isoparm,不过现在我准备要加了。
为什么是现在而不是之前呢?
因为CV点越是少,曲面的形状就越容易控制。
中间部分的曲面不需要太多的CV点就可以很好的匹配到参考面,现在加上适量的isoparm是为了控制曲面的边缘部分。
如果一开始就加上很多的isoparm,那对于中央部分的调整就会变得很困难。
当你有了足够的经验之后你几乎会本能地知道什么时候该添加isoparm,什么时候不需要。
具体方法每个人都会有所不同,我们不能说哪种做法是对哪种是错,只能说哪些方法做出来的面比较好,哪些不够好。
继续优化
现在我们的效果已经不错了。
叠影也几乎覆盖到所有的曲面上了。
细化底部模型
之前一直没有看到手表底部的截图,现在这张图就可以展现出来了。
可以看到现在底部的状态和表面其实差不多,重影状态也基本覆盖了整个模型。
从图上我们无法展现的一个现象是当你缩放视图时这些重影会随之改变,你可以随时拉近或推远摄像机来观察两个面是否已经很完美的重合在一起了。
投影参考线
很多时候,仅仅视觉上的检查还不够。
现在,我要加上一些更多的部件上去,这必须要求曲面的位置十分精确地在要求的位置上。
我假设这款手表的表面是一块毛玻璃。
因为生产玻璃的制造工艺要求,这个玻璃面必须是非常完美的圆形。
幸运的是我们一开始就是从Revolve开始的,但是我们怎么保证我们创建的面和参考的revolve面已经百分之百的重合了呢?
投影一个曲线(这里是两个圆)到这两个曲面上,现在我知道该从哪里下手调节了。
检查偏差
有了两个投影线之后,我就可以用Locatorspalette里的MinMaxCurve-CurveDeviation工具来测量两者之间的偏差量了。
可以看到我投影下去的两个圆中有一个只有0.0766mm的偏差,而另一个则有0.2144mm。
我希望我的最大偏差在0.01mm之内,这个标准已经比现行的任何制造标准都精细很多了。
我们还有一些工作要做。
。
。
修缮结果
在经过又一轮的仔细调节之后,我们投影下去的两个投影线已经在我们能够接受的范围之内了。
这里还是没有什么捷径,只能慢慢地来调整。
在调整CV时有一点要注意的是要时刻保持CV点分布的均匀性,不管是U方向还是V方向。
我通常不会对同一个CV点做太大的变动,而是采用一组一组地来修改CV点,每一组的调节幅度都不能过大。
这样做出来的结果就不会产生CV点偏移量过大甚至CV之间相互交叉重叠现象。
把物体周围的CV点想象成这个物体的笼子,整个物体的形状是由这个“笼子”来定义的,所以“笼子”的形状不能和物体的形状差别太大。
最后也是最重要的一点,经常保存。
保存不同的副本。
一定要在你插入新的isoparm之前保存好副本,通常我在修改过程中都都会保存一大堆的副本以备万一。
让Instance独立
每一个出色的故事都会有一个跌宕起伏的情节。
而我们这里则有好几个。
使用ExpandInstances工具可以把Instance出来的虚拟几何体转变成可以修改的实体。
应用了这个改变之后,对一边做的改变不再会对另外一边产生影响。
同时我还把layersymmetry也关掉了。
没了instance和Layersymmetry,接下去该干什么呢?
我想,应该是一些不对称的东西了吧。
。
。
情节的转折点
目前为止我们一直在一个多向对称的物体上进行修改。
希望目前为止大家还都能看得懂我说了些什么。
我们的最终目标是要创建一个动感流畅的运动型手表,所以现在我们要给曲面一种被风“拉扯”过的效果。
这里,我选中了构建主要表面的CV点,并沿着Z轴旋转。
在promptline里面输入0027以沿着Z轴旋转27度。
注意旋转时要保证是在relative模式下以免得到一些意想不到的结果。
接下来我要拉动过渡面上的CV点以保证手表表面和表带之间的光顺过渡,CV点之间是相互联系和制约的,在现在这个情形下,过渡面底部的三排CV点是一个组,而顶部的CV则是另外一个组,这两组CV点要当作两个独立的“单元”,每个单元单独控制,但是单元之内的CV点要当作一个整体。
形变的结果
好了,现在我们得到的形状和开始时就已经大相径庭了。
现在的曲面还是很粗燥的,在这个系列教程的之后的几个部分里我会再探讨一下如何将这个曲面做得更加精细。
我希望这些步骤已经能够向你演示了一些曲面建模的优势。
如果这个模型仅仅是对几个封闭的曲面用上一些blend之类的过渡效果,那要得到像现在一样的这种造型就要花上太多太多的时间了。
我们还远远没有结束,等第二部分时我们再见吧!
【作者简介
NaturalSurfacingPartII
在这个教程的第一部分,我们谈到了的几点建模中的小技巧,包括从建模的一开始就注意CV的布局;创建一个四向对称的建模环境;使用参考曲面来帮助建模;以及通过直接拖拉CV点以得到所要的形状。
下一步我们将继续为这款运动手表添加一些细节,并且进一步修缮手表的形状。
螺旋状表带(HelicalStrap)
在第一部分的结尾,我们将一开始对称创建出来的曲面做了一些戏剧性的改变,使其变成了一个扭曲状的曲面。
最初的对称的模型是由一个主面和两个代表表带的曲面组成,如果将两个表带的曲面延伸出去,它们互相之间会有一个呈30度角的倾斜度且互不相交。
这种角度正好符合厂家的制造要求。
但是这种情形却不是设计师所需要的。
设计师所需要的是一个能够向公众表达产品特性的场景——一个带在手腕上手表的场景。
我是通过这样的步骤来使之前的表带改造成我所要的形状的。
绳带应该呈螺旋状以贴合手腕的形状。
我试过各种不同的方法,并且最终我发现最方便最有效的方法是用用一个合适的螺旋线加上内部平行的一组截面来创建这个面。
我用了animatedsweep工具来创建这个螺旋线。
螺旋线从手表主面的一端绕到了另一端——直径60mm。
然而,为了看上去更自然一点,它需要看上去更接近一个椭圆的形状。
我一个一个来细说上面提到的每一个步骤。
。
。
设置曲线
使用animatedsweep工具的基本思路是这样的:
在3维空间中使用标准的keyframing工具来给曲线加上动画效果。
然后animatedsweep工具就会逐帧创建出对此曲线的skin曲面,就像你手动使用skin工具一样,只不过Alias帮你把所有的工作都自动做完了。
首先,创建一个line,宽度与表带等宽(18mm)。
同时再创建一个参考线,和手表的表面等宽(44mm)并且位于第一根线下方30mm处——也就是我们要创建的螺旋面的直径的一半。
接着,把第一根line的pivot设置到第二根line的端点处。
这可以保证我们给第一根line添加动画效果的时候,它会沿着X轴移动并创建出一个60mm的环形面
当你把line创建好及设置好它的pivot之后,选择Animation>SetKeyframe来给这个line的参数变化设置关键帧(Keyframe)
为曲线设置动画
这里我们要做几件事。
首先,把时间轴(timeslider)调整到30,这将使animatedsweep工具创建出来的整个动画产生30个独立的断面。
然后,将代表表带宽度的line(为便于描述我们之后将之称为“宽度线”)移动26mm(44减18)
接着,在transformwindow(informationwindow?
)中,将“宽度线”的Xrotation值设置为360度。
在视图中,你不会看到任何变化。
但对于动画来说,0度和360度相差非常大
在30帧的地方给这个line的transform值设置关键帧(keyframe)
使用AnimatedSweep
AnimatedSweep工具的使用非常简单。
选择以被赋予动画的曲线然后再选择AnimatedSweep工具
如果你得到的只有线框而没有曲面的话,打开AnimatedSweep工具的对话框然后选中“connectsnapshots”选项。
现在你得到的,应该是一个有30个span的螺旋面。
“椭圆化”
我们要创建的表带应该是椭圆状的——就像你的手腕一样——但是animatedsweep工具做出来的面是圆形的。
把这个面垂直方向压缩(scale)2/3,现在它的两个方向的直径应该分别是60mm和40mm。
接下去我们将以此为参考创建rail曲面。
你可以将“宽度线”设置为任何尺寸,但是这个尺寸必须是一个有意义的数字,而不是随便乱来的一个尺寸。
只有这样你在下一步操作的时候脑子里才会有一个清晰的概念。
我喜欢从抽象到具体的设计流程,但是同样希望这个流程是十分精确而高效的。
复制曲线并作Rail面
这里,我把animatedsweep选项中的patchprecision值设置为1以得到一个中心线。
复制它以用于创建rail面,我们将沿着这个曲线来做出表带。
接下来我把主面的的边界端面duplicate出来,并使用Monorail来创建一个单generationcurve/单rail的曲面。
说明一下,为什么我们要这么复杂先做一个animatedsweep呢?
我们为了得到一个椭圆状的曲面而使用了不对称缩放。
如果直接对最终的曲面缩放的话,那得到的曲面在z轴方向肯定是会比较薄,也就是说整个曲面厚度不均匀。
但是通过上面的几个步骤,我们得到的是椭圆状的,厚度均匀的螺旋面。
animatedsweep工具中还有很多其他选项要设置,这里我就不一一细述了,读者可以自行设置体会各个选项的含义。
整合曲面
这个螺旋面是一个完整的环面,但是我们并不需要这么多。
之前我们已经完成的手表主面和表绳的过渡面已经在那里了,所以这里我们只需要这个螺旋面的下半部分。
我用了detach工具来打断这个面,并且删除不需要的部分。
我觉得这个工具比trim要好用,因为这样得到的边界是自然边界,通常来讲trim后的边界中总是会带有一些无用信息,可能影响模型质量。
试试使用这两个不同的方法来打断曲面来感受它们的区别。
把螺旋面打断之后,我们就可以回来做“正事”了,也就是把主面和表绳align起来。
这里我还要说明一下,现在我用的这个手表主面和我们之前第一部分里做的面有点小小的不同。
在教程的第一部分里,我介绍了一种四向对称的建模方式,只要对四分之一部分建模就可以的到一个完整的模型。
不过对于这个自由形态的设计而言,我们在四个方向上并不需要完全对称,甚至其实我们并不需要四个独立的面。
事实上我已经重新做了一遍这个模型,现在手表的主面只有前后两个部分。
你可以把原来的文件用attach工具结合起来,不过在这个具体实例中重新做一遍模型会比attach几个独立面更快。
我用我在第一部分介绍过