2010年1月30日土曜日

Magic of Houdini : (Copy, Primitive, Duplicate SOPs)

Copy SOP, Primitive SOP, Duplicate SOP and Copy/Paste
The Magic of Houdini: SOPs That Confound the Melon -- Part 1


もうひとつ、最初からあなたに混乱を与える騒々しいSOP達です。
これらはコピーに関係することをします。
では違いを見ていくことにします。

1.新しいセッションを始め、デフォルトのジオメトリ・オブジェクトの中身を削除します。
SphereSOPを作成し、Primitive TypeをPolygonに変えます。
Radiusを全アクシスにおいて0.2にします。

2.Grid SOPをどれにも接続しないで作成し、XtoYのSizeを5にします。

3.接続されていないCopy SOPを作成し、Sphereを左側のインプットへ、Gridを右側のインプットへ接続します。この操作は、左のインプットの形状を右側のすべてのポイントへコピーします。

4.接続されていないPrimitive SOPを作成し、Shereを左のインプットへ、Gridを右のインプットへ接続します。Do Transformationをトグルオンします。
ジオメトリがゆがんでいるのがわかります。


5.Facet SOPを左のインプットとSphereノードの間に挿入します。
Unique Pointsをトグル・オンします。これで何が行われているかを簡単に見ることができるようになりました。
この操作は、左のインプットの一つのプリミティブを右のインプットのポイントへすべての左のインプットが使われるまでコピーします。
最後の2列をのぞいてグリッド状の全ての点にsphereがコピーされていることがわかります。
100のポイントがグリッドにあり、80のプリミティブがスフィアにあります。

6.Duplicate SOPをSphereノードから外します。
Number of Copiesを3に変え、TranslateXを1にします。
この操作は、ただインプットの複数コピーを作成するだけです。

7.最後に、sphereノードを選択し、CTRL+Cを押し、そしてCTRL+Vと押します。
これは昔ながらのコピー&ペーストの作業です。
これはそれだけです。他の機能は一切ありません。

※Magic of Houdiniの内容は、Houdini9では書かれているような動作をしない。
 

2010年1月28日木曜日

Magic of Houdini : (Blast,Delete,Dissolve SOP)

The Magic of Houdini: SOPs That Confound the Melon -- Part 1

Blast SOP, Delete SOP と Dissolve SOP:

これらの違いを理解するための簡単な方法があります。

1.デフォルトのgeometryオブジェクトを作り、その中に入ります。
三つのSphereSOPsを作り、すべてPrimitive TypeをPolygonへ変更します。
それぞれのFrequencyを1に設定します。

2.Displayフラグを最初の一つに対してOnにします。
Primitive selection maskを使っていることを確認します(Hotkeyは「4」)
Display primitive numbersをOnにします。
ビューポートで、Tab > Blast operationを選択し、blast primitive 15 と16を選択します。
これは、二つのプリミティブが削除され、穴が残ります。

3.ノード「Sphere2」のディスプレイ・フラグをオンにします。
Deleteオペレーションを使い、そしてPrimitive15と16を削除します。
(sphere2のアウトプットを右クリックして、Deleteを選択
Deleteのパラメータ・エディタで、Groupに「16 15」と入力する。)

ここでも、二つのプリミティブが削除され、穴が残ります。
これらは同じ事をするのでしょうか?
各ノードのパラメータを見てみましょう。
deleteノードは、blastノードが持っていない様々なオプションを持っています。
基本的に、Blast SOPについては忘れて、Delete SOPだけを使えばよいでしょう。
時に、特別な機能を使うことも出来ますし、使わないこともできます。

4.sphere3のディスプレイフラグをオンにします。
Dissolveオペレーションを選択し、Primitive15と16をdissolveし(消滅させ)ます。
今回は、二つのプリミティブに含まれるすべてのエッジが削除されました。
しかし、プリミティブは穴を修復するために調整されました。
これがこのオペレーションと前の二つとの主な違いです。
これは、不必要なエッジを削除するためにもっともよく使われます。
ライン上のポイント(inline Poinst)を取り除くという便利なオプションもあることに注意して下さい。
この方法で使って、それがどのように機能するか見てみましょう。

5.Grid SOPを作成し、Rowsを3へColumnsを7へ変更します。
OrientationをXYへ変更し、垂直に立てます。
Dissolveノードを作り、Edges selection mask(Hotkeyは「3」)
図3にあるように真ん中の四つのエッジを選択します。

6.Houdiniはエッジを消し、そのエッジを含んでいたプリミティブは残ります。
ポイントの表示をオンにします。
Houdiniは垂直なエッジのポイントを保持しています。
Remove Inline PointsをオンにすればHoudiniが処理してくれます。

2010年1月27日水曜日

A Tool for L-Systems

L-Systemのみに絞ったサイト
http://www.selcukergen.net/ncca_lsystems_research/houdini.html

Houdiniを使用している。

L-Sysutemに関する詳しい説明や、ムービーによる作例がある。
作例に使われたL-Systemの公式が公開されている。

 

Houdiniチュートリアル by Jan walter

PDFファイルのチュートリアル
http://www.janwalter.com/Houdini/filmakademie.pdf

Quickstart: ロケットのモデリング
氷を砕く
バースコントロール
VEX builder

 

チュートリアル: エイの動き

Using Magnets and the Point SOP in Houdini


  

Magic of Houdini : (Object Merge SOP)

The Magic of Houdini: SOPs That Confound the Melon -- Part 1

Object Merge SOP:


Object Merge SOPは一つのオブジェクトのSOPの中身を他のオブジェクトに持ってくるのに便利なツールです。
Transform Objectが何をしているのかを本気で考え始めるまでは、とても簡単なように見えます。
自分にとっては、これは少し理解しにくい部分ですが、短いエクササイズを通して、それについて少し議論してみましょう。確実な足取りを取り戻すことを請け負います。

1.Houdiniで新しいセッションを始め、3つの新しい「Geometry」オブジェクトを創ります。
それぞれsphere、box、ocneと名付けます。

2.sphereオブジェクトの中に入り、SphereSOPを創ります。
boxオブジェクトの中に入り、boxSOPを創ります。
coneオブジェクトの中に入り、TubeSOPを創ります。
チューブをコーンに変えるために、rad1チャンネルを0にします。
各オブジェクト内にfileノードがある場合はそれらを削除します。

3.オブジェクト・レベルに戻ります。
ワールドの中心点へsphereを残し、
boxオブジェクトのポジションYを5ユニット移動します。
coneオブジェクトのポジションXを3ユニット移動します。
パースペクティブ・ビューでホームポジションへ移動し、少しだけドリーアウトします。
これで図1のようになっているはずです。

4.spehreオブジェクトの中に入り、接続されていないObject MergeSOPを創ります。
MergeSOPを創りsphereノードを接続します。
いつものように、ディスプレイフラグをアップデートします。

