森罗万象
教程
OptiFine文档
Blockbench文档
论坛版 (opens new window)
下载示例 (opens new window)
教程
OptiFine文档
Blockbench文档
论坛版 (opens new window)
下载示例 (opens new window)
  • 准备
  • 基础
  • 动态纹理(前篇)
  • 模型和渲染
    • 建模相关教程
    • 阴影
    • 环境光遮蔽
    • 面剔除
    • tintindex
    • 不透明方块
    • 渲染类型
      • 用OptiFine修改渲染类型
      • 拓展阅读
    • 物品展示框——附加模型包
    • 物品标签——添加更多物品
    • 蝶舞——盆栽艺术
  • 额外的资源文件
  • 音效
  • 语言和文字

  • OptiFine与MCPatcher
  • CTM
  • CIT
  • CEM
  • 动态纹理(后篇)
  • 光与色

  • 环境
  • GUI
  • PBR纹理
  • 着色器/光影
  • 附录

# 渲染类型

除了不透明方块之外,替换原版模型/纹理还容易遇到的一个问题就是渲染类型(Render Type)。

在旧版本中,渲染类型被称为渲染层(Render Layer),而渲染类型这个词表示另外的东西。

image-20200707133756597

我们看到竹叶原本是透明的,但是在这个例子里,透明的部分被渲染为白色了。这是方块的渲染类型导致的。

方块有五种渲染类型:

  • SOLID - 绝大部分完整不透明方块是这个渲染类型,不支持alpha通道,即透明度,即便原纹理有透明部分,也会被渲染为白色。
  • CUTOUT - 绝大部分非完整方块是这个渲染类型,它支持完全透明,但不支持半透明。
  • CUTOUT_MIPPED - 带多级纹理 (opens new window)的CUTOUT。
  • TRANSLUCENT - 支持半透明纹理,冰块就是这个渲染类型。
  • TRANSLUCENT_NO_CRUMBLING - 高版本新增的半透明的变种。

下图来源于一个Blog (opens new window):

img

提示

通常情况下渲染类型也是资源包所无能为力的,总而言之,尽量不要用原版方块的模型做一些奇奇怪怪的东西,很容易出现渲染问题。

# 用OptiFine修改渲染类型

上面说了通常情况下资源包对渲染类型无能为力,但我们还是有个更改方块的渲染类型的方法的,那就是OptiFine的自定义方块。但是对固体不透明方块,此方法无效。这个方法比较明显的用途,也就是在仅支持纯透明的方块中实现半透明纹理。

举个例子,我想让末地烛变成半透明的,先调整纹理的不透明度,查看效果:

image-20200715142808173

由于其渲染类型为CUTOUT,理所当然没有显示出半透明纹理,现在我们在optifine文件夹下直接新建文件名为block.properties:

block.properties

layer.translucent=end_rod

现在它的确是半透明的了:

image-20220606234405216

# 拓展阅读

Minecraft中文wiki:不透明度 (opens new window)

← 不透明方块 物品展示框——附加模型包 →