本站文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 协议下提供。(详情…本站文本内容除另有声明外,均在知识共享 署名-非商业性使用-相同方式共享 3.0 协议下提供。(详情…中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!Minecraft中文Wiki微博正在更新!或许有兴趣去看看Minecraft中文Wiki微博正在更新!或许有兴趣去看看想与其他用户进行编辑上的沟通?社区专页正是为此创建的。想与其他用户进行编辑上的沟通?社区专页正是为此创建的。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。需要管理员的协助?在管理员告示板留言也许可以帮到您。需要管理员的协助?在管理员告示板留言也许可以帮到您。

辅助程序与编辑器/Binvox

来自Minecraft Wiki
跳转至: 导航搜索
该页面的内容不受Mojang ABMinecraft WikiMinecraft论坛的官方支持
辅助程序与编辑器
Binvox.jpg
作者

Patrick Min

开发者

Patrick Min, with minor help from Eric Haines and Qingnan Zhou

平台

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 制作的第一个模型

这里是一个 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.jpg

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.jpg

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

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

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

Viewvox2.jpg

专业技巧:在启动 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.jpg

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

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

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