可疑形状

可疑形状

在资源包和模组中使用glTF模型!

装饰

万物的 glTF 模型

使用 frapi(Fabric 渲染 API),此模组会拦截对方块模型的请求,如果它们引用 glTF 文件,则将其作为静态模型提供,并像普通模型一样烘焙到区块几何体中。此模组完全在客户端运行,可用于支持那些将现有方块替换为原版无法制作的“诡异”资源包。

它也可以作为一个“内置”模组,用于为你的模组提供非长方体方块。

详情

创建兼容模型最简单的方法是在 Blockbench 中操作。

  • 在应用中,选择“新建 -> 低多边形 / 通用模型”,然后点击“创建新模型”按钮。
  • 任何标识符、UV 模式或其他设置都可以。
  • 当你对模型满意时,点击“文件 -> 导出 -> 导出 glTF 模型”。
  • Blockbench 会忽略其中大部分设置,默认值完全没问题。
  • 找到你导出的文件,把它放到你通常放置 json 方块模型的位置(例如 assets/minecraft/models/block)
  • 创建一个子模型,将 glTF 模型作为父模型引用,并在根级别添加键值对 "loader": "suspicious_shapes:gltf"。你也可以在这里填写纹理引用和设置颜色索引。
  • 编辑 glTF 模型的文本,将纹理的数据 URL 替换为纹理引用。

最后一部分是难点。在文件中你会看到类似这样的内容:

"images":[{"mimeType":"image/png","uri":"[已省略Base64资源]"}]

这是你所使用纹理的 base-64 编码图像。由于方块模型无法使用图集之外的随机纹理,我们必须解决这个问题。将每个标记为“uri”的不可读字符串替换为 Minecraft 纹理引用,如下所示:

"images":[{"mimeType":"image/png","uri":"minecraft:blocks/stone"}]

或者,如果你要用这个形状制作多个模型,可以像平常一样将其作为带有纹理上引用的父模型:

"images":[{"mimeType":"image/png","uri":"#all"}]

你的子模型可以看起来像这样:

{
  "parent": "minecraft:block/sphere_all.gltf",
  "loader": "suspicious_shapes:gltf",
  "textures": {
    "all": "minecraft:block/acacia_leaves"
  },
  "colorIndexes": [ 0 ]
}

就这样!加载 Minecraft 或重新加载资源包,你应该就能看到你的模型了!