镭射眼怎么做?Blender几何节点教学

2022-05-09 13:35薛山
电脑报 2022年17期
关键词:编辑器矢量手电筒

薛山

上期我們复刻了《终结者2》里T-1000的液态金属机器人效果,这种经典的视觉特效在当前的Blender里实现起来其实并不算难,既是大家练习技巧的好素材,也是发朋友圈微博抖音的好思路。而本期我们将继续这种经典特效复刻教学——超人的镭射眼效果,简单来说就是制作一个可以随意转动的镭射光线,而且这个镭射光线会和环境中的遮挡物进行自然的遮挡交互,话不多说,直接开始教学吧!

第一步:为环境建模

既然是要与环境交互,那么首先我们要做的当然就是搭建环境了,为了教学方便,我们就简单搭建了一个如图1的场景,场景中有地面和墙壁来限制镭射光线的范围,也有猴头和圆环来实现镭射光线的遮挡交互,注意在环境搭建完成后我们需要把所有环境物体都放入到一个新的集合里,这在我们后续的几何节点中会有妙用。

当然,最佳的方案是结合现实拍摄的场景来进行交互,这就需要针对现实环境来进行建模并进行摄像机跟踪,这个方案相对难度要更大一些,但效果会更好,有能力的读者朋友们可以自行尝试,本文还是以简单的方案为例,毕竟它们的背后原理是相通的。

第二步:构建镭射光线的几何节点

接下来我们新建一个柱体作为发光源,可以把它想象成手电筒,应用旋转和缩放后进入它的几何节点编辑器,这时候我们要新建一个曲线直线,并让它与组输入进行合并,这时候我们的“手电筒”就有了一条与之匹配的“光线”,然后我们要做的就是让它们可以自由旋转起来,这时候需要在后面接一个“变换”,这时候调整旋转值,就能看到它们开始旋转了。

不过问题来了,如果直接使用旋转值,我们将无法得到物体的矢量位置信息,而本次教程恰恰需要矢量信息,因此我们不能直接使用旋转值来调整物体旋转,而需要如图2所示的那样,通过“矢量”和“对齐欧拉到矢量”来对旋转值进行控制。

完成这一步之后,大家再观察图2可以看到,镭射光线直接穿过了猴头,并没有像我们需要的那样被猴头挡住,所以,下一个需要解决的问题就是如何让镭射光线不穿过物体,逻辑上其实也比较简单,让光线的末端“吸附”在物体上就行了,这时候就需要用到“光线投射”功能。

我们需要先引入环境模型的集合,然后通过“实现实例”来连接“光线投射”的“目标几何体”,并以我们之前设置的“矢量”作为“光线方向”,这就能让咱们的环境模型成为光线“吸附”的目标了。然后再使用“设置位置”来重新设置镭射光线的位置,记得一定要加入“端点选择”作为选中项,不然整支“手电筒”都会被投射到环境模型上去。如图3所示,完成后我们就能获得一个不会穿透环境物体的光线了。

但这时候镭射光线还只是一条渲染时不可见的线段,要让其呈现出应有的形态就需要使用“曲线转网格”来让它现形,这时候因为咱们的模型里原本就有网格物体,也就是“手电筒”,因此我们需要回到最前面的“变换”,将它与最后的输出进行合并,这时候我们就能得到一个完整的镭射光线输出形态了。

到这一步还没完,我们仍需要为镭射光线赋予材质,不然光线看上去就是一条白线,这时候建议新建一个物体,比如平面,然后为它加载一个“自发光”材质,大家可以通过“层权重”等方法来让光线效果看上去更自然。完成后回到几何节点编辑器,在最后添加“设置材质”并选中我们刚做的发光材质,完成后我们就能获得如图4的最终效果了。

本文所使用几何节点编辑器一览

本章小结

光线投射功能玩法还有不少

其实仔细看不难发现,本次教程的核心就是光线投射功能,这个功能可以为物体通过新的目标坐标,不仅可以命中位置,还可以判断是否命中、命中法相和命中属性,甚至还能输出属性,功能非常强大,由其衍生的玩法也非常多,是很值得大家尝试的。而回到镭射光线效果来看,实现过程只要理清了逻辑关系就并不复杂,也建议大家多玩多尝试,这样才能学到更多的Blender技能。EE8860DC-0425-45B1-9691-E6BB17314D7E

猜你喜欢
编辑器矢量手电筒
司空见惯感觉烦 锁屏画面快走开
编辑精选APP
你距离微信创作达人还有多远?
物理矢量和标量学习中需要厘清的几个问题
力的矢量性的一个例子
时间手电筒
玩意
三角形法则在动态平衡问题中的应用
矢量三角形法则在物理解题中的应用