Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
该页面的内容不代表Mojang StudiosMinecraft Wiki的官方意见。
辅助程序与编辑器
Binvox
作者

Patrick Min

平台

WindowsLinuxmacOS

编写于

C++

最新版本

binvox 1.17, viewvox 0.42 - 2012年11月11日

发布日期

September, 2010

大小

0.8 MB

版权

N/A

源代码

旧版本, 0.4

兼容

N/A

链接

网站 社区

Binvox 是一个命令行程序,将3D文件转换到 .binvox 构筑计划文件或 .schematic 文件供 MCEedit 使用。一个 .binvox 输出文件可以被交互式“viewvox” OpenGL 软件查看,都是由相同的作者提供。这些软件的主页在 Patrick Min 的网站上

处理转换3D多边形到方块的软件叫做“voxelization”。Binvox voxelizes、viewvox 展示结果。 Voxelization 不是一个完美的处理软件,因为这个软件需要让你作出太多的决定了。比其他的输出决定更多,最重要的决定是围绕着如何填充像素模型,让模型看起来被“填满”。因此,有许多途径控制 Binvox 的结果。

支持的系统[]

Binvox 和 viewvox 在 Windows、Mac、和 Linux 系统上运行。viewvox 预览软件使用 OpenGL 和 GLUT。

下载[]

Windows:vox_package.zip。这个发行版让你一次下载所有所需的东西,包括 GLUT。它也包括2个3D示例文件和.BAT 文件来渲染它们。查看发行版里面的 README.txt 获取更多信息。

个人软件可在这里下载: binvoxviewvox.

另一个则是 Auto-Binvox.zip,一个批处理文件,可以简单处理 voxelising 的任何文件,并且附带 Binvox 和 Viewbox(其他版本可能不兼容 Windows 7)。这个批处理文件可以让你把文件夹里的一个3D模型进行处理,然后将其放在 Binvox 和 Viewvox 中进行转换。这样做的缺点是你不能很容易的控制选项、Schematic 的最大维度和方块种类。

GLUT 库必须分别下载,以便让 Viewvox 顺利运行。

Mac(Snow Leopard,OS X 10.6.8): binvoxviewvox

Linux(Fedora 13,64位): binvox 64位 32位、viewvox 64位32位

文件格式[]

支持下列3D文件格式: Wavefront OBJ、VRML 2.0、UG、OFF、DXF、XGL、POV、BREP、PLY、JOT。只有 polygons 支持这些的大多数格式(VRML 2.0 则完全支持)。实际上,Wavefront OBJ 可能是支持最多的格式了。

模型可以在网页创建,例如在 Turbosquid 网站(提示:按成本排序)。为了将 3DS 转换的 OBJ 格式,可用 MeshLab 之类的软件。

输出默认为 .binvox viewvox 软件可预览文件格式。简单输入 “viewvox <your_output_file>.binvox” 来生成预览。一个被生成的 .schmatic 文件可使用 MCEdit 导入到世界中。

画廊[]

photo gallery of creations 由作者进行维护。如果你想制作画廊,向他发送你自己手动制作的照片(地址),他可能会将它们添加到画廊中。

Binvox 命令[]

Binvox 有以下选项(输入不带参数的 “binvox” 将会显示这些):

Usage: binvox [-d <voxel dimension>] [-t <voxel file type>] [-c] [-v] <model filespec>
  -d: specify voxel grid size (default 256, max 1024)
  -t: specify voxel file type (default binvox, also supported: hips, mira, vtk, raw, schematic)
  -c: z-buffer based carving method only
  -dc: dilated carving, stop carving 1 voxel before intersection
  -v: z-buffer based parity voting method only (default is both -c and -v)
  -e: exact voxelization (any voxel with part of a triangle gets set)(does not use graphics card)
