WikiRenderer

WikiRenderer

创建Minecraft游戏内物体的高分辨率渲染图

工具

WikiRenderer

WikiRenderer 是 Isometric Renders 的一个大幅修改版本,允许你创建游戏对象(如世界的一部分、方块、物品和实体)的渲染图。

这些渲染图会自动设置为透明背景,你可以在游戏内的菜单中调整缩放、位置以及许多其他选项。

这个模组版本不仅是为模组 Wiki 设计的,还包含了一些针对 Hypixel SkyBlock Wiki 使用的额外功能。

使用方法

WikiRenderer 支持多种渲染类型:

  • 物品
  • 实体和实体精灵图
  • 世界区域和区域俯视小地图
  • 方块状态
  • 物品提示框
  • 物品图集
  • 物品、实体、方块状态或世界区域的动画导出(.gif、.apng、.webp 或 .mp4 格式)
  • 多个实体、物品、提示框或方块的批量导出为图像或动画

主命令是 /wikirender,但也有 /wr 作为别名。

有关模组功能的详细信息见下文,在 Isometric Renders 基础上添加的独占功能将用 ⭐ 星形表情标记。

物品

物品可以通过三种方式渲染:

  1. 手持物品并输入 /wikirender item
  2. 将鼠标悬停在物品栏中的物品上并按渲染热键(默认为 h)
  3. 输入 /wikirender item id <item>,其中 <item> 类似于 minecraft:diamond
  4. ⭐ 输入 /wikirender item texture <item>,其中 <texture> 是纹理 ID 或玩家头像纹理 ID 的 base64 编码

以下是使用 /wikirender item id minecraft:compass[minecraft:enchantment_glint_override=true] 制作的附魔指南针示例:

附魔指南针物品渲染菜单

⭐ 右侧有一个加速附魔光效速度的选项。通常,在 100% 光效速度下(Minecraft 辅助功能设置中所见),附魔光效动画的完整循环需要 41.25 秒,但这个选项将其加速到 15 秒,而几乎感觉不到差异。Use Enchanted Items Timings 按钮随后会将动画计时设置为此持续时间。

附魔光效动画选项

⭐ 你还可以使用内置按钮获取渲染的图层头颅的纹理数据:

玩家头颅物品渲染菜单

获取物品纹理数据的选项

区域

世界中的区域可以通过三种方式渲染:

  1. 使用热键(默认为 c)在世界中选择两个点,然后输入 /wikirender area。
  2. 输入 /wikirender area pos <start> <end>,其中 <start> 和 <end> 代表坐标。
  3. ⭐ 输入 /wikirender area island <chunk_size> <distance_limit>,它会以迷你区块(由 <chunk_size> 指定)向外扫描,不会越过空区块或直到达到距离限制。
    • 这对于快速渲染你附近的所有内容,或渲染靠近其他岛屿的非方形岛屿非常有用。在后一种情况下,只需降低 <chunk_size> 直到扫描不会触及周围岛屿。

⭐ 以下是 Hypixel Prototype 大厅的示例,使用 /wikirender area island 8 200 渲染,菜单两侧展示了各种渲染选项:

Hypixel Prototype 大厅的等距渲染图

⭐ 区域渲染具有相当高的可配置性。你可以控制方块和实体的可见性、覆盖可见实体的某些类型数据、修改光照处理方式等。

小地图渲染

⭐ 区域渲染还具有俯视和侧视渲染模式,允许你创建具有可调纹理分辨率缩放的小地图图像。还有洞穴模式可以让你创建地下图像。

Hypixel SkyBlock 蜘蛛巢穴的俯视渲染图

Hypixel SkyBlock 青金石矿场的洞穴模式俯视渲染图

小地图数据还可以导出,用于 Hypixel SkyBlock 独立 Wiki 的小地图校准工具。

物品展示框小地图

⭐ 说到小地图,你还可以使用区域渲染和侧视角度来渲染像素级精确的地图。这些地图使用与源地图图像完全相同的颜色数据和亮度进行渲染。

在世界中选择一个 2x3 物品展示框地图进行渲染

正在渲染的 2x3 物品展示框地图

实体

实体可以通过四种方式渲染:

  1. ⭐ 输入 /wikirender player 来渲染你自己
  2. 看向一个实体并按渲染热键(默认为 h)
  3. 看向一个实体并输入 /wikirender entity
  4. 输入 /wikirender entity <entity_type> <nbt>,其中 <entity_type> 类似于 minecraft:zombie,<nbt> 是可选的,类似于 {IsBaby:1b}

⭐ 以下是我自己的渲染示例,包括普通模式和可选的精灵图模式:

一个菜单,显示了我自己穿着 3/4 钻石盔甲和铁头盔,手持金矛和自定义玩家头颅的二测渲染图

我的玩家头颅戴着铁头盔的平面精灵图渲染

⭐ 实体渲染有多个选项,例如使用活动实体(对动画盔甲很有用)、冻结手臂、切换物品或附魔可见性等。

⭐ 与玩家头颅物品渲染类似,你还可以获取渲染玩家的纹理数据,以及渲染实体穿戴或手持的玩家头颅的纹理数据。

复制我的玩家皮肤、披风皮肤和副手玩家头颅皮肤的纹理数据的选项

实体光照

⭐ 实体的光照方式为:在等距视角(45°、135°、225° 和 315°)下,顶部为 100% 亮度,左侧为 80% 亮度,右侧为 60% 亮度。精灵图以 100% 亮度渲染。

方块

