万物的基础!optifine!

Optifine有着非常强大的ctm,cem,cit等功能,制作相关的材质包需要有这类功能的mod,忽略兼容性和加载速度optifine是无疑是最佳的选择,也有很多移植了这些功能的mod,例如实体模型特性CIT Resewn等,这里列一个清单,方便大家寻找同类mod。

CIT–Forge CIT

cem–实体模型特性

实体纹理相关–Entity Texture Features(为数不多在某方面比optifine更强大的,较推荐)

自定义天空盒–FabricSkyboxes

ctm/方块纹理相关–Connectedness

最简单的一项,发光纹理!

制作发光纹理,我们需要安装相关mod,高清修复或者Entity Texture Features[实体发光]+Connectedness[方块/物品发光]

然后,制作我们的材质包。

文件路径

创建文件夹是必不可少的流程,文件路径为assets/minecraft/optifine/emissive.properties

emissive.properties是关键文件,我们要在内部输入文本:suffix.emissive=_e

注意!emissive.properties文件必须放在minecraft/optifine里,放在任何其他modid/optifine里都不会生效。

贴图

然后,在你想要发光的贴图的同文件夹下放入一个新贴图,贴图名为:对应贴图名称_e,因为发光纹理是layer上去的一层纹理,所以你想要画成什么样子都可以,前提是模型在对应部分读取了纹理。

实践举例

我们以原版的诡异菌柄为例,诡异菌柄的文件路径为assets/minecraft/textures/block/warped_stem.png

我们画一个纹理,作为发光纹理,文件路径为assets/minecraft/textures/block/warped_stem_e.png

像我标题说的一样,这样就完成了,很简单。

我们进入游戏看看效果。

如何在材质包内使用optifine材质功能-第1张图片可以看到,_e那部分纹理在发光。(这个纹理还是我刚画材质包的时候画的,所以很难看,见谅)

随机实体纹理

随机实体纹理需要高清修复或者Entity Texture Features,如果你要制作mod相关的随机实体纹理,请使用Entity Texture Features,具体教程可以参考ETF页面的那个教程。

文件路径

如果是原版,文件路径可以是assets/minecraft/optifine/mob或者assets/minecraft/optifine/random/entity

在原版的minecraft/textures/entity文件夹内,在子文件夹内的贴图也要放在assets/minecraft/optifine/mob或assets/minecraft/optifine/random/entity中的子文件夹内。

例如北极熊的贴图在minecraft/textures/entity/bear文件夹内,那么我们的随机实体纹理要放在assets/minecraft/optifine/random/entity/bear文件夹内。

纹理

至于随机的纹理,我们需要命名为:对应贴图2.png,注意,这个2,是根据第几个贴图而定的,第三个就是3,第四个是四,不用properties文件就不会影响概率,找不到对应贴图就会使用skin1,也就是原贴图。

这个很简单,我想不需要举例子。

苦难的开始!CIT!

CIT功能需要高清修复CIT Resewn/Forge CIT模组。

CIT有许多功能,例如自定义药水/附魔书的纹理,命名改变纹理/模型,为每个带有nbt标签的物品附上单独的贴图......等等

药水

药水是最简单的,这个讲解起来比较麻烦,直接举例子吧。

举个栗子

我们以再生药水举例

文件路径

首先是文件路径:

我们先更改不加红石的短时间再生药水

assets/minecraft/optifine/cit/potion/regeneration/regeneration_potion.properties

实际上cit/potion文件夹内可以直接放properties文件,但为了方便分类,建议建一个子文件夹。

内部文本:

type=item

items=potion(这个很重要的)

model=item/regeneration_p(这个模型名字,为了方便我命名这样,实际上要是你觉得方便,你命名个rp也是没问题的,主要看你的模型名字)

nbt.Potion=minecraft:regeneration(药水的nbt,regeneration就是再生)

模型

cit文件夹内编写完后,我们要添加模型,文件路径:

assets/minecraft/models/item/regeneration_p.json

这个regeneration_p.json是模型文件,名字随便取,但在regeneration_potion.properties的model=item/

中一定要填你取得模型文件名。

模型文件文本:

{"parent":"item/generated","textures":{"layer0":"item/overlay","layer1":"item/regeneration_p"}}

懒得空行的我就这么写了qwq。

两个layer后面随便一个填贴图名字就行,另一个用统一的空白贴图代替就行(反正我就这么干的)。

贴图/纹理

如何在材质包内使用optifine材质功能-第2张图片又是拿了一张远古时期画的贴图来演示了。

命名为:模型文件内填写的名字,例如我填的是regeneration_p就命名为regeneration_p.png

演示

如何在材质包内使用optifine材质功能-第3张图片进入游戏,可以看到一分钟的再生药水变成了这个样子。

CIT:命名改变纹理

施工中......

CIT:附魔书

等我学会了一定写出来qwq。

cem

cem是自定义实体模型,但无论是高清修复还是实体模型特性都仅支持原版实体。

制作你的cem模型!

制作cem模型,我们需要用到blockbench。

在blockbench的插件页面内下载CEM Template Loader插件,并在主页加载程序CEM Template Loader,选择你想要更改的生物,这里选择的是苦力怕。

如何在材质包内使用optifine材质功能-第4张图片在这个页面可以自由的更改生物的模型。

然后将你更改的模型放入assets/minecraft/optifine/cem文件夹内,就可以自定义生物的模型了。

因为本人建模水平非常差,所以就不展示了。

ctm

欢迎来到最折磨人的环节–ctm!需要高清修复Connectedness

ctm有两种,一种是延展纹理到其他方块[1.13+],一种是与某方块连接改变纹理。

我们以沙砾为栗子,文件路径为:

assets/minecraft/optifine/ctm/gravel/gravel.properties

虽然也可以直接放ctm文件夹,但我强烈建议大家创子文件夹,因为ctm的贴图数很多。

matchBlocks=soul_sand(与什么方块发生连接,这里填的灵魂沙,因为方便测试)

method=overlay(这个是实现方式,填overlay[覆盖]就行)

tiles=0-16(贴图数,一般填0-16,这就是折磨人的地方,你要画16张贴图)

connectBlocks=gravel(连接方块,我们拿沙砾举的例子,所以这里填沙砾)

connect=block(不用说了,填方块嘛)

layer=translucent(虽然填的半透明,但实际上......没啥区别,但大部分材质包都是填的半透明)

然后.....我们要画16张贴图......这里为了快点给大家出教程(懒),就拿BetterVanillaBuildingOverlay材质包来演示了。如何在材质包内使用optifine材质功能-第5张图片

这就是子文件夹的好处。

这种是向外覆盖其他方块的ctm,接下来是以无缝玻璃为代表的连接时改变纹理的ctm,我们以clear glass材质包为例。

assets/minecraft/optifine/ctm/glass/aregular/glass.properties

matchBlocks=glass

method=ctm

tiles=0-46

clear glass用了46个贴图来处理连接纹理,我估摸着不需要这么多,不填写其他的文本,那些纹理就是附着在方块本身的一个layer纹理,或者是直接替换掉的。