2011年12月26日月曜日

爆発参考サイト

http://sonicbomb.com/index.php


サーフェス方向(ポリゴンの法線)にパーティクルを飛ばす #TPJP

以前の記事は、オブジェクトの軸を元にパーティクルの方向を決め、飛ばしました。
今回はポリゴンの法線の方向を取得して、パーティクルを飛ばしてみたいと思います。



思ったより、簡単にはいかず調べていると、MatterWavesで簡単に出来ることが判明しました。
MatterWavesのプロパティの中で法線の方向をとることが出来るようです。

ですが、このやり方は僕が思っていたのとは違います。
僕がやりたいのは、PositionBornとSurface Posの組み合わせから、パーティクルを発生させその発生したサーフェスからの法線を取得する方法です。
これは結局、自分の頭では解決できず、Eat3DのAlignmentの説明のところにありました。。ガクリ。。
分かったら簡単なんですがね~。。えらい考えてしまった後、答え見ると落ち込みましたw


画像


他のダイナミクスの説明は省きます。ただUdeflectを使用しているだけです。


2011年12月17日土曜日

TPでパーティクルの方向をモデルの軸で制御する

まず、復習として、先日検証したVelocity sculptingを見てみます。
こちらでは、パーティクルの方向はdistanceで取得していています。
あるポイントから、あるポイントへの方向という具合です。

今回は、オブジェクトの軸を取得し、パーティクルの方向を制御しようと思います。

矢印モデルを作成し、矢印の向きにパーティクルが飛ぶように作りました。



画像



上記でParticle Ageを使用しなかったら
↓↓




他にも、パーティクルの方向を制御するには、色々方法があると思います。
ぱっと出てくるのは、ん~と、follwノードとかかな??
これらはとても重要だと感じているので、パーティクルの方向を制御する引き出しを増やしたいものです{%笑いwebry%}


2011年12月12日月曜日

TPで爆破の形を制御してみる~前編~

はじめに、eat3Dから出てるTP4のチュートリアルの作者Hristoさんに感謝です。
こちらのチュートリアルで多くのことを学びました。この技は、色々応用できそうなので順に検証していきたいと思います。

まず、どういうことをやっているのかというと、動画のタイトル(Velocity sculpting)のように、パーティクルのスピードと方向をオブジェクトで制御しています。数学弱いぼくには、感覚的に制御できるので、とても魅入られました{%拍手webry%}

①壊れたTeapotモデルを用意します

モデルの分割はvolumebreakerノードで行っています。fragmentオペレーターでも良いかもですね。
詳しい分割方法は、わからないのでここは置いておきます。ちなみに、米岡さん属するPixomondoは分割する際はRayfireでやっているそうです{%ピクトハカセhdeco%}
画像




②①で分割したパーティクルを爆破します。そのために、爆発ポイント(ポイントヘルパー)とVelocity(スピードと方向)を制御するモデルを用意します。

画像



③最後にコリジョンになる地面を用意し、重力を与えます

画像



今度は、仕事でこの技使って爆発を作ったので、時間あったら、それ含め検証していきたいと思います!


2011年12月4日日曜日

TPのパイプ処理について

パイプ処理をして、ノードをインスタンス化してみました~
例では、発生タイミングだけですが色々なノードが出来ると思います。
後colorノードも使用しています。これはブラックボックス化されて用意されています。

画像





動画は貼り付ける必要なかったかもですが一応{%笑いwebry%}


2011年11月24日木曜日

TPのデータの流れを見てみた!(パーティクルでshockwaveの動きを元に)

まずデータの流れを見る前に、パーティクルを中心からランダム水平に円状に飛ばすということをTPでセットアップしてみました。


このセットアップは一例です。もっとお手軽な方法があるかも。。
------------------------------------
追記
一番お手軽な方法として、forceノードでプロパティのcylinderを使用する方法を発見した。
ちなみに、下記のshockwaveの作り方は、あんまりスマートじゃないのであしからず。。
-------------------------------------


このTPでのセットアップはPF使っている方からすると、めんどくさいと思うかもしれません。なぜなら、パーティクルの方向を得るためにちょっとシンキングしなければならないからです。PFだとそういう命令があらかじめ用意されています。確かスピードオペレーターの「水平方向にランダム」という命令でしたね。

では、TPで用意されているPosition Bornノードを使い見ていきたいと思います。ちなみにFrictionを使用し、スピードを減衰させるようにしています。


画像



ついでに、
方向を決めるDirectionは(x,y,z)の値です。ベクトル値と呼びます。ここでは、xとyに-1から1の値をランダムに割り当て、高さはいらないので0にしています。PFでいうDivergence(分散)がやりたいときは、direction variatioで出来ます。

