MAYA怎样不用instance来关联复制

这片教程将讨论怎样不用instance来关联复制,在讨论一些混合变形的一些问题。

这有几个问题

1,我们需要创建一些形状差不多得物体,当我们改变主物体的时候,复制体也反映出这些变化,但是我们也能自由得改变复制物体,而这时候,主物体不发生形变。
2,如果我们关联复制instance,如果选择着一些物体(主物体和这些复制物体)中得一个改变她的组分,其他得都跟着变化,这是很讨厌得
3,当我们创建混合变形(blend shape)的时候,我们就不能改变着模型了,只要我们一动混合变形得滑条,刚才我们在模型上得组分变形就全没了,我们现在需要改变模型,同时那些混合变形的目标体也跟着变形。

其实第一个问题,在max里面有这种复制方式。

我们就根据这几个问题来进行我门的教程,先看看关联复制是怎么样得,打开Edit->Duplicate得选项框,选instance关联复制。

但是如果打开outliner,右键show shapes,你将会看到所有的复制得物体都具有相同的shape node。

再来看看hypergraph,选择pCube1, pCube2 and pCube3,展开上下游节点。

仅有一个形态接点显示出来,但是颜色不是白色,灰色,而是粉色,双击箭头,打开连接编辑器,你将看到InstObjGroup[] 到 DagSetMembers[]之间的连接。

因为现在只有一个形态节点(shape node),所以所有的变形节点都使用这个形态节点,所以你变形任何一个关联复制体,其他的都将产生相同的变化,同样的,当你选择一个物体的组分的时候,其它的的也会别选择。

使用关联复制,不能解决我们前面问题1和问题2,我们不能只变形关联复制体而是其他的不变形。所以我们需要其他的办法。幸好,maya是基于节点的应用程序,用户可以在这些接点之间定义自己的数据流动。

我们做个例子,创建一个polygon的球和方盒,重命名为box和ball,把他们排列一下,使得你能清楚地看到他们俩。

打开Hypergraph,选在box和ball,显示他们的上下游节点。

BoxShape节点是box的形态节点,同样的,BallShape是ball的形态节点,现在我们想要Box跟随Sphere的形态,所以他现在不应该是个方盒,而应该是个球。

在hypergraph里面托拽BallShape(主)节点到 BoxShape(从),出现的菜单选择 Other...连接编辑器Connection Editor就会打开,BallShape 在Outputs ,BoxShape 在Inputs,在Outputs里面找到"outMesh",在 Inputs 里面找到"inMesh",你会发现在Inputs里面的 "inMesh" 是灰色的, 这显示了已经有一个 input 连接了,没关系,我们覆盖它以前的连接就可以了。

在Outputs,选择 outMesh ,在 Inputs.选择 inMesh。

现在你可以看到,原来的方盒现在变成了圆球了,在Hypergraph 里面可以看到,从 BallShape to BoxShape粉红的箭头,BoxShape 不再从polyCube1输入连接了。

现在我们来检查一下效果
1,我们改变BallShape,BoxShape会跟着变化吗?(就是改变球的形状,以前是方盒,现在是球的那个物体会跟着变化吗)
2,我们改变BoxShape,BallShape会跟着变化吗?
如果满足了条件,那么我们就完成了的3个问题的前两个。

下面来看这片教程最开始提出第3个问题,关于blendshape的问题

在一些其它的软件中,使用类似于blendshape的工具的时候,如果你变化主物体,则其他的目标体也会自动得产生变化,举一个例子,如果你做了30个目标体,已经设置好了Blendshape,这时候导演对你说,Bob,颧骨太高了,我想要低一些,前额太小了,变大一些,下颚太方了,变得圆一些。这时候,如果你能只改变主物体,那些目标体都能跟着变化就好了。

先叫我们看一下blendshape在Hypergraph里面是怎样工作的。在这个例子里面我们就用跟简单的多边形物体吧,建一个2*2*2的方盒,做3个目标体,target1, target2, target3,把他们在稍变形一下,如下图

创建了混合变形后,在Hypergraph里面注意,将会涉及到一些节点,一个中间物体(通常在它名字里面带有Orig)一个tweak节点,当然还有一个blendshape节点。

现在把主物体变形一下

在默认得设置下,如果你变形了主物体,当你再去滑动Blendshape得滑条得时候,会发现刚才对主物体的变形不起作用了,这是因为当滑条值为1.0的时候,maya总是把目标体的形状完全覆盖主物体。

现在有一种办法,就是向上移动tweak节点到整个链的末端,这样的话就可以使主物体的变形不会被目标体完全覆盖。

这是告诉maya,先计算blendshape节点,再应用在顶部变形以达到最后的效果,但是这不是个好办法,没有完全达到我们的预想目的——主物体变形,目标体也跟着变,而是主物体保留变形,但是目标体没有跟着主物体变化。下图是把target1滑到1.0的情况。

下面我们再找一个更好的办法,如果变形主物体,而这个变形也会执行到其他的目标物体上就好了。这种情况我们还是使用前面的讨论,但是我们需要连接合适的节点得合适的属性才可以。连接tweak节点得outputs到targetShape的inMesh。

把所有的目标体都这样连上,这时候如果你变形主物体,就会发现,变形也会影响到其他的目标体,主物体和目标体都会产生相同的变化,好了现在我们在这篇教程最开始的3个条件都满足了。

全教程完,学完记得交作业。如果本教程对您有所帮助,请推荐给你的朋友。

【原创教程 投稿邮箱: ps@16xx8.com】

长按二维码关注我们

关注我们微博:@photoshop教程论坛

推荐教程