hs_buildRenderCompメモ。
- XPSオブジェクトがメモリ内に存在しているときはconfirmプロンプト出して流用できるようにした。
- ...で、そのメモリ中のXPSを参照できるような機能をどこかに追加しないといけませんナ。
- バッチレンダー管理用ユーティリティを作成したい...ような...
2007年4月アーカイブ
インストール
AEのスクリプトフォルダ内の任意の場所にインストールします。外部依存ファイルはありませんが、ほかのhsスクリプトを使用されている場合は同じディレクトリにインストールすることをお勧めします。
新機能
(pref)フォルダ採用
bookmarkファイルを(pref)フォルダ内に作成します。(pref)フォルダが存在していない場合には自動的に作成されます。(pref)フォルダはスクリプトと同じフォルダ内に作成されます。
(pref)フォルダは今後ほかのスクリプトでも使用するように順次書き換えて行く予定です。
除外フォルダ[追記]
除外フォルダが設定されています。現在除外対象になっているのは「自動保存」と「Nucleo Backups」という文字列を含むフォルダです。このオプションでAEの自動保存とNucleoの一時ファイルを除外できます。
このオプションは将来的はユーザーが設定できるようにしたいと思ってますが、私が必要に迫られて急遽取り入れた機能なので、今はその時のままになってます。
除外フォルダ機能を無効にしたい場合はスクリプトの28行目
var exceptFolderOption = true;を
var exceptFolderOption = false;に書き換えてください。
バグフィックス
フォルダ検索時の不具合解消
細々としたミスを修正しました。起動時にフォルダが存在してない場合などは、ちゃんとフォルダ選択画面になります。
ダウンロード
以下の文章を読んで同意いただけた方のみダウンロード可能とさせていただきます。
- 本スクリプトとドキュメントの著作権は作者にあります。
- 本スクリプトを使用に起因して利用者にいかなる損害が発生しても、作者は一切の責任を負いません。
- 本スクリプトとドキュメントを無断で再配布しないでください。ただし、利用者が本スクリプトを改造(一部引用して開発したもの)を利用者自身の責任において再配布する場合には、これを禁止しません。
- バグレポートなどはメールにてお願いします。使用OSやAEのバージョン(アップデートも含む)、問題発生時の操作手順など必ず書き添えてください。
先日のhs_exportAllEffectName.jsx用AEプロジェクトファイル(AE7.0Pro用)です。見るとわかるかと思いますが、カテゴリ毎にレイヤーになっていて、そこにエフェクトが適用されています。
AE7.0Proに標準でバンドルされているプラグインは「ラベルカラーなし」、アドオンは「ラベルカラー海の泡」になっています。このコンポにhs_exportAllEffectName.jsxを実行するとxmlファイルを出力します。アドオンは適宜入れ替えてください。
ae_effectsPlugins.aep.zip
更新しました。
■いくつかのエラー処理できちんと処理が行なわれていないかった部分を修正。
■エフェクト名出力したらXML パースエラーが出てしまったので、<![CDATA[で処理。(なんかお粗末だけど一番確実かと)
■XMLのヘッダなど出力してそのままXMLとして使用できるように。(「最初にやっとけ」って感じです)
hs_exportAllEffectName.zip昨日のバージョンに上書きました。
あとエフェクト日本語名の出力サンプルです。
XMLファイル本体(ae_effects_JP.xml )
Adobe Spryを使った表示サンプル 昨日と同じく緑色のタブでソートできます。
(追記:ついでなのでいくつかサードパーティのエフェクトプラグインも入れてみた。)
うっかりAE7で作ってしまったので、カテゴリ、エフェクト名がAE7仕様です。本当はバージョン毎の名称をDB化したかったんですが、なんか面倒くさくなってきた...いずれ、英語版と統合します。
AE6.5/7.0 Pro付属のエフェクトプラグインリストをXML化。これでエフェクトの表示名とmatchNameを参照できます。matchName自体が不要な人にはどうでもいいことなんですが...
XMLファイル本体(ae_effects.xml )ブラウザの成型機能が働く場合はソースを参照してください。
Adobe Spryを使った表示サンプル
緑色の部分を押すとソートします。が、Safariだとすごく重いです。
注:日本語版が完成しておりますの上記リンクは廃止します。
日本語版はまだ...というか...実は英語版作ったときに使用したコンポを保存しわすれて、面倒なことになってしまった。
あとオマケで、エフェクトのmatchNameを取得するAEスクリプト:
hs_exportAllEffectName.zip
選択コンポ内の全レイヤーのエフェクトをログファイル(ログファイル保存先はプロンプトで確認してきます)に書き出しちゃいます。我ながら、なんでコンポ丸ごと... ...今にして思えば、選択したレイヤーだけでよかったような...でも、面倒なのでそのままです。
XML風の書式です。nameは表示名称、matchがmatchNameです。
追記:IEでSpryサンプルが動作してませんでしたので、修正しておきました。
hs_buildRenderComp(仮称)のドキュメントを書き始めました。[hsbrc_preview]
まだまだドラフト以前なので、随時加筆修正予定です。とりあえず始めないと、ずっとやらないような気がしてますので、無理矢理にでもスタートさせておいた...ということで。
またAEと直接関係ない話題ですが、内容的にこっちに書いた方がいいかなーと...
通常版Blogの方でちょっと使用したRSSのXMLを取得して表示するスクリプトですが、早速「サーバーをまたいでXML参照したい」という要望が...。(そのままだとセキュリティの関係上できません)
一度サーバーサイドでXMLを取得しちゃえばいいじゃん!という短絡的な発想でやってみました。
perlは苦手なので、phpで
Header("Content-type: text/xml");
@readfile("XMLのURI");
という感じでXMLファイルを指定します。
実はHeaderを追加するという発想に至らず、ちょっとハマりました。調べてみたらFlash界では結構有名な方法みたいです。
あとはSpryで
myDatabase =
new Spry.Data.XMLDataSet("./xmlwrap.php", "/rss/channel/item")
という感じで上のphpのファイルを指定してやればOK。
hs_buildRenderComp.jsx:
不正なアイテムを選択した状態で[基礎コンポ作成]を行おうとしたときには、事前にエラー出して跳ねておくこと。アラートがfunction通過した数だけ出て鬱陶しい。
設定プリセットの選択は、設定画面内でドロップダウンリストを使用。別ウィンドウを出すとGUIが矛盾起こしやすくなる...と予想。
カメラ内での調整レイヤーは外して、別レイヤーに入れる。ついでに回想処理のテンプレートなんかも追加。
レンダーキュー登録の実装。
JavaScriptToolsGuide CS3: InDesignのところにあった。これまでのBridgeのスクリプティングガイドのようなもの。
Adobe LabsにてAfterEffects CS3(とPremiere Pro CS3)のプレビュー版がダウンロードできるようになってます。(ダウンロードにはAdobe IDが必要です)
Mac/Windowsそれぞれ1GBもあるんですけど...
Adobeの最近の傾向からしても、やっぱりAJAXは避けて通れそうにないなぁ...と思いまして、最近Adobe Spryを少々。AEからXMLの入出力を考えてみてもいいかも。こういうのって最初だけは楽しいんですよ。
http://www.pinapics.com/cgi-bin/にりまぴんのrmpEcho.cgiを設置しました。緊急時にお使いください。
Trapcodeが新しく「Flux」というパーティクルプラグインを発表するみたいです。Paticularからのアップグレードが可能で、発売は初秋くらい。Particularが置き換えられるんですかね?
-テンプレートのAEPモジュールはスクリプト実行時に一気に読み込み。すでに存在しているものは読み込まない。
-設定ファイルにAEPモジュールフォルダのパスを追加。
-関数内から相対パス指定したときに、AfterEffects本体からのパスになっちゃうのはなぜ?要検証。
-撮影でブローアップやアスペクト変更作業が発生した場合の処理について検討。
-DFどうしよー。一気にDF処理するのは嫌いなんだけど...
-走査線処理やペーパーテクスチャなど。要検討。
-「標準プラグイン -> Sapphire」の置き換えオプション。これは追々...
-with()は使わない。いい加減懲りた。
あらら、プロフィールの「詳しく」がNot Foundになってた。間違って消してそのままに...しかも元ファイルが行方不明なのでとりあえずメールアドレスだけに修正。いや、そんだけです。AEに関係なくてすんません。
AE7で追加されたcurrentFormatToTimeのメモ。
使用例はこんな感じ
var fps = app.project.activeItem.frameRate; var dur = 101; var myDur = currentFormatToTime(myDur, fps, isDuration = true); app.project.activeItem.duration = myDur;
しかし、この辺りを書き直すと本当にAE6.5には戻れなくなってきそう。バージョン判定で分岐させるにしても、AE6.5のdurationにバグがあるのでわざわざAE6.5へ対応することへの負担が今以上に重荷に感じられるような...だよな。ちなみに逆はtimeToCurrentFormat()。
AE7対応っていう程でもないんだけど、撮影伝票出力時に文字コードがShift-JISになってしまう問題に対応しようとして、ちょっとハマってしまったのでメモ。(概要はBridgeスクリプトガイドのFile I/Oのあたりに書いてあります。)
勿論スクリプト自体はUTF-8で記述されているので、当然デフォルトでUTF-8で出ると思っていたわけですが(AE6.5では出たんですよ。)、今度からFileのencodingプロパティで指定しないと駄目。結論から言えば
File.encoding="UTF-8"
を1行追加するだけでよかった...(Fileの部分はスクリプト内で使用中のFileオブジェクト)
今使用しているエンコードが知りたければFile.encodingで調べられるので
alert(File.encoding)
などとしてやればOK。ファイルを読み込んだ場合はその文字コードが適用されているので、あまり問題にはならないと思うけど、satsuDenの場合は何もないところに日本語混じりのファイルを出力するために、これが問題に...
ちなみにAEはファイル先頭の数バイトで文字コードを判断している模様なので、出力ファイルの先頭にUTF-8の日本語キャラクターを入れてみればうまく行きそうだけど、見事Shift-JIS(CP932)になちゃって文字化けします。(ローカライズ変数をちゃんと設定すればいいのかもしれない)
