Program
撮影ツールとしてのMacOSXとUNIX


アニメ撮影とプログラム

【1】繰り返し・定型の動作

同じ作業の繰り返し

 撮影・エフェクトに限らず、同じ作業を繰り返す事はよくあります。広義にとらえると、この世の中のほとんどの事が繰り返し作業のような気がしてきます。しかしここで言わんとしているのは「単純」が付く繰り返し作業です。

 撮影・エフェクトの仕事をしていても、単純な繰り返し作業とそうでない作業があります。例えば「連番ファイルをQuicktimeムービーに変換する」作業を考えてみます。2種類の方法をあげてみます。

■方法【1】の手順

  1. Quicktime Proにて連番ファイルをイメージシーケンスで読み込む
  2. ムービーファイルを書き出す
  3. 1〜2の手順をカットの数だけ繰り返す

■方法【2】の手順

  1. After Effectsに連番ファイルをフッテージとして登録する
  2. 読み込んだ連番ファイル(フッテージ)から新規コンポジションを作成する
  3. レンダーキューに送る
  4. 1〜3の手順をカットの数だけ繰り返す
  5. レンダリングする

 Quicktimeムービーに変換する作業が1つや2つならば上記手順を踏んで作業しても何も苦ではありません。しかしこれが100や1000となると話は別です。上記手順を1,000回も繰り返すのは誰でも「やりたくない」と思うでしょう。

 撮影・エフェクトでは、雑誌等で紹介されている「格好良い映像」をオペレートする作業の他に、上記のような「単純な繰り返し作業」が少なからず存在します。サーバに置いてある素材データをAfterEffectsに登録する作業、カットごとに連番ファイルをサーバに転送する作業、ビデオレコーダー用に映像を用意する作業、レンダリングされたファイルの一覧表を作る作業、etc...と、挙げ出したらきりがないほどです。つまり、After Effects等の映像編集ソフトウェアさえいじっていれば作業が完了するわけではないのです。


物量の脅威

 撮影セクションには作品すべてのカットが集結します。つまり扱うファイルの量がとても多いのです。

 では仮に、「1000カット分の連番ファイルをQuicktimeムービーに変換する」作業を目前にした時、どのような対応が考えられるか、前述の方法【1】を例にとって以下に列記してみます。

■1000カット分の連番ファイルをQuicktimeムービーに変換する作業への対策案

  1. 1日100カットをノルマとし、方法【A】を10日間で作業する
  2. 5人で一日100カットずつ、方法【A】を(100カット/日)x5人 x2日間で作業する
  3. 連番からムービーを書き出す業務を取り扱っている会社に委託する
  4. 連番からムービーを書き出すソフトウェアで自動処理する

 a案は、作業者1人を変換作業「だけ」の為に10日も拘束する内容から鑑みて、恐らく却下されるのでは思います。コンピュータを扱える人間一人の「10日分のコスト」はどのくらいかを試算してみれば、その非現実性が容易に理解できますし、変換作業の為に10日の作業期間が確保できるのかも疑問です。またそれが可能だったとしてもその人間=作業者は1日中延々と「変換作業の為だけに働いている」事になります。

 b案は作業期間が10日から2日に短縮しただけで、a案とあまり変わりません。とは言え、スケジュールが切羽詰まっている時は「半日でも惜しい」のが常ですから、a案よりはかなり「まし」な案と言えます。

 c案は「自分(自社)では無理だから、他の会社に委託」する方法で、内容は違えど業界内ではよくある方法です。もちろん、会社に発注するコストはかかりますし、それ以前にその内容=変換作業を取り扱っている会社があるか否かも問われます。

 となると、d案が一番現実的に思えてきますが、以下の条件分岐が考えられます。

 運良く既存のソフトウェアがあれば良いのですが、無い場合は自分で作る事になります。既存のソフトウェアも無く、自作する能力も無い、さらにダメ押しで開発を委託する予算も無い‥‥という場合は、当然ながらd案は却下となります。

 予算もスケジュールも無い作品の場合は、既存のフリーウェアが存在しない時点で、たとえ手作業で大変だと解っていても、b案を採択する事になることでしょう。という事は、自分が手作業をする当事者である場合、「既存のフリーウェアが存在するか否かで、数日間の自分の『運命』が左右される」と言っても過言ではありません。実はその「自分の『運命』」は、作品の出来映えにも作用してしまいます。「定型の変換作業に出来不出来があるのか?」と思われるかもしれませんが、視点を「変換作業」そのものから「変換作業に消費される時間」に移して考えてみてください。変換作業で消費された時間は他の作業時間(撮影やエフェクトのオペレート)に食い込みます。本来ならば撮影・エフェクトオペレートに使っている時間を、変換作業に消費されて「マイナス」が発生した場合、「数珠つながり」で連鎖し、以下のような構造で「作品のクオリティ」に影響していきます。

■クオリティ崩壊の連鎖(例)

  1. 変換作業で4時間消費
  2. 撮影・エフェクトのオペレート時間から4時間を喪失
  3. 撮影・エフェクトのオペレート時間から喪失した4時間を、クオリティを「妥協」(または低下)する事で穴埋め
  4. 映像の撮影・エフェクト部分の完成度が低下
  5. 作品の総合的な完成度が低下(極端な言い方ですが)

 つまり、映像部分の総合点を作画, 彩色, 美術, 撮影&エフェクト, 編集を足して100点とした場合、その中の数点は変換作業により確実に「減点」される結果となります。‥‥大げさに聞こえるでしょうか?

 原画や動画をしている人に「紙を動画用紙の大きさに切って、タップ穴を開けるところから作業して」と言えば、即、「そんな事してたら、絵を描く時間が少なくなる。動画用紙を作る事よりも絵を描く事に時間を使いたい。」と答え返してくると思います。撮影・エフェクト作業も同じです。「変換作業をするより、撮影・エフェクトのオペレートに時間を使いたい」のです。

 手作業でおこなえばその「手」を有する人間の労力を消費するのは当たり前です。人手は使いたく無い、自動処理用の適当なフリーウェアも見つからない、自動処理ソフトウェアを会社に作ってもらうほどの金も無い‥‥となれば、あるのはただ一つ、自分でソフトウェアを作って対処する方法だけです。

 大量の物量を目前にした時、どのように対処するかは人や会社それぞれだとは思います。しかしながら、もしソフトウェア開発能力が自分のリソース(資源)として存在するならば、対処法の中に「自分でソフトウェアを作って対処する」方法を含める事ができ、他の方法では得られない解決法を見つける事が出来るかも知れません。

 ではソフトウェアを開発する能力を持つには、特別な才能が必要なんでしょうか?


ソフトウェアの開発能力??

 「ソフトウェア開発」と聞いて「怖じ気づく」人は多いと思います。実は自分もそうした人間の一人でした。「コンピュータプログラム」「プログラム言語」「システム」「プロシージャ」「インクリメント」などの言葉・用語からは「難解」なイメージが発散されていて、「自分にはとても出来そうもない」と思っていたのです。「プロシージャ」と言う用語は今でも「乳牛の一種か?」と使うたびに連想します。(あ、また牧草を食む牛の姿が‥‥)

 しかし、プログラムを書くようになって、「プログラムと呼ばれるもの」に対する捉え方や考えが徐々に変わってきました。「何かを作る」行動、つまり、園芸で花壇を手入れしたり、日曜大工で棚を作ったり、料理を作ったりする事って、プログラムと似てるよな‥‥違う点と言えば、コンピュータを使う点ぐらいだな‥‥と思うようになったのです。

 つまり、「プログラムは『特別』高度な知識が必要だ」と勝手に自分で思い込んでいただけです。

 料理に例えると、人(例えば、主婦や一人暮らしの男など)は目玉焼きを作ったりヤキソバを作ったりと、プログラム的に見れば、結構「難しい」事を日常の出来事として平然とこなしています。「目玉焼きなんて簡単だよ」と言う人がいますが、そうでしょうか? ガスレンジとフライパンを自在に操作し、温度をリアルタイムで監視しながら、ちょうど良い火の通り加減・焦げ加減で作り上げる目玉焼き‥‥。どう考えても、十分「難しい」作業です。目玉焼きを作る事ができるならば、プログラムを書く素地は既に有している‥‥と言っても「言い過ぎ」では無いと思っています。

 必要なのは「レシピ」の書き方を学ぶ、それだけです。私が思うに「プログラムは難しい」のではなく、「プログラムに使う言語の作法や単語を覚えるのが『メンドくさい』」だけです。難しいと面倒くさいは同義語では無いのに、「難しい」の一言で片付けている部分に大きな落とし穴があるのです。

 「料理を作るのなら、フランス(他国料理でもお好きに)料理長クラスにならねば」と思う人はどれだけいるでしょうか? 目玉焼きを作るのにフランス料理長の「知識」と「格」が必要かと言うと全然そんな事はない訳です。同様にぶ厚いプログラム言語解説本を前にして、「これをすべて理解できないとプログラムはびた1つ作れない」と思い込む必要はありません。料理長でなくてもそこそこの目玉焼きは作れるように、「連番をムービーにする程度」のソフトウェアを作るのに一流プログラマーである必要は無いのです。‥‥それにぶっちゃけた話、プログラムより「目玉焼き」のほうが遥かに難しいです。料理にアンドゥー・リドゥー・途中で保存・復帰の機能は無いですからね。

 ソフトウェアの開発能力の根本は、その人間の洞察力や合理性など色々な要素が作用しているものと思います。しかし、「ソフトを作れるか否か」と言う単純な問いに関しては「プログラム言語のリファレンス(辞書)を片手に調べながら作れば、できますよ」と言うのが私の見解です。


「ごま塩アプリ」から始めよう

 ごま塩は誰でもご存知だと思います。黒ごまと塩が一定比率で混合されて瓶の中に入っていて、10穴前後の穴の開いた内蓋を装備し、品質保持とこぼれ防止の為に外蓋(キャップ)を有し、食卓に置いてあるアレです。

 その「ごま塩」も言うなれば、立派なアプリケーションです。もしごま塩の瓶のひと振りでは無く、小さじでその都度混合比率を計量して10cm四方に散布する動作だったら、著しく面倒です。

 ソフトウェアを作る時に、「三ツ星料理」級をいきなり目指すのではなく、「ごま塩」級から始めれば、プレッシャーが少なくなるでしょう。そして、その「ごま塩」級の些細なアプリケーションは、「ごま塩」の見た目とは裏腹に、撮影・エフェクト作業において多大な労力削減を果たしてくれるのです。

 コンピュータでアニメ制作の一部を処理するようになりましたが、その使い方はお世辞にも洗練しているとは言えません。「デジタルアニメの撮影」という「食卓」の上には、もしかしたら醤油もソースもごま塩も無いかも知れません。醤油が欲しければ台所にいちいち足を運び、計量して容器で運ぶ‥‥くらい面倒かも知れません。それは恐らく、まだそうした「ごま塩」のような便利なツールを用意出来ていないからだと思いますが、その便利なツールは待っていても誰も持って来てはくれません。だから自分で作るのです。

 以下は、試しにAppleScriptで作ってみた「ごま塩」級ソフトウェアの全ソースです。「ごま塩」のイメージにふさわしく、コンパクトな13行のソースです。(参考の為、行番号付きで表示します)

  1. set theItems to choose folder with prompt "連番フォルダを選択してください(複数選択可)" as Unicode text with multiple selections allowed
  2. set esFile to choose file with prompt "Quicktime書き出し設定を選択してください" as Unicode text
  3. set exportLoc to choose folder with prompt "書き出し先を選択してください" as Unicode text
  4. repeat with i in theItems
  5. set theFiles to paragraphs of (do shell script "ls '" & POSIX path of i & "'*1.*")
  6. if length of theFiles > 0 then
  7. tell application "QuickTime Player"
  8. open image sequence ((item 1 of theFiles) as POSIX file) frames per second 24
  9. export front movie to file ((exportLoc as text) & (do shell script "basename " & quoted form of POSIX path of i) & ".mov") as QuickTime movie using settings esFile
  10. close front movie saving no
  11. end tell
  12. end if
  13. end repeat

 Quicktimeムービーへの変換作業を想定した場合、この13行のスクリプトが作れるか否かで、自分やスタッフの時間の使い方・使われ方が変わり、巡り巡って作品のクオリティに影響する(事もある)のです。もし数少ない撮影スタッフを、撮影スケジュールに食い込む形で変換作業に動員するような事があったら、確実に映像クオリティは低下します。 

 ある作品のあるカットで透過光がショボかったら、その透過光処理にオペレート時間を割けなかったからかも知れません。そして何故割けなかったかは、もしかしたら何か他の事(例えば、変換作業)で時間を取られていたからかも知れません。そのカットを担当した人間からすれば、自分の映像表現能力を問われてしまう、他人事ならぬ「自分事」です。

 私は生まれた時から「プログラムが作れる人」だった訳では無く、どこかお高い学校と学費で習得して資格を得た訳でもありません。「必要に応じて徐々に覚えただけ」です。最初は「プログラム」という言葉の印象に物怖じしていましたが、フタを開けて中を覗いてみると、種と仕掛けがどんどん出て来て、ちょうど「マジックの種明かし」を見た思いでした。それで、「これなら自分でもできるんじゃないか‥‥?」と、「ちょぼちょぼ」と肩を張らずに始めて見たのです。


 それでは、「自作ツール」作りに「物怖じは不要」だと言う事を、MacOSXを中心に用いながら、いくつか解説してみようと思います。



【2】

INDEX


Google
Web integer9.ezqnet.com


IntegerQ INDEX
h.ezura / afx / ezqnet