· 

顔グラのピクチャ表示プラグインを使って立ち絵を実装するための考え方

ツクールいじらずにイベントスチルばかり描いている頃のJONYです。

 

ツクールMVには立ち絵表示に関するプラグインがいくつか公開されています。

しかしながら、私は今回プラグインを使わずに立ち絵を実装しました。

 

容量削減のためにこのプラグインを使いたかったからです。

トリアコンタン様の FacePicture 顔グラのピクチャ表示プラグイン

 

これはfaceフォルダの顔グラをpicture扱いで表示できるものです。

これにより、ベース立ち絵の上に顔グラを重ねる事で、

顔差分を表現する事が出来ます。

 

つまり、ベースとなる立ち絵1枚とface素材を用意すれば良いのです。

顔差分ごとに1枚1枚用意する必要がなくなります。

 

 

…実装方法を書こうとしましたが、乱雑に組んでいて説明できそうになかったので

断念しました。すまない。

考え方だけ示すので、自分で組んでみて下さい。その方が使いやすいと思います。

 

1.ベースの立ち絵を用意。

 この時、顔のサイズは顔グラのサイズを意識するとよいです(144*144)。

 

2.face画像を用意します。立ち絵から切り取ると良いです。

 この時、切り取った正方形の左上のx,y座標をメモしておきます。

 

3.ベース立ち絵を表示させるイベントを作ります。

 汎用化するため、コモンイベントで作るのを推奨します。

 

4.立ち絵を表示したピクチャ番号の1つ上に

 先ほどメモしたx,y座標分ずらして顔グラを表示させます。

 立ち絵表示イベントに続けて書くのがベター

 

これで最低限の実装は可能です。

より汎用性を高めるために、いくつかのヒントを示します。

 

・立ち絵と顔グラの画像名はキャラ毎に番号をつけておく

 変数番号で指定しやすい

 例:立ち絵「base_01」、顔グラ1「face_01_01」

 

・顔グラ表示相対xy座標は全キャラ分のリストを作ると良い

 配列を使った変数を使ってまとめると管理しやすい

 立ち絵顔相対x=[null,キャラ1x,キャラ2x,…]

    立ち絵顔相対y=[null,キャラ1y,キャラ2y,…]

 最初にnull(虚無)を入れているのは、配列の最初は0番目なので

 1番から番号管理する場合にずれるからです。

 

・立ち絵を表示する位置(左端、右中など)もリストを作ると良い

 5か所用意する場合、ピクチャ番号は10個使用する

 立ち絵原点x=[null,左中x,右中x,左端x,右端x,中央x]

    立ち絵原点y=上位置

 

・立ち絵表示のトリガーとする変数を用意します。

 表示位置,キャラ,顔ID

 この変数は実際組むイベントで指定します。プラグインコマンドの代わりです。

 例えば、イベントで

 変数:立ち絵表示位置=左端

 変数:立ち絵表示キャラ=1

 変数:立ち絵表示顔ID=3

 コモンイベント:立ち絵表示実行

 

 と組むことで左端にキャラ1の顔ID3の立ち絵が表示されるように

 コモンイベントを組めばいいんじゃないでしょうか。

 

・イベントコマンドでピクチャの移動を使うと

 絶対座標でしか指定できないので、

 スクリプトを使うと、変数も使えてやりやすいです。

 $gameScreen.movePicture(番号,原点,x座標,y座標,幅の拡大率,高さの拡大率,不透明度,合成方法,移動時間)

 

・拡張で入れたい処理

 ・立ち絵表示/消滅時にフェードする

  透明度変更で実装

 ・注目しているキャラ以外を暗くする

  色調変更で対応

 ・顔差分だけ変更する場合、ベース立ち絵を変えない

 ・注目キャラを変更するだけのコモンイベント

 ・立ち絵を全て消去するコモンイベント

など

 

その他、工夫次第で立ち絵の動きを入れたりできると思います。

参考にしてみて下さい。

 

…ここまで面倒な事やるなら、立ち絵プラグイン入れた方が

早いんじゃないんですかねぇ