On this page |
概要 ¶
Houdiniの各ツールとノードには、ドラッグすることでビューア内で視覚的にパラメータを変更することができる ハンドル を複数持たせることができます。 (Mayaでは、そのハンドルのことを マニピュレータ と呼んでいます。)
例えば、 移動ハンドル なら、その矢印をドラッグすることで何かを動かすことができます。
Move T, Rotate R, Scale Eのツールには、選択したオブジェクトを操作するためのハンドルがあります。
Handlesツール Enterは、選択したノード特有のハンドルを表示します。
詳細は、Main PreferencesページのHandlesセクションを参照してください。
例 ¶
-
シェルフの Create タブをクリックして、 Gridツールを⌃ Ctrlクリックすると、新しい平面が原点に作成されます。
Houdiniは、 Handlesツールに切り換えます。ジオメトリオブジェクトが選択されているので、Houdiniは一般的なオブジェクトトランスフォームハンドルを表示します。
-
ネットワークエディタの
grid_object1
コンテナをダブルクリックすることで、ジオメトリレベルに下がります。 -
grid1
ジオメトリノードを選択します(まだ選択されていない場合)。Handlesツールは、グリッドをセットアップするための独自ハンドルを表示します。このハンドルは、グリッドを動かすことができ、そのハンドルのコーナーやエッジをドラッグすれば、グリッドのサイズを変更することができます。 -
SelectツールSに切り替えて、選択モードを Primitives 4に設定します。
-
平面内のポリゴンのどれかを選択します。
-
シェルフの Polygon タブをクリックして、 Poly Extrudeをクリックします。
-
Houdiniは、Poly Extrudeジオメトリノードを追加して、 Handlesツールを選択し、そして押し出しの移動と回転ができるハンドルを表示します。
選択したポリゴンを平面から上方向に押し出すには、上方向(Y)のハンドルをドラッグしてみてください。
ハンドルの切り換え ¶
いくつかのノードには複数のハンドルがあります。例えば、 カメラ には3つのハンドルがあります: 向きハンドル はカメラの位置と方向を、 フォーカスハンドル は焦点距離を制御し、 フラスタムハンドル はカメラの視界範囲を視覚的に編集することができます。
ハンドルを右クリックして、メニューからハンドルを選択します。
ビュー内でO、Z、Fを押すことで、選択したノードで利用可能なハンドルを切り替えることができます。
基本的なハンドル ¶
移動 ¶
-
矢印をドラッグすると、その軸方向にボックスが移動します。
-
移動平面をドラッグすると、その平面上を移動します。
-
マウスポインタを中心に動かすと、その中心にウィジェットが表示されます。それをドラッグすることで、基準平面上でボックスが移動します。
-
⌃ Ctrlを押したまま上記の移動操作を行なうと、(マウスポインタがビューポート上にある状態でPを押して表示される)ハンドルパラメータウィンドウの Handle Dialog タブの Translate Step オプションで設定されたステップサイズで移動します。
-
中心のポイントをドラッグすると、ボックスが移動します。
-
⌃ Ctrlを押したまま中心のポイントをドラッグすると、主軸または主軸から45度傾いた軸に沿ってビュー平面に平行にボックスが移動します。コンストラクション平面が表示されていれば、そのコンストラクション平面に平行にボックスが移動します。
回転 ¶
-
リングをドラッグすると、その軸を基準に回転します。
-
外側のリングをドラッグすると、そのビュー角度を基準に回転します。
-
⌃ Ctrlを押したまま上記の回転操作を行なうと、(マウスポインタがビューポート上にある状態でPを押して表示される)ハンドルパラメータウィンドウの Handle Dialog タブの Angle Step オプションで設定されたステップサイズで回転します。
-
リング間をドラッグすると、自由に回転します。
スケール ¶
-
矢印をドラッグすると、1軸方向にスケールします。
-
移動平面をドラッグすると、その2つの軸方向に均等にスケールします。
-
中心のポイントをドラッグすると、すべての軸方向に均等にスケールします。
-
⌃ Ctrlを押したまま上記のスケール操作を行なうと、(マウスポインタがビューポート上にある状態でPを押して表示される)ハンドルパラメータウィンドウの Handle Dialog タブの Scale Step オプションで設定されたステップサイズでスケールします。
収縮と膨張 ¶
スケールハンドルをクリックして Squash and Stretch を有効にすることで、そのスケールハンドルを“Squash And Stretch”モードに切り替えることができます。 このモードでは、1軸のスケールを下げると他の2軸がそれに比例してスケールが上がり、1軸のスケールを上げると他の2軸がそれに比例してスケールが下がります。
⌃ Ctrlを押したままSquash And Stretchを行なうと、(マウスポインタがビューポート上にある状態でPを押して表示される)ハンドルパラメータウィンドウの Handle Dialog タブの Scale Step オプションで設定されたステップサイズでスケールします。
組み合わせ ¶
このハンドルは、回転と移動のハンドルを組み合わせています。
-
回転リングの交点にあるボールをドラッグすると、自由に回転します。
-
リングをドラッグすると、その軸を基準に回転します。
-
中心にある移動ハンドルは、通常の移動ハンドルと同じです(上記参照)。
ボックス ¶
-
中心にある移動ハンドルは、通常の移動ハンドルと同じです(上記参照)。
-
側面をドラッグすると、その側面を基準にサイズを変更します。
-
側面上の矢印をドラッグすると、その軸方向に均等にスケールします。
-
コーナー上の小さなボックスをドラッグすると、そのコーナーを基準にサイズを変更します。
-
コーナーを⇧ Shiftドラッグすると、中心を基準にサイズを変更します。
-
フェースのコーナーをドラッグすると、2方向にスケールします。
-
⌃ Ctrlドラッグすると、均等にスケールします。
持続ハンドル ¶
ノードのハンドルをスクリーン上に維持させたまま、他のノードで作業することができます。 これは、ノードの履歴で何か変更して最終結果の効果を確認したい時や、あるネットワーク内で何か変更して他のネットワーク内でその結果を確認したい時に便利です。
-
ノードが選択されていない時でもハンドルを可視状態にしておくには、そのハンドルを右クリックして、 Persistent をオンにします。
-
ノードが選択された時にのみハンドルを可視状態に切り替えるには、そのハンドルを右クリックして、 Persistent をオフにします。
HUDハンドルも参照してください。これは、ビューア内に通常の持続HUDハンドルを作成して、ノードのパラメータを制御することができます。
中マウスボタン ¶
ハンドルを使用している時に、ビューア内のどこかでドラッグすることで、そのハンドルに影響を与えることができることがよくあります。 これは、そのハンドルのウィジェットをクリックし難い時や、そのハンドルが見えなくなった時に便利です。
ハンドル毎に、そのドラッグの効果が異なります。例:
ハンドル |
ドラッグの効果 |
---|---|
Move |
最初の移動と同じ方向の軸に沿って移動します。 |
Rotate |
自由に回転します。 |
Scale |
最初の移動と同じ方向の軸に沿ってスケールします。 |
Combined |
Rotateと同じ。 |
Camera orientation |
視点ターゲットを動かします。 |
ピボットポイントの変更 ¶
To... | Do this |
---|---|
オブジェクト/選択のピボットポイントを移動させる |
ハンドルを右クリックして、 Pivot Mode を選択します。 または
Insまたは" (ダブルクォーテーション)を押して、そのピボットハンドルを切り換えます。 ピボットポイントを移動させた後に通常のハンドルに戻すには、 Pivot Mode をオフにするか、再度Insまたは"を押します。 |
ハンドルをデフォルト位置から離して移動させる |
これはオブジェクトのピボットポイントを移動させるわけでは ありません 。ハンドルの位置を変更すると、スケールや回転はそれに比例して処理が行なわれます。 つまり、ピボットの移動と同じ効果がありますが、あくまで一時的な挙動にすぎません。あるポイントに比例してスケールや回転をしたいけれども、実際のピボットをいじりたくないときに使います。 |
How to ¶
To... | Do this |
---|---|
現在選択しているノードのハンドルを表示する |
Handlesツールをクリックするか、ビューア内でEnterを押します。 |
ハンドルコマンドのコンテキストメニューを表示する |
ハンドルをクリックします。 |
ハンドルをワールド空間、オブジェクト空間、カメラ空間、親空間に整列する |
ハンドルをクリックして、 Align サブメニューからオプションを選択します。 |
ハンドルの値を小さく、または大きく調整する |
|
ハンドルパラメータをキーする |
Kを押します。 |
ローカルスペースの編集 ¶
通常では、複数の非接続プリミティブを選択した時は、それらのプリミティブはワールド空間でトランスフォームさせます。
To... | Do this |
---|---|
各選択島をそれぞれのローカル空間でトランスフォームできるようにトランスフォームハンドルを切り替える |
|
Tip
このモードの時。Houdiniは常にハンドルを 一番最後に選択した 島にスナップさせます。 既に選択されているポリゴンを⇧ Shiftクリックすることで、ハンドルをその島に移動させることができます。
ハンドルの外観 ¶
To... | Do this | ||||
---|---|---|---|---|---|
ハンドルを大きくしたり小さくする |
ビューア内でホットキーを使用することで、ハンドルサイズを迅速に変更することもできます:
|
||||
ハンドルを隠す |
ビューアの左側にあるツールボックスの Handlesツールをクリックすると、すべての可視ハンドルのメニューが表示されます。隠したいハンドルをオフにします。 再度ハンドルを可視にするには、そのハンドルを持つノードを選択し、 Handlesツールをクリックして、そのハンドルをオンにします。 |
||||
ハンドルの軸の色を無効にする |
無効にすると、Houdiniは、各軸に赤、緑、青の色を使用せずに、すべて赤でハンドルを描画します。
|
ジンバルハンドルの使用とジンバルロックの修正 ¶
ジンバルロックって何? ¶
ジンバルロック とは、2つの回転軸が重なる時に、それらの軸が独立して回転できなくなる現象のことです。 これはアニメーションで問題を起こし、回転が適切に動かなくなります。
この現象は、Houdiniが同時に3つの軸すべてを回転できないときに起こります。 そのため、同時に1つの軸で回転するように適用しなければなりません(これはオイラー角の根本的な特性です)。 もし、順番が“X回転→Y回転→Z回転”(デフォルト)ならば、YとZは Xから独立 (言い換えると、Y回転がX回転を変更しない)して回転する必要があります。 つまり、軸を重複して作成する必要があります:
|
カメラは0,0,0の回転から始めます。 |
|
Y周り(緑のリング)に-45度回転したカメラ。Y回転はX回転の 後 に適用されるので、Y周りの回転はX(赤のリング)を回転しません。 |
|
Y周り(緑のリング)に-90度回転したカメラ。X軸(赤のリング)とZ軸(青のリング)が重複しています。 軸が重複しているので、XとYを回転しても、カメラは2つの軸まわりで回転せず、同じ軸に沿ってそれらの軸が回転するだけです(実際はお互いの回転を打ち消し合っています)。 |
ジンバルモードハンドル ¶
Houdiniの回転ハンドルには“Gimbal Mode”オプションがあり、回転ハンドルがどのように機能するかコントロールします。
-
Gimbal Modeがオフ の時、Houdiniはバックグラウンド処理により常に3つの回転リングハンドルが見える状態になります。リングをドラッグすると他のリングもそれに合わせて回転順に関係なく回転します。
その利点は、回転ハンドルをドラッグしてオブジェクトをジンバルロックさせることができないことです。 欠点は、このモードでは回転ハンドルを1つだけドラッグしてもHoudiniは3つの回転成分を変更することになります。 この方法で回転をすると、とても悪いアニメーション曲線ができてしまいます。
-
Gimbal Modeがオン の時、Houdiniは回転ハンドルの本当の位置を表示し、そして回転ハンドルをドラッグすると、Houdiniがジンバルロックを修正しようとせずに、直接その回転成分が変更されます。
その利点は、3つの回転成分に対して直接的に独立した制御ができることです。 つまり、Houdiniが他の成分を変更してしまうことを心配する必要なく、ハンドルを使ってアニメーションをセットアップすることができます。 欠点はジンバルロックの可能性があることです。
ジンバルモードのオン・オフの切替は、回転ハンドル上でクリックして、 Gimbal Mode を選択します。
ジンバルロックの回避・解消方法 ¶
次の方法でジンバルロックを回避します:
回転順を変更する
回転順を変更するということは、他の座標に影響する軸を変更することになります。つまり異なる回転順を選ぶことで、ジンバルロックしないで同じ回転ができる場合があります。
オブジェクトのパラメータからオブジェクトの回転順を設定します。
Nullを親にすることで別々の回転をする
-
オブジェクトの Rotate X と Rotate Y パラメータをロックします。
-
Nullオブジェクトを作成し、それをオブジェクトの親に設定します。そしてNullの Rotate Z パラメータをロックします。
-
Nullを回転するとオブジェクトのXとYが回転し、オブジェクトを回転をするとオブジェクトのZが回転します。
回転軸を異なるオブジェクト上に置くことで、軸が重複することはありません。つまりジンバルロックが起きません。
(この方法が便利ならば、XとYのNullオブジェクトを積み上げてオブジェクトのZをコントロールすることもできます。またはX,Y,ZのNullオブジェクトを積み上げてオブジェクトの回転すべてをロックすることもできます)
ハンドル上でGimbal Modeをオフにする
(上記参照してください。)Gimbal Modeをオフにすると、Houdiniはバックグラウンドで余計な数学処理を行って3つの回転成分を変更することで、ハンドルをジンバルロックが起きないように回転します。
注視点とアップベクトルで回転を制御する
回転ハンドルでオブジェクトの回転をする方法以外に、注視点でオブジェクトを回転することもできます。
-
Nullオブジェクトを作成して、オブジェクトの Look At パラメータにそれを設定します。
-
Nullをトランスフォームすることで、オブジェクトの回転を制御します。オブジェクトの Rotate Z または Up vector パラメータを使ってオブジェクトを回転します。
回転パラメータを直接設定する必要がなく、ジンバルロックを回避してオブジェクトを回転することができます。また親子化する必要もありません。 欠点は、注視点となるNullがオブジェクトの中心を通過すると、オブジェクトが軸の反対側に反転してしまうことです。