サイトはこちら SUNRISE MOON

After Effectsのスクリプトの技術書を書いた話

After Effectsスクリプトの技術本を、自動化シリーズの著者である古籏一浩さんと一緒に執筆しました。

After Effects自動化サンプルプログラムという本です。

f:id:Misaki_Akatsuki:20170430010304p:plain

上下巻で1100ページ以上となかなかのボリュームです。

リンク()
AEP Projectには宣伝記事を書いたので、ブログではどんな感じで進めたのかという覚書のようなものを書き残しておこうと思います。

はじまり

遡ること2015年3月、AEのスクリプトの公開数も増えてきて、だんだんと管理するスクリプトもパターン化していました。
そこでいくつかのスクリプトは、GitHubでコードを公開していこうと決めました。
他にも当時、SilveさんのAE技術本(Ability Easing 03)にも参加させていただいた経験から、自分でもスクリプトの技術本が出せないか検討していました。

当時私が考えていたものは、関西AEオフで発表したスクリプト解説を大幅に拡大・拡張したもので、初心者がサンプルを簡単に実行できるまでを解説するようなスクリプト本でした。

そんな時、Twitterで古籏さんからAEスクリプト本の共著というお誘いをいただき、願ってもない形で実現できることになりました。

執筆にあたって

まずしたことは、すでに書いてあるスクリプトの中から技術本に収録して参考になりそうなコードを抽出することでした。

本収録に当たっては何より実用的なものである必要があると考え、抽象化していた短い関数やプロトタイプといったものを中心に、汎用性のあるように書き換えて本用にしました。

スクリプティングガイドに載っている基本的な制御は古籏さんが執筆されていたので、私は主にそれらを組み合わせた応用的なものを書き、またAEには切っても離せないScriptUIも入れることになりました。

構成では本として気になるところはもちろん、After Effectsの解説や用語としておかしい個所を指摘し、案を出したり出してもらったりと直してもらいました。
ブログなどでしか載っていない情報は困りますね・・・。ExtendScript Toolkitとにらめっこしたりと結構大変でした。


しかし一番大変だったのはやはり校正作業でしょうか。
本として世に出す以上で、出来る限り間違った情報を載せないようにするため、ガイドはもちろんAdobeAfter Effectsのブログ、フォーラムと開発者の方のTwitterを常に確認するようにしていました。
事実、執筆中にメジャー級のアップデートがいくつもあり、その度に追加原稿を書いていました。

校正は何回したかは覚えていませんが、1万ページ分は読んでいるはずです。
書いている内に追加したい項目が増え、その分校正も増えという非効率だったなと今なら思います。

執筆段階では上下巻構成ではなく1冊の予定でした。ぎりぎりページ内か、ということでいくつかの要素を削るかもという話も出ていて、計算してみると到底入りきらないということになり、上下巻構成になりました。
私の知らないところで編集の方が頑張ってくれたのではと思います。

上下巻になったことで、入れたい要素をもれなく入れることができました。
今目次を見ても、どれかを削るということは考えられません。
それだけAEのスクリプトが充実しているということでもあります。

書いては校正しを繰り返し、2017年、終わりの見えない作業に思えたものが最終校正となることになりました。
開始から2年ほど、すべての期間で作業していたわけでなく、かなりゆったりとしたペースではあったので、ここから一気に作業が進みました。
2~3月、ついに数回繰り返した最終校正も終わり、4月の発売と相成りました。

作家の話の、本は編集と作るという作業をかなり身近に感じました。
こちらはほぼ原稿執筆と校正ですが、それがリターンとして本の形で返ってくるのが面白かったです。

出来た本を見るとAE愛がなければ完成はしなかったなということ、そしてこの本の執筆を通して、ますますAEに詳しくなったことが嬉しいですね。
しがないAEユーザーの一員でしたが、AEスクリプト本の著者ですと自己紹介できます。


さて、そんなこんなでできたスクリプト本ですが、いくつかポイントをご紹介します。
まず量が多いです。ページ数だけ見ても、1100ページ以上あります。
基本的に本の内容は本用に書かれています。かなり細かくプロパティのアクセスなども書かれているので、わかりやすいかと思います。それぞれ変化のある項目は実行前と後の図を入れて、結果がわかるようになっています。
そして、そのサンプルコードはダウンロードできます。
ダウンロードしてすぐに実行してみることができるので、初心者の方にもおすすめです。
サンプルコートを少しずつ改造してきたりと、各々試してみてください。
もちろん、AE上級者の方にもきっとお役に立てると思います。TranShapeなど実際のスクリプトで使用しているコードをいくつも手入れして収録しています。

ぜひお手に取ってみてください!

f:id:Misaki_Akatsuki:20170430010304p:plain

www.impressrd.jp

Visual Studio CodeでSublime Textと同じUppercase, Lowercaseのショートカットを設定する