Additional parameters:
  -bb <minx> <miny> <minz> <maxx> <maxy> <maxz>: force a different input model bounding box
  -ri: remove internal voxels
  -cb: center model inside unit cube
  -rotx: rotate object 90 degrees ccw around x-axis before voxelizing
  -rotz: rotate object 90 degrees ccw around z-axis before voxelizing
    both -rotx and -rotz can be used multiple times
  -aw: _also_ render the model in wireframe (helps with thin parts)
  -fit: only write the voxels in the voxel bounding box
  -bi <id>: when converting to schematic, use block ID <id>
  -down: downsample voxels by a factor of 2 in each dimension (can be used multiple times)
  -dmin <nr>: when downsampling, destination voxel is on if >= <nr> source voxels are (default 4)
Supported 3D model file formats:
  VRML V2.0: almost fully supported
  UG, OBJ, OFF, DXF, XGL, POV, BREP, PLY, JOT: only polygons supported
Example:
binvox -c -d 200 -t mira plane.wrl

Viewvox 控制[]

提示:为了查看模型导入到地图后的结果,输入 “pannntsy”(改变到远景视图,折叠可选颜色,展示底部网格,折叠透明网格,显示单片,显示模型的最上方(设置视角从 Y 轴垂直向下看))当 Viewvox 启动时。“j” 和 “k” 会移动到模型在地图上的水平方向,并且下面的方块会显示成半透明的灰白色。

Viewvox 控制:

鼠标

     左键 = 旋转
     中键 = 摇动镜头
     右键 = 缩放

按键

     r           = 重设视图
     方向键 = 沿 x(←、→)或 y(↑、↓)方向移动1像素
     =、-    = 沿 z 移动一个像素(缩放到正面的视图)
     q         = 退出
     a           = 隐藏可选颜色
     p           = 隐藏正面和远景投影
     X、Y、Z     = 设置视角到 X、Y、或 Z 轴
     1           = 隐藏 X、Y、Z 坐标
     s           = 显示单片
     n           = 显示旁边的上/下/上和下片
     t           = 隐藏旁边的透明
     j           = 向下移动一片
     k           = 向上移动一片
     g           = 隐藏显示片层的网格

教程[]

Binvox teapot

使用 Binvox 制作的第一个模型

这里是一个 Mac 核心教程

这里是原始教程帖子。该教程被复制并且在这里更新,因此用户可以随时改善它。

获取软件和一些模型。为了让你做起来简单,本教程将会使用最新的 Binvox 和 Viewvox 软件,GLUT DLL、2个模型和用于显示模型的2个批处理文件。在这里获取,并将其解压。如果你不想查看这篇教程来快速开始,请阅读 README.TXT。Mondeus 的视频 展示了如何使用软件,也许会对你有帮助——主要的,双击一个批处理文件然后类似的模型就会被转换并显示。

如果你想从难的途径开始,保证获得了最新版本,按照下面的步骤操作。你应该了解 Patrick 的 Minecraft 页面。首先,下载 binvoxviewvox 到相同目录中。你可以放置它们到桌面中。你也需要下载 GLUT ,然后将 DLL 放到与 binvox 相同位置的 zip 文件中,或者你如果知道怎么做,你可以将它们放到 Windows 系统 DLL 文件夹(例如 Windows 7 就是 C:\Windows\SysWOW64)。

第二步,寻找一个要转换的模型,为了简单一些,将其放到 Binvox 文件夹。之前的帖子已经有了许多的免费模型,也还有更多,例如:TurboSquid 的3dvia 的Princeton 的Nasa 的。你可以使用下面的格式的模型:VRML、OBJ、OFF、DXF、PLY 和 STL。

如果你拥有其他格式的模型,你可以使用 [1] Milkshape], Blender,或其他模型转换器,将其转换到 Binvox 可读取的格式。

