ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

After Effectsコミュの 【質問】スクリプト

  • mixiチェック
  • このエントリーをはてなブックマークに追加
スクリプト(Professional のみ)
ファイルメニューの片隅でひっそり輝くスクリプトエディター。

中身はなんとJavaScript!

使いこなせばエクスプレッション以上の事が出来ちゃうすぐれもの。

でっかいプロジェクトの素材の差し替え。
自動レンダリングの採番ルール間違えてすべての素材がオジャン!
寝ている僕をたたき起すレンダリング完了のメール着信音。
青ざめる僕!

などなど仕事で使う人も多いのでは?
そんないたずら好きの妖精さんの質問はこちらへ。

コメント(28)

AE6.5なら以下のページにあります。少しですが。

http://www.openspc2.org/reibun/AfterEffects6.5/

あと、実用例としては以下のページにAfterEffectsのカテゴリがあり、8番目あたりが参考になるかと思います。

http://www.openspc2.org/projectX/index.html
スクリプトで連番のレイヤードPSDファイルをレイヤーマージしないで読み込みたいのです。

var psd_file = new File("hoge.0001.psd");
var import_options = new ImportOptions(psd_file);
import_options.importAs = ImportAsType.COMP;
import_options.sequence = true;
app.project.importFile(import_options);

といった感じにしたいのですがうまくいきません。
import_options.sequence=falseとすると読み込めるのですが静止画になってしまいます。
PSD内のレイヤーを指定して読み込めないかとも考えたのですが、FileオブジェクトでPSD内のレイヤーまで指定することができなさそうです。

やはりこれは無理なのでしょうか?
環境はWinXPのCS3です。
作ったスクリプトに、ショートカットをあてたいのですが、
どうしたらいいのでしょうか?

ちなみに、AE7.0を使っています。
すいません。
自己解決しました。
でも、便利なので書いておきます。

\Documents and Settings\<ユーザ名>\Application Data\Adobe\After Effects\7.0
フォルダ内の
Adobe After Effects 7.0 ショートカット.txt
を開いて

"ExecuteScriptMenuItem01" = "()"
"ExecuteScriptMenuItem02" = "()"
"ExecuteScriptMenuItem03" = "()"

という文字列があるので、
自分の、AEのファイル→スクリプトで、表示されたときに、
割り当てたいスクリプトが上から何番目に表示されるかを確かめて、
例えば3番目なら


"ExecuteScriptMenuItem01" = "()"
"ExecuteScriptMenuItem02" = "()"
"ExecuteScriptMenuItem03" = "(Ctrl+Alt+M)"

というように、03にに割り当てたいショートカットを書きます。

AEを再起動すれば使えます。



AEスクリプト超初心者です。
他のサイトやスクリプティングガイド(英語が読めないので見落としているかもしれないですが;)を見ても分からなかったので質問させてください。

選択したコンポ内にあるソリッド(平面)レイヤーのサイズ変更をしたいのですがどうしても分かりません。
新規で作るスクリプトは書かれているのですが、色や尺などは現状のままで幅と高さだけを変更したいのです。

分かる方いらっしゃいましたらお願いします。
ちなみにOSはwinXP、AE7です。
>>あず狼 様

スクリプティングガイドには幅と高さの属性は「読み取り専用」となっているので、変更できないようだけど。

AVLayer width attribute
app.project.i tem(index) .layer(index) .width
Type
Floating-point; read-only.

>>ヒゲマツ様

そうなんですか!?
すみません。
文面まで載せていただいて、ありがとうございます。
英語が読めない自分が腹立たしいです;

出来ないのはちょっと悲しいですが、とても助かりました。
ありがとうございました。
>>タロウさん
自分も過去に調べていましたが、スクリプトはおろかプラグインでも無理そうです。

どうやらエンコード時のパラメータが出力フォーマット毎に定まっていないため、設定ダイアログ以外から設定出来ないよう。
プラグインで出力フォーマットを柔軟に追加できる代償に、詳細を知るのはそのプラグインのみ、となっているようです。

何か手があれば自分も知りたいところですが…
すみませんが質問があります。

var select = app.project.selection[0].file;
var path = "/d/test/images";
select.changePath(path);

のような方法で select に入っているファイルのパスを変更したいのですが
うまく切り替わってくれません。
パスの記述方法が間違っているのでしょうか……

アドバイスをお願いいたします。
>> タニBOT 様

選択したitemを置き換えるサンプルですが、参考になれば。(Win)

var newFile = new File("E:/fileB.jpg");
app.project.activeItem.replace(newFile);
ヒゲマツ 様
アドバイスありがとうございました。
さっそく取り組んでみた結果、問題なくパスが切り替わりました。
まだまだafter effectsのスクリプトは初心者なので大変助かりました。

replaceの存在は知ってはいましたがまさかパスまで切り替えることが
できたとは……

また質問したときは、ご教授よろしくお願いします。
jsxをインクルードする際、下記のように記述すると思うのですが
//@include "D:/bin/aaa/hoge.jsx";

下のように相対パスでインクルードしようとすると、うまくいきませんTT
//@include "../aaa/hoge.jsx";

PhotoShopでは相対的にパス指定できたのですが…

どなたか分かる方いらっしゃいますか??
saveDialogについて質問があります。
現在、saveDialogを使用してxml形式のデータをはき出してるのですが
ファイル名が空欄になり毎回、手入力になってしまします。
せっかくスクリプトを使用しているのでファイル名も打ち込ませたいのですが
どうもやり方がわかりません。

どなたかご教授いただけると助かります。
function Sequencer()
{
var curComp = app.project.activeItem;
if (!curComp || !(curComp instanceof CompItem))
{
alert("Please select a Composition.");
return;
}

var offsetFrames = parseInt(prompt("Number of frames to offset", "1"));

for (var layerId = 0; layerId < curComp.selectedLayers.length; layerId++)
{
var layer = curComp.selectedLayers[layerId];

layer.startTime = layerId * offsetFrames * curComp.frameDuration;
}
}

Sequencer();


AEスクリプト
フレームオフセットのスクリプト手(チョキ)
>ruさん
なにも説明なかったので。。。
ルール違反なんてしらなかったです
でも残念ながらAndrewのスクリプトじゃないですLyndaのです.

ログインすると、残り13件のコメントが見れるよ

mixiユーザー
ログインしてコメントしよう!

After Effects 更新情報

After Effectsのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング