• 欢迎来到Minecraft插件百科!
  • 对百科编辑一脸懵逼?帮助:快速入门带您快速熟悉百科编辑!
  • 因近日遭受攻击,百科现已限制编辑,有意编辑请加入插件百科企鹅群:223812289

Difference between revisions of "Dynmap/配置/HDMap"

From Minecraft插件百科
Jump to: navigation, search
(创建页面,内容为“按照他们对 v0.20 版本的介绍,HDMap提供了一种新的更加灵活的,并且(按理说)更加复杂的用来在服务器上定义和自定义地图…”)
 
Line 128: Line 128:
 
定义自定义预设、着色器、光照之后,地图就可以按照使用预设配置一样使用这些自定了。
 
定义自定义预设、着色器、光照之后,地图就可以按照使用预设配置一样使用这些自定了。
  
附加高解析度地图设置
+
;附加高解析度地图设置
  
 
HDMap 支持很多可选的附加选项,用于设置用户的使用。这些设置包含:
 
HDMap 支持很多可选的附加选项,用于设置用户的使用。这些设置包含:
Line 175: Line 175:
 
以下以在高解析度地图内的命名规则设定:
 
以下以在高解析度地图内的命名规则设定:
  
iso_S_60_vlowres
+
* iso_S_60_vlowres
 
+
* iso_S_60_lowres
iso_S_60_lowres
+
* iso_S_60_medres
 
+
* iso_S_60_hires
iso_S_60_medres
+
* iso_SE_60_vlowres
 
+
* iso_SE_60_lowres
iso_S_60_hires
+
* iso_SE_60_medres
 
+
* iso_SE_60_hires
iso_SE_60_vlowres
+
* iso_E_60_vlowres
 
+
* iso_E_60_lowres
iso_SE_60_lowres
+
* iso_E_60_medres
 
+
* iso_E_60_hires
iso_SE_60_medres
+
* iso_NE_60_vlowres
 
+
* iso_NE_60_lowres
iso_SE_60_hires
+
* iso_NE_60_medres
 
+
* iso_NE_60_hires
iso_E_60_vlowres
+
* iso_N_60_vlowres
 
+
* iso_N_60_lowres
iso_E_60_lowres
+
* iso_N_60_medres
 
+
* iso_N_60_hires
iso_E_60_medres
+
* iso_NW_60_vlowres
 
+
* iso_NW_60_lowres
iso_E_60_hires
+
* iso_NW_60_medres
 
+
* iso_NW_60_hires
iso_NE_60_vlowres
+
* iso_W_60_vlowres
 
+
* iso_W_60_lowres
iso_NE_60_lowres
+
* iso_W_60_medres
 
+
* iso_W_60_hires
iso_NE_60_medres
+
* iso_SW_60_vlowres
 
+
* iso_SW_60_lowres
iso_NE_60_hires
+
* iso_SW_60_medres
 
+
* iso_SW_60_hires
iso_N_60_vlowres
+
* iso_S_30_vlowres
 
+
* iso_S_30_lowres
iso_N_60_lowres
+
* iso_S_30_medres
 
+
* iso_S_30_hires
iso_N_60_medres
+
* iso_SE_30_vlowres
 
+
* iso_SE_30_lowres
iso_N_60_hires
+
* iso_SE_30_medres
 
+
* iso_SE_30_hires
iso_NW_60_vlowres
+
* iso_E_30_vlowres
 
+
* iso_E_30_lowres
iso_NW_60_lowres
+
* iso_E_30_medres
 
+
* iso_E_30_hires
iso_NW_60_medres
+
* iso_NE_30_vlowres
 
+
* iso_NE_30_lowres
iso_NW_60_hires
+
* iso_NE_30_medres
 
+
* iso_NE_30_hires
iso_W_60_vlowres
+
* iso_N_30_vlowres
 
+
* iso_N_30_lowres
iso_W_60_lowres
+
* iso_N_30_medres
 
+
* iso_N_30_hires
iso_W_60_medres
+
* iso_NW_30_vlowres
 
+
* iso_NW_30_lowres
iso_W_60_hires
+
* iso_NW_30_medres
 
+
* iso_NW_30_hires
iso_SW_60_vlowres
+
* iso_W_30_vlowres
 
+
* iso_W_30_lowres
iso_SW_60_lowres
+
* iso_W_30_medres
 
+
* iso_W_30_hires
iso_SW_60_medres
+
* iso_SW_30_vlowres
 
+
* iso_SW_30_lowres
iso_SW_60_hires
+
* iso_SW_30_medres
 
