2016年5月21日土曜日

memo Houdini-01

Houdiniについて勉強中のメモです。

あとで理解できてきたらまたまとめなおすと思います。

とりあえず。

「Houdini ショートカットキー簡易まとめ」
ビューポートオプション
W シェーディング/ワイヤーフレームの切り替え
D ディスプレイオプションウィンドウの表示
Space+B 1画面/4画面のビューポート切り替え
Space+O 正投影/パースペクティブの切り替え
Space+E view one/view allの切り替え
Space+1 現行のビューポートをパースペクティブに切り替え
Space+2 Top
Space+3 flont
Space+4 side
Space+5 UVエディタ



「Houdini 簡易関数表」 
(SideFX公式ページより引用 http://sidefx.jp/doc/rendering/expressions.html)

$F
現在のフレーム番号

$FF
現在の浮動小数点フレーム番号。この値は、Houdiniがモーションブラーのサブフレームモーションを計算している時に再生します。

$N
入出力ファイルカウンターの数。この値はフレーム番号とはまったく関係なくて、複数のファイルを処理するときに、Houdiniがこれまでに読み込んだ/書き込んだ/レンダリングしたフレームの数です。
例えば、フレーム番号10から15までをレンダリングすると、$Nは、1, 2, 3, 4, 5のように変わっていきます。

$T
現在の時間

$SF
現在のシミュレーションタイムステップの数。ダイナミックスシミュレーションでファイルを保存するときは$Fの代わりに$SFを使います。シミュレーションはサブステップ単位で計算をしているので、$Fを使うとサブフレームの数だけ同じファイルを上書きしてしまいます。$SFは$ST(シミュレーション時間)を$TIMESTEP(シミュレーション時間ステップサイズ)で割った値です。

$ST
現在のシミュレーション時間

$OS
現在のノード名





あとノードの色別にどういう状態なのかをまとめてるとこってどこかないですかね。
それもまとめておきたいです(わからないので)

Houdiniやるやる言うてずっとやらない詐欺師だったんで、色々日本語ヘルプも出てきたのでやってみようと思います。

2014年12月25日木曜日

Particle Instanceのオブジェクトスケールを徐々に小さくしていって消す方法。(簡易版)

表題の通りです。

爆発の際の破片オブジェクトから煙を発生させたい場合に、やり方を忘れて少し時間取られる事があるので、メモを残しておきます。

scale = rand(1,2); //スケールのランダム値

index = particleId % 3; //欠片の数
r_off = <<rand(6.28),rand(6.28),rand(6.28)>>; //ラジアン時の1回転の数値

r_spd = <<rand(6.28),rand(6.28),rand(6.28)>>*1; //回転速度

scale >= 0) //スケールが0より大きい場合、フレーム毎にスケール-0.1を繰り返す
scale = .scale -0.1;

else scale = 0; //スケールが0より小さくなった場合は、-値へ行かず0で留める

出来れば発生した瞬間と消滅する時間を取ってスケールを変化させたかったのですが、今回あまり時間がなかったので、また後日作る際にでもメモしようかなと思います。

2014年1月15日水曜日

Houdini初体験「水をOBJにする方法」

初めてHoudiniで水を作ったので、簡単なメモを残したいと思います。

ただ、水の作り方がまだよく理解していなくて正しい知識かどうか不明なので、詳細は省こうと思います。

今回は、作った水をOBJデータにする方法をメモしたいと思います。

多分次触るときには忘れるので。。。



「Particleで水を作った後、メッシュをOBJデータにする方法」

・まず、ボックスやスフィアなどのオブジェクトを作成し、シェルフから簡単な水を作ります。
※シェルフで水作る際に気をつける点として、シェルフで作った場合は「Polygon Soup」というHoudini独自のポリゴンになってしまい他のソフトへ持っていけません。(でも軽いらしいです)

・適当な動きを付けたら、cacheを追加し、キャッシュを取ります。(取ったキャッシュはDOPのノードで指定できるらしいですが、まだよく判らないので調べます)

・Particle Fluid Surfaceを追加します。

・上に書いたようにシェルフから作った場合には、Polygon Soupになってしまうので、cacheの後ろあたりにConvertvdbを作成してPolygonに変換します。

・そして、最後にRop Output Driverで書き出します。


という流れになると思います(多分)


まだまだ初心者ですが、これから勉強をしていきたいと思うので、よろしくお願い致します。

といっても実際に仕事が来ない限り中々勉強する時間がないと思うけど・・・笑


2014年1月8日水曜日

nParticleのキャッシュを時間制御する方法。

タイトルの通りです。

キャッシュをタイムワープ、もしくはストレッチをかけたい時に必要な事です。