Sublime TextではCtrl+K, Ctrl+LでLowercase、Ctrl+K, Ctrl+UでUppercaseができます。

Visual Studio CodeでSublime Textと同じUppercase,Lowercaseのショートカットにするには、キーバインドに以下のコマンドを登録すればOKです。

 

[
{ "key": "ctrl+k ctrl+u", "command": "editor.action.transformToUppercase",
"when": "editorTextFocus && !editorReadonly" },
{ "key": "ctrl+k ctrl+l", "command": "editor.action.transformToLowercase",
"when": "editorTextFocus && !editorReadonly" }
]

 

2016年 自作AEスクリプト10選

去年に引き続き、今年も自作After Effectsスクリプトの10選です。

なお、選出基準は今年作成・アップデートのものですので、去年とかぶりもあります。

1. View Snap

View Snap - SUNRISE MOON

f:id:Misaki_Akatsuki:20161231182243p:plain

旧Current Time Snapshot。機能拡張に伴ってスクリプト名を変更しました。

 

2. Divide Text

Divide Text - SUNRISE MOON

テキストレイヤーのテキストを一文字ずつ分けるスクリプト

 

3. Telop Text Importer

Telop Text Importer - SUNRISE MOON

f:id:Misaki_Akatsuki:20161231182716p:plain

マーカーでソーステキストを制御するテキストレイヤーを生成するスクリプト

 

4. Align3D

f:id:Misaki_Akatsuki:20161231183048p:plain

3D整列を行うスクリプト。自作スクリプトの中ではダントツで一番ユーザー数が多いと思います。

なお現在のメジャーバージョンは2で数年以上続いていますが、来年ぐらいには3になる予定です。

 

5. PuppetHairFx

PuppetHairFx - SUNRISE MOON

複数選んだピンの一つを中心に振り子運動するエクスプレッションを追加するスクリプト。オリジナルはむらしんさん、開発が自分という感じです。 

 

6. Marker Conductor

CC 2017でスクリプトによるコンポジションマーカーへのアクセスが解禁され、いよいよコンポジションマーカーにも対応。

2017年の早い時期にメジャーアップデートを予定しています。

 

7. Add Marker with Comment

Add Marker with Comment - SUNRISE MOON

f:id:Misaki_Akatsuki:20161231183615p:plain

プロンプト入力したテキストのコメント付きマーカーを追加するスクリプト

 

8. Count Comment Marker

Count Comment Marker - SUNRISE MOON

f:id:Misaki_Akatsuki:20161231183721p:plain

マーカーの数+1カウントのコメントがついたマーカーを追加するスクリプト

 

9. Z Depth Gradient

Z Depth Gradient - SUNRISE MOON

カメラ距離に応じたデプスのグラデーションを適用するスクリプト

 

10. Anchor Point Gravity 

※未公開

アンカーポイントを中心の位置にするスクリプト。3Dレイヤーにも対応。

いろいろあって未公開ですが、2017年の早い時期には公開予定。

 

結局今年、新作の曲と動画は出ませんでしたね・・・

ちなみに来年はスクリプトだけではなく、After Effectsプラグインの公開などしていくので、来年もよろしくお願いします!

 

大事な予定を忘れない為に今すぐ覚えたいAEスクリプトのテクニック

この記事はAfter Effectsアドベントカレンダー24日目の記事です。
昨日の記事は@matsurai25さんの「AfterEffectsのコンポジションを文字列保存する話」でした。

After Effectsを触っていると、ついつい時間を忘れてしまいます。
例えばこの記事を公開したのは12月24日です。明日はクリスマスですが、気付かずにAEを立ち上げ、家に帰ってからケーキを買い忘れてたことを思い出すなんてこともありえます。
そこで今回は、そういった大事な予定を忘れないためのスクリプトテクニックを伝授いたします!

スクリプトの種類

AEのスクリプトには4つの種類があります。
1つはメニューから実行するスクリプトです。
これはユーザーが自身の任意のタイミングで実行するものです。
自動で実行はされません。

2つ目はScriptUI Panelsフォルダーに入れて使用するスクリプトです。
ウィンドウメニューからドッキング可能なGUIスクリプトです。

f:id:Misaki_Akatsuki:20161223225110p:plain

ランチャーを始め便利な機能のスクリプトが多く、使用されている方も多いのではないでしょうか。
ScriptUI Panelsフォルダーのスクリプトは、UI上で表示されていると次回も同じように実行されます。

残りの2つは似ていますが、少し違います。
Startup
Startupのフォルダーに入れたスクリプトはAEが起動し、UIが表示された時点で自動的に実行されます。
プロジェクトを開こうとする場合は、プロジェクトファイルが開かれる前に実行されます。
Shutdown
Shutdownフォルダーに入れたスクリプトはAEが終了する際に自動的に実行されます。