5.Object MergeノードのObject1パラメータで、coneオブジェクト内のtube1ノードへナビゲートし、選択します。
(「/obj/cone/tube1」と表示される)
「See One/See All」ボタンをトグルします。これで他の二つのオブジェクトも見えるようになります。
現時点では、マージされたコーンは、ワールドの中心点でsphereの上にあります。
なぜコーンオブジェクトのトラスフォームを継承しないで、スフィアの上にあるのでしょうか?
なぜならTransform Objectフィールドが空であり、SOPの情報のみがインポートされているからです。
なので、X軸+3ユニットは、継承されていません。

6.では少し理解しずらい事を始めます。
Transform Objectフィールドで、sphereオブジェクトへナビゲートし選択します。
(「/obj/sphere」と表示される)
コーンは、もう一つのコーンの上に移動しました。
ワイヤフレーム・シェーディングにして、Display Primitive Numbers表示をオンにします。
数字は二つのコーンが空間を閉めていることを明確にします。
通常、これがあなたが望んだことです。
/obj/sphereパスを削除し、「.」に変えても同じ結果が得られるでしょう。
ピリオド「.」は現在のオブジェクト(スフィア)のトランスフォームを引き継ぐことを意味します。

しかし、なぜスフィア・オブジェクトのトランスフォームを引き継ぐように設定したにもかかわらず、コーン・オブジェクトのトランスフォームからX方向へ3ユニットを得ているのでしょうか?
これはObject Mergeのワールド・オリジンがsphereオブジェクトと同じであることを指定しています。
それでコーン・オブジェクトのトランスフォームがこの新しいワールドの中心点に関連づけて評価されます。
コーン・オブジェクトは指定したワールド座標から、ポジティブX方向へ3移動します。
なのでインポートされたコーンはコーンオブジェクトに重なって位置することになります。


7.Transform Objectフィールドを/obj/coneに変更するとコーンはスフィアの上に戻ります。
今回は理由が異なってきます、とは言っても。
以前は、オブジェクトのトランスフォームは考慮されないことが原因でした。
今回は、Object Mergeの原点は、X軸+3の位置です。
それから、新しいワールドの原点に関連づけてコーン・オブジェクトの位置が評価されます。
それはスフィアと重なっており、トランスフォームはなにも適用されません。
結果としてコーンがスフィアの上に重なることになります。


--------------訳 注(解釈)--------------------------
Object Mergeの原点がX軸+3に決められる。
マージされるオブジェクトはそれとは関係なく座標系でX軸+3の位置へ作成される。
しかしオブジェクトはObject Mergeというグループ配下に作られているような感じ。
ObjectMergeの原点を、本来の原点の位置へ移動する。
Object Mergeの中にあるコーンはその移動へつられれて原点へ移動する
--------------訳注終わり--------------------------


8.もっと気がおかしくなりそうなのは、Transform Objectフィールドを/obj/boxへと変えます。脳の固まりを吹き飛ばすようなことがおきます!

あるオブジェクトから別のオブジェクトの中へさらに他のオブジェクトからのobject transformsを使ってObject Mergeしています。
もはや、これは馬鹿げています。でもまだこれはちゃんと理解することができます。
まずObject Mergeのワールドの原点は、Y方向へ+5に設定されています。
そしてコーンオブジェクトはその新しいワールドの原点に関連して評価されます。
コーンは、5ユニット下そして3ユニット右にあります。
よって、図2に見られるようにマージされたコーンは、コーンオブジェクトの下にあります。

いったんこの詳細がわかったら、簡単に理解できるようになります。
もしそうでなければ、このエクササイズをもう一度繰り返すことは理解する助けになるでしょう。


--------------訳 注(解釈)--------------------------
Object Mergeの中心点がY軸+5(Boxのトランスフォーム)に設定される。
マージされるオブジェクト(コーン)は、それとは関係ない座標系でX軸+3の位置へ作成される。
しかしオブジェクトはObject Mergeというグループ配下に作られているような感じ。
ObjectMergeの原点を、本来の原点の位置へ移動する。
Object Mergeの中にあるコーンは、Y軸状を-5移動してしまう。

--------------訳注終わり--------------------------


これはわかりにくかった。
  
  

Working with Particle(Houdini8チュートリアル):(2)

Working with Particle」(sideeffectsのPDFチュートリアル)
4ページ目から6ページ目のスプレッド・コントロールを追加するところまで


Pg4:
パーティクル・システムをクリエイトする。

ディスクを作成し、ロケットへペアレントしたら、それと接合して使われるパーティクル・システムを作り始めることが出来ます。
このパーティクルシステムは、パーティクル・オペレータまたはPOPsを使って、パーティクル・ネットワークのレベルで展開されます。


新しいジオメトリ・オブジェクトをクリエイトする
パーティクルを創るには、ロケットにペアレントされない新しいジオメトリから始める必要があります。
そこで新しいジオメトリにアニメートされたdisk_emitterジオメトリを導入するために「Object Merge」と呼ばれる、特別なオペレータを使います。そして、この移動するディスクにパーティクルシステムを構築します。

新しいジオメトリ・オブジェクトを使う理由はパーティクル・システムの機能がワールドスペースにあることを確実にするためです。
もしこのシステムがロケットにペアレントされていたら、ロケット共にパーティクルが移動してしまいます。
もしかするとこれがあなたが望むエフェクトをもたらすかもしれませんが、今回はロケットが上昇するときにパーティクルはその場に止まるようにします。


1.パーティクル・オブジェクトの作成
ネットワーク・ペイン内で、tab > Geometry と押して新しいジオメトリ・オブジェクトをrocketオブジェクトの右側に作ります。そしてこのオブジェクトの名前を「particles」にします。

2.
そのノードがまだ選択されている状態で「i」キーを押し、particleオブジェクトの中に入ります。
ネットワーク・エディタ内の「File」ノードを選択し、削除します。
tab > Object Mergeを押し、Object Mergeノードを作ります。

Object Mergeノードが選択されたまま、パラメータ・ペインへ行き、
「Object1」パラメータの右にある[+]ボタンをクリックし、network/node構造のツリー・ビューを開きます。
ジオメトリ・オブジェクト内のcircleやskinノードを選択しないように気をつけます。


3.エミッターをアニメート位置へ移動します。
「Transform Object」のフィールドへドット「.」を入力します。
このドットはパスの「この場所」を示すために一般的に使われる物で、これはdisk_emitterがどこへ行こうと関係なく、マージされたオブジェクトがそれをフォローすることを意味します。
この「ドット」なしでは、エミッタジオメトリは原点に残され、ディスクのアニメートされた位置へは移動しません。

ドット「.」は、Houdiniの中で度々使われるので、これを毎回、設定するように覚えておくべきです。
パラメータ・ペイン内のオプションを使い、このパラメータをデフォルトのままにしておきたいこともあるでしょう。


4.ビューポート See One - See All
ビューポートの右下にある「See One/All」ボタンを押せばシーンの中身をすべてビューで見ることが出来ます。

「Object Merge」 SOPはビューポート内では何も行わないように見えます。
これは「disk_emitter」を二度表示しているからです。
下にあるディスクをみるとシェーディングがおかしくなっていることに気がつくでしょう。
この奇妙なシェーディングは、二つのサーフェイスが重なっている時の状態です。
なので、ここではマージすることに成功しているということになります。

