Spritesheet Converter Pixel Shader Spritesheet Converter Cel Shader

About

This is a tool that converts 3D objects into stylised 2D spritesheets. The user can load in a 3D model and apply a number of custom shaders to the model, and take snapshots of the model from different angles to create a spritesheet. The program currently supports the .glb and .gltf models, with texture and animation support. There is currently a pixelation and cel shader implemented. The project was made in C# with OpenTK, an OpenGL wrapper, and the source code can be viewed and downloaded from the links above.

Core Program Workflow

  1. The user imports a 3D model
  2. The user positions the camera around the model
  3. The user applies post-processing effects to the model
  4. The user creates snapshots manually or through automatic generation
  5. The user exports the result into a spritesheet
Spritesheet Import Spritesheet Export Spritesheet Finish

Object Rendering

Supports importing .glb and .gltf models. Error handling based on Khronos glTF Validator.

Object Loaded

Post-Processing Effects

Post-processing effects are applied to the model. Currently supports pixelation and cel shading.

Pixelation Shader

Pixelation shader

Cel Shader

Cel shader

Pixelation Shader Cel Shader

Implementation Example

As proof of concept, I built a simple 2D fighting game in Unity in less than a day using the spritesheets generated from the program.

Fighting Game

Fighting Game

Fighting Game