Teardown

Teardown

Not enough ratings
voxmapper - the Teardown biome setter
By NGNT
Generate textures and grass maps using a variety of noise algorithms!
Make stunning biomes with a simple tag input!
   
Award
Favorite
Favorited
Unfavorite
🌍 VoxMapper v1.4.1 - Comprehensive Guide
VoxMapper is a powerful tool for generating high-quality heightmaps and grass maps. This guide explains all features in detail so you can create perfect terrain for your maps.

Here's a full walkthrough sorta type video on how it all works:

📥 Where to Download
You can get voxmapper with the biome_ground.lua script included with it at my GitHub page[github.com]
🚀 Getting Started
Launch VoxMapper and choose one of the three available tabs:
  • Mountain Generation – Build heightmaps from scratch using noise algorithms
  • Grass Map – Generate detailed grass placement maps
  • Image Import – Import existing images and convert them into usable maps

You’ll see settings on the left and a live preview window on the right.
🏔️ Mountain Generation Tab
This tab allows you to create heightmaps using various procedural noise algorithms. The preview updates after any adjustment settings.


Noise Types:
  • Perlin Noise – Smooth, rolling terrain
  • Fractal Noise – Rugged and mountainous
  • Turbulence – Chaotic, sharp features
  • Landmass – Island-style generator with water, plains, and mountains

Core Controls:
  • Size – Map resolution (64 to 4096)
  • Scale – Zoom level of the noise
  • Seed – Generates different terrain patterns
  • Octaves – Layers of noise detail (1 to 10)
  • Lacunarity – Frequency between octaves
  • Persistence – Strength of each octave

Teardown Export Settings:
  • Min/Max Height – Controls terrain elevation range
  • Height Scale – Adjust RGB scaling (1–255)
  • Grass Amount – Green channel value (0–255)
  • Special Value – Blue channel value for material modifiers (0–255)
  • Grass Type – Choose between uniform or noise-generated grass

Canyon System:
  • Intensity – Controls how deeply canyons cut into terrain
  • Length – Controls how far they extend
  • Branch Density – More or fewer splits
  • Count – Number of canyons per edge
  • Canyon Seed – Unique pattern generator

Vignette Effect:
Adds natural-looking fade toward the edges.
  • Strength – How strong the vignette is
  • Radius – How much of the map is affected
  • Smoothness – Blend quality
🌿 Grass Map Tab
This tab helps you create detailed grass distribution maps using a combination of noise types. Unlike the uniform grass setting in the Noise tab, these maps specify exactly where grass appears.
You do not necessarily need to generate a grass map using this tab, as the greyscale heightmap will complement the colored heightmap. This tab is is mainly for when you don't want a gradient or you want a noise grassmap instead.


🎚️ Controls Explained
  • Grass Density: Probability threshold for grass placement (0.0-1.0)
    • Higher values = less grass coverage
    • Lower values = more grass coverage

  • Perlin Noise Amount: Influence of coherent Perlin noise (0.0-4.0)
    • Higher values create organic, flowing grass patterns
    • Great for natural-looking meadows and fields

  • Simple Noise Amount: Influence of random noise (0.0-2.0)
    • Higher values add random variation to grass placement
    • Creates scattered, spotty patterns

  • Lightness: Brightness of non-grass areas (0.0-1.0)
    • 0.0 = black (good contrast)
    • 1.0 = white (subtle difference)

📤 Export Options
  • Export Grass Map: Save the current grass distribution as a PNG
    • White pixels (255) = Grass present
    • Gray pixels (variable) = No grass, brightness determined by Lightness setting

🖼️ Image Import Tab
Use this tab to import existing grayscale images and convert them for terrain use.


Tools Available:
  • Resize – Preserve aspect ratio and scale the image
  • Channel Editing – Focus on red or green channels for terrain or grass
  • Invert – Flip brightness values
  • Blur – Add Gaussian blur for smoother transitions
  • Grayscale – Turn color images into grayscale
  • Exposure – Fine-tune brightness after conversion

Export processed images as .png heightmaps or grass maps.
📤 Exporting Maps
VoxMapper allows you to export:
  • RGB Heightmaps – Used in Teardown's terrain system (Red = Height, Green = Grass, Blue = Special)
  • Grayscale Heightmaps – Optional input for grass field in Teardown
  • Grass Maps – Custom binary or grayscale maps for procedural grass placement

To use in Teardown, make sure you assign your files in biome_ground.lua like:

file = "my_heightmap.png", grass = "my_grassmap.png", biome = "forest"
🧠 Pro Tips
  • Start small and preview often
  • Use the preview pan & zoom to dial in areas you want to focus on
  • Toggle between uniform and noise-based grass for different styles
  • Use vignette + canyon together for realistic island or valley effects
  • Explore the Landmass noise type for procedural islands!