+
* iso_SW_30_hires
iso_S_30_vlowres
+
* iso_N_90_vlowres
 
+
* iso_N_90_lowres
iso_S_30_lowres
+
* iso_N_90_medres
 
+
* iso_N_90_hires
iso_S_30_medres
+
* iso_S_90_vlowres
 
+
* iso_S_90_lowres
iso_S_30_hires
+
* iso_S_90_medres
 
+
* iso_S_90_hires
iso_SE_30_vlowres
+
* iso_E_90_vlowres
 
+
* iso_E_90_lowres
iso_SE_30_lowres
+
* iso_E_90_medres
 
+
* iso_E_90_hires
iso_SE_30_medres
+
* iso_W_90_vlowres
 
+
* iso_W_90_lowres
iso_SE_30_hires
+
* iso_W_90_medres
 
+
* iso_W_90_hires
iso_E_30_vlowres
 
 
 
iso_E_30_lowres
 
 
 
iso_E_30_medres
 
 
 
iso_E_30_hires
 
 
 
iso_NE_30_vlowres
 
 
 
iso_NE_30_lowres
 
 
 
iso_NE_30_medres
 
 
 
iso_NE_30_hires
 
 
 
iso_N_30_vlowres
 
 
 
iso_N_30_lowres
 
 
 
iso_N_30_medres
 
 
 
iso_N_30_hires
 
 
 
iso_NW_30_vlowres
 
 
 
iso_NW_30_lowres
 
 
 
iso_NW_30_medres
 
 
 
iso_NW_30_hires
 
 
 
iso_W_30_vlowres
 
 
 
iso_W_30_lowres
 
 
 
iso_W_30_medres
 
 
 
iso_W_30_hires
 
 
 
iso_SW_30_vlowres
 
 
 
iso_SW_30_lowres
 
 
 
iso_SW_30_medres
 
 
 
iso_SW_30_hires
 
 
 
iso_N_90_vlowres
 
 
 
iso_N_90_lowres
 
 
 
iso_N_90_medres
 
 
 
iso_N_90_hires
 
 
 
iso_S_90_vlowres
 
 
 
iso_S_90_lowres
 
 
 
iso_S_90_medres
 
 
 
iso_S_90_hires
 
 
 
iso_E_90_vlowres
 
 
 
iso_E_90_lowres
 
 
 
iso_E_90_medres
 
 
 
iso_E_90_hires
 
 
 
iso_W_90_vlowres
 
 
 
iso_W_90_lowres
 
 
 
iso_W_90_medres
 
 
 
iso_W_90_hires
 
  
 
==自定义预设==
 
==自定义预设==
Line 380: Line 301:
 
*org.dynmap.hdmap.TopoHDShader - 根据方块的高度调节颜色的着色器
 
*org.dynmap.hdmap.TopoHDShader - 根据方块的高度调节颜色的着色器
  
设置一个自定义的 DefaultHDShader 着色器
+
;设置一个自定义的 DefaultHDShader 着色器
  
 
DefaultHDShader 类支持以下设置:
 
DefaultHDShader 类支持以下设置:
Line 399: Line 320:
 
*transparency : 控制是否使用透明度设置。默认为 true(正常处理透明) 或 false (所有方块视作不透明)。
 
*transparency : 控制是否使用透明度设置。默认为 true(正常处理透明) 或 false (所有方块视作不透明)。
  
设置一个自定义的 CaveHDShader 着色器
+
;设置一个自定义的 CaveHDShader 着色器
  
 
CaveHDShader 目前没有任何属性,使用这个着色器也不会有任何目的。将来的 Dynmap 更新可能会添加定义洞穴渲染使用的颜色设定。
 
CaveHDShader 目前没有任何属性,使用这个着色器也不会有任何目的。将来的 Dynmap 更新可能会添加定义洞穴渲染使用的颜色设定。
  
设置一个自定义的 TexturePackHDShader 着色器
+
;设置一个自定义的 TexturePackHDShader 着色器
  
 
TexturePackHDShader 类更像用于自定义的着色器,因为必须使用附加的材质包文件。此着色器支持标准材质包的特性,也可以使用 MCPatcher 客户端的材质包,包括了高解析度的材质,自定义水和岩浆,自定义的群系树叶草地过渡。
 
TexturePackHDShader 类更像用于自定义的着色器,因为必须使用附加的材质包文件。此着色器支持标准材质包的特性,也可以使用 MCPatcher 客户端的材质包,包括了高解析度的材质,自定义水和岩浆,自定义的群系树叶草地过渡。
Line 429: Line 350:
 
*grid-scale : 是否在地图上渲染网格,如果设置为 16 ,每个方块的边缘都有白色网格。
 
*grid-scale : 是否在地图上渲染网格,如果设置为 16 ,每个方块的边缘都有白色网格。
  
设置一个自定义的 TopoHDShader 着色器
+
;设置一个自定义的 TopoHDShader 着色器
  
 
默认的 TopoHDShader 设置如下:
 
默认的 TopoHDShader 设置如下:

Revision as of 21:06, 16 August 2021

按照他们对 v0.20 版本的介绍,HDMap提供了一种新的更加灵活的,并且(按理说)更加复杂的用来在服务器上定义和自定义地图的方式。一些HDMap如何定义和架构的细节旨在抵消一些额外的复杂性 - 但是理解HDMap定义后的"操作理论"也是很重要的,这能让你知道你需要做些什么才能得到想要的地图(而不用做出任何不必要的努力就能得到想要的结果)。

迅速上手:启用HDMap的模板

Dynmap包括了3种模板,每种都提供了如何定义不同种类的世界(普通、地狱、末地)。编辑 configuration.txt 来在这些模板之间选择,并且更改 deftemplatesuffix 的设置(可以在 configuration.txt 的顶部找到)。现在定义的值包括了这些:

  • deftemplatesuffix: "" : 这让Dynmap使用"经典"的默认模板 - 那些低解析度并且渲染非常快速,但是远没有让人满意的地图种类。这种模式使用的模板的文件可以在 templates/normal.txt, templates/nether.txt, 和 templates/the_end.txt 找到。这在 0.23 以及之前的版本都是默认设置。
  • deftemplatesuffix: vlowres : 这是 "very-low-res"(非常低解析度) 的高清地图。这些地图跟'经典'的默认地图(表面地图,东南方地图,洞穴地图),但是是使用高解析度地图渲染器渲染的。并且,默认的Minecraft材质将会用于方块着色,用于更加准确的表现地图。使用的模板文件在templates/normal-vlowres.txt, templates/nether-vlowres.txt, 和 templates/the_end-vlowres.txt。在 0.24 版本,这些是默认的模板。
  • deftemplatesuffix: lowres : 这是 "low-res"(低解析度)高清地图,这些地图跟'经典'的默认地图(表面地图,东南方地图,洞穴地图),但是是使用高解析度地图渲染器渲染的与经典地图相比高 2-3 倍分辨率的地图。并且,默认的Minecraft材质将会用于方块着色,用于更加准确的表现地图。渲染这些地图的时间比经典地图长大约 4-6 倍,存储空间使用也会多 4 倍。使用的模板文件在templates/normal-lowres.txt, templates/nether-lowres.txt, 和 templates/the_end-lowres.txt。
  • deftemplatesuffix: hires : 这是 "high-res"(高解析度)的高清地图。这些地图跟 lowres 高清地图相似,除了 surface 地图(直观图)使用了更加高的分辨率(比 lowres 高 4 倍。比经典高8倍),并且在更低的观察角度渲染(水平的 30 度而不是 60 度)。渲染的结果是非常棒的,但是会消耗相当的时间进行渲染(约低清晰度的 16 倍时间,经典地图的 64 倍时间),并且会使用更多的磁盘(比低清晰度多 16 倍,比经典地图多 64 倍)。使用的模板文件在 templates/normal-hires.txt, templates/nether-hires.txt, 和 templates/the_end-hires.txt。

当选择了一个模板集之后,地图就可以通过编辑模板文件来达到更高的自定义效果。以下部分描述了完全的地图设置方法。

基础:如何将高清地图添加到模板或世界

设置 HDMap 与其他现有的地图是相同的,和其他地图一同,HDMap 的配置模板在 maps: 部分提供(configuration.txt 或者相应的文件夹)或者在世界配置的 worlds: 部分( configuration.txt 或者 worlds.txt 文件)。接下来是 HDMap 的一份示例配置:

maps:
  - class: org.dynmap.hdmap.HDMap
    name: myhdmap
    title: "My HD Map"
    prefix: hdm1
    perspective: iso_S_90_lowres
    shader: stdtexture
    lighting: default

