Sakusora Materials

【After Effects】エクスプレッションの入門の入門【非プログラマー向け】

【After Effects】エクスプレッションの入門の入門【非プログラマー向け】

非プログラマーの私が、同じくプログラミングの経験がない映像クリエイターの方に向けて、エクスプレッションについて苦労したことと学んだことをご紹介します。

エクスプレッションとは?

エクスプレッションとは、いわばプログラミングの一種です

エクスプレッションは、JavaScript 言語というプログラミング言語を基に作られているそうです。

エクスプレッションが使えると

・5分かけてキーフレームを打って作ったアニメーションがたった10秒で表現できたり
・そもそもキーフレームだけでは絶対できない表現が作れたりします

しかし、YouTubeなどでAfter Effectsのチュートリアルを勉強しているとき、最も苦戦するのが「エクスプレッション」ですよね!?

エクスプレッションは、プログラミングを勉強している人にとってはごく簡単なレベルなのかもしれませんが、プログラミングを知らない人にとっては、ものすごくハードルが高く感じます

ちなみに公式では、

エクスプレッション言語は、標準の JavaScript 言語に基づいていますが、エクスプレッションを使用するために JavaScript の知識は必要ありません。ピックウイップを使用するか、エクスプレッションの単純なサンプルをコピーして変更するだけで、エクスプレッションを作成できます。

エクスプレッションの基本

エクスプレッションを使用するために JavaScript の知識は必要ありません。」とあります。

ソラくん
ソラくん

いや、コレ嘘です(笑)

確かにチュートリアル通りに入力またはコピペすれば再現は可能ですが、これではぜんぜん応用が利きません!

サクちゃん
サクちゃん

ちょっと自分なりに変更を加えようとすると、エラーが頻発します

私はエクスプレッションを「とにかく色々いじって、感覚で覚えていこう!」と頑張ってみたのですが、効率が悪かったと感じました。

「エクスプレッションを使ってみたい!」とお考えの方には、

まずは「最低限のJavaScriptの知識」を勉強しておくことをオススメします!

そのうえで、使いながら感覚を掴んでいく方が学習効率は良いと思います!

エクスプレッションを書く時の基本ルール

エクスプレッションを勉強するうえで、まず覚えておきたいのがコードを書く際のルールです。

今回はエクスプレッションの基となっているJavaScriptの基本ルールについて、

私がルールを知らなかったためにエラーで困っていた2点だけに絞って紹介していきます。

空白や改行

エクスプレッションには、空白や改行がよく使われています。

空白や改行自体にはコードとしての意味はなく、コード文を読みやすくするために使われています。

そのため、基本的に自由に式中や文中に挿入することができます。

なので、After Effectsのチュートリアルを勉強しているときも、スペースの数を数えたり、改行の位置を合わせる必要はありません!

上記は、「1秒間に1回、100pxの振幅で揺らす」という指令です。
スペースをたくさん入れてもコードには影響しません
さらに、改行してもエラーは出ません!

ただし、単語の途中で空白を入れたり改行するとエラーになるので注意してください。

「wig gle」と間にスペースを入れるとエラーになりました

よく使う3つの記号

この3つが重要です

セミコロン「;」カンマ「,」ピリオド「.」

エクスプレッションの中には、たくさんの記号が含まれています

この3つはとてもよく使う記号なのですが、感覚的に覚えているとよく打ち間違えてエラーを起こすので、整理して覚えておきましょう!

  • 「文」を区切るにはセミコロン「;」
  • 「数値」(プロパティとプロパティの間)を区切るにはカンマ「,」
  • 「項目」を区切るにはピリオド「.」

この中で私が特に苦戦したのはセミコロン「;」です。

実はエクスプレッションでは、文末にセミコロンを付けない場合でも正常に動作します。

そして先ほどお伝えした通り、文の改行は自由に行えます。

しかしセミコロンを付けずにコード文を改行した場合、意図しない位置で文が区切られて予期しないエラーが起きることがあります!

逆に、セミコロンがないためエラーが出るコード文なのに、改行によりエラーが出なくなる場合もあります!

この辺りが非常にややこしいです!

例えば、よく使う「if else構文」

下記は、「チェックボックスで表示のON/OFFを切り替える」という制御ができます。

チェックボックスが「オフ」の時、シェイプの不透明度が0になり、
チェックボックスが「オン」の時、シェイプの不透明度が100になります!
①上記のように、「文末のセミコロン」をとっても、適当なところで「改行」してもエラーは出ません
②一方で、「elseの前のセミコロン」を消すとエラーになります
③しかし「else」の直前で「改行」すると、文が区切られてエラーが無くなります!!

私は上記のルールを知らず、「なぜか分からないがエラーが出る時」と「なぜか分からないがエラーが出ない時」があり、非常にスッキリしない不思議な気持ちになりました。

ソラくん
ソラくん

かなり長い期間悩んで時間を浪費してしまいました・・・

チュートリアルで学んだエクスプレッションを引っ張り出して、自分で作った別のプロジェクトに貼り付けるということはよくあると思います。

チュートリアルの見本では文末にセミコロンを付けない場合でも、自分できちんとセミコロンを付ける癖を持っておかないと、私のように後で後悔する可能性があります!

まとめ

今回は、「エクスプレッションの入門の入門」として、非プログラマーの私がエラーで苦しんだ「空白や改行」「よく使う3つの記号」の使い方と意味についてご紹介してきました。

After Effectsエクスプレッションは本当に奥が深く、私自身もまだまだ使いこなせておりません。

結局のところ、使いながら感覚を掴んでいくしかないのだと思いますが、「最低限のJavaScriptの知識」を勉強しておく方が効率的です。

回り道に感じるかもしれませんが、ぜひ参考にしてみてください。

最後までお読みいただいて、ありがとうございました。

今回の記事に参考になれば幸いです!