创建怪兽
本指南涵盖了在 MCE 中创建和配置怪兽物种所需的一切知识。我们将深入讲解 MonsterEntry ScriptableObject,包括形态、变体和高级配置。
MonsterEntry 概述
MCE 中的每个怪兽物种都由一个 MonsterEntry ScriptableObject 定义。这是物种的权威数据定义——包含基础能力值、属性、特性、可学习招式、进化路径和视觉资源。
MonsterEntry 代表的是_物种_(例如"Flameleon"),而 MonsterInstance 代表的是一个特定的_个体_(例如"玩家的 25 级 Flameleon,具有特定的个体值、努力值、性格和招式")。
创建 MonsterEntry
使用向导(推荐)
创建怪兽的最快方式是使用向导:MCE > Tools > Monster Creator。
有关 向导的分步教程,请参阅第一只怪兽指南。
手动创建
- 在项目窗口中右键:
Create > OpenMon > Monster Entry。 - 以物种名称命名资源(例如
Flameleon)。 - 选中它并在 Inspector 中配置所有字段。
MonsterEntry 字段详解
身份信息
| 字段 | 类型 | 描述 |
|---|---|---|
MonsterName | string | 物种的显示名称 |
DexNumber | uint | 唯一的全国图鉴编号 |
Category | string | 物种分类(例如"Fire Lizard") |
DexDescription | string | 怪兽图鉴描述文字 |
CatchRate | int | 基础捕获率(0-255)。越低 = 越难捕获 |
BaseExpYield | int | 被击败时给予的经验值 |
GrowthRate | GrowthRate | 经验曲线:Fast、MediumFast、MediumSlow、Slow、Erratic、Fluctuating |
属性
| 字段 | 类型 | 描述 |
|---|---|---|
Type1 | MonsterType | 主属性(必填) |
Type2 | MonsterType | 副属性(单属性时设为 None) |
基础能力值
六项基础能力值决定了物种的基本能力。每只个体怪兽在运行时会在此基础上叠加个体值(IVs,0-31)和努力值(EVs,0-252)。
| 字段 | 类型 | 描述 |
|---|---|---|
BaseHP | int | 基础生命值 |
BaseAttack | int | 基础物理攻击 |
BaseDefense | int | 基础物理防御 |
BaseSpAttack | int | 基础特殊攻击 |
BaseSpDefense | int | 基础特殊防御 |
BaseSpeed | int | 基础速度(决定行动顺序) |
努力值产出
当该物种被击败时,胜者获得哪些努力值?
| 字段 | 类型 | 描述 |
|---|---|---|
EVYieldHP | int | 给予的 HP 努力值(通常 0-3) |
EVYieldAttack | int | 给予的攻击努力值 |
| ... | ... | 每项能力值一个字段 |
特性
| 字段 | 类型 | 描述 |
|---|---|---|
Ability1 | Ability | 主要特性 |
Ability2 | Ability | 次要特性(可为 None) |
HiddenAbility | Ability | 隐藏特性(可为 None) |
性别和繁殖
| 字段 | 类型 | 描述 |
|---|---|---|
GenderRatio | float | 雄性的概率百分比(0 = 始终雌性,1 = 始终雄性,-1 = 无性别) |
EggGroups | EggGroup[] | 繁殖兼容组 |
EggCycles | int | 孵化所需步数(乘以基础步数) |
DataByFormEntry 结构
MCE 支持每个物种拥有多种形态(例如阿罗拉形态、Mega 形态、季节变体)。每种形态可以覆盖基础物种数据的任何或全部内容。
MonsterEntry 上的 DataByFormEntry 数组定义了特定形态的覆盖数据:
[Serializable]
public class DataByFormEntry
{
public Form Form; // 形态标识符
public MonsterType Type1; // 覆盖属性 1
public MonsterType Type2; // 覆盖属性 2
public int BaseHP; // 覆盖基础 HP
// ... 所有能力值都可被覆盖
public Ability Ability1; // 覆盖特性
public Sprite FrontSprite; // 覆盖精灵图
public Sprite BackSprite;
}
设置形态
- 创建一个
FormScriptableObject:Create > OpenMon > Form。 - 为其取一个描述性名称(例如
MegaFlameleon、AlolanDiglett)。 - 在你的
MonsterEntry中添加一个DataByFormEntry并分配该形态。 - 只覆盖需要更改的字段——其他字段保留默认值将继承基础物种的数据。
DataByFormEntry 数组中索引 0 是基础形态。除非另有指定,否则所有怪兽都以此形态开始。额外的条目是替代形态。
形态和变体
MCE 支持多种常见的形态模式:
| 模式 | 实现方式 |
|---|---|
| Mega 进化 | 具有增强能力值和特殊精灵图的 DataByFormEntry。在战斗中通过 MegaModule 触发。 |
| 地区变体 | 具有不同属性、能力值和精灵图的 DataByFormEntry。遭遇根据区域指定出现哪种形态。 |
| 季节形态 | 多个 DataByFormEntry 条目。活动形态由游戏内日历决定。 |
| 性别差异 | 基础形态的两个条目。根据 MonsterInstance 的性别自动选择。 |
| 仅战斗形态 | 仅在战斗中存在的形态(例如极巨化)。战斗结束后形态恢复。 |
进化链
每个 MonsterEntry 都有一个 Evolutions 数组,包含 EvolutionData 条目:
[Serializable]
public class EvolutionData
{
public MonsterEntry TargetSpecies; // 进化后的物种
public Form TargetForm; // 特定形态(可选)
// 进化类型由具体子类决定
}
进化类型以多态 ScriptableObject 的形式实现。你分配相应的进化类型(例如 EvolveByLevel)并配置其参数(例如所需等级 = 16)。
有关所有 30+ 种支持的类型,请参阅进化指南。
精灵图和材质
每只怪兽需要视觉资源。MCE 使用标准的 Unity Sprite 引用:
| 资源 | 用途 | 备注 |
|---|---|---|
| 正面精灵图 | 战斗(对手视角) | 像素风格,点过滤 |
| 背面精灵图 | 战斗(玩家视角) | 像素风格,点过滤 |
| 图标精灵图 | 菜单、PC、队伍 | 小图标,通常 32x32 |
| 大世界精灵图 | 跟随系统 | 4方向精灵表 |
| 闪光变体 | 以上全部 | 重新着色的版本 |
像素美术的导入设置
对于所有怪兽精灵图,请使用以下导入设置:
- Texture Type:Sprite (2D and UI)
- Sprite Mode:Single(如果使用精灵表则选择 Multiple)
- Pixels Per Unit:匹配你游戏的地块大小(通常为 16 或 32)
- Filter Mode:Point (no filter)
- Compression:None
- Max Size:保持实际分辨率
使用 Point 以外的任何过滤模式都会导致像素美术看起来模糊。这是设置怪兽精灵图时最常见的视觉问题。
测试你的怪兽
创建 MonsterEntry 后:
- 数据库浏览器 -- 打开
MCE > Tools > Database Browser,按名称或图鉴编号搜索你的怪兽。 - 资源验证 -- 运行
MCE > Tools > Asset Validation检查缺失的引用。 - 游戏内图鉴 -- 启动游戏并查看 MonsterDex 以查看你的怪兽条目。
- 野生遭遇 -- 将怪兽添加到
WildEncountersSet中,在野外遭遇它。
批量创建
要一次性创建多只怪兽,你有以下选择:
- Essentials Importer(Basic 版本+)-- 从 RPG Maker Essentials PBS 数据直接导入物种。
- Art Studio(Basic 版本+)-- 以批处理模式为多个物种生成精灵图。
- 脚本创建(Source 版本)-- 编写编辑器脚本以编程方式创建
MonsterEntryScriptableObject。
最佳实践
- 使用向导创建单个怪兽。它会验证你的输入并捕获常见错误。
- 保持图鉴编号唯一。重复编号会导致查找失败。
- 设置合理的能力值范围。使用第一只怪兽中的 BST 指南。
- 始终分配精灵图。缺失的精灵图在战斗和菜单中会显示为粉红色/品红色。
- 端到端测试进化链。确保链中的每个物种都存在于数据库中。
- 谨慎使用形态。每种形态都会增加精灵图资源的内存开销。