前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >“不务正业”的Grasshopper动画系列指南(基础篇)

“不务正业”的Grasshopper动画系列指南(基础篇)

作者头像
UDM Lab
发布2020-04-20 18:00:19
4.1K0
发布2020-04-20 18:00:19
举报
文章被收录于专栏:UDM Lab

前段时间实习太忙,欠了好多推送没有写,这两天算是“浮生偷得半日闲”,把之前本科时的一些练习整理了一下,做成一个“随缘更新”的指南,全是干货,又干又硬的那种(看的人多的话就出视频教程)写给对Grasshopper做动画感兴趣的朋友们。

两个视频都已经上传了B站,https://space.bilibili.com/430535476,也可点击文末“阅读原文”(建议大家去B站耳机服用~)第一个是平时小练习的集锦,重新做了一下BGM,现在回头看看有些too young,too naive……第二个是以“圆”为主题的创作,配上我最喜欢的Daft Punk,当时两天一夜没怎么睡,只用了24小时工时就完成了。

【集锦】本科阶段的Grasshopper动画练习

Circle Animation——参数化MG动画


Grasshopper在大家的认知和定位中,还是作为一个数字化设计的工具存在,拿来做动画,确实有些“不务正业”(方案那么酷,Presentation怎么能少得了动画)想来自己虽然不是建筑生,最早也是被烟灰大神的gh视频大作吸引才入的坑,虽然在Grasshopper中做动画并不方便,但是呢,要做也是可以的,传递设计的逻辑性,表达动态的数据之美,展现Generative Design的生成过程……接下来我就讲讲一些技术的细节。

如果大家有疑问或者更好的思路,非常欢迎在公众号后台回复“UDM Club”,加入群聊和我们交流,相关插件也会在群内分享。

方法1:录屏

这个是最直接的想法,直接录屏,我习惯用的录屏软件是Bandicam。如果你并不追求精致的制作程度,或者你想录制用kangaroo 1 或是别的无法被Number Slider驱动的插件(如Culebra)制作的动画,那你可以选择直接录屏。此时你录屏的分辨率就取决于你的显示器了,更大的显示器能获得更高分辨率的画质。一般我会选择用TopMostViewport或者Ameba创建一个单独的视窗,然后指定录屏软件对这个视窗工作。

视窗确定以后,就可以让你的模型动起来了,这个时候你也有两种方法可以驱动模型,第一种就是手动拉动Slider,如果你觉得在Gh窗口里调整不方便的话,可以把Slider外置到Rhino视窗。右键Slider——Publish To Remote Panel,并在选项中调出Grasshopper面板,这样就可以在Rhino视窗调整了。

第二种方法就是用Time驱动的你的参数化模型,让它自己动起来,你只要录屏就可以了,这里提供3种不同的用Time驱动的方法,分别用了Grasshopper原生电池Kangaroo中的Counter,还有Heteroptera的TapBuffer。大家可以根据自己的需要去修改Time的刷新率。使用Time驱动的优势在于这些数值是可以无限增长的,当你在做一个无限循环的动画或者是一个Generative Design的时候,不会像Slider一样受制于一个既定的区间。

方法2:Number Slider Animation

第2种方式就是借助于Number Slider 自带的Animate,这种方式就是把动画的每一帧都导出成图片,最后到视频软件中合成。想做某个参数的动画时,就在对应控制的Slider上右键点击即可弹出视窗,点击“OK”就会输出,这个视窗需要修改的参数很多,我简单介绍一下:

第1个就是文件的储存位置,动画会以单帧图片的形式存放在指定位置,一般指定一个文件夹存放即可。

第2项是文件的命名,默认格式是.bmp,我为了使导出的图片方便查看,在AI和PS中也能使用,就把文件格式改成了.png

第3项是视窗和分辨率,选择你要录制的视窗,动画最后呈现的也将会是对应视窗的对应显示模式。分辨率可以自定义输入,也可以点击右边的按钮获得Rhino中那个视窗的大小。

第4项是总的帧数,这一项非常重要,决定了最后合成的动画在速率上的呈现效果。要综合考虑数值对模型的影响程度、画面的变化速率、视频最后的帧速率。如果你输入Count为100,你就会获得编号从0到100的101张图片,那么如果你的视频的帧速率是25的话,这段视的持续时间就是 4:01,这时候千万别忘了检查Number Slider的区间还有精度,如果你的Number Slider设置的是从0~1的整数(int),那么你是不可能输出100帧连续的画面的,Slider会在0和1之间重复,要想避免这一点,就要提高Slider的精度,改成双精度的小数(float),以此类推,想要在有限的区间内输出更多的帧,就要设置对应的Slide的精度。想要画面运动的缓慢,就要把帧数调高,反之则减少。

接着再讲讲镜头和视角,一般基础的动画有两种做法,第一种情况就是镜头不动,画面主体物进行变化,这时候你往往需要控制和储存相机的位置,从而在工作流的修改和迭代中保持画面大的连续性

在Rhino中的话,点这个小相机就可以啦,弹出面板,点击储存为,并命名这个新的视图,储存完以后记得锁定视图。当然你也可以对一段动画设置好几个相机位置,相当于“多机位拍摄”。在后期Number Slider的选项中就可以选择对应需要的视角。

第二种情况,主体物不动,镜头运动。Grasshopper并没有自带控制相机的功能,所以如果不写代码的话,就要通过插件来帮助我们控制相机的位置。我常用的控制相机位置的插件是Heteroptera、Animation、还有VRay。

Heteroptera中主要用Camera Crane这个电池,而Animation整个插件都是和动画相关,要用到两个电池的组合,(VRay的动画输出和Number Slider无关,我们下次再谈)。

主要的参数其实大同小异,相机的位置目标位置相机焦距。控制的就是相机摆在哪里,对着哪里,能看到的视野的范围,都是以点的形式输入。

而机位的切换则可以通过Pufferfish插件中的Tween Two Points或者Tween Two Numbers来实现,同样Pufferfish中还有很多插件可以创造数字、向量、区间、曲线、颜色、曲面、网格之间的补间动画,非常简单易用,大家可以自行尝试。

通常情况下,我们的动画不是匀速运动的,匀速使人感到乏味,而在整体系统中往往也有多个参数在变化,这时候我们就要用到Graph Mapper和Remap,通过Graph Mapper,动画的节奏能够产生一些变化,而remap则可以把一个参数映射到另一个区间上,这些都是基础,我就不多赘述了。

另外一个值得使用的就是Stream FilterStream Gate,可以使你在动画的进程中切换视角、算法、或是配色方案,通过+和-可以扩展输入和输出,而控制“门”则可以通过数学上的一些比大小或是取整数来实现。

最后讲一讲显示和材质,网格的话顶点着色,花样比较多,曲面的话可以用自带的Custom Preview,可以结合Material做一些简单的效果。之前提过的Human插件中也有不少关于显示的元件,大家可以自行尝试,我最喜欢的是Custom Preview Lineweights,用来显示曲线非常方便,而且对内存的占用很小。

本期“不务正业”的指南到这里就告一段落了,下一期更新不知道是什么时候了,之后大概会研究一下VRay For

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 UDM的神仙们 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【集锦】本科阶段的Grasshopper动画练习
  • Circle Animation——参数化MG动画
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档