Skateboarding is a discipline like no other, some people call it a sport but I like to think of it as a way of expression. Very much like generative art, it is very technical yet creative and requires a lot of practice and dedication to master. In this generative NFT project I want to show the beauty lying behind some of the most popular tricks by using the skateboard's movement as input to generate 3D moving real-time sculptures. Each output is unique and uses the token hash value to define the traits of each iteration, some more rare than others.
Launching on Artblocks.io as Dutch auction.
Price starting at 2E dropping every 5 minutes to a resting price of 0.1E.
25% of the profits made from this project will be distributed between a few charities:
Each output is generated by a series of features and traits that define the artwork, some more rare than others. The traits are selected by a piece of code that takes the token hash as seed.
List of features and rarity values will be revealed after the project sell out.
Each output is WebXR enabled and can be viewed in immersive VR and AR on compatible devices.
For this project I wanted to generate visually striking and beautiful animated 3D real-time sculptures that showcase the underlying beauty of skateboard tricks movement. I decided to frame these artworks in a room to make them feel like they could live in the physical world. I also wanted to stay away from using obvious visual cues to skateboarding so that at a first glance viewer are not sure where those shapes are coming from.
I first needed to extract the movement of the skateboard tricks and convert them into a format that can be imported into three.js. I animated a 3D skateboard in Cinema 4D using slow motion footage from Adam Shomsky's youtube channel as reference.
Since on artblocks.io, the scripts are uploaded to the blockchain, they can't use any external files like FBX so I had to convert the animation data into a format that can be embeded directly into the script. I created a custom JS script that turned the position and rotation keyframes from FBX files exported by C4D into arrays as JSON strings.
I was then able to use Three.JS's AnimationClip system to use the animations as the input for generating the artworks. By defining a set of points inside an Object3D that gets animated by the AnimationClip I can generate a set of motion paths.
In order to keep the outputs unique and have a lot of variations I ended up designing many different ways to render the board's movement based on those motion paths, each outputs combine 2 of those render styles to make sure there is a lot of variaty in the final set.
For each output I tried to challenge myself both technically and visually by using some of the more advanced features of three.js. Some styles use InstancedMesh to render a lot of objects on the scene without affecting performance too much, others use custom GLSL shaders. I've also written custom code to programatically define the color palette based on the token hash.
Like all of my other NFT projects, the artworks implement the WebXR API and can be viewed in immersive VR and AR on compatible devices. In my opinion, I think VR is the best way to experience this project, it makes you feel like you are in a museum looking at a physical installation that defies the laws of physics. The web is an amazing medium that is cross-platform and accessible from anywhere and I wanted to take advantage of that to make sure this project can be accessible in as many ways as possible.