ボクは最近TPに出会ってからベクトルというものは何なのかと色々勉強し始めました(汗)
ですのであまり詳しいことは書けません{%がっかり(orZ)webry%}










2011年11月20日日曜日

TPショートカットについて

デフォルトのショートカットですけど、ほんとに必要なショートカットだと思う!
デバック機能なんて絶対ショートカット使わなきゃ{%万歳webry%}

画像



2011年11月19日土曜日

Fumefxのパラメーターにアクセスする!~Outputパス編~

メモするの忘れてた~
tweetでゲットした情報はすぐメモする癖つけないと、探すのが面倒だし削除されるから気をつけないとな。。

fumeのヘルプ観たのですがではよく分からなかったので助けを求めたところ、
kobataro101さんがフォーラムで見つけて教えてくれました~感謝です{%笑いwebry%}
フォーラムの存在も知らず、なんかすいません{%がっかり(orZ)webry%}

とりあえずこれでいけました↓

-----------------------------------------------------------------
$FumeFX01.setPath "f:\\temp\\ffxSim_0000.fxd" #(#default ,#match)

-----------------------------------------------------------------

#以降がよく分かりませんでした。ですがこれないと駄目なようです。
まあグリッドサイズを合わせるかなんかでしょうということでスル~。。



2011年11月18日金曜日

ダイナミクスシュミレーションの開始フレームの指定

アニメーションのStart timeが101フレーム(レンダリング開始位置)で、ダイナミクスのシュミレーションはそれ以前のフレームから開始させたいと思いました。
そこでC Time Intervalとかのノードでダイナミクスシュミレーションの開始位置(パーティクルの発生やフォースの影響など)を変えようとしていましたが、Start timeの設定を変えないと上記のようなことは出来ませんでした。

ん~と悩みつつ翌日、
パーティクルのサブサンプリングのとこ触っていると発見しました!

Simulation Startのとこです。

画像



2011年11月17日木曜日

PPassについて (Distanceノードを用いて)

AグループのパーティクルとBグループのパーティクルがある距離に近づいたら、新規パーティクルの発生という一見簡単そうなシステムなのだが。。思わぬとこでつまづいた。


Distanceノードに、パーティクルが発生する二つのグループをつなげた際に、particle値が取れなかったので、ちょこっと検証してみた。
複数のグループから値を流すには、グループのONがいるということかな~。。(一塊につき)
つまり、最初にいっぺんに流せと。。


一番初めに理解しなきゃと思うのですが、データの流れ的なものがまだあまりつかめません。
まあ触っていくうちにつかめたらなと思いまする。

追記
こんなのなんかスマートやないからPPassABというものがある。

画像



2011年11月14日月曜日

TPで竜巻のセットアップをやってみた~

■参考チュートリアル
こちら

はじめ、このチュートリアル観たときは心折れそうになったけど、やってみるものですね。
学べるものも多く、楽しかったです。


では、動画見ながら、順追ってメモっていきたいと思います。
又、後半につれちょっとメモするのつらくなってきたのもあり、雑ですがお許しを。。


ガイドの作成

①竜巻のくねくねしたアニメーションをスプラインで用意します。
動画ではSplineSelectモディファイヤとLinkedXformの組み合わせでスプラインのアニメーションをつけているようです。
絶対にこの方法をとる必要がありませんが、お手軽ですね。ボクにはこれも勉強になりました^^




②ガイドとなるパーティクルを作成します。

これらを作成する理由は進めていくうちに分かると思いますので、とりあえず省きます。
TPでスピード0のパーティクルを100個作り、スプラインにパーティクルを沿わせます。
パスに沿わせるにはH Path Positionノードを使用します。
この100個のパーティクルを均一にパスに沿わせるためにadd&Multiplyを使用しています
100を分母にパーティクルのID値を分子にし、パスに相対的に配置します。

画像





③②で配置した最後のパーティクルをジオメトリエミッターとします。

Pselectionで最後のパーティクルをピックし、Startグループに登録します
そのスタートグループを、Geom Instanceでシェイプ化します。

これがbodyのエミッターとなります。





ボディの作成



④③で作成したシェイプをエミッターとしてパーティクルを作成します。
パーティクルの量、方向、スピード等をPosition Bornで調整します。(下にパーティクルが降り落ちるような感じです)
どの道、方向とスピードはvelocityノードで調整していくのですが、イメージをつかむためにスピードと方向まで設定しておくと良いと思います。


⑤パーティクルの動きをパスに沿わせます。
それには②でguideに作成した各パーティクルのZ方向を取得します。


毎フレ放出される各ボディのパーティクルのZ方向は、そのパーティクルから一番近いGuideのパーティクルのZ方向を取得すればパスにそっての方向が定まります。