⚠️ Technical Information
  • For large maps (1024+), the generation process will use multi-core processing to speed up rendering.

  • Heightmaps follow Teardown's RGB format:
    • R = Height (0-255)
    • G = Grass coverage (0-255)
    • B = Special value (0-255)

  • When panning the preview, the actual texture coordinates are preserved, allowing you to precisely position terrain features.

  • The application automatically handles memory efficiently, but extremely large maps (2048+) may require significant system resources.

🔧 Troubleshooting
Map is too flat or too steep
Adjust Min/Max Height and Height Scale sliders in the Mountain tab.

App is laggy with large maps
Use smaller sizes while designing (e.g., 512 or 1024), then increase for final export.

Canyons don’t appear correctly
Check that canyon intensity is > 0 and that the seed is randomized.

Custom grass isn’t showing
Make sure your grass map is properly assigned in biome_ground.lua.
🏁 Credits
Created by NGNT with architecture support from Cursor and ChatGPT.
Ultimate Guide to Procedural Biome Generation
Welcome to the ultimate guide for procedural biome generation! This guide will walk you through using the biome_ground.lua script to create beautiful, procedurally generated landscapes for your game or creative project. Whether you're looking to create lush forests, barren wastelands, alien landscapes, or anything in between, this script has you covered with 30+ pre-built biomes and the ability to create your own custom biomes.


Table of Contents
Table of Contents
  1. How the Script Works
  2. Core Functionality
  3. Color Gradients
  4. Available Biomes
  5. Creating Your Own Custom Biome
  6. Advanced Customization
  7. Troubleshooting
  8. Conclusion
How the Script Works
The biome_ground.lua script works by taking a heightmap image and an optional grass map and transforming it into a 3D landscape with appropriate textures and colors based on the selected biome. Here's a breakdown of how it works:
Script Parameters
  • file - The heightmap PNG that defines the terrain shape (default: "testground.png")
  • grass - Optional grass texture map
  • scale - Height scaling factor (default: 64)
  • tilesize - The size of each terrain tile (default: 128)
  • hollow - Whether the terrain should be hollow or solid (default: 0)
  • biome - The biome type to use (default: "default")
Core Functionality
The script follows this process:
  1. Loads the heightmap image
  2. Selects the appropriate biome settings
  3. Creates a gradient for ground coloration
  4. Generates terrain materials (rock, dirt, grass, etc.)
  5. Creates the 3D voxel terrain based on the heightmap
Color Gradients
Each biome has a unique color gradient defined by three main colors:
  • black - Base color for darker/lower areas
  • white - Mid-level color
  • endColor - Color for higher/peak areas
These colors are blended smoothly to create natural-looking terrain with depth and variety.
Available Biomes
The script includes 30+ pre-built biomes, each with unique color palettes and material properties:
Biome Name
Description
default
Standard grassy landscape with earthy tones
desert
Sandy desert with warm golden and tan colors
snowy
Snow-covered terrain with cool blue-white tones
swamp
Dark, murky terrain with deep greens
forest
Lush forest floor with rich greens
volcano
Fiery landscape with reds and dark tones
tundra
Icy blue landscape with frigid appearance
alienjungle
Exotic alien vegetation with unusual colors
crystalfields
Sparkling crystal terrain with blue and purple hues
beach
Sandy shores with light colors and sea foam accents
coralreef
Underwater reef environment with corals and sea plants
savanna
Golden grasslands with dry earth tones
canyon
Red rocky canyons with orange sandstone
mushroom
Fungal landscape with purples and pinks
cave
Dark cave environment with subtle mosses
alpine
Mountain terrain with rocky surfaces and sparse vegetation
bambooforest
Bamboo groves with light and dark greens
meadow
Flowery fields with bright colors
icelands
Glacial ice sheets with blue-white coloration
jungle
Dense jungle with dark and vibrant greens
ashlands
Gray ashen landscape with dark tones
mangrove
Muddy waters and tangled roots with earthy colors
cherry
Cherry blossom landscape with pink petals and green grass
highlands
Elevated terrain with rocky outcrops
mesa
Red clay formations with layered appearance
wasteland
Barren landscape with minimal vegetation
taiga
Northern coniferous forest with pine green colors
corruption
Magical purple corruption with dark energies
candyland
Playful landscape with pastel pinks and blues
ethereal
Heavenly environment with light blues and whites
cyberpunk
Futuristic landscape with neon blues and pinks
crimson
Blood-red landscape with fiery accents
vaporwave
Retro aesthetic with purples and teals
neon
Bright electric colors on dark background
toxic
Contaminated environment with toxic greens and yellows
glitch
Reality-breaking terrain with visual glitch effects
underdark
Deep cavern with magical purple energies
Creating Your Own Custom Biome
Want to create your own unique biome? Here's how to do it in 3 simple steps:

