loopOut("cycle",0) を解剖すると?

エクスプレッション ~loopOutで繰り返しアニメーション~で書いた
loopOut(“cycle”,0)
について、できるとこまで解釈してみようと思います。


疑問点が4つありました。

loopOutはLoopoutじゃダメなの?
cycleってなにさ。
ダブルクォーテション(”)を使う意味は?
最後の「0」(ゼロ)が意味することは?

では、一つ目から…
■loopOutはLoopoutじゃダメなの?

エクスプレッションを使う時はこれがルールだそうです。JaveScriptのルールが起源みたい。
つまり、2ワード以上のコマンドは、最初のワードは小文字で、2番目以降のワードは大文字で始める。

例えば、
valueAtTime()
secondWiggleDimention
iPhone

これはcamel caseと呼ばれます。
camelはラクダ。caseは大文字小文字に関する単語。
ラクダのコブみたいに、大文字部分がでこぼこするから、この名がついたのでしょうね。

■cycleってなにさ。
これはループ設定の一種で、一番ポピュラーなもの。

たとえば「地点A→地点B→地点C」にcycleと命令すると、
「地点A→地点B→地点C」という移動をリピートするのです。

前記事では、往復運動なので、
「地点A→地点B→地点A」にcycleと命令しました。
これで「A→B→A」という往復運動を繰り返すのです。

ちょっとだけ楽をする方法はあります。
「地点A→地点B」という往路だけキーフレームを打ち、以下のエクスプレッションを書きます。
loopOut(“pingpong”,0)

そう、cycleの代わりにpingpongです。
直訳すると卓球なので、勝手に跳ね返る運動をやってくれます。
その他のループ設定として、offsetとcontinueというのもあります。

■ダブルクォーテション(”)を使う意味は?
AEに文字列(string)と変数(variable)を混同させないためだそうです。

ちなみにシングルクォーテション(’)でもよいようです。
トレーニングブックにこのことは説明が見つからなかった…

この部分はイメージとしては分かるけれど、自信が無いので例の教則本からそのまま引用します↓
In JavaScript, you always wrap strings in quotation marks (double or single quotes): “cat”, ‘dog’, “123”, “99skiboo”, and “@#%&!” to name a few. Why? Because many strings look suspiciously like variables. [中略] If you omit the quotation marks, After Effects will get confused and think you’re talking about a variable instead of a string.

紙の本みたいに付箋が貼れないから、ここに書いておかないと絶対忘れるな…
kindle便利なとこも多いけど、紙が優秀な面ももちろんあります。

話を戻すと、ようは文字列にはクォーテション(引用府)を付けろということですか。
そういえばもきゅ顔を揺らしたのを作ったときのエクスプレッションも…

temp = thisComp.layer(“オーディオ振幅”).effect(“両方のチャンネル”)(“スライダー”);
[temp, temp]

ここのダブルクォーテションも意味があったのですね。

■最後の「0」(ゼロ)が意味することは?
「0=全部」ということです。

つまり、「地点A→地点B→地点C」を全部繰り返しなさい、ということ。
もし、「1」や「2」などを代わりに使うと?

実際に作ったほうが早いのでやってみた。
キーフレーム3つだと分かりにくいような気がするので、4つにしてみました。

ゆっくりが1秒ごとに「地点A→地点B→地点C→地点D」と移動するキーフレームを打ちまして、
エクスプレッションは以下の通り設定します:
loopOut(“pingpong”,1)

つまり、跳ね返る繰り返しであるpingpongで、コンマの後の数値を「1」にします。
20120708_1

図に説明しちゃってますが、この時「1」は以下の意味を持ちます:
最後のキーフレームから「1つ」戻って繰り返す

そして実際はこのような動きをします↓

あー、1回目はA〜Dまで移動して、2回目以降「1」が適用されるんですね。
すなわち、CとDの往復を繰り返す。
なるほど。

でも、なんで後ろから?
それはloopOutだからだと思います。
もしloopInなら、前から数えるはずです。たしかそうだったはず。
ということで4つの疑問は解決かしら?

3つ目のクォーテションに関して怪しいんだが…
でも今の私のスペックなら、この程度まで分かっていれば十分ですよ。きっと。
ところで、関係ない話ですが、ゆっくりでとある動画を思い出しました。

これはゆっくりの正しい使い方!


コメントを残す

メールアドレスが公開されることはありません。