创建怪物
本指南涵盖在 MCE 中创建和配置怪物物种所需了解的一切。我们将深入讲解 MonsterEntry ScriptableObject,包括形态、变体和高级配置。
MonsterEntry 概览
MCE 中的每个怪物物种都由一个 MonsterEntry ScriptableObject 定义。它是物种的权威数据定义 —— 包含基础能力值、属性、特性、可学习的招式、进化路径和视觉资源。
MonsterEntry 代表_物种_(例如 “Flameleon ”),而 MonsterInstance 代表某个具体的_个体_(例如“玩家那只带有这些具体个体值、努力值、性格和招式的 25 级 Flameleon”)。

向导依照与本指南相同的六个步骤、相同的顺序进行 —— 基本信息、基础 能力值、特性与招式、进化、美术,以及在任何内容写入磁盘之前的最终审查。 直到最后一步才会创建任何内容,所以你可以放弃一个误开的物种,而不会 留下孤立的资产。
创建 MonsterEntry
使用向导(推荐)
创建怪物最快的方式是向导:打开 OpenMon Hub(Tools > MCE > OpenMon Hub)→ Art Studio 选项卡 → Monster Creator。
关于向导的分步演练,参见第一只怪物指南。
手动创建
- 在 Project 窗口中右键点击:
Create > MCE > Monster Database > Monster。 - 用你的物种名称命名该资产(例如
Flameleon) 。 - 选中它,并在 Inspector 中配置所有字段。
MonsterEntry 结构
MonsterEntry 是物种级别的容器。实际的能力值、属性和视觉数据位于按形态划分的条目中。
物种级字段(MonsterEntry)
| 字段 | 类型 | 说明 |
|---|---|---|
DexNumber | uint | 唯一的全国图鉴编号 |
AvailableForms | List<Form> | 该物种可以拥有的所有形态 |
DataByForm | List<DataByFormEntry> | 私有的按形态配置数据(索引 0 = 基础形态) |
按形态字段(DataByFormEntry)
私有 DataByForm 列表中的每个形态都保存下列内容的自己的完整副本;形态之间没有继承。该列表与 AvailableForms 保持同步,你可以用 monsterEntry[form] 读取一个条目。
基本信息
| 字段 | 类型 | 说明 |
|---|---|---|
CatchRate | byte | 基础捕获率(0-255)。越低越难捕捉 |
BaseExperience | uint | 被击败时给予的经验值 |
GrowthRate | GrowthRate | 经验曲线:Fast、MediumFast、MediumSlow、Slow、Erratic、Fluctuating |
属性
| 字段 | 类型 | 说明 |
|---|---|---|
FirstType | MonsterType | 主属性(必填) |
SecondType | MonsterType | 副属性(单属性则设为 None) |
基础能力值
存储为以 Stat 枚举为键的字典。通过 Inspector 配置。
| 字段 | 类型 | 说明 |
|---|---|---|
BaseStats | SerializableDictionary<Stat, byte> | 能力 → 数值 字典 |
努力值产出
击败该物种时,胜利者获得哪些努力值?
| 字段 | 类型 | 说明 |
|---|---|---|
EVYield | List<StatByteValuePair> | 每项能力的努力值奖励 |
特性
| 字段 | 类型 | 说明 |
|---|---|---|
Abilities | List<Ability> | 普通特性(向导最多填写两个) |
HiddenAbilities | List<Ability> | 隐藏特性 |
性别与繁殖
| 字段 | 类型 | 说明 |
|---|---|---|
HasBinaryGender | bool | 是否存在雄雌之分 |
FemaleRatio | float | 为雌性的几率(0-1) |
EggGroups | List<EggGroup> | 繁殖兼容组 |
EggCycles | byte | 孵化所需步数(乘以一个基础步数) |
DataByFormEntry 结构
MCE 支持每个物种有多个形态(例如阿罗拉形态、Mega 形态、季节变体)。每个形态都可以覆盖基础物种的任意数据或全部数据。
MonsterEntry 上私有的 DataByForm 列表为每个形态保存一个条目:
[Serializable]
public class DataByFormEntry
{
public Form Form; // The form identifier
public MonsterType FirstType; // Type 1
public MonsterType SecondType; // Type 2
public SerializableDictionary<Stat, byte> BaseStats; // Dictionary keyed by Stat enum
public List<Ability> Abilities; // Regular abilities of this form
public List<Ability> HiddenAbilities; // Hidden abilities of this form
public Material Front; // Battle visuals (materials)
public Material Back;
// ... plus male/shiny material overrides, evolutions, breeding data
}
设置形态
- 创建一个
FormScriptableObject:Create > MCE > Monster Database > Form。 - 为它起一个描述性名称(例如
MegaFlameleon、AlolanDiglett)。 - 把它添加到你的
MonsterEntry的AvailableForms列表中。DataByForm中会出现一个对应的DataByFormEntry。 - 填写该条目。若想从现有形态而不是从零开始,请使用
MonsterEntry上的 Copy Data From Form To Form 按钮(当物种有多个形态时显示),然后只修改不同的部分。
AvailableForms 的第一个形态就是基础形态(GetFirstAvailableForm())。不要把闪光形态添加到列表中:闪光版本是通过 Form 的 ShinyVersion 字段从基础形态派生的。
形态与变体
MCE 支持几种常见的形态模式:
| 模式 | 实现 |
|---|---|
| Mega 进化 | 一个被标记为战斗形态的 Form(IsCombatForm,CombatFormType = Mega),带有自己的 DataByFormEntry(提升的能力值、特殊精灵)。基础形态的 MegaEvolutions 字典把所需的 Item 映射到 Mega Form;由战斗的 BattleManagerMegaModule 执行变化。 |
| 地区变体 | 带有自己的 DataByFormEntry(不同的属性、能力值、精灵)的 Form。遭遇条目通过其 Form Calculator 选择出现哪个形态(SingleFormEncounter 总是返回一个形态)。 |
| 性别差异 | 启用 HasBinaryGender 的一个形态条目、FemaleRatio,以及材质和图标的雄性变体(FrontMale、BackMale、IconMale 等)。 |
| 仅限战斗的形态 | 战斗形态(CombatFormType 为 Mega、Max 或 Other)。当引擎为赠礼或对战塔对手随机选择形态时,会把它们排除在外。 |
其他任何情况 —— 例如季节形态 —— 都只是一个普通的额外 Form;怪物何时采用它,由你自己的图或脚本决定。