Step 1: Define Your Gradient Function
Create a new function that returns a table with the three main colors for your biome:
function getMyCustomBiomeGradient() return { black = {0.3, 0.4, 0.2}, -- Base color (RGB values from 0.0 to 1.0) white = {0.5, 0.6, 0.3}, -- Mid-level color endColor = {0.7, 0.8, 0.4} -- Peak color } end

Step 2: Create Your Biome Initialization Function
Create a function that sets up the materials for your biome:
function initMyCustomBiome() CreateMaterial("rock", 0.4, 0.5, 0.3) -- Base rock material CreateMaterial("dirt", 0.3, 0.4, 0.2, 1, 0, 0.1) -- Soil material CreateMaterial("unphysical", 0.5, 0.6, 0.3, 1, 0, 0.2) -- Surface material 1 CreateMaterial("unphysical", 0.6, 0.7, 0.4, 1, 0, 0.2) -- Surface material 2 CreateMaterial("unphysical", 0.7, 0.8, 0.5, 1, 0, 0.2) -- Surface material 3 CreateMaterial("masonry", 0.5, 0.5, 0.4, 1, 0, 0.4) -- Structured material -- Create the grass gradient createGrassGradient() end

Step 3: Register Your Biome
Add your biome to both lookup tables near the end of the script:
local gradientPresets = { -- existing biomes... mycustombiome = getMyCustomBiomeGradient, -- other biomes... } -- And in the init() function: local biomeInitializers = { -- existing biomes... mycustombiome = initMyCustomBiome, -- other biomes... }
That's it! Now you can use your custom biome by setting the biome parameter to "mycustombiome".

Advanced Customization
Understanding the CreateMaterial Function
The CreateMaterial function is key to defining how your biome looks. It takes these parameters:

CreateMaterial(type, r, g, b, [a], [emissive], [metallic], [roughness], [subsurface])
  • type - Material type ("rock", "dirt", "unphysical", "masonry", etc.)
  • r, g, b - RGB color values (0.0 to 1.0)
  • a - Alpha/transparency (optional)
  • emissive - Whether the material glows (optional)
  • metallic - Metallic appearance value (optional)
  • roughness - Surface roughness (optional)
  • subsurface - Subsurface scattering (optional)

Material Types and Their Uses

  • rock - Used for hard, solid surfaces like stone
  • dirt - Used for soil, sand, and soft ground
  • unphysical - Used for grass, plants, and decorative elements
  • masonry - Used for structured elements like paths or walls

Creating Special Effects
You can create special effects by manipulating material properties:

  • Glowing terrain: Set the emissive parameter to 1
  • Metallic surfaces: Use higher metallic values (0.7-1.0)
  • Smooth surfaces: Use lower roughness values (0.0-0.3)
  • Rough surfaces: Use higher roughness values (0.7-1.0)

Example of a glowing material:
CreateMaterial("unphysical", 0.0, 1.0, 0.5, 1, 1, 0, 0.2) -- Glowing green material
Troubleshooting
Common Issues and Solutions
Issue
Solution
No terrain appears
Make sure your heightmap image exists and is properly formatted.
Terrain is too flat or too tall
Adjust the "scale" parameter to control the height. Larger values make taller terrain.
Custom biome not working
Ensure you've added your biome to both the gradientPresets table and the biomeInitializers table.
Colors look wrong
Make sure your RGB values are between 0.0 and 1.0, not 0-255.
Performance issues
Try reducing the "tilesize" parameter or using a smaller heightmap image.
Conclusion
Congratulations! You now have the knowledge to use, customize, and create your own biomes with the biome_ground.lua script. The possibilities are countless, from realistic natural environments to fantastical alien worlds.
Don't forget to:
  • Experiment with different color combinations
  • Try varying the material properties for unique effects
  • Share your custom biomes with the community
  • Check back for updates and new biome presets

Looking for Inspiration?
Study the existing biomes in the script for ideas. For example, the "ethereal" biome creates a heavenly atmosphere with light blues and whites, while the "cyberpunk" biome uses neon colors on a dark background for a futuristic feel.
Happy creating!


If you found this guide helpful, please leave a rating and share it with others who might benefit. If you have questions or need help, feel free to leave a comment below!



5 Comments
SNIPER 22 Jul @ 1:40pm 
nice
NGNT  [author] 5 May @ 4:02am 
Thanks, man. Me too
Planimun Kicker 5 May @ 2:51am 
Awesome shit, dude. Can't wait to see stuff popping up using this tool
NGNT  [author] 4 May @ 7:11am 
Oh, v1.1? That's the very first release on my the github page, if you go to "releases" and scroll all the way down it's the First release :steamthumbsup:
Mr Cruz 4 May @ 5:58am 
This might sound stupid but where do i find Voxmapper v1.1? :steamthumbsup::steamhappy: