欢迎光临散文网 会员登陆 & 注册

C4D场景节点学习笔记004

2022-08-03 09:40 作者:独孤嘌呤  | 我要投稿

所有三维软件的场景节点都是类似的,说白了就是将现有的功能往下层移动,但没有开放至最底层代码。拿汉字打个比方,现有的模块化功能如弯曲、克隆等都是已经组好的词,可以直接拿来造句写文章了。而场景节点则是一个个的汉字,比如给你扫、描、旋、转这几个字,软件已经帮我们组合出了扫描和旋转的功能。如果是我们自己组词的话,还有可能出现“旋描”、“扫转”乃至“转转旋描扫”等奇葩组合。但不管怎么变,总离不开这四个字。而最底层的代码则是横竖撇捺这些笔画,它可以帮助我们造更多的原本没有的字。

所以理论上来讲,场景节点可以实现的功能肯定是涵盖了C4D原有的功能的,只会多不会少。至于我们能实现多少新功能,得看场景节点的全面性和开放程度,还有就是个人的创造力了。对于像我这样的初学者,还是先从实现已有的功能开始比较好。

今天我们来学习下表面噪波置换的做法,这是C4D中非常基础的一个功能,但如果用场景节点来做还是有点讲究的。先看下最终的节点连接,最主要的就是采样噪波节点,它是位于数学节点中的。本质上就是用随机值对点坐标进行变换。

怎么变呢?我们以一个球体为例。用的是几何生成器中的网格参数对象(Primitive)节点,“参数对象类型”选择球体,球体“类型”为二十面体。

这里要变化的是球面上点的位置,但网格参数对象节点的输出中只有几何以及整个primitive的矩阵信息,所以要先获取点的信息,用到的是点信息(Point Info)和点设置(Point Set)节点。前者获取几何体中点的信息,变动之后输入到后者更新设置。然后别忘了加一个几何算子节点才能连接到场景根

按照上面连接好之后,球体是不会有变化的。现在该轮到噪波出场了。将点信息节点的点位置直接输出到采样噪波节点的数值端口(迭代收集节点是自动生成的,不用管),得到一个随机值,然后再添加到原来的点位置上。用到的是算术节点,“运算”方式为加,注意“数据类型”一定要改成Vector,因为坐标是矢量。

为了让噪波变化更明显,我们给噪波数值乘上一定的倍数再和原来的点位置相加。用的还是算术节点,“运算”方式为乘,比如乘以40倍。效果立竿见影,但有点惨不忍睹。

原因是噪波变化的方向并不是沿着每个点的法线方向,这时候,点信息节点中点法线就可以派上用场了。法线也是一个矢量,将它乘上噪波的数值后每个噪波值就有了方向(采样噪波的数值应该为标量)。注意这里第二个算术(乘)节点的“数据类型”也要设成Vector,否则算不出结果。

这时球面噪波效果其实就有了,将球体分段数加大至120,如下图所示——

调节噪波的比例、类型、以及乘的倍数(强度)都和置换变形器的用法一样。如果需要做噪波动画可以用一个时间节点连接到采样噪波的时间输入端,点击播放即可。

总体看来,节点连接的思路还算清晰。节点本身的属性不是太多,看来只能在连接线路上下功夫了,边学边看吧。从某种意义上来说,线路就是你的脑回路,连的时候注意排版,别把自己绕晕了。

最后不得不吐槽:C4D的场景节点排版功能太渣了!

C4D场景节点学习笔记004的评论 (共 条)

分享到微博请遵守国家法律