附加文件是指更改Unite的游戏的举动,或添加新功能的文件。
Unite的系统是使用C#程序语言撰写的,附加文件是通过对该内容进行加工修正,来添加新功能。
附加文件作为Unity包的一部分发布,后缀名为unitypackage。
●附加文件的一个示例
此处将为您解说制作简单附加文件的方法,以及将附加文件导入项目的方法。
Unite的附加文件与以往的制作大师(Maker)中的插件的功能几乎相同。
尤其是,它继承了RPG Maker MZ中的插件指令等的式样,熟悉以往Maker的用户一定能马上理解它的用法。
附加文件与插件的一个不同之处是,插件是单一的脚本(后缀为js)文件,
附加文件不仅是程序的源代码,更是包含必要素材的工程包。
那么,让我们来尝试制作一个简单的附加文件吧。
以下说明“将独立开关A从OFF变为ON”这一附加文件的制作步骤。
即使不使用附加文件,现有功能也可满足该需求。但是,希望大家能以此来理解制作附加文件的大致流程。
在项目文件夹中的“Asset/RPGMaker/Codebase/Add-ons”文件夹下新建文件夹。
此处的文件夹名必须与后续制作的脚本同名,因此建议使用有意义的名称。
本次我们暂且命名为“AddonSample”。
在刚才新建的文件夹内,新建与文件夹名同名的Cs文件。
用任意编辑器打开制作的文件,输入以下内容。
/*:
*
*/
/*:zh_CN
*
*/
namespace RPGMaker.Codebase.Addon {
public class AddonSample {
}
}
接下来为您逐个说明上述文本的意义。
第1~3行:用英语描述附加文件的说明。
第5~7行:用日语描述附加文件的说明。
第9行:描述namespece。namespace作为Unite的附加文件规则,必须指定“RPGMaker.Codebase.Addon”。
第10行:描述class名。class名须输入与文件名相同的名称。
将以下Comment复制粘贴至第5~7行的部分。
/*:zh_CN
* @addondesc 更改独立开关
* @author Author
* @help 切换任意独立开关的ON/OFF
*
* @command SetSelfSwitchValue
* @text 更改独立开关
* @desc 设置独立开关的值。
*
* @arg SelfSwitch
* @text 独立开关
* @desc 指定独立开关
* @type select
* @option A
* @option B
* @option C
* @option D
* @default A
*
* @arg Value
* @text 设置值
* @desc 指定独立开关的值
* @type boolean
*/
将以下源码复制粘贴至第9,10行的部分。
作为Arguments参数对象,接受独立开关(A~D)与bool值(true,false),并用指定值覆盖独立开关。详细说明在此省略。
using System.Collections.Generic;
using RPGMaker.Codebase.CoreSystem.Knowledge.DataModel.Runtime;
using RPGMaker.Codebase.Runtime.Addon;
using RPGMaker.Codebase.Runtime.Common;
namespace RPGMaker.Codebase.Addon {
public class AddonSample {
public void SetSelfSwitchValue(int selectSelfSwitch, bool selectValue){
var eventId = AddonManager.Instance.GetCurrentEventId();
var saveDataModel = DataManager.Self().GetRuntimeSaveDataModel();
var selfSwitchData = saveDataModel.selfSwitches.Find(selfSwitch => selfSwitch.id == eventId);
if (selfSwitchData == null){
selfSwitchData = new RuntimeSaveDataModel.SaveDataSelfSwitchesData();
selfSwitchData.id = eventId;
selfSwitchData.data = new List<bool>() { false, false, false, false };
saveDataModel.selfSwitches.Add(selfSwitchData);
}
selfSwitchData.data[selectSelfSwitch] = selectValue;
}
}
}
脚本顶部所记载的Comment部分(用/* */框出的部分)中,可使用RPG制作大师MZ的大部分注解。 RPG制作大师MZ 插件讲座
但请注意以下几点。
基本上已安装与RPG制作大师MZ相同的注解。
但是,以下注解虽然在RPG制作大师MZ中可使用,在Unite中则不可使用。(今后没有安装计划)
@dir, @require, @requiredAssets, @noteParam, @noteDir, @noteType, @noteData
可用[][]指定二维阵列。
参数类型发生如下变化。
integer→int
number→double
boolean→bool
select→int
struct→string(JSON)
array→string(JSON)
请注意type中的储存内容发生了变化。例如地图ID在PRG制作大师MZ中为数值,在Unite中则为字符串。
附加文件构造函数的Arguments参数对象的数量与类型,必须与注解的附加文件参数一致。
附加文件指令的方法(Method)中的Arguments参数对象的数量与类型,也必须与注解的附加文件指令的Arguments参数对象一致。
DataManager处理的是Unite的核心数据。通过DataManager,可以使用附加文件实现普通事件无法实现的内容。
从Unite的菜单单击以下图标,显示附加文件列表。
正常制作脚本后,将被添加至附加文件列表。
双击AddonSample附加文件,将显示以下画面。
此处可显示附加文件的帮助,并设置参数。
将附加文件的状态从“OFF”改为“ON”,并按下“确定”键。
该附加文件将在当前项目中生效。
制作适当地图,并切换为事件编辑模式。
在事件编辑模式中,右击任意位置>选择新建。
右击事件执行内容,选择新建事件,显示事件指令窗口。
从事件指令中,选择附加文件>附加文件指令。
编辑附加文件指令,该附加文件指令将被添加至事件执行内容中。
选择附加文件指令,将附加文件名从“0001:(无)”改为“0002:AddonSample”。
现在可选择“指令名称”。
可在此处选择用刚才的脚本制作的“更改独立开关”。
可在附加文件指令的底部,指定指令的Arguments参数对象。
在“更改独立开关”指令中,可指定“独立开关”进行更改,还可指定ON/OFF的值,即“设置值”。
双击“设置值”的项目,将显示如下画面。
因为“设置值”为bool值,因此可更改ON与OFF。
此处为了将独立开关改为ON,要选择ON(true),并按下“确定”键。
依照下图编辑刚才制作的事件。
在红框内确认独立开关为ON还是OFF。
在黄框内调取附加文件,并将独立开关改为ON。
在绿框内再次确认独立开关为ON还是OFF。
在设置事件的位置附近设置初始配置>玩家,并确认动作。
针对事件进行操作时,将跳转以下对话。
独立开关状态由OFF变为ON时,即为成功。
以上为附加文件的制作步骤。
使用Unity的功能,将制作好的附加文件打包。
如果是供自己使用的附加文件,则无需该步骤。公开时,请按该步骤打包。
从Unity的菜单中选择窗口>RPG Maker>模式>RPG Maker+Unity Editor。
片刻后将显示UnityEditor。
单击“项目”标签,打开“项目”窗口。
通过“项目”窗口,移动至包含所制作的附加文件的目录。
在本次示例中,移动至RPGMaker\Codebase\Add-ons目录。
通过“项目”窗口,选择并导出所制作的附加文件文件夹。
右击附加文件文件夹>单击导出工程包...。
将显示Exporting package窗口。(下方左图)
不勾选“包含从属”,筛选打包文件夹,按下“导出...”按键。(下方右图)
保存至任意位置。
以上为附加文件的打包步骤。
图像文件及音乐文件等Unity的Prefab对象也可以打进工程包。
在文件夹内新建Resources文件夹,存储Prefab,即可通过“Resources.Load”API进行访问。
使用Prefab可在游戏中自由配置对象,或显示UI等。此处省略详细说明。
请务必一试,可大幅提升自由程度。
首先,从RPG Maker Unite的编辑器移动至普通的Unity编辑器。第3个“Unity Editor”就是普通的Unity编辑器。
已切换至Unity画面。
要导入附加文件时,有以下两种方法。请执行任意一种。
选择文件,显示如下窗口。
●显示配置的文件夹及文件。
此时,请执行“导入”。
选择菜单中的窗口>RPG Maker>模式>RPG Maker Forcused Mode ,返回Unite的正常画面。
单击附加文件的图标,显示附加文件列表。
之前导入的3个附加文件已添加至列表中。所有的初始值均为OFF,因此要将功能设为有效时,需要设置为ON。
以上为附加文件的主要设置方法。
附加文件与以往的制作大师(Maker)中的插件一样,可通过解析系统程序制作,
因此熟悉Unity的用户也可制作新的附加文件。
但是,与插件相同,在制作附加文件时,必须有部分对注解的理解。在此不做展开。
请务必利用附加文件,进一步有效利用Unite。