• Stars
    star
    337
  • Rank 125,272 (Top 3 %)
  • Language
    C#
  • License
    MIT License
  • Created over 10 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Generates isometric pixel art from MagicaVoxel .vox files

IsoVoxel

Generates isometric pixel art from MagicaVoxel .vox files.

New Project

SpotVox is roughly the successor to IsoVoxel; it renders more quickly, handles materials (including some support for emissive materials), and can handle multiple-part models. I recommend you give it a try if you use IsoVoxel currently; colors should be handled much more consistently.

IsoVoxel will continue to exist, but I'm unlikely to update it much, or maybe at all.

Usage

IsoVoxel is a command-line program (though you don't need to be familiar with the command line to use it), and can be downloaded from this project's Releases section.

IsoVoxel is a command-line program (though you don't need to be familiar with the command line to use it). The simplest way to make a bunch of renders (at least on Windows) is to drag and drop a MagicaVoxel .vox file onto IsoVoxel.exe in the File Explorer, which will make a new folder that shares a name with the .vox file. There will be many images in that folder once the program finishes rendering in a few seconds, organized into subfolders based on the scale of the images and some effects applied to them. They will all use "light" outlining, where there is an outline around the image's silhouette and between gaps in space inside the image, but the color is not a cartoon-style black and is instead a darker version of the nearby voxel color. You can drag and drop animated .vox files, which will produce multiple frames in the same folder. Frames will have their file names end with "_00.png", "_01.png", and so on up to the maximum 24 frames with "_23.png".

MagicaVoxel saves its .vox files in the vox/ subfolder of the MagicaVoxel install directory. You should, of course, have unzipped IsoVoxel.exe from the .zip it is distributed inside before running it. Alternatively, you can customize the rendering somewhat from the command line. For this, use IsoVoxel.exe file.vox x y z m o, where the arguments are:

  • file.vox was saved from MagicaVoxel, in the vox/ subfolder usually as mentioned before; often this file is copied into the same folder as IsoVoxel.exe for convenience
  • x, y, and z are the bounds of the model, which can be up to 128, and don't have to match the dimensions given in MagicaVoxel; this can be useful to render multiple models at the same position in the images
    • these are given only as numbers, so 20 30 40 and not x=20 y=30 z=40
  • m is a multiplier to draw extra renders at multiples of the current size, from size 1 to size m; m defaults to 3 and can be any integer.
    • if m is negative, the larger sizes willl not be smoothed at all, and each voxel will simply become a larger cube of voxels. When m is -3, it will act exactly like when m is 3 except for not smoothing.
    • each multiplied size goes in a different folder, and the smaller renders that use smooth slopes are in a different folder from the renders that use blocky cubes
    • m is also given only as a number, like 4 and not m=4
  • o is an outline mode, which can be omitted and defaults to outline=light:
    • outline=full (this makes black outlines around the edge of the model and shading on inner gaps)
    • outline=light (which uses the shaded color instead of black for outer outlines)
    • outline=partial (which has no outer outlines but keeps shaded inner outlines)
    • outline=none (which has no inner or outer outlines).
  • if you don't include x y z it will use the size of the model as set in MagicaVoxel.
  • if you don't give a .vox file it defaults to Zombie.vox , which is included.
  • if you don't include m it will render extra sizes 1, 2, and 3.
  • if you don't include o it will use light outlining.
  • o can be placed as the last argument even if some or all of x y z have not been included.

IsoVoxel will create a subdirectory named after the model (running on Truck.vox will create a folder called Truck, or on Zombie.vox will make a folder called Zombie) and fill it with a lot of images in subfolders, with more subfolders depending on m:

  • in sizeBase:
    • four for north/south/east/west (orthogonal)
    • four for the diagonals between them, rendered at a slightly different perspective (isometric)
  • in sizeAbove:
    • eight more for a mostly-top-down view of all eight directions, rendered at close to a 45 degree oblique angle as opposed to th "standard isometric pixel art" 26.565 degree angle; an advantage here is that all directions are about the same size and perspective
  • in sizeBaseSloped:
    • four diagonal-direction (isometric) renders at the normal size but with sloped voxels used to make the hard edges seem softer
    • four orthogonal renders at the normal size but with sloped voxels used to make the hard edges seem softer; these still have a different perspective from the isometric ones
  • in sizeSmallSloped:
    • four more diagonal-direction renders at a much smaller size, but still with sloped voxels; these may be harder to recognize if you have single-voxel details in the original models
  • in sizeBig:
    • eight images that are each double-sized versions of one of the original eight, with some extra voxels added to smooth jagged areas; these have Big in their name
  • for each size multiple m:
    • in size1blocky, and every size up to m:
      • eight images that are specially-smoothed versions of the N/S/E/W/NW/NE/SE/SW renders without sloped voxels at size m, with the smallest size having Size1 in the name and larger sizes having Size2, Size3, and so on
    • in size1sloped, and every size up to m:
      • eight images that are specially-smoothed versions of the N/S/E/W/NW/NE/SE/SW renders with sloped voxels at size m, with the names similar to the blocky multiples but with "Slope" in the name

If the .vox model is animated (and has multiple frames), then the images listed above will be rendered for each frame, with all frames for a rendering type going in the same folder.

This comes with some .vox models to test on; Red_Fish_Animated.vox allows you to test the animation rendering.

IsoVoxel needs .NET 3.5 or higher (as of the time of writing, the current version available on Windows is at least 4.6), and has been confirmed at least once to work on Mono (allowing it to work on MacOS and Linux).

Results

Tank Tank Tank Tank Truck Truck Truck Truck

Tank Tank Tank Tank Truck Truck Truck Truck Red Fish

Jumbo-Size Zombie with Sloped Voxels

More Repositories

1

textratypist

Augmented text display system for libGDX, based on typing-label
Java
72
star
2

colorful-gdx

A libGDX mechanism to manipulate colors in powerful ways
Java
59
star
3

TinyCurses

Full-color Unicode-enabled multi-layered terminal emulator using SDL
C
50
star
4

BearLibTerminal

A library that creates a terminal-like window with feature-packed drawing of text and easy input handling. MIRROR.
C
47
star
5

PixVoxelAssets

Free art for games generated from 3D voxel models.
C#
34
star
6

anim8-gdx

Adds support for writing animated GIF, PNG8, and animated PNG (including full-color) from libGDX
Java
28
star
7

RegExodus

Regular expression lib; portable across Java variants (including GWT)
Java
23
star
8

spotvox

Renders MagicaVoxel .vox files to pixel art. Successor to IsoVoxel.
Java
23
star
9

jdkgdxds

Making libGDX's data structures implement JDK interfaces
Java
23
star
10

waterhash

Variant on Wang Yi's wyhash with 32-bit output, using at most 64-bit math
C++
22
star
11

BlazingChain

LZ-String encoding for Java (cross-platform, including GWT)
Java
19
star
12

BoneGen

Herringbone Wang Tile dungeon generators
Lua
17
star
13

pngcs

Read/write (big) PNG files with C#
C#
17
star
14

MultiTileBlueNoise

Storage for blue noise textures, including mixed-tiling textures, in results/
C
16
star
15

digital

Utilities for handling math and showing numbers in Java.
Java
13
star
16

DawnLikeAtlas

DragonDePlatino and DawnBringer's DawnLike assets, split up and named for use in texture atlases
Java
12
star
17

formic

Allows using String.format() on GWT, with high compatibility
Java
12
star
18

ColorGuard

Turn-based strategy game with procedural world wars; Java using libGDX and SquidLib
Java
11
star
19

Glamer

Bitmap font generator producing distance-field fonts (intended for use with LibGDX)
Java
11
star
20

gdx-backends

GWT 2.10.0 adjustments to MrStahlfelge/gdx-backends
Java
11
star
21

sarong

Stand-Alone RandOm Number Generators (various Java RNGs)
Java
11
star
22

SquidSetup

A fork of libGDX's setup tool, preconfigured for SquidLib
Java
10
star
23

WarpWriter

Procedural voxel model builder with pixel-art-like display in 2D
Java
10
star
24

make-some-noise

Edit of FastNoise_Java by Auburns, meant to have optimal behavior on GWT and to add features
Java
9
star
25

assorted-benchmarks

BumbleBench benchmarks for various Java collections
Java
8
star
26

CaveCops

"Book em, Meepo." Fantasy RPG with roguelike elements; Java/libGDX/SquidLib/DawnLike.
Java
7
star
27

ColorWeaver

Utilities for dealing with colors in libGDX, especially palettes
Java
7
star
28

Finnegan

Java word/text generator lib with mixable language themes
Java
7
star
29

CommandersUniteAssets

A more specialized isometric (and other) renderer of MagicaVoxel .vox files to pixel art for a game.
C#
7
star
30

noisegen

A command-line tool to generate different types of noise as images.
Java
6
star
31

juniper

Java pseudo-random number generation code with minimal dependencies.
Java
5
star
32

dungeon-kingpin

A tactical RPG in Clojure, with procedural dungeons and a scripted story
Clojure
5
star
33

Ravager

Tactical RPG/Roguelike in Clojure
Clojure
5
star
34

worldly

World map and planet view generator using libGDX
Java
5
star
35

ShaiRandom

Random number generators for modern .NET.
C#
5
star
36

jdkgdxds_interop

Inter-operate between libGDX and jdkgdxds, e.g. with Json
Java
5
star
37

gdx-utils

An updated fork of dermetfan's famed library for libGDX convenience.
Java
5
star
38

Scroll-o-Sprites

An atlas version of Quale's Scroll o' Sprites; editable
4
star
39

TabLab

Generate simple Java source code from tab-separated value files
Java
4
star
40

libgdx-library-template

A template for libraries that work with libGDX and Gradle 8.x (or 7.x)
4
star
41

lein-packr

Lein plugin to bundle an uberjar with a JRE using Packr.
Clojure
4
star
42

xoppa-gdx-3d-lwjgl3

An update of the libGDX 3D blog series by Xoppa, now using LWJGL3.
Java
4
star
43

libgdx-texturepacker

Standalone version of gdx-tools' texturepacker.
Java
3
star
44

merry-ds

Alternative data structures to libGDX's ObjectMap, ObjectSet, and relatives
Java
3
star
45

kryo-more

Kryo 5.x serializers for various "tommyettinger libraries"
Java
3
star
46

GDXTexturePacker

Standalone version of libGDX's TexturePacker with a GUI
Java
3
star
47

cringe

Random number generators that depend only on libGDX
Java
3
star
48

noisefarm

Artisanal, locally-sourced, organic continuous noise textures
Java
3
star
49

way

Just the pathfinding code from gdx-ai. This is the way.
Java
3
star
50

SaltarelleRotJS

Metadata to use the rot.js Roguelike Toolkit from Saltarelle
JavaScript
3
star
51

Ruins-in-Roswell

Text-based Clojure Dungeon Exploration Roguelike/RPG
Clojure
3
star
52

lilikoi

A little Lisp-y language with array programming elements
C
3
star
53

cuttlebone

A library to help with game logic and map generation, for use with Java roguelike-style games.
JavaScript
3
star
54

textramode

Extra features for fonts in libGDX. (ARCHIVED)
Java
3
star
55

Gabber

Fictional language toolbox in Java. Generate random languages, mix them together, generate text in them, reversibly translate English text to a fictional language, etc.
Java
3
star
56

CommandersUnite

Simple military strategy game with procedural maps and unique pixel art.
Scala
3
star
57

BitNucleus

Pack various small data into one primitive int or long; "Structs for Java"
Java
3
star
58

funderby

Java 8+ functional interfaces for primitive types
Java
2
star
59

isonomicon

A collection of isometric pixel art, and the software that generates it.
Java
2
star
60

ditherator

One image enters. Dithered images leave.
Java
2
star
61

SquidGrid

Java library for creating visual grids with arbitrary contents and size
Java
2
star
62

csds

Some less-common C# data structures
C#
2
star
63

PractRand-With-Junk

PractRand 0.94 along with my messy experiments making PRNGs
C++
2
star
64

BunnyMarkGDX

Update for the classic bouncing bunny benchmark.
Java
2
star
65

vox-swirl

An alternative approach to rendering MagicaVoxel .vox files to pixel art
Java
2
star
66

determon

Deterministic math functions in C# using decimals. Gotta match em all.
C#
2
star
67

padre

PArtial Derivative Regular Expressions, in Java
Java
2
star
68

Krait

Lib for tight compression of spatial data
Java
2
star
69

jagd

(Java) Augmentations to libGDX
Java
2
star
70

twemoji-atlas

The Twemoji icons in a libGDX atlas
Java
1
star
71

jaunt

Reduced-dependency version of Javolution
Java
1
star
72

xcross

Automatically exported from code.google.com/p/xcross
C
1
star
73

AgateDemo

Testing grounds for a sprite-based roguelike-like
C#
1
star
74

DastardlyLands

A roguelike/RPG with a ton of character options and "text-based but fancy" display
Java
1
star
75

TransparencyProcessor

The Alpha and Omega of rudimentary alpha optimization.
Java
1
star
76

StrangersAmongUs

A science-fantasy SRPG in F#
F#
1
star
77

libgdx-ktxprocessor

A standalone version of gdx-tools' KtxProcessor.
Java
1
star
78

hxHello

Just a "Hello World" in haXe
Haxe
1
star
79

TacticalCommand

This globe goes from Joshua Day to Joshua Night
Lua
1
star
80

UnityCubeTest

This is a stupidly simple Unity demo I am making so that I can learn Unity and Git.
C#
1
star
81

libgdx-tiledmappacker

Standalone version of gdx-tools' TiledMapPacker.
Java
1
star
82

glsl-es-reference

Backup of Shaderific's vital reference for GLSL ES
CSS
1
star
83

scallop

Command-line image scaler, currently using scale2x
Java
1
star
84

GlobeCore

Utilities for a browser-based RPG
CoffeeScript
1
star
85

nutrition-searcher

Which foods are suitable for a restricted diet?
Clojure
1
star
86

artsi

Another R-Tree Spatial Index
Java
1
star
87

CollectionsBenchmarks

Update to Leo Lewis' Java collection benchmarks with graphs
Java
1
star
88

Wilderness

Text-based Tactical RPG (with roguelike elements) centered around animals.
C#
1
star
89

Taut

Java library for creating visual grids with arbitrary content
Java
1
star
90

dfalex

Scanning / Lexical Analysis in Java made pleasant; just tweaking https://github.com/mtimmerm/dfalex
Java
1
star
91

FeatherSystem

Utilities for the Feather System, a tabletop RPG.
1
star
92

CanvasTactics

A tactical RPG using HTML5 Canvas
1
star
93

atlantis

Ordered JDK Map and Set classes that allow lookup at an index
Java
1
star
94

libtsmi

Realtime roguelike engine, written in C99. It depends on libtcod and GLib.
C
1
star
95

gdx-liftoff-ui-redesign

Temporary working copy of gdx-liftoff to handle the UI redesign/rewrite.
Kotlin
1
star