TATIKUNLOG.

主にゲーム作りについて書き留めるブログ。

スプライトシートを作成するプラグイン『kritaSpritesheetExporter』【Krita】


PR

f:id:tat1kun:20210826003449p:plain
左上から右下へ計8コマのアニメーション

画像のような、アニメーション連番画像を一枚にまとめたものをスプライトシートと言います。

私はUnityのパーティクルのアニメをスプライトシートで作成するために使用したくて、Kritaで作成できるか調べてました。

環境

Krita 5.0 beta

プラグインの場所

github.com

導入方法

インストール方法はGitHub上のreadmeに記載されていますが、今回は違う方法でインストールします。

f:id:tat1kun:20210825233121j:plain

Kritaの上部のメニューから、ツール>スクリプト>Import Python Plugin from web...をクリックします。

すると、プラグインをダウンロードするURLを入力するウィンドウが表示されます。

f:id:tat1kun:20210825233132j:plain

先ほどのGitHubリポジトリのURLを入力したらOKをクリックします。

f:id:tat1kun:20210825233143j:plain

無事にインポートできると、プラグインを有効にするかの選択が表示されます。 ここで「はい」を選択したのち、Kritaを再起動すると、プラグインが有効になるはずです。

f:id:tat1kun:20210825233220j:plain
スプライトシート書き出し用メニューが追加されます

スプライトシートを書き出す

use Custom export Settingsにチェックを入れると、詳細な設定項目が表示されます。

f:id:tat1kun:20210825233332j:plain

書き出す方法には、アニメーションを使う方法と、レイヤーを使う方法があります。 use layers as animation framesにチェックを入れると、レイヤー1枚をアニメーション1フレーム分として扱ってスプライトシートを書き出すことができます。

Kritaのアニメーション自体の使い方はここでは省略しますが、 アニメーションを使った方がKrita上でアニメのプレビューができたりと便利です。

一応レイヤーを使う場合は、各フレームの1コマ1コマを個別のレイヤーに描いてアニメとして書き出します。複雑なレイヤー構成でアニメーションを作る予定がないなら、こちらでも良いとは思います。

sprites placement directionは1フレーム1フレームを並べていく方向の順番を決めることができます。

Leave any parameter at 0 to ...と書かれている四角の中の項目は、慎重に設定する必要があります。 自分の環境では、作成したいスプライトシートのコマ数と設定が食い違っているとKritaが強制終了することが多いです。

Rows(行)Columns(列)はその名の通りスプライトシートの行数と列数を指定します。行数×列数が作成したいアニメのフレーム数と一致するようにしましょう。

Start、End、Stepはそれぞれアニメの開始フレームと終了フレーム、ステップ数です。 ここの設定は余り細かく触らないですが、StartとEndはフレーム数に合わせた設定にしましょう。大体強制終了します。

Remove individual sprites?という項目についてですが、実はこのプラグインは実行時にスプライトシートとして統合する前の各フレームの画像を書き出しています。 ここにチェックが入っている場合、統合前の各フレームの画像は削除されます。 逆にチェックが入っていない場合は各フレームの画像も個別に書き出されます。

f:id:tat1kun:20210826002328j:plain
書き出された連番画像

設定終了後、OKを押すと書き出しがスプライトシートが書き出されます。

おわりに

f:id:tat1kun:20210826003315g:plain
Unity上でアニメを再生した例

VFXの作成に関してはド素人なので、あまり上手なアニメは作れませんが動きを作る楽しさは感じることができました。 同時にアニメーション作成の面倒さも学びましたが……。

参考

tazalog.com