メインコンテンツまでスキップ

モンスターの作成

このガイドでは、MCE でモンスター種族を作成・設定するために必要なすべてを解説します。MonsterEntry ScriptableObject の詳細、フォーム、バリアント、高度な設定について説明します。

MonsterEntry の概要

MCE のすべてのモンスター種族は MonsterEntry ScriptableObject によって定義されます。これは種族の正式なデータ定義であり、種族値、タイプ、特性、習得技、進化パス、ビジュアルアセットを含みます。

MonsterEntry種族(例:「Flameleon」)を表し、MonsterInstance は特定の 個体(例:「プレイヤーのレベル25のFlameleon、特定の個体値、努力値、性格、技を持つ」)を表します。

MonsterEntry の作成

ウィザードの使用(推奨)

モンスターを作成する最も手早い方法はウィザードです:MCE > Tools > Monster Creator

ウィザードのステップバイステップの説明は、最初のモンスターガイドをご覧ください。

手動作成

  1. Project ウィンドウで右クリック:Create > OpenMon > Monster Entry
  2. アセットに種族名を付けます(例:Flameleon)。
  3. 選択して Inspector ですべてのフィールドを設定します。

MonsterEntry フィールドの解説

アイデンティティ

フィールド説明
MonsterNamestring種族の表示名
DexNumberuintユニークな全国図鑑番号
Categorystring種族カテゴリ(例:「Fire Lizard」)
DexDescriptionstringモンスター図鑑のフレーバーテキスト
CatchRateint基本捕獲率(0-255)。低いほど捕獲が難しい
BaseExpYieldint倒された際に与える経験値
GrowthRateGrowthRate経験値カーブ:Fast、MediumFast、MediumSlow、Slow、Erratic、Fluctuating

タイプ

フィールド説明
Type1MonsterTypeメインタイプ(必須)
Type2MonsterTypeサブタイプ(単タイプの場合は None に設定)

種族値

6つの種族値が種族の基本能力を決定します。個々のモンスターはランタイムでこれらに個体値(IV、0-31)と努力値(EV、0-252)を加算します。

フィールド説明
BaseHPint基本HP
BaseAttackint基本物理攻撃
BaseDefenseint基本物理防御
BaseSpAttackint基本特殊攻撃
BaseSpDefenseint基本特殊防御
BaseSpeedint基本すばやさ(ターン順を決定)

努力値報酬

この種族を倒したとき、勝者はどの努力値を得るか?

フィールド説明
EVYieldHPint付与されるHP努力値(通常0-3)
EVYieldAttackint付与されるこうげき努力値
......各ステータスに1つのフィールド

特性

フィールド説明
Ability1Ability第1特性
Ability2Ability第2特性(None の場合あり)
HiddenAbilityAbility隠れ特性(None の場合あり)

性別と繁殖

フィールド説明
GenderRatiofloatオスである確率(0 = 常にメス、1 = 常にオス、-1 = 性別なし)
EggGroupsEggGroup[]繁殖互換性グループ
EggCyclesint孵化に必要な歩数(基本歩数に乗算)

DataByFormEntry 構造体

MCE は種族ごとに複数のフォームに対応しています(例:アローラフォーム、メガフォーム、季節バリアント)。各フォームは基本種族データの一部またはすべてを上書きできます。

MonsterEntryDataByFormEntry 配列がフォーム固有のオーバーライドを定義します:

[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;
}

フォームのセットアップ

  1. Form ScriptableObject を作成:Create > OpenMon > Form
  2. わかりやすい名前を付けます(例:MegaFlameleonAlolanDiglett)。
  3. MonsterEntryDataByFormEntry を追加し、フォームを割り当てます。
  4. 変更があるフィールドのみオーバーライドします -- 他はデフォルトのままにして基本種族から継承します。
ベースフォーム

DataByFormEntry 配列のインデックス0がベースフォームです。特に指定がない限り、すべてのモンスターはこのフォームで始まります。追加エントリは代替フォームです。

フォームとバリアント

MCE はいくつかの一般的なフォームパターンに対応しています:

パターン実装方法
メガシンカ強化されたステータスと特別なスプライトを持つ DataByFormEntry。バトル中に MegaModule を通じてトリガーされます。
リージョンバリアント異なるタイプ、ステータス、スプライトを持つ DataByFormEntry。エンカウントで地域ごとにどのフォームが出現するか指定します。
季節フォーム複数の DataByFormEntry エントリ。アクティブなフォームはゲーム内カレンダーによって決定されます。
性別差ベースフォームに2つのエントリ。MonsterInstance の性別に基づいて自動的に選択されます。
バトル限定フォームバトル中のみ存在するフォーム(例:キョダイマックス)。バトル終了後にフォームが元に戻ります。

進化チェーン

MonsterEntry には EvolutionData エントリの Evolutions 配列があります:

[Serializable]
public class EvolutionData
{
public MonsterEntry TargetSpecies; // 進化先
public Form TargetForm; // 特定のフォーム(任意)
// 進化タイプは具象クラスによって決定
}

進化タイプはポリモーフィックな ScriptableObject として実装されます。適切な進化タイプ(例:EvolveByLevel)を割り当て、そのパラメータ(例:必要レベル = 16)を設定します。

対応している30以上のタイプについては、進化ガイドをご覧ください。

スプライトとマテリアル

各モンスターにはビジュアルアセットが必要です。MCE は標準の Unity Sprite 参照を使用します:

アセット用途備考
正面スプライトバトル(相手側ビュー)ピクセルアート、ポイントフィルタ
背面スプライトバトル(プレイヤー側ビュー)ピクセルアート、ポイントフィルタ
アイコンスプライトメニュー、PC、パーティ小さいアイコン、通常32x32
フィールドスプライトフォロワーシステム4方向スプライトシート
色違いバリアント上記すべて色替えバージョン

ピクセルアートのインポート設定

すべてのモンスタースプライトには以下のインポート設定を使用してください:

  1. Texture Type: Sprite (2D and UI)
  2. Sprite Mode: Single(スプライトシートの場合は Multiple)
  3. Pixels Per Unit: ゲームのタイルサイズに合わせる(通常16または32)
  4. Filter Mode: Point (no filter)
  5. Compression: None
  6. Max Size: 実際の解像度を維持
フィルターモードについて

Point 以外のフィルターモードを使用すると、ピクセルアートがぼやけて表示されます。これはモンスタースプライトの設定時に最も一般的なビジュアルの問題です。

モンスターのテスト

MonsterEntry を作成した後:

  1. データベースブラウザ -- MCE > Tools > Database Browser を開き、名前または図鑑番号でモンスターを検索します。
  2. アセットバリデーション -- MCE > Tools > Asset Validation を実行して不足している参照を確認します。
  3. ゲーム内図鑑 -- ゲームを開始してモンスター図鑑でエントリを確認します。
  4. 野生エンカウント -- モンスターを WildEncountersSet に追加してフィールドでエンカウントします。

バッチ作成

多くのモンスターを一度に作成するには、いくつかの選択肢があります:

  • Essentials Importer(Basic ティア以上)-- RPGツクール Essentials の PBS データから種族を直接インポート。
  • Art Studio(Basic ティア以上)-- バッチモードで複数の種族のスプライトを生成。
  • スクリプト作成(Source ティア)-- MonsterEntry ScriptableObject をプログラムで作成するエディタスクリプトを記述。

ベストプラクティス

  1. 個々のモンスターにはウィザードを使用してください。入力を検証し、よくあるミスをキャッチします。
  2. 図鑑番号はユニークに保ってください。重複があると検索に失敗します。
  3. 合理的なステータス範囲を設定してください最初のモンスターの BST ガイドラインを使用してください。
  4. 必ずスプライトを割り当ててください。スプライトが欠けていると、バトルやメニューでピンク/マゼンタで表示されます。
  5. 進化チェーンをエンドツーエンドでテストしてください。チェーン内のすべての種族がデータベースに存在することを確認してください。
  6. フォームは控えめに使用してください。各フォームはスプライトアセットのメモリオーバーヘッドを追加します。