今回はこの二種類を使用して、予定を忘れないようにしましょう。

今日の予定を確認する

f:id:Misaki_Akatsuki:20161223225248p:plain

そうでした、TSUTAYAのCDを返しに行かないといけません。

買い物メモを確認する

f:id:Misaki_Akatsuki:20161223225402p:plain

マウントレーニアカフェラッテは必須です。

Splatoonのステージ情報を確認する

f:id:Misaki_Akatsuki:20161223225644p:plain

今ガチマッチはガチホコのようです。したい。(イカステージを改造)

Splatoonのステージ情報を確認するでは非公式APIを使用して情報を取得しています。

このように、ExtendScriptにはネット接続も可能なので、特定の処理をネットに上げたりネットから特定の情報を取ってくることもできます。

実用的なスクリプト

予定を確認するだけではつまらないので、実際に実用的なものにしたスクリプトを紹介しましょう。

sunrisemoon.net

f:id:Misaki_Akatsuki:20161223224231p:plain

Auto Backupは環境設定に保存されている、最近使用したプロジェクトファイルを取得し、コピーを保存するスクリプトです。
AEにはもともと自動でバックアップを保存する機能もありますが、このスクリプトではスクリプトの実行時にファイルコピーを実行します。

なぜStartupとShutdownを使用するか

ScriptUIでドッキングしたスクリプトも、起動後GUIが構築される段階で実行されます。
しかし、StartupとShutdownフォルダーに入れたスクリプトは、GUIを介さずに自動で実行する利点があります。
特定のタイミングで必ず実行されるため、後処理や前処理には最適です。
Auto Backupでは最近使用したプロジェクトのパスを使用しましたが、これ以外にも環境設定には様々な値が保存されています。
例えば、Shutdownフォルダーに入れ、環境設定に保存されている特定色をリセットしたりすることができます。

上記の例で紹介した、ネット接続と組み合わせれば、買い物メモをアップロードしてもらい、AEの終了時に確認なんてこともできます。
他にも、StartupとShutdownを組み合わせることで、AEの起動時間を計算することもできます。
ケーキを買い忘れない為にも、ぜひチャレンジしてみてください!

明日、最終日の担当は@AE_OFFさんで「統括。」です。

AdobeのブログのRSSをカテゴリー別に取得する

今年だったと思いますが、いつからかAdobeの公式ブログが統一され、以前の個別に取得していたRSSがすべてのポストを返すようになってしまいました。

統一されたブログではポストごとに対応するカテゴリーが割り振られています。

例えば、Creative CloudAfter EffectsのカテゴリーURLは以下の通りです。

https://blogs.adobe.com/creativecloud/category/after-effects/

 

URLのcategory以下にカテゴリーの種類をつけ、そのポストのみを表示することができます。

該当のカテゴリーのRSSを取得するにはそのURLの最後にfeedをつければOKです。

After EffectsのカテゴリーのURLだと以下のようになります。

https://blogs.adobe.com/creativecloud/category/after-effects/feed/

 

また、記事の著者ごとに取得することもできます。(URLはAEの開発者のもの)

https://blogs.adobe.com/creativecloud/author/tim-kurkoski/feed/

 

ちなみに、日本のCreative Stationのブログでは、タグごとにRSSを取得できます。

https://blogs.adobe.com/creativestation/tag/after-effects/feed/

 

App Extensionを使用してブコメを見る(Workflow・Sidefari)

【追記】バージョン3.11で共有ボタンからコメントが見れるようになりました。

iOSでは公式アプリがありますが、一向にApp Extensionからコメントを見る方法が実装されません。(記事執筆当時検討はしているみたいですが)

ブックマークレットではなくExtensionを使用するメリットは、アプリ内ブラウザからでも利用できる点です。待っても来ないので、とりあえず方法を探してみることにしました。

今回はWorkflowを使用することにします。

Workflow: Powerful Automation Made Simple

Workflow: Powerful Automation Made Simple

  • DeskConnect, Inc.
  • 仕事効率化
  • ¥360

こちらのサイトのサンプルで、Workflowを使ってSafariで記事のはてなブックマークのコメントを見る方法が紹介されています。

reliphone.jp

ただ、この方法はSafariで新規タブを開くことになります。

また、はてなブックマークのアプリ自体に飛ばすものもありました。

Workflowを使ってどこからでもブコメを読む - mmkns

この辺りは人によって好みが分かれると思うのですが、私の場合Safariではタブを保存したいもの以外はむやみに開きたくない派です。でないとどんどん増えていってしまうので・・・。

公式のアプリに飛ばすのも、元のアプリに戻るのがめんどうです。なので、Sidefariに飛ばしますことにしました。 

Sidefari - Web browsing companion for Safari

Sidefari - Web browsing companion for Safari

  • Francisco Cantu
  • ユーティリティ
  • ¥120

この二つのアプリを使用して以下の手順で実現します。

  1. App ExtensionからWorkflowを起動
  2. Workflowではてなブックマークのコメントを見るページにURLを変換
  3. URLをSidefariに渡す

1.1.2のアップデートでSidefariのURLスキームが追加されましたが、iPhoneiPod touchでは開くことができません。iPadでは3の手順を飛ばして起動できるはずです。

iPhoneiPod touchでは3の時点でExtensionに渡します。Workflowがインストールされているなら下のリンクから追加できます。

ブコメ (iPhoneiPod touch)

ブコメ(iPad) ※iPadでの動作未確認

下のほうは一応作ったものの、iPadを持っていないので起動確認はできていません。

iPhoneiPod touchではSidefariまで飛ぶものの、リンクはエラーで開けないと思います。

Sidefariの開発者に問い合わせたところこんな返事をもらいました。

使い方

1. SafariからApp Extensionの「Run Workflow」を選択

f:id:Misaki_Akatsuki:20160117075627p:plain

2. ブコメを選択

f:id:Misaki_Akatsuki:20160117075636p:plain

3. (iPhoneiPod touchの場合)「Open Modally in Safari」を選択

f:id:Misaki_Akatsuki:20160117075642p:plain

これでOKです。

元のページに戻る時はSafariで戻る時のように右スワイプすれば元のページに戻ります。Workflowの画面が出ますが自動で閉じるはずです。

最後にもう一度置いておきます。

ブコメ (iPhoneiPod touch)

ブコメ(iPad) ※iPadでの動作未確認

ここまで書いたもののブックマークレットの方が簡単だしそもそも公式で実装してくれたら何も文句ないので早く実装してほしいものです。

2015年 自作AEスクリプト10選

今年もたくさんAfter Effectsスクリプトを作りました。

というわけで自作のスクリプトの10選をしたいと思います。

選ぶ基準は今年公開かアップデートしたものです。

 

1. Flare&Para

Flare&Para - SUNRISE MOON

f:id:Misaki_Akatsuki:20151231210434p:plain

アニメ撮影でよく使用される(らしい)フレア・パラを追加するスクリプト

AEP Projectで公開されていたFP-Lancherというスクリプトをリメイクっぽくしたものです。

ae-users.com

ソースを公開しているので、他のエフェクトに対応したりなどで使用されてもいいかもしれません。

 

2. Effect Manager

Effect Manager - SUNRISE MOON

f:id:Misaki_Akatsuki:20151231210755p:plain

二つのリストでカテゴリ選択、ダブルクリックでエフェクトを適用するスクリプト

お気に入り機能(チェックマーク)で管理が楽。

 

3. Auto Backup

Auto Backup - SUNRISE MOON

自動保存スクリプト。昔Lifelineって名前でした。

 

4. List Browser

List Browser - SUNRISE MOON

f:id:Misaki_Akatsuki:20151231211241p:plain

AEのメディアブラウザーはほんとにメディアだけでスクリプトの実行やアニメーションプリセットの適用ができないのが残念。なのでそれをできるように。

batファイルの実行はもちろんファイル開いたりもできます。

 

5. Marker Conductor

aescripts.com

指定したBPM・秒ごとにマーカーを打つスクリプト。メジャーアップデートでaescriptsに公開しました。

 

6. Current Time Snapshot

Current Time Snapshot - SUNRISE MOON

f:id:Misaki_Akatsuki:20151231211609p:plain

現在時間のフレームを保存するスクリプト。最近気付いたけどCC 2014とかでも調整レイヤー挿んだりするとうまくできないっぽい・・・。

 

7. TranShape

aescripts.com

f:id:Misaki_Akatsuki:20151231211926p:plain

シェイプ操作スクリプト。2014年末から初頭にかけてこれにかなり時間かけてました。

機能追加しようとしたらエラーでできないというどうしようという・・・。かなりの自信作です。

 

8. Effect Mask

f:id:Misaki_Akatsuki:20151231212251p:plain

CC 2014で追加されたエフェクトマスクの機能。その補助スクリプトです。

 

9. Text to Layers

Text to Layers - SUNRISE MOON

f:id:Misaki_Akatsuki:20151231212550p:plain

テキストファイルの内容を一行ずつテキストレイヤーとして追加するスクリプト

 

10. イカステージ

イカステージ - SUNRISE MOON

f:id:Misaki_Akatsuki:20151231212751p:plain

Splatoonのステージ情報を見るスクリプト

何気に今年一番反響あったスクリプトだと思う。

あとSplatoon楽しいです。

来年もいろいろ作って公開しようと思います。

というか動画と曲結局今年公開しませんでしたけど種っぽいのは増えてるので来年出ると・・・いいね・・・。

 

来年もよろしくお願いします!!