我的合作伙伴和我一年多前开始开发一个音乐视觉化工具作为一个副业项目,当我们有了几十个场景(我们称之为“Vibes”)后,我们意识到用户需要一种方式来浏览它们。我们的第一个直觉是只创建一个更典型的屏幕空间画布,带有滚动视图和缩略图像或翻书精灵。 但我们后来对一个玻璃球的类比非常着迷,每一个都像是一个小的球体世界,可以跳入其中(我们仍然打算做出Cocoon风格的过渡)。

我们想要使玻璃球感觉非常沉重和物理 - 一种你想收集的东西 -,我意识到我们可以通过利用两个关键约束来为我们的玻璃球做出一些很酷的阴影:

  1. 玻璃球是球形的,可以被简化为球形。
  2. 它们坐在一个平面的表面上。

这意味着我们可以使用最老的游戏开发光照技巧:胶囊阴影!这是将圆形投影到一个四边形上的一种方法,Mario64中使用过(只是一个缩放和淡出的精灵)。 但在我们的案例中,我们会将四边形着色为阴影,阴影颜色越来越暖和向中心。 我还添加了从玻璃球本身的颜色,调整了棱镜高亮度的强度,根据玻璃的厚度来感觉,最后将低分辨率的立方体反射投影到表面上(我们有一个玻璃球作为参考,并注意到这种现象)。 然后,阴影的方向拉伸由场景中的方向光驱动。

这不是物理准确的,也不是进行任何形式的光传输模拟,但作为一种风格化的方法,我非常喜欢。