スパゲティコンポジション

After Effectsでカットアウトをやると、動きが複雑になればなるほど、どんどんスパゲティのようにプリコンポーズやマスクや合成モードが絡み合って、まさに「スパゲティコード」ならぬ「スパゲティコンポジション」になっていきます。

 

 

 

最初から「こうすれば良い」という雛型や前例が無いところ=どのように組めば目的の表現を達成できるかを「作りながら考える」ので、試行錯誤しているうちに要素が絡み合うのです。

 

背景、Aセル、Bセル、BOOK‥‥を、定型の撮影用語で指定して、定型のフィルタ(ディフュージョンとかね)で処理する「作業の定型」「表現の雛型」があれば、1時間に何カットも量産して、作品全体では2〜3日で本撮テイク1‥‥なんていう芸当もできましょう。実際に、2000年代後半以降(テレビアニメにAfter Effectsが導入された以降)は既にそうした「量産」によって、おびただしい数のアニメ作品が世に溢れました。

 

しかし、カットアウトはそうはいきません。少なくとも今のところは。

 

 

 

内容の濃いカットアウトになると、我ながら、「自分で半年後にプロジェクトを開いたら、何やってるか、理解に苦しむ」コンポジションになるだろうな‥‥と思いながら作業してます。

 

しかし今は新しい技術の黎明期。

 

スパゲティやむなし。

 

まずは映像を完成することを目標とします。コンポのエレガントを求めるのは、もう少し先。

 

綺麗に整然とコンポが組めるのは、想定内に収まる内容だから‥‥ですよネ。

 

 

 

従来制作現場が、未来的に品質不足になると薄々感じながらも、それでも紙や撮影台代替技術やフィルム時代のタイムシートの運用を止めないのは、「旧世代の技術でも定型があるのは良い」と考えるからでしょう。

 

確かにそれはその通り。アニメ業界が長年蓄積してきたノウハウを、時代に合わなくなったからといって、あっさり捨てることはできないのは解ります。

 

でも、そのアニメ業界とて、最初の最初は、手探りだらけだったはずです。最初から洗練されているわけないです。

 

ある程度はアメリカンアニメーションから方法を「輸入」しても、日本の作品表現、人々の気風にあった制作技術を確立するのは、相当時間がかかったと思われます。

 

 

 

スパゲティな状態を放置せず、その後に「ノウハウ」として「技術継承」する取り組みは必要でしょう。

 

作った本人ですら、未来には理解困難な状態では、技術として広まるわけもなし。

 

現在はスパゲティでも、その後にどのように絡みを解いて整頓するかが、問われましょう。

 

特定個人の機転や融通や器用さに依存しているだけでは、産業には発展できませんもんネ。

 

 

 

従来の枠組み、原動仕美撮でなら、After Effectsでの作業において、全て通常モードで素材を書き出す自信はあるんですけどネ‥‥。

 

やれ、この素材はスクリーンだ、この素材は乗算だ、この素材は比較明だ‥‥とか、やたらと素材を書き出して次の工程に渡すのは、コンポジット初心段階にありがちな光景です。例えば、スクリーンじゃないと明るさをコントロールできないのは、RGBを扱えていない証拠みたいなものです。通常合成でも明るさ暗さを表現できるRGB制御能力を身につければ良いのです。

 

工程をまたぐ時は、基本的に、

 

通常モード一発で決めろ。‥‥そして、できるだけ素材の数は少なく

 

‥‥です。

 

‥‥しかし、カットアウトはまだまだ、そんな「見極めて見通せる」状態にはなく、これから未来の技術です。

 

誰か、共同で、日本でのカットアウト技術の体型作りをやってくれないかなあ‥‥。個人レベルではもう限界に近いス。

 

2020年代の夜明けまであと1ヶ月と数日。新しい時代に、また、アニメを再発明しましょうヨ。

 

 

 

今は‥‥そうですね、「スパゲティコンポジション」を「スパコン」とでも名付けておきましょうか。‥‥既にある略語ですが、かたやスーパー、こちらはスパゲティで、皮肉が効いててイイかも。‥‥まあ、スーパーは食えないけど、スパゲティは食えますしネ。

 

 

 

 


でたなCC2020。

After EffectsやPhotoshopの2020年版が、CCツールのアップデート画面に登場していますネ。

 

After EffectsのCC2019は結局不具合で敬遠し、バージョンを実質上スキップすることになりました。ほとんど使わなかったな、CC2019のAfter Effects。

 

今の作品制作が終わったら、試してみようと思います。

 

四六時中After Effectsを使っているので、Photoshopも道連れでアップデートできんのです。

 

 

 

来年はいよいよ2020年ですね。

 

2020年代は、大きな転機の「始まりの始まり」になるように思います。

 

 


カットアウト。

ファイルを整理してたら、昔のテスト映像が出てきました。実際は作品には使用せず、準備段階のデモやテストとして作ったものです。

 

 

*GIFアニメーションなので画像が荒くてスマンす。

 

 

夜間の対空砲火のシーンのテスト映像サンプルで、手前の建物のシルエットが妙にサッパリしているのは、細かく言うに及ばず、After Effectsでチャチャッと平面を切り抜いて作った「ダミーのBook」だからです。実際の作品制作では、本番のBook(背景美術の完成形)でコンポジットしています。

 

これらのエフェクト〜爆発や兵器表現も、言うなれば、「カットアウト」です。

 

カットアウトって、色んなことができるんだお。

 

After Effectsとか聞くと、知識を聞きかじった状態(=自分では使わない)の方々は「プラグインで作ったの?」「3D?」とか言いがちなのですが。プラグインでも3DCGでもないです。ガチで、飛び交う弾や閃光や煙の構成要素をAfter Effectsで作って、それらしく構成しています。

 

After Effectsを使ったことがある人で、何も外部素材を読み込まず、上の状態のムービーをAfter Effects内部だけで作るには?‥‥と考えれば、だいたい想像はつきますよネ。‥‥そうです、ひとつひとつを地道に平面レイヤーで作っているのです。

 

そんな大変な‥‥と、多くの人が言うのですが、これを作画でやっていた経験があれば(=つまり、過去の私のような、エフェクト作画をやっていた人)、After Effectsの各種コントロールでこれが作れるのなら、作画より100倍効率が良いです。

 

ちなみに、カットアウトはあくまで作画技術です。After Effectsを使っていますが、アニメ撮影技術ではないです。アニメの撮影さんに無茶振りはしないよう、わきまえてくださいネ。

 

 

 

After Effectsでこうしたカットアウトを作るのは、結構‥‥いや、かなり特殊なアニメ制作事例だとは思いますが、事実として可能です。

 

今まで、「これはカットアウトだ」とことさら喧伝する必要も感じていなかったので、このブログでも「どの作品のどの部分」みたいなことは書いてきませんでしたが、近作ではカットアウトがかなりのウェイトを占めているので、そろそろ言い始めても良いのかな‥‥と思っています。‥‥もう、ほんとに、カットアウト自体を使えるアニメーターが日本にはかなり少なくて(=欧米と比べて)、意識的に広めていかないとアカンと感じてます。

 

私は今後、カットアウトの主力をToon Boom Harmony Premiumへと移行する計画ですが、もしカットアウトをやってみたい人は、身近にあるAfter Effectsでも十分可能‥‥ということです。

 

カットアウトを「生産力」として考えるのなら、迷わずToon Boomでしょうが、まずは「ちょっとやってみたい」と言うレベルだったら、身近なAfter Effectsで試してみても良いです。

 

ちなみに、私がAfter Effectsでカットアウトをやり続けたのは、単に今までToon Boomと巡り合ってなかっただけの話です。今後は、作業場だけでなく、自宅に自腹でもToon Boomを導入して、使いこなしを進めていく所存です。(‥‥液タブ問題が立ちはだかってはいますが)

 

 

 

従来の送り描きの作画スタイルは、基礎知識として必要不可欠なものです。動きの知識なしに、カットアウトはできません。ソフトウェアは動きの能力までは面倒をみてくれません。

 

ですから、クリスタで今まで通りの原画・動画も描き、一方で、知識を応用してToon BoomやAfter Effectsでカットアウトもやる!‥‥というのが、未来のアニメーターが獲得すべき技術の広がりであり、報酬の改善にも直結します。

 

方法論、選択肢は、複数有していたほうが、有利です。

 

カットアウトも含め、新しい技術の台頭は、アニメの企画の根本まで変え得るでしょう。技術が大きく変われば、根本も変わっていくわけです。企画の頭が古いままでは、新しい技術も持ち腐れます。

 

アニメ業界では「After Effectsは撮影ソフト」と思い込んでいるフシが強いですが、After Effectsの活用術もまさに、

 

Think Different

 

ですよ。

 

‥‥いや、After Effectsに限らず、アニメ制作全般において、Think Differentが必要な時期‥‥ですネ。

 

 

 


イーズ。

カットアウトに限らず、コンポジットにおいても、初心者から抜け出る段階は、モーションに関していえば「イーズ」をどれだけ的確なコントロールができるかです。素人っぽい動きは、まさにソフトウェアの初期設定の「リニア」のままで、動きが機械的になっているのが典型です。

 

実は、私と同世代のベテランアニメーターも、ソフトウェアを使って動かすと、いきなりその辺が初心者になってしまって、自己品質チェック基準も道連れで下がってしまいます。でもまあ、ソフトウェアの様々なプロパティ・アトリビュートを動きに用いることに関しては初心段階ならば、ベテランだろうがティーンだろうが差がないです。

 

ぶっちゃけ、After Effectsでアニメーションする際(コンポジットじゃなくて)は、山のようなキーフレームをどう制御するかがスキルになります。イーズは「ツメ指示」そのものなので、例えば原画A1からA2の動画作業と同等の内容をAfter Effectsで行う場合、人体ならば肘や肩や首の付け根や腰などの基点キーフレームに対するイーズの制御は甚だしく重要な操作となります。

 

毎度のクマの走りですが、ちゃんとイーズ‥‥というか動きの時間軸上でカーブを操作しているので、「最初からこういうキャラだった」かのように動きます。

 

 

踏み出しの急なカーブ、沈み込みの緩いカーブ、手の振りのイーズ(両端ズメ)、お餅にみたいにぷよんぷよん動く輪郭。これらは、リニア(等速・均等)の動きでは表現できません。

 