无论如何,让我们使用一个很好的示例模型—— Aim*SHAPE(一个手模型)来开始吧。你不需要获取高分辨率模型,一个低分辨率网格也很好——之后,它就变成方块了。因此选择下面那列的左边第三行第一个。一旦你下载后,解压到 Binvox 和 Viewvox 的位置(为了简单)。你需要唯一的文件是 gipshand2-3k.obj,实际上这个文件是保存着模型数据的一个文本文档。

现在,点击开始菜单按钮(屏幕左下角),然后在下面的搜索框中输入:

cmd

将会出现一个黑色文本窗口。转到你放置 Binvox 和模型的地方。例如桌面,那么就是:

cd C:\Users\Eric\Desktop

为了运行 Binvox,你可以输入:

binvox gipshand2-3k.obj

几分钟之后,你将会在屏幕左上角看见一组手动渲染。这是 Binvox 正在进行建模并寻找像素。这将会创建一个叫做 gipshand2-3k.binvox 的文件,这个文件会在窗口中提及,并像这些显示:

 Voxels::print_filled_area
   area filled: 185 x 92 x 243
   integer bounding box: [6,6,7] - [190,97,249]
 
 writing voxel file...
 VoxelFile::write_file(gipshand2-3k.binvox)
 Wrote 426642 set voxels out of 16777216, in 148528 bytes

第一行展示了模型的大小;第三个值是模型的高,即这个模型高243方块。这对 Minecraft 世界来说太高了,但是我们仍将会在一分钟之内到达这个尺寸。

如果没有得到任何东西,确保这些东西都在同一目录!也就是说,“cd” 是 “改变目录” ——仔细查看教程是如何使用它的。如果你不懂得 DOS 命令,可以简单的将 binvox.exe 软件(及依赖文件)和你的模型文件放在同意目录,相同位置。这是人们在运行 Binvox 时遇到的第一个问题——Binvox 不知道你的文件在何处。

查看输出文件,输入:

viewvox gipshand2-3k.binvox

提示:你可以在 CMD 窗口使用↑键来显示你刚才输入过的命令(你可以多次按下它),使用←键、→键和 Delete 键来改变命令的内容。使用这种方法可以避免再次输入 “gipshand2-3k.obj” 的麻烦,你可以点击↑键,改变“obj”为“binvox”,“bin”为“view”。

你应该获得像这样的东西(CMD 窗口应该向上滚动了一点点,为了展示输入的命令,本教程切断了命令行):

Viewvox

Viewvox 对 Minecraft 玩家来说显示了一些有用的信息,例如:

 Voxels::remove_internal_voxels
   removing 383513 voxels, which leaves 43129 voxels[/code]

这告诉你建造这个模型所需的方块,为了关闭 viewvox 窗口,点击 CMD 窗口并按下 Ctrl+C。不要问我为什么。当你按下后,你应该得到一个“>”提示。

然而,默认的,Binvox 将模型制作成方块为256方块高(或长、或深,反正就是最大的那个)。我们愿意将其指定为64.现在,你可以键入:


binvox gipshand2-3k.obj -d 64

"-d 64" 指定你想扫描的高度。技术性备注:在 Windows 机器上,GLUT 有一个漏洞,那就是窗口不能小于120像素(Linux 不存在这个问题)。我们要在内部添加一些代码来增大分辨率,然后降低取样,因此它的运作就变成了一样的。手动解决这个问题的途径是:

binvox gipshand2-3k.obj -down -down

每个 “-down” 都会将分辨率二等分。默认从256开始,除2,再除2,就是4,这样就会得到64。解决这个问题的另一个途径就是使用“-e” 选项,which does an "exact" (any voxel overlapped gets tagged) voxelization:

binvox gipshand2-3k.obj -d 64 -e

精确像素化可避免在使用 GPU 渲染而造成的任何的精度问题。这样做有一个缺点,那就是不能进行进一步的控制。所有像素都被任何标记的多边形接触,这有时候看起来很不好。有许多选项来控制密度,边缘强调度等。

当你使用的时候,会输出一个新的 Binvox 模型。在这个新模型上使用 Viewvox,你会注意到它被称作 gipshand2-3k_1.binvox。因此输入:

viewvox gipshand2-3k_1.binvox

你可以使用鼠标控制这个模型的视角。左键是旋转、中键是摇动镜头、右键是缩放(用了一个时髦的方法)。这里是一个经过旋转后的模型视角:

Viewvox1

看起来挺不错。Viewvox 说这个模型有2471个方块,每5秒渲染1个方块,用时3.5小时。但是,应该如何建造它呢?很简单(除了其他所有的繁琐步骤):

第一步,按下S。这将会隐藏整个模型并显示垂直片面。这仍然很难数得到有多少个方块,因此按下A。这将会导致显示纵横交错排列的颜色。你想看上或者看下?按下N来隐藏这些邻近的,然后按下T来让它们变成半透明。按下1隐藏显示的坐标。注意:CMD 窗口在启动时就列出了这些选项。

这里是经过上述步骤后的视图,模型中间的一个垂直片面视图。

Viewvox2

专业技巧:在启动 Viewvox 时你总可以键入“antspy”(想想 “ant spy” 或 “pantsy”,如果这对你有用)。这将会带你到一个 俯视图,展示了1层,上面和下面都变成了透明的。通常要按下N2次以上,来只显示下面邻近的层。

当然,你可能想从模型的下方开始建造。按下J显示下片,上面就是K。你可以在 CMD 窗口中看见你当前处于的片号码(从0开始)。

这是最基本的,并且当所有东西都很好的时候才做。首先,把一个“不漏水”的模型选出来,如果你填满它,不会有水漏出来,并且没有吊着的边缘。多数在互联网上找到的模型并不会像这样,他们通常粘合每个面来获得一个效果。因此,你将会需要尝试命令行的不同选项。这里是 Binvox 最重要的几个选项。

-c - 如果你的模型是漏水的,这个选项你必须使用。它实际上渲染得更快,但会丢失角落和裂缝。

-dc - 在像素化时可以忽略的小功能。这个选项试图模糊模型。

-aw - 渲染模型的所有角落。这是另一个非常薄的技术模糊特性。

-dmin 1 - 当使用 “-down”,使用更小的像素填充模型,如果想填充任何的更大模型的话。 另一个技术模糊特性。

-rotx - 沿着 X 轴旋转模型90°。在 Viewvox 中,X 轴是红色的,Y 轴是绿色的,Z 轴是蓝色的(RGB)。你可以多次重复这个操作。

-rotz - 沿着 Y 轴旋转模型90°,许多模型一开始会指向“上”,而不是 Binvox 要求的。只需要尝试 -rotx 和 -rotz 命令还获得正确的朝向。

-cb - 这并不是关键,但会经常使用(除了上面的教程,这样只是为了简单)。这个模型通常会被移动,以便显示左下角的组成的立方体。这个选项会把模型放在中间,让其更容易读取坐标轴。用不用这个选项由你决定。

-t schematic - 把 .binvox 文件输出用 .schematic 文件输出代替。这种类型的文件可以使用i MCEdit 或其他工具导入到世界中。

只键入“binvox”,你会看见更多的命令行选项。在烦人的选项之后,像素化通常都是98%正确的 - 对模型进行小幅改动。

这里是经过转换后的一个骑士模型:

binvox chevalier.obj -d 536 -aw -c -dc -cb -dmin 1 -down -down -down

Binvox chevi

祝你好运!如果有任何问题,请将其发布到the 社区上。

如果你想把一个模型正确导入到 Minecraft 世界中,请参阅 这里

新的 Binvox 和 Viewvox 版本和选项会添加得相当频繁,因此要经常检查更新。你总是可以在键入“binvox”(不带参数)后在 CMD 窗口看到 Binvox 支持的选项和版本信息。

语言

Advertisement