top of page

The Traveller

The Traveller is an Audio-Visual piece created through the combination of original 3D visuals and a piece of music of the same name from composer Ben Moss

This website works better if you zoom out a bit

Week 1

This week I started with the creation of many different short animations in Blender as a way of easing into the project and creative a pool of ideas that I can dive back into at any point when I come back and start hashing out the main body of the animation.

Fractals

I have been exploring Geometry Nodes in Blender, These nodes allow you to create repeating geometric patterns that can create some very interesting affects. On the right is a video that shows some fractal based geometry with animation drivers to change the shape over time. This creates and affect I am very keen on using

Metaballs

Metaballs are a series of shapes that act more like liquids. As they get closer together they end up merging together. The video on the left is the result of my brief exploration of how I might be able to use metaballs in my animation to create liquid like effects.

Glass

I also started experimenting with different materials and shaders. I am trying to emulate the kind of short videos that 3D artists post in order to show off some new shapes or textures they have worked on recently. This video shows a glassy square being cut in half by some sort of laser. This is the start of me working with shaders, lights, and materials in Blender.

Week 2

This week I started diving into the immense world of shaders and materials, as well as looking at different rendering settings in Blender. Knowing how long each frame needs to render helps immensely with planning out the rest of this project. There is no point having a beautiful project if I miss the deadline by multiple weeks due to rendering.

Lights and Glass

I've started messing with lighting and the way it interacts with glass shaders. Because glass is one of the most time consuming things to render, I made sure I started working with it early in my process. I have also been using the computer labs in order to render these prototypes in a somewhat timely manner.

The glass shader I am using for this scene is very reflective. so in order to reduce the amount of the scene lighting being reflected, I had to make them very large and disperse.

The scene is set up to have a slow camera pan from left to right, with three different coloured lights transmitting through the glass ball.

Learning from mistakes

The camera movement and lighting are all set up correctly and look great. However there is supposed to be a displacement affect on the glass ball. I worked out later that when rendering procedural animations in Blender, you first need to have your animation baked into the cache. Bellow is a collection of images from different angles around this ball.

I am loving both the look of the glass shader as well as the mixed lighting. The mixture of Orange, Mint, and Pink really help show off the splendour of the rendering. The bottom middle picture does show off the problem with lighting I was explaining earlier though. You can see the two greyish circles reflected in the glass. These ambient lights are fairly essential for having the scene lit properly, and so the unfortunate side effect is that they are reflected in the glass.

Displacement

After collecting the above renders I managed to fix the aforementioned animation issues. While testing I used a much lower sample count. The render to the right suffers from not having enough samples for the internal refractions of the glass.

With the remaining time I had this week I decided to do an over night rendering test to see how high I could push the quality before it started taking too long to render for me to feasibly use it in this project.

The above video is 1080p 24fps with 2 samples and took 30 minutes to render.

The video to the left is 1440p 60fps with 1024 samples per frame.

The quality of the render is significantly improved but the render took 8 and a half hours. This gives me a lot of information regarding what I can get away with in the final render.

Week 3

This week I continued making small renders of different ideas as well as starting work on the first section of proper long form animation.

This render uses a similar lighting and displacement technique to the glass orbs from last week. This time I am just looking at transferring some form of wave down a meshed object. Whilst this trial did see success, it is clear that many more vertices are needed for this kind of animation to be seamless. It is also a little too grotesque for my uses in this project.

This is my first render test for the long form animation. While this clip is short, I was testing the implementation of light into the scene.

This test has also inspired more of the creative process. I think it will serve the overall narrative to start with a black and white scene and slowly add more and more colour. This allows me to not only use shape and movement, but also link colour to the musical expression and interpretation.

Week 4

Week 4 is when I started working on the layout of the entire piece. As the piece evolves it moves through different sections that are meant to represent different biomes. I decided that I wanted to have separate 3D animations for each of the main musical ideas in the piece. The document to the right lays out the different ideas I had

rought timeline.png

I started working on the second section. I wanted to use Blenders Geometry Node system to create some procedural animations.  I ended up using the system to create some rings that rotate around themselves. I was really happy with how the animations came out, and I decided that I could also use the hole in the middle as a way to transition to the next scene.

Above is the first render test of this system. It came out well enough for me to use it to build one of the scenes. Below is the first lighting test of the rings. I changed their material to be metallic and highly reflective so that I could have different coloured lights mix on it's surface. I think the effect turned out well.

Eevee metal rings.png
rings pirpl.png

I settled on having the rings super reflective but also having their own light purple colouring. This helps to differentiate between the grey tones of the previous scene. I wanted the colour to slowly enter over time.

I also messed around with the geometry nodes some more and ended up creating the video on the right. The scene uses math nodes and volume textures to create the sense of an infinite loop.

Whilst the effect is cool, I didn't think it fit with the aesthetic I was building for the animation, and it also wasn't tied to anything in the sound sense. It is a very specific effect, which will be helpful in the future, but is not helpful for the current project.

