PFのイベントを整理するスクリプト

max2017のparticle flowだとシンクロ機能使ってもeventがきちんとレイヤーごとに整理されずなんぞこれーという感じだったので解決策をupします。

というかググってPFのイベントを整理するスクリプトをネットで見つけたけど動かなかったので改造して勝手に公開しちゃいますスミマセーン。

PF_MoveratorK

実行するとPFごとにeventsのレイヤーを振り分けて整理します。

プレイバックPart0

CG自習部屋
http://cgjishu.net/blog-entry-153.html
のAriさんの作成したMAYAストップウォッチ&タイミングメーカースクリプトの告知ツイートを見た友人のツイッターのつぶやきに触発されて作った

MAX版ストップウォッチスクリプト。
stopwatch

ほぼAriさんのパクリです。yes indeed. Japanese DOGEZA.

スタート押してラップボタンポチポチしてキーフレーム付きポイント作成します。

最初にタイミングのアタリをつけてみたい、「ちょっとまって playback playback」な時にご利用ください。

AngleUIを使ってみたかったのです。あとリアルタイム時間計測系を試してみたかった。中身は色々と恥ずかしいのでご了承ください。リンクは下記。

StopWatch_1.0.zip

 

自分のスクリプトの方は、煮るなり焼くなり3DCOAT版を作ってなんとなく時間を計ってみたり大量にプリントして壁紙にしたり原子力発電所の計測器にしてみるなど自己責任の上でご自由にご利用ください。

よろしくおねがいいたします。

末代まで選択してやる

子供を全部選択したい時があるじゃないですか。人生には。

maxのctr+pgDnでは非表示になった子供が選択できないので、スクリプトを探っていたんですが

select $box001/…*

で名前入れるとできるようです。ついったーで一度間違って書いてたorz
これだとbox001の部分を名前ごとに書き換えるのがめんどいので、
ネットで見つけたサンプルを改造して

fn getTheChildren obj:selection includeParent:false = 
(
	theChildren = #()
	for c in obj do
	(
		join theChildren (execute ("$'" + (c.name)+"'/"+(if includeParent then "" else "*/")+".../*"))
	)
	theChildren
)

select (getTheChildren includeParent:true)
select (getTheChildren())

というfnにしてみました。
includeParent:true をつけると親も選択、つけないと子供のみ、です。

あとmaxscriptでシーン内の一番上のルートだけを選択するマンにも出会ったんですが
select $/*
ってエディターだとコメントアウトになってしまう罠にかかったのでコメント返し
select $/* –*/
にしてみました。

二次元現在地メモ

madmax_027

v8。

久々に絵を描いた(年単位の周期で繰り返してる)んですがやはり絵を描くと気付く事や得られたことが多いので自分はまだこんなレベルですが備忘録的なメモ

 

・完成度や認識にはエッジがやはり重要で、鉛筆/ペンなどの輪郭線やアニメ/浮世絵等の境界を使った様式はこの点でつおい。めっちゃつおい。
逆に想像の余地とかそういう方向性を活かすのには水彩や印象派が有利なのだと今更きちんと認識できた。もしくは一度理解はしたが腑に落ちてはいなかった、それとも最近テクニカルばかりで本気で忘れていた。

・同様にテクニカル周りやツール作成と中期量産案件にどっぷり浸かっていたため、根本的に手を入れて絵を描く、創るという認識が薄くなっていた。本来やはり、創るのは愉しいことなのです。愛を取り戻せ。
ハイライト一括グローとかじゃなくて、手動でブラシ吹いていくっていう認識すら途中まで本気で忘れてた。効率化と共に無くした何かを取り戻せ的なリハビリも兼ねてまして、自分にとってこれは有効だった。
というよりmadmax自体が創作に対する熱量を再点火するレベルの作品だったのでありがとうmadmax。

・3D使ってアタリをーとかやらずにとりあえず基本は描く、基礎力鍛錬やで、でも今はこれが精一杯、申し訳ございません、ゆるして。といった方針でベース描きつつも色付けは基本的に調整レイヤーでグリザイユというアレでございます(良い手法だけど基礎力鍛錬て言ってるのに色付けはそれってどうなのという意味)。
でもレイヤーフォルダにクリッピングマスクかけてフォルダ毎に一括調整がかけられる、という事に気付いたので今後テクスチャ等色々とはかどりそうです。

・よくあるイメージポスター的な構図ベースなんだけど、まとめ方や着地点が本気でわからなかった。圧倒的に場数、経験数が足りない。基礎画力も足りないのをソフトの力でなんとか取り繕ってる。
着地点がわからないので一旦打ち切った方が良い気がして「もういっかな」ってなるんだけど、イモータンジョー様が「コレでいいと思うのか」と尋ねてくるので、普段の自分と比べると1.5枚分くらい切り開けた感。v8。
まあそれでもこの程度ではあるんですが・・宗教画や宗教建築の超クオリティや深遠性はこうやって生まれるのかもなあ、と垣間見た気がしました。

・しかしやはりまとめかたというか、不慣れなせいもあるけど表現の幅がものすごく広くてきちんと選べてない。ある程度様式化してしまえばだいたいやる事出来る事も決まるんだけど、自分の画力のせいもあって例えばどの程度写実に寄せるかみたいな方向性も決め切れて無い(描けて無い)ので全体的に表現の方向性が定まって無いのかな。
この辺りはほんと「今はこれがせいいっぱい」で恥かしくも諸々含めてこのレベル、ということで。

massFXのtimescale

久々ですね年の瀬ですね。

 

maxのmassFXシミュレーションでスローとか可変とかする時にどうするのかわかったのでメモ。
ちょっとテクニカルむけ。

まず前提として、
元々、massFXやmParticles、rayfireなどのツールでは物理演算のエンジンとしてphysxというものを使用してるので、
根本的な動きの精度や制限はほぼ同じはずなんです。
maya,max,SIがどれもレンダーはmentalray使ってるけど乗せ方の違いとかで出来る事に差が出てるような感じのアレ。

逆に言うと、同様のエンジンなのでシミュレーションの精度やなんかの限界みたいのにぶち当たったら、別口でこれらを試しても根本的にエンジンが変わらないので解決できないかもー、とかそんな判断も出来ます。
ちなみにornatrixのベースのヘアダイナミクスとかもphysxです。調べてみたらblur等はそっち使わずcloth方式にしてるそうです。
(この辺り使用しているエンジンの問題なのかソフト単体の問題なのか切り分けて考えられるとイイデスネ。TPとかICEは物理エンジン複数積んでるので使い分けられたり。

 

で話を戻して、mParticleではスキニングしたオブジェクトのコリジョンができたりraifireの方ではシミュレーション中のスローとか出来たりとか、その辺りの差が出てくるのは制限の中で工夫してたり、実はphysxエンジンではできるけどなにがあったかUIに乗せてないとかあるっぽいのですが(適当
physxの仕様自体にはタイムスケールあるらしいから、出来るんじゃないかなー(願望)
とmaxフォルダの中見てたらありました。

C:\Program Files\Autodesk\3ds Max 2014\stdplugs\stdscripts\(MassFX)

px_globals.ms

この中の776行目辺りに

local delta = 1.0/frameRate

というなんかそれっぽい記述が。1.0決め打ち・・!
で、実際にこの値を制御できるように

my_tracks = newTrackViewNode “K_Physx”
test_ctrl = bezier_float()
addTrackViewController my_tracks test_ctrl “TimeScale”

でトラックビューにパラメーター追加して、スクリプトの方は

local delta = (trackViewNodes[“K_Physx”][“TimeScale”].value)/frameRate

って改造したパラメーターを参照するようにしてみたら

デキマシタワー!

パラメーターアニメーションさせれば途中からスローみたいな処理もできた。massFXクロスの方にも適応されます。
ちなみにシミュレーションのサブステップ数とか精度の問題で、スローにした時と早送りで結果がずれる事もありますからご留意ください
あと、massFXのシミュレーションはベイクされるので、シミュかける作業用PCだけ対応しておけば
レンダー時のマシンは元のpx_globals.msのままで大丈夫です。

不要になってコントローラ消したい時は
deleteTrackViewNode trackViewNodes trackViewNodes[“K_Physx”]
で消えますので、テストで作っちまっただああああというときはこちらで。

上のはシーン直にパラメータ追加してみてますが
要は1.0のとこをどうにかすればいいので
みなさま使いやすいように改造してみてください。

 

ちなみにですが、これと似た感じでmaxのクロスもトラックビュー開いてみるとtimescaleのパラメーターがあって、
いじって見るときちんと反応します。
ただこちらはアニメーションには対応していないようで、ちょっとUIから隠れてるのはその辺りのせいかなーと。

massFXの改造も自分では使えていますが環境とかシーンとか何かしか問題出る可能性は残ってるので、
いつも通り自己責任で試してみてください。
px_globals.msを書き換える前に元ファイルどっかにとっておくとか諸々。

AE置き換えスクリプト微更新(2.22に更新)

AEスクリプトを更新しました。
今度はムービーファイルの置き換えに対応。
あと、初期設定を_t01から_v01に変えました。
t派の人ごめんなさい。主義主張の違いによるジハードは勘弁してください。ちなみに私はたけのこ派です。

ReplaceFootages_2.24.zip

 

ファイル内の文字を「_v01」で検索して、「_t01」とかに置き換えてみるのも、
スクリプトをちょっと改造して使いやすくする第一歩みたいな感じでオススメです。
更に進んでいいかんじに改造できましたら、むしろ逆にそっちを使わせてくださいお願いします。

あとやっぱりスクリプトページをつくった方がいいぽいですね・・

追記
ばぐあったー(^q^)

ので更新しました。リンク先ファイルを2.2から2.21に置き換え。
再DLをお願いいたします。
きのこ派の呪い軽ーくしかテストしてなかったせいですねorz

再追記
まだだ!まだ終わらんよ!(バグ潰しが
再再更新しました。
異なる開始フレームの連番が静止画として置き換えられてしまうバグを修正。
あひゃー

 

再更新

2.24 何かバグか何かあったのかもう忘れたけど微妙に更新してたのでついでにアップ

ホビット(主にハイフレームレート)の感想

としまえんでホビットIMAX3DHFR(ハイフレームレート、48FPS)みてきたー

 
ストーリーその他は略してHFRの感想。(開き直った)

まず、映画は冒頭につかみとしてその映画の方向性や特殊効果を発揮させたシーケンスを入れる場合が多いわけですが、
冒頭からカメラ移動使ったシーンが多くて、これはちょこちょこHFR解説とかでも目にする
「ハイフレームレートではPANとかカメラ移動の滑らかさが有利に~」
という視覚効果を狙ってるんかなーと思いつつ見てたわけですが、
確かにその他洞窟のカットなどでも画面移動が見やすかった。

この辺りは逆のパターンとしてアニメの低FPSのPANカクツキを思い起こします。
HFRはなめらか。

 
で、更にその特性が働いてると思ったのが主に俳優アップの演技で、
本来人間の持つ不完全なゆらぎみたいなものがスクリーンでそのまま見えちゃうかんじ。
それを「現実そのままみたいだ」と取るか「生っぽくて安っぽい」と取るかの違いもあるんでしょうけれど、
私は後者でした。
メイクの質感の問題ではなくて、動きの細部の不完全さが見えてしまう感覚。
この辺りもまたアニメでよく言われる、フルの作画よりもコマ打ちの少ない枚数で良い絵を重ねた方が脳内補間されて美しい印象が強く残る、といった認識と同様なんでしょうねきっと。

ただ、主役級の俳優に関してはそういった違和感をほぼ感じなかったというのは凄いなあと思ったところ。
「演技」としてコントロールしてるんだろうなあ。エルフ系は静、というのもあるんだろうけど。
気になった例を挙げると、冒頭ガンダルフの会話シーンでの下まぶたのぴくつきとか。
基本的には演技なんだろうけど、やたらと生々しく動くので、
老齢のせいなのかHFR由来の安っぽさの谷のようなものなのか、という疑念を抱きました。

普通のFPSの実写映画でも、人物が止まってる時の構図やら何やらはかっこいいのに、
その後人物が動き出した瞬間に動きの不完全さ(服が揺れて素材の安っぽさが見えてしまうとか)が際立って、
一気に安っぽくなる、という印象のカットがあって、そういう事もあるんだなーと。
動静の使い分けと演出はやっぱアニメの(ry
あと似たように高FPSのゲームの場合、基本的にはモーキャプをノイズリダクションとか諸々修正してるので「かっこ悪い揺らぎ」は見えないんですよね。

思い返すとフルCGのアゾクはやはり悪い揺らぎも無く、諸々行き届いてて上手かったなあ・・。マジゴイスー・・。

 
ちなみに、個人的に動静の印象の差として最近見た興味深い例はこちら。
http://www.flickr.com/photos/andyathlon/5009190345/
HDRをカメラでとってタイムラプス動画にしたものなんだけど、
再生とめて静止画で見た場合の静謐さみたいなものが、動かした瞬間に消えちゃうのね。
ノイズや速度とか色んなもののコントロールの必要性と、動画と写真の差異を改めて認識しました。

 
でもって、HFRで今後来る予定のアバター2の青い人とかはキャプチャー修正だろうから、その辺りのコントロールもされるはず。
実写パートがどうなるのか分かんないけど、
現状のHFR化だとしたら、青い方の動きの完全性が引き立って親近感が高まるだろうし、テーマとしても合うのかも。

 
現在、HD対応メイクとか肌の後処理が一般的になったように、
今後はHFR動画に対して実写の各部の動きのスムージングに関する後処理手法の開発とかも可能性があるかもなあと感じた次第。
ここら辺は60Fのゲーム関連のノウハウが役立ったりするんでしょうかどうでしょうか。
ロトスコ/マッチムーブ/肌処理みたいに専業モーションスムーザーとか役職が生まれたりするんでしょうか。

 
ちなみにこの辺りのHFRの印象に対して、
もっとアニメみたいに実写でも作中で可変FPSとして作っちゃってもいいんじゃないですかー、って思うんですが如何でしょう。
基本24FとしてアクションとかスローはHFR、とか使い分けてもいい気がするんだけど。

 
それと加えて一点、今後HFRで楽しみなものとして、
普段24FPSとかでは視認できないような、高速のアクションとか何かそういった類を前面に出してたものが見てみたい
どっかあったかなあ。「普段の動きのなめらかさ」ではなくて「速い動きの視認性」を押し出す方向の。
ドラゴンの炎とか?
そうでなくて、達人の速すぎて24Fじゃ見えない殺陣とかあるじゃないですか、ジェットリーとか時代劇とか。
こういう変態ドラムテクとかw
http://www.nicovideo.jp/watch/sm601240
あと、ガチ動物系の素早い取っ組み合いみたいなのとか。

ああいうの実写HFRで見てみたい。スローでなくて通常速度で。

スターウォーズの殺陣とかにも合うのかも。EP3のマグマの戦いとか、ライトセーバーがパカついてうるさく感じちゃったんだよね・・
てことでEP7期待あげ。パカつき以前に、JJ監督だからレンズフレアでうるさくなるんじゃないか説が席巻しておりますが・・。

 
あ、ついでに
ホビット監督の公開前の3DとHFR解説動画もはっときますね。
・・・コンセプトアートをアナログで赤青、しかも二人で分けて描くとか・・鬼か。

AEフッテージ置き換えスクリプトを再更新ー

正規表現って便利ー!
という事を学びました。

ReplaceFootages
・開始フレームが異なる連番フッテージ置き換えに対応

https://docs.google.com/file/d/0B7v0rID2rlrQLXRWeG5oLVJDSDA/edit
また更新しました・・!こちら!

開始フレームが違う場合、水色でプレビュー表示されます。
「水色のパターンが出ています」もしくは「パターン水色!」と心中で報告してください。

またバグとかバグとか不具合とか少年の日の心の中にいた青春の幻影とか見つかりましたら教えてください。
よろしくお願いいたします。

正規表現系で主に参考にさせていただいたページはこちら。
http://www.da-tools.com/AE/exp/jisen/regExp.html
http://www.tohoho-web.com/js/regexp.htm#RegExp
あとグーグル。

そろそろスクリプトページ作った方がいいんでしょうか。
というより、このツールの用途として主にtiffやpngを使用した大量AOV出力のワークフロー向けツールだから、
今後exrとかでAOVまとめるようになったら需要半減するんじゃないかなあ、と思っております。
といっても素材毎の置き換えは発生するし、まあ需要あるかなあ?

AEのフッテージ置き換えスクリプト更新しましたよん

・プレビュー追加
・複数文字の置き換え対応
・機能追加でUI手入れ
・ツール名も変えちゃった
・その他エラー対処

でこんな感じになりました。
ReplaceFootages

replacefootages

DLはこちらからどぞー
https://docs.google.com/file/d/0B7v0rID2rlrQeDQ4YUw0d01YQUk/edit
更新版をこちらにアップしました。
googledriveにしてみました。
使用/改変ご自由に。ver2改とか出来たら教えてください。私も使いたいから!!!

文字編集したり「reflesh」ボタンを押せば、プレビュー部分に選択したフッテージが表示されます。
ドライブ文字書き換えとかすると更新が重かったりするので、右上のチェックボックスで動的更新オンオフできます。
がしかし、ちょっと回りくどい方法でリスト作ってるので更新の際にチラツキがでます・・。

プレビューの文字色は、
白が元のファイルのまま、文字が見つからないので変更なし。
赤が置き換え先ファイル見つからないエラー
緑が置き換え可能
という表示になってます。

ちなみに動作確認はwin AECS4 AECS6 でしました(UIは4だとちょっとかこわるい)
macでどうなるのとか試してないです^q^

今回@notchmenさんにフィードバックいただき、こんな感じの更新となりました。ありがとうございますm(_ _)m
強制置き換え処理は実力不足で座礁しましたが・・orz

そして相変わらずwebの先人にお世話になりっぱなしです。ありがたやありがたや。
感謝とともに他の方が今後スクリプト作成の際の参考になるよう、自分が主に参照したページを記載しておきます。
hiroshisaitoさんのリファレンス
http://aejsx.hiroshisaito.net/home
takowasabiさんのUI記事
http://d.hatena.ne.jp/Takomaru/20120719/1342689821
curryeggさんの様々な記事
http://curryegg.blog.shinobi.jp/
bry-fulさんのae-usersに投稿された入門記事
http://ae-users.com/jp/author/bry-ful/
ありがとうございますm(_ _)m

そして引き続きバグ報告ご意見ご教授待ってます。(どなたかAEスクリプトのlistboxでItem毎にカラー設定する方法教えてください・・あとフッテージパスのみ置き換えする方法)
kamzigiあっとgmail.com
もしくは@kamzigi迄お願いします。

そして追記でもう一つ!ワンモアシング!!

作ってる途中に知ったんだけど、ダンデライオンさんのオープンソースツールでAEフッテージパス置き換えツールありますやーん!!!!!!!!
http://www.dlas.jp/opencode/
ダンデライオンツールのが多機能なんじゃないでせうか。あひゃーぃ
自分のツールの利点はフッテージ選択の取り回し辺り、かなあ?
良さげなのありましたよー、という事でこちらもぜひお試しください。

3D素材のかさねかた(きそへん

そういえば書いてなかったやーと思ったので自分の備忘録も兼ねてメモ

きそへんって書きつつ間違ってたら超絶恥ずかしいので何か見つけたら神速ツッコミきぼうです。オネガイシマス。

 
maxなりv-rayなりのヘルプに書いてある事+ちょっと解説。
多分どこかのコンポ系サイトにも書いてる気がする。
とりあえずmaxのmentalray要素の文コピペですがv-rayも似たようなかんじ(ヘルプに似たような式が書いてあります)。

 
Beauty = Output Diffuse Direct Illumination + Output Diffuse Indirect Illumination + Output Specular +
Output Reflections + Output Transparency + Output Translucency + Self Illumination
 

なんか画像なのにいきなり式で分かりにくいと感じるかもしれないけど、
実はこれがAEとかの重ね方そのまんまです。
+ は「加算」って意味です。そう、あの加算。そのまんま加算。
全部加算で重ねる。スクリーンじゃないよ加算だよ。
レイヤー加算で重ねていけばBeauty(最終レンダー)と同じになるってことですね。
レイヤーぽく書き直すと

 
最終画像=
Self Illumination (加算)
Output Translucency (加算)
Output Transparency (加算)
Output Reflections (加算)
Output Specular (加算)
Output Diffuse Indirect Illumination (加算)
Output Diffuse Direct Illumination
 

です。
ちなみにレイヤーの順番は加算なので前後しても大丈夫です。基本的には全部加算させればOk

え、同じにならない?アルファのフリンジとかレンジ足りないとかガンマとかですかね多分。そこらへんは省略ですサーセン!ファーイ!パウダー!アーーーー!!
・・ちょっとまってAOはどこよ?
という場合は更に細かいほうをどーぞゴウカンパウダー!

 
Beauty = Level Diffuse * (Raw Diffuse Direct Illumination + (Raw Diffuse
Indirect Illumination * Raw Ambient Occlusion)) +
Level Specular * Raw Specular +
Level Reflections * Raw Reflections +
Level Transparency * Raw Transparency +
Level Translucency * Raw Translucency +
Self Illumination
 

今度は*って何だよ括弧とかあるしもうッアーーーー!!

*はケツじゃなくて×ですね。かけざん、つまり「乗算」。
コンポソフトとかの画像の重ねかたが「計算」で成り立ってるのがちょっと垣間見えてくるんじゃないでしょうか。
()はプリコンポなり何なりして、一旦まとめて画像を重ねて処理した上で、またその他素材と組み合わせてねってことです。

てことで、基本的には
Level~っていうのがマスク素材で、
RAW~っていうのがスペキュラとか反射とかすべての強度全開の素材。
この二つを使ってまずそれぞれの要素素材を作成するってことですね。
(ちなみに、mrやvrayマテリアルには、一定以下のうすーく反射してる所は計算しないで端折るカットオフ~というオプションがついているので、全部出したい場合は調整が必要です。)

ただしこの場合、RAW素材が8bitとかだと計算が狂うので、HDRとかの浮動小数点の素材として書き出す必要があります。
きちんとやる場合はHDRでのコンポが必須なんですね。

ちなみに
Level素材 * Raw素材 = Output素材
なので、HDR使わない(使えない)ならとりあえず基本はOutputベースで組むと良いのではないでしょーか。

AEで重ねる場合は、そのまま上に乗算で載せると下の全レイヤーまで乗算がかかっちゃうので、Level*RAWをプリコンポーズするかLevelをマスクかマットにしてRAWを抜いたりしてください。

で、ここで注意したいのはAO素材。
Raw Diffuse Indirect Illumination * Raw Ambient Occlusion
てことで、式によるとGI素材のマスクとして使うのが本来正しい用法って事なんですが、
つまりAOをきちんと使うならGI前提で使えよってことなんだよ!
な、なんだってー!!

なんかAO使うとくすんじゃうとかいう場合は根本的に重ね方や使い方が間違ってるせいなんですね。
このブログ記事の下のほうにある
http://mentalraytips.blogspot.jp/2008/11/joy-of-little-ambience.html
http://z4p.com/pd/ao-explain.jpg
この画像で説明されてます。
ambient(環境)*Occlusion(遮蔽) = Ambient Occlusion !

といっても、AO自体が正確性というよりはアーティスティックな方向の素材なので、
環境光を強調する素材として使う場合の基本はコレ、という事で、
意図的にくすみや素材の汚れを表現したりする方向性であればその他別の箇所に、ということになるのではないでしょうか。
(V-rayのAOmapがV-ray dirtという名前なのも、環境光ではなくて主に質感のくすみや汚れテクスチャとして使用するから、あえて「dirt」と名前がついているのかな、と思います。)

たぶんみなさま似たような方向性で、コンポの際にキーイングした暗部や影色にAO色付けて重ねたりしてる事も多いのではないでしょうか。
どういった意図で使うかによっても使用する場所が違ってくるので、
上記はあくまで基礎という事で。

共通認識のようにベースがあってそこから発展応用させていけばコンポ構造も分かりやすいですし~。

てことで書いといた。
光学の基本みたいなのも、いつかまとめるべきなのかなあ。各素材とかマテリアルパラメータの由来も分かりやすくなるし。