Skip to content

纹理

纹理(纹理贴图)是视觉小说中最基础的资源,也是最常用的资源。

使用 regTexture 函数,可以帮助我们快速创建一个纹理(并返回一个句柄)。

world/rinne.ts
export const normalTex = regTexture("rinne_normal", t => {
t.variants = "rinne.png";
});

对于没有 JavaScript 经验的创作者,这段代码可能有些苦涩了。

但不要害怕,我们有详细的一步步来教程。

regTexture 接受两个参数

regTexture(
"rinne_normal", // 第一个参数
t => { t.variants = "rinne.png"; } // 第二个参数
);
  • "rinne_normal" 是纹理的名称,可以任意指定(但不能与其他纹理重名)。
  • 第二个参数则是纹理的配置函数,可以在这里指定纹理的路径、格式等。
    我们只需要修改 t => { ... } 内部的内容;这里的 t 是一个构建器,可以任意指定其名称。

regTexture 函数会返回一个纹理句柄,可以通过这个句柄来引用这个纹理。

export const normalTex = regTexture("rinne_normal", t => {
t.variants = "rinne.png";
});
  • normalTex 是一个纹理句柄,其名称可以任意指定(但不能重复)。
  • export const 表示 normalTex 是一个全局变量,可以在其他文件中引用。

regTexture 的第二个参数是一个配置函数,可以在这里指定纹理的路径、格式等。

variants 是纹理的路径,可以是单个路径,也可以是一个特殊对象。

t => {
t.variants = "rinne.png"; // 在资源未确定的情况下,可以使用 undefined 占位
};
t => {
t.variants = {
png: "rinne.png",
jpg: "rinne.jpg",
};
};

mipmap 是是否开启 mipmap 的开关(默认 false

t => {
t.mipmap = true;
};

srgb 是是否开启 srgb 的开关(默认 true

t => {
t.srgb = false;
};