Spritehandler

by Benjamin Morrison in Scripts and Addons

Blender 2.80 and Eevee are supported

Spritehandler

Spritehandler is a set of tools for using, and generating, sprite sheets within Blender.
Using a nodegroup to manipate UV coordinates, Spritehandler sequences sprite sheets loaded through image texture nodes. This opens up a wealth of possibities for rendering sprites, flipbooks, billboards, particles, and material variations. All functionality is wrapped in intuitive operators for efficiency and ease of use


Playback of Spritesheets and Flipbooks

Spritehandler’s core function is to enable the use of spritesheets within material nodes. Creation of spriteplanes through the operator will setup a time node, removing the need to keyframe playback.

alt text

Particles, Static and Animated

Using the Spritehandler node group with particle systems greatly expand what is possible with Blender’s limited particle rendering tools.

alt text

Material Variations with Atlases

By driving the node groups index function with object data or randomization, spritehandler can be used to create complex material variations across instances.

alt text

Packing

Spritehandler can also be used for simple spritepacking using either on-disk images or packing automatically from render output.

alt text

Features

  • Demo files
  • Preset based sprite plane creation
    • Playback
    • Particle Indexing
    • Particle Playback
    • Billboard Toggle
    • Setup operator for planes
  • Playback Control
    • Delay start
    • Speed
    • Index Offset
    • Total offset (for uneven sheets)
    • Loop limits
  • Current frame shader node
  • Render farm/distributed rendering compatible
  • Generate spritesheet from images
  • Generate spritesheet from animation render



Usage

Nodegroup Parameters

  • Index : Current index to output.
  • Start Delay : Delay playback / freeze playback until this frame is reached.
  • Index Offset : Offset the current index.
  • X Cells : Total number of horizontal cells.
  • Y Cells : Total number of vertical cells.
  • Adjust Total : Adjust total cell count for uneven cell sheets.
  • Loop Count : Playback limits.

Tutorial: Sprite Planes

  1. Add Menu (SHIFT+ A) > Mesh > Create New Sprite Plane
  2. Select Spritesheet file and choose a host type/Preset:
    • Animated : Index driven by current frame
    • Static : Index driven by random number
    • Particle Animated : Index driven by particle age
    • Particle Static : Index driven by particle index
  3. Setup sheet by either:
    • Running operator: Object > Setup Spritesheet
    • Manually set the group node parameters and run operator: Object > Scale From Sprite Node

Tutorial: Sprite Packing

Sprite packing is performed through the Spritesheet Generator Toolself in the UV/Image Editor

  • Generate Spritesheet prompts to user to select sprites for packing and then generates an new sheet from them based on the ‘X Cell Count’
  • Regenerate Spritesheet last images used in Generate Spritesheet and repacks based on the ‘X Cell Count’
  • Enabling Sheet from Render will generate a spritesheet from animation renders. These sheets can also be used with Regenerate Spritesheet

Advanced Use / Materials / Manual Setup

The spritehandler node group functions by scaling UV coordinates into ranges appropriate for stepping over grid packed spritesheets/material atlases. Refer to demo files and observe how the handler nodes are being driven by their own sets of uv coordinates and masked where necessary.


Credits

Promotion materials include work from the following

Usage

Nodegroup Parameters

  • Index : Current index to output.
  • Start Delay : Delay playback / freeze playback until this frame is reached.
  • Index Offset : Offset the current index.
  • X Cells : Total number of horizontal cells.
  • Y Cells : Total number of vertical cells.
  • Adjust Total : Adjust total cell count for uneven cell sheets.
  • Loop Count : Playback limits.


Tutorial: Sprite Planes

  1. Add Menu (SHIFT+ A) > Mesh > Create New Sprite Plane
  2. Select Spritesheet file and choose a host type/Preset:
    • Animated : Index driven by current frame
    • Static : Index driven by random number
    • Particle Animated : Index driven by particle age
    • Particle Static : Index driven by particle index
  3. Setup sheet by either:
    • Running operator: Object > Setup Spritesheet
    • Manually set the group node parameters and run operator: Object > Scale From Sprite Node


Tutorial: Sprite Packing

Sprite packing is performed through the Spritesheet Generator Toolself in the UV/Image Editor

  • Generate Spritesheet prompts to user to select sprites for packing and then generates an new sheet from them based on the ‘X Cell Count’
  • Regenerate Spritesheet last images used in Generate Spritesheet and repacks based on the ‘X Cell Count’
  • Enabling Sheet from Render will generate a spritesheet from animation renders. These sheets can also be used with Regenerate Spritesheet


Advanced Use / Materials / Manual Setup

The spritehandler node group functions by scaling UV coordinates into ranges appropriate for stepping over grid packed spritesheets/material atlases. Refer to demo files and observe how the handler nodes are being driven by their own sets of uv coordinates and masked where necessary.

When will there be 2.8 Support

2.8 support is currently in development and test version will be available in January of 2019.

    No ratings have been submitted yet.

Purchase this item to leave a review!