PPassABを使用し、BにGuideのパーティクルを割り当て、一番近いパーティクルの方向を取得するように設定します。


画像



⑥竜巻による軌道を作成します
基本⑤のような進め方で、ここでは軌道の方向を取得するのに、外積を使います。

⑤の動きに追加するようにスピードと方向を設定してやります。それにはvelocityのプロパティにあるreplaceをaddに変更します。

画像



⑦下部からのパーティクルを吸引する設定をします

画像


⑧パーティクルをデリートする設定をします

画像



2011年10月23日日曜日

Batch Renderメモ

あるものを複数のカメラからレンダリングする場合やオブジェクトごとにレンダリングを分ける場合はバッチレンダリングを使用しレンダリング管理すると非常に楽だ。

つまりレンダリングしたい素材ごとにシーン状態、レンダリング設定(プリセット)、カメラ設定、保存設定を登録できる。
いちいちレンダリングするために保存先変えたり、カメラ変えたりしなくて済む。
詳しい設定方法などはヘルプに載っていると思いますので省きます。

とまあ便利は便利だが、色々と不便さも兼ね備えている。

・現状不便だと感じたところ
①名前のソートが出来ない。
②選択が一つ一つしかできない
③間違って消してしまったとき、ctrl+Zが使えない

②を解決する方法としてBatch Render Assistantのスクリプトを使うと解決。


上のリンクのscriptspotに他にも使えそうなパッチレンダ系のスクリプトありそうだが、どうなんだろ??
誰かオススメのバッチレンダがあれば教えてください{%ピクトハカセhdeco%}
とりあえず上記①の不便さを解消したいっす!!


後、気をつけたいのがレンダーエレメントをプリセットで保存して使用する場合だ。
commonタブで保存先が指定されている場合(チェックボックス有無問わず)、レンダーエレメントの保存先を決めてプリセット保存し、ロードするとcommonタブでのファイル名を元にエレメントのファイル名が変更される。
なので、エレメントをプリセット保存する場合はRenderOutputFilename = ""でcommonタブでのファイルパスを空にしてやらなければいけないようだ。とりあえず、バッチレンダを使うときは空にしたほうが良い。



maxバージョンアップしても改善されないし、使いやすくならないのが不思議に思う。。




2011年10月17日月曜日

ゲーム開発のための数学・物理学入門 改訂版


ゲーム開発のための数学・物理学入門 改訂版
ソフトバンククリエイティブ
ウェンディ・スターラー

amazon.co.jpで買う
Amazonアソシエイト by ゲーム開発のための数学・物理学入門 改訂版 の詳しい情報を見る / ウェブリブログ商品ポータル



最近は、暇なときは上記の本を読んでる。。
スクリプト勉強しているときに、ベクトルの正規化に躓いてから、こりゃいかんと思って基礎を学んでいます。
まだ途中だけど、何とか進めてる。いつもこういう類の本は三日坊主なんですがね。
まあ続いている理由としては、分かりやすい。
数学で何が出来るかを知りたい人にはオススメかも。将来、子供にも3dsmax使って「三角関数はこんなこと出来るんだぜっ!」と教えたい{%うれしいwebry%}



ゲーム開発のための数学・物理学入門 改訂版


ゲーム開発のための数学・物理学入門 改訂版
ソフトバンククリエイティブ
ウェンディ・スターラー

amazon.co.jpで買う
Amazonアソシエイト by ゲーム開発のための数学・物理学入門 改訂版 の詳しい情報を見る / ウェブリブログ商品ポータル



最近は、暇なときは上記の本を読んでる。。
スクリプト勉強しているときに、ベクトルの正規化に躓いてから、こりゃいかんと思って基礎を学んでいます。
まだ途中だけど、何とか進めてる。いつもこういう類の本は三日坊主なんですがね。
まあ続いている理由としては、分かりやすい。
数学で何が出来るかを知りたい人にはオススメかも。将来、子供にも3dsmax使って「三角関数はこんなこと出来るんだぜっ!」と教えたい{%うれしいwebry%}



2011年10月3日月曜日

ベクトルの正規化について

Zで行こう!さんのサイトでスクリプトを勉強してたら、ベクトルの正規化というものが出てきた。エフェクトアーティストたるものこれは見逃せないことだと思い色々と調べてみた。高校時代の数学ことなんて全く覚えてません。{%泣くwebry%}

まずベクトルの正規化を学ぶにあたって、以下のお題を進めながら学んでいこうと思う。


お題:3D空間に存在する球(sphB)を球(sphA)に接するように移動する

デカルト座標で示すとこんな感じ。分かりやすく2Dで考えていきます。

画像