与其他的地图相似,HDMap 需要 3 个基本的参数:

  • class: 设置 - 此选项设置了地图的类型,HDMap 为 org.dynmap.hdmap.HDMap
  • name: 设置 - 此选项设置了此地图的独一无二的名称(与其他给出的世界的地图名称不同)。此名称用于识别地图,包括在 defaultmap 设定选择默认地图时和使用网页的参数时。
  • prefix: 设置 - 如果没有提供, name 设置将被用作此项。这项用于存储地图的文件和目录名称 - 所以也需要区别于其他世界的地图的 prefix 值、

现在,接下来的设定控制 HDMap 将怎样绘制:

  • 我们怎么确定看到的内容?
  • 我们决定如何着色?
  • 照明对我们看到的颜色有什么影响?

使用 HDMaps,这些问题的答案由接下来的 3 个选项所决定:

  • perspective: 设置决定我们查看地图使用的透视种类。透视控制着物体的投射(目前只有等距投射),查看地图的方向(南北角度,水平角度),和查看视图的缩放(每一格边界有多少像素)。
  • shader: 设置提供了用于着色地图的渲染器 - 决定透视的着色。这可以包括使用特定的Minecraft材质的着色器,使用老式颜色主题的着色器(就像 FlatMap 和 KzedMap 一样),使用生物群系着色的着色器,或者洞穴着色器。
  • lighting: 设置提供了用于更改地图着色的光照系统,基于光照条件。这可以包含阴影渲染,夜视渲染或二者皆可。

Dynmap使用几个提前设定好的预设来简化配置的过程,这些预设,有必要时可以修改,或是在创建新的配置时作为参考。

预设

你可以在 perspectives.txt 很多的预设,预设的名称按照严格的命名规则,这样可以使其更加浅显易懂:

投影 方向 角度 缩放_

其中:

  • projection 是观察点的类型:目前只有 iso (等距)支持。
  • direction 是观察的方向:这八个方向都支持 (N, NE, E, SE, S, SW, W, NW)
  • angle 是观察的水平角度: 30 (30 度) 和 60 (60 度) 支持所有的观察角度,90 (90 度 - 自上而下) 用于 N (北), S (南), E (东) 和 W (西) 的观察角度。
  • scale 是视图的缩放倍数或细节程度:vlowres 对应每个方块两个像素的宽度(与 KzedMap 解析度相似),lowres 对应每个方块 4 个像素的宽度(KzedMap 的两倍解析度),medres 对应每个方块 8 个像素的宽度,hires 对应每个方块 16 个像素的宽度。

所有可用的预设

预设着色器

预设的着色器设定(可在 shaders.txt 找到)包括了以下内容:

  • default : 默认的着色器,使用标准Minecraft材质包渲染地图。
  • defaultscheme : 使用 'default' 颜色主题(在 colorschemes/default.txt 中设定)渲染地图。
  • ovocean : 使用 'ovocean' 颜色主题(在 colorschemes/ovocean.txt 中设定)渲染地图。
  • flames : 使用 'flames' 颜色主题(在 colorschemes/flames.txt 中设定)渲染地图。
  • sk89q : 使用 'sk89q' 颜色主题(在 colorschemes/sk89q.txt 中设定)渲染地图。
  • biome : 使用生物群系种类渲染地图。
  • temperature : 使用环境温度数据来渲染地图。
  • rainfall : 使用生物群系雨水/湿度数据来渲染地图。
  • no_transparency : 使用默认的颜色主题(在 colorschemes/default.txt 中设置)渲染地图,关闭所有的透明处理(水、玻璃,树叶为实体)。
  • cave : 使用"洞穴视图"渲染 - 显示空气与非空气之间的界限,使用基于深度的从绿色到蓝色渲染。
  • stdtexture : 使用标准Minecraft材质包(在 texturepack/standard/)渲染地图。
  • stdtexture-nobiome : 使用标准Minecraft材质包(在 texturepack/standard/)渲染地图,但是关闭基于生物群系的彩色草地和树叶。
  • topo : 创建基于颜色的地形图,从 128 格生成世界。
  • topo256 : 创建基于颜色的地形图,从 256 格生成世界。
  • topo-noplants : 创建基于颜色的地形图,从 128 格生成世界,隐藏普通的树和植被。
  • topo256-noplants : 创建基于颜色的地形图,从 256 格生成世界,隐藏普通的树和植被。
预设光照

