top of page
  • Grey YouTube Icon
  • Grey Instagram Icon
  • Writer's pictureThiago Araujo

Isometric Sprite Pipeline

Updated: Oct 24, 2023

Today, I'll show a specialized pipeline I've crafted in Houdini, aimed at simplifying the process of generating isometric sprites out of 3d assets, along with accompanying normal and cutout alpha sprite sheets. Let's dive into the details.

What this is for?

At its core, this art asset pipeline has a straightforward purpose: to efficiently batch render 3D assets and create isometric sprite sheets. All of this is achieved with a minimal need for manual intervention. In short, 3d assets are place in the in folder and isometric sprites comes out the out folder.

Usage

One of the primary objectives in developing this pipeline was to make it artist-friendly. Here's how to use it: Artists need only place their assets in a designated folder, select the desired camera angle setup as 45 degrees by default and how many pixels per unit are expected, and initiate the rendering process with a single click. The pipeline takes care of the rest.



How does it work?

Unicorn magic of course... Now seriously the inner workings of this pipeline revolve around a task operator network (TOP) in Houdini. This network efficiently schedules the rendering of each object within the specified folder and its various post processes, in fairness, its actually quite simple.

 

Detailed Process

1 - Pipeline and Camera Setup


Build Folder Structure: The pipeline builds all the temporary folders used by it.


Centering: The pipeline commences by centering the camera rig around the object centroid.

Framing: An HDA is responsible for determining the optimal camera framing width, producing a file that encapsulates all necessary camera settings. Then using the data generated, the pipeline configures each camera.


2 - Albedo & Cutout Pass

Rendering: Each camera is rendered and its resulting images are stored in a temporary folder.


Cropping: Now another HDA is triggered. This HDA assesses whether the images can be further cropped while still adhering to power-of-2 dimensions.


Compose sheet: Now that all images were rendered and cropped, this step weave all images into one sprite sheet


Export Sprite as JPG: Now the pipeline discards the alpha channel on the EXR image and export the result as JPG


Export Cutout alpha as JPG: With the discarded alpha, the pipeline builds a cutout alpha texture


3 - Normal Pass

Shader Setup: The shader used for the normal rendering is a custom shader that does not react to light and for each pixel it returns the object's camera spaced normals.

Rendering: Each camera is rendered and its resulting images are stored in a temporary folder.

Format Normal Map: this step uses a cop2network to convert the render's normals into a regular normal map formatting, it also replaces the alpha with forward vectors.

Cropping: Using the data generated by the albedo crop step, these textures are cropped to fit their optimal sizing.


Compose Sheet: Like the albedo pass, these textures are composed on a sprite sheet and exported as JPGs

 

Conclusion

To further enhance this tool, a logical extension would be the development of a Flutter-based UI application. Such an app could provide artists with intuitive options to interact with the pipeline, allowing them to customize its functionality to suit their specific needs. This user-friendly approach could generate a JSON file that serves as guiding data for the pipeline, enhancing its flexibility and adaptability.


Additionally, another exciting idea for expansion would involve integrating this pipeline with 3D scanned assets. The incorporation of 3D scanning technology could open up new creative possibilities for artists, enabling them to seamlessly incorporate real-world objects into a 2D isometric game.


In conclusion, this pipeline, though seemingly simple, when empowered by TOPs, proves its worth as a time-saving asset for studios. Houdini's ability to gracefully guide assets through intricate processes never ceases to amaze me, making it a powerful addition to any creative toolkit.


Comentários


bottom of page