森罗万象
教程
OptiFine文档
Blockbench文档
论坛版 (opens new window)
下载示例 (opens new window)
教程
OptiFine文档
Blockbench文档
论坛版 (opens new window)
下载示例 (opens new window)
  • 准备
  • 基础
  • 动态纹理(前篇)
  • 模型和渲染
  • 额外的资源文件
  • 音效
  • 语言和文字

  • OptiFine与MCPatcher
  • CTM
    • CTM方法
    • 枯山水——CTM
      • 复杂CTM的思路梳理
      • 插曲——随机旋转的沙子
    • 枯山水——随机纹理
    • 枯山水——生物群系
    • 枯山水——优先级
    • 简化CTM方法
    • 海鼠壁——竖向连接
    • 海鼠壁——横向连接
    • 砂砾——重复图案
    • 砂砾——覆盖纹理
    • 卢恩符文——覆盖方法的变体
    • 杂项——补充
  • CIT
  • CEM
  • 动态纹理(后篇)
  • 光与色

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

# 枯山水——CTM

许多艺术创作者用CTM展示的图案不是简单的面与边框,而是更富有创造性的东西。

下图是我的朋友绘制的枯山水,这个图案由两种完全不同的方块构成,下图中被圈起来的是一种使用了CTM格式的方块,而没被圈起来的是另一种方块:

image-20200707223919074

# 复杂CTM的思路梳理

我们要用两种方块制作枯山水,ctm格式的用红沙制作,非ctm格式的用沙子制作。

前面制作的铁块ctm这时起到了作用,我们用铁块摆出形状,从而推测出该如何绘制纹理:

image-20200708105930161

我们可以看出,ctm方块单独摆放时,显示0号纹理,摆放成3×3的样式时,显示13,14,15,25,26,27,37,38,39号纹理。

所以0号纹理应该是这样的:image-20200708110251476

而13,14,15,25,26,27,37,38,39号纹理分别是这样的:

image-20200708110411929

按照这种思路,设想可能的摆放方式,逐步画出所有纹理:

image-20200708110626171

将纹理放入ctm文件夹内,再新建一个properties文件,我将其命名为karesansui1.properties(karesansui是枯山水的罗马音)

image-20200708111117126

输入如下代码,保存

method=ctm
matchBlocks=minecraft:red_sand
tiles=0-47

提示

由于标注了Error的贴图最终不会展示在作品中,可以把这些贴图去掉,令tiles=0 0 0 0 0 0 0 0 8 9 10 11 0 13 14 15 0 0 0 0 20 21 22 23 0 25 26 27 28 29 30 31 0 0 0 0 0 37 38 39 40 41 42 43 0 0 0 47,以节省空间。

让我们进入游戏看看效果吧!

image-20200708111309850

结果和设想的不同,非常失败!

别急着投降,仔细观察,似乎所有纹理的位置都是正确的,但是被旋转了若干个90°

# 插曲——随机旋转的沙子

我起初认为这是红沙拥有自然纹理,但是文档中并没有给沙子设置默认的自然纹理,游戏设置里甚至没有开启自然纹理的选项。

也就是说,红沙的随机旋转不是OptiFine造成的,而是原版的性质。

打开 assets/minecraft/blockstates/red_sand.json,果然沙子被设置了随机模型:

{
    "variants": {
        "": [
            { "model": "block/red_sand" },
            { "model": "block/red_sand", "y": 90 },
            { "model": "block/red_sand", "y": 180 },
            { "model": "block/red_sand", "y": 270 }
        ]
    }
}

稍加修改,只保留其中的一种模型:

{
    "variants": {
        "": [
            { "model": "block/red_sand" }
        ]
    }
}

保存,重载资源包,十分完美:

image-20200708114537676

← CTM方法 枯山水——随机纹理 →