行业关键字
2022中国设计智造大奖 | 2022 C-IDEA设计奖 | 2023年iF设计奖 | 2022Tyvek大奖 | 2022 INNODESIGN PRIZE
CG·动画理论与教程 → 正文
[MAYA]节点连接问题
作者: 21e 来源: 21e 时间: 2008年4月23日

这篇教程将讨论怎样不用 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 。

MAYA节点连接问题
这篇教程将讨论怎样不用 instance 来关联复制,在讨论一些混合变形的一些问题
现在你可以看到,原来的方盒现在变成了圆球了,在 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 个条件都满足了。

(责任编辑: yimei

作品欣赏

欢迎关注视觉同盟微信公众号:
微信公众平台:搜索“vudn2004”或扫描下面二维码:
English | 关于我们 | 站点地图 | 联系热线 | 合作伙伴 | 艺术顾问 | 订阅 | 手机版
版权所有 © 2004-2023 视觉同盟 visionUnion.com)
Copyright © 2004-2023 VisionUnion.com Incorporated. All rights reserved
京ICP备09005192号
视觉同盟旗下子站:品牌专区 | 创意设计人才网 | 视觉同盟社区 | 视觉同盟论坛 | 英文版