预设的光照配置可以在 lightings.txt 找到,包含以下设置:

  • default : 默认无特殊处理,无阴影,完全白天
  • shadows : 使用完全白天的设置,但是启用阴影处理。
  • night : 使用标准的月夜的设置,启用阴影处理。
  • brightnight : 使用更加明亮的月夜的设置(使不明显的地形更加明显),启用阴影处理。
  • nightandday : 渲染两组 tiles,一组用于白天渲染(基于 shadows 设置),另一组用于夜晚渲染(基于 night 设置),将会对应对应世界的白天和夜晚设置。
  • brightnightandday : 与 nightandday 相同,但是使用 brightnight 相同的设置来渲染夜晚。

预设的选择对最终渲染地图的大小和质量的影响是非常明显的,特殊的, -scale- 将会明显影响渲染地图的大小,因为渲染的tiles的数量随着 -scale- 上升而上升。lowres 地图将会比 KzedMap 的 tiles 多 4 倍(水平垂直都多2倍解析度 - 2x2=4)。medres 又多了两倍的解析度,所以就是 4 倍的tiles(或者说比 KzedMap 多 16 倍) 。hires 又多了两倍的解析度,所以就是 4 倍的tiles(或者说比 KzedMap 多 64 倍)!-hires- 的地图看起来非常赞,但是在第一次完全渲染的时候准备花上一些时间(几个小时,如果地图更大可能要一天)。低的观察视角(30 度角)会让地图多一些tiles渲染(低的视角意味着观察的视线会包含更多的区块 - 相比垂直视角)。其他的设置 - -shader- 和 -lighting- 基本对地图文件的大小没有影响,并且对地图渲染的时间有可以忽略的影响。

定义自定义预设、着色器、光照之后,地图就可以按照使用预设配置一样使用这些自定了。

附加高解析度地图设置

HDMap 支持很多可选的附加选项,用于设置用户的使用。这些设置包含:

  • title : 此选项控制网页的地图的标题。
  • icon : 此选项允许控制地图图标的文件图片的 URI 地址。如果没有设置,此选项使用 images/block_name.png。
  • background : 此选项提供了地图的背景颜色。颜色的值为经典的 CSS 格式的颜色代码:#rrggbb。如果没有设置则为黑色(#000000)。
  • backgroundday : 此选项提供了白天时地图的背景颜色 - 当设置后并且为白天,此选项覆盖 background 设置,只能在开启了白天夜晚的地图使用。
  • backgroundnight : 此选项提供了夜晚时地图的背景颜色 - 当设置后并且为夜晚,此选项覆盖 background 设置,颜色的值为经典的 CSS 格式的颜色代码:#rrggbb。只能在开启了白天夜晚的地图使用。
  • mapzoomin : 此选项控制原始地图的放大步数。放大的等级可以在不需要更多地图数据的情况下拉伸地图 - 相同的像素会变得更大(1步数=2x,2步数=4x,等等)。默认为 2 (允许两个额外的放大,对应 2x 和 4x)。
  • image-format : 此选项控制生成的tiles的格式,默认为PNG,是一种无损的图像形式,但是大小最大,会使用明显的带宽。JPG 是一种有损的压缩形式,牺牲质量来减少文件大小。最好的 JPG 文件仍然明显比 PNG 小(一般是 2 倍),质量少了一点。更低的质量等级仍然可以得到很好地地图质量,并且文件大小将减少很多(6 - 10 倍)。支持的值如下:
    • png : 无损(但可能有点大)PNG(默认)
    • jpg : 质量很好的 JPG (85% 质量) - 与 jpg-q85 相同
    • jpg-q75 : 质量还行的 JPG (75% 质量)
    • jpg-q80 : 质量还行的 JPG (80% 质量)
    • jpg-q85 : 质量很好的 JPG (85% 质量)
    • jpg-q90 : 质量很好的 JPG (90% 质量)
    • jpg-q95 : 质量非常好的 JPG (95% 质量)
    • jpg-q100 : 质量非常好的 JPG (100% 质量)

注意:JPEG 不支持透明(透过的背景颜色)。如果 backgroundday 或 backgroundnight 的颜色更改,所有的tiles都将被重新渲染。并且,如果白天和夜晚的颜色不同,开启了 night-and-day 选项(比如 nightandday 或 brightnightandday 光照)必须生成两组tiles(每一组对应白天和夜晚)。

默认预设

所有的预设都可以在 perspectives.txt 文件找到,你可以在那里编辑或者自定义,但是推荐所有对预设的更改应该在 custom-perspectives.txt 文件中进行。

以下预设可用:

  • default : 默认的预设,从东南方(135 度方位),60 度水平角度观察,以 4 像素每方块的宽度作为缩放。
  • classic : 默认的预设,从东南方(135 度方位),60 度水平角度观察,以 1.4 像素每方块的宽度作为缩放。与 KzedMap 很相似。

以下以在高解析度地图内的命名规则设定:

  • iso_S_60_vlowres
  • iso_S_60_lowres
  • iso_S_60_medres
  • iso_S_60_hires
  • iso_SE_60_vlowres
  • iso_SE_60_lowres
  • iso_SE_60_medres
  • iso_SE_60_hires
  • iso_E_60_vlowres
  • iso_E_60_lowres
  • iso_E_60_medres
  • iso_E_60_hires
  • iso_NE_60_vlowres
  • iso_NE_60_lowres
  • iso_NE_60_medres
  • iso_NE_60_hires
  • iso_N_60_vlowres
  • iso_N_60_lowres
  • iso_N_60_medres
  • iso_N_60_hires
  • iso_NW_60_vlowres
  • iso_NW_60_lowres
  • iso_NW_60_medres
  • iso_NW_60_hires
  • iso_W_60_vlowres
  • iso_W_60_lowres
  • iso_W_60_medres
  • iso_W_60_hires
  • iso_SW_60_vlowres
  • iso_SW_60_lowres
  • iso_SW_60_medres
  • iso_SW_60_hires
  • iso_S_30_vlowres
  • iso_S_30_lowres
  • iso_S_30_medres
  • iso_S_30_hires
  • iso_SE_30_vlowres
  • iso_SE_30_lowres
  • iso_SE_30_medres
  • iso_SE_30_hires
  • iso_E_30_vlowres
  • iso_E_30_lowres
  • iso_E_30_medres
  • iso_E_30_hires
  • iso_NE_30_vlowres
  • iso_NE_30_lowres
  • iso_NE_30_medres
  • iso_NE_30_hires
  • iso_N_30_vlowres
  • iso_N_30_lowres
  • iso_N_30_medres
  • iso_N_30_hires
  • iso_NW_30_vlowres
  • iso_NW_30_lowres
  • iso_NW_30_medres
  • iso_NW_30_hires
  • iso_W_30_vlowres
  • iso_W_30_lowres
  • iso_W_30_medres
  • iso_W_30_hires
  • iso_SW_30_vlowres
  • iso_SW_30_lowres
  • iso_SW_30_medres
  • iso_SW_30_hires
  • iso_N_90_vlowres
  • iso_N_90_lowres
  • iso_N_90_medres
  • iso_N_90_hires
  • iso_S_90_vlowres
  • iso_S_90_lowres
  • iso_S_90_medres
  • iso_S_90_hires
  • iso_E_90_vlowres
  • iso_E_90_lowres
  • iso_E_90_medres
  • iso_E_90_hires
  • iso_W_90_vlowres
  • iso_W_90_lowres
  • iso_W_90_medres
  • iso_W_90_hires

自定义预设

如果 Dynmap 附带的默认预定义透视图不适合使用者的需要,使用者可以自定义透视图。 如果使用者使用自定义透视图,使用者可以充分地自由地发挥渲染引擎的全部灵活性和功能。

自定义透视图可以通过修改默认透视图定义文件中的配置项来实现,详见 perspectives.txt,或通过添加自定义的全新的定义配置到 custom-perspectives.txt 文件中去(原作者建议的首选方法)。

目前,Dynmap 仅支持一类透视图:IsoHDPerspective 类。这个类定义了一个等距视图,可以完全控制视图的方向、视角和视图的大小。 该透视图类的详细定义如下所示:

    perspectives:
      - class: org.dynmap.hdmap.IsoHDPerspective
        name: my_custom_perspective
        azimuth: 124
        inclination: 55
        scale: 16

同等规格的透视图所需定义的参数包括以下配置项:

  • name : 每个透视图的唯一名称。 如果使用者自定义的透视图名称与现有的已使用的透视图重名,则更新部署的透视图将会替换掉旧部署的透视图。
  • azimuth : 从地图的角度看(上北下南左西右东),从正北方开始顺时针的角度上:0 = 北方,90 = 东方, 180 = 南方, 270 = 西方。任何角度的值都是被允许使用的。
  • inclination : 从地图的倾斜角度来看: 90 = 俯视图, 0 = 水平面 (不被允许的倾斜角度)。一般来说允许的倾斜角度在20到90度之间。
  • scale : 用于渲染场景的尺度或分辨率,以每块边的像素为单位。 支持从1到64的值,尽管64对应一个巨大的地图 - 16倍于默认质量的一个非常高质量的地图(与标准透视图中的 hires 相对应),8倍于默认质量的一个非常高质量的地图 (与标准透视图中的 medres 相对应), 4倍于默认质量的一个非常高质量的地图 (与标准透视图中的 lowres 相对应)。 如果使用了材质包资源的渲染引擎以外的其他渲染引擎(洞穴、生物群落、色彩设计)。

