本帖最后由 QQ酱39045 于 2021-9-21 14:45 编辑
晕菜,白写
https://github.com/spoutn1k/mcmap
那就先放这里吧 最底下有图片。
mcmap是一个允许你创建Minecraft保存文件的等距渲染的工具。
这个项目正在大力开发中,但与较新版本的Minecraft兼容。
[h1=使用]
基本调用
/mcmap <options> path/to/<your save>(你的保存)
标准的保存路径在操作系统之间是不同的。
在Linux上,它是$HOME/.minecraft/saves。
在macOS上,在~/Library/Application\ Support/minecraft/saves下。
在Windows上,标准路径是%AppData%\.minecraft\saves。如果在Windows上使用Ubuntu,访问保存文件夹的路径是如下。/mnt/c/<Your user>/AppData/Roaming/.minecraft/saves。
现在支持原生Windows。预编译的二进制文件可以从发布页面下载。目前,该程序只能在Linux/Macos或Windows上分别通过终端/Powershell使用。
一个实验性的GUI可用于Windows,可在此下载。
[h2选项]
名称 介绍
-from X Z 设置方块的坐标,以开始渲染
-to X Z 设置渲染结束时的坐标
-center X Z 设置圆形渲染的中心点
-radius VAL 设置圆形渲染的半径
-min/max VAL 渲染块的最小/最大Y指数(高度)
-file NAME 设置输出文件名为'NAME';默认为./output.png
-colors NAME 将自定义颜色文件设为 "NAME"
-nw -ne -se -sw 控制哪个方向会指向顶角;默认是西北方向
-marker x z color 在红、绿、蓝或白的颜色的x z处画一个标记;最多可以使用256次
-nowater 不渲染水
-nobeacons 不呈现信标光束
-shading 遮蔽切换遮蔽(根据高度提高块的亮度)
-lighting 照明切换照明(根据光照情况使区块变亮)
-nether 渲染地狱
-end 渲染末地
-dim[ension] [namespace:]id 根据命名的维度ID渲染一个尺寸
-mb VAL 一次性使用的最大内存(默认为3.5G,如果你有足够的内存,可以增加大型地图的内存)
-tile VAL 以指定大小的区块渲染地形(默认为1024)
-padding 最终图像周围的填充物,单位是像素(默认为5)
-h[elp] 显示一个选项摘要
-v[erbose] 切换调试模式
-dumpcolors 转储一个包含所有定义颜色的json文件
注意:目前你需要同时使用-from和-to或者-center和-radius来定义边界。
提示:
mcmap将使用你的计算机的所有线程分批渲染地形。不幸的是,当这些批次合并的时候,会产生一些人工制品:在合并的地方出现线条。
使用更大的-tile值来限制批处理的数量,从而限制人工制品的产生。这受到可用内存的限制,因为一次性渲染整个地图可能需要10G以上的内存。
使用较低的-tile值来提高性能。256和512tiles是非常有效的。
[h2=颜色文件格式]
mcmap支持改变方块的颜色。要做到这一点,通过编辑mcmap -dumpcolors的输出来准备一个自定义的颜色文件,并使用-colors参数将其作为一个参数传递。
接受的格式是一个json文件,有一个特定的结构。根部包含一个要修改的方块ID的列表,带有命名空间的前缀,如namespace:block。
例子:
"namespace:block": #rrggbbaa (或 #rrggbb)
简单的方块
要为一个简单的、有规律的方块定义颜色,请在一个JSON文件中提供一个条目。颜色的格式是一个十六进制的颜色代码。如果没有指定Alpha,则假定它是不透明的。
[h2=复杂的方块]
为了有些方块能以特定方式绘制时更美观。你需要指定一个方块以不同的方式绘制,这时你必须提供一个包含以下字段的json结构。
"namespace:block": {
"type": <BlockType>,
"color": "#rrggbbaa",
"accent": "#rrggbbaa" (可选)
}
复杂的区块
有些区块在以特定方式绘制时更美观。要指定一个块必须以不同的方式绘制,你必须提供一个包含以下字段的json结构。
可用的可用方块类型有:
名称 外表 突出支持
Full 默认情况下。全方块。 否
Hide 不完全渲染方块。 否
Clear 这个方块是为大量的透明块而优化的,例如玻璃和水。方块的顶部不会被渲染,在将方块混合在一起时,会有一个平滑的表面。 否
Thin 只给下面的方块的顶部着色。用于雪、铁轨、压力板。 否
Slab 半方块。 否
Stair 渲染一个阶梯方块。 否
Rod 一个更细的方块,用于栅栏和墙壁。 否
Wire 地面上的小点,用于绊脚石和红石。 否
Head 较小的方块,也用于锅、腌菜和蘑菇。 否
Plant 用在各种情况下,渲染成叶子一样的方块。 否
UnderwaterPlant 与植物相同,但空气是水色的。用于海草和海带。 否
Fire 类火。用于火。 否
Beam 内部区块类型,用于标记和信标光束。 否
Torch 三个像素组成一条垂直线,最上面的像素用重点颜色渲染。 是
Ore 有颜色脉络的方块。脉络用重点颜色渲染。 是
Grown 上面有不同层的方块状物。如草、尼罗河等。顶层用重点色渲染。 是
Log 定向方块,尽可能地渲染原木/柱子。柱子的中心被渲染成重点颜色。用于原木、柱子、玄武岩。 是
Lamp 条件方块,用于渲染红石灯。如果被点亮,则用重点色渲染。 是
注意:根据积水方块的状态,默认情况下,积水方块将在水中而不是在空气中呈现。然而,海草和海带被硬编码为在水下,它们的方块状状态不会反映这一点,所以它们必须被定义为水下植物。
[h1=编译]
mcmap依赖于PNG和zlib库。开发时使用gcc 10版本,可以用gcc 8或更高版本或clang 10或更高版本进行编译。配置是用CMake完成的。
可详见Github。
[h1=故障处理]
编译失败
检查g++ -- 版本。支持的版本至少是8.0.0。如果你的版本不是最新的,用你的软件包管理器安装一个较新的版本。你可以使用g++-Y来访问新版本,Y是版本号。使用CXX=g++-Y make进行编译。
编译失败,有可能是OMP的问题
试着用OPENMP=NOTHXM8 make进行编译。这将禁用底层线程代码,所以性能可能会下降。
输出有海洋中的线条。
这是由合并算法造成的。试着用-tile选项增加tile的大小,或者改变水方块的颜色,使用全方块类型,使其不那么明显。
|
-
2.png
(144.21 KB, 下载次数: 332)
|