简单资源包制作教程 | 您所在的位置:网站首页 › nook2软件资源包 › 简单资源包制作教程 |
一、认识资源包结构 一个完整的资源包应包含以下几部分 一个简易资源包包装:位于.minecraft\resourcepacks文件夹下的文件夹或zip压缩包 assets文件夹:资源包主体、资源文件位置 pack.mcmeta:资源包说明文件,也是MC识别资源包的唯一依据 pack.png:可省略,资源包封面图片 资源包内文件在游戏中的对应关系在上述资源包的pack.mcmeta内,有如下代码 { "pack":{ "pack_format":7, "description":"\u00A76\u00A7l个人自制材质\n\u00A77版本:beta 0.05" } } pack_format为资源包版本号。在上图中资源包变红、加载时出现提示也是因为版本号7与游戏版本1.18.1不符。但是不同版本的存储路径在很多地方都具有一致性,所以标红并不一定会影响资源包工作,资源包能否正常工作仅由assets文件夹内的文件决定 当然作为强迫症,我们不希望资源包报错,截至目前的所有资源包版本号如下:1.6.1(13w24a) – 1.8.9为1,1.9(15w31a) – 1.10.2为2,1.11(16w32a) – 1.12.2(17w47b)为3,1.13(17w48a) – 1.14.4(19w46b)为4,1.15(1.15-pre1) – 1.16.1(1.16.2-pre3)为5,1.16.2(1.16.2-rc1) – 1.16.5为6,1.17(20w45a)– 1.17.1(21w38a)为7,1.18(21w39a)– 1.18.2(1.18.2-rc1)为8,1.19(22w11a)以后为9 注:由于MOJANG在1.13数据扁平化中大幅度修改了资源储存路径,因此1.12及以下与1.13及以上一般不互通 description为资源包描述,可省略。特殊格式及颜色的使用方式请自行查阅MCWIKI上的格式化代码部分,在这里不做讲解。 重要!!!当我在各种MC群答疑的时候,见过无数次这种情况导致的自制资源包无法使用: 在压缩用文件夹包装的资源包时,误将包装文件夹也压缩进了压缩包 一定要注意,包装压缩包内部直接是assets文件夹及pack.mcmeta 二、资源包入门---文件替换大多数普通的音源包、纹理包,都是对原有的素材进行直接替换 替换,就需要我们掌握如何找到被替换素材名称及路径的方法。接下来我会以音频、纹理为例,演示如何寻找这些内容。 在MC中,素材被分为两个路径存储。(以1.18为例,其余版本同理) 纹理和模型等小体积文件储存于.minecraft\versions\1.18\1.18.jar内;音频等大文件储存于.minecraft\assets文件夹内,使用时请注意 2.1 替换音效文件 首先我们前往MCWIKI查询自己想要替换的声音事件名称 前往MCWIKI中sounds.json界面,搜索我们得到的声音事件名,得到音频路径 声音文件存储于assets文件夹内。而assets文件夹内文件是以hash命名,故我们打开.minecraft\assets\indexes\1.18.json,搜索我们刚得到的音频路径,得到完整路径和hash值 如果我们需要提取该音频,复制hash值,前往.minecraft\assets\objects文件夹搜索 更名为banjo.ogg即可得到该音频 替换时,首先在资源包assets文件夹内,创建刚得到的完整路径 minecraft/sounds/note/ 将你要替换的音频命名为banjo.ogg放入即可 上述方法虽然稳定,但比较复杂,实际上大多数情况直接在.minecraft\assets\indexes\1.18.json内搜索目标方块/生物名字的关键字即可 2.2 替换纹理文件 纹理文件存储在1.18.jar中,直接用解压工具打开jar 纹理文件比音频文件更好找一些,因为文件直接用原名存储,不需要检索hash值。同时大多数方块直接是以 方块名.png 保存纹理文件 为增加挑战性,下面让我们替换末地烛粒子 打开1.18.jar\assets\minecraft\particles\end_rod.json 得到末地烛粒子图片名 glitter_?.png 易知纹理文件应存储在assets\minecraft\textures,粒子的英文为particle 在资源包内创建assets\minecraft\textures\particle目录,将同名图片放入即可 三、资源包进阶---json修改3.1 粒子 继续讨论上文的末地烛粒子 1.18.jar\assets\minecraft\particles\end_rod.json中的代码是什么意思呢? 对于此粒子,其json含义为在粒子生命周期内,自上而下依次展示列表中的png文件,以形成动态效果 那么我们可不可以自己编辑这个列表,改变图片数目、展示顺序等实现更高度的自定义呢? 资源包内创建assets\minecraft\particles\end_rod.json,内容如下 修改材质如下(红绿渐变) 效果如下 光影!3.2 方块状态与方块模型 方块材质是怎么被加载的?部分红石原件在激活和未激活时有不同材质(如中继器激活/熄灭),我们能不能制作可以自定义不同状态展示不同材质的资源包? 首先我们要了解材质被加载的机理 拆包1.18.jar,我们可以看到如下文件夹 blockstates定义方块状态,内部json文件定义方块在每种状态时加载的模型(models) models定义模型,内部json文件定义该模型调用什么纹理(textures) 下面以音符盒激活发光为例 重要!!!发光纹理功能依赖optifine,不支持iris等 前往MCWIKI查询音符盒方块状态 按照目录在资源包blockstates内创建note_block.json,内部代码如下 根据powered状态的true/false,分出两个model 分别创建资源包models文件夹内的note_block.json与note_block_on.json,内部代码如下 textures内分别定义:破坏时粒子调用的纹理,上下东西南北纹理(可用”all“:”xxx“一项全部代替,但同时失去了令六个面显示不同材质的功能) 下面定义发光纹理 创建assets\minecraft\optifine\emissive.properties文件,内部代码如下 其含义为,令以_e结尾的材质文件表现出发光状态。注意发光纹理强制为统一亮度,无法控制发光强度。(此功能依赖optifine,确保设置项 品质/自发光纹理 为开) 在调用a.png时,若存在a_e.png,则在显示a.png的同时在其上覆盖渲染发光的a_e.png(即透过发光纹理上存在的透明像素点仍可看到原纹理,用此方法可以控制像素点是否发光) 创建以_e为结尾的发光纹理 noteblock_sn_on.pngnoteblock_sn_on_e.png最终texture文件夹内纹理如下 同理,也可以根据音符盒note、instrument方块状态制作资源包 根据不同音高显示不同颜色的RGB音符盒在model中分别定义六个面的不同纹理 不同面显示不同纹理的音符盒3.3 sounds.json 如果只是替换原有的音频似乎有点不够爽,我们可不可以随意的添加各种音频呢? 以创建一个包含完整钢琴88键的资源包为例 创建assets\minecraft\sounds.json,内部部分代码如下 以如下代码片段为例 "piano.21.ffff": { "replace": true, "sounds": [ { "name": "ffff/ffff_21", "stream": false, "pitch": 1, "volume": 0.6667 } ] }, piano.21.ffff:声音事件名,用playsound指令即可调用 "replace": true,:非关键参数,可省略,也可直接复制(详情可查阅MCWIKI中sounds.json词条) name:音频文件存储路径,"name": "ffff/ffff_21",表示该音频路径为assets\minecraft\sounds\ffff\ffff_21.ogg "stream": false:非关键参数,可省略,也可直接复制 pitch:伸缩变调,1则为原音调,范围为0.5-2,可包含两个八度(音符盒可以理解为不需要指令的playsound,敲击就是改变pitch参数) 来自wiki音符盒词条volume:音量,范围为0-1 根据name项定义的音频路径准备好音频 若在输入命令时有自动补全提示,则资源包已经开始正常工作 3.4 动态材质 不知你是否观察过命令方块的材质,如果你仔细观察,会发现命令方块的材质竟然是动态的!中间的亮点会按照一定规律循环亮起。那么,我们是否可以利用材质包给其他材质添加动态效果呢? 拆包1.18.jar,我们发现命令方块不仅有纹理png,还有一个mcmeta文件 内部代码如下 interpolate:控制不同帧之间是否有过渡渐变效果(此项默认为false) frametime:每帧持续时间,单位为刻 而命令方块的纹理png也与众不同,其并不是1:1的正方形 对于此1:4的png,按宽度将长度自上而下分成四个不同帧,再由mcmeta文件控制,每10tick切换一次,同时有过渡效果使之不生硬 掌握了这些知识,我们就来制作一个自己的动态材质 目标是给石头添加动态材质,注意mcmeta文件的文件名为xxx.png.mcmeta 注:在应用动态发光纹理时,_e发光纹理与普通纹理分立控制互不影响,可以其中一方为动态也可两者都是,互不干扰 仅底图为动态,不干扰发光仅发光纹理为动态尾声本教程在这里就结束了,如有谬误欢迎指正和补充 如果以后有时间可能考虑更新应用PBR技术的资源包制作教程? 发几张自制的 皇家音符盒 资源包截图 屏幕空间反射PBR+自发光纹理法线贴图 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |