β

Magica Voxel: 功能全面,界面美观的体素建模工具

自从 Minecraft 和 Cube World 等游戏流行后,体素风格引起了越来越多人的关注。有别于传统以三角网格表现的立体世界,体素风格不仅仅是一种新的 3D 视觉表现形式,也为开发者建构游戏世界提供了新的可行方式。使用体素风格能够避免传统三角网格3D游戏开发中可能遇到的许多问题,但也会迎来一些新的挑战,比如,不确定哪一款建模工具适合用于体素风格。今天介绍的开源软件 Magica Voxel 就是一款能够在 Window 和 Mac 平台使用,功能全面、界面美观的体素模型编辑器。

Magica Voxel 是一款自由软件,使用完全免费,可以用于任何开源或商业项目,无需任何额外的授权。

演示视频

效果展示

前一张 后一张

编辑界面则如下:
snap0152
snap_home
console

.VOX 格式简单说明

本工具的模型文件使用类似 RIFF 的自定义格式 .VOX

模型文件中的数据以继承的块状结构组织,文件头部如下:

 bytes : magic number ( 'V' 'O' 'X' 'space' ) 
 bytes : version number ( current version is 150 )
{ MAIN chunk }

( all the magic number used here is big endian, for example, 'M''A''I''N', M is at 0 bytes, N is at 3 bytes )

每一个数据块则像下面这样:

// chunk 
{ 
    // header 
 bytes : chunk id 
 bytes : size of chunk contents ( n ) 
 bytes : total size of children chunks ( m ) 

    // chunk content 
    n bytes : chunk contents 

    // children chunks : m bytes 
    { child chunk 0 } 
    { child chunk 1 } 
    ... 
} 
( so the total chunk size is 4 + 4 + 4 + n + m )

在主干的数据块内还会有若干个子数据块:

MAIN chunk : 
    id : ( 'M' 'A' 'I' 'N' ) 
------------------------------------------------- 
SIZE chunk : 
    id : ( 'S' 'I' 'Z' 'E' ) 
    content : ( 4 bytes x 3 : x, y, z ) 

VOXEL chunk : 
    id : ( 'X' 'Y' 'Z' 'I' ) 
    content : 
        ( numVoxels : 4 bytes ) 
        ( each voxel : 1 byte x 4 : x, y, z, colorIndex ) x numVoxels


// 注意 : 
// 1. 如果调色盘数据块不存在,则使用默认的调色盘;
// 2. 放在最末的颜色不会使用(只使用头 255 种颜色);
// 3. 第一种颜色(位置为0)绑定到颜色索引 1 上。
PALETTE chunk (optional) : 
    id : ( 'R' 'G' 'B' 'A' ) 
    content : 
        ( each pixel : 1 byte x 4 : r, g, b, a ) x 256 

如果需要配色信息,可以先将调色盘导出为 .act 文件,然后从中读取颜色。

.act :( each pixel : 1 byte x 3 : r, g, b ) x 256 

注意:
在老的模型中有时会保留一些无用的数据块,忽视它们就好。

命令行功能

除了通过图形界面控制外,Magica Voxel 也提供了一些命令行功能。
按下 TAB 可以激活或输入命令。
按下 Enter 来输入命令。
按下 UP/DOWN 来选择历史命令。

命令格式 命令描述 示例
rand [min max] 使用以指定范围内数字为索引的随机颜色为模型上色 rand 10 15
flood [colorIndex] 当 colorIndex == 0 时, 移除所有不可见的体素方块 flood 0
或者,用 colorIndex 填充所有不可见的空间 flood 73
noise [seed scale min max] 默认值: scale = 0.03 min = 0.2 max = 0.5 noise 123 0.03 0.2 0.5
pal mask 屏蔽所有未使用的调色盘
pal fill [index] 使用所选中的颜色索引填充调色盘 pal fill 100
pal bw/mac 生成灰度或默认的 mac 调色盘 pal bw
dil [axis] 膨胀 dil +z (仅限正方向), dil xyz (正负皆可)
ero [axis] 镂空 ero +z-yx (z为正, y为负, x 正负皆可)
maze [edge length] 生成迷宫 maze 8
o [file type] 导出模型 o obj
odir [file type] 导出当前模型列表中显示的所有模型 odir obj
xs [shader name] [arg0] [arg1] ... 执行自定义的体素渲染效果 [shader/] xs poly 5
xs [numIterations] [shader name] [arg0] [arg1] ... 执行自定义的体素渲染效果 [shader/] 多次迭代执行 xs 10 dil

下载地址

Magica Voxel

体素建模渲染工具 下载
作者:indienova 独立游戏新闻,评测,开发教学
你的独立游戏第一站

发表评论