エフェクト作画も同じで、下図はAfter Effectsにて2008年に作ったケムリですが、動きのカーブなしでは以下のように動きません。頭の中の動きのタイミングを、ちゃんとキーフレームの加速減速に反映してこそ、イメージ通りの動きを作れます。

 

 

 

リグ(どのくらい動かすかに合わせて、パーツを構成した状態)が大雑把でも、以下のような動きは作れます。動きの説得力は、リグを細かく分けたほうが向上しますが、動きのイーズの勢いでも、ある程度までは見せられるのです。

 

 

 

ちなみに、上のアニメーションは、すべて「止め絵」からAfter Effectsで動かしたものです。クマ、ケムリ、そして水たまりを歩く子供に関しては、After Effectsで絵も描いて動かしました。銃を撃つ女性は、2012年頃に、紙で元絵を描いてスキャン、After Effectsでペイントし、半日足らず(数時間くらいでゼロからフィニッシュまで〜リアル系とはいえ、簡単な絵柄なので)で動かしました。

 

 

 

アニメーターになって、他業種とは大きく異なる知識のフィールドはなんだろう?‥‥と考えてみると、「動きの観察力と分析力」です。動きを細かく分析できるのは、アニメーターの業種ならではのアドバンテージです。

 

なんでもイーズにすれば良いというわけでもなく、リニアもうまく使えば面白い動きにもなります。コンピュータを使って絵を動かす場合でも「動きの知識は必須」で、その知識をどのようにソフトウェアのコントロールに活用するかがまさに腕の見せ所です。

 

まずはイーズとリニアについて開眼することです。若手に限らず、ベテランでも、単にレイヤーを動かすレベルで喜ぶのではなく、その動きのキーフレームの質を、自身の「動かす技術経験」で問いましょう。

 

もし日本のアニメーターがカットアウトに目覚めたら、恐ろしいことになる(良い意味で)と思いますヨ。

 

 

 


すうがく

どこぞの政治家が「大人になったら、三角関数なんて役に立たない」なんて言ってましたが、それはその政治家さんが三角関数に縁遠いだけです。映像制作で、しかもアニメーションの動きやコンポジットを仕事にしている場合、三角関数はとても有用です。

 

例えば、何らかのレイヤーを、62度の角度で1秒で836px移動させたい場合、三角関数なしでどうやって移動後の座標を割り出すのか。

 

まあ、ぶっちゃけ、アニメのコンポジットは「現物合わせ」(タイムシートの指示で「62.23度」の角度でスライド‥‥なんて見たことないし、レイアウトを描く時だって製図のように厳密に角度を割り出してはいませんよね)ではあるのですが、手探りで直しながら座標を得るより、計算方法を知っていたほうが速いですし、融通や応用も効きます。

 

エクスプレッション制御の中に「角度制御」という便利なコントローラーがありますが、角度を直に指定するだけでなく、座標を導き出すことも可能です。

 

角度制御の角度の値から、任意の底辺と高さを割り出すのって、どんぶり勘定じゃできないですよネ。ちゃんと計算式が必要です。

 

各三角関数のMath.sin()、Mas.cos()、Math.atan(), ラジアンや角度を求めるdegreesToRadians()とradiansToDegrees()を、エクスプレッションでプチプログラムすれば、角度から容易に座標を求めることができます。もちろんその逆の、座標から角度を求めることも可能です。

 

 

エクスプレッションの文はこちら。長いですが1行です。

 

transform.position+[Math.sin(degreesToRadians(effect("方向は?")("角度")))*effect("1秒あたり何ピクセル?")("スライダー")*time,Math.cos(degreesToRadians(effect("方向は?")("角度")))*-effect("1秒あたり何ピクセル?")("スライダー")*time];

*簡単に書きたいときは「transform.position」は「value」でも構いません。

*After EffectsのZ座標は位置が上になるほど数値が下がるので(グラフの座標とは逆)、Z座標の値にマイナスを付与します。

 

*ちゃんと動きました。どんなピクセル数値も角度もどんとこいです。

 

 

 

ちなみに、このエクスプレッションは、角度固定のスライド指示には使えますが、角度変更(=キーフレームで角度を変更)を伴うと期待する動作になりません。

 

あくまで、始点から現在時間での直線到達距離であり、途中でカーブするような動きには積算式、もしくは差分式のエクスプレッションが必要になり、もう少し複雑になります。‥‥以前、載せたような記憶もありますが、角度制御を自動車のハンドルのようにして「運転」するようなエクスプレッションも可能です。

 

とは言え、角度から座標が導き出せるだけでも、「三角関数は大いに役立ち」ます。

 

 

 

三角関数って、中学か高校か、すっかり忘れましたが、中高の数学は意外に映像制作に応用できますから、覚えなおすのも良いですヨ。

 

私は覚え直したクチです。

 

 


今だから、aerender

マシンの性能が20年前に逆戻りしたかのような、4KHDRの映像制作。After Effectsのレンダリング速度も、まるで20年前の感覚です。

 

であれば、マシンを運用する方法も、20年前を思い出せばよろしいです。After Effectsをいくつも新規で買わなくても、After Effectsのレンダリングは可能‥‥なのは、さすがに同業者なら知っていますよネ。

 

After Effectsのレンダリングエンジン。レンダリングだけを実行する「首なし」After Effectsです。

 

 

 

