Blender几何节点:数学的强度美
人物是老活儿,场景是新整。
最近在玩Blender的几何节点,看下来和Houdini的几何差距还是挺大的。
Houdini的几何节点最擅长使用一套规则快速生成大场景,包括但不限于高度图生成地形、算法生成道路和河流岩石雕刻等。Blender的几何节点更注重单个物件的视觉表现,例如如何让一个Mesh在自我复制实例的同时绕贝塞尔曲线旋转。
以上的例子都是对两个软件的粗糙概括,实际上,Houdini和Blender的功能上限远不止于此。但工具说到底也只是服务于人的想象力的,就像本篇文档中的几何节点场景,制作出来也只是为了满足本人的小小愿景。
一切的开始
初学Blender几何节点,第一个例子是手搓两个圆球,一个自转,一个绕着一个公转。这个例子继续做下去,可以手搓出一个太阳系雏形,但我想做点别的东西。
两个实体对峙,周围是转来转去的乱七八糟的玩意儿……这个功能最终在本人脑海里形成了类似这样的画面:
这真是够抽象的。但没关系,马上就会变得不抽象。
角色三渲二处理
三渲二材质处理
用Blender进行三渲二已经属于本人的舒适区了。在去年的Blender三渲二学习后,保存了不少预配置好的三渲二工程模板,这次只需要下载三月七模型,放入后一顿材质连线,即可将模型做出三渲二效果了。
不过高清材质和高光贴图都是从别人那里下的,并不是自己画的。
Rig控制器生成
三渲二效果处理完成后,此时的模型还是A-Pose,放在场景里怪怪的。为了完成上面的画面,需要对三月七进行K动作。直接K骨骼是最蠢的办法,很容易K出非人的姿势。这里用了CATS MMD插件+MMD Rig插件,直接以MMD JP为预设生成了Rig控制器。
3D动画的本质是一堆点动来动去。Mesh定义了一堆点,而Bone定义了它对不同Mesh的影响权重。在这两层概念上,Rig控制器定义的是Bone之间的运动关联,例如拉动手掌会联动手臂、转动脖子会移动脑袋角度等。
CATS MMD插件和MMD Rig插件我只在2.79里用,更高的版本经常出兼容问题。在2.79工程里K好了三月七的姿势候,就可以挪进3.0+版本里继续制作几何场景了。
实际上,如果更加用心,应该K出一段呼吸动画优化表现的。但我并没继续K,毕竟场景制作才是本文的重点。
而且我实在懒得。
武器Solidify处理
细心的朋友应该发现了,三月七的弓不知为何在发光。这并不是渲染出错,而是本人的“匠心设计”。
因为预设的是一个较黑暗的场景,如果自然光太弱,三月七就不够突出。为了让三月七的背影更加威武(?)。决定给武器加点特效让它看着更像一把牛逼的武器(天火出鞘)。
描边自发光效果非常好加。新增一个材质,在里面写Shader定义外观。给弓添加Solidify Modifier,法线方向反转,然后设置材质偏移为2,指向自己新增的材质。此时粉色描边效果已经有了,可以通过thickness控制粗细,以及是否勾选平滑。
这个做法是Blender三渲二里最常见的,并且是本人唯一稳定掌握的描边方案。MMD插件其实自带创建描边功能,但用了几次发现很不稳定且黑盒难以调整效果,最终还是采用了最开始学的老办法。
场景几何化生成
角色已经做好了,并且拉出了一个精品分镜,现在该做转来转去的目标了……慢着,在目标前,是不是忘了什么?
当然是地形和远景!!!
“我是谁、我在哪儿和我要干什么”的人生三问里,“我是谁”已经得到解决,“我要干什么”也有了初步答案,但“我在哪儿”还没有处理。实际上,要先做好大场景,才好往上堆各种“我要干什么”的小景观。总之,现在要开始做场景了。
地面生成
整个场景的“风土人情”是这样的:
打了一盏光用于标记“日后要在这里放一个奇怪玩意儿”,颇具科幻风的地面已经做完了。地面的几何原理其实非常简单,先拉一个Plane出来,然后在Plane的所有点里噪音选点,最后以最大+最小+密度等规则生成对应的实例。核心节点是Instance on Points,即在点位上生成实例。而实例,自然就是场景里随机出来的大小方块啦。
根据YouTube视频来,其实在地面的基础上来制作了大中小三种景观Cube的随机分布。但实际用了下感觉很丑,于是把这部分几何的生成密度调得非常低。
高台生成
做完了基础地形后,回到分镜中一看,感觉角色仰视的感觉并不强烈,因为角色和目标是同一水平面。为了凸显目标的高大感,做了个小高台。
把目标做高本身也是一种思路,但我觉得这样会显得场景太平。总之只是一种个人选择。
高台用了和地面完全一样的几何逻辑,唯一的区别是,这次我没有拉Plane,而是直接在几何节点里“无中生有”创建了一个Cube,并以Cube的XYZ作为空间约束,去生成随机方块来填充。这样做的好处是高台大小更可控,如果根据Plane生成还得算下它最终会扩大到Plane尺寸的多少倍。
圆环生成
基础地形有了之后,场景实在太空了。为了进一步凸显科幻感,打算做一堆会绕着玩家转来转去的圆环,做出一种类似环行星带的氛围。
加了两圈光环和两圈石头环后,场景现在长这样。
石头环是用贝塞尔曲线拉出来的,贝塞尔曲线并不算几何节点,但也是Blender里非常方便的建模方案,尤其是用来做卡通系大块头发。光环和几何节点其实也没多少关系,除了动画每帧+ Rotation Z做出天体旋转的效果。
背景制作
摊牌了,背景的黑色半圆柱和一堆柱子是手搓的,这部分没有用几何节点制作。
对于效果简单的模型,自己建模还是比几何节点要快得多的……不过,也可能是我几何节点学得不够多。
总之,在加了一大堆场景元素后,构图现在变成了这样子。
接下来就要往画面主体里加入那个转来砖去的奇怪玩意儿了。
圆柱球体几何化生成
圆柱球体的制作高度参考了YouTube上的一个教学视频。前面也提到了,本人其实是初学者,之所以要做这个工程,是希望能学以致用去做自己想做的内容。这个工程的制作过程就是在学习,所以照着人家的视频做也情有可原,毕竟本人太菜做不出想要的效果。
唯一的遗憾是没有搞来一个真正的纠缠之缘模型,让它在上面转来转去。
世界渲染设置与导出
圆柱球体做好后,整个场景长成这个样子:
在近处的渲染大概这个样子:
其实,上述截图都不是开发中的真实画面还原。我是做好了整个工程后,通过开关局部内容,来表示我在每一步做了什么。最开始选定的分镜也经过了很久的调整,毕竟草图实在太抽象了,要用3D还原可不容易。
分镜选好后,调整下Render设置和渲染图层设置,来控制渲染画面效果;调整下Output选项的文件格式和压缩方法,来控制最终输出的文件和质量。这些操作对于本人来说又进入了舒适区,用了较低配的EEVEE渲染参数打算快速渲完。
不重要的后话
一旦开始渲染,电脑就会变得卡卡的。我打开Github,打算把这个项目写成一篇文档。写着写着,就忍不住把玩起Blender工程来,彷佛这就是自己的一个赛博手办。
这就是我为什么喜欢3D项目。2D是视角限定的,你要用自己的想象力补足2D到3D的空白;而3D是精准的,哪怕你只是想做一个分镜,你也要制作一整套资源。
而当你做完这一整套资源,那张分镜已经不只是一张照片了。你“被迫”设定好了人物、场景和目标的全套内容,甚至为它编造了一个小故事。并且,除去分镜的画面,你可以从任何角度观赏你创造这个小世界,获得更多的观赏体验。
3D是一件需要漫长流程的工作。一堆职能参与进来,指手画脚,领取自己的工作,最后合起来看看能不能跑。每个精美的3D资产,背后都是一堆人的雕琢和合作。
并不是只有一个人的天才绘画才叫艺术品。每件制作规范且视觉无死角的3D作品,都同样是工业上的艺术品。工程做完后,我选了很多个角度,进一步欣赏这个由我创建的小小天地,主要是欣赏三月七。
距离上次制作3D动画,已经过去快一年了。这一年间回到熟悉的资源网站,发现大家的更新频率生猛似虎,自己学习和下载过的“新”资源,早就被刷到了二十页开外。这次的渲染方案其实也偷了一些最新科技,毕竟新表现不用白不用。
Blender3D是一个充满了活力的地方。三渲二在发展,人物骨骼动画在发展,几何节点场景也在不断发展。不断优化工具、打磨技术、创造出更好的作品……这就是我入坑和喜爱3D动画的地方。如果不能持续前进,人生该有多无趣。
因为选了很低配的渲染设置,其实文章大纲才写完,Blender就渲染好了。之前的3D动画都会发到B站上,这次的小小作品打算以Gif形式留档,等以后做些大的再发到B站上去。
Blender几何节点:数学的强度美
https://uynad.github.io/2023/06/05/devlog/20230606-geometry/