本帖最后由 SQwatermark 于 2020-3-10 08:59 编辑
一个例子:
https://www.planetminecraft.com/texture_pack/transmobifier-v1-0-50-custom-mob-skins-custom-mobs-using-nametags/下载下来自己摸索摸索的话,大概就能懂了
简要说明下这个材质包做了什么:
random文件夹:提供了一些材质,并且告诉了optifine该在如何使用这些材质
cem文件夹:修改了一些生物的模型,注意,这种修改是无条件限制的,你没办法根据生物的名字来确定生物的模型
cit文件夹:修改了特定命名牌的材质
接下来讲解这个材质包是如何添加一只考拉的:
第一步
我们来看看这个文件夹:random\entity\pig\,圈起来的是考拉的材质
让我们打开pig.properties,这个文件的名字告诉了optifine,这里面的一切设置,都是用于猪的
来翻译一下圈起来的这段话:
猪的第
6种材质是pig
54.png,如果猪被命名为
koala的话,猪就会使用这种材质。
你可能会困惑猪的第一种材质是什么,这可能是材质包作者对文档的理解有误造成的,你在制作的时候,大可以从1开始计数
你可能会困惑iregex:(koala|.* p5)是什么意思,这其实是一个正则表达式,你可以从
这里学一下正则表达式的语法,尤其是要使用中文时,应该使用Unicode字符编码,例如:regex:(\u00a7.)*(\\\\+\\\\d+?(\u00a7.)*\\\\s*(\u00a7.)*)?\u829d\u9ebb\u9985\u6c64\u5706
如果你对正则表达式感到实在是头大,写上name.6=koala也是可以的,同样,中文需要使用Unicode编码
当你掌握了自定义生物的材质,大部分自定义生物的功能已经可以实现了
下面是进阶内容
第二步
如果你用铁砧将命名牌命名为koala,命名牌的材质会改变,出现一只考拉的脑袋,这是
自定义物品材质的功能
可以看看cit\transmobifier\pig nametags\文件夹,不过这一部分和自定义生物本身没多大关系,就不详述了
第三步
当你在游戏中将一只猪命名为koala时,你会发现,考拉有一对大大的耳朵,而原版的猪是没有的,其实作者是修改了猪的模型
让我们打开cem文件夹,里面和猪有关的是这几个文件:
其中pig.jem修改了猪的模型,具体来说,它为猪的模型添加了两个零件,
详见此处
而red_panda_ears.jpm和red_panda_tail.jpm正是这两个零件的模型文件
不知道如何建模......了解下blockbench或者cubikstudio吧
red_panda_ears的第四行写着"texture": "textures/entity/pig/red_panda_parts",这说明了这两个零件的材质,我们打开这个文件夹,竟然发现red_panda_parts.png是一张完全透明的空白图片!这并不是什么奇怪的事,仔细想想,没有改名字的小猪,总不能也长者一对大耳朵和一条毛茸茸的大尾巴吧?所以这张图片默认是空的。那么如何在小猪被命名为koala时长出考拉的耳朵呢?(尾巴是给浣熊用的)
重新回到random\entity\pig\
我相信如果前面的部分可以看懂的话,这里也不难理解了。