DofaAec 发表于 2020-7-15 22:16:51

【高版本随机材质绘制教程】

本帖最后由 DofaAec 于 2020-7-15 22:11 编辑

高版本随机材质绘制·教程
DofaAec



注意:本教程为基础教程,不涉及较复杂方块随机材质绘制(比如红石类方块)


那话不多说,开始吧。




1、Minecraft材质调用规律
学习本教程之前请确保您已经具有材质绘制能力!
路径:XX材质→assets→minecraft

你会发现文件下一般会有这三个文件夹,对应了调用的3个过程
非常直观:MC调用→blockstates→models→textures
也就是说,材质调用先识别blockstates文件夹内容,通过里面的json格式文件再转到models的调用
models再通过json格式文件调用textures内的.png格式图片完成调用。
这个比较难理解,但不影响接下来的学习,所以继续


2、blockstates文件夹
这里以简单的白桦木板为例

打开.json的文件,你会发现里面非常简单


这是因为白桦木板只有1个材质贴图,
回归正题,如果你准备做白桦木板的随机材质包,必须先从blockstates开始
{
    "variants": {
      "": { "model": "block/birch_planks" }我们对其进行亿点点修改:{
"variants": {
    "": [
      {
      "model": "block/birch_planks",
      "weight": 160
      },
      {
      "model": "block/birch_planks1",
      "weight": 1
      }
    ]
}
}

你会发现,里面出现了第二个模型birch_planks1,而block/XX则是调用models模型的路径
你一定也会发现,里面增加了一个weight,简单来说,weight是该模型出现的概率吧,这是一个数学概念
weight越大,其出现概率越大,反之,其他模型的出场概率就小了,这里的160:1相当于160个birch_planks中会出现1个birch_planks1
blockstates修改完后,转入models文件夹


3、models文件夹顾名思义,models就是模型,相当于前面的blockstates的作用的让MC引用多个白桦木板的模型,而模型是引导MC调用对应的贴图。继续以白桦木板作为示例在models里面创建一个block文件夹,对应上文的引用路径,继续在block里面创建birch_planks.json文件,如果你是原有材质,你会发现里面有这样的代码{
    "parent": "block/cube_all",
    "textures": {
      "all": "block/birch_planks"
    }
}
然后,你只要将其进行稍稍修改{
    "parent": "block/cube_all",
    "textures": {
      "all": "block/birch_planks2"
    }
}
真的只是多了个2,你没看错,但他却会引用textures里的birch_planks2的贴图,然后将文件名改为birch_planks1,对应上面blockstates引用的名称。自此,随机材质和赋值就完成了
4、贴图绘制这个没什么好说的吧,会的都会,创建一个.png,取名为birch_planks2,画画,完事。




mc布布 发表于 2020-7-21 01:26:33

好棒 谢谢分享!!

xiang_xge 发表于 2020-7-23 17:05:01

正要去问答版问的来着...
感谢LZ为我省金粒[:...:][:doge:]

人心所寻﹍ 发表于 2020-8-4 22:21:46

可以可以,喜欢分享下。
页: [1]
查看完整版本: 【高版本随机材质绘制教程】