The Making Of the Chilly Bits NFT Generative Art Project (Part 1 of 2)
This two-part post covers the process we went through to make the 3D Art associated with the Chilly Bits NFTs, which were rendered inside the Unity 3D game engine. The assets used to create the Chilly Bits were modeled on our own using Blender or downloaded from copyright-free asset websites such as CGTrader.
We had some previous experience with the engine since having released our game “Idle Chess Story” in 2019. So when we wanted to create our own NFT collection, we knew that Unity would be a great choice for handling the rendering and the attribute randomization.
The C# code for the Unity project is freely available on GitHub. The second part of the post will cover some of the main functionalities. In this first post, let’s take a behind-the-scenes look at how our Unity project looks like.
We used Blender to model and sculpt the static base of the Chilly Bits. We used a modular approach, where the body, belly and visor of the Chilly Bits always remain the same and they are mix-and-matched with random combinations of eyebrows, eyeballs, hats and accessories to create unique characters.
Wireframe view of a basic Chilly Bit in Blender
Shaded view of the same basic Chilly Bit in Blender
Chilly Bit with only the static components visible.
Chilly Bit with multiple components visible. The more attribute variations we add to the base model, the possible permutations of all Chilly Bits increases.
Once the 3D character and all of its subcomponents were designed, it was time to import them into Unity and start structuring the scene.
The Unity project has three main components:
1. The Scene Hierarchy
The scene hierarchy is how all the objects that live in the scene are stored and organized.
2. The Scene Display
The scene display shows what the scene’s main camera sees combined with the UI canvas. The “randomize” button generates a never seen before Chilly Bit and the “render button takes a snapshot of the camera and stores it as an image file.
3. The Project Assets