この図から見るように、moveメソッドに引数として赤の矢印のベクトル値を渡してやれば、OKだ。


①赤いベクトルの大きさを求める。
大きさをsph_distanceとすると、
sph_distance = (distance sphA.pos sphB.pos)-(sphA.radius+sphB.radius)
となる。

②赤いベクトルの単位ベクトル(方向)を求める。
①の大きさのベクトルを求めるとなると、大きさ1となる単位ベクトルが必要になる。
なぜなら、ベクトルは大きさと単位ベクトルの積で表されるからである。

画像

こんな感じかな{%トホホwebry%}

単位ベクトルが必要ということで、それを出すにはnormalize を使う。赤いベクトルの単位ベクトルをsph_unit_vectorとすると、
sph_unit_vector=normalize (sphA.pos-sphB.pos)
となる。

③上記のように①*②で赤いベクトルの値が求められる。
赤いベクトルをsph_vectorとすると、
sph_vector = sph_distance*sph_unit_vector

④最後にmoveメソッドに③を渡してやればOKだ。
move $sphB sph_vector


以上、ベクトルを使った移動を見てきたが、ベクトルの正規化という言葉が出てきてない。
ベクトルの正規化というのは②で見られるようにベクトルを単位ベクトル化するということである。
メソッドで言うと、normalize  がそれにあたる。




2011年9月23日金曜日

鉄拳セミナーFX部分のメモのメモ

う~いきたかった{%がっかり(orZ)webry%}
うちもエフェクトライブラリあることはあるのですが、一年前に更新が止まっている。
更新する余裕もゆっくり取れず次々と仕事入ってくるので、いつか更新したいが。。

なんといってもエフェクトチームがあるのがうらやましー!ヨダレものです{%困るwebry%}

誰かhallucinoみたいなエフェクト専用のライブラリをWEBで公開してくれんもんかな{%トホホwebry%}

以下、
「鉄拳 ブラッド・ベンジェンス 3D」メイキング tweetまとめ #tkbvs

---------------------------------------------------------------------------------------

kobataro101
��3Dの煙のエフェクトに関してですが、影を強調(濃く)するとより立体的に見える為、rgb(Key,Fillやその他のライト,Shadow)で色分けでレンダーし立体感も、コンプ時に調整してあげるとよかったりしました。 #tkbv #tkbvs #鉄拳BVセミナー
kobataro101 2011/09/22 00:36:29
ComperK
@kobataro101 おおー。rgbでのコンポは行ったことがないのですが、AEでお決まりのやり方があったりするんですかね~? #tkbv #tkbvs #鉄拳BVセミナー
ComperK 2011/09/22 00:51:55
kobataro101
@ComperK 人によって色の扱いの方法はあると思うのですが、rgbの扱いならチャンネルミキサーが結構使えました。コレひとつで色を変えることもできますし、赤チャンネルをモノクロに出来たり、その後にもう一個かまして色変えたりでき…。 #tkbv #tkbvs #鉄拳BVセミナー
kobataro101 2011/09/22 01:06:32
kobataro101
@ComperK チャンネルミキサー+チャンネルミキサーの前に、レベルをいれてチャンネルごとのレベルも調節して調整したりしました。オリジナルの色チャンネルを他の色チャンネルに入れられるので、なかなか重宝してる感じです。 #tkbv #tkbvs #鉄拳BVセミナー
kobataro101 2011/09/22 01:09:47
ComperK
@kobataro101 チャンネルミキサー使ったことないです~。便利そうですね!ちょっとやってみます。感謝です^^! #tkbv #tkbvs #鉄拳BVセミナー
ComperK 2011/09/22 01:14:08
ComperK
鉄拳セミナー。エフェクトリーダーによる「エフェクトライブラリ」と「TIPS WEB」の紹介部分についてだけ、つぶやいてみます。情報共有についての話あり、幅広い人が感銘を受けたと思うので。問題ありましたら削除なり修正なりしますのでヨロシクです! #tkbvs
ComperK 2011/09/22 14:00:16
ComperK
■DF社内用の「エフェクトライブラリ」の紹介・・・社内WEB形式の「エフェクトライブラリ」をつくっている。Max, Mayaなどで作成した「煙」「火花」などの大量のエフェクトのプリセット(シーンデータ)が置いてあり、いつでも誰でも使えるようになっている。 #tkbvs
ComperK 2011/09/22 14:01:46
ComperK
詳細なマニュアルもセットで用意してあり、概要や使い方、注意事項などを読むことができる。シミュレーション済みのキャッシュも一緒にUPしてるので、すぐシーンに応用できる。プリセットやマニュアルをUPする作業自体も、ツールでサポートしている。 #tkbvs
ComperK 2011/09/22 14:03:39
ComperK
エフェクトライブラリは、どことなくHALLUCINOを彷彿とさせる感じの、オシャレなインターフェイスでしたw かっこよかったデスw #tkbvs
ComperK 2011/09/22 14:05:16
ComperK
ライブラリ化のメリットとは?◎安定したアウトプット。誰でも、新人デザイナーでも一定のクオリティを出せる。クオリティーのばらつきだけでなく、テイストのばらつきを防ぐこともできる。◎スピードアップ。すばやく作りたいエフェクトにたどり着く。 #tkbvs
ComperK 2011/09/22 14:07:58
ComperK
◎正確さ。新人に「このエフェクトはこういうふうにつくるんだよ」と口で説明するのでは、忙しいときは不十分な説明になってしまう。また、教える側は同じ説明をいろんな人に何回もしなければならない。「エフェクトライブラリ」はマニュアルもあるので口で説明するより正確である。 #tkbvs
ComperK 2011/09/22 14:08:42
ComperK
■DF社内用の「TIPS WEB」の紹介・・・ライブラリとは別に、「TIPS WEB」というのもある。情報共有のための社内WEB。エフェクトに特化した内容になっている。エフェクトチームが設立してから今年で4年目だが、他の部署にはないノウハウが蓄積されてきている。 #tkbvs
ComperK 2011/09/22 14:09:57
ComperK
◎最新情報を共有。トラブルシューティングにも利用できる。つまり、同じ問題を抱えて作業がストップしている人が何人もいないようにする工夫。◎検索性。これもライブラリと同じで、やはり「タグ」と「フリーワード」で検索できるようにしている。すばやくTIPSにアクセスできる。 #tkbvs
ComperK 2011/09/22 14:11:40
ComperK
◎個人に依存しない。エフェクトチームと言う「場所」に知識が蓄積する。個人に依存すると、その人がいなくなったときにノウハウが失われる。チームに蓄積すれば、人の入れ替わりがあっても他の人に引継ぎが可能だし、そこからさらにノウハウを拡張・発展させていくことができる。 #tkbvs
ComperK 2011/09/22 14:12:42
ComperK
まとめ以上で終了です。ちょいちょい自分流に言い換えてしまっていると思いますので、そうじゃねぇよ!的な部分があれば、すみませんがツッコミよろしくお願いします~。m_ _m #tkbvs
ComperK 2011/09/22 14:14:07
Content from Twitter