「See One/All」ボタンをOFFにします。
再生バーをスクラブして「Object Merge」のトランスフォーム・フィールドに入力した「.」が機能していることを確認します。


------------パーティクルの振る舞いを定義する----------------------------
Pg5
ディスクにパーティクルを追加する。

これでパーティクルをエミットするためにディスクを使う事ができるようになりました。
Houdiniでは、ポイント、サーフェイスまたはボリュームからパーティクルをエミットすることができます。

1.空のパーティクル(POP)ネットワークを創る
ネットワーク・エディタで、「Object Merge1」のアウトプットをRMBクリックし
「Pop Network」とタイプし、ネットワーク内に創ります。
「popnet1」ノードのディスプレイフラグをクリックします。

Pop Network SOPは突然黄色のワーニングフラグを表示します。
これは、このノード内にパーティクル・ネットワークが設定されていないからです。


2.パーティクル(POP)ネットワークに入る。
popnet1ノードが選択されたまま、Enterまたは「i」を押してその中に入ります。
これでパーティクル・ツール群を利用できるネットワークに入りました。
ちょうどジオメトリ・ネットワークのレベルのようで、ノードを創りネットワーク化することができます。


3.Source POPを創る
ビュー・ペイン内で、tab>Sourceと入力します。
これは、パーティクルを作成するインプット・ソース・ジオメトリがどれであるかを示します。
赤いフラグは、これから直していくので無視します。

「source1」ソースPOPのパラメータ・ペインを見ます。
Sourceフォルダ内で、「Emission Type」を「Surfaces(random)」に設定します。
「Geometry Source」を「Use First Context Geometry」に設定します。
これは、「このPOPネットワークの最初の入力を使う」とうことを指示するためのちょっと変わったやり方です。
これでエラーフラグはなくなります。


4.パーティクル・ベロシティーを追加する。
「Attribute」フォルダーをクリックし、「Initial Velocity」のとなりにあるプルダウン・メニューをクリックします。
そして「Set Initial Velocity」を選択します。
「Velocity」パラメータのYフィールドに「-1」を設定します。

ビューポート内で、少しパーティクルが即座に表示されたのがわかるでしょう。
それらは現在のvecocityアトリビュートに対応した小さな軌跡を描いています。



5.シミュレーションを再生する。
再生バーの「再生」ボタンを押せば、次の二つが見れるでしょう。
1)エミッターが移動する。
2)エミッターからパーティクルがうまい具合に流れている。

パーティクル・シミュレーションを見るときに、アニメーションがフレーム「1」から始まっていることを確認してください。そうすることで、Houdiniにシミュレーションを最初からきちんと処理させることができます。



パーティクルの振る舞いを定義する。
POPs内でパーティクルをコントロールするためのパラメータは沢山あります。
しかしSOPs内のエミット・ジオメトリへアトリビュートを追加することによって、さらに指示をすることができます。
このセクションでは、エミッターのポイント・ノーマルの値を操作することのみに止まらず、Houdiniのプロシージャルアプローチの利点も学びます。
プロシージャ主義は、あなたのそれまでの作業を崩壊させるkとおなしに、簡単にSOPsの中に戻り、ノードを追加することが出来ます。


ディスクにアトリビュートを追加する。
rocketにペアレントされたdisk_emitterジオメトリに関する次のステップは、
このサーフェイスからエミットされるパーティクルの初期方向と初速度の両方を決めるアトリビュートをエミッタへ追加することです。


1.NORMALアトリビュートの追加
「u」キーを二回押して、「rocket」オブジェクト、ground、lightsそしてcameraを見ることが出来るオブジェクト・レベルへ上がります。
「disk_emitter」ノードを選択肢「i」を押して中へ入ります。
skin1ノードのアウトプットをRMBクリックして「Point]とタイプしてskinへ「Point」SOPを追加します。
この「point」SOPの名前を「add_point_normals」とします。
Display and renderフラグがこの新しいノードに設定されていることを確認します。

「add_point_normals」のパラメータ・ペインへいき、「surface point normals」を作成するためにデフォルトで「Keep Noramal」となっているボタンを押して「Add Normal」へ変更します。

----------------------------------------
Note:
デフォルトの位置$TXは、各ポイントのinputXポジションです。
$TYは、Yポジション、$TZはZポジションです。
Point SOPの全ローカル変数を見るには、パラメータの右上にある「?」ヘルプ・アイコンを押します。
そして、全情報を見るために、Local Variablesタブを押します。
----------------------------------------



Pg6
2.ノーマルを見る。
右側のツールバーにある「Point Nromals」ボタンを押します。
これで「Point」SOPがどのポイントがアタッチされているかをサーフェイスの形状から自動的に計算するポイント・ノーマルを見ることが出来ます。
そらは下方向を向いているはずです。
スペースバーとLMBにより、ビューポートを動かしてみます。
スペースバーと「t」により全ての4分割ペインを見ることも出来ます。

----------------------------------------
Note:
「Normals」フィールドはグレイからグリーンに変わり、$NX,$NY,$NZと記載されます。
実際にサーフェイス・ノーマルを作成し、ビューポート内に見えるようにしたのです。
----------------------------------------


3.Inithal Velocity(初速度)の追加
ネットワーク・エディタ内で、最初の「Point」SOPへ別の「Point」SOPを追加し、「add_initial_velocity」と名称を変更します。

パラメータ・ペインで、「Particle」フォルダを選択します。
これはパーティクルのすべてのデフォルトアトリビュートが存在する場所です。
「Keep Velocity」メニューを押し、「Add Velocity」にします。
デフォルト・ローカル変数として$VX,$VY,$VZを見ることができます。
入力される速度は内ので、値はすべてゼロに設定されています。

$VXを$NXに変更します。
$VYと$VZも同様に、$NYと$NZに変更します。

ヴェロシティー変数をノーマル変数と入れ替えることで、どんなノーマルも物理的に見えなかったとしても「Point」SOPがサーフェイス・ポイント・ノーマルを計算し、ヴェロシティー・パラメータへそれを入れます。
----------------------------------------
Note:
この「point」SOPのノーマルを構築するという、隠れた自動的な振る舞いはHoudini内の大部分のSOPsと一致しません。
これは、ローカル変数を追加するために「Collision」POPsトグルのようにあなたがアトリビュートを追加するためにトグルを使う事を前提としています。
1もしくはゼロ以外の何かの値を初期変数として使うことは、ノーマルとは異なります。
----------------------------------------


4.シーン内のその他のオブジェクトを表示する。
ビュー・ペインの右下部「See One/All」ボタンをクリックします。
これは現在のレベルより上にある全てのオブジェクトを表示します。

もしリファレンスとしてシーン内の残りの物を見たいときには、ジオメトリ(SOP)レベルで作業をするときにはこれをONにしておくことはとても便利です。


パーティクル・スプレッドをコントロールする。
これで、Normalsの広がりを定義することが出来ます。
このシミューレーションは、ロケットが離陸するときの軌跡に使う物なので、ノーマルを扇のように広げた形にしたいでしょう。


