見出し画像

お熱とAEと Sep 08, 2024

もう9月。
時間の流れが周り空間だけ早くなってない?

先週末から久しぶりの高熱で、少しダウンしてました。39度近くまで熱がでていて、寒いのか暑いのかわならないぐらい寝苦しい。
今日のお昼の時間帯は、少し熱が下がって動ける感じだったのですが、夕方ぐらいから喉痛い。火曜日には外に行くお仕事があるから、それまでには何とかしたいなぁ・・・。

と、日記はこれくらいにして、続けて内容が無い投稿だと申し訳ないので、役たたないTipsを置いておきます←ぉぃ

Xのフォロワーさんで、「誕生日なのに風船飛ばない」ってポストがあったので、ChatGPT先生にお願いしてみることに。
AE(Adobe AfterEffects)が使えるので、それ用の質問をしてみました。

最終的には、こんな感じのエクスプレッションになりました。

// freq、amp、ySpeedのランダム範囲を指定
minFreq = 0; // 最小の揺れの頻度
maxFreq = 1; // 最大の揺れの頻度
minAmp = 20; // 最小の揺れの大きさ
maxAmp = 80; // 最大の揺れの大きさ
minYSpeed = -550; // 最小の上昇スピード
maxYSpeed = -250; // 最大の上昇スピード

// コンポジションのサイズを取得
compWidth = thisComp.width; // コンポジションの幅
compHeight = thisComp.height; // コンポジションの高さ

// 各レイヤーごとにランダムな初期位置、freq、amp、ySpeedを決定
seedRandom(index, true); // レイヤーのインデックスを使って乱数のシードを固定
startX = random(0, compWidth); // X軸の初期位置をコンポジションの幅内でランダムに設定
startY = random(0, compHeight); // Y軸の初期位置をコンポジションの高さ内でランダムに設定
freq = random(minFreq, maxFreq); // freqをランダムに設定
amp = random(minAmp, maxAmp); // ampをランダムに設定
ySpeed = random(minYSpeed, maxYSpeed); // ySpeedをランダムに設定

// 現在の位置
x = wiggle(freq, amp)[0] + startX; // X軸はランダムに揺れ、初期位置から開始
y = startY + (time * ySpeed); // Y軸は初期位置からランダムなスピードで上昇

[x, y]

ChatGPT

出来た動画がこちら。

こんな感じで、ランダムに風船が飛び立ちます。
▼以下は、ChatGPT先生にお願いした手順が書いてありますが、面白くもなんとも無い記事なので、お暇な方だけどうぞ。

1.最初の質問

「AEのエクスプレッションで、複数のレイヤーが左右にゆらめきながら上昇するスクリプトを教えてください。それぞれのレイヤーはランダムな動きになります。」

// X軸(左右の揺れ)にwiggleを使い、Y軸(上昇)はtimeで制御
freq = 2; // 揺れの頻度(数値を変えると動きが変わります)
amp = 50; // 揺れの大きさ(数値を変えると動きが変わります)
ySpeed = -100; // 上昇するスピード(負の数で上昇します)

// 現在の位置
x = wiggle(freq, amp)[0]; // X軸はランダムに揺れる
y = position[1] + (time * ySpeed); // Y軸は一定速度で上昇

[x, y]

ChatGPT

と、こんな感じで、エクスプレッション(スクリプト)を教えてくれる。
ただ、freq amp を各レイヤーに設定して制御するのは手間が掛かりそう・・・と考えまして。

2.2つめの質問

「freq amp の値をランダムに各レイヤーに割り振るスクリプトを教えてください」

// freqとampのランダム範囲を指定
minFreq = 1; // 最小の揺れの頻度
maxFreq = 3; // 最大の揺れの頻度
minAmp = 20; // 最小の揺れの大きさ
maxAmp = 80; // 最大の揺れの大きさ
ySpeed = -100; // 上昇するスピード

