spotvox

Renders MagicaVoxel .vox files to pixel art. Successor to IsoVoxel.

APACHE-2.0 License

Stars
39

Bot releases are visible (Hide)

spotvox - 0.0.7 Beta 1 Latest Release

Published by tommyettinger over 1 year ago

This is a pre-release to help test out the new normal-mapping features. The docs should hopefully be helpful; Issue #4 may be a good place to ask questions about the normal-mapping. The docs, in case they aren't loading when you run spotvox.exe --help or java -jar spotvox.jar --help:

Usage: spotvox [-hV] [-b=<baseLight>] [-e=<edge>]
               [--horizontal-xy=<distortHXY>] [-L=<lightPower>] [-m=<multiple>]
               [-n=<normals>] [-P=<pitch>] [-r=<rotations>] [-R=<roll>]
               [-s=<size>] [-S=<saturation>] [-t=<turn>]
               [--vertical-xy=<distortVXY>] [--vertical-z=<distortVZ>]
               [-Y=<yaw>] <input>
Given a .vox file, write pixel art renders to a subfolder.
      <input>               The absolute or relative path to a MagicaVoxel .vox
                              file.
  -b, --base-light=<baseLight>
                            Will be added to the lightness for all voxels; can
                              be negative or positive, and is typically between
                              -0.5 and 0.5.
  -e, --edge=<edge>         How to shade the edges of voxels next to gaps or
                              the background; one of: none, partial, light,
                              heavy, block.
  -h, --help                Show this help message and exit.
      --horizontal-xy=<distortHXY>
                            Modifies the projection; isometric uses 2.
  -L, --lightness=<lightPower>
                            A multiplier that affects how much shading changes
                              pixel colors; 0 is unchanged, 2.0 is
                              high-contrast, and -1 is no-shading.
  -m, --multiple=<multiple> How many multiples the model should be scaled up
                              to; if negative, this keeps the voxels as blocks,
                              without smoothing.
  -n, --normals=<normals>   If 0.0 or greater, this will output a normal-map
                              image for each non-animated output image; the
                              number is how much the normal-map should be
                              blurred.
  -P, --pitch=<pitch>       Added to the pitch rotation, in degrees. May be a
                              decimal.
  -r, --rotations=<rotations>
                            How many different rotations to render at each
                              size; can be 1 or higher.
  -R, --roll=<roll>         Added to the roll rotation, in degrees. May be a
                              decimal.
  -s, --size=<size>         The width, height, and depth of the space to place
                              the model into, in voxels. Use -1 to have this
                              calculate.
  -S, --saturation=<saturation>
                            A modifier that affects how saturated colors will
                              be; 0 is unchanged, 0.5 is super-bold, and -1 is
                              grayscale.
  -t, --turn-fps=<turn>     If non-zero, this will output a turntable GIF with
                              the given frames per second.
  -V, --version             Print version information and exit.
      --vertical-xy=<distortVXY>
                            Modifies the projection; isometric uses 1.
      --vertical-z=<distortVZ>
                            Modifies the projection; isometric uses 3.
  -Y, --yaw=<yaw>           Added to the yaw rotation, in degrees. May be a
                              decimal.
spotvox - 0.0.6 "Maximum Torque"

Published by tommyettinger over 1 year ago

This release adds the --rotations option, which completes #3 , and also enables using --edge block to have thicker black outlines when requested. Nothing else new here, but hopefully --rotations, which enables making 16-direction, 24-direction, or even 360-direction sets of facing directions, will help someone out.

Instructions are the same as before. If you're on 64-bit Windows (any version from Vista or later should do), get spotvox-windows-x64-0-0-6.zip, unzip it, and you can drag-and-drop .vox models on spotvox.exe or spotvox-turntable.bat to generate renders. For other OSes, you need Java installed (8 or newer), and once you unzip spotvox-all-platforms-0-0-6.zip you can run the terminal command java -jar spotvox.jar MyModel.vox to render a .vox model in the same place called MyModel.vox . Both of these can use the command line to specify extra options, run spotvox.exe -h or java -jar spotvox.jar -h to see the help.

spotvox - 0.0.5 "Like A Record"

Published by tommyettinger almost 2 years ago

This release adds a turntable rotation mode that generates an animated GIF. You can access this either with the command line -t 24 option, where 24 is how many frames per second to rotate at, or by using the alternative .bat file spotvox-turntable.bat, which you can drag and drop a .vox file on like the existing .bat or .exe file. Turntable generation takes longer, especially for large model sizes, so the standard spotvox.bat and spotvox.exe don't produce a GIF unless so instructed.