1.ポイント・ノーマルへ、スプレッド・コントロールを追加します。

戻って「add_point_normals」ポイントSOPを選択します。
Standardフォルダ内にいることを確認し、Noramalsパラメータを見ます。
「Normals」の最初のパラメータ$NXを「$NX+($BBX-0.5)*0.2」に変更します。
同じく三番目のフィールドの$NZを「$NZ+($BBZ-0.5)*0.2」へ変更します。

$BBXや$BBZとは何でしょうか?
これらは全てのポイントを含むバウンディングボックスに対応したXYZの位置を返すローカル変数です。
左下部は0,0,0で、右上は1,1,1です。
この仮想のボックス内にある各ポイントはXYZの位置を持っています。
これがあなたがアクセスしているものです。

では、なぜ0.5を減算するのでしょうか?
これはとても一般的なHoudiniでの操作です。
バウンディング・ボックスの値は全アクシスにおいて0~1の間に収まります。

0.5を引くことで、なにも影響がない中心であるゼロと-0.5~0.5の範囲にある値をもたらします。
これはバウンディング・ボックスを通した便利な振る舞いです。

計算したバウンディング・ボックスの値を最適と思われる0.2で乗算します。
ゼロで乗算すれば影響はゼロになります。
ゼロ以上の値は、値を外へ向けて、ゼロ以下なら内へ向けた値になります:
ここで達成したいベクターを使った排気エフェクトにとって完璧なコントロールです。

値「0.2」の上でMMBを押して、ラダー・ガジェットを使ってこの値を変更することができます。
エクスプレションの中でコンスタントに調整するために便利です。
  

2010年1月23日土曜日

Working with Particle(Houdini8チュートリアル):(1)

Working with Particle」(sideeffectsのPDFチュートリアル)
最初から3ページのエミッター・オブジェクトを追加するところまで



------以下、日本語訳----------------------------------

爆発から竜巻まで、Houdiniはハイエンドなビジュアルエフェクツを作り出すのに最適な環境を提供します。
パーティクルはしばしばエフェクトショットでカギとなる要素です。
それは、それらがHoudiniでどのように機能するのかを理解することが大切なのかという理由でもあります。

このレッスンでは、パーティクルのツール群をどのように使い、Houdiniの他の部分とどう統合していくかについて学びます。
パーティクル・アニメーションの基礎を探求するために、ロケットの煙をセットアップ、アニメートしレンダーします。

プロシージャル・ワークフロー
Houdiniはプロシージャル・アニメーション・システムで、ノードまたはオペレータを設定など、あなたがHoudini内でとる全てのアクションを含みます。
これらのノード群は、各ノード間のデータの流れを定義するネットワークに組織化されます。
ノードのパラメータ群を編集することで、エフェクトの見た目を変えることができます。


パーティクル
パーティクルには、パーティクル・オペレータ群(Houdiniでは、POPsとして知られています)を使います。
パーティクルは、ポイントでもサーフェイスからでもエミットすることができ、重力やウインドといったフォースを使ってアニメートできます。
パーティクルは、本質的に再生時の予期可能な結果を達成するために一組のルールに従います。


コントロールの追加
どんなエフェクトの設定においても、結果を簡単に調整できるようにするためにコントロールを定義したくなるでしょう。
Houdiniを使えば、ディレクターの仕様にあわせてエフェクトを簡単に調整するためのコントロールを変更できます。


レンダリング
パーティクルは、定義によると、空間の中の点群です。
それをレンダリングするためには、シェイプとフォームを与える必要があります。
このレッスンでは、パーティクルを球として表示し、そして最終的なレンダリングでは、スモークシェーダをアサインします。

----------------------------------------
P2
下記よりファイルをダウンロードして開く。
アニメートされたロケットがある。
http://www.sidefx.com/index.php?option=com_content&task=view&id=486&Itemid=305


エミッタ・ジオメトリを準備する。
このエクササイズの目的は、ロケットがテイクオフしたときに、その下から煙を放出させるようにすることです。

ロケットのジオメトリを使ってパーティクルをエミットすることが可能ですが、プロジェクトが進むにつれてそのトポロジーが維持されているかどうかわからなくなります。
なので、ロケットにペアレントされることが可能なエミッター・ジオメトリを設定するほうが簡単でしょう。


エミッタ・ジオメトリを組み立てる。
このセクションでは、エミッタ・ジオメトリとして使われる簡単なディスクを作ります。
Houdiniでは、オブジェクトレベルではモデリングしません。
実際の所、Houdiniを最初に開いたとき、モデリング・ツールを見つけることが出来なかったでしょう。
まず最初にジオメトリ・オブジェクトを配置し、それからモデリング・ノードを配置するためにオブジェクトのコンポーネント(SOP)レベルへ入っていく必要があります。

1.ジオメトリ・オブジェクトの作成。
ネットワーク・ペイン上へマウスを移動し、tabキーをおすとツールメニューが表れます。
Geometryとタイプし始め、tabメニューにあらわれた単語をクリックします。
もしくは、シーン内にジオメトリ・オブジェクトを配置するためにEnterキーをおします。

2.ジオメトリ・ノードをリネームします。
新しいノードを選択肢、ノードの横にある「geo1」という単語をハイライトするためにクリックします。
これで新しい名前「disk_emitter」をタイプすることが出来ます。

3.サークルの追加
「disk_emitter」ノードが選択されたまま、そのオブジェクトのコンポーネント(例:ジオメトリまたはSOP)レベルへ入るために「i」とタイプします。
新しいネットワークを反映するためにペインが変わります。
デフォルトの「file」ノードを削除します。
tabキーを押し「Circle」とタイプし、Enterキーをおしてそれを配置します。

----------------------------------------
P3
パラメータ・ペインで、Primitive Typeのプルダウンメニューから「Nurbs Curve」を選択します。
Orientationを「ZX plane」にし、サークルのRadiusを0.16と0.16に設定します。

HoudiniのUIにもっと慣れるにつうれて、
特定の機能やツールを有効にするためには、ネットワークからネットワークへ移動する必要があることに気づくでしょう。
ネットワークレベルを下がるには「i」キーを使い、レベルを上がるには「u」キーを使います。

4.サークルにスキンをつける
ビューワー・ペインでtabキーを押し、Skinと入力しEnterを押します。
Houdiniウインドウの左下隅に操作のヒントが表示されることに気がつくでしょう。
サークルを選択します。
サークルは選択されたときに黄色にハイライトされます。
ビューワー・ペイン内でRMBをクリックし、操作を終了します。(訳注:Houdini9.0では、Enterでした)

ネットワークペインで、「skin1」と呼ばれるノードが「circle1」サーフェイス・オペレータ(SOP)へ接続されていることに気がつくでしょう。
新しいノードの「Display/render」フラグが自動的にONになります。