そして、もれなく付属する、aerender。

 

ターミナルのコマンドでAfter Effectsのレンダリングをバックグラウンドで実行します。

 

 

 

前回、あっけなくaerenderのテストランが成功したので、今度は「もっと気軽に使える」ように、aerenderを「alias」コマンドで「aer」の三文字だけで簡単に呼び出せるようにします。

 

alias aer='/Applications/Adobe¥ After¥ Effects¥ CC¥ 2018/aerender -project '

 

有効期限はターミナルのセッションに限られるので、永続的に使いたい場合は設定ファイルをviで編集しますが、まずはそこまでしなくても、この一文だけでも便利に使えます。

 

aliasで設定した後は、

 

aer AEPのPOSIXパス(スラッシュ区切りのUNIXのパス〜いちいち書かなくてもシェルのウィンドウにドロップすればOK)

 

‥‥と、「aer」コマンドとファイルパスとリターンキーだけで、AEPファイル内にある有効なレンダーキューを、バックグラウンドでレンダリングしてくれる‥‥ようです。まだ使い始めなので、わたし的には様子見で、言い切るのは避けますが。

 

「フォルダを監視」より楽ですネ。いちいちファイルの収集(プロジェクトファイルの別名保存)をしなくて済みますし、すぐ傍にあるマシンなら監視フォルダを設定するより手軽な場面も多いと思います。

 

 

 

ちなみに、/usr/local/bin/にシンボリックリンクを置く方法は、それだけだとダメでした。aerenderは、同階層のAfter Effects.appのパッケージ内を参照しているらしく、「unable to find after effects application at file」とのことです。

 

なので、毎回すぐにaerenderをシェルで使えるようにする=aliasを毎回設定するのが面倒な場合は、先述の通り、設定ファイル「.bashrc」を自分のホームフォルダ(~/)に作成し、「.bash_profile」も設定し、「.bashrc」に「alias」コマンドを書き込んでおきます。

 

After Effectsが新しくなったら、設定し直しですが、一番簡単な方法です。

 

 

 

このaerenderを発展させれば、より自分流に融通の利く「レンダリングエンジン&監視フォルダ」が自作できるでしょう。

 

AppleScriptでもAdobe Scriptでも、「アイドル」「スケジュールタスク」といった常駐型のスクリプトプログラムが作れますので、After Effectsが提供する「フォルダを監視」よりも使いやすい「自動レンダリング」システムが作れると思います。

 

以前、aerenderではないですが、Adobe ScriptとAfter Effectsを使って、常駐型の「自動レンダリング」システムを作ったことがあります。Macでは書き出せないWindowsだけのコーデックを変換出力するために、一線を退いたWindowsマシンを活用して「コーデック変換サーバ」のようにして使っていました。Webサーバ(ApacheとPHP)とデータベースと連携して、Webブラウザで変換出力の状況が確認できるようにしていました。

 

aerenderを使えば、もっと気楽に数時間で「自分だけのフォルダ監視システム」が作れます。

 

でもまあ、まずは、シェルでaerenderをちゃちゃっと活用して、「マシンの相対劣化」に対抗しましょう。2014年の旧型Mac Proも、まだまだ使い道はありますヨ。

 

 

 

4KHDRへと時代が進むことで、また、レンダリングに時間がかかる時代がやってきますが、絶好の「仕切り直しの機会」と捉えるべきです。

 

何十年も異常な料金で請け負っていた作画の工程に、ようやくメスを入れられる絶好のチャンスでもあります。作画の人間が、コンピュータを使いこなすことによって、「紙と鉛筆」による「買い叩かれ」から抜け出す機運も生み出すことが可能です。

 

古いシステムは、古い料金形態から抜け出すことは難しいです。‥‥だって、今まで、それで「やってきちゃった」から。

 

ものごとを局所的に限定的に見ていると、2020年代の大きな変化に気がつかず、自ら辛酸を舐める状況へと落ちていくでしょう。2010年代の10年間の常識は、2020年代には通用しません。ピクセル寸法1つとってもネ。

 

常識の変化を、うまく活用できなければ、何のための年長者・ベテランなのか。ベテランは古い殻に閉じこもるのではなく、むしろ、新しい方法を実践していくべきです。一番、発言力のある人間が、日和って後ろ向きでどうすんの?

 

 

 

新しい技術基盤の、新しいシステムは、新しい料金形態ありきで仕切り直すことができます。

 

新たなキモチで、コンピュータを「新しく使いこなし」ましょう。

 

 

 

 


今さらながら、aerender

After Effectsは、ボロくなってきただの、バグがいつまでも消えないだの、結構散々言われますが、私は好きです。イカしたノードビューはないけれど、まるでガレージの工具箱のように、何でも工具が揃っていて、その気になればカットアウトをゼロから作ることだって可能です。

 

私は今後、カットアウトに関してはToon Boomに完全移行することを計画していますが、相変わらず、After Effectsは頼りになる相棒です。現在、4KHDRの作業において、After Effectsは愛馬のごとく、人馬ともに働く日々です。

 

しかし。

 

その愛馬の馬力が足りん。

 

最近、3秒のレンダリングに、144時間と出てしまった‥‥。

 

