キャラクターを識別する3つのID(CID/BID/FID)
概要
sketchでは表示するキャラ画像を識別するために、キャラクターID(CID/charaID)ボディID(BID/bodyID)フェースID(FID/faceID)の3つのIDが使われます。
例えば立ちキャラを登場させるコマンドでは、どのキャラを登場させるのかを意味するCIDと、そのキャラのポーズを表示するのかを意味するBIDと、そのポーズの中でどの表情を使うのかを意味するFIDの3種類を指定する必要があるわけです。 それ以外の場所でも常に、キャラはCIDで、ポーズはBIDで、表情はFIDで指定されます。
キャラクターID (CID/charaID)
キャラクターIDは、真の名前を持つ全てのキャラクターに付けられた一意のIDで、キャラを識別するために使われます。
歴史的事情から、0〜2はシステム予約されていて、ユーザー指定してはいけません。 ただしこのIDは、sketchのdefCharaノードでキャラを作成する際、新規の名前が登録されるたびに3番から順に自動的に割り振られていきますので、sketchで作成する限りそのことを強く意識する必要はありません。
なお、直接、ide/config/def.characters.txt を編集(*1)することで、利用するIDを変更することもできます。
キャラクターIDの0〜2番は、古いゲームとの互換性のために、システムによって予約されています。
それぞれの真の名前と意味は、次の通りです。
0.主人公 古いゲームの主人公を表します。 音声がないことが前提になっているため、音声も名前もある最近の主人公キャラは、他のキャラと同様ユーザー定義で3番に設定することが多いようです。
1.記述 いわゆる「ト書き」です。現在でも頻繁に利用されます。 retouchでは、ト書きもキャラクター扱いなのでこのようなキャラが存在しています。特徴は、名前描画ありのウィンドウに描画する場合でも名前が表示されません。
2.擬音 擬音を意味します。sketch/ExHIBIT以前は、効果音を登録することで擬音と同時に音をならすためのキャラでしたが、現在では使用されません。 上位互換性のために存在しています。
ボディID (BID/bodyID)
ボディIDは、あるキャラが持っているポーズを識別するIDです。
通常1ポーズ1IDだと考えて構いませんが、厳密には「マスクが異なる立ち画像は別のID」になります。
ボディIDは連番である必要はありませんが、システムはbodyIDの最大値+1個のワークを確保しますので、なるべく連番にしてください。
フェースID (FID/faceID)
フェースIDは1枚のボディの中に含まれる表情を識別するIDです。GUIの都合上、現在sketchで利用できるFIDは42枚(0-41)です。
42枚/bodyを越える表情替えをもったキャラは、複数のbodyIDに分けてグループ化することで取り扱うことが出来ます。 同じcharaIDでbodyIDの異なる立ちを続けて表示する場合クロスフェードが行われますが、グループ化されたbodyIDはクロスフェードせずに表示を更新します。 このため、faceIDだけを変更した場合と見た目は同じになります。 ただし、42枚を超えるような表情を利用するのは困難なので、それ以下に抑えるべきです。
参考