贴图

纹理

这篇文档的作用主要就是简单讲解一下纹理(贴图)相关的内容, 包括纹理文件的存放, 代码注册时和纹理有关的方法说明

正文

纹理文件存放位置

纹理文件存放在assets/${modid}/textures目录下, 其中包含有block, entity, item以及models等文件夹, 分别对应不同的纹理类型, 其中

  • block对应方块的纹理

  • item对应物品的纹理

  • entity对应着实体(生物还有三叉戟, 箭矢等特殊处理模型的纹理)

  • models文件夹内还有一层armor, 主要用于存放盔甲的纹理

以上介绍的几个目录是在KubeJS注册中常用的几个文件夹, 在高级一点的gui啥的就不是KubeJS能做到的了

在Mod的注册方式中不单单将纹理放在对应的位置, 还需要在模型中将纹理给应用上, 详见关于模型的初步讲解

注册时的方法介绍

在物品的注册中只有一个texture方法, 这个直接将对应路径写上去即可(这个方法一般用于指定某些不在默认位置的纹理, 还有那种指定一张白底图然后直接着色处理的情况(需要搭配color方法使用))

但是在方块的注册中有着textureAll, textureSide, texture三种方法负责处理方块上不同位置的纹理

首先是textureAll, 这个方法用于将一个纹理渲染到每个面上, 只需要填入路径定位到纹理文件即可, textureSide同理, 不同的是这个方法用于将一个纹理渲染到侧边的面上

texture则用于将一个纹理渲染到指定位置, 根据probejs的提示, 在填写纹理路径之前还需要填入一个id的参数, 这个参数用于指明这个纹理在哪个位置上

类似于熔炉那样的不同的面有不同纹理的方块, 模型文件中会有一个textures的键, 键值中的每个键名都是一个纹理对象, 键值则是纹理的路径, 其中id就是纹理在纹理数组中的每一个键名

我们来看原版的熔炉模型

front对应着正面的纹理 side对应着侧边的纹理 top对应着顶面的纹理

在上面的方法中第一个参数中的参数则是需要填入这些键名[String], 然后才是纹理的路径

Last updated