为 Mod 增加资源

您所在的位置:网站首页 dokimod 为 Mod 增加资源

为 Mod 增加资源

#为 Mod 增加资源 | 来源: 网络整理| 查看: 265

# 为 Mod 增加资源

今天我们学习的内容会有一点点的难,但是不必担心,按照教程走,你肯定会很快学会。

警告!!!

本章会默认您在使用 Mod 模板。

一般来说,在您的 Mod 工程里的 game 文件夹下会有一个名叫 mod_assets 的文件夹,这里面存放的就是 Mod 资源。

# 获取资源

您可以从 DDMC Community Assets(来自 Google Drive,需挂梯) (opens new window) 下载一些适合 DDLC Mod 的免费资源。

警告!!!

请注意资源的版权问题。 上面的文件夹(也包含其他来源)的大部分资源如果要使用,通常只要求在 Mod 里标注作者,但某些资源需要获得原作者的允许后才能添加到您的 Mod 里。

# 增加资源

要使用资源,首先得增加资源。

# 增加图像资源

在 DDLC 里,图像资源分为两种:角色图像资源与背景图像资源。

注意!!!

角色图像资源的格式应该为 PNG,且背景应该是透明的。角色图像资源的分辨率应为 960x960 以保证兼容性。

背景图像资源的格式可以为 PNG 或 JPG。如果您自己创作了这种资源,我们强烈建议使用 PNG 格式。 背景图像的分辨率应该为 1280x720,否则图片会意外放大。如果背景图片的分辨率超过上述分辨率,至少您的图片也应该为 16:9 的尺寸,这种情况下可以使用下方示例代码解决缩放问题:

image your_image_name: "path/to/your/image.png" size (1280,720) # 添加 size 属性

为了兼容性,强烈建议您保证您新建的所有文件(夹)名称全部为小写,且不使用中文。

# 增加角色图像资源 在 mod_assets 文件夹下新建一个文件夹,取名为 images(如果没有)。 在 images 文件夹下新建一个文件夹,取名为 (如果没有)。 在 文件夹里存放您的图像资源。 例如为纱世里增加面部表情资源,只需要把资源复制到 sayori 文件夹里并重命名为 26 个字母中的任意一个(为了兼容性,但请不要与原版游戏冲突),然后这些资源在生成 Mod 时就会和 Mod 一并打包了。 在 definitions.rpy 文件里定义添加的资源。(本节后面会教您怎样这样做。)

注意!!!

请根据 里的内容更改。

为了兼容性,强烈建议您保证您在此步新建的所有文件(夹)名称全部为小写,且不使用中文。

# 增加背景图像资源 在 mod_assets 文件夹下新建一个文件夹,取名为 images(如果没有)。 在 images 文件夹下新建一个文件夹,取名为 bg。 在 bg 文件夹里存放背景资源。 例如新增一个学园祭时的文学社教室背景,只需要把背景复制到 bg 文件夹里并重命名为合适的名字,背景在生成 Mod 时就会和 Mod 打包在一起了。 在 definitions.rpy 文件里定义添加的资源。(本节后面会教您怎样这样做。) # 增加音频资源

注意!!!

Ren'Py 只支持以下几种音频格式:

Opus Ogg Vorbis MP3(不建议使用) WAV (16 位 PCM 格式的带文件头音频) 在 mod_assets 文件夹下新建一个文件夹,取名为 audio 。 在 audio 文件夹里存放音频资源。 例如增加一首新的背景音乐,只需要把音频复制到 audio 文件夹中就可以了。现在新增的音频在生成 Mod 时就会和 Mod 一并打包了。 在 definitions.rpy 文件里定义添加的资源。(本节后面会教您怎样这样做。) 根据音频的特点在 definitions.rpy 文件里定义添加的音频。(本节后面会教您怎样这样做。) # 定义资源

为了使用资源,还需要定义资源。

注意!!!

此步是最重要的一步,请认真跟着教程进行操作。如果哪一步出错了,可能会导致资源无法使用,甚至会使 Mod 无法运行!

# 定义图像资源

定义图像资源分为两种:定义角色图像资源与背景资源。

# 定义角色图像资源 / 立绘

打开 definitions.rpy 文件

复制粘贴一行立绘定义:

针对已有角色:

按 Ctrl+F,查找资源关联的角色的小写英文名。 例如之前增加了纱世里的资源,那么在这一步就需要查找 sayori。