久々にMayaの仕事でnParticleを扱う事になったのですが、半年以上使っていなかったので完璧に忘れていました。

良い機会なので、その方法を記載しようと思います。

面倒は面倒ですが、自分の中ではこれが一番手軽に出来ます。


・まず、nParticleを作りなんでも良いのでキャッシュを取って下さい。

・そしてロケータを作成し、Add Attruteで以下のようにしてください。
名前はなんでも良いですが、ctlなど判りやすい名前を付けると楽です。


・作成したらロケータとストレッチさせたいnParticleを選択し、Hyper Shadeを開いて下さい。

・ワークエリアでロケータとnParticleのキャッシュをコネクトしてください。


・キャッシュ側のDisprayでShow Hiddenをチェックし、ロケータに作成したアトリビュートとtimeを接続してください。



・最後にロケータのアトリビュートでキーを打てばストレッチ完了です。

細かい調整はグラフエディタで行って下さい。


ここで注意するべき点は、nParticleは従来のParticleとは違いフレーム間を保管してキャッシュを取りません。

もし時間を延ばしたい(スローにする)という場合には、キャッシュを取る時にEvaluate everyを調整してください。


これは1フレームの間に何度キャッシュを取るか、という所で0.5なら1フレームの間に0.5フレームに1回挟んでキャッシュを取るという意味です。

0.2なら計3回、0.1なら0.1フレーム毎(10倍)に。

0.4など余りが来るような数字はエラー起きそうなので試した事はありません。

ちなみに0.1だと0.1毎に計算がされるので、エミッターから出てくるParticleの量も違ってきます。
それを考慮して計算させると良いです。

少し面倒かもしれませんが、計算し直してもコネクトし直すだけなので、手軽な気がします。

もっと簡単な方法もあるかもしれませんし、もしこの方法を使うのであれば標準機能として出る可能性もありますので、あくまで回避策としてお使いください。

2013年7月17日水曜日

Max KarakatoaでFumeFXをレンダリング

チュートリアルをやりながらのメモです。

FumeFXをMax KrakatoaでParticleにして、レンダリングをします。


1. MaxFumeで簡単な煙(最初からいじらなくてもOKです)のキャッシュを作ってください。
解像度(Spacing)を低めに設定すると後々軽くて精神的負担が少ないです。(細かくしたい場合はあとでキャッシュとればいいです。)

2. Particle Viewに以下のParticleFlowを作成し、FumeFX BirthとFumeFX Followの両方に読み込みたいFumeをPickしてください。
 
 
 
BirthのStartとStopは100前後にしてフレーム数も合わせて設定してください。
 

またFumeFX FollowのIf Out of Gridにチェックを入れてください。(Fumeコンテナの外側に出たParticleを消滅させる為です。)

エミッター量は100000~500000でPCにより調整してください。
 
そのままでは果てしなく重いので以下にあるようにPF SouceのViewportを1%にしてください。

 


3. KrakatoaGUIを開いてください。

4. まずMain ControlsのForce Additive ModeをONにしてください。
Particleをレンダリングできるようにします。

試しに1枚どこかでレンダリングしてみてください。



多分こんな感じになるかと。

その少し下にFainal Pass DensityというものとDensity Exponent(10^x)という項目があるかと思います。

・Fainal Pass Density. Particleの濃度(上げれば濃くなり、下げれば薄くなる)
・Density Exponent(10^x). Particleの透過度(下げれば光がより透過し、上げれば透過しなくなる)

という感じで自分は捉えていますが、正しい知識ではないかもしれません。
そのあたりはご了承ください。

5. Global Render Valuesを開いて、Create New Override Setをクリックしてください。



Magma Flowが出てくると思います。こいつが面倒です。



まず上の図の緑のウィンドウを選択し、 ColorになっているところをTextureCoordにしてください。

Shift + AとShift + LでAgeとLifespanを出してください。
Ageを選択してConvert To Floatをクリックすると茶色いウィンドウが出ると思います。
それをLifespanにも同じ事を行ってください。


6. MagmaFlowのArithmeticからDivideをドラッグ&ドロップで取り出し、ToFloatと繋げて下さい。

7. ConvertからToVectorを取り出し、Divideと繋げて下さい。

8. 同じようにInputからInputValueを取り出し、ToVectorのYとZに繋げて下さい。

9. 最後にToVectorとOUT Textureを繋げて以下の図のような形になればOKです。
MagmaFlowを閉じてください。



10.MgmaFlowを閉じたら、先ほどのところにTextureCoordというものが追加されてると思います。
そちらを選択してください。

選択すると右のModifire ListにKrakatoaMXGlovalDataHolderというものがあると思います。




 選択すると下の方にAdd New Channels Modifireというものがあるので、そちらをクリックしてください。

 Krakatoa Channelsというものが出来ると思います。
