[ループ素材作成]AfterEffectsで髪の毛をエクスプレッションで揺らす方法 

#概要
AfterEffectのパペットピンをエクスプレッションで制御して動く立ち絵素材を作成します
この記事では腕等は動かさず髪の毛のみ動かします
関連記事
[AfterEffectsで髪の毛をエクスプレッションで揺らす方法](https://qiita.com/hi_tyanww/items/9412deda7f1654f21295)

#作例
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">動くゆかりさん<br>png連番だから軽い <a href="https://t.co/3JXdGEvuEw">pic.twitter.com/3JXdGEvuEw</a></p>&mdash; ひーちゃん (@hi_tyanww) <a href="https://twitter.com/hi_tyanww/status/1217400384337006592?ref_src=twsrc%5Etfw">January 15, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

お借りした素材
<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">【ver.1.4.0】結月ゆかりの立ち絵【素材】<br>うおおおおおやっと形になりました<br>ゆかりちゃんの立ち絵です。<br>レイヤー分割が増えてだいぶわかりづらくなりましたが、<br>慣れれば使いやすいと思います。<br><br>DLはこちらからどゾ！<br>■<a href="https://t.co/pwia46bMG4">https://t.co/pwia46bMG4</a><br><br>■ニコニコ静画<a href="https://t.co/Shku6OcTXX">https://t.co/Shku6OcTXX</a> <a href="https://t.co/TfyW0ENhyt">pic.twitter.com/TfyW0ENhyt</a></p>&mdash; 薙派（ちぱ） (@arutana) <a href="https://twitter.com/arutana/status/1136995986377601024?ref_src=twsrc%5Etfw">June 7, 2019</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

この立ち絵を使って学習する場合立ち絵製作者様に迷惑をかけないようreadmeをよく読んでから使って下さい

#解説
[前回の記事](https://qiita.com/hi_tyanww/items/9412deda7f1654f21295)では髪の毛が左右に動き続けるコードを解説しました。今回は設定したコンポジションの時間に髪の毛が丁度1往復し、ループする素材作成支援コードを解説します
以下コード

```
var moto=
;
var idoux=100;
var idouy=100;
var x=moto[0];
var y=moto[1];
var total=thisComp.duration;
var half=total/2;

//moto=元の座標
//idoux=X方向にピンを移動させる距離
//idouy=Y方向にピンを移動させる距離
//x=ピンのx座標
//y=ピンのy座標
//total=このコンポジションの合計時間（分）
//half=このコンポジションの合計時間の半分

x=x+linear(time, 0, half, 0, idoux);
if ( time > half )
	x=x+linear(time, half, total, 0, -idoux);

y=y+linear(time, 0, half, 0, idouy);
if ( time > half )
	y=y+linear(time, half, total, 0, -idouy);
[x,y]
```

#ループ素材作成手順
まずコンポジションを作成します
この工程を踏まなければ立ち絵素材を読み込んだ際立ち絵のコンポジションが前回作業した設定で自動的に作られてしまう為必ずやります
サイズ設定は自由、フレームレートは30。デュレーションは4秒

![konpo.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299114/73692ad1-fa73-6a31-347d-03f159a08e4b.jpeg)

動かす為の下準備の説明等は省略して今回ももみあげを動かします

![作業画面2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299114/5990d537-aee2-2a45-cf9e-db6c7a2971e9.jpeg)


（スクリーンショット内のコードは改良前の物です）
もみあげの根本にピンを刺し次に真ん中辺りに刺して
パペット→メッシュ→パペットピン(真ん中のピン）→位置の時計マークにAltキーを押しながらクリックしてエクスプレッションを書ける状態にします。次に上記のコードをコピー&ペーストして

```
var moto=
;
```
＝の後にピックウィップで動かすパペットピンの座標にやり入力します
後は移動距離を指定して完成です
その後動かしたい髪の毛全てに上記の作業を行いレンダリング
![出力.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/299114/17c3b96d-79c1-1b06-5a1e-adbbc63d7b72.jpeg)

PNGシーケンスのRGB+アルファで出力
後は出力したファイル群をPNGシーケンスとして読み込みタイムリマップで好きな時間指定して完了です
今回の作例は口パクはやらない事を想定して出力しましたが口パクをやる時は口のレイヤーと上半身の揺れを消してレンダリング。口パクレイヤーを重ねて対応します
上半身や腕、頭を動かしたい時は[前回の記事](https://qiita.com/hi_tyanww/items/9412deda7f1654f21295)と同じ方法で作成します

参考資料
[エクスプレッション言語](https://helpx.adobe.com/jp/after-effects/using/expression-basics.html#the_expression_language)の配列と多次元プロパティ
[エクスプレッション言語リファレンス](https://helpx.adobe.com/jp/after-effects/using/expression-language-reference.html#interpolation_methods_expression_reference)のInterpolation のメソッド（エクスプレッションのリファレンス）
[エクスプレッションの例](https://helpx.adobe.com/jp/after-effects/using/expression-examples.html#expression_example_start_or_stop_wiggle_at_specific_time)の特定の時間でウィグルを開始または停止する