dnjiro’s 9VAe blog

誰でもアニメが作れる無料ソフト9VAeきゅうべえ開発者のブログ

アニメーションのコンテストサイトへの掲載作業

PEAS Webアニメコンテスト神戸の作品掲載作業を行っている。

 

  • PEAS Webアニメコンテスト神戸は、14年続く歴史ある自作アニメのコンテストだ。
  • 作品応募者数が昨年は435名と多いのも特長。

作品応募数が多いのは、学校やパソコン教室、アニメ教室などから教室単位での作品応募を受け付けているためだ。1回の教室で作られる作品をフォルダ単位で受け付けているので、当然1つの応募の作品数は多くなる。ところが、

  • 学校や教室ごとにフォルダの管理方法が異なる。
  • 作品名、作者名、作品データなどを、フォルダから取り出す作業を、受付サイドで行わなければならない。
  • 作品名、作者名はどこかにテキストで含まれているわけだが、それらをひとつひとつコピペしては、大変な手間がかかる。
  • よくあるのは、Webサーバー受付にして、応募者に作品名、作者名などを順番に入力してもらう方法だが、学校の先生は忙しく、数10名のデータを入力する作業を行ってはくれない。定型フォーマットに書いてもらうのも難しい。今あるフォルダをそのまま送ってもよいとしているので、これだけの作品が集まっている。

そこで、受付側で、任意フォルダの中から、正確に掲載データを抽出する方法が必要になるわけだ。Unix文化だと、SEDとか、Perl が活躍したジャンルと思うけど、今、使っている方法やツールを紹介します。この方法でかなり楽にやってます。

作業の内容

  • 作品を連番のフォルダに入れる(000,001,002...)
  • 作品ファイル名はフォルダと同じ番号にする(000.gif, 001.swf, 002.eva...)
  • 作者名、作品名、フォルダ番号、画面サイズ、再生時間、コメント、学年、使用したソフト、使用した音楽などを記載したエクセル表を作成する
  • 連番フォルダの中に、掲載用のHTMLファイルをコピーする
  • HTMLファイルの中の、作品名、作者名を書き換える
  • INDEX用のファイルに、作品のリンクを追加する

送られてきた応募データは、だいたい作者ごとにフォルダにわかれている。作品が複数含まれている場合もある。

  • 作品名、作者名のはいっている場所は次のようなパターンがある
  1. フォルダが作者名、作品名になっている
  2. 各フォルダに、作品名、作者名、コメントなどがはいった、応募用紙(Word文書)がはいっている

 

作業は、Windowsで行っている。

使っているツール

  • StructureT-Maker   フォルダ構成をツリー構造でテキスト出力できるツール
  • xyzzy  emacs互換のエディタ。フォルダ内の検索(grep)、キーボードマクロ、マクロの複数回実行、数値計算ができる。
  • cmd  コマンドプロンプト
  • word2txt.vbs  Wordをテキストに変換する
  • hugflash  SWFの情報をテキスト出力
  • エクセル 
  • Pazera Free Video to Flash Converter

 手順1.フォルダ名を連番に変更する

StructureT-Maker をつかって、応募データのフォルダをテキスト化する。以下のようなテキストが得られる。これは、作品フォルダに名前がついており、中に、Wordの応募用紙がはいっている例。

ファイル名称    
aaa    
  ├──1組
  │    ├──02 あい うえお    
  │    │    ├──bein.wav    
  │    │    ├──PEAS Webアニメコンテスト神戸応募用紙.docx    
  │    │    ├──potyo.wav    
  │    │    ├──tanosi01.mid    
  │    │    ├──tanosi02.mid    
  │    │    └──Webアニメ作品.eva    
  │    ├──03 かき くけこ    
  │    │    ├──PEAS Webアニメコンテスト神戸応募用紙.docx    
  │    │    └──Webアニメ作品.eva    
  │    └──19 なに ぬねの    
  │         ├──PEAS Webアニメコンテスト神戸応募用紙.docx    
  │         └──wedアニメ作品.eva    
  └──2組    
       ├──01 さし すせそ    
       │    ├──PEAS Webアニメコンテスト神戸応募用紙.docx    
       │    └──Webアニメ作品.eva    

 エディタ xyzzy の置換を使って、つぎのように変更する。つまり、名前を変更するバッチファイルをつくるわけだ。