速攻でレンダリングを中止し、「何がそんなに時間がかかるか」の原因究明に切り替えました。

 

‥‥まあ、仕込みをもっと繊細に丁寧に、かつ計画的におこなえば、144時間などかからないのですが、流れるままにカットアウトを、しかも4Kサイズで作業していると、After Effectsはまるで20年前のレベルに逆戻りします。144時間って、何日よ。

 

結局、様々な因子が重なり、巨大な画像のディストーション系が特に重荷だったことが判明、すぐさまプリレンダリングして軽くしました。1ファイル20GBなんていうファイルはざらに出現するのが、4K時代の現場運用ですから、アホみたいに144時間待つことなどせず、シャキシャキとプリレンダリングしてライブラリ型制作運用を実践しましょう。

 

‥‥で、144時間が2時間まで短縮できました。

 

とはいえ、3秒で2時間なので、まあ、相当重いですよね。‥‥たまに2Kのテレビ作品を手伝うと、プリレンダリングなどしなくても軒並み数分で終わるカットばかりですから、4K時代のAfter Effectsにどんな重荷が降りかかるかは推して知るべし。

 

 

 

2000年公開のBlood劇場版は、その当時「速かった」Windowsマシンで5日間レンダリングしたカットがありました。大判の横PANで、その大判に様々なエフェクトがかかっていたので、時間を要したのです。

 

同じ状況が、2020年の今、4KHDRに姿を変えて再来しております。対処法は同じです。プリレンダンリングとマシンの分散です。

 

そんなこんなで、レンダリングエンジン。

 

After Effectsを買い増さなくても、レンダリングだけはしてくれる財布に優しいソリューションです。

 

しかし、レンダリングエンジンは正直使いにくい。「フォルダを監視」が。

 

あの「壊れかけのテレビ」が、本当に壊れてるんじゃないかと思えるほど、無反応なことがあります。‥‥もちろん、何らかの原因はあるんでしょうが(パスが通ってないとか)、たとえ実際にファイルをコピーしなくても「ファイルを収集」という段取りが面倒でなあ‥‥。

 

 

 

 

聞くところによると、After Effectsにもれなくついてくる「aerender」という実行ファイルで、renderQueue周りを自動制御できるらしいです。

 

壊れかけのテレビに頼らずとも、済みそうです。

 

私はJSのスクリプトばかりで自動制御していたので、aerenderは使ったことがありませんでしたが、今回初めて使ってみました。

 

 

 

4KHDRによって、マシン性能が20年前に戻った今、マシンの有効活用のため、aerenderの使い方を「いまさらではありますが」macOSのターミナルで調べてみましょう。

 

*ターミナルはアプリケーションフォルダのユーティリティの中にあります。

*ターミナルのコマンドは、Webで調べて覚えられます。

 

 

調べ方は簡単。ターミナルを起動して、ウィンドウにaerenderをドロップしパスを自動で記述、その後、ヘルプを呼び出します。マニュアル・ヘルプは「man」ではなく、「-h」で。

 

/Applications/Adobe¥ After¥ Effects¥ CC¥ 2018/aerender -h

 

すると、以下のように使い方が表示されます。

 

aerender version 15.1.2x69

