【伺か】Aviutlを使ってアニメーションファイルを作成しよう。

ukagaka

動きのあるShellに憧れた。

下記の追加シェルのアニメーションが綺麗で真似してみたくなった。

Ghost本体を公開しているところ
Project Roche Limit – 電子遊泳/プリステラ
追加シェルを公開しているところ
電子遊泳/プリステラ ~wired fish~」専用追加シェルCF-963
SERION的日常。

目的

  • 絵が描けない人間でもアニメーションファイルを作れるように。
  • 面倒な反復作業はしない。

現状作成されたもの。

猫ボトル様のシェルを拝借している。
ユーザーがほったらかしにしていても罪悪感を感じないような形にしたかったので本のアニメーションを追加した。
猫ボトル/catbottle-倉庫
move.gif

メリット

元の画像サイズに合わせた動画から作成できるので、伺かで座標等の面倒な設定をしなくてよい。
数百枚程度のアニメーションファイルを作る苦労がない。

デメリット

後述する透過処理のコードが甘いので、作成物の淵に背景色が残る。

はじめに

Aviutlの導入や動画の作成、pluginの導入については詳しい記事がたくさんあるのここでは書かない。
動画作成はshellに合わせる必要がある点など、一部のみ触れます。

必要なもの

作業

最終的に連番アニメーションファイルが作成できれば良いので、他の方法をお持ちの方は飛ばしてしまってもらって構いません。

使用するshellの画像サイズを確認する。

使用しているシェルの横幅と縦幅を確認します。
今回だと397×495をメモしておきます。
ukagaka_aviutl.png

aviutlで作成する動画サイズを指定する。

今回はより楽をするために同じサイズで作成しますが、
ほしいアニメーションが大きいものならば適時変更してください。

(画像の方はもう本を作成した後ですが)
設定->サイズの変更->指定サイズ
ukagaka_aviutl1.png

この状態で適当なシェル画像をよみこませるとぴったりとはまるはずです。
後はキャラクターに対して付けたい演出を適当に作成してください。
3秒程度の動画になるように作成することをお勧めします。
ukagaka_aviutl2.png

透過用の背景色を設定する。

作りたいアニメが出来たら、先ほどのシェル画像を非表示などにして消し、
レイヤー1(空いてなければレイヤーを右クリックから挿入)にメディアオブジェクトの追加->図形->背景を挿入します。
背景色はそのアニメーションで使っていない色でかつ、目立たない色をお勧めします。
(前述の淵が少し残ってしまうため。)
記事ではわかりやすい色を使用して続けます。

今回の背景色はR=237,G=80,B=148を使用します。
この数字はまた使うので控えておいてください。

連番PNGファイルで出力する。

ファイル->プラグイン出力->連番PNG出力
ビデオ圧縮オプションにある、右半分を不透明度として扱う。はチェックを外しておいてください。
ukagaka_aviutl3.png
ukagaka_aviutl4.png

aviutlでの作業はこれでおしまい。

背景色を透過してアニメーション用の設定を吐き出させる。

ツールをダウンロードして解凍する。

Release ukagakaCreateAnimationPng · ambergon/ukagakaCreateAnimationPng · GitHubからダウンロード/解凍して先ほど作成してできた画像ファイルをAlphaInフォルダに入れてください。

また、もともと入っているサンプル画像は消してしまってください。

設定を良い感じに書き換える。

config.txtを書き換えます。

shell/bookに保存したいのでOutをbook変更。
背景色を透過したいので色の指定をそれぞれ変更します。

[core] 
    Out     = book 

    red     = 237 
    green   = 80 
    blue    = 148 

    surface_start_num = 9000 
    element_num = 10 
    animation_num = 0 
    animation_speed = 1 

ukagakaCreateAnimationPng.exeを実行する。

今回は出力フォルダ名をbookに変更したのでexeファイルのあるフォルダにbookフォルダが作成されます。
フォルダごとghost/shell/masterフォルダに移してください。

アニメーションに必要なテキストはsurfaceXXXXX.txtに出力されます。
今回の連番pngは151枚でしたのでこのようになります。
ukagaka_aviutl5.png
ukagaka_aviutl6.png

出力されたPNGファイル

前述した淵の処理の甘さはこのようになります。
プログラムの更新は今のところ未定。
ukagaka_aviutl7.png

Ghostに組み込む

surfaceXXXXX.txtをわかりやすいように名前を変更します。
surface.append0になっているので0番surfaceでアニメーションされるようになります。
surface0が定義されていることを確認してください。

ghost/shell/master 
  ├─surfaces.txt 
  ├─surfacesbook.txt 
  └─book 
      ├─book_00000.png 
      ├─book_0.....png 
      └─book_00150.png 

最後に。

Ghost作者がもっと増えることを願っています。
しかし、現状の伺かはどうにもドキュメントが読みづらく、散逸していて、どうにも学習しづらい。
記法、固有名詞、リンク切れは新規参入しようとした際、大きな障害でした。

僕は人の作品、動画やSSやラジオなんかが結構好きでよく見たり読んだりするのですが、
Ghost作りは上記に比べてコストが大きすぎるように見えます。

今回のツールで少しでも敷居が下がれば僕は嬉しい。
…アニメーションは基本的な範疇ではない気がするけれど。