ファイル名称    
cd "aaa"
cd "1組"
rename "02 あい うえお"
  │    │    ├──bein.wav    
  │    │    ├──PEAS Webアニメコンテスト神戸応募用紙.docx    
  │    │    ├──potyo.wav    
  │    │    ├──tanosi01.mid    
  │    │    ├──tanosi02.mid    
  │    │    └──Webアニメ作品.eva    
rename "03 かき くけこ"
  │    │    ├──PEAS Webアニメコンテスト神戸応募用紙.docx    
  │    │    └──Webアニメ作品.eva    
rename "19 なに ぬねの"    
  │         ├──PEAS Webアニメコンテスト神戸応募用紙.docx    
  │         └──wedアニメ作品.eva    
cd "..\2組"
rename "01 さし すせそ"
  │    │    ├──PEAS Webアニメコンテスト神戸応募用紙.docx    
  │    │    └──Webアニメ作品.eva    

このとき、問題になるのが、rename 先のファイル名に、連番を入れる必要がある点だ。これは、xyyzzy(emacs) の「calc」を使う。

  1. xyzzy > メニュー「ウィンドウ」>「横に分割」  上下にウィンドウを分割する
  2. 「ESC」「x」「calc」と入力  これで片方のウィンドウで計算ができるようになる。この中で連番を計算する。
  3. 最初の rename 行の最後に「 001」を追加
  4. キーボードマクロ記録開始
  5. 「001」の最後の数字「1」を選択してコピー
  6. 「calc」ウィンドウに移動
  7. 「1」をペーストし、続けて「+1」を入力し、「1+1」を計算、結果の「2」を得る
  8. 「2」をコピーする
  9. カーソルを次の計算できる場所に移動させておく
  10. 元のウィンドウに戻る
  11. 次の「rename」を検索する
  12. 行の最後に移動し、数字「 00」と入力し、コピーした「2」をペーストする
  13. キーボードマクロ記録終了

このキーボードマクロによって、rename の最後に連番が生成される。正しく動作するのを確認したら、Ctrl+u を1回おして、キーボードマクロを実行すれば、マクロが4回実行される。結果、以下のようなバッチファイルが作成できる。

cd "aaa"
cd "1組"
rename "02 あい うえお" 001
rename "03 かき くけこ" 002
rename "19 なに ぬねの" 003
cd "..\2組"
rename "01 さし すせそ" 004

 コマンドプロンプトで、これを実行し、フォルダ名を連番に変更する。

 

 手順2.CSVファイルの作成

置換を使って、バッチファイルを次のような CSV ファイルに加工する

 "aaa"
"1組"
"02 あい うえお", 001
"03 かき くけこ", 002
"19 なに ぬねの", 003
"..\2組"
"01 さし すせそ", 004

 これを、エクセルで読み込むと、連番と元のフォルダ名の対応表ができる。

 

手順3.ファイル名をフォルダと同じ連番に変更する

 手順1と同じ方法で作業する。

  1. StructureT-Maker でフォルダ構成をテキスト化
  2. キーボードマクロで renamr のバッチファイルを作成
  3. コマンドプロンプトで実行
  4. StructureT-Maker でフォルダ構成をテキスト化し結果を確認

手順4.Wordファイルをテキストに変更する

応募用紙がWord の場合、word2txt.vbs  を使って、テキスト化する。

 

手順5.応募用紙から、作者名、作品名などの情報を取り出す

  1. テキスト化した応募用紙をxyzzyで開く。 
  2. 作者名を取得したい場合、「名前:」という文字が行頭にあるため、この文字列を複数ファイルからの検索(Grep)を使って検索する。結果、つぎのような結果が得られる。連番に変更したフォルダ名がパスに含まれるので、どの番号の作品が何という名前かのリストが得られる。

1組/001/PEAS Webアニメコンテスト神戸応募用紙.docx.txt:16: 名 前 :うえお
1組/002/PEAS Webアニメコンテスト神戸応募用紙.docx.txt:16: 名 前 :くけこ
1組/003/PEAS Webアニメコンテスト神戸応募用紙.docx.txt:16: 名 前 :ねの
2組/004/PEAS Webアニメコンテスト神戸応募用紙.docx.txt:16: 名 前 :せそせそ

キーボードマクロを使って手順1で作成した CSV ファイルに「作者名」を追加する。

 

このとき、フォーマットどおりに記入していないデータがたまに含まれる。その場合は手作業で修正する。

 