USAGE:

   1] aerender renders After Effects comps. The render may be performed either

      by an already running instance of AE or by a newly invoked instance. By

      default, aerender will invoke a new instance of AE, even if one is

      already running. To change this, see the "-reuse" flag below.

   2] aerender takes a series of optional arguments.

      Some are single flags, like "-reuse". Some come in flag-argument

      pairs, like "-project project_path". And one comes in a triplet,

      -mem_usage image_cache_percent max_mem_percent.

   3] aerender with 0 arguments, or with any argument equaling "-help" 

      or "-h", prints this usage message.

   4] The arguments are:

      "-h"                    print this usage message

      "-help"                 print this usage message

      "-reuse"                use this flag if you want to try and reuse

                              an already running instance of AE to perform the

                              render.  By default, aerender will launch a new

                              instance of After Effects, even if one is already

                              running.  But, if AE is already running, and the

                              "-reuse" flag is provided, then aerender will

                              ask the already running instance of AE to perform

                              the render. Whenever aerender launches a new

                              instance of AE, it will tell AE to quit when

                              rendering is completed; otherwise, it will not

                              quit AE. Also, the preferences will be written

                              to file upon quit when the "-reuse" flag is

                              specified; otherwise it will not be written.

      "-project project_path" where project_path is a file path or URI

                              specifying a project file to open. 

                              If none is provided, aerender will work with the

                              currently open project.

                              If no project is open and no project is provided,

                              an error will result.

      "-teamproject project_name"    where project_name is a name of a

                              team project to open.

      "-comp comp_name"       where comp_name specifies a comp to be rendered.

                              If the comp is in the render queue already, and

                              in a queueable state, then (only) the first

                              queueable instance of that comp on the render

                              queue will be rendered. If the comp is in the

                              project but not in the render queue, then it will

                              be added to the render queue and rendered.

                              If no -comp argument is provided, aerender will

                              render the entire render queue as is. In this

                              case (no -comp), the only other arguments used

                              will be -project, -log, -v, -mem_usage, and

                              -close; the -RStemplate, -OMtemplate, -output,

                              -s, -e,  and -i arguments will be ignored.

      "-rqindex index_in_render_queue"       where index_in_render_queue specifies a

                              render queue item to be rendered. Options that make

                              sense when rendering a single render queue item

                              are available like with the -comp flag.

      "-RStemplate  render_settings_template"  where render_settings_template

                              is the name of a template to apply to the render

                              queue item.If the template does not exist it is

                              an error.

                              Default is to use the render template already

                              defined for the item.

      "-OMtemplate  output_module_template"  where output_module_template

                              is the name of a template to apply to the

                              output module. If the template does not exist

                              it is an error.

                              Default is to use the template already defined

                              for the output module.

      "-output  output_path"  where output_path is a file path or URI

                              specifying the destination render file.

                              Default is the path already in the project file.

      "-log logfile_path"     where logfile_path is a file path or URI

                              specifying the location of the log file.

                              Default is stdout.

      "-s start_frame"        where start_frame is the first frame to render.

                              Default is the start frame in the file.

      "-e end_frame"          where end_frame is the last frame to render.

                              Note, this is "inclusive;" the final frame

                              will be rendered.

                              Default is the end frame in the file.

      "-i increment"          where increment is the number of frames to

                              advance before rendering a new frame. A value

                              of 1 (the default) results in a normal rendering

                              of all frames. Higher increments will repeat the

                              same (frame increment-1) times and then render a

                              new one, starting the cycle again. Higher values

                              result in faster renders but choppier motion.

                              Default is 1.

      "-mem_usage image_cache_percent max_mem_percent"

                              where image_cache_percent specifies the maximum

                              percent of memory used to cache already rendered

                              images/footage, and max_mem_percent specifies

                              the total percent of memory that can be 

                              used by After Effects.

      "-v verbose_flag"       where verbose_flag specifies the type of

                              messages reported.  Possible values are ERRORS

                              (prints only fatal and problem errors) or 

                              ERRORS_AND_PROGRESS (prints progress of rendering

                              as well).

                              Default value is ERRORS_AND_PROGRESS.

      "-close close_flag"     where close_flag specifies whether or not to

                              close the project when done rendering, and

                              whether or not to save changes. If close_flag is

                              DO_NOT_SAVE_CHANGES, project will be closed

                              without saving changes. If close_flag is

                              SAVE_CHANGES, project will be closed and changes

                              will be saved. If close_flag is DO_NOT_CLOSE the

                              project will be left open; but the project is

                              left open only if using an already-running

                              instance of AE, since new invocations of AE must

                              always close and quit when done.

                              Default value is DO_NOT_SAVE_CHANGES.

      "-sound sound_flag"     where sound_flag specifies whether or not to play

                              a sound when rendering is complete. Possible

                              values are "ON" or "OFF".

                              Default value is "OFF".

      "-version"              displays the version number of aerender to the

                              console. Does not render.

      "-continueOnMissingFootage"  

                              Do not stop rendering on missing footage. Log and

                              render with placeholder color bars.

   5] EXAMPLES:

      To render just Comp 1 to a specified file:

          aerender -project /Volumes/Stuff/projects/proj1.aep -comp "Comp 1"

                   -output /Volumes/Stuff/output/proj1/proj1.mov

      To render everything in the render queue as is in the project file:

          aerender -project /Volumes/Stuff/projects/proj1.aep

      To render frames 1-10 using multi-machine render:

          aerender -project /Volumes/Stuff/projects//proj1.aep

                   -comp "Comp 1" -RStemplate "Multi-Machine Settings"

                   -OMtemplate "Multi-Machine Sequence" -s 1 -e 10 

                   -output /Volumes/Stuff/output/proj1/frames¥[####¥].psd

 

 

英文は根性と度胸で読みましょう。難しい英語ではないので、落ち着いて読めば読解できますヨ。プログラムの世界で「日本語訳のマニュアル」など待ち続けても学習はできんですからネ。

 

さっと流し見するに、renderQueue項目の各種設定(注)が遠隔操作できそうな感じです。ESTKでAfter Effectsのレンダリング周りをプログラムしたことのある人なら、特に悩まずに命令文が書けるんじゃないでしょうか。

注)*本式に言えば、「RenderQueueItem object」の「Attributes」です。CompItemをレンダーキューにaddするメソッドと、render開始のメソッドは、命令と共に暗黙で実行される感じです。

 

 

試しに、ターミナルからレンダリングを実行してみましょう。

 

After Effectsプロジェクトファイルは、「TEST」コンポが1つだけ、レンダーキューは空の状態です。つまり、あらかじめレンダーキューには何も送っていない状態です。

 

その状態から‥‥

 

  • デスクトップにある「test.aep」ファイルの
  • 「TEST」コンポジションから
  • 出力先と名前を、デスクトップに「test-prores4444.mov」で
  • レンダリング設定を16bitのプリセット
  • 出力モジュールをProRes4444のプリセット

 

‥‥にて自動レンダリングするよう、命令文を書きます。blogなので改行されてますが、実際は1行です。

*「私のユーザアカウント」はmacOS上の自分のユーザ名に置き換えてください。

*レンダリング設定と出力モジュールのテンプレートはあらかじめ用意してください。

 

