Warning: a modern web browser is required to use this website.
We detected that you may have an out of date or unsupported web browser. This tool, like many others on this site and across the web uses features only available in new web browsers. We reccommend updating your current browser or downloading Firefox or Chrome.
The Lospec Blender Toolkit is a free collection of tools for people making low-spec art in blender. This should help you use pixel art textures, generate pixelated renders, and more.Download
Browse creations with #LospecBlenderToolkit on Twitter or Instagram!
Ditherer - Reduce the image to a single ramp of values with adjustable dithering amount.
8Mat Dither Combiner - Combine up to 8 different materials with separate palettes and dithering settings
Shadeless Material - Render textures without any lighting or shadows
Billboard - Make a single plane point directly at camera
Billboard Instance - Instance a set of objects which always face the camera
Frame Animation - Animate a texture from a sprite sheet
Pixel Background - Insert pixel art behind your model, then scale or tile it
PS1 Vertex Jitter - Make vertexes snap to rounded points similar to PS1 graphics
Unscaled Billboards - Render 2D sprites at the same size no matter their distance
How to Contribute | External Resources
This entire toolkit is contained within a single blender file. You can use it in two ways:
Open the blend file and create your scene within it. This will include our tab layout and some scene presets (which you may or may not want), but it also means all of our tools will be contained in your .blend file, which will inflate the size.
You can also start with a blank scene (or one you've already started), and then append just the tools you need. To do this go to File > Append, then select the toolkit file. You will then see a list of folders: all the tools will be contained within the NodeTree folder, just select the ones you want.
No matter which way you do it, you'll still be able to add more copies of the tools by going to Add > Group and selecting the tool you want.
Click the Output Properties tab, and go to the Output section. You could select a video format, but it's reccomended you choose PNG instead. From the top menu click Render > Render Animation to begin rendering frames. When this is done, go to the output folder (by default it is C:/tmp). Open EZGif.com and select all the frames of your animation, then upload them. Adjust the frame delay time to match the frame rate of your animation in blender (we have it set to 24 fps, which is around 4 hundreths). Click make a gif and it will compile your frames into a gif, which you can download. You can also click resize to scale up your gif (use the gifsicle method). Lastly, if you're uploading to a place that doesn't allow gifs (like instagram), you may want to convert to video instead, which EZGif provides another tool for.
To see our examples of the toolkit in use, check out the examples folder!
Some features included can only be accessed if you use the toolkit as a base for your art, and not if you append it. If you append the toolkit, you will have to set the settings manually (as described below).
Some features such as fixing blurry textures need to be done every time manually, even if you start with the toolkit.
By default the project is set to use Cycles, since it's required for the Material Index pass, which is used by the 8Mat Ditherer. Most other tools should still work if the rendering is set to Eevee.
Reduce the image to a single ramp of values with adjustable dithering amount. This will provide a black and white image, so you will then need to color it with a color ramp or similar node.
How to Use: Add this group to your compositing nodes and put the Image output from the render layers into it. Keep in mind the color of your object will affect it, so you most likely want to set the object's material color to white or gray.
Combine up to 8 different materials with separate palettes and dithering settings. Uses 8 Ditherer groups and splits the image up by the material indexes. This feature currently requires you use the cycles rendering engine.
How to Use:
You will most likely want to turn off anti-aliasing and denoising, especially if there are parts of your scene not processed by this tool.
Render textures without any lighting or shadows.
How to Use: Add this group to a material and plug in the color (and alpha if needed) from a texture node. Make sure to set the Texture Interpolation on the texture to "Closest" if you want sharp pixels. In order for alpha to work in Eevee, remember to change the blend mode to Alpha Blend under the material settings.
Align a plane to perfectly face the camera, no matter the position. This is very similar to using a Track To constraint, but matches the camera rotation rather than pointing towards the middle of the camera, so it's oriented directly up and down.
This tool uses Geometry Nodes to adjust your objects rotation.
How to Use: Add geometry nodes to your plane, then add the Billboard group in between the geometry input and output. Select your camera in the camera slot.
Instance a set of image planes which always face the camera.
This tool uses Geometry Nodes to create a mesh with the instanced objects.
How to Use: Add geometry nodes to your ground plane (or other object which you want to spawn objects on), and add a node to generate points (such as Distribute Points on Faces). Connect those points to the Billboard Instance node, then choose the object you want to instance, and the camera object. Connect the output of that, and the input geometry, to a join geometry node, and plug that to the output.
Animate a texture from a framestrip on a sprite sheet (rather than a series of separate files).
How to Use:First you must prepare a texture which contains all of your frames in a single row. Add the texture in your shader nodes, then add the Frame-Animation group, and plug the vector output to the textures vector input. Set the frame count, frame width, total sprite sheet width, and speed (eg 25% = 1 frame every 4 blender frames).
If you wish to offset the start times of multiple objects, connect the output from Randomize Start Times frame to the multiply node above it, replacing the connection from Frame.
If you wish to use an animation that is part of a larger sprite sheet, first you must enter the Frame Animation group, then disconnect the output of the Stretch Texture to Fit frame. You must then go into the UV editor and manually adjust the UV be exactly centered over your first frame.
Insert pixel art behind your model, then scale or tile it. You can easily keyframe the offset properties to create a scrolling background.
How to Use: Connect your scenes's image and alpha to the foreground inputs. Then add a texture node with your background, and plug it into one of the background slots, depending how you want it to tile.
Makes vertexes snap to rounded amounts (which looks like jittering while movment), in order to emulate the graphics rendering of the Sony Playstation. This doesn't work identically to the playstation, but to most viewers it will appear to. Combine with pixelated textures and a low resolution.
How to Use: Add the PS1 Vertex Jitter group at the end of your geometry node network.
Scale a billboard (or set of billboards) so it is the same size no matter where it is on your screen, typically so the size makes it exactly 1x on the final render, withouth an orthographic camera.
WARNING: This feature is still in development, and is not perfect. While it can be used, it still requires some manual adjustments, and the results still exhibits some slight stretching and skewing of pixels. If you figure out a solution to this, please contribute to the github or contact us!
How to Use: Add geometry nodes to your plane, then add the Billboard group in between the geometry input and output. Select your camera. Do a test render and then adjust the scale until the plane renders at the same size as your texture on the final output. You can calculate the correct scale by measuring the size of the plane in your render, then dividing your target texture size by that number. Then multiply that by your current Scale value, and now when you render it should be pretty close. You may wish to do some tests and minor adjustments by hand to perfect it.
The Lospec Blender Toolkit is "open source" (well obviously, the source is just the .blend file), but that means we accept public contributions to the project through GitHub.
If you are interested in contributing, please check out the source on GitHub, or start a conversation on the Lospec Discord
Here are some links to external resources which may help you in your blendering:
Choose a service linked to your Lospec account:
Don't have an account? Sign up now
Choose one of the services below to link to your Lospec Account:
Already have an account? Login now
Lospec can now be installed as an app with supported web browsers.
Installing Lospec as an app gives you a desktop shortcut and a new streamlined menu interface.
Just click install to instantly add the Lospec app to your desktop!
Your current web browser isn't supported. To install the app, open Lospec.com/app in Google Chrome