エミッタ・ジオメトリをペアレントする。
エミッタ・ジオメトリが確実にロケットと共にアニメートされるように、ロケット・オブジェクトへペアレントします。
ペアレンティングはHoudiniでは、オブジェクトレベルで起きます。
Geometry(SOP)レベルから一つ上のレベルへ移動します。
----------------------------------------
ノート:ジオメトリレベルでノードの接続はモデルのコンストラクション・ヒストリを決定します。
オブジェクトレベルでは、コネクションは、トランスフォーメーションに関する階層を決定します。
----------------------------------------

1.アニメーションの再生
「u」とタイプして、「disk_emitter」オブジェクトの外へでて上の階層へ上がります。
Houdiniウインドウの下部に再生バーがあります。
Playをおして、ロケットのアニメーションを観察します。
これはロケットの動きについて理解するための物です。
ディスク・エミッタはロケットと共には動きません。

スライダをクリック&ドラッグすることで、順方向または逆方向の再生ができます。


2.ディスクをロケットへペアレントします。
「disk_emitter」を「rocket」ノードへペアレントします。
「rocket」ノードの一番下をクリックし、「disk_emitter」ノードの一番上をクリックすることで、相互に接続されます。

「disk_emitter」ノードを選択肢、パラメータ・ペインへ行きます。
「Keep position when parenting」の左にチェックが入っていないことを確認し、YTranslateフィールドでMMBをクリックしてラダー・ガジェットを表示します。
マウスボタンを左右に動かして、ビューワー・ペインでディスクのトランスレートが上下するのをみます。
ロケットのベースに近い位置へ動かします。


3.ペアレンティングの確認のために再生する。
再生バーにある「Play]キーをおします。
「disk」はロケット共にアニメートします。
これでパーティクルのエミットに利用できます。
  

ラダー・ガジェット(Ladder Gaget)

ラダー・ガジェット(Ladder Gadget)

数値を入力するためのフィールドやその名称(例:Translate)の文字上で、
MMBクリックするとハシゴ状のコントロールが表示される。
これがラダーがジェット。
そのままMMBを左右に動かすことで、数値を入力できる。
左へ移動: マイナス
右へ移動: プラス


 

一つ上の階層へ上がるショートカット

ノードを選択して「u」:

   

2010年1月21日木曜日

ひとつ下の階層へ入るショートカット

ノードを選択して「i」:  

例:オブジェクト(GeometryやSOP)のコンポーネントレベルへ移行する。
 

2010年1月20日水曜日

感想

Houdiniをここまで使ってみての感想
ポリゴンやパーティクルといったノードの性質をそれほどきにせずとも、それぞれの利点をいかしてノードの接続ができる。

Mayaではそれぞれの役割と特徴をよく考え、Melでその接続方法を考え出す必要がある。
そういう点では、Houdiniのほうがより感覚的で、思考を妨げない。

Houdini Help:「Particle」エミッティング

Help: エミッティング

ジオメトリもしくは、空間の中のあるポイントからパーティクルを発生させるには、二つの方法があります。
ボタンをクリックすることでパーティクル・システムを創る事ができるツール群がシェルフの「Create Particle」タブにあります。
Emitter」ボタンをクリックすることで、パーティクルを放出させたい空間内の「あるポイント」を選択させてくれます。

Source from Geometry」ボタンは、パーティクルを放出させたいジオメトリ・オブジェクトを選択させてくれます。


パーティクルを発生させるこれらの一般的な方法に加えて、既存のパーティクルから新しいパーティクル群を分離させることができる「split」を使うことも出来ます。


そして「StreamPOP」を使う事で、二つ以上のパーティクル・ストリームが交わる地点から当たらしパーティクルを発生させることもできます。



Tip
Point SOPを使う事で、ジオメトリへ、パーティクル関連アトリビュート(particle-related attributes)を追加することができます。そのパーティクル群は、誕生時にアトリビュートを継承します。
これは、パーティクル・アトリビュートをジオメトリ・アトリビュートの関連させて定義することができます。
  

Houdini Help:「Particle」簡単なパーティクルシステム

Help: 簡単なパーティクルシステム(Particle SOP)
簡単なパーティクルには「particle」ネットワーク(POP Network Surface node)ではなく、「Particle surface node」を使う事が出来るかもしれません。

パーティクルSOP(Particle Surface node)は、エミッターコリジョンアトラクターを一つづつ持った簡単なパーティクルシステムを素早く構築させてくれます。
「Particle surface」ノードに関する詳しい情報は、Particle SOPノードのヘルプをご覧下さい。



以下のようなケースでは、本当のパーティクル・ネットワークを使います。
●パーティクルアトリビュートを表現するために沢山のローカル変数を使う必要がある。
●アトリビュート操作と継承によりコントロールする。
●イベント・ベースの振る舞い
●ルールまたはコリジョンに従ったポイント・べースのグルーピング
●パーティクル毎のローテーションとインスタンス・ジオメトリ
●より多くの誕生時オプション
●複数のコリジョンオブジェクト/アトラクター
●POPsネットワークでパーティクルシステムのふるまいをカスタマイズしたい
●HDKで、カスタムPOPsを書きたいとき



本当のパーティクル・ネットワークの作り方

単にボタンをクリックすることで、複雑なパーティクル・システムを作る事ができる「Create Particles」というタブがシェルフにあります。

異なるパーティクル・システムのタイプに関する情報と、それらをどのように構築するかということについては以下のヘルプページをご覧下さい。

FireWorks
Emitter
Source from Geometry
Split
POP Object
Squishy Object

1. Animate Spring SOP (Part 1)

SideEffectsのAnimation Tutorialsにある「SOP Animation

「1. Animate Spring SOP (Part 1) [70MB QT - 13 Mins.]」

1)「Geometry」作成名前を「bubbles」にする。中にある「File」を削除
2)「Sphere」作成Primitive Typeを「Polygon」にする。(Flat wire Shadedモードに変更)

各ポリゴンがそれぞれ独立している状態にする。
3)「Sphere」のアウトプット・コネクタを右クリックで、「facet」SOPsを作成
4)パラメータ・エディタで「Unique Points」をOnにする。43Pointsから240Pointsへ増加

5)「facet」アウトプット・コネクタを右クリックで「spring」SOPsを作成
6)パラメータ・エディタで「Forces」タブの「External Force」のXへ下記のエクスプレッションを入力
abs (sin($F*5))
これを再生すると玉がX軸上を移動するアニメーションを見ることが出来る。
7)パラメータ・エディタで「Turbulence」のXYZへ「1.5」を入力
これを再生すると玉が崩壊し、各ポリゴンがばらばらにちらばる。
8)パラメータ・エディタで「External Force」のYに「0.3」、Zに「-0.5」を入力

----------------------------------------
9)同じ「bubbles」ノード内に「add」SOPsを作成
パラメータ・エディタでPointのチェックボックスをオンにする。
10)「add」のアウトプット・コネクタを右クリックで「popnet」を作成
11)「popnet」をダブルクリックして1階層下に移動。
12)そこへ「source」ノードを作成、アトリビュート・エディターで「Geometry Source」を「Use First Context Geometry」へ変更
13)同じく「Attributes」タブの「Initial Velocity」を「Set Initial Velocity」に変更。
14)「Birth」タブを選択し、「Const Birth Rate」を1に設定
15)「Attributes」タブの「Velocity」Xを0.3,Yを1に設定