/Applications/Adobe¥ After¥ Effects¥ CC¥ 2018/aerender -project /Users/私のユーザアカウント/Desktop/test.aep -comp TEST -output /Users/私のユーザアカウント/Desktop/test-prores4444.mov -RStemplate 16bit -OMtemplate ProRes4444

 

ターミナルに上文を入力したら、リターンキーで実行。

 

すると、早速バックグラウンドでAfter Effectsらしき実行ファイルが起動して、以下のようなログを吐きつつ、レンダリングが無事終了しました。

 

PROGRESS:  0:00:00:00 (1): 0 ?b

PROGRESS:  0:00:00:01 (2): 0 ?b

PROGRESS:  0:00:00:02 (3): 1 ?b

PROGRESS:  0:00:00:03 (4): 0 ?b

PROGRESS:  0:00:00:04 (5): 0 ?b

PROGRESS:  0:00:00:05 (6): 0 ?b

PROGRESS:  0:00:00:06 (7): 0 ?b

PROGRESS:  0:00:00:07 (8): 0 ?b

PROGRESS:  0:00:00:08 (9): 0 ?b

PROGRESS:  0:00:00:09 (10): 1 ?b

PROGRESS:  0:00:00:10 (11): 0 ?b

PROGRESS:  0:00:00:11 (12): 0 ?b

PROGRESS:  0:00:00:12 (13): 0 ?b

PROGRESS:  0:00:00:13 (14): 0 ?b

PROGRESS:  0:00:00:14 (15): 0 ?b

PROGRESS:  0:00:00:15 (16): 0 ?b

PROGRESS:  0:00:00:16 (17): 1 ?b

PROGRESS:  0:00:00:17 (18): 0 ?b

PROGRESS:  0:00:00:18 (19): 0 ?b

PROGRESS:  0:00:00:19 (20): 0 ?b

PROGRESS:  0:00:00:20 (21): 0 ?b

PROGRESS:  0:00:00:21 (22): 0 ?b

PROGRESS:  0:00:00:22 (23): 0 ?b

PROGRESS:  0:00:00:23 (24): 0 ?b

 

 

「フォルダを監視」より凄く楽。

 

壊れかけのテレビに頼らずに済みます。

 

ちなみに、AppleScriptはシェルコマンドを実行できますので、ちゃんとAfter Effectsの運用規則(ファイル名とか内部構造とか)を決めておけば、AEPファイルをAppleScriptドロップレットにドロップしただけで、上記の命令文を自動生成、レンダリングを実行してくれます。

 

レンダリング結果も正常。

 

 

 

 

なあ??

 

スクリプトやプログラムを覚えておくと、こういう時に役立つでしょ?

 

なので、コンピュータを使ってお金を稼ごうという人は、プログラムは覚えておいて損はないです。映像分野のように、レイヤーやファイルが膨大に存在する業種なら、なおさら。

 

 

 

よっしゃ。

 

これで簡単に、レンダリングエンジンだけでレンダリングの玉数を増やせるど。

 

 


AEさん

After Effectsはもはや我が家の万年コタツのようなもので、春夏秋冬活躍するリビングのテーブルのようなものです。あって当たり前で、そこで勉強も趣味もご飯も全部済ます万能のテーブルです。

 

私は長らくAfter Effectsで作画に相当することも実践してきました。After Effectsは24時間戦えるコンピュータのソフトウェアなので、どんなに細かい絵も寝ずにせっせと描き続けます。‥‥まあ、AEさんにとって、「描く」とは「レンダリングする」と同意ですが。

 

After Effectsを使っている人からすれば、「そんな大変なコンポジットを‥‥」って言われがちですが、‥‥だってさ、コンポジットって言ったって、実際はコンピュータじゃん?

 

大変なコンポジットでもコンピュータがレンダリングするんですから、手で細かい絵を1枚1枚描くより数千倍マシです。

 

下図のような夥しいレイヤー数の内容を、2019年以降も手描きのまま、やり続けますかネ?

 

*実は各レイヤーはプリコンしているので、実際のレイヤー数はもっと多いです。

 

 

昔はさ‥‥。どんな大変な内容でも、全部1枚1枚紙に描いていたんよ。

 

それを思えば、「大変なコンポ」なんて言ってられないです。コンポを組むのは大変だけど、逆に言えば、組みさえすれば、まさに人間離れした超人的なスタミナでレンダリングしてくれますもんネ。

 

 

 

 

半年前に久々に紙で細かいエフェクトの作画を描きましたが、「もう無理。前時代的過ぎる。寿命がいくらあっても足りない。人生の無駄遣い。」と嘆きました。いやあ‥‥もう無理だわ。

 

昔からのアニメの作り方はそれはそれで良いですが、未来、その方法で成立するのか?‥‥という限界点がまさに平成と令和の境界線だと思うのです。

 

例えば、日本の木版画(浮世絵など)は世界に誇れる技術・芸術ですが、現代に木版の道具で出版をやろうと思う人間はいないですよネ。というか、紙で出版すること自体、電子出版の台頭によって、絶対的な方法ではなくなってきています。

 

アニメも同じです。技術の転換期がやってきます。

 

 

 

今、カットアウトとか言うと、「夢見たいなことを」とか揶揄されがちですが、細かい絵を数百円でアニメーターに描かせて、何万枚も描く現場のほうが、夢‥‥というか悪夢のように思います。

 

何をするにも、1枚単価でカウントする方法論から抜け出ましょう。

 

iOSとmacOS、何らかのドローソフトとAfter Effectsがあれば、まずは初歩から色々と始められます。

 

After Effectsを「アニメ撮影のソフト」と言い続けるばかりでは、未来は見えてきません。After Effectsの真のチカラをまずは、個人レベルで研究してみてはいかがでしょう。

 

夏休みの自由課題がてら、After Effectsの初心に戻って。

 

 


After Effects 2019 ‥‥。

一年毎で更新される、最近のadobeアプリケーション群。

 

After Effectsの2019はリリース当初からどうしようもない不具合があり、初回リリースのまま放置していると様々なトラブルの発生源になります。最近、複数台でレンダリングして、一部のマシンがCC2019の初期バージョンだったので、再認識しました。

 

After Effectsの2019は、現在の最新バージョンに更新しないと危なくて使えません。

 

かと言って、最新の2019=2019年7月4日現在 v16.1.2がまともかというと、信じられないようなバグ(だろうな、多分)も残されております。

 

キャッシュの不更新は昔から相変わらずですが、最近驚いたのは、レンダーキューのウィンドウ不更新でした。

 

1カットごとに1プロジェクトファイルで保存し(レンダーキューも登録しておく)、後で数カットまとめて新規プロジェクトに読み込んでレンダリングする際に、一番最初のレンダー項目しか表示が更新されない‥‥という、After Effects歴20年以上で初めての不具合をCC2019で体験しました。

 

結構パニくります。いつまで経っても、まだ1カット目をレンダリングしているように見えるので。

 

もう少し詳しく説明しますと‥‥

 

レンダーキューのプログレスバーは普通に進行していくのですが、「現在レンダリング中」の表示が1番目の項目のまま表示が不更新、レンダキューのリストも2番目以降はレンダリング待機中のまま不更新‥‥という状態です。

 

実際は、レンダリングは順次実行されており、レンダーキューウィンドウ内の表示だけが不整合を起こしているだけです。

 

‥‥が、これはかなり混乱します。1番目(1カット目)のレンダリングがすごく時間がかかっているように見えるからです。

 

その時の私の場合、ちょうど重い内容のレンダリングを仕掛けていたので、余計、異常に気づくのが遅れました。

 

2019がリリースされて半年が経とうとしているのに、まだこんな不具合が残っているなんて、ドギモを抜かれました。‥‥この不具合って話題になってないのかな‥‥AEユーザの中で。

 

再現性がある‥‥と思われるので、後でもう一回、不具合検証のために試してみようとは思っていますが、このままだと2019はまともな動作になる前に2020に更新されそうな予感。

 

 

 

でもまあね。After Effectsはなんだかんだと融通の利くソフトウェアですから、「問題のあるバージョンはスルーすれば良い」だけです。それがCCの利点??‥‥ですネ。

 

もしバージョンアップ料金を払って、After Effects CC2019のこの出来だったら大問題ですけど、サブスクリプションだと簡単に回避できるので気にならない‥‥って、そういうスタンスも「ユーザ側の品質に対する鈍化」っぽくて問題ですかね‥‥。

 

 


After Effects 2019 使用禁止!

After Effects2019、怖い。

 

After Effects2019は、初回リリース時からバグの宝庫(ProRes4444のアルファチャンネルが反映されないなどの重大なバグとか)でしたが、しばらくの間、2019は軽い用途でも使わないことにしました。

 

昔の画像キャッシュを抱えて離さない現象を確認しました。

 

もちろん、キャッシュのクリアをしてますし、コンポジションのレイヤーからソースを表示、そのソースからFinderで表示をして、取り違いのないように厳重に何度も確認しました。

 

怖いのは、全ての場面において必ず発生するバグではなく、発生頻度が不確定な点です。

 

プレビューのキャッシュの不具合は、実は数年前から怖いバグ(というか機能障害)の1つでしたが、相変わらず、発生する時は発生します。レイヤーを不可視にして表示を消しても、画面が更新されないとか、2014年くらいの頃から(頻度は少ないですが)悩まされています。After Effectsを再起動すると治るのですが、忙しい時は立ち上げっぱなしで気づかないこともあるのです。

 

まあともかく、「置き換えたのに、画像の内容が更新されない」という状況は、大事故の元です。

 

After Effectsの2019では様々なバグ(ファイルの読み込み、プレビューの動作など)がありましたが、素材の差し替え機能の1つである「レイヤーのフッテージ置き換え」が「信用できない」のは、かなりマズイ。

 

現在、After Effects CC2018で作業開始したものは、2018のままで作業を続行していますが、途中で2019に切り替えたり、新規で2019で作品制作を開始するのは、避けた方が良いです。

 

 

*現在使用しているCSSの都合上、あまり大きなサイズの文字を使うと改行で文字が重なってしまうので、普通のサイズに戻しました。文字の高さを固定にしてたっけかな‥‥‥相対にしないとダメですネ。

 

 



calendar

S M T W T F S
1234567
891011121314
15161718192021
22232425262728
293031    
<< December 2019 >>

selected entries

categories

archives

profile

search this site.

others

mobile

qrcode

powered

無料ブログ作成サービス JUGEM