this is a video >

Week 5

Week 5 I started working on the third scene. The music transitions to a glockenspiel and has very distinct transients. This evokes a snowy, wintery feeling. I chose to represent this sound using lights and glass. The first two scenes are fairly abstract, and so I wanted to have a scene that is more connected to the audio.

I started by designing the layout of the scene. The camera pulls back and glass pillars grow out from the floor.

plink.png

I was fairly happy with how this looked. The glass was very clean and I thought the tone of pink was pleasing. I decided however that I wanted to go with something more crystalline. The glockenspiel in the music reminded me of the sound crystal glasses make when you flick them, So I looked into keeping the shape, size, and layout of the glass pillars but with a different surface texture. 

crystals Cycles.png

I used the built in Shader Graph editor to create a surface displacement shader. This keeps the geometry the same, but allows for a crystalline like texture on the outside. This shader mixed with the internal lighting of the pillars created a really nice effect that I thought created an effective link between the audio and visuals.

This shader uses a generated texture that describes the position of the vertices of the mesh, it then takes that informations and maps it to a noise texture. I have included a picture of Voronoi noise to help explain the effect. The displacement uses the black and white texture, but I have included the colour version to show how the noise texture divides the texture into "cells".

The shader then uses the black and white map to set a value for the displacement of each vertex. White represents a displacement of 0 and black represents a displacement of 1 unit.

Because the voronoi noise is split into cells, and uses smooth gradients in the black and white texture this creates visual craters in the surface of an object that have different sizes similar to the surface of a crystal

shader graph.png
voronoi noise2.png
voronoi noise.png

Because these crystals are the most complex light simulations in the project, I also used them to test for potential increases in rendering time. One of the main increases in performance that can be achieved is reducing the amount of light paths in the scene. Too many light paths can lead to unnecessarily long render times, so I experimented with whether or not I could reduce them for the final render. Below are the three test images I rendered in increasing light path order. The final picture is the Blender default.

low light paths.png
mid light paths.png
high light paths.png

This test unfortunately proved to me that I could not decrease the light paths without reducing the ambient brightness of the crystals. Although the lighting was not effected when lighting the crystals up, I thought there was less depth and complexity of colour in the unlit crystals with the reduced light paths. This means that I can't reduce the light paths without compromising the artistic vision of the project.

Week 6

Week 6 started with the creation of a new scene. I wanted do do some procedural animation that was controlled by the drums in the piece of music. I started by creating a tessellated grid of hexagons inspired by Giant's Causeway in Ireland.

hex grid.png
giants causeway.jpg

The geometry nodes for this set up look more complicated than they are in practice. The nodes work in two parts, the tessellation creation, and the vertical displacement based on a wave texture effected by the sounds.

The geometry is created by making a grid of points, instancing hexagonal prisms on the grid points twice, and then offsetting one of the grids. Once these grids are in the correct position, the geometry can be joined together to a single group. This group can then be modified using a black and white wave texture. This wave texture is set to use the sine function, so the vertical position of each of the hexagons is offset in a pattern that looks like a sine wave. by animating the "Phase Offset" variable on the wave texture I can effectively scroll through the wave which creates the wave effect on the objects. Controlling this parameter based on the frame the project is on, I can have it scroll through the wave over time. This creates a cool sine wave effect. The final part of the effect is from the value node at the bottom. The value node is connected to an animation curve that follows the transients of the piece of music. This means that the wave effect will always move forwards, but will sometimes jump forwards in time with the transients in the track. This worked especially well when timing it with the drum stem.

sound f curve.png

The drum stem baked into an animation curve

The last scene of the animation I decided to have something slower and more peaceful to stay in line with the music. I came up with the idea of a blossoming flower. I made a model for the petal, and then used a geometry nodes setup to place the petals around in a circle. The geometry nodes setup allowed me adjust the rotation and position of the petals quickly and easily.

openFlower.png

The quick and easy adjustment for the individual rows of petals allowed me to fold the flower up into a bud, and also animate it opening smoothly. This allowed me to start the scene with the flower bud growing through the floor, and then have it open.

closedFlower.png

The music in this section of the piece goes from heavy in the percussion section to having a light and airy feeling, so I felt a flower was best to represent what I heard in the music. This feeling in the music also dictated the colour choice, I went with light pinks and purples with some white light.

The Render

With all the pieces of the animation complete I moved on to the rendering phase. I was given permission to use one of the computing labs on the weekend to render out the project. With a full fleet of 16 computers each with their own 3080 graphics card, it only took me 7 hours to render the whole project. On just one of those computers the project would have taken 5 straight days. After going back and re-rendering some frames that got corrupted in the process I finally had all 5424 frames and could compile the final video.

The video would also not be complete without the music graciously provided to me by Ben Moss so I also added a small credits scene at the end to tie the piece out.

bottom of page