Many of you will know of Goxel, a voxel editing program that can handle AoS maps, or be used for modelling.
Late last year, while myself and Influx were mapping, I decided to fork the source code and begin making some updates to it as we encountered things we wanted to change. I had been releasing these directly into the Voxel Cartography Discord, and having made a tiny recent fix I realised that I should (A) start using GitHub’s release feature to share them, and (B) advertise it outside of our small server.
🆕 FPV/First person camera ('#' hotkey toggle)
Full control over it is in the Camera category; toggle button for it, with settings such as fly speed, FOV, and manually being able to set the coordinates.
Arrow keys for direction.
Page Up/Down for vertical movement.
Right (or middle mouse) click and hold for "looking" (bare in mind you can't look and move at the same time for now).
🆕 FOV setting for regular camera (separate to FOV for FPV)
🔀 Rotational camera has a higher default FOV as part of making the transition to FPV less jarring; hopefully not too much of a problem - if it is, let me know. Can alter it yourself now anyway
🆕 Importing now adds the voxels into a new layer; this new layer is named after the file
🔀 kvx no longer has bounding box on import
🆕 Colour picker in tools panel is now the full colour picker from the popup (also reminder that holding CTRL while using a block adding tool briefly toggles to the colour picker for easy access!)
🛠️ Colour picker correctly steals mouse inputs, thus no longer draws underneath its popup while picking
🔀 Heightmap and colourmaps now export using .bmp, so they can be fed right into "bildramer's heightmap converter" (still need to specify .bmp in the file name)
🆕 Width/height/depth of brush
🆕 Added hotkey settings for brush modes (add/sub/paint are U/I/O) and planes (<> for move it up/down, / for visibility). Can change in settings.
🆕 Height/colourmap export (file > export)
🔀 Layer pane display always visible on the right
🛠️ ByteBit's AoS .vxl file fix
Can find me in the Voxel Cartography Discord - I will check here a bit but it’s easier to reach me there or in aloha’s aos-mapmaking channel. I doubt I’ll put much more time into it (only came on to fix a tiny issue with it, previous update was last December). Hopefully it’ll be useful to some of you mappers out there.
Half a year or so passes!
Two weeks ago I re-setup my dev environment for goxel and continued with more wishlist items we put together. I’ve now put out two versions that I’d love to get into more hands and test more thoroughly.
Here’s the major headlines…
Goxel 13
My fork was wildly out of date compared to the main branch, so it was long since time to bring the latest and greatest into my fork.
New UI - imgui was updated to the latest, and a new UI was added
Rect Select (tool) - can select based on screen coordinates rather than a selection box; click and drag = a selection
Rotation around an origin (part of move tool) - rotating is now around a definable origin rather than an arbitrary middle-of-map origin, making rotations far more user friendly
.gox import - adds its layers into the current working file
Camera angle quick select - the new ‘cube’ in the upper right can be clicked to move the camera to various preset angles for the top/side/diagonals
Colour inherit brush settings
Inside the brush/shape tool, you have an extra bar in the ‘color’ section:
User = use the user selected colour from the GUI
Inherit = ignore the user selected colour, and instead take the nearest colour beneath the cursor
Add = add the user colour to the inherited colour
Mid = find the midpoint between the user selected colour and the inherited colour
Doodad placer tool
Import an external file (kvx/kv6/text at the moment), it’ll show a preview you can manipulate, click to add it into the current layer!
Previously you’d either have to use VOXED for this, or File > Import > [format] > (imports to new layer) > (move tool it into position) > (merge down if wanted)… which was a painful user experience. Now all that is done in one click.
It also has a history section filled with buttons representing files imported during this session, for quick access:
Non 90-degree rotations
Previously, you’d have to use an external tool like Magicavoxel to do this; now it can be done in goxel!
Move tool’s rotations are still 90 deg, as that is non-destructive in nature
Move tool has a new “Rotation (Destructive)” menu, with ‘Degrees X’/Y/Z and an apply button. Provide an angle in degrees, press apply and it’ll rotate the current layer that much (or at least try!). Can undo if necessary, and is a destructive operation as non-90 deg rotations are by nature destructive at low voxel resolutions
Doodad placer tool’s rotation buttons rotates by 12.5 degrees each button press. This is not destructive as it is a temporary volume that is cached and only “exists” once you click to place
Other features
Select layer of block under cursor hotkey - hover over a voxel and press the apostrophe ’ key (configurable in settings). This will switch your ‘active’ layer to be the layer that voxel belongs to
Selection tool shift to move - when using the selection tool, you manipulate a box to create a selection area. There’s two modes to it - RESIZE and MOVE that were inside a combo box. This is still available, but holding the shift key will temporarily switch you to MOVE, allowing you to move your bounding box rather than resize it in an easier way than having to use the combo
Selection tool ‘select entire layer’ button - quick way to select the entire layer content
App default tweaks - shadows disabled, blocks not so shiny and grid opacity reduced by default. Disabling shadows should help performance
Excellent editor, I’m already using it.
Of the minuses, I have not yet understood how to easily create complex terrain of earthly hills. I simply draw lines around the areas and move them up one level. The line maker is a bad tool, it misses random blocks of the line being drawn. It definitely needs to be fixed. And secondly, I wanted to have a custom palette, otherwise it’s not convenient to constantly click with an eyedropper.
Complex terrain is always a tricky one! Using colour alpha and the painting tool in goxel is an option but you may need to chop your terrain layer into several smaller ones in order to keep it performant.
The other option is to export your terrain as a heightmap, create a colourmap in your favourite image editor as a bmp, and then re-combine them into a vxl using Bildramer’s tool. Image editors have great tools for creating textures and such, so that’s the most versatile option.
Line maker - interesting. I’ll play about and see.
I’d definitely try using the brush with ‘1’ for the Z height, and then potentially trying out the ‘plane’ tool. The ‘/’ hotkey will enable the plane and ‘<’ and ‘>’ will raise/lower it. You can then change the snapping settings on the brush settings to make you only snap onto the plane and not the mesh. Makes building up terrain layer by layer much easier.
As for colour palettes, it looks like you can import colour palettes from gimp, but there are palettes built into the editor as well, the palette icon on the left has a dropdown, maybe one of those can help. If you’re in the brush tool, you can hold CTRL to temporarily switch to colour picker and click to grab. Can also hold SHIFT and the brush becomes a line tool temporarily as well. Perhaps those two will help.
Placer and Selection tool - both now have “Copy to placer” and “Move via placer” buttons after a selection has been made.
“Copy to placer” keeps the original voxels and selection box in place.
“Move via placer” copies the blocks within the selection, then wipes the selection and its box, ready to be placed elsewhere any number of times by the placer.
This change effectively provides a “move selection” mechanic, which has been saught after for a long time. Also means if you create something in one part of the map, you don’t necessarily need to export and reimport in order to use it in other places - can just copy the selection while keeping the original in place.