同様の手順で、「作品名」「背景の色」「コメント」などの情報をCSVに追加していく。

 

  • この段階になれば、「1組」「2組」といったフォルダ分けは必要ないので、連番のフォルダを1つのフォルダの中にまとめる。

 

手順6.掲載用ファイルをフォルダにコピーする

  • サイトへの作品掲載は、作品がはいったフォルダに掲載用のHTMLファイルを追加することで行う。
  • 9VAeきゅうべえファイル(拡張子 .eva)を掲載する場合、次のようにしている。
  1. Winows Exploler は、EVAプラグインで再生する
  2. 音を使っていない、サイズが小さい場合は、SVGに変換する
  3. 音を使っていない書き順アニメは、GIFに変換する
  4. 音を使っている、SVGでは再生できない場合、MacQuickTimeに変換した後、SWFに変換する

各フォーマットに応じた、HTMLファイルが用意してある。これを各フォルダにコピーするバッチファイルを作成し、転送する。

 

手順7.HTMLファイルの「作者名」「作品名」「コメント」「学年」などを書き換える

  • 転送したHTMLファイルの作者名は「●●」などと記載されている。これを、xyzzy の複数ファイル検索(Grep)すれば、書き換えが必要な個所がリストアップされる。
  • 作者名は、CSVファイルにまとめられているため、CSVの作者名をコピーーし、HTMLファイルの作者名の箇所を読み出し、そこにペーストするという作業を、キーボードマクロに登録し、一括して変換する。

 

手順8.ファイルの変換

eva ファイルを、SVGアニメに変換するには、次のようなバッチ処理を使う。

9va-win.exe を、一時的にデータフォルダにコピーすればフルパスを書かなくてよい。

9va-win.exe 001\001.eva  "-svg"

9va-win.exe 002\002.eva  "-svg"

9va-win.exe 003\003.eva  "-svg"

  • 変換結果は、同じフォルダに、001.eva.svg といったファイル名で出力される。

音、音楽がはいった eva ファイルは、SWFに変換して掲載する。MIDI音楽を変換するには、Macintosh を使う必要がある。9VAe をフォルダにコピーし、ターミナルから以下のシェルスクリプトを実行すれば、自動的に、QuickTime に変換される。

9VAe.app/Contents/MacOS/9VAe 001/001.eva "-qt-w512-h384"

9VAe.app/Contents/MacOS/9VAe 002/002.eva "-qt-w512-h384"

9VAe.app/Contents/MacOS/9VAe 003/003.eva "-qt-w512-h384"

  • なお、"-w512-h384" は、出力の縦横サイズ。
  • 変換結果は、同じフォルダに、001.eva.mov といったファイル名で出力される。

 

ここで注意するのは、EVAアニメの中に、「往復」「繰り返し」や「クリックですすむ」がはいっていて、再生時間が無限になっている場合だ。この場合、9VAeが起動した状態で止まっている。この場合は手作業で出力時間を設定し、QuickTimeに変換しなければならない。変換したあと、9VAeを終了すれば、つぎの変換にすすむ。

 

SWFを作成するのは、Windowsで、「Pazera Free Video to Flash Converter」を使って、QuickTimeをSWFに変換している。

 

 

手順9.アニメーションの再生時間の計測

作品を見やすくするために、再生が終了すると自動的に次の作品が始まる仕組みを入れている。これは、HTMLの

<META http-equiv="Refresh" content="秒;URL=次の作品.htm">

 タグを用いているが、ここに再生時間を入れる必要がある。

これには、次の方法を用いている。

EVAアニメの再生時間

Windows版 9va-win で「ファイル>開く」でファイルを選択するダイアログで、ファイルを選択すると、再生時間と画面サイズが表示される。これを利用する。

 

SWFアニメ(Flash)の再生時間

hugflash を使えば、SWF のフレームレートと、フレーム数が記載されたテキストが出力されるので、その数値から再生時間を計算する。

 

xyzzyの「calc」を使えば、計算結果が得られるため、キーボードマクロをつかって、再生時間の情報を、エクセル表(csv)データに追加することができる。

 

GIFアニメの再生時間

 GIFアニメの再生時間を正確に取得する良いツールは、まだ見つかっていない。

GIIFを再生できるプレーヤーで表示される再生時間を使っているが、正しい値にならない場合があるようだ。そもそも、GIFアニメの再生時間は正確ではなくブラウザによって、大きくかわる場合がある。ストップウォッチで測らないといけない場合もあった。