除了这些必须填写完备的核心参数项之外,还支持额外的可选参数项来优化和改进透视图的处理效果:

  • maximumheight : 如果设置,则设置需要呈现的方块的最大高度值(Y 坐标,于我的世界游戏地图中)。 如果设置在127以下,那么在此高度之上的所有方块都将是不可见的 - Dynmap 的网页地图在线显示系统会逻辑地将世界的顶部分割为使用者在该项中所设定的高度。 这可以用来显示地下视图。
  • minimumheight : 如果设置,则设置需要呈现的方块的最小高度值(Y 坐标,于我的世界游戏地图中)。 如果设置在0以上,那么在这个高度以下的所有区块都是不可见的 - Dynmap 的网页地图在线显示系统会逻辑地将世界的低部分割为使用者在该项中所设定的高度。 这可以用来显示地下视图。
  • fence-to-block-join : 如果设置,则会重写配置项 fence-to-block-join 的设定于配置文件 configuration.txt 中。 如果设置为真,则将显示栅栏还会同其他方块连接在一起。(效果同1.9版本以上); 如果设置为假,则将显示栅栏只与其他栅栏连接在一起。

自定义着色器

自定义着色器可以用于更改标准的着色器设置,在 shaders.txt 中直接更改或者在 custom-shaders.txt 中添加都是可以的。

现在有这么几个基础的着色器,任何一个都可以用来设置自定义着色器:

  • org.dynmap.hdmap.DefaultHDShader - 用来支持 FlatMap 和 KzedMap 的颜色模型,包括了颜色主题、几种生物群系的着色
  • org.dynmap.hdmap.CaveHDShader - 支持基于洞穴的颜色主题
  • org.dynmap.hdmap.TexturePackHDShader - 支持使用 Minecraft 材质包,包括客户端的默认材质
  • org.dynmap.hdmap.TopoHDShader - 根据方块的高度调节颜色的着色器
设置一个自定义的 DefaultHDShader 着色器

DefaultHDShader 类支持以下设置:

    shaders:
      - class: org.dynmap.hdmap.DefaultHDShader
        name: myshadername
        colorscheme: ovocean

和其他的相同, name 属性是必需的,并且要独一无二。如果自定义着色器在 custom-shaders.txt 文件中拥有和标准着色器相同的名称,标准着色器将会被替换。

以下属性可选:

  • colorscheme : 设置渲染使用的颜色主题。对应的文件可以在 colorschemes/ 文件夹找到,包括了 default, ovocean, flames, 和 sk89q。这些文件定义如何渲染普通方块以及基于生物群系的渲染设置。默认为 default。
  • biomecolored : 设置渲染使用的生物群系数据,默认包括 none (默认,方块将会被渲染为默认的颜色), biome (会给予生物群系渲染), temperature (基于原始生物群系的温度数据渲染),或是 rainfall (基于原始生物群系的湿度数据渲染)。
  • transparency : 控制是否使用透明度设置。默认为 true(正常处理透明) 或 false (所有方块视作不透明)。
设置一个自定义的 CaveHDShader 着色器

CaveHDShader 目前没有任何属性,使用这个着色器也不会有任何目的。将来的 Dynmap 更新可能会添加定义洞穴渲染使用的颜色设定。

设置一个自定义的 TexturePackHDShader 着色器

TexturePackHDShader 类更像用于自定义的着色器,因为必须使用附加的材质包文件。此着色器支持标准材质包的特性,也可以使用 MCPatcher 客户端的材质包,包括了高解析度的材质,自定义水和岩浆,自定义的群系树叶草地过渡。

示例的典型设置如下:

    shaders:
      - class: org.dynmap.hdmap.TexturePackHDShader
        name: mytexturepackshader
        texturepack: my-favorite-texturepack-v2.1.zip
        biomeshaded: true
        better-grass: false
        grid-scale: 0

