其实第一个问题,在 max 里面有这种复制方式
我们就根据这几个问题来进行我门的教程但是如果打开 outliner, 右键 show shapes ,你将会看到所有的复制得物体都具有相同的 shape node
再来看看 hypergraph, 选择 pCube1, pCube2 and pCube3 ,展开上下游节点。因为现在只有一个形态节点( shape node ) , 所以所有的变形节点都使用这个形态节点,所以你变形任何一个关联复制体,其他的都将产生相同的变化,同样的,当你选择一个物体的组分的时候,其它的的也会别选择。
使用关联复制,不能解决我们前面问题 1 和问题 2 ,我们不能只变形关联复制体而是其他的不变形。所以我们需要其他的办法
幸好, maya 是基于节点的应用程序,用户可以在这些接点之间定义自己的数据流动。
我们做个例子
创建一个 polygon 的球和方盒,重命名为 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 。
[page]
现在你可以看到,原来的方盒现在变成了圆球了,在 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 节点。
现在把主物体变形一下
下面我们再找一个更好的办法,如果变形主物体,而这个变形也会执行到其他的目标物体上就好了
这种情况我们还是使用前面的讨论,但是我们需要连接合适的节点得合适的属性才可以。
连接 tweak 节点得 outputs 到 targetShape 的 inMesh 。
把所有的目标体都这样连上,这时候如果你变形主物体,就会发现,变形也会影响到其他的目标体,主物体和目标体都会产生相同的变化,
好了现在我们在这篇教程最开始的 3 个条件都满足了。
(完)