万物的基础!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
像我标题说的一样,这样就完成了,很简单。
我们进入游戏看看效果。
可以看到,_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后面随便一个填贴图名字就行,另一个用统一的空白贴图代替就行(反正我就这么干的)。
贴图/纹理
又是拿了一张远古时期画的贴图来演示了。
命名为:模型文件内填写的名字,例如我填的是regeneration_p就命名为regeneration_p.png
演示
进入游戏,可以看到一分钟的再生药水变成了这个样子。
CIT:命名改变纹理
施工中......
CIT:附魔书
等我学会了一定写出来qwq。
cem
cem是自定义实体模型,但无论是高清修复还是实体模型特性都仅支持原版实体。
制作你的cem模型!
制作cem模型,我们需要用到blockbench。
在blockbench的插件页面内下载CEM Template Loader插件,并在主页加载程序CEM Template Loader,选择你想要更改的生物,这里选择的是苦力怕。
在这个页面可以自由的更改生物的模型。
然后将你更改的模型放入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材质包来演示了。
这就是子文件夹的好处。
这种是向外覆盖其他方块的ctm,接下来是以无缝玻璃为代表的连接时改变纹理的ctm,我们以clear glass材质包为例。
assets/minecraft/optifine/ctm/glass/aregular/glass.properties
matchBlocks=glass
method=ctm
tiles=0-46
clear glass用了46个贴图来处理连接纹理,我估摸着不需要这么多,不填写其他的文本,那些纹理就是附着在方块本身的一个layer纹理,或者是直接替换掉的。