【アプリ開発について】アプリ開発の裏話 – その7

今回は、現在作成中のアプリ開発で必要になったチョットした作業についてお話したいと思います。

それは何かと言うと、「走っている馬のコマ送りのPNGファイルを作成する」と言う作業です。

  1. 元となる馬の絵からAIにお願い
  2. Adobe Fireflyで動画を生成
  3. 動画をフレームに分割
  4. Adobe Photoshopで背景削除
  5. 結局、何がしたかったのか?

元となる馬の絵からAIにお願い

元になる馬の絵が1枚あります。これから走っている状態のコマ送りにした絵を数枚作成したいのです。パラパラ漫画の様に連続して再生すると、馬が走っている様に見える絵が欲しかったのです。簡単に言うとGIFの元となる様な走っている馬の絵(PNG)が欲しかったのです。

馬の絵

Geminiにお願いして色々作ってもらいましたが、ダメダメでした。なんだかそれっぽいですが、よく見ると足が5本あったり、連続した動きの様に見えるけど実際にはそんなことはありません。どの順番かも良く分からなかったので番号を振ってもらいましたがメチャクチャです。それでもChatGPTよりはマシでした。しかし、これでは使えません。

Geminiで作成

Adobe Fireflyで動画を生成

そこでAdobe Fireflyを使って元の絵から動画を生成してもらいました。Fireflyが勝手に盛っている部分もありますが、それでも良いものを出力してくれました。1枚の絵からここまで生成するのは凄いですね。

走っている馬の動画

しかし、動画(MP4)ファイルのままでは、まだ利用出来ません。ここからPNGを作成する必要があります。

動画をフレームに分割

開発環境は、macOSを使っています。なので、mp4を再生するとデフォルトでQuickTimePlayerが開きます。QuickTimePlayerは、動画をトリミング(動画の前後をカット)する機能があります。そこで、必要そうな1カットだけをトリミングして保存します。
この状態でも短め(約1秒)の動画(mp4)ファイルです。ここからPNGに切り出す必要があります。

そこで、ChatGPTにお願いしてffmpegのコマンドを教えてもらいます。ffmpegは「動画や音声を自由自在に変換・加工できる、世界で最も有名なコマンド操作の無料ソフト」です。もの凄く万能なのですが、コマンドラインから操作する必要があり、尚且つそのコマンドを作るのがとても難しいのです。こんな時は、ChatGPTに聞いちゃいます。コマンドは、こんな感じでした。

ffmpeg -i input.mp4 -vf “fps=15” “$HOME/Desktop/frames/frame_%06d.png”

そんなに複雑ではありませんが、たまに利用するだけなのでパラメーターは覚えていられません。

分割して出力したPNGはこんな感じです。

フレーム1
フレーム2
フレーム3
フレーム4
フレーム5
フレーム6
フレーム7
フレーム8

もう一息です。背景の黒を削除して透明にする必要があります。

Adobe Photoshopで背景削除

最近のAdobe Photoshopはとても便利になりました。背景を削除するには、「背景を削除」と言うメニューを実行するだけでおしまいです。昔なら、同じ色の部分を選択しながら削除を繰り返す操作が必要でしたが、今では一発で完了してしまいます。8枚分、「背景を削除」を繰り返して終了です。やっと出来ました。

フレーム1
フレーム2
フレーム3
フレーム4
フレーム5
フレーム6
フレーム7
フレーム8

結局、何がしたかったのか?

現在作成中のアプリ(Ornamenter)は、アニメーション作成アプリです。アニメーションといっても、素材(PNG)やシェイプを動かしたりしてアニメーションを作成するので、絵をゼロから描くアプリではありません。そのアプリでは、PNGファイルを複数読み込んで、パラパラ漫画の様に表示を切り替える機能があります。その為の素材を作りたかったのです。アプリでは、作成したアニメーションと画像を合成する事が出来ます。最終的に作成した合成動画は、こんな感じです。

出力結果

今回は以上です。何でもAIが生成してくれる時代になってきましたが、今はまだ適材適所でAIを使い分ける必要がある様ですね。後、もう少ししたら新しいアプリを公開出来ると思います。

詳しくはサイトで

close-alt close collapse comment ellipsis expand gallery heart lock menu next pinned previous reply search share star