htVRMapMerge ver.1.1

イラディアンスマップのマージ。バージョン少しアップです。機能は変わらずで実行に必要な各ファイルが入力されていない時の対処だけです。

ダウンロード:htVRMapMerge11

動作確認はmax9ですからねっ!

あまり使いどころはありませんが、複数選択できるファイルダイアログを.Net オブジェクトで対処してます。スクリプト作成の参考にはなるかも。

使い方。

「#maxroot/ui/macroscript」へコピーし起動したら「ユーザインターフェースのカスタマイズ」です。「CANPLAIZE」カテゴリにあります。

0.) imapviewer.exeのパスを指定(初回のみ)
1.) マージしたい.vrmapをリストに追加(選択ダイアログではCtrlやShiftで複数選択可能です。)
2.) 出力ファイル名を指定

で「Merge」ボタンです。

初期設定を「htVRMapMerge.ini」というファイルへ保存します。場所はユーザ毎のプラグイン設定ディレクトリになります。場所はどこかと言うと、スクリプトリスナーから、

getdir #plugcfg

を実行すると判ります。


htVRMapMerge.ms – merging Irradiance maps

大急ぎで作成です。複数のイラディアンスマップをマージします。実際にはV-Ray付属のimapviewer.exeを起動してマージ処理をさせるだけ、、、

突貫工事で

マクロスクリプトです。「#maxroot/ui/macroscript」へコピーし起動したら「ユーザインターフェースのカスタマイズ」です。「CANPLAIZE」カテゴリにあります。

0.) imapviewer.exeのパスを指定(初回のみ)
1.) マージしたい.vrmapをリストに追加(選択ダイアログではCtrlやShiftで複数選択可能です。)
2.) 出力ファイル名を指定

で「Merge」ボタンです。

エラーのチェック部分を作っていませ~ん。0~2の項目が設定されてなくても「Merge」ボタンは押せちゃいますし実行しようとします。また、imapviewer.exeへのパスは半角スペースが含まれていても動きますが、読み込みするvrmapや書き出すvrmapのパスにスペースがあると動かないんです。ダブルクォーテーションで囲ってみたりしましたけどダメ。

リストボックスに横スクロールがつかないとか、max9環境でつくりました、とか、、、

つまり僕以外にはガラクタですね。お好きにドーゾ、実行も改変も再配布もね。全て自己責任でお願いいたします。

htVRMapMerge.zip

最新版はhtVRMapMerge ver.1.1

初期設定を「htVRMapMerge.ini」というファイルへ保存します。場所は環境によって異なりますが、MAXScriptリスナーで

getdir #plugcfg

を実行すると分かります。


Affter Effects & ESTK: レイヤープロパティの調査

選択したレイヤーのプロパティをリストしてみる。レイヤーを一つ選択して実行。そのレイヤに属したプロパティ名がずら~っとコンソールに出力されます。

ダウンロード→propertyInfo.jsx

何故再帰的に処理してない?って疑問はさておき、何が知りたかったかと言うと、プロパティのMatchNameと呼ばれるものが欲しかったんです。

例えば位置(x,y)プロパティの値にアクセスするには、

targetLayer.transform.position.value;
targetLayer.position.value;
targetLayer("position").value;
targetLayer("トランスフォーム")("位置").value;
targetLayer.property(6).property(2).value

などなど、方法がたくさんあります。もちろん位置を知るくらいなら1行目の「targetLayer.transform.position.value;」のようにattribute(アトリビュート)で指定するのが分かりやすい方法です。

そのほかにもMacthNameと呼ばれるもの(結果のカッコの部分)でアクセスする方法もあるようで、

targetLayer("ADBE Transform Group")("ADBE Position").value;

としても同じ結果を得られます。attributeが分かっているものなら必要ないですが、ローカライズされていない名前なので、特にエフェクトのプロパティにアクセスするスクリプトを配布したい場合(日本語版以外でも動くようにする)にはこれで指定した方がいいのかなと思い、MacthNameをリストアップしてみました。ただそれだけっす。

以下、実行結果。
続きを読む “Affter Effects & ESTK: レイヤープロパティの調査”


Affter Effect & ESTK Code Snippets

AffterEffects用のスクリプト作成の際の断片集。たま~に少~しぐらいは役に立つことも書きますよ。

AfterEffects8(CS3)と付属のExtendScript Toolkit 2でのお話です。

まずはESTK側で操作対象をAfterEffectsに設定。

linkToAfx
操作対象の取得
一番よく使うのが選択したレイヤに対しての操作なので。

targetLayers = app.project.activeItem.selectedLayers;

これで、配列「targetLayers」にレイヤオブジェクトを取得できます。選択したレイヤを一つだけ取得したいなら、

targetLayer = app.project.activeItem.selectedLayers[0];

前後しますが、現在作業中のコンポジションを得るには以下。

activeComp = app.project.activeItem;

続きを読む “Affter Effect & ESTK Code Snippets”


MayaからBackburner、適当なところで公開

午前中までに出すキービジュアルを週末作ってたらいつの間にやらオリンピック終わってました。閉会式の花火はCGなしだったんでしょうか?

さて、久しぶりにチェックしたGoogle Analyticsで「Maya Backburner」で検索されて見に来られている方が多いのを知りました。来てみたはいいものの肝心のスクリプトが無いやないか〜い!ってことで失望させてんじゃないかと思いいまさらの公開です。そもそも今はお仕事で使うこともあまり無いので改良はされてないです。なのでお使いの環境によってスクリプトを直接修正しておく必要のあるところがあります。

Windows環境での使用を想定しMaya7での動作を確認しております。Backburnerでmaxのレンダリングが可能な状態であること、レンダリングPCへMayaがすべて共通のディレクトリへインストールされていなければなりません。

また、レンダリングするシーンを含むそこで使用しているすべての外部参照はすべてのレンダリングPCからアクセスできることが必須です。

renderviabb-ss.jpg
開いているシーンをBackburnerでレンダリング!

スクリプトを所定の場所へインストールすることでMayaからは、

htNetRenderViaBb();

で起動します。では使い方です。
続きを読む “MayaからBackburner、適当なところで公開”