2011/06/29

HoudiniモデリングのTips

しばらくHoudiniでゴリゴリモデリングをしていたので、忘れないようにいくつかメモを残しておこうと思います。

あまり評判が良くないHoudiniのモデリング機能ですが、やってみた感想としては、、確かにMayaよりは使いづらいかなと(小声。。

一番はモデリングツールがあまり充実していないこと。Mayaのようにかゆい所に手が届くツール群がそろっているわけではないため、、かなり地道な作業が必要になる場合が多いと思います。
ただ、それに慣れてしまえば、ゴリゴリやるだけなので他のソフトのモデリングと基本は変わらないよう思います。

メリットとしては、やはり履歴を遡って変更が可能なことでしょうか。かなり柔軟にやり直しができると思います。ただ、例えば、vertex(頂点情報)をmergeするなど変更を加えた後で、戻ってやり直し作業をすると、それ以降のノードではエラーが出たりするので注意が必要です。戻って変更を加える場合は、その後のノードに影響が出ないかを考えながら行う必要があります。

以下、注意点などを記載していきたいと思います。

※あくまでも僕の独習からの視点なので、間違いがあるかもしれませんし、本当はうまくやれる機能や方法があるかもしれません。そういう場合は、記事を修正していきますので、コメントで一言頂けると大変助かります。


1.オペレーションを行うたびにノードが増えていくので、何も考えずにやるノードが膨大な量になってしまいます。その管理、まとめ方みたいなのを考える必要があること。

・editオペレーションは同じノードできるだけまとめておこなう

・PolyeExturude(押し出し)はdetailタブで分割数が指定できるので、できるだけまとめておこなう。

・Edge Loopもまとめて行う。

・ある程度のまとまりができたら、"null"ノードで"Out_model"などの名前をつけて、まとめる。その上で、"object_merge"ノードを作成し、読み込んでそこから作業を進めるとかなりスッキリできる。
秋元さんのCG WORLDの連載記事のDLPDFファイルが参考になると思います。

CG WORLD.JP Houdini Cook Book

ただ、あまり気にしすぎるとモデリングが進まないので、僕は途中からNetwork viewは見ないようにしていました。この辺のコスト管理は慣れと知識がないと急には難しいですね。


2.頻繁に使うショートカット

・4画面表示・・・"ctrl+2"
その上で、1面←→4面の行き来をする・・表示させたいviewにマウスを移動して"spaceキー+b"
(思ったviewがうまく一面表示されないときは、一度selectキーに切り替えて行うとうまくいく)

・sceen viewの全体表示(モデリングに集中時)・・・ctrl+b

・selectボタン・・"s"

selectした上で、ポイント指定・・"2"、エッジ指定・・"3"、primitiv(フェース)・・"4"、vertex・・"5"
selectがうまくできない時は、選択指定がFront Face,Back Faceのどちらかになっているので、下記画像の場所で選択か、ショートカット"b"キーを押して変更。

・ワイヤーフレーム表示・・"w"

・繰り返し・・"q"

この辺も、他のソフトでも使うようなショートカットだと思います。
4面でリファレンスを表示させてモデリングをする場合は、画面切り替えのショートカットは頻繁に使います。僕のキーボードが悪いのか、うまく切り替えができない時がありますが、スペースキーはカメラの指定ですので、スペースをおして次のキー(bとか)という具合に、同時押しはしないほうがいいかもしれません。


3.頻繁に使えうツール
・edit・・sceen view上で、移動や拡大、頂点やエッジの移動などのオペレーションをすると勝手にできるノード。

・Transform・・最初にBoxなりtubeなりを作ったときに、最初につなげて作業を行う。editでも代替できるが、オブジェクトを大きく動かすときに使う(気がする)。pivot pointなどを変更したいときにも使う。

・Poly Exturede・・押し出しツール。押し出し後分割できるのが便利。

・Poly Split・・分割ツール

・Edge Loop・・ループして分割

・Fuse・・頂点を結合するツール。上記Edge Loopを使った後など、頂点が分かれたままになることがあるので、これで結合して綺麗にする。

・Reverse・・法線を反転させる。

・Create Poly・・ポリゴンの作る機能があまり充実していないので、このツールを導入した方が早いと思います。

・Flatten Points・・ポイントやprimitiveを並べたり、平面にそろえることができるツール。これもデフォルトではない機能なので、このサイトからDLして使います。でも本当に無いのだろうか。。

主に使うのは、sceen viewの上にあるshelf Toolのコマンドが多いと思います。もう少し複雑な、こういう作業はできないのかなー、というのは、以前紹介しましたが、Mayaとの対応表がMaya使いの方は大変便利だと思います。
Maya To Houdini


あと、Tipsとして、HoudiniはNetwork View上で"Tab"キーでノードを呼び出してオペレーションを行うのが基本ですが、これは、sceen view上でもできるわけです。
例えば頂点などを選択してる状態でオペレーションをしたい場合(fuseとか)は、sceen view上で"tab"キーからノードを呼び出してオペレーションを行うと、選択した部分だけに適用されます。
これは、覚えておくと便利だと思います。


文字ばっかり、かつちょっとまとまりきれてませんが、個々のツールの使い方などは、また別でupしていきたいと思います。参考になれば幸いです。

以上。

2011/06/08

【モデリング】vertexの結合の仕方(Fuseの使い方)

モデリングをする際に、vertexを結合(Mayaで言うmerge)をしたい場合。
fuseノードを使うようなのですが、普通にポイントを選択して、fuseシェルを選択するだけではくっつきません。
パラメーターのDistanceを調整する必要があります。

1.選択ボタンをvertex対応にして(6キー)、vertexを選択して(この時点でeditノードが自動作成される)、シェルのFuseを選択





















ここで、Distanceパラメータを調整して、選択したvertexが結合されるように調整します。

し・か・し、こんな面倒なことをいちいちやる必要あるの?Mayaみたいにスナップして結合して、mergeとかできないの?と調べてみると、ちゃんとスナップ機能がありました。






1.左のツールボックスからsnap to pointを選択(Vキー)
2.LMBを押しながら、移動させるとスナップしてくれます
3.最後はfuseでマージをキめます

各種Snap機能




補足ですが、以下の動画に基本的なFuseの特徴が紹介されています。

AI workさんの動画

動画は貼れませんが、Peter Quintさんのポリゴンの基礎について。Vertexだけではなく、Point,Normalなどの理解が深まります。
Basic Polygon 1

Basic Polygon 2


こういうモデリングの際の細かなテクニックがなかなか理解する、というかやり方を見つけるまでが時間がかかります。Mayaだったらこうするのに、、、ともどかしいものがありますね。
そういう場合の、Mayaの機能のHoudiniへ当てはめた一覧がありました。
残念ながらほぼモデリングのみの対応表ですが、見当をつけるのには十分かと。すばらしいです。

Maya to Houdini

ここは、HoudiniのフォーラムでQ&Aが非常にためになります。

ただ、会員になれないんですよねー。質問に答えなきゃいけないんですが、Houdiniを作った会社は?って聞かれるんでが、Side Effects(Software)だとエラーになります。
えー?なんで???F0ck!!

以上。

2011/06/02

バンクーバーの映像とラジオ番組

バンクーバーのTime Lapse(微速度撮影)映像です。
こんなに煙る街なんですね。




次は、ミニチュア撮影でのバンクーバー。これもきれーですね。
Miniature Vancouver


Miniature Vancouver II

いやー、すごいですね。

最後に、バンクーバーのラジオ番組のリンクをのっけておきます。
web上でストリーム配信をしているので、最近は作業をしながら聞き流しています。
何というか、これ聞くと、うわー外国だー、ってなるんですよね。
気分だけでも海外気分ですw

The Beat 94.5・・Vancouve's No1 Music Stationと言ってるだけあって、ヒットチャートがずっとかかってます。
http://thebeat.com/

CKLG 96.9 JACK-FM こちらも音楽中心
http://www.jackfm.com/

CKWX News 1130 AM こちらは、天気とか、ニュースとか、交通情報です。
http://www.news1130.com/#

ちなみに、このサイトで海外のwebラジオの一覧が乗っています。
http://www.surfmusic.de/

ラジオサーフィン?していっても面白いでしょうね。

以上です。

Particle基礎

3月末に行われた、Houdiniのパーティクルセミナーに参加したときのメモです。
パーティクルの基礎が大変わかりやすく解説されていました。
以下、基本の部分ですが、わかってるようで全くわかっていなかったことばかりです。大変勉強になります。


・cook・・・計算する過程。1単位ごとに行われる計算のこと。
1cook=1フレームではない。もっと細かくフレームとフレームの間に計算することもある(マルチサンプリングorオーバーサンプリング)を行う場合。

・particleの逆計算はできない

・パーティクルの計算は、フォースによって行われる
フォースは同じタイミングで(同時に)かかる。アクセラレーション(加速度)の足し引きの、最終結果をパーティクルに影響させている。
なので、ノードの繋がりの上下による影響の順番の区別はない。

・計算はフレームごとに行うのが望ましい
パーティクルの量を増やすと、リアルタイム再生ができなくなる。
リアルタイムに間に合わせようと、フレームをとばしてしまう。そうすると計算おかしくなる。
→play every fameをonにして毎フレームで計算させる

・impulse・・cookごと(タイムステップごと)の発生率


・オーバーサンプリング(コリンジョン判定の精度を上げるときに使う)
popnet>source>over sampling
http://www.sidefx.com/docs/houdini11.0/nodes/pop/source

・impulseで制御する場合のparticle発生数の違い
→オーバーサンプリングに入れた数値で1Fが分割されて(3なら1/3=0.3333)、それごとにパーティクルが発生する。

つまり、(ここは個人的な解釈ですが)
1Fごとの発生パーティクル数=Impulse Birth Rate*oversampling

oversamplingに値を入れると、発生数が多くなり、シミュレーション全体での最終的なパーティクル数の把握が難しくなる。
簡単に発生数を制御するには、"Constant Birth Rate"で制御する。

Constant Birth Rateでは、1秒ごとの発生率を決められる。
constantは常に1秒ごとの発生率を決める。


より詳細な解説は是非セミナーにてご確認下さい。。(宣伝

以上。

2011/06/01

RBD ObjectのPhysicalパラメーター設定

RBDオブジェクトのPhysicalの部分を整理しました。
ここのPhysicalの訳ってなんでしょうね。物理的(質量、摩擦..)というニュアンスなんでしょうが、ぴったりの日本語がみつかりませんでした。


まず、そもそもの質量や密度、といった意味はこちら↓の過去記事を参照下さい。

ここのヘルプ(英語)
http://www.sidefx.com/docs/houdini11.0/nodes/dop/rbdglueobject#id506272

Physical
・Density(密度)・・体積あたりの質量


・Mass(質量)・・オブジェクトの絶対的な質量


・Rotational Stiffness(回転剛性?)・・オブジェクトがかすめるような衝撃受けるとき、多くの回転を得ます取得した回転オブジェクトの形状や質量分布に依存します。慣性モーメントとも言います。


慣性モーメントについて・・、物体の回転のしにくさをあらわす量である。もっと正確に言えば回転運動の変化(回りだす、止まる)のしにくさをあらわす(wiki)
http://ja.wikipedia.org/wiki/%E6%85%A3%E6%80%A7%E3%83%A2%E3%83%BC%E3%83%A1%E3%83%B3%E3%83%88

・Bounce(弾性)・・オブジェクトの弾性バウンス1.0値での衝突の場合、2つのオブジェクトエネルギー失うことなく跳ね返りますバウンス値0.0での衝突の場合、2つのオブジェクトは停止します


・Friction(摩擦)・・オブジェクト摩擦係数 0の値は、オブジェクトが摩擦のないことを意味します。
これは、衝突静止接点に影響される接線速度がどれぐらいになるかを制御します。

接線速度について

摩擦力について

・Dynamic Friction Scale(動摩擦係数)・・オブジェクトが動いているとき、静止時よりも摩擦係数が低くなる可能性がありますこれは、2つ関連する物体のスケールファクタで、摩擦係数ではなく、ゼロと1の間の尺度で表されます

1.0は、動的摩擦静止摩擦等しいことを意味します(動いているときも静止時と摩擦が変わらない)。
0の値が意味するのは、静止摩擦がオブジェクトの動きに、摩擦無しに圧倒されるということです(つまり動いているときの動的摩擦が静止摩擦よりも小さくなってつるつる動くということ)

・Temperature(温度)・・温度は、オブジェクトがどれぐらい暖かいか、または冷たいかをマークしますこれは、燃料着火または浮力を計算するためにガスシミュレーションで使用されています。
これは実在する世界温度目盛は直接関係しないので周囲温度通常は0と見なされます。



それぞれ、自身の意訳ですので、本来の意味は英語の方でご確認下さい。間違っている可能性もあります。。そもそも、物理の知識がないと、ここは理解が難しいですよね。専門用語にはリンクを張っていますが、これはちゃんと理解するのは時間がかかりそう。。文系には辛いなと。

そんな中、高校物理をわかりやすく解説しているページがありました。本当にありがたいです。

わかりやすい高校物理の部屋

摩擦の解説リンクを張っているwebサイトです。GIFアニメーションもあってわかりやすい!
こういうところも地味に勉強しないとですねー。

ちなみに、これは聞いた話でソースがあるわけではありませんが、Houdiniの物理シミュレーションが優れているのは、ちゃんと計算しているから、だそうです。当たり前やんけと言われそうですが、Mayaなんかで衝突シミュレーションをやって壊れて破片ができたり、落ちたり回転するのは、フェイク回転だったりするらしいですね。ちゃんと計算していないと。
自分の実感としても、Houdiniの衝突シミュレーションはMayaに比べて綺麗だなと感じます。Mayaも計算していないわけではないでしょうか、精度の問題なんでしょうね。
あとは、スピードが上がれば言うことないんですが。。

以上。