This also should fix an issue with models that have their lowest voxel "off of the ground," that is, where the whole model doesn't touch the bottom plane. These should render with the correct distance from the ground now, instead of with the empty space removed.

Otherwise, usage here is the same as before.

On Windows, you probably want spotvox-windows-x64-0-0-5.zip ; download, extract the folder from inside, and drag and drop any .vox model onto the .exe. You can give extra instructions at the command-line if you feel like it, like configuring blocky scaling or how outlines should look.
On other platforms, such as Linux and MacOS, you'll need Java 8 or higher installed; sorry about that. BellSoft makes a good, free Java distribution, and there are others to choose from as well. After extracting spotvox-all-platforms-0-0-5.zip, you can run with java -jar spotvox.jar MyModel.vox from the same directory you extracted into. You can add command-line parameters here too.

spotvox - 0.0.4 "To Render A Predator"

Published by tommyettinger about 2 years ago

This release is only a small improvement to 0.0.3, but it should allow models to have their x,y centered on 0,0 in a multi-part model without problems (this is useful for centering rotations). This also reduces the amount of wasted whitespace around the edges of a render.

Usage here is the same as before.

  • On Windows, you probably want spotvox-windows-x64.zip ; download, extract the folder from inside, and drag and drop any .vox model onto the .exe. You can give extra instructions at the command-line if you feel like it, like configuring blocky scaling or how outlines should look.
  • On other platforms, such as Linux and MacOS, you'll need Java 8 or higher installed; sorry about that. BellSoft makes a good, free Java distribution, and there are others to choose from as well. After extracting spotvox-all-platforms.zip, you can run with java -jar spotvox.jar MyModel.vox from the same directory you extracted into. You can add command-line parameters here too.
spotvox - 0.0.3 "Maddening Multiverse"

Published by tommyettinger about 2 years ago

This release gets a bunch of things working that I thought I already had... gotten working. The big thing here is that multi-part .vox models will render correctly now, probably. There may be some cases where extremely large models will simply run out of memory; if this has to create more than a 1000x1000x1000 grid of voxels, don't expect much to render. Maybe even for that size, it could run out of memory. Lighting works on both single-part and multi-part models, as does rotation. Rotation could be tricky if you have a multi-part model where the center on the horizontal (x,y) plane is not near 0,0, since this will rotate around 0,0 even if the model is far removed from there; some models need to be off-center, so this should be correct behavior.

Usage here is the same as before.

  • On Windows, you probably want spotvox-windows-x64.zip ; download, extract the folder from inside, and drag and drop any .vox model onto the .exe. You can give extra instructions at the command-line if you feel like it, like configuring blocky scaling or how outlines should look.
  • On other platforms, such as Linux and MacOS, you'll need Java 8 or higher installed; sorry about that. BellSoft makes a good, free Java distribution, and there are others to choose from as well. After extracting spotvox-all-platforms.zip, you can run with java -jar spotvox.jar MyModel.vox from the same directory you extracted into. You can add command-line parameters here too.
spotvox - 0.0.2 "Deeply Compatible"

Published by tommyettinger about 2 years ago

This release adds support for 0.99.7.0 models, the current beta release of MagicaVoxel. It's been out for about 7 months now, so I really should have a stable release that works with it. If you're on Windows, you probably want spotvox-windows-x64.zip; just unzip it, and you can drag and drop the .vox in the same folder (or any .vox, such as your own) onto the .exe. For other platforms, use the all-platforms zip, though you may need to use the command line and have Java installed.

spotvox - 0.0.1 "Target Spotted"

Published by tommyettinger over 2 years ago

This is the first release of SpotVox, and it already has most of the features of IsoVoxel while being faster and more stable. There are two .zip files here, plus the source archives that you probably don't want. The windows-x64 zip starts up faster and doesn't need any installation, of Java or of itself -- unzip the archive and you can drag and drop .vox files onto the .exe to render them in a nearby folder. However, windows-x64 only works on 64-bit Windows (which should be most Windows installations these days, but not all -- if you don't have a C:\Program Files (x86)\ folder, don't use this zip). For all other platforms, you need Java installed -- anything Java 8 or later should work, and if you don't have Java, the installers from Azul for their free Zulu system are easy to get started with. If you have Java, you can use the all-platforms zip, extract the files, and can launch spotvox either with the .bat file on Windows (including 32-bit or maybe ARM64 Windows) or by using the command-line java -jar spotvox.jar --help . Sorry there isn't better support for Mac and Linux; I don't have a Mac to test on, and MagicaVoxel isn't especially easy to use on Linux.

The --help option (or -h ) shows help; mostly the options relate to how many sizes to render, how to display the edges of voxels, and the space to place voxels in so you can use the same size renders for models with different bounds.