Fumefxのパラメーターにアクセスする!~シェーダ編~

まず、FumeFxのコンテナはインスタンスコピーされたものはレンダリングされない模様。
なので、たくさんコピーしたコンテナのパラメーターを一括変換するためスクリプトが必要になった。
コンテナのパラメーターは「showproperties $(選択物)」で確認したり、
リスナーでレコードして確認する。

そこで、RenderタブのSmoke内のOpacityにアクセスしてみたいと思う。
まず、「showproperties $"Smoke*"」でそれっぽいパラメーターを検索。

.SmokeDetailStrength (Smoke_Strength) : float
.SmokeThreshold (Smoke_Threshold) : float
.SmokeFromFuelDensity (Smoke_Density) : float
.SmokeBuoyancy (Smoke_Buoyancy) : float
.SmokeIllumStrength (Smoke_MS_Strength) : float

ん~見当たらない。。

リスナーのレコーダーで見てみる。

$[#Standard].smokedensity = 0.93

とでる。

なので、「$.smokedensity = 1」と入力してみる。
一瞬できたと思ったが、シュミレーションタブのFuelパラメーターのSmokeDensityが1になった。
僕の引き出しはここまで。もう迷子。
適当に「$.smokeopacity = 1」やらいろんなの試したけど駄目。。。



ツイッターでいつものように助けてとつぶやく。
そこでKei Yoneokaさんがいつものようにすぐ助けてくれた。
ほんとに毎度ありがとうございます{%万歳webry%}

-------------------------------

Keiyoneoka
@notchmen あー、あれは最初にFumeのシェーダーを変数として定義しないとだめぽいです。
myshader=(i.getshader()) とやって、myshader.smokedensity=0.1とかする流れです。

--------------------------------

解決!!

私的解釈では
RenderタブのSmoke内のOpacityはFumeFxシェーダのプロパティにあたるらしい。
上記で見られる「$[#Standard].smokedensity = 0.93」の[#Standard]がそうだ。
なのでFumeFXシェーダーを作成して、そのシェーダーのプロパティにアクセスするという流れだ。


キーとなるのはこいつだ。こいつさえ知っておれば。。
↓↓↓↓↓↓↓
[#Standard]

ほんと仕組みがまだまだ理解できてないので勉強しなければ。。。







2011年9月18日日曜日

FumeFXでスケール感のある煙を作りたい

シュミレーションが60フレームいったところで落ちてしまいました。{%がっかり(orZ)webry%}
59フレーム目のファイルサイズは56メガ!?この煙のボリュームで意外と軽い。。1フレ1GBいくとか聞いたことあるので覚悟しといたのだが。AdaptiveGridが効果発揮したのかな??それかfireとsmokeチャンネルだけだからかな?
画像

でも何で落ちたのか不明。。マシンスペック上げようかな。。

マシンスペックはIntel Core2 Quad Cpu Q6600 2.4GHz 2.4GHz 実装メモリ6GB OS-64bit

1フレのシュミレーション計算時間は59フレーム目あたりの8分が最大。全然許せる範囲だ!

次の課題!
現状のムービーは、スピードが速いのでスピードの調整をして、スケール感を出し、
ディテールを追加するためにwavletを絡ませていきたいと思う。wavletは重いイメージだから絶対落ちそうだけど。。





simulation step テスト


simstep1

画像



simstep2
画像


simstep3
画像


simstep3-syscale0.1
画像



2011年9月13日火曜日

Siggraph 2011 cebas report: Thinking Particles 5

将来、キャラアニメまでTPでシュミレーションかけたりして。。
バージョンアップはいいけど、値段だけは高くならないようにしてくらさい{%泣くwebry%}
アップデートとかもなるべく控えめにしてください。。
追いつけないっす{%トホホwebry%}




2011年9月10日土曜日

選択したモノに対して、スケールoo倍の親ポイントをつける

sblogさんのとてもわかりやすい記事を参考に、初スクリプト作ってみました~{%万歳webry%}

単にループでやりたいこと並べただけですが。。
また、バウンディングボックスの値をとるところが自信ないです{%がっかり(orZ)webry%}
[.max: Point3,.max: Point3]と[nodeLocalBoundingBox ]の違いが良くわからんし。
なんとなくlocalって書いてある後者を使ったけど。。このことかな。。

今のとこスクリプト作ってて時間かかるのはヘルプであれこれ探すことだから早く見慣れたいわ~


画像



----------------------------------------------------
--選択したモノに対して、スケールoo倍の親ポイントをつける


for obj in selection do
(
obj.pivot=obj.center --基点を中心へ。
p = point()        --ポイント作成
p.box=on --box表示on
p.wireColor= (color 0 255 0) --ワイヤーカラーの指定
p.rotation = obj.rotation --ポイントの回転値をオブジェクトの回転値にあわせる
p.pos = obj.pos --ポイントのポジションをオブジェクトの位置にあわせる
bb = nodeLocalBoundingBox obj --バウンディングボックスの最大ポイントと最小ポイントを取得
bbmax = bb[2] --バウンディングボックスの最大ポイント
bbmin = bb[1] --バウンディングボックスの最小ポイント
p.size=distance bbmax bbmin --上記二つの長さ
p.size=(p.size)*1.5 --ここでポイントのサイズを最終指定。
obj.parent = p --オブジェクトの親をポイントにする
)



--更新履歴:2011/09/11
--ポイントの回転も選択したものにあわせる


-----------------------------------------------------------


2011年9月8日木曜日

オパシティで抜いたオブジェクトの、vrayvelocity素材の出した方

思いつきでテストをやってみたらいけそうなのでメモ!

以前調べたところ、elementのvrayvelocityはopacity対応してないみたいでした。
だけど、vrayDissplaceModを使い、vrayvelocity素材を出すことに成功!チョイ裏技?
肝はvrayDissplaceModのパラメータにあるWater levelにチェックをすること。詳細は以下の動画を見ればわかる。

また、板ポリの位置をずらさないために、vrayDissplaceModのAmount0.1,Shift-0.1,Water levelにチェックし-0.0以下にする。これで位置はずれないはず。

だけど、テクスチャディテールがあれば重くなるかもです。




ここに紹介されていた機能を参考にしました!
他にも目から鱗な機能ばかりでした。vrayDissplaceMod恐るべし!
↓↓



2011年9月3日土曜日

ParticleFlowのプラグイン

見逃してた~{%トホホwebry%}
PFbox系にフリーがあったとは。。

-------------------------------------
ParticleFlow Tools: Freebies

Particle Flowのオペレータープラグイン。以下の5つのオペレーターが搭載されています。

Camera Culling Operator
- カメラから見えないパーティクルをフィルターすることによりパーティクルを減らすオペレーター。
Camera IMBlur Operator - パーティクルにイメージモーションブラーをかけたときに、カメラの動きを考慮せず正常にモーションブラーがかからない問題を解決するオペレーター。
Copy Out Test
- Spawnテストを単純にし、動作を高速にしたテスト。
Dipslay Script Operator
- 各パーティクルのスクリプトデータをビューポートに表示するオペレータ。
Stop - パーティクルを完全に止めるオペレーター。移動、回転について個別に設定することができます。
Stop Gradually Test - パーティクルの動きを次第にゆっくりにし、完全に止めてしまうオペレーター。移動、回転について個別に設定でき、速度が遅くなり始める時間、完全に動きを止める時間を設定することができます。

こちらから


Particularでループ素材作成メモ

①ループを始めたいフレームで、Particles/secの値を1フレ(ステップキー)で0になるように設定する。
又、そのフレームはマーキングをしておくとよい。
これでパーティクルの発生が止まり残りのパーティクルはlifeで消えていく。
このコンポの長さは、パーティクルが完全に消えるまでにしておく。

②新規コンポジットを作成し、①のコンポをいれ複製する。
先ほどParticles/secの値を0にしたところが、ファーストフレームになるようデュレーションバーを移動する。

③②のコンポジットの長さは①のParticles/secの値を0にした所までの長さである。

以上、ループ完成

要はパーティクルの消失部分を発生部分に重ねるということ。

参考サイト


2011年8月26日金曜日

オバケ(残像)の参考

新作2D対戦格闘ゲーム『Skullgirls』二人のキャラを紹介する最新トレイラー





2011年8月21日日曜日

イベントベースとルールベースの違い

追記----
すみません、見返すと明確な答えを出してないので、読み流す程度が良いかと思います。
いずれ明確に理解できたら更新したいと思います


2011年8月20日土曜日

ブラックボックスについて

■ブラックボックスについて

TP2日本語チュート引用
↓↓↓↓↓↓
-------------------------------------------------------------------------------
Black Box の最もシンプルな定義は、ハードディスクに保存され、再利用可能な標準DynamicSetです。

より詳細を述べると、Black Boxes (共有や再利用可) はシーンから独立したコンディションやオペレータのコレクションです。これら保存されたDynamicSets は追加の調整なしに、他のThinkingParticles オペレーターでドラッグアンドドロップしたのと同様になります。独自のBlack Boxesを作成するときは、すべてがシーンから独立しているべきであり、Particle Group名や シーン特有のデータを含んだBlack Boxの作成は意味がないということを覚えておいてください。
---------------------------------------------------------------------------------------

制作されたBlack Boxにインプット、アウトプットのデータストリームを追加することも可能。


画像




DynamicSet内のリストで、上で(先に)設定した処理を上書きしないように指示を与える方法

これは何時間か悩んでしもた。。
��P2の日本語チュート読んだら載ってあった!

-----------------------------------------------------
以下コピペ

画像


各DynamicSet 内、ルールやオペレータは上から下への順序で処理されることを覚えておいてください。PositionオペレータはPos_Size_Shape DynamicSet内、リスト一番下にあるので(上記のように)、最後に処理されます。結果として、その上で作成されたMotion DynamicSetのデータは上書きされます。
この動きを修正するいくつかの方法があります。


・ この1つめの最も簡単な方法は、発生時に位置設定をすることです。これで、Position は設定を一度だけ取得、モーションが適当となります。
・ 2つめの方法は[Particle Age] コンディションを [Position] オペレータのインプットデータストリーム、ONに追加。パーティクル発生時のみに位置設定がされるように指示することです

-------------------------------------------------------------

メモ(eat3Dチュートのchap2 part1のやつ)
↓↓
画像


Master Dynamicパラメーターのメモ

画像



2011年8月18日木曜日

TPのショートカット

一応メモ
赤字は未解決です{%トホホwebry%}どなたか教えてくれると助かります!

■基本操作

プロパティの表示:Alt+Shift+P
プロパティの非表示:Alt+Shift+C
デバックモードON/OFF:Alt+Shift+D


■ノード操作
ノードの削除:ノードの上でAlt+右クリック

ノードのアクティブ、非アクティブ:??


■ビュー操作

ズーム:Alt+クリックプレスドラッグ



2011年8月14日日曜日

敵のミサイルを回避せよ!

Eat 3Dのチュートリアル参考にしています。
こんな単純なもので頭が混乱している次第でございます。
計算が入るともう嫌になります{%がっかりwebry%}
計算的には小学生レベルなのに。。
頭の運動にはなると思ってめげずに頑張って生きたいです{%力仕事webry%}

画像



パーティクルの粒粒感を消す方法

twitterでのつぶやきをそのままコピペです。
こんな裏技を発見するとtwitterに夢中になってしまいますね{%うれしいwebry%}
つぶやかれた先輩方に感謝です!


Keiyoneoka Kei Yoneoka

@melonVFX @puton @K240 AE使って粒粒消すのはputonさんの方法とノイズ&グレイン→ミディアンとかBlur & shrpen→CC Vector blurとかもありますね。CC Vector blurはちょっとお洒落な効果になるのでなかなかいいです。

@melonVFX @puton @K240 パーティクルの粒粒感は自分は粒粒感がなくなるまでパーティクルを増やすか、もしくはコンポでぼかして対応とかでしょうか。MAXはKrakatoaがあるので楽ですね。通常のパーティクルをレンダリングするより10倍以上早いです。

puton Ren Kikuchi

@melonVFX @K240 @keiyoneoka Causticsは個人的にはParticleの粒感消しの定番なんで、そのうちどこかで簡単な手順出したいですね。



2011年8月13日土曜日

カラーコレクション/グレーディングの心構え

灰色苺

わかりやすくて、とてもためになりました!
映画のバックグラウンドに青や緑が多いのは、人間を栄えさせるためなんですね~{%うれしいwebry%}

又、Magic Bullet Coloristaは無料になったというではないですか!
早速試してみたいところです




2011年8月12日金曜日

Game of Thrones SSVFX Breakdowns

海外のテレビドラマらしい。日本とはスケールが違う。これぐらい日本も潤いたいですな{%がっかりwebry%}





2011年8月8日月曜日

TPで敵を打ち落とすミサイルを作る

Eat 3Dのチュートリアル参考にしています。
ちょっとわかんなかったんで、一つ一つ説明つけました{%トホホwebry%}
こうやって少しづつアセット化していきたいですね。
けどまだDEMOだから保存できない。。{%泣くwebry%}

画像



2011年8月7日日曜日

Krakatoa MX 2.0の詳細

インディーゾーンさんで日本語訳されてありました~{%笑いwebry%}

http://indyzone.jp/blog/archives/2011/08/siggraph_2011th.html


2011年8月6日土曜日

瞬間移動エフェクト



X-men's ファーストジェネレーションより

vapor cloud素材は直訳で蒸気雲{%ペンwebry%}


FumeFxでトルネードファイヤー



発見したのがfootoolsのForce Viewerである。そのままビュー上でフォースの影響を視認できるプラグイン。
これは使えそうだ!{%拍手webry%}

http://www.footools.com/3dsmax_plugins.html

http://www.maxuser.com/plugins/


ポリゴンピクチュアズ流エフェクトセミナーについて

気になっていた、分業体制であるPPIの会社の中身がなんとなく把握できた。
効率的に作業するには、エフェクトアーティストは、ツールつくるなりアセット化できるようならないと感じた。
それはチームで作業する場合にでもある(主にこっち)。

3dsmaxのPFは基本、キャッシュが出来ないようなので、そういうことに関しては向いていないように思える。
そこはプラグインのTPやkrakatoaの出番なのかなと思う。プラグインにしては値段が結構高い。しかも日本語のマニュアルや情報がないので敷居が高い。


まあ、ボクは今のところPPIでいうジュニアアーティストぐらいなので、まだまだその辺を考えるより多くのクールなエフェクトを見て表現力をアップしないといけない。

という意味で、今回のセミナーはエフェクトチーフから上の方向けだったように感じた。エフェクトを良く表現する方法においては触れなかったので少し寂しかった。{%泣くwebry%}


パソコンの電源は入っているが、モニタがつかない対策として

パソコンの電源をつけ、モニタに信号が入力されていませんとでる。
始めは接続の問題かなと、付け外しして運がよければつくのだが、日がたつにつれて運もくそもない状態で全く反応なし。コネクタのピンも折れてないし。。コネクタは問題なし(他で確かめたわけではないが不良の確率低し)。

グラボかなと思い、古いので買いなおしを検討したが、その前にグラボのドライバを更新する。

直った{%拍手webry%}

どういうことかわからないけど、良かった{%笑いwebry%}
説明できる方いたらぜひ教えてください!

OSはWindows7で、グラボはNvidia GeForce 8600GTSです。


2011年8月5日金曜日

krakatoaのクール動画

krakatoa2.0楽しみだわ{%うっとり(ぽわん)webry%}

添付動画は従来のバージョン






NUKEの本

当分、うちの会社で導入はないな。だがNUKEのすごさ知りたいので買おうかな{%うれしいwebry%}


NUKE 101 -コンポジット & ビジュアルエフェクト -DVD付き-
ボーンデジタル
Ron Ganbar(ロン・ガンバー)

amazon.co.jpで買う
Amazonアソシエイト by NUKE 101 -コンポジット & ビジュアルエフェクト -DVD付き- の詳しい情報を見る / ウェブリブログ商品ポータル