单个方块和方块状态可以通过三种方式渲染:

  1. 看向一个方块并输入 /wikirender block
  2. 输入 /wikirender block <block>,其中 <block> 类似于 minecraft:cobblestone
  3. 输入 /wikirender block <block>[data],如下所示

以下是使用 /wikirender block minecraft:furnace[lit=true]{Items:[{Slot:0b, Count: 1b, id: "minecraft:coal"}]} 渲染熔炉的示例:

一个点燃并冒烟的熔炉方块正在被渲染

注意:含水方块目前无法正确渲染。对于这些方块,请使用单方块区域渲染。

物品提示框

物品提示框可以以类似于物品渲染的方式渲染:

  1. 手持物品并输入 /wikirender tooltip
  2. 将鼠标悬停在物品栏中的物品上并按渲染提示框热键(默认为 k)
  3. 输入 /wikirender tooltip <tooltip>,其中 <item> 类似于 minecraft:diamond

⭐ 提示框使用逐像素分辨率缩放进行渲染,默认为每个字体像素 4 个图像像素。

Hypixel SkyBlock 中 Plasmaflux Power Orb 的提示框渲染

批量渲染

有几种方法可以一次渲染多个物品、方块或提示框:

物品栏

要渲染物品栏中的每个物品,请按关联的热键(默认为 k),这将打开一个弹窗,允许你将物品、方块物品状态、提示框或图集中的物品进行渲染:

一个菜单,允许你将一组物品渲染为物品、方块、提示框或图集

创造模式标签页

要渲染一个创造模式标签页:

  1. 输入 /wikirender group item creative_tab <tab> itematlas 将某个标签页渲染为图集纹理
  2. 输入 /wikirender group item creative_tab <tab> batch (blocks|items|tooltips) 批量渲染某个标签页的物品、方块或提示框

以下是使用 /wikirender group item creative_tab minecraft:combat itematlas 将所有战斗物品渲染为图集的示例:

战斗创造模式标签页的物品被渲染为图集

标签物品

要渲染给定选择标签的物品、方块或提示框:

  1. 输入 /wikirender group item tag <#namespace:tag> itematlas 将该标签的物品渲染为图集纹理
  2. 输入 /wikirender group item tag <#namespace:tag> batch (blocks|items|tooltips) 批量渲染该标签的物品、方块或提示框

以下是使用 /wikirender group item tag #minecraft:flowers batch items 批量渲染所有花朵的示例。屏幕左侧显示剩余 30 个物品,按下开始按钮即可全部渲染。

所有 Minecraft 花朵准备进行批量渲染

命名空间物品

要渲染来自选定命名空间的物品、方块或提示框:

  1. 输入 /wikirender group item namespace <namespace> itematlas 将该命名空间的物品渲染为图集纹理
  2. 输入 /wikirender group item namespace <namespace> batch (blocks|items|tooltips) 批量渲染该命名空间的物品、方块或提示框

以下是使用 /wikirender group item namespace minecraft itematlas 将所有原版物品渲染为图集的示例。

所有 Minecraft 物品被渲染为图集

基于实体的批量渲染

⭐ 有几种方法可以一次渲染多个实体:

标签实体

⭐ 要渲染给定选择标签的实体:

  1. 输入 /wikirender group entity tag <#namespace:tag> 来渲染该标签的实体
  2. 输入 /wikirender group entity tag <#namespace:tag> nbt <nbt> 来渲染该标签的实体,并对每个实体应用 NBT
  3. 输入 /wikirender group entity tag <#namespace:tag> nbt_filter <filter> <nbt> 来渲染该标签的实体,并对每个实体应用 NBT,但只渲染通过过滤器检查的实体(见下文)

以下是使用 /wikirender group entity tag #minecraft:aquatic 批量渲染所有水生 Minecraft 生物的示例

一个菜单,显示所有 Minecraft 水生生物正在被渲染

命名空间实体

⭐ 要渲染来自选定命名空间的实体:

  1. 输入 /wikirender group entity namespace <namespace> 来渲染该命名空间的实体
  2. 输入 /wikirender group entity namespace <namespace> nbt <nbt> 来渲染该命名空间的实体,并对每个实体应用 NBT
  3. 输入 /wikirender group entity namespace <namespace> nbt_filter <filter> <nbt> 来渲染该命名空间的实体,并对每个实体应用 NBT,但只渲染通过过滤器检查的实体(见下文)

以下是使用 /wikirender group entity namespace minecraft 批量渲染所有 Minecraft 生物的示例:

一个菜单,显示(几乎)所有 Minecraft 实体正在被渲染,从金合欢木船开始

NBT 过滤:

⭐ 当从命名空间或标签渲染实体时,你可以通过应用 NBT 来过滤这些列表中实际使用的实体。有三种过滤模式可供选择:

  1. require_all_valid:如果所有提供的 NBT 标签都有效,则允许实体渲染
  2. require_one_valid:如果至少有一个提供的 NBT 标签有效,则允许实体渲染
  3. require_none_valid:如果没有任何提供的 NBT 标签有效,则允许实体渲染

更具体地说,“有效”标签是指实体在尝试保存其 NBT 时随实体一起保存的标签。有些标签会为所有实体导出,无论它们是否改变渲染方式(例如所有生物实体的 Equipment),而其他标签只会为特定类型保存(例如雪傀儡的 Pumpkin)

例如,输入 /wikirender group entity namespace minecraft nbt_filter require_one_valid {Age:-1,IsBaby:1b} 将渲染所有幼年生物,并包含一些额外的生物,如下所示:

一个菜单,显示所有 Minecraft 幼年生物正在被渲染,当前选中的是一只幼年鸡