Magicavoxel 是一款开源免费的轻量级8-bit体素编辑器,基于GPU交互渲染实现; 操作简便,轻松实现像素风效果。
功能简介
· 可创建和编辑3D,8位模型 · 自带渲染工具:可以呈现不同的光线条件、光照度、明暗度和锐度 · 支持多种画笔工具,随时画出你理想中的效果 · 内置一些基础模型,还支持插入预设形状及图案
官方站点:https://ephtracy.github.io/ 下载地址
MagicaVoxel 0.99版本 在 MacOs Catalina 版本下打开后黑屏,解决方式为,授权运行后,方法有二。
一种法为进入命令行工具所在文件夹后执行命令。
xattr -d com.apple.quarantine MagicaVoxel.app
第二种方法为将 MagicaVoxel.app
移动到其他的文件下后,重新移动到 Application 文件夹中。
使用说明
笔刷模式:
- 任意大小体素模型(V)、
- 面模型(F)、
- 单个模型(B)、
- 线性模型(L)、
- 圆模型(C)、
- 库内已有图案模型(P)
视图:
- 鼠标右键-【旋转画布】
- 空格+右键-【拖动画布】
- 鼠标滚轮-【缩放画布】
macOS: 使用 Command 替代 Ctrl 可以配置 config/hotkey.txt 来改变快捷键使用
Key | Command | Modifier |
---|---|---|
>> Global | ||
F1 | activate console | |
CTRL+Z | undo | |
CTRL+Y | redo | =CTRL+SHIFT+Z |
F6 / 6 | screenshot | +CTRL : for whole window |
TAB | switch between model and world editor | |
CTRL +/- | Scale UI | |
>> Renderer | ||
LButton | pick focus of Depth of Field | |
ALT+LButton | pick voxel material | |
CTRL+R | Reset material | |
CTRL+C | Copy material | |
CTRL+V | paste material | |
>> Camera | ||
RButton | rotate camera | |
MButton | move camera focus | =LButton+Space =WASDQE+Space |
LButton+X | set camera focus | |
LButton+Ruler | snap camera angle to multiples of 5 degrees | |
WASDQE | rotate camera / move camera (free mode) | |
WHEEL | zoom in/out | |
F4/4 | recenter camera | |
F5/5 | reset camera to 90 degree views | |
F7/7 | save current camera pose | |
F8/8 | load current camera pose | |
Numpad 0~9 | change camera slot | |
>> Project | ||
CTRL+S | Save project | |
CTRL+SHIFT+S | Save project as | |
CTRL+O | Open project | |
CTRL+SHIFT+O | import project | |
CTRL+P | new Project | |
CTRL+SHIFT+P | duplicate Project | |
>> Select | ||
CTRL+A | select All | |
CTRL+I | select Inverse | |
CTRL+D | Deselect all | |
CTRL+C | Copy | |
CTRL+X | cut | |
CTRL+V | paste | |
>> Edit [Model Editor] | ||
U | fUll model | |
I | fIll model | |
Backspace/Delete | delete voxels | |
>> Edit [World Editor] | ||
TAB | enter group | |
SHIFT+TAB | leave group | |
U | Union combine objects into one object | |
Arrow/Page | move object | |
G | move object to the ground | |
-/+ | rotate object | |
CTRL+H | Hide object | |
CTRL+SHIFT+H | unHide object | |
CTRL+N | New object | |
Backspace/Delete | delete object | |
CTRL+T | converT reference to duplicate | |
CTRL+R | gRoup objects | |
CTRL+SHIFT+R | ungRoup objects | |
>> Brush [World Editor] | ||
ALT+LButton | pick voxel color | |
CTRL+LButton | move object on the surface | |
>> Brush [Model Editor] | ||
ALT+LButton | pick voxel color | |
CTRL+LButton | move voxels | +SHIFT : move in normal direction |
T | aTtach brush | +SHIFT : temporally switch to Erase Brush |
R | eRase brush | +SHIFT : temporally switch to Attach Brush |
G | paint brush | |
N | selectioN brush | +SHIFT : add selection; +SHIFT+ALT : subtract selection |
>> Brush Mode | ||
V | Voxel shape brush | +/- : resize brush |
F | Face shape brush | |
B | Box shape brush | |
L | Line shape brush | |
C | Center shape brush | |
P | Pattern shape brush | +/-, 9, 0 : rotate around z, x, y axis |
Arrow/Page keys : add local offset to pattern model | ||
Home key : reset local offset to 0 | ||
>> Mirror Mode | ||
1 | mirror x | |
2 | mirror y | |
3 | mirror z | |
>> Axis Mode | ||
CTRL+1 | axis x | |
CTRL+2 | axis y | |
CTRL+3 | axis z | |
>> Display | ||
CTRL+E | display Edge | |
CTRL+G | display Grid | |
CTRL+F | display Frame | |
CTRL+U | display groUnd | |
CTRL+B | display Background | |
CTRL+W | display shadoW | |
CTRL+M | display wirefraMe | |
>> Palette | ||
ALT+DRAG | pick color from screen | |
CTRL+DRAG | swap color | |
CTRL+SHIFT+DRAG | duplicate color | |
ALT+SHIFT+DRAG | fill gradient block |
命令
Press TAB to Enable/Enter Commands
Press Enter to Confirm Commands
Press UP/DOWN to Select History Input
Command Format | Description | Example |
---|---|---|
sel_none | select none | |
sel_all | select all | |
sel_inv | select inverse | |
copy | copy voxels | |
cut | cut voxels | |
paste | paste voxels | |
size [x y z] | resize model | size 45 60 120 |
shrink | fit model size | |
zero | clear all voxels | |
full | full volume | |
fill | paint all voxels with same color | |
inv | inverse solid and empty space | |
flip [axis] | flip model | flip x y |
loop [axis] [offset] | move model | loop z 1 x -2 |
scale [xyz] [factor] | scale model (xyz is optional) | scale x 0.5 yz 2.8 |
x2 | double model size | |
rot [axis] [degree] | rotate model | rot x 30 |
rot90 [axis] | rotate model 90 degree | rot90 x |
repeat [xyz] [factor] | repeat model, negative value for mirror repeat (xyz is optional) | repeat xy 4 z -0.5 |
mir [axis] | mirror symmetry, default axis is x | mir x |
dia [axis] | diagonal symmetry, default axis is z | dia x |
dil [axis] | dilation, +z : positive direction, -z : negative direction, z : both directions | dil +z |
ero [axis] | erosion, +z : positive direction, -z : negative direction, z : both directions | ero +z-yx |
flood [colorIndex] | if colorIndex == 0, remove all invisible voxels | flood 0 |
otherwise, fill all invisible space with colorIndex | flood 73 | |
noise [seed scale min max] | default value : scale = 0.03 min = 0.2 max = 0.5 | noise 123 0.03 0.2 0.5 |
rand [min max] | paint model with random color index between min and max | rand 10 15 |
maze [edge length] | generate maze shape | maze 8 |
pal mask | mask out all unused color swatches | |
pal fill [index] | fill palette with chosen color index | pal fill 100 |
pal bw/mac | generate grey or default mac palette | pal bw |
o [file type] | export model | o obj |
odir [file type] | export all models in current folder displayed in model list | odir obj |
xs [option] [shader name] [arg0] [arg1] ... | generate model/anim by custom voxel shader in folder [shader/] | xs wave (-n : num interations; -prev : based on previoud frame; -cur : based on current frame ) |