为 Godot 4 的死亡套装,我想让灵魂看起来像刚刚死去的人。第一次尝试是一个发光的鸡蛋向上飘起,结果人和狗分不清 lol。
现在我创建了一个额外的 MeshInstance3D,拥有与身体相同的网格、皮肤和骨骼。它会免费保留姿势,无论是否骨骼化,而且我完全不修改原始网格。我让它上升并用顶点着色器使其摆动。如果网格的高度超过宽度 1.3 倍且处于水平状态,我会在其上升时使其直立,然后从头部向下腐蚀成颗粒。
透明度让我费了很久的时间。使用透明的复制体会让胸部的每根肢体都可见,堆叠在一起时会变成纯蓝色。我使用了常规的透明深度预通道(Unity HDRP 称之为 Transparent Depth Prepass)来解决。我先渲染同一个网格,打开深度写入并将 alpha 设为 0,然后再渲染幽灵,关闭深度写入。这样只保留最近的表面,得到一个干净的剪影!
一个问题困扰我。我用种子对摆动和腐蚀噪声进行盐化,而深度层的种子与幽灵不同。摆动稍微偏差,导致在幽灵后面丢失部分。现在同一身体的每一层共享同一个种子。
有没有更便宜的方法,在不绘制两次的情况下,从透明骨骼网格中得到一个剪影?
该套装在 Forward+, Mobile 和 Compatibility 中运行,11 月 14 日前打 25% 折扣:https://gennai.itch.io/death-dissolve-petrify-vfx-godot-4
火山之矛免费,压缩包在该页面的“Download demo”下载。
评论 (0)