Skip to content

すべあな2枠に出てくる「文字が自由落下する」アニメをPymunkで作るやつ

License

Notifications You must be signed in to change notification settings

Tpaefawzen/sban-2waku-gravity-animation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

すべあな2枠の文字落下アニメをpymunkとpygameでやる。

Animation example

プロジェクト例

必要なPythonライブラリ

requirements.txtにまとめといた。

ファイル構成

scriptディレクトリ直下のPythonライブラリが、アニメーションを作る用のやつ

スクリプトにパラメータがあるので、好きに自分でいじってくれ。

script/libはファイル分けしたくて分けた

Assetsにある画像が元のやつ。

step1*.pyを実行したらExportディレクトリにクロップした画像群が生成される。

position.txtは切り出す座標とその幅や高さのリスト。の例。各ステップのスクリプトで共通。

step2*.pyを実行したらPymunkで物理演算しながらPygameでアニメーションを可視化する。

想定した使い方の例

  1. Peingで字幕を作成し、画像を保存
  2. そのうち重力アニメにしたい部分の全体をクロップする
  3. 背景を作っておく
  4. GIMP等で落下させたい文字の各文字を長方形で切り抜くとしたらどこなのかとか、どこを固定の物体にしときたいのかをメモってテキストファイルにしとく
  5. てか、事前に文字の画像は透過しとくといい
  6. step1から始まるスクリプトを実行してExportディレクトリ下に画像を生成する。
  7. step2のスクリプトでPygameで表示させながら実際に映像にする。パラメータを変えると各フレームの画像を出力。
  8. 各フレームはffmpeg -i path/to/frame_%05d.png DONE.webmのようにして動画に変換する。

実行例

最初に、Peingで字幕を作成し、重力のアニメーションの適用をしたい箇所を画像として保存する。

その画像を、背景部分と文字部分に分ける(例:Assets/{BG.png, char.png})。このとき後者は透過pngにすること。

char.pngについて、

  • 落下させたい文字の各文字
  • 足場としたい文字列

の箇所を長方形による領域(左上の座標、幅、高さ)のリストで表現する。ファイル例position.txtを参照せよ:

# dynamic characters
# syntax: x1 y1 w h
# if just x1 then y1, w, h are as in previous line

__DYNAMIC__

40 59 41 57
76
114 59 52 57
165 66 68 59

# -- snif --

__FIXED__

# --- snif ---

各文字と文字列を切り出す:

./script/step1-crop.py Assets/char.png position.txt

この結果、Exportディレクトリにてdynamic_*.pngfixed_*.pngが生成される。

次に、生成した画像群でアニメーションを作る。まず、step2-gravity.pyのソースコード上のパラメータを編集する。その上で、

./script/step2-gravity.py ./Export/ ./position.txt ./Assets/BG.png 

この際、もしもフレームを画像化するようにしているのであれば、VideoFramesディレクトリにて各フレームが画像として出てる。

課題

  • 文字の切り出しを手作業でやるだなんて。逆に、テキストから画像を作るのが先なのではないか。
    • そりゃ作風の都合にもよるからね。
  • 「い」「私」などの各画が離れた文字をポリゴンにするやつをどうにかした方がよい。各部分を独立的にポリゴンにした後に無理矢理ピン止めしてるもんだから、挙動がなんかおかしいように見える。
  • てか、単純なポリゴンに近似させた方がよい。

好きに改造してくれ。

ライセンス

ISCライセンス。画像も。

About

すべあな2枠に出てくる「文字が自由落下する」アニメをPymunkで作るやつ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages