在 Blender 中复刻《控制》中的 Hiss 体积扭曲特效

AI3D 发表于 1 周前 浏览 5 分类 新闻资讯

Recreating Hiss Effect From Remedy's Control In Blender
来源图像

在 Instagram 上查看这条帖子

由 Volodymyr Kravchenko(@vovavfx)分享的帖子

在 Remedy Entertainment 的《Control》系列中,Hiss 是主要的敌对力量:一种跨维度实体,它会感染人类,并通过标志性的腐化 VFX 显现自身。这非常迷人,和 Remedy 在现代作品中使用的许多视觉技术一样,也吸引了多年来众多艺术家的注意,他们用不同的工具和游戏引擎研究并复现了这一效果。

最近,Volodymyr Kravchenko 展示这一 Hiss 灵感效果的一段视频在网上走红,一些用户将其令人不安的画面比作偏头痛发作时的体验。Volodymyr 是一位常驻阿姆斯特丹的设计师与视觉艺术家,作品聚焦实验性视觉、动态设计、3D 与实时视觉特效。我们联系了这位艺术家,请他就这一体积流体扭曲效果的制作流程做了简要讲解:

“这个项目的主要灵感来自 Remedy Entertainment 及其游戏的视觉语言,尤其是《Control》。我非常欣赏他们在视觉设计上的处理方式。Hiss 效果促使我在 Blender 中探索类似的扭曲,既使用纯 CG 场景,也使用实拍素材。我拍了几段素材,搭了一个简单的测试场景,然后开始实验。

希望这份拆解能为你自己的实验提供一个起点。在摄影、模拟与动态影像之间的这片空间里,还有很多值得探索的东西。”

  1. 流体模拟。模拟可以用 Blender 的烟雾解算器、自定义的 Python 解算器,或者 Houdini 之类的软件来生成。对这套方案来说,关键在于一段同时包含 density(密度)与 velocity(速度)的 OpenVDB 序列:密度决定效果出现的区域,速度则提供流体的运动。
  2. 冻结首帧。对于 CG 场景,我渲染了一张不带效果的干净画面;对于实拍素材,我提取了片段的第一帧。这张冻结的图像会成为源,在整个效果中被拉伸并流动。
  3. 在流体中携带图像坐标。这是最难的部分。网格带有 UV,所以你可以把它们推来推去;但体积不行:体素没有 UV 坐标,而仅靠一个速度向量也不足以告诉纹理该如何随时间变形。我用 vibe coding 写了一个 Python 脚本,把相机投影得到的 UV 坐标存储到每个体素中,然后让它沿速度场移动。每个体素都记得自己属于图像的哪个像素。流体拖着这份记忆前进,图像便随之跟随。结果保存为一个名为 uv_flow 的 VDB 网格。
  4. 着色。对于 CG 场景,我通过 Attribute 节点读取 uv_flow,并直接连接到图像纹理的坐标上。VDB 在 Cycles 中作为体积渲染,由密度控制扭曲后的图像出现在哪里。对于实拍素材,我把传输后的坐标投影为 UV 贴图,用来扭曲冻结的图像;原始视频则在效果之外继续播放。
  5. 外观开发。我通过对红、绿、蓝通道在略微不同的坐标处采样图像来加入色散。这些偏移会跟随扭曲,在被拉伸的细节周围形成彩虹色的边缘。最后,我调整扭曲强度与颜色,塑造最终外观。

如果你已经通关了《Control Resonant》,正在寻找另一段扭曲现实的冒险,那么 Psych Rift 值得关注。这款由单人开发的游戏让你用一只念力手套,逃离一座被来自另一维度的黑暗实体吞噬的研究实验室。开发者还经常分享有趣的幕后视频:

相关链接

原文链接:https://80.lv/articles/recreating-hiss-effect-from-remedy-s-control-in-blender

喜欢这篇内容吗?