Sprites 2D … but 3D – Dynamic 3D Billboarding

FAQ

Does this work with boids?

  • At the moment it does not due to rotation restrictions derived from the dynamic nature of boids in Blender.

If I have multiple sprites on both sides of the camera, will they react accordingly?

  • Each sprite can have individual behavior, which in the case of a camera between 2 sprites, both of them would look at it differently. Only if they’re part of 1 group will they behave the same way.

The .zip doesn’t install in Blender

  • Please un-zip the archive and install the .py script.

How do I activate an addon?

VIDEO DOCUMENTATION

DOCUMENTATION

Location

Panel
Properties ‣ Scene ‣ Sprite 2D

Material

Blender file “Sprite2D.blend” ‣ Materials ‣ “Sprite_2D_Material”

Actions

Bake
Uses the current setup to bake keyframes to the materials so that the dynamic rotations appear during rendering. Otherwise, the materials do not have this dynamic rotation when rendering. This disables live preview

Clear Bake
Removes the bake and allows for real time previewing once more

Settings

Enabled
Temporarily disables Sprite 2D to help with performance, as calculating multiple Sprites is computationally intensive
In the material

Sprite_2D
Inputs Front, Front Left, Left, etc… is used to specify what material or image sequence to use for each side it is supposed to represent. Alpha is for the alpha channel of that

READONLY
These values are for the script to adjust when previewing or baking. Do not keyframe these values; do not remove them from the group; do not put any nodes in them

You are free to set up the rest of the material as you wish, you don’t have to use Principled BSDF.

Sprite Makey Make

Location
Panel
Properties ‣ Scene ‣ Sprite 2D

Scene Preset
Blender file “SpriteMakey.blend”

Actions

Render Turntable
Renders and saves a .PNG sequence given the current settings and what’s inside the camera’s view. When baking, the camera orbits around the scene’s center as the script rotates the circular object in the middle. Make sure that on every frame and on every angle the target object does not clip outside the bounds of the camera

Settings

Image Count
The number of images to render out. These will be at an equal distance apart from one another so as to create a full 360 degree view around the scene. The distance the camera will orbit for each image can be found by “image number / 360”, so an image number of 8 (default) will create 8 images at a 45 degree offset of one another

Render Type
Whether to export the current single frame only or to export a range of frames (animation)

File Path
The file path to save to. “//” represents a reference to the file path the Blender file is saved to. So, a file name of “//man/running” will create a folder in the same location the current Blender file is saved to, with another folder inside it called “man”. This is where the images will save, or where the folders for the image sequence will save. The script is responsible for the exact name the PNG saves with

Animated
Frame Range
The start and end frame to render. The render includes the first frame and the last frame

Minimum Text
This changes the names the files export with. By default the format includes “angle” and “frame” in the name to make it clearly apparent what the folder and file represent (“/angle_4/frame_23.png”). By using Minimum, it reduces this to just “/4/23.png”. This is added on top of the file path given.