----------------------------------------
16)「Bubbles」ノードの階層へ戻る
17)「spring」のアウトプット・コネクタを右クリックし「copy」ノードを追加
18)「popnet」のアウトプット・コネクタを「Copy」のinput2へ接続

----------------------------------------
19)ネットワーク・エディタ・ペインにあるタブ「Material Palette」を選択
20)basic_surfaceを選択
21)元のネットワーク・エディタに戻り「copy」のアウトプット・コネクタを右クリックし、「material」を追加
22)「Material」のパラメータエディタの「Material」の右端のアイコンをクリックしてChooser画面を開く。
23)Chooser画面から「basic_surface」を選択してAcceptボタンを押す。
24)同じく「Material」の右端にある→アイコンをクリックしてそのマテリアルに移動する。
(ネットワーク・エディタ内に「basic_surface」アイコンが選択状態で表示される)

----------------------------------------
25)パラメータ・エディタで、BaseColor、OpacityへChooserから色を選択する。
(例:Base Color 0,0.45,0.9 Opacity 0.68,0.68.0.68)

あとは、
facetをバイパスモードにして
スムースシェーディングモード表示
「Spehre」のPrimitive Typeを「NURBS」に変更
「spring」の値を調整
することで、シャボン玉らしく見せる。
  
  

バイパス

ネットワークにおいて特定のノードをバイパス
ノードアイコンの左端をクリックして黄色になれば、そのノードはバイパスされる。

以下の例では、[Sphere1]と[spring1]だけがつながったネットワークと同じになる。
あるノードをテストしたり、その影響力を調べるのに便利。
  

2010年1月19日火曜日

3D buzz 「The Upper Bridge Tier」

3Dbuzz の吊り橋のデジタルアセットを作成するビデオ・チュートリアル。(ユーザー登録必要)

第二回:「The Upper Bridge Tier」(全13回)


1)ネットワークビューで、Geometryノードを作成名前を「bridge」にする。
デフォルトではキューブが作成されるのでオブジェクトノードの階層に入り「file」以下を削除


<「マスターコントロール」とパラメータの追加
2)Geometoryノード(bridge)内で、Nullを作成し、名前を「materControl」にする
右クリックで「Edit Parameter Interface」を実行
「float」パラメータを二つ追加:(左から右のペインへ、二回ドラッグ&ドロップ)
3)一つ目のFloatパラメータのNameとLabelを「width」に変更
Applyボタンをクリックすればパラメータ・ペインへ新しいパラメータがスライダ付で表示される。
「Range」に最小値0.001をセットしロック(カギアイコンをクリック)、最大値は5にする。
4)二つ目のFloatパラメータのNameとLabelを「length」に変更
「Range」の最小値に0.001をセットしロックする。最大値はそのまま(10)

(これらの設定は後ほどデジタルアセットノードに移動する。)



<橋の道路部分を作成の流れ>
カーブを作成 -> ポリゴン平面を作成 -> ポリゴンをエクストルードして立体化。
注意点としてはカーブはサーフェイスを作るに十分な数が必要。
要するに四角形であれば幅と長さ方向を決めるパスカーブの役割をもつラインがそれぞれ一つ必要となる。
Line
Skin
polyExtrude
の3つがあれば出来るはずだが、このチュートリアルでは
lineの長さを後から調整し、それによりそれが道路全体の幅と長さを後から変えられるようにする。
長さの調整には、LineのDistanceをいじるのではなく、Transformを接続しそのスケール値を変更して、調整している。
(Lineのパラメータ調整でも似たようなことはできるが直感的ではない)


<Length「ライン」の作成:道路の縦方向(全長)の基準になるライン>
5)Nullと同じ階層に「line」ノードを作成「bridgeLength」と名前を変更
(defaultではVisibilityがoffになっているのでonにする)
6)ビュー右端のDisplayPointと DisplayPointNumberをonにする。
7)DirectionをZ方向にする(「1」を入力)


<「transform」ノードの作成:上記のラインのスケールをするために使用>
8)上記LineのOutputo部分を右クリックでtransformノードを作成
(ネットワークにつながったxform1が作成される。)
名前を「lengthScale」にする。


<パラメータのリンク>
9)masterContorl のLength値(例:5.62)を右クリックして「copyParameter」
11)「lengthScale」のScale Zに対して右クリックから「paste copied relative preferences」を実行。
この中にch("../masterControl/length")lengthlengthと自動入力される。
「..」はLinuxのように一つ上の階層、ここでは、Bridgeジオメトリノードをさす。


<Width「ライン」の作成:道路の幅方向の長さをきめるライン>
先ほどのLength「ラインと」ほぼ同じステップを踏む。
11)Nullと同じ階層に「line」ノードを作成「bridgeWidth」と名前を変更
12)DirectionをX方向にする(「1」を入力)
13)OriginX を-0.5にする。
これによりX方向にスケールする際、左右均等にスケール出来るようになる。


<「transform」ノードの作成>
14)上記LineのOutputo部分を右クリックでtransformノードを作成。
(ネットワークにつながったxform1が作成される。)
名前を「widthScale」に変更


<パラメータのリンク>
15)masterContorl のwidth値(例:0.62)を右クリックして「copyParameter」
16)「widthScale」ScaleXに対して右クリックから「paste copied relative preferences」を実行

上記で「masterControl」のlengthとwidthパラメータが、それぞれのラインをスケールする値として使われるようになる。


----------------------------------------
これは、MayaのNurbsサーフェイスをカーブから作成する方法に似ている。
それがHoudiniではポリゴンで可能となる。
さて、両端二つのラインは常に同じ長さを保つ必要があり、また縦方向のラインの長さが変わっても常にその両端に幅方向のラインが位置している必要がある。
そのためCopy SOPsを使用することで、長さの統一、位置の自動追随を可能にしている。
(Mayaでいうとヒストリーを維持しているようなものだが、両端に位置づけるのはMayaでは一工夫必要)
input1:Primitives to Copy
input2:template to Copy to

調整可能なサーフェイスを作るだけならLineを縦横二つ作り、それをSkinSOPに接続すれば作成できるのだが、このチュートリアルでは、TransformとCopyをわざわざ使ってサーフェイスを作っている。
Transformを使用するのは、後に別のTransformを作り条件によってどちらのTransformを使うかを切り替えられるようにするためである。これにより同じオブジェクトに対して異なるコントロール方法を持つことが出来る。

またSkinノードで、サーフェイスを作成するには、UとV方向のラインが必要
input1:U (and Possibly V) Cross-Sections
input2:V Cross-Sections
であるがこの作例では、Copy SOPからの出力をinput1につないでいるだけでポリゴン面が作成されている理由も不明


<コピーSOPsの作成>
18)copyノードを作成名称を「widthLengthCopy」とする。
19)Number of Copy が1であることを確認。
20)Input1へwidthScaleとInput2へLengthScaleを接続


