多層レイヤー表示を使用【TRP_SkitMZマニュアル】
表情パーツを分けた画像を用意し、ゲーム内で重ねて表示する「多層レイヤー方式」を使用することで、たくさんの表情バリエーションを格段に扱いやすくなります。
記事の内容
- 画像ファイルの形式
- 表情ピッカーの使い方
- コンフィグの設定
- 制御文字で表情パーツを切り替える
- あとから表情を追加する
- スプライトシートを利用する
画像ファイルの形式
ベース+表情レイヤーの2階層方式と同じく、ベース画像を「ポーズ名.png」のファイル名で用意します。
表情パーツ画像は「ポーズ名_種類番号_パーツID.png」のファイル名でそれぞれ用意します。
種類番号は目や口といった表情パーツの種類ごとに、1から順に指定します。
例えば、種類番号1:目パーツ、種類番号2:口パーツといった具合です。
パーツIDはそれぞれのパーツの画像ごとに0から順に用意します。
ただし、オプションパーツとして非表示にもできるパーツ種類の場合には、パーツIDは1から順に用意します。
【パーツ画像の命名例】
・目パーツ(種類番号1)
normal_1_0.png
normal_1_1.png
︙
・口パーツ(種類番号2)
normal_2_0.png
normal_2_1.png
︙
・オプションパーツ<冷や汗や漫符など>(種類番号3)
normal_3_1.png
normal_3_2.png
︙
コンフィグ設定
表情表示方法を多層レイヤー方式に切り替えるには、プラグイン設定を1箇所変更する必要があります。
TRP_SkitConfigMZのプラグイン設定の「必須項目」カテゴリ内の「表情階層レイヤー使用」の設定をON/trueに変更しましょう。
表情ピッカーの使い方
開発中のプロジェクトにTRP_SkitMZ_DevPicker.jsプラグインを導入することで、表情ピッカーを呼び出すことができます。
表情ピッカーでは表情パーツの組み合わせリストから、使用したい表情を選択して必要なデータを作成するツールです。
プラグイン素材フォルダ(materials/plugins)から導入するプロジェクトのjs/pluginsフォルダにTRP_SkitMZ_DevPicker.jsファイルをコピペし、プラグイン設定からプラグインを導入しましょう。
イベントコマンドのプラグインコマンドから「TRP_SkitDevPicker」プラグインの「ピッカー呼び出し」コマンドを選択します。
キャラ名(フォルダ名)とポーズ名を指定して、早速テストプレイでイベントを実行しましょう!(テストプレイ以外では呼び出せないので注意)
サムネイルの設定
初めて呼び出した状態では顔の位置がずれて表示されているはずです。
各マスには画像の左上が切り抜かれて表示されています。
まずはサムネールの表示範囲を設定しましょう
「D」キーを入力するとサムネール編集モードに入ります。
(モードが切り替わると右下のガイド表示が赤色に変わります。)
上下左右キーで表示範囲をずらせます。
最初は左上が表示されているので右・下を押して中心に寄せましょう。
(Shiftキーを押しながらで10px単位で移動可能)
また、command(Macではopt)を押しながら矢印キーを押すと、サムネールのサイズを広げる・縮めることができます。
サムネールの大きさに合わせて自動的に表示される列数・行数が変わるので、画面いっぱいにサムネールが埋まるサイズにすると良いでしょう。
また、「Q」「W」キーを押すことで立ち絵自体を拡大・縮小することもできます。
サムネールの調整が終わったらEnterキーを押して元の表情選択モードに戻りましょう。
この時、設定データが自動的にdataEx/TrpSkitDevSetting.jsonファイルに保存されるため、次回以降はサムネールが調整された状態で呼び出せます。
表情の選択
では、表情の選択を行っていきましょう!
選択方法は、使いたい表情サムネールをクリックするだけ!
もう一度クリックするとキャンセルできます。
ページ内の表情を選択し終わったら右キーを押すと次のページが表示されます。
右上にページ数と選択数が表示されますので、これを目安にしながら使いたい表情をひたすら選択していきましょう!
全てのパーツの組み合わせが表示されるので、パーツ数が増えるほど膨大な組み合わせとなります。あまりに組み合わせが多い場合は、使う頻度が少なそうな表情パーツは思い切って外してみるのが良いでしょう。
(※後ほど説明する制御文字を使った方法で、表情の一部のパーツだけを選んだものから変更して表示することも可能なので、使う表情全てを網羅しようとあまり悩まなくても大丈夫です!)
いざ表情を選びはじめると、なかなか表情を絞り込めないこともあるかと思います。
リロード機能があるので全く問題ありません!まずは直感で使えそうと思った表情を全て選択してどんどん次へ進みましょう!
最後のページまで表情選択が済んだら「R」キーを押すことで「選択された表情だけでリロード」することができます。
今度はページを進めながら、使わない表情をキャンセルして外していきましょう。
他の表情で代用できるものや使う頻度が少なそうな表情は思い切って外していきます。
選択された表情数が目標の数まで抑えられたら、ピック作業は終了です!
(デフォルトの設定だとA4用紙いっぱいのリスト画像サイズになる130個がおすすめです)
設定の保存
ピック作業が終わったら、「S」キーで開発用のデータを保存しましょう。
これで次回、またピッカーを呼び出したときに今回選択されたデータからピックを始められます。
リストの印刷
選択した表情にはそれぞれ1から順番にIDが割り当てられ、プラグインコマンドや制御文字でそのIDを指定することで表情を変更できます。
「I」キーを押すことで表情のサムネールとそのIDをリスト形式で画像として保存することができます。
プロジェクトフォルダの「_export」フォルダ内に画像ファイルが作成されているので確認してみましょう。(もし_exportフォルダが作られない場合は、プロジェクトファイルと同じフォルダに_exportフォルダを作ってからもう1度おためしください)
画像を印刷し、手元で表情とIDを確認しながら使うことで簡単に表情を選択できます!
ここまでで基本的な設定が終わりました。
制御文字で設定した表情が使えるか確認してみましょう!
立ち絵キャラクターを表示させた状態で、通常通り\SE[表情ID]
の制御文字で表情を変更すればOKです。
表情IDは先ほど印刷した表情リストを見ながら選ぶとパッと選べるでしょう!
制御文字で表情パーツを切り替える
イベント作成時に表情を選ぶ際に、「この表情の口パーツだけ変えたい!」といったことがあるでしょう。
制御文字である表情の特定のパーツだけを、他の表情で使われているパーツに変更することが可能です。
例えば、\SE[1-p2:e3]とすると、表情1をベースとして種類2の表情パーツのみを表情3で使われているパーツに置き換えて表示可能です。
(直接パーツIDを指定することも可能です。\SE[1-p2:3]とすると、表情1をベースとして種類2の表情パーツのIDを3に変更して表示。)
頻繁に使う表情であれば次に説明する方法で表情を追加するのも手ですが、そうでなければこの方法で微調整しつつ表情を指定するのが楽かと思います!
あとから表情を追加する
表情の組み合わせをあとから変更しようとすると、表情IDが変わってしまうためすでにプラグインコマンドや制御文字で設定した表情が変わってしまいます。
すでに登録した表情を削除することはできませんが、追加することは可能です。
表情ピックコマンドを「追加モード」をONにして実行します。
すると、選択されていない表情のみがピッカーに表示されます。
(開発用データTrpSkitDev.jsonに保存されている表情のみが対象です。手動でTRP_SkitConfigに表情データを打ち込んでいても反映されないので注意)
追加する表情を選択してから「S」キーを押すと、すでに設定したデータの後ろに新しく選択したデータが付け加えた状態でデータが保存されます。
以上で、表情の追加が完了です!
スプライトシートを利用する
表情の階層レイヤーを使う場合には表情画像のスプライトシート化をすることを強く推奨しています。
スプライトシート化を行うことで、ゲーム実行時に使うメモリサイズを大幅に節約することが可能です。
残念ながらTRP_SkitMZにはスプライトシートを作成する機能はついてませんが、無料の外部ツールなどを利用して簡単にスプライトシートを作成できます。
↓の記事でShoeBoxを使ったスプライトシート化の手順を解説しているので、ぜひ挑戦してみてください。