535700475
本帖最后由 535700475 于 2020-3-8 23:07 编辑

看了BBS里两位dalao的教程,感觉不是很懂

https://www.mcbbs.net/thread-803870-1-1.html
https://www.mcbbs.net/forum.php? ... &page=2#pid15647028

就是如何用 Optifine 和材质包 达到自定义材质

BBS里也没用很详细的教程

可以的话 能不能给个例子?
就是  材质包+Optifine  的成功自定义怪物材质的例子


蟹蒙老鸽
这个是高版本有的功能吗,感觉之前都没见过

GiNYAi
看起来你需要的是 随机实体材质 random_entities 相关的功能
你还可以参考官方的文档
https://github.com/sp614x/optifine/blob/master/OptiFineDoc/doc/random_entities.properties

  1. textures.1=1 2
  2. weights.1=1 2
  3. name.1=GREEN

  4. textures.2=3
  5. name.2=RED
复制代码

随手尝试了一下
上面的这个.1 表示是第一组

textures.1=1 2 表示会随机的使用 1号和2号材质(其中1号就是原版的材质 2号是creeper2.png)
weights.1=1 2 表示 1号材质的概率是1 2号材质的概率是2(不过你可能用不到)
name.1=GREEN 表示需要名字为GREEN 才会应用这组规则(你要和插件配合 大概通过名字会比较简单)

textures.2=3 第二组只有3这个材质
name.2=RED 第二组需要名字为RED才会生效

TestPack.zip (2.54 KB, 下载次数: 21)

狡诈师
据我所知,Optifine实现替换原版模型又根据name匹配,难度高
如果不修改原版模型,仅替换贴图+匹配name是可以的(我没这模型,我自己也不会做,目前mcbbs也没有)

推荐使用imiPet搭配iNewReflex插件+Mythicmobs,是可以实现自定义模型怪物,包括动作


SQwatermark
本帖最后由 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种材质是pig54.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\

我相信如果前面的部分可以看懂的话,这里也不难理解了。

535700475
GiNYAi 发表于 2020-3-8 23:03
看起来你需要的是 随机实体材质 random_entities 相关的功能
你还可以参考官方的文档
https://github.com/ ...

太强大了!十分感谢! 之前研究了好久都弄不好……
蟹蟹!

535700475
SQwatermark 发表于 2020-3-9 17:55
一个例子:https://www.planetminecraft.com/texture_pack/transmobifier-v1-0-50-custom-mob-skins-custom ...

十分不好意思啊……!

刚刚采纳的时候没看到你的回复……

辛苦你了!!

535700475
GiNYAi 发表于 2020-3-8 23:03
看起来你需要的是 随机实体材质 random_entities 相关的功能
你还可以参考官方的文档
https://github.com/ ...

有没有办法 做到 直接使用mod里的生物材质图片 来应用到游戏里?

因为这为你发的这个方法只能在该生物的模型的基础上替换贴图……

535700475
童鞋鞋 发表于 2020-3-9 12:29
据我所知,Optifine实现替换原版模型又根据name匹配,难度高
如果不修改原版模型,仅替换贴图+匹配name是可 ...

是啊…… 替换原版模型 太难了

535700475
SQwatermark 发表于 2020-3-9 17:55
一个例子:https://www.planetminecraft.com/texture_pack/transmobifier-v1-0-50-custom-mob-skins-custom ...

有没有办法 做到 直接使用mod里的生物材质图片 来应用到游戏里?

GiNYAi
535700475 发表于 2020-3-9 20:59
有没有办法 做到 直接使用mod里的生物材质图片 来应用到游戏里?

同样的模型应该可以 照搬贴图

而mod的生物模型大多是直接写死在代码里的(和mc 本身一样)
没有办法直接使用吧

第一页 上一页 下一页 最后一页