<スキンノードの作成>
21)「widthLengthCopy」のアウトプットを右クリックして「skin」ノードを作成
22)名称を「skinTierSurface」にする


----------------------------------------
道路の厚みを作るために、上記のスキンをエクストルードする。
23)「masterControl」ノードにflat値のパラメータを追加し「tierThickness」という名前に変更
最小値を0.001でロックし、最大値は0.5にする。
(パラメータ作成後、値を 0.05程度に設定しておく)

<ポリゴンのエクストルード>
24)「skinTierSurface」ノードの出力を右クリックして「polyExtrude」ノードを作成
名称を「tierExtrude」に変更
25)TranslateZへ先ほどの「tierThickness」「paste copied relative preferences」で接続。 (これによりポリゴン・サーフェイスが起点から上方向へ引き出される。)
26)パラメータ画面で、Optionタブを開き「Output Back」をOnにすれば開いていた底がふさがる。

※エクストルードは選択された面の縦横がそれぞれXYになり、奥行きがZとなるのでここではTranslateZを移動する。


----------------------------------------
ポリゴンの角を整える(ノーマルの調整)
それぞれのフェイスは各頂点を共有しているためシェーディング表示ではフェイスがフラットにならない。
(Mayaではノーマル角度がソフトの設定になっている時と同じ)
Houdiniでは、各エッジできっちりと折れた見た目にするためには各フェイスの頂点を分けてやる必要がある。
edgeCuspは新しい頂点をそれぞれのエッジに作成する。
そのためMMBクリックでノードのデティールを見ると8pointsだったのが24pointsに増えている。

27)EdgeCuspノードをtierExtrudeの出力に接続して作成
名前を「TierCusp」に変更


----------------------------------------
<道路の縦横比(レシオ)を指定できるようにする。>

28)masterControlノードに「Toggle」パラメータを追加し、名前を「toggle」にする。
Horizontally join to Next Parameterをオンにする。
(これをOnにすると次のパラメータと一緒に横一列に並べて表示する。)

29)同じくFloatパラメータを追加し、Name「widthLengthRatio」、Label「width / Length」へ変更。 最小値を0.001でロックし、最大値は2に設定。

30)Disable Whenに以下を入力:ratioトグルが「0」の時に、width/Lengthの操作はできない。
{ ratio == 0 }

31)またwidthLengthのDisableWhenに以下を入力:ratioトグルが「1」の時に、widthの操作はできない。
{ ratio == 1}


これも便利!
同じノード内のコントロール(パラメータ)名を指定して簡単なエクスプレションができる。
これによりコントロールに関連性を持たせることが簡単に出来る。



----------------------------------------
Length値を変更した際に、width値が自動設定されるwidthラインを作る。
Length値を取得し、それに対してwidthLengthRatio値を掛け合わせてwidth値を算出する。

32)bridgeWidthノード(ライン)のアウトプットを右クリックしてあらたな「Transform」ノードを作成
名称を「ratioScale」とする。
33)masterControlのLengthをコピーし、「ratioScale」のScaleXへpaste copied relative preferences。
34)そのエクスプレッション(ScaleX)をハイライト状態でAlt+eにてEdit Expressoinウインドウを表示し、エクスプレッションを編集。(Lengthにwidthをかけあわせる。)
ch("../masterControl/length") * ch("../masterControl/widthLengthRatio")


----------------------------------------
ここまでで作成した二つのtransformノードを条件によって切り替えられるようにする。
35)widthScaleノードのアウトプットを右クリックして、switchノードを作成
(switchノードはwidthScaleとwidthLengthCopyの間に作られる)
36)ratioScaleのアウトプットをswitchノードのインプットへ接続
37)switchノードのパラメータにエクスプレッションを作成(masterControlのratioトグルから値を取得するように設定)
ch("../masterControl/ratio")


以上で、
1)縦横の長さを個別に設定する方法
2)縦横比を固定して設定する方法
の二種類が選択できるコントロールを備えた長方形ができあがった。
Lengthは、相互に切り返しても変わらない(Widthは切り替え時に変化する。)ので両方を併用することも可能である。

 

既存ネットワークへノードを追加する方法

あるoutputからすでに次のノードのinputへネットワークがつながっている場合、

outputコネクタを
MMBクリック:outputから分岐したネットワークとして作成
RMBクリック:outputと次のinput間に差し挟む形で追加。

 

ノードの詳細情報表示

MMBクリック:ネットワークエディタ内で各ノードの情報を表示する。

inputコネクター:そのinputコネクターが必要とする情報を表示。
ノード・アイコン:そのノードの詳細情報を表示

2010年1月18日月曜日

FlipBook (プレイブラスト in Maya)

http://www.sidefx.com/docs/houdini9.5/anim/flipbook

ノードの接続


1)input
(入力)をクリック
2)別のノードのoutput(出力)をクリック

これで二つのノードは接続され接続されたことを示す線が表示される。
(逆に出力から入力を接続することも可能です)。
 
日本語Help)

パラメータのリンク(アトリビュート・コネクション in Maya)

1)リンク元のパラメータを右クリックし「copyParameter」
2)リンク先のパラメータを右クリックし「paste copied relative preferences」

ch("../masterControl/length")
..はそのノードが含まれている場所より一つ上の階層を示す。(ここでは、materControlというノードの一つ上のジオメトリノードを指している)
masterControlはノード名、 lengthはそのノードにあるパラメータ名
 

2010年1月16日土曜日

これは簡単!(1):GUIのコントロール

Edit Parameter Interface(ノードのコンテキストメニューから選択)を使えば各種パラメータ(アトリビュートinMaya)を簡単に追加できる。

追加されたアトリビュートは自動的にそのコントロールも追加される。
(パラメータエディター(アトリビュート・エディタinMaya)で表示)

Mayaでアトリビュートを追加しても表示できるのはせいぜい、チャンネルエディタ内。
コントロールを追加しようと思うと、Melスクリプトが必要になる。
しかも名前を間違えないように気を配る必要があり、Houdiniではそういうストレスからも解放される。
 
 

2010年1月15日金曜日

Houdiniの怪

Houdiniの怪(memlog)

情報元:白石運送
  

2010年1月14日木曜日

The Magic of Houdini 記事

Will Cunningham 氏による記事


The Magic of Houdini: What are VEX Operators?
The Magic of Houdini: Motion Blur -- Part 2
The Magic of Houdini: Motion Blur -- Part 1
The Magic of Houdini: Initial Velocity
The Magic of Houdini: Discovering the Channel Editor
The Magic of Houdini: SOPs That Confound the Melon -- Part 2
The Magic of Houdini: SOPs That Confound the Melon -- Part 1
The Magic of Houdini: Ye Ole Copy SOP
The Magic of Houdini: Learning the Brush Operations
The Magic of Houdini: The Various Contexts
The Magic of Houdini: The Three Most Common Panes
The Magic of Houdini: 3D Concepts Reviewed
The Magic of Houdini: Introduction and Welcome

オブジェクト と ジオメトリ・コンテナ・オブジェクト

<オブジェクト(Objects)>
ワールドスペース内での「位置」「回転」「スケール」情報を持つ。

