My chart for the Extra Sensory II event was of the song 42-flux by rN vs. nm-y. The BGA also serves as heavy inspiration for the visuals in the chart. This chart was my introduction into asset creation, including creating 3d models in Blender and writing shaders in Unity.
Some of the themes I tried to recreate was the heavy use of monochrome colors and chromatic aberration (although I did break this rule often). I also tried to adhere to the theme of time. Parts I tried to include directly are the icosphere monument seen throughout the BGA, the large clock with gears, the library, and the ciphered text. There are also many modified screenspace shaders that originated from ShaderToy.
Additionally, I added a "butterfly effect" sub-theme as a continuation of the time theme. Butterflies appear throughout the chart and cause chaos whenever they appear. This page will discuss the chart scene-by-scene in chronological order as they appear. In total, there are 13 different scenes.
The chart opens with a monochrome scene of a large clock animated ticking backwards, signifying time is rewinding to the beginning. The clock is surrounded by a large structure vaguely in the shape of a butterfly. It was modelled by my friend PixelGuy. The structure uses a shader with vertex displacement to subtlety move and appear alive. There also some animated glowing rods in rows down the side.
Two grey notes dissolve in from the sides and slowly gain their color. They slowly move towards the player to be cut and ramp up in speed while doing so. The entire scene is accompanied by a basic film grain and chromatic aberration, both effects and a white out ramp up in intensity as the beat drops and transitions to the next scene.
The next scene is the first appearance of the monument. It is composed of two spinning outer rings, one rotating inner "handle", a spinning icosphere, a "debris" layer that morphs around, and a very bright spiky inner core that is all floating above a stand. It also uses my commonly used shader which is just a simple fresnel effect. Behind it is a large array of monitors which extends into darkness.
All the monitors use the same model and tv distortion effect and each one is seeded differently to randomize the effect. There are 5 variations of the shader.
The note effect is done by rendering the entire scene to a texture and then having a secondary camera render just the notes to a different texture. The post-processing shader modifies the note texture and then does a depth comparison to composite the note texture on top of the background texture. The scene transitions out using a fake pixel sorting effect.
The wormhole is made from an elongated cone that is twisted and made bumpy by a vertex displacement shader. It has a scrolling streaks texture moving towards the player and displaced by voronoi noise. Under that are two layered noise textures moving away from the player. The shader also has a fresnel effect to appear brighter towards the end.
This scene acts as a short transition as it appears the player is being sucked through a wormhole, which is further complimented by smaller fake notes spinning down the tunnel. The real notes also appear by spinning into place. It then transitions out with a color inversion effect and the colors brighten.
This scene represents a solar eclipse with a large moon moving to obscure a sun. The sun is made from a large red ball that is covered in layers of Unity particle systems to mimic the sun's corona. The moon's shader is much later in the render queue. It starts by rendering the black sphere, then takes a grab pass, then uses edge detection on the grab pass using camera depth and normals to only render the edges of objects in front of the moon.
The moon moves behind where the notes converge, causing the effect to be more apparent towards the end of the scene. The entire scene is accompanied by a bloom post-processing shader that uses progressive sampling for efficient blurring. Lastly, the scene transitions out using a tiling effect.
The solar eclipse is seen again in the desert but instead of being a note effect, it is used for lighting. This scene is a large desert being dimly lit by a solar eclipse. This scene was picked because the sandy desert represents the sand of an hourglass and the solar eclipse represents the small moment in time where everything aligns. Again, the bloom effect is used throughout this scene, the tiling effect is used as a transition and the monument is used as a centerpiece.
The skybox behind the sun and surrounding the entire area was prerendered in Blender and assigned to a flipped sphere. Dithering was applied to the skybox to help break up color banding and allowed for a lower file size texture. The large structures poking out of the sand are reused assets from vanilla Beat Saber and their shadows were also baked in Blender. The sand dunes were modelled, given a sand texture and normal map, and lastly very fine noise to appear as grains of sand. Lastly, there is a dust-storm particle system over the whole area.
The sand uses three different techniques for shadows: first, the color is multiplied by the baked texture from the large structures, then uses a simple dot product from the normals to the sun for directional lighting, and lastly uses a hidden shadow camera sampled using PCF and random sampling for efficient real-time soft shadows. The built-in Unity shadow system was not used due to encountering instability with it.
The library is composed with a large clock and pendulum and many aisles of bookshelves that extend into the fog. The room is also filled with smoke. The screen is overlayed with quotes from the original BGA using a cryptic font. There is a border around the edges, slight static, and scanlines to simulate looking through a tv.
About halfway into the scene, the music shifts while a portal opens in the middle of the room and the monument emerges alongside some butterflies. The inside of the portal uses Audiolink to flash. The smoke begins to fade away while the border/scanlines begin to zoom in to appear as if the player is entering the tv screen.
The cylinder scene is made of using panels to create a spinning ring. more rings are added to create a cylinder that tilts up and down and shifts right. Each panel uses vertex displacement to appear shaking on each beat. The scene uses a modified tv distortion post processing effect that amplifies with the music.
The note effect is done using a three part process. First, a camera rendering just the notes renders to a texture. Next, a depth comparison is used to copy just the notes to a buffer texture and all pixels on that buffer have their alpha lowered. Finally, the buffer texture is copied on top of the main camera and then used in the next frame.
Next scene is made of two screens on either side extending down a long hallway with a black hole growing from the monument. There is a subtle tv distortion effect from the last section and a toned down glitch effect. The black hole itself uses a fresnel and depth comparison to color its white border and objects emerging from it while the outlines inside are done using the same grabpass method from the solar eclipse. The outlines have some wiggle using some noise and Audiolink to appear synced with the music.
The hallway and the screen patterns were inspired by this video. The screen shader first generates a pattern, and then divides that into discrete "pixels" which then gets divided into RGB "subpixels" which appears as Moire effect from a distance. This is to imitate the look of large LCD panels.
We are taken back to the library once again, but this time it is mostly submerged in sand. There are small streams of sand falling from the ceiling, implying that a great deal of time has passed and that sand has slowly accumulated with time. The butterflies are also flying around as if they have made themselves at home. The arrows on the notes are modified to only show up in the left or right eye, depending on the note's color. Lastly, the scene transitions with a modified corruption effect.
The butterflies are a particle system which uses a plane mesh that has an edge down the middle with a shader that does vertex displacement to "flap" the wings. The particle system also passes additional data along such as velocity and speed to rotate the entire butterfly forwards and to flap faster at higher speeds. Additionally, there is a sub emitter to leave a trail of stars and a sub emitter to burst into stars when colliding with something.
The next scene has a bunch of large columns holding up the player with a large rotating icosphere frame akin to the one on the monument. Behind that is a large skybox using a trippy shader that takes the previously rendered frame and distorts it. This pairs well with the colorful corruption transition between the previous scene.
Additionally fake notes floating all around and many butterflies flying around to help add color and brightness to the skybox. The real notes take advantage of the background to flicker in and out quickly while still retaining readability.
The next scene acts as a quick transition and is a modified copy of the first monitor scene except the monument is missing and the screens are all replaced with a secret message. Throughout the scene, the screens are replaced by red warning symbols and it transitions out using the same fake pixel sort. This intermission shows that the monument has escaped whatever observation it had been placed under.
Originally, both monitor scenes were much smaller, having only about 9 monitors on each side and having wires connected randomly. It was changed to the current version as moving the monitors back allowed space for the game notes to spawn in and having more monitors filled the space far better. This change was especially important as the fake pixel sort effect looks far better with the red warnings from more monitors filling the screen.
The icosphere returns for the penultimate scene except now the entire area is full of water. There is a rain particle system implying that constant rain has caused the area to slowly flood. The water itself is a large plane with a complex water shader modified to support realtime reflection probes, and the ripples from the rain. The reflections and ripples were also added to the tops of the columns and appear in puddles.
Replacing the trippy skybox is a large nebula cubemap with a shader to make the stars shine extra bright. In front of that is a few particle systems to create fog to help make the nebula feel more 3D. Additionally, some particle are tied to AudioLink to give some flashing that is synced with music. All of this provides a beautiful backdrop for the water to reflect.
For the final scene, the music fades out as the monument stand in the middle of the area and a lone butterfly flies around with a single light casting down from above. The shadows on the floor and all over the monument are again done using the same technique from the desert scene where a secondary camera renders just the depth and is positioned where the light would come from. Additionally the bloom post-processing effect makes a final appearance to make the butterfly and monument core glow.
That shadow camera additionally helps the volumetric fog shader which uses raymarching. By "marching" each ray forward and comparing it to the depth texture from the shadow camera, the shader creates a realistic volume which is partially cast in shadow and looks good combined with the other shadow technique. The movement created by the spinning rings and the flapping butterfly cast a dynamic complex shadow to help show off the technical feats being done as the finale to the map.