概要 |
|
1.定義位置 |
|
sketchにおけるキャラクターは、必ず defChara.rsd
で定義されなければなりません。
それ以外のノードで定義することは可能ですが、sketchの管理からはずれるため、キャラクターの選択が行えなくなったり、リソースの検出から漏れたりする可能性があります。ご注意下さい。具体的なキャラの定義については、チュートリアルの「キャラクターを作成する」をご覧ください。
|
|
|
|
2.表示するキャラ画像を識別する3つのID |
|
sketchでは、表示するキャラ画像を識別するために、キャラクターID(cid/charaID)、ボディID(bid/bodyID)、フェースID(fid/faceID)の3つのIDが使われます。
キャラクターIDは、台詞のあるあらゆる登場キャラにつけられた一意のIDで、retouchではこのIDでキャラを識別します。
通常このIDは、sketchのdefCharaノードでキャラを作成する際、新規の名前が登録されるたびに3番から順に自動的に割り振られていきますので、sketchで作成する限り、立ちキャラ画像の作成時以外は、ほとんど意識する必要がありません。
なお、直接、ide/config/def.characters.txt を編集(*1)することで、利用するIDを変更することができますが、よくわからないうちはさけた方がよいでしょう。 |
|
|
|
キャラクターIDの0〜2番は、古いゲームとの互換性のために、システムによって予約されています。それぞれの真の名前と意味は、次の通りです。
|
|
0.主人公 |
|
古いゲームの主人公を表します。
音声がないことが前提になっているため、音声も名前もある最近の主人公キャラは、他のキャラと同様ユーザー定義で3番に設定することが多いようです。 |
1.記述 |
|
いわゆる、ト書きです。現在でも頻繁に利用されます。
retouchでは、ト書きもキャラクター扱いなのでこのようなキャラが存在しています。特徴は、名前描画ありのウィンドウに描画する際も、名前が描画されません。
|
2.擬音 |
|
擬音を意味します。retouch時代は、効果音を登録することで擬音と同時に音をならすためのキャラでしたが、現在では使用されません。上位互換性のために存在しています。 |
|
|
|
|
ボディIDは、立ち画像の1枚を表すIDです。通常1ポーズ1IDだと考えて構いませんが、厳密には「マスクが異なる立ちは別のID」になります。ボディIDは連番である必要はありませんが、システムはbodyIDの最大値+1個のワークを確保しますので、なるべくなら連番にしてください。
フェースIDは、1枚のボディの中に含まれる表情を識別するIDで、sketchで使用する場合は、0〜41となります。bodyIDが同じなので、マスクが変わってはいけません。
|
|
|
|
faceIDは、sketchのUI上の制限から、1bodyIDあたり20
42枚を越えてはいけません。
sketchでは、20 42枚を越える表情替えをもったキャラは、複数のbodyIDに分けてグループ化します。通常同じcharaIDでbodyIDの異なる立ちを連続で表示する場合、クロスフェードが有効になっていますが、グループ化されたbodyIDは、クロスフェードせずに表示を更新します。このため、faceIDだけを変更した場合と見た目は同じになります。
(ver.1.24 rev.2 で、20枚から42枚に拡張されました) |
|
|
|
|
|
3.キャラ定義に必要な値 |
|
sketch/ExHIBITのキャラクター定義/立ちキャラ画像定義で必ず必要な情報は、「標準表記名」「body数」「縮小率」「配置Y座標」の4つです。これら以外の情報は省略可能です。
「標準表記名」とは、とくに表記文字列を指定しなかった場合、名前表示領域に表示される文字列です。
真の名前とも呼ばれ、キャラクターの識別に使用されるため、キャラ全体で一意に識別できる名称でなければなりません。簡単に言うと、複数のキャラに同じ「標準表記名」をつけることは出来ません。
「body数」とは、そのキャラが持っている立ち画像の最大bodyID+1の値になります。
この個数分だけ体を定義するワークが確保されますので、むやみに大きな値にしてはいけません。キャラ立ち設定で、これ以上の値を指定した場合、その指定は無視されます。
「縮小率」とは、オリジナルの立ちキャラ画像の何%のサイズにするのかを表す値です。
通常は縮小されることから、縮小率と呼ばれますが、100%以上の値も設定可能です。縮小率は、ボディ毎に存在します。
「配置Y座標」とは、オリジナルの画像に縮小率で指定されたサイズを適用した後の画像の上の端を、ゲーム画面のどの位置に配置するのかを決める値で、
ゲーム画面の上端を0とし、上にはみ出す場合はマイナスの、上端より下に配置される場合はプラスの値になります。システムはこの値を用いてキャラの画像を自動的にトリミングします。
|
|
|
|
4.キャラの定義手順について |
|
sketchのキャラ定義は、2段階で行います。
最初は、キャラの名称やbody数を定義する「キャラ作成」です。(キャラ作成のチュートリアルはこちら)
作成されたキャラは、def.character.txtに登録され、メッセージの出力を始めとする各種コマンドで利用できるようになりますが、立ち画像が定義されていないため、登場させることはできません。立ち画像のない脇キャラはこの定義のみとなります。
次に、立ち画像があるキャラは、ボディを定義する「キャラ立ち設定」を行います。
ただし、この設定パラメータは、顔の表示位置から始まって目パチクチパクの表示位置やパターン数等、ものすごくたくさんの設定が必要になるため、手作業では行いません。キャラ作成ツールが出力する、poslog.txtを定義したい場所にドロップするとシステムが自動的に登録してくれるようになっています。ユーザーは、そのボディをどの表示ブロック(*2)に属させるのかと、標準の表示位置からどの程度ずらすのか(*3)を(必要なら)指定するだけです。
|
|
|
(*1) |
|
def.character.txt は、3つの値がTABで区切られたデータが1行になったテキストファイルで、1行は
characterID[TAB]objectName[TAB]標準表記名
の形をしています。例えば、3番のキャラが真一なら、「3 shinichi 真一」となります(全角のスペースはTABだと考えて下さい)これがキャラクターの数だけ並んでいます。
キャラが先に決まっている場合は、このファイルを先にエディタで定義しておくこともあります。
このファイルは、最初にキャラリストが呼び出される時点で読み込まれ、キャラ定義時に書き換えられます。テキストエディタで開く場合は、排他制御にご注意下さい。
|
|
(*2) |
|
表示ブロックとは、画面の奥行きを定義するために使用するブロックで、標準では0〜2の3ブロックが使用できます。
0が一番奥のブロックで、2が一番手前のブロックになります。1番ブロックに属している立ちは、0番ブロックに属している立ちよりも画面手前に表示されることが保証されています。
一般に、立ちを「大・中・小」の3種類作成したとき、それぞれが利用するブロックを「2・1・0」とすることで、前後関係を気にせず演出することが出来るようになっています。
|
|
(*3) |
|
retouchの立ちキャラは、(左上ではなく)その横幅の中央を、指定された位置に表示します。
ほとんどの画像はこれで問題ないのですが、髪がたなびいていたり、箒を肩に担いでいたりするような画像では、中央にキャラがいない場合が考えられます。そういう画像に対しては、現在表示される位置から、どの程度ずらすのかを定義することで、期待する位置に立たせることができます。
|
|
|