复制一行,在该角色的立绘定义区域的最底部重复任意一行已有的定义。 例如我复制了 image sayori 1 = im.Composite((960, 960), (0, 0), "sayori/1l.png", (0, 0), "sayori/1r.png", (0, 0), "sayori/a.png"),那么就需要在最后一行,也就是 image sayori 1y = im.Composite((960, 960), (0, 0), "sayori/1l.png", (0, 0), "sayori/1r.png", (0, 0), "sayori/y.png") 的下一行粘贴它。

针对新角色:

从已有的立绘定义代码中复制一行(代码例子看上面)。

在文件的最后再加一行,并粘贴刚刚复制的代码。

按照以下格式更改刚刚粘贴的那行代码:

如果是增加表情:

image = im.Composite((960, 960), (0,0), "/.png", (0,0), "/.png", (0,0), "mod_assets/images//.png")

如果是增加身体部分:

image = im.Composite((960, 960), (0,0), "mod_assets/images//.png", (0,0), "mod_assets/images//.png", (0,0), "/.png")

如果都增加了:

image = im.Composite((960, 960), (0,0), "mod_assets/images//.png", (0,0), "mod_assets/images//.png", (0,0), "mod_assets/images//.png")

注意!!!

更改时需要注意以下四点:

所有角色名都应为小写。 请根据 里的内容更改。 立绘编号不能和已有的立绘编号重复。 所有图像资源必须存在。

例如之前为纱世里加入了额外的资源,它是一个面部表情,并且名为 a.png,根据这些就应该将代码更改为:

image sayori 1ma = im.Composite((960, 960), (0,0), "sayori/1l.png", (0,0), "sayori/1r.png", (0,0), "mod_assets/images/sayori/a.png")

此处立绘编号取为 1ma 以便与原版立绘区分。(这里的 m 指 mod)

现在,只需要在脚本里加入 show sayori 1ma 就能显示出纱世里的新表情了。

# 定义背景资源

打开 definitions.rpy 文件

按 Ctrl+F 查找 # 背景

复制含有 image 的一行,然后粘贴在下一行。

按以下格式更改刚刚粘贴的代码:

image bg = "mod_assets/images/bg/"

注意!!!

更改时需要注意以下三点:

请根据 里的内容更改。 背景编号不能和已有的背景重复。 图像必须存在。

例如之前添加了一张学园祭时的文学社背景,且图像文件名为 clubroom_festival.png,就应该更改为:

image bg clubroom_festival = "mod_assets/images/bg/clubroom_festival.png"

现在,只需要在脚本里加入 scene clubroom_festival 就能显示新背景了。

# 定义音频资源

打开 definitions.rpy 文件

按 Ctrl+F 查找 audio

复制开头带有 audio 的一行,然后粘贴在下一行。

按以下格式更改刚刚粘贴的代码:

define audio. = "mod_assets/audio/"

注意!!!

更改时需要注意以下三点:

请根据 里的内容更改。 音频编号不能和已有的音频编号重复。 音频必须存在。

例如之前增加了一首学园祭背景音乐,就应该更改为:

define audio.tm1 = "mod_assets/audio/clubday_festival.ogg"

现在,只需要在脚本里加入 play music tm1 就能播放新音乐了。

扩展知识

Ren'Py 支持节选播放音频。在官方文档是这样介绍的:

Ren’Py支持节选播放音频文件。节选播放的语法是,在play语句的文件名之前,加上用英文尖括号包含的播放起始点。节选播放规范应该包含成对属性名和属性值,并用空格分隔。

属性值以秒为单位,集成在文件名前面的英文尖括号内。三种属性名分别为:

from

指定播放文件的起始时间点。(默认值为0.0秒)

to

指定播放文件的终止时间点。(默认值为文件结束。)

loop

指定需要循环播放的文件起始和终止时间点。(默认的起始时间点为文件开头或 from 指定的时间点。)

例如要让学园祭的背景音乐在播放完后循环回到 3.55 秒,刚刚的代码就可以改为:

define audio.tm1 = "mod_assets/audio/clubday_festival.ogg"

再例如要让学园祭的背景音乐播放 5 秒到 10 秒的内容,刚刚的代码就可以改为:

define audio.tm1 = "mod_assets/audio/clubday_festival.ogg"



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3