// 各レイヤーごとにランダムなfreqとampを決定
seedRandom(index, true); // レイヤーのインデックスを使って乱数のシードを固定
freq = random(minFreq, maxFreq); // freqをランダムに設定
amp = random(minAmp, maxAmp); // ampをランダムに設定

// 現在の位置
x = wiggle(freq, amp)[0]; // X軸はランダムに揺れる
y = position[1] + (time * ySpeed); // Y軸は一定速度で上昇

[x, y]

ChatGPT

みると、Y軸(上昇するスピード)が一定だったので、次の質問。

3.3つめの質問

「上昇するスピードもランダムにしたい」

// freq、amp、ySpeedのランダム範囲を指定
minFreq = 1; // 最小の揺れの頻度
maxFreq = 3; // 最大の揺れの頻度
minAmp = 20; // 最小の揺れの大きさ
maxAmp = 80; // 最大の揺れの大きさ
minYSpeed = -150; // 最小の上昇スピード
maxYSpeed = -50; // 最大の上昇スピード

// 各レイヤーごとにランダムなfreq、amp、ySpeedを決定
seedRandom(index, true); // レイヤーのインデックスを使って乱数のシードを固定
freq = random(minFreq, maxFreq); // freqをランダムに設定
amp = random(minAmp, maxAmp); // ampをランダムに設定
ySpeed = random(minYSpeed, maxYSpeed); // ySpeedもランダムに設定

// 現在の位置
x = wiggle(freq, amp)[0]; // X軸はランダムに揺れる
y = position[1] + (time * ySpeed); // Y軸はランダムなスピードで上昇

[x, y]

ChatGPT

4.4つめの質問

「開始位置も、コンポジションのサイズ内でランダムに配置したい」

// freq、amp、ySpeedのランダム範囲を指定
minFreq = 1; // 最小の揺れの頻度
maxFreq = 3; // 最大の揺れの頻度
minAmp = 20; // 最小の揺れの大きさ
maxAmp = 80; // 最大の揺れの大きさ
minYSpeed = -150; // 最小の上昇スピード
maxYSpeed = -50; // 最大の上昇スピード

// コンポジションのサイズを取得
compWidth = thisComp.width; // コンポジションの幅
compHeight = thisComp.height; // コンポジションの高さ

// 各レイヤーごとにランダムな初期位置、freq、amp、ySpeedを決定
seedRandom(index, true); // レイヤーのインデックスを使って乱数のシードを固定
startX = random(0, compWidth); // X軸の初期位置をコンポジションの幅内でランダムに設定
startY = random(0, compHeight); // Y軸の初期位置をコンポジションの高さ内でランダムに設定
freq = random(minFreq, maxFreq); // freqをランダムに設定
amp = random(minAmp, maxAmp); // ampをランダムに設定
ySpeed = random(minYSpeed, maxYSpeed); // ySpeedをランダムに設定

// 現在の位置
x = wiggle(freq, amp)[0] + startX; // X軸はランダムに揺れ、初期位置から開始
y = startY + (time * ySpeed); // Y軸は初期位置からランダムなスピードで上昇

[x, y]

ChatGPT

と、こんな感じのエクスプレッションを生成してくれました。今回はY軸の動きがやや遅い感じがしたのと、揺れを大人しくしたかったので、
minFreq = 0; // 最小の揺れの頻度
maxFreq = 1; // 最大の揺れの頻度
minAmp = 20; // 最小の揺れの大きさ
maxAmp = 80; // 最大の揺れの大きさ
minYSpeed = -250; // 最小の上昇スピード
maxYSpeed = -550; // 最大の上昇スピード
こんな感じで定義しました。

このやり取りで5分ぐらいなんですよね。VBAとかJavascriptとか、ちょっとかじった事があれば、簡単に調整も出来て、イメージがすぐに実現出来るなんて、しかも、朝4時まで営業していて、麺の量を増やしても同じ金額だなんて、良い世になったもんですね。(なんの話?)

サポート頂いても、何も出来ないのでオススメしません。それでもサポートしてやるよって方はチャレンジしてみてください(´・ω・`)