キャラクター設定ガイド
kaedevn では、キャラクターを「名前 + 複数の表情差分」のセットとして管理します。一度キャラクターを定義すれば、シナリオ中で表情を切り替えるだけで多彩な演出が可能です。
キャラクターの構成要素
キャラクター "桜" (id: sakura)
├── デフォルト表情: smile
├── 表情: smile(笑顔) → 画像アセット A
├── 表情: thinking(考え中)→ 画像アセット B
├── 表情: angry(怒り) → 画像アセット C
└── 表情: sad(悲しみ) → 画像アセット D
- id
string— キャラクター ID / slug(例:hero,sakura) - name
string— 表示名(例: 「桜」)— テキストウィンドウの話者名に使われる - defaultExpression
string— 表情を省略したとき自動で使われる表情 ID - expressions
Expression[]— 表情差分のリスト - createdAt
number— 作成日時 - updatedAt
number— 更新日時
Expression(表情差分)
- id
string— 表情 ID / slug(例:smile,angry) - name
string— 表示名(例: 笑顔、怒り) - imageAssetId
string— 画像アセットへの参照
キャラクターの作成手順
1. キャラクター画像をアップロード
エディタの「アセット」タブから、表情ごとの立ち絵画像をアップロードします。カテゴリは「キャラクター(CH)」を選択してください。透過 PNG または WebP を推奨します。
2. キャラクタークラスを作成
「キャラクター」パネルから「新規キャラクター」をクリックし、以下を入力します。
- キャラクターID: 英数字の slug(例:
sakura)— スクリプトで参照する識別子 - 表示名: 日本語 OK(例: 桜)— テキストウィンドウに表示される名前
- デフォルト表情: 最初に設定する表情を選択
3. 表情を追加
作成したキャラクターに表情差分を追加します。
- 表情ID: 英数字の slug(例:
smile,angry) - 表情名: 表示用の名前(例: 笑顔、怒り)
- 画像アセット: アップロード済みの立ち絵画像を選択
表情は何個でも追加できます。喜怒哀楽の基本4表情に加え、驚き、照れ、考え中など、キャラクターの個性に合わせて自由に設定してください。
シナリオでの使い方
ブロック編集
CH ブロックの編集画面で、キャラクターと表情をドロップダウンから選択します。位置(L: 左 / C: 中央 / R: 右)も同時に指定できます。
スクリプト記述
KS 形式:
@ch name="sakura" pose="smile" pos="C"
@ch name="sakura" pose="angry" pos="C"
KSC 形式:
ch("sakura", "smile", "C")
ch("sakura", "angry", "C")
テキストブロックでの話者指定
Text ブロックの characterId にキャラクター ID を設定すると、テキストウィンドウに話者名が自動表示されます。
KSC 形式ではダイアログブロックで話者を指定します:
#sakura
「おはよう!今日もいい天気だね」
#
表情の切り替え
同じキャラクターの CH ブロックを追加して別の表情を指定すると、画面上の立ち絵がフェードで切り替わります。位置はそのまま維持されます。
ch("sakura", "smile", "C") // 笑顔で登場
#sakura
「おはよう!」
#
ch("sakura", "angry", "C") // 怒り顔に切替(位置はそのまま)
#sakura
「もう!遅刻だよ!」
#
キャラクターの非表示
画面からキャラクターを退場させるには CH Hide ブロックまたはコマンドを使います。
@ch_hide name="sakura" fade=500
ch_hide("sakura", 500)
全キャラクターを一括で消去する場合:
@ch_clear
ch_clear()
画面上の配置
キャラクターは3つのスロット(L / C / R)に配置されます。
┌─────────────────────────────────────┐
│ │
│ [L: 左] [C: 中央] [R: 右] │
│ │
│ sakura hero villain │
│ angry smile smirk │
│ │
└─────────────────────────────────────┘
同じスロットに別のキャラクターを配置すると、前のキャラクターと自動で入れ替わります。
公式キャラクター
新規プロジェクト作成時に自動インポートされるファンタジーキャラクターには、あらかじめ複数の表情が用意されています。まずはこれを使って表情切り替えの感覚を掴んでみてください。
マルチプラットフォーム対応
キャラクターの定義とアセットはプラットフォーム共通です。Web で設定したキャラクター・表情は、Android / PC / Switch でもそのまま動作します。CH ブロックのスクリプト記述に characterId と expressionId の slug を使用しているため、プラットフォーム間でアセット ID の違いを意識する必要はありません。
関連ドキュメント
- アセット管理ガイド — 立ち絵画像のアップロードと管理
- ブロック型リファレンス — CH ブロック等の全プロパティ一覧
- KS スクリプト仕様書 — タグベースでのキャラクター操作
- KSC スクリプト仕様書 — 関数ベースでのキャラクター操作