いじるとKCM_Colorという名称に変わりますが、気にしないで下さい。

それを選択してOpen MagmaFlow Efitorで再度MagmaFlowを開いてください。

11. 右クリックで以下を選択し、ピンクのウィンドウを出してください。

 

それにOUT Colorに繋げてください。

12. Compact Material Editorを開き、新品のマテリアルを選択し、DiffuseにGradient Rampを繋げてください。

繋げたらMagmaFlowに戻り、Map Currentを選択。
右のGet Texture MapをクリックしてSample Slots内にある先ほど作ったGradient Rampを選択してインスタンスでOKをクリックして下さい。

MagmaFlowなどを閉じて今の状態でレンダリングすると白黒になるはずです。

これで一通り終了になります。


このRampを使い、KrakatoaのParticle色調整を行う事が出来ますので、Particleの濃度などやモーションブラーを調整していってください。


チュートリアルを見ながらなので自分も詳しい説明は出来ませんが、とりあえずこういうやり方もあるという程度に考えておいてください。

詳しい事が分かったらまたブログにメモしていきます。



追記:距離によって濃度が変わるなども重要になってくると思うので、それも少し勉強して追記したいと思います。

更新はもう少し後になるかと思います。

2013年6月13日木曜日

FF14 新トレーラー

特にメモる事もなかったですが、先日公開されたFF14の新トレーラーが素晴らしかったので、書いておきます。

 

相変わらずきれいですね。
オンラインゲームとは思えないグラフィックです。
当然ぼくもプレイします。

そのうちオンラインゲームにも4Kやら立体映像やらの波がきそうで、映像制作する人にとっては恐怖ですね。

でもとりあえずは目の前にあるものを楽しみたいと思いますw

2013年6月12日水曜日

E3 気になったゲーム映像

個人的に気になった映像をまとめます。


・UbisoftEntertainment Watch Dogs

このクオリティでゲーム出来る時代が来てしまったって感じですね。。
僕は小学生2年生くらいの時にPS1が出て、それから色んなゲームムービーを見てこれでゲームプレイしたいなーとばかり思ってました。

 
そのゲームムービー状態でプレイできますから夢が叶った感じですよ笑

後半の川とか、雨とかの表現処理がとても気になります。
街一つ全部作ってるそうですし、街の光表現もすごいですね。
早くプレイしてみたいです。




・SQUARE ENIX Final Fantasy XV

FF13ヴェルサスからの15です。
この事に関しては特に何もないですが、映像は相変わらず綺麗ですね。
登場人物も綺麗すぎる気もするのでも少しいかついやつ欲しいです。

 
プレイムービーが決まってきたようで、エフェクトもバシバシ活躍していますね。
ただFF14もそうですが、FF系の映像ってどこで作ってるんですかね、あまり聞かない気がします。
ビジュワルワークスが全て制作してるんですかね?
 
ちょっと気になります。
 
 
 
 
 ・KONAMI  METAL GEAR SOLID V THE PHANTOM PAIN
 
いよいよ5まで来ました。
またビックボスの物語ですね。
ピースウォーカーの続編なのでクリアしないとです。
 
 
 
前作MGS4も凄い映像美でしたが、近作は更に磨きがかかっていますね。
プレイ中の爆発とかどういう処理をしているんでしょうか?
昔フルイド処理と聞いて驚愕した覚えがありますが、少し細かい話を聞いてみたいです。
 
プレイ中の動きも、アサシンクリードのような滑らかなアニメーションが入って更に細かいプレイが出来そうです。
 
さっきのFFもそうですが、一度こういったゲームムービー制作をしている方と飲んでみたいですね。
 
 
 
・Bungie  Destiny
 
そして個人的に一番気になった新作ですね。
まだ情報はほとんど公開されていないようですが・・・・
 
 
 
こちらはMMO型の新作FPSですかね。
Haloシリーズを手がけたBungie社が制作という事で、内容的にも濃いものになっていきそうな予感がします。
なにやら、ゲームプレイで一人でダンジョンにいて地上に出たら空から宇宙船が飛来して付近にいるプレイヤー達と力合わせて戦闘開始とか、そんなプレイヤー繋がりの強いものを目指すようです。
 
映像的にも滑らかで綺麗な印象ですね。
多少スベスベしすぎてる気もしましたが、まだ開発段階なのでこれから進化していくのでしょう。
 
 
 
色々と楽しい情報が公開されたE3ですが、発売は来年でしょうし気を長くもってのんびり期待していましょうw
 
 
そしてこの映像技術の時代に追いついていけるよう自分も努力を続けていかねばなりませんね。
先頭集団に置いていかれないように頑張ります。