Blender&AN:Uber线路编织效果

上图这种科技感很强的幻线早已是设计界的宠儿。制作这种幻线通常需要插件的协助,其中最著名的包括C4D插件Ubertrace,AE插件Plexus。这两个插件名字其实很有意思:Uber是全球最著名的网约车公司,它的服务背后遵循着一套叫“最近点”算法,也就是当用户发起叫车请求时,系统自动搜索并通知离用户最近的网约车接单。Ubertrace的含义即Uber线路,或者Uber车的“痕迹”,也就是把用户热点附近的不同Uber车节点连结起来,制作效果类似于上图幻线。

Plexus一词其实是一个英语词根,词源来自拉丁语,原意是braid,即编织。形容词Complex,包括词根Com-,即“一起”,以及-plex,也就是plexus,即“编织”,加起来就是“编织在一起”,也就是“复杂”的意思。AE的这款著名插件,就是为了制作把所有节点编织起来的复杂效果。不过有一种说法:这种三维效果能用三维软件做,就不要用二维软件做,因为二维软件本身的限制,制作过程不会很直观。但是因为Plexus本身参数界面的设计友好,所以还是很受用户们欢迎。

Blender也需要依赖不同插件来制作这种幻线效果,而Animation nodes(AN)插件的出现使之成为可能。下面视频教程即展示如何使用AN的节点式编程,制作动图中这种Uber线路效果。

关键点提示:

AN中Particle system节点,用于指定特定的粒子系统,因为一个场景中可能存在多个粒子系统。而第二个节点Particle Data则用于提取这个粒子系统中,各个粒子的三维空间坐标,并生成一个list。这个list的对象个数,随着时间的变化而变化。留意到这个节点的输出接口是一个半透明的蓝色接口。在AN中,但凡半透明的接口,意味着它输出的,或者输入的,都必须是一个list,即一组数据,不是单个数据。于是,第二个节点输出的,是一组粒子的location数据,而不是单个数据。

Find close points节点是本效果的关键。它接收一组Points数据,即粒子的空间矢量数据(x, y, z值),然后生成Edges(边)数据。比如Amount参数设置为4时,即计算出周围哪四个粒子,离这个粒子最近,并生成“边”,把这五个点连接在一起。这里要注意的是,edge本身不是可渲染物体,它只是一条参考线,要渲染这些边,则需要生成Spline,即云线。这里使用了Splines from edges节点和Curve object output节点。前一个节点为了指定spline由哪些edge数据生成,而后一个节点则生成具体的spline物体,默认物体名字为target。通过打开后一个节点不同的开关,即可调整spline的不同参数,比如Bevel depth,就可以调整连接线的粗细。

如果需要让每个粒子附上一个模型,用来强化关节位置的效果,比如本例子中的正二十面体,那么可以参考上面这个节点布局。其中Object instancer是模型的复制器,需要接收两个数据,一是需要被复制的物体,因此需要与一个Oject input节点相连,指定正二十面体模型;二是复制的个数,本例子复制的个数就是粒子的个数,于是则把Particles data的location与Instances接口相连,系统则会自动添加Get length节点来算出个数。最后,使用Object Transformation Output节点,指定每一个复制出来的物体空间位置,就是粒子的空间位置。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190203A0CSFS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动