_581x100.png CGsyomei_583x102.gif 訪問者 無料カウンター ページビュー 無料カウンター

2013年07月08日

FumeFXのscriptでのシェーダーへのアクセスについて

FumeFXを使っていてMaxScriptからパラメーターにアクセスしたいという局面は少なからずあると思いますが、今回はその場合の注意点についてちょっと書いておきたいと思います。

 FumeFXのグリッドを選択してスクリプトリスナーで Show$を実行すると、スクリプトで変更可能なパラメーター群が羅列されます。しかしいざシェーダー周りをいじろうとするとその記述が殆どありません。今回はこのシェーダー周りにアクセスする際の方法をメモしておきたいと思います。


FumeShaderScript_0001.jpg




Show$で見れないからと言ってスクリプトからではいじれないのかというと、マクロレコーダーではきちんと操作の記録が表示されています。ではこのマクロレコーダーの記述をコピって使ってやればいいのかと思って$FumeFX01[#Standard].〜とやってもエラーが出て実行されません。

FumeShaderScript_0002.jpg

FumeShaderScript_0003.jpg

 理由はどうやら一旦シェーダーを変数に格納してから実行しないとシェーダーにアクセス出来ないからっぽいです。ヘルプには

<maxObject>GetShader()

Returns current shader.

とあります。これに則ってシェーダーを取得するにはFumeのグリッドを選択して

myshader = ($.getshader())

等としてあげればシェーダーを取得できます。あとは最初に定義した変数のmyshaderを使ってそれぞれのパラメーターを変更してあげればOKです。

FumeShaderScript_0004.jpg

 ちなみにKrakatoaを入れているとMAXスクリプトのマクロレコーダーが効かなくなるバグがあるようです。その場合は八木さんのブログの以下のエントリーを参照してみてください。自分もこれで治りました。

http://d-yagi.blogspot.ca/2013/02/3dsmaxmacrorecorder.html

あとKrakatoaをインストールした時に出来るKrakatoaToolbar.msを外すのも一つの解決法のようです。


posted by けゑ at 14:30| Comment(0) | TrackBack(0) | FumeFX
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/70669736

この記事へのトラックバック