前言
大家都知道,optifine的随机实体纹理功能可以让一种实体拥有不同的贴图/变体,作为一个材质包作者,optifine的重要性不言而喻,但optifine的兼容性......一言难尽,自然要寻找替代品,ETF自然是一个优秀的替代品之一,在经过实验后,我发现ETF的功能比optifine更强大,其中之一便是ETF支持mod生物的随机实体纹理。
教程:如何为你喜欢的mod生物添加变体
我们以灾变mod的远古遗魂为例(以下纹理为new cataclysm材质包的内容,作者是我自己)
首先,我们需要一张贴图,先让远古遗魂去挖三天煤矿,得到一个黑色的远古遗魂(bushi)。
然后,我们要制作一个材质包的主体,pack.meta等文件的创建请自行查阅wiki,我们主要讲文件路径,远古遗魂贴图的原文件路径为assets/cataclysm/textures/entity/ancient_remnant/ancient_remnant.png,在材质包内尽量别按照原来的文件路径创建,原文件路径为textures/entity/贴图,创建为optifine/random/entity/贴图,如果贴图在entity文件夹的子文件夹内,也要放在子文件夹内,例如远古遗魂的文件路径为,新版本的ETF可以按照默认的文件路径读取贴图,但实测在某些特殊情况下有问题(例如为alexcave的史前洞穴生物的转换贴图,用optifine/random/entity路径就可以,但默认路径会出现只使用第二张贴图的bug)
assets/cataclysm/optifine/random/entity/ancient_remnant/ancient_remnant2.png
可以注意到,ancient_remant后面跟着个2,就是第二个随机纹理(第一个是原贴图)第几个贴图后缀就跟几,不用prop文件的话后缀是几都不影响概率。还有,如果要使用发光纹理,_e要在数字的后面,例如ancient_remnant2_e.png。
做完这些,打包zip文件,加载材质包,看成品。
实际上etf的功能远远不只是这种普通的随机实体纹理,可以用prop格式的文件来限制概率,地形等等,具体的可以参考官方纹理包。
一些小的注意事项
一些生物的layer贴图会覆盖掉一部分贴图,并且无法被ETF作为随机实体纹理使用,所以做某些生物的随机实体纹理时要用一个透明的贴图覆盖掉layer贴图,并且用_e后缀的发光贴图覆盖掉,
利维坦用此方法就可以替换发光贴图了。
properties文件
以灾变的骷髅狗头人为例,文件与纹理同一文件夹,命名为koboleton.properties
文本为:
skins.2=1 2
weights.2=3 1
意思是第二套材质列表是[skin1(默认材质编号),skin2] 权重分布对应[3,1] 有1/(3+1)的概率抽中skin2的贴图。
也就是说,骷髅狗头人有四分之一的概率使用第二个贴图。