设定包括以下:

  • name : 着色器名称
  • texturepack : 材质包文件的名称或者包含解压的材质包的目录名称。这些文件必须放在 plugins/dynmap 下的 texturepacks 文件夹。
  • biomeshaded : 此设置控制基于生物群系数据(温度和湿度)的草地和树叶颜色。如果设置为 true (默认),群系过渡将被启用。如果设置为 false,所有的草和树叶的颜色都是基于 misc/grasscolor.png 和 misc/foliagecolor.png# 文件的颜色。
  • better-grass : 此设置控制是否渲染草地方块和雪方块的侧面,就像 BetterGrass Mod 一样。如果没有设置,将会使用 configuration.txt 中的 better-grass 设定值。
  • grid-scale : 是否在地图上渲染网格,如果设置为 16 ,每个方块的边缘都有白色网格。
设置一个自定义的 TopoHDShader 着色器

默认的 TopoHDShader 设置如下:

    shaders:
      - class: org.dynmap.hdmap.TopoHDShader
        name: topo
        color127: "#FFFFFF"
        color111: "#8B4513"
        color95: "#D2B48C"
        color79: "#FFFF00"
        color63: "#008000"
        color47: "#228B22"
        color31: "#104010"
        color15: "#6B8E23"
        color0: "#696969"
        linecolor: "#000000"
        watercolor: "#0000FF"
        hiddenids: [ 0 ]

选项包括:

  • name : 着色器的名称
  • linecolor : 高度的区域边框的 #RRGGBB 颜色,不设置则没有颜色
  • watercolor : 水方块使用的 #RRGGBB 颜色,如果设置,此颜色覆盖同纬度的水方块的颜色,如果没有设置,将会和其他方块相同渲染
  • colorN : N 从 0 - 255,对应 Y 轴。每个值都会提供用于渲染当前高度的方块的颜色,默认 color0 为 #000000 且 color255 为 #FFFFFF。没有提供的值将会取最近两个定义的值的插值。
  • hiddenids : 可选的参数,提供生成拓扑地图时隐藏的方块列表,默认只有空气 - [ 0 ]。此设置应为逗号分隔的一串数字,方括号包围(如[ 6, 17, 18, 31, 32, 37, 38, 39, 40, 50, 55, 78, 81, 83, 86, 99, 100, 103, 104, 105, 111, 115 ])。

自定义光照

自定义光照可以通过修改默认的光照定义文件来实现, 详情见 lightings.txt,或通过添加自定义的全新的定义配置到 custom-lightings.txt 文件中去(原作者建议的首选方法)。

目前,Dynmap 支持两种光照类: DefaultHDLighting 类以及 ShadowHDLighting 类。

DefaultHDLighting 类不会修改方块材质中的颜色数据 - 在没有阴影的情况下效果相当于白天的日光 - 并且没有可以供使用者修改的的配置项。

ShadowHDLighting 类支持更多的配置项,允许控制环境光源的倾斜角度,阴影强度, 以及为每个地图生成夜间和白天的光照版本的选项。

下面展示的是一个典型的默认光照配置文件的内容(ShadowHDLighting 类):

    lightings:
      - class: org.dynmap.hdmap.ShadowHDLighting
        name: my-custom-lighting
        shadowstrength: 1.0
        ambientlight: 4
        night-and-day: true
        smooth-lighting: false

使用 ShadowHDLighting 类作为 Dynmap 光照源时可选的配置项如下展示:

  • name : 光照配置的唯一名称。如果使用者在 custom-lightings.txt 文件自定义的光照名称与现有的已使用的光照重名,则更新部署的光照配置将会替换掉旧部署的光照配置。
  • shadowstrength : 有光照时阴影区域所采取的阴影强度。默认值为 0.0 (阴影强度可忽略不计),正常的阴影强度值为 1.0。 设置在1.0以上的值会产生较为明显的人为阴影效果,而少于1.0会导致阴影变弱。
  • ambientlight : 有光照时天空向地面投射的光照强度。晌午光照最强时的值为 15 (默认值),午夜的光照强度一般为 4 。
  • night-and-day : 若启用此设置(通过将值设置为true),Dynmap 的在线地图生成系统将会为每个地图生成夜间和白天两个不同的光照版本, 并且如果访问者在网页访问在线地图时,系统会根据每个地图游戏内的真实时间来设置显示到在线地图的光照参数。白天与夜晚最大的区别是白天将会使 ambientlight 设置到15, 而夜晚则会根据 ambientlight 的环境光源设定而改变。 此选项的默认值为 false 。
  • smooth-lighting : 这是一个布尔值类型的配置项,用于开启或关闭平滑光照效果。 启用此功能将增加消耗10%的(网页服务器)渲染处理性能),但带来的是更平滑的阴影和照明效果。如果此处未进行定义, smooth-lighting 的配置将会从 configuration.txt 文件中获取。