ジオメトリ・コンテナ・オブジェクト (椅子やスキンなどのジオメトリ)
キャラクタ (ボーンやマッスルといったキャラクタの一部分)
ライトとカメラ
ヌル・オブジェクト「オブジェクト」はシーン内でトップレベルの階層にある。(シーン・レベル
「オブジェクト・レベル」=「シーン・レベル」 (同じ階層)。
オブジェクトは「オブジェクト・ノード」でもある。



<ジオメトリ・コンテナ・オブジェクト>
モデルされた物体を定義するジオメトリ・オペレータ群(SOPs)のための容器(コンテナ) (Eng Help)

●ジオメトリ形状を定義する「サーフェイスノード」を持つ
トランスレート情報 (移動、回転、スケール)
●オブジェクト全体のシェーダー情報
シーン・レベル」の階層にある

Houdiniではモデルはジオメトリ・コンテナ・オブジェクトによって表示される
ボーンとマッスルがジオメトリをどのようにとらえて変形するか、それを定義するノード群が含まれる。

サーフェイス・ノードを修正するよりも、「オブジェクト」を変更するほうが計算が速いので、移動、回転、スケールにはできるだけオブジェクトの変形を優先した方が良い。

日本語Help(Objects)
  

Background (イメージプレーン in Maya)

●Mayaでいうイメージプレーンに、画像ファイルを表示する方法

D : ディスプレイオプション
Background」タブ > 「Image Source」> 「File
Filenameで背景に配置するイメージファイルを指定
デスクトップにある画像を指定したところ、上記のように
$job/ではじまる文字化けしたパスになるが、画像はちゃんと表示される。

全て英語の半角文字であればパスも正常に表示される。
(例: C:\images\rockMonster.JPG)



疑問点:
DisplayオプションからBackgroundへ画像ファイルを指定すると
4分割画面(左、右、上、パースペクティブ)すべてのその画像が表示される。

Backgroundイメージを特定のビューだけに表示したい場合はどうするのか?
(たとえばモデリングのために、上下左右からイメージを表示するときなど。)

解答:
Houdiniではモデリングをすることはあまりないので、三面図の表示は需要があまりない。
一番使われるのはショットのプレートを表示することなので、一つの画像で事足りる。



日本語Help

カメラのビュー操作

Mayaでは当たり前のことだが、Houdiniでは違う点。
Houdiniではビューとカメラは別物。
そのため、カメラメニューでカメラを指定してもビュー操作をして視点を動かすと「No Cam」に戻る。
(ビューだけが動き、カメラはうごかない)


●カメラかライトを動かすには、ビューをロックする必要があります。

1. ビューポートのカメラメニューから、カメラかライトを選択。
2. ディスプレイツールバー(ビュワー右)のLock camera/lightのビューアイコンをクリック。または、カメラメニュー最下段のTie camera or light to viewを選択。

日本語Help
 

2010年1月13日水曜日

シェーディングモード

W :ワイヤーフレーム表示とシェーディング表示の切り替え
(Mayaでは二つのボタンに分かれている機能)
4:ワイヤーフレーム
5:シェーディング

●ビューア上部ツールバーの右端にある、シェーディング・メニュー・アイコンをクリックして切り替えられる。

(日本語Help

ビューポート・レイアウト切り替え

●ビューポート右上にあるViewport Layoutボタンを使って、望みのレイアウトを選択する。


SPACE+B:シングルビューとマルチビューの切り替え(Mayaの「SPACE」バーと同じ)

●すべての正投影画面の連動:「Viewport Layout」=> 「Link ortho views」をON

D : ディスプレイオプションのウィンドウ呼び出し。


Houdini9.5 Help
日本語Help

ビュー操作

ビュー操作

(「SPACE」バーがMayaの「Alt」に相当)
SPACE+LMB:タンブル(カメラ回転)
SPACE+MMB:トラック(カメラ左右上下移動)
SPACE+RMB:ドリー (カメラ前後移動)

左のビューツール(カメラのアイコン)をクリックしてハイライト状態にすれば「SPACE」バー不要。
(Mayaには無い機能)
LMB:タンブル(カメラ回転)
MMB:トラック(カメラ左右上下移動)
RMB:ドリー (カメラ前後移動)


----------------------------------------
Hotkeys

SPACE+H:ホームビュー (Mayaの「f」キーに相当)

SAPCE+G:選択したオブジェクト/ジオメトリを中心に表示
    (Mayaの選択+「f」キーに相当)

SPACE+A:全オブジェクトの表示


(Houdini9.5 Help)
 

「Houdini」その名前の由来

3DCGソフト「フーディニ」に関する質問■■
Answer)Side Effects Software Inc. CTO, Paul Salvini

Q1.ソフトの名前は天才奇術師ハリー・フーディーニに由来するそうですが、なぜ彼から名前を取ったのですか。
PRISMS」から「Houdini」に名前を変えた理由は?

A) ヴィジュアルエフェクトをつくることは魔術を見せるようなものだ。
魔術もCG も幻惑的なイリュージョン(幻影)を創造することだからね。
ハリー・フー ディーニは彼の芸術(魔術)において巨匠だった。
アニメーターは我々のソフトを使うことで巨匠になれる。
というわけでこの名前はぴったりだと思ってい るよ。

(参照元:コケカキイキイ 時事通信No.10 2000年11月10日発行


----------------------------------------
ハリー・フーディニ(Harry Houdini)
「脱出王」の異名を取った、奇術師。
本名エーリッヒ・ワイス(Erik Weisz)。
「現在でもアメリカで最も有名な奇術師」と呼ばれるほど認知度は高く、奇術師の代名詞ともなっている。

ハリー・フーディーニという芸名は、当時アメリカで活躍していた奇術師ハリー・ケラーから、姓はフランスの奇術師ロベール・ウーダンの姓の綴り「HOUDIN」の最後に「I」を加えたもの。
Wikipedia

ブログ:魔法使いの弟子

Houdiniの勉強を本格的に始めることにしたので、勉強の過程で学んだことを記録するために新しいブログを作りました。

ブログタイトル「魔法使いの弟子」は、先日Houdiniができないばかりに逃してしまった(?)仕事のタイトルです。

Houdiniの名前はマジシャンのHarry Houdiniに由来します。

また、「魔法使いの弟子」は英語では「The Sorcerer's Apprentice」(ソーサラーズ・アプレンティス)
Houdiniの体験版も「Houdini Apprentice」言い換えれば「フーディニの弟子」とも言えます。

それから、アーサーCクラークの有名な言葉「高度に発達した科学は魔法と見分けがつかない」
VFXには、高度な科学が使われており、魔法のような映像を生み出します。

これらのことから以下のように考えて、このタイトルに決めました。
マジシャン=> 魔法使い
VFXアーティスト => 魔法のような、映像を創り出す。
Houdiniアーティスト=> 現代の魔法使い
Houdini入門者 => 見習い魔法使い =>魔法使いの弟子


また、自分も早く「現代の魔法使い」の一員になれるよう願いを込めています。