On this page | |
Inheritance |
|
概要 ¶
hou.GeometryDrawable
は、hou.SimpleDrawable
と同様にガイドジオメトリを描画することができますが、色々な種類の視覚化効果を含んだ描画オプションがたくさん備わっています。
例えば、取り付けジオメトリのフェースを描画したり、異なるシェイプでポイントを描画したり、ラインやベクトルを描画する際にhou.GeometryDrawable
オブジェクトを使用することができます。
他にも、グローマット効果を使ってフェース、ライン、ポイント、ポイント半径などをハイライトさせることもできます。
hou.SimpleDrawableと同様にhou.GeometryDrawable
は、ビューア内でジオメトリを実際のシーンの一部にしないように管理するのにそれとほぼ同じサービスを使用しています。
hou.TextDrawableと同様にhou.GeometryDrawable
は、Pythonステート用に設計されていて、取り付けジオメトリを描画するのにはonDrawハンドラーが必要になります。
Note
hou.GeometryDrawable
には、ポリゴンメッシュジオメトリのみを使用することができます。
メソッド ¶
__init__(scene_viewer, geo_type, name, label=None, geometry=None, params=None)
指定したハイライトタイプで新しいDrawableオブジェクトを作成します。 この新しいDrawableはデフォルトでは非表示になります。
scene_viewer
ガイドジオメトリが表示されるビューアのhou.SceneViewer参照。
geo_type
作成するDrawableの種類を指定したhou.drawableGeometryType値。
name
このDrawableオブジェクトを識別するための文字列。
label
Drawableラベル用のオプションの文字列。デフォルトは空っぽです。
geometry
描画するジオメトリを含んだオプションのhou.Geometryオブジェクト。
params
Drawableパラメータを設定するためのオプションのパラメータ辞書。
params
に含めるパラメータは、作成されるgeo_type
Drawableに合わせてください。合わなければそれらのパラメータは無視されます。
これらのパラメータは、hou.AdvancedDrawable.setParamsやhou.AdvancedDrawable.drawで使用可能なパラメータと同じです。
他の共通パラメータは、hou.AdvancedDrawable.setParamsに載っています。
共通パラメータ |
タイプ |
説明 |
---|---|---|
|
hou.Vector4 or sequence of 4 doubles |
ワールド座標でクリップ平面を表現したベクトル。
|
ラインのパラメータ |
タイプ |
説明 |
|
double |
線幅を設定します。デフォルトは1.0です。 |
|
hou.drawableGeometryLineStyle、または、2つのdoubleのシーケンス |
描画する線種を設定します: 実線、破線、ドット。 2つのdoubleを渡す時、1番目の値が破線の幅(単位はピクセル)、2番目の値が破線間の隙間の長さ(単位はピクセル)です。 デフォルトはhou.drawableGeometryLineStyle.Plainです。 |
フェースのパラメータ |
タイプ |
説明 |
|
Bool |
バックフェースカリング(裏面の間引き)を有効または無効にします。 デフォルトは現行ビューポートのRemove Backfacesディスプレイオプションです。 |
|
カラーランプオブジェクトを使ってDrawableを設定します。
ランプを有効(つまり、 このランプは、 この動作では、ランプは最終的に1次元のOpenGLテクスチャ(長さ512ピクセル)になります。
Drawableは、各フラグメントカラー(R, G, B)の各コンポーネントを受け取り、それを( その値が最終的に最小最大範囲外になった場合、 |
|
|
double |
フェースパターン用のスケール値。デフォルトは1.0です。 |
|
sequence of int |
描画するジオメトリフェースを表現したインデックスのリスト。デフォルトでは、すべてのジオメトリフェースが描画されます。 |
|
double |
選択された |
|
描画するフェーススタイルを設定します。 デフォルトはhou.drawableGeometryFaceStyle.Plainです。 |
|
|
|
|
|
|
|
|
Bool |
バックフェースカリングがアクティブな時に削除するフェースの側を反転させます。デフォルトはFalseです。 |
|
Bool |
Drawableにカラーランプが設定されていれば、そのカラーランプの使用を有効にします。 デフォルトはFalseです。 |
ポイントのパラメータ |
タイプ |
説明 |
|
フォールオフ範囲を設定します。 デフォルトはhou.Vector2(0, 0)です。 |
|
|
intのシーケンス |
ポリゴンのポイントインデックスのリスト。該当するインデックスのポイントのみが描画されます。 インデックスを指定しなかった場合、デフォルトではジオメトリ上のすべてのポイントが描画されます。 |
|
int |
ポイントを中心としたリングの数を設定します。 hou.drawableGeometryPointStyle.RingsCircleまたはhou.drawableGeometryPointStyle.RingsSquareで動作します。 デフォルトは0です。 |
|
double |
ポイント半径の値を設定します。 デフォルトは0.05です。 |
|
描画するポイントスタイルを設定します。
リングスタイルは、 |
|
ベクトルのパラメータ |
タイプ |
説明 |
|
sequence of int |
ポリゴンのポイントインデックスのリスト。該当するインデックスのポイントに対してのみベクトルが描画されます。 インデックスを指定しなかった場合、デフォルトではすべてのベクトルが描画されます。 |
|
Bool |
両側矢印のベクトルセグメントを描画します。 デフォルトはFalseです。 |
|
double |
ベクトルセグメントの長さを設定します。 デフォルトは1.0です。 |
|
int |
ベクトルセグメントの幅を設定します(単位はピクセル)。 デフォルトは0です。 |
|
Bool |
片側矢印のベクトルセグメントを描画します。 デフォルトはFalseです。 |
|
double |
ベクトルの起点が隠れている場合、この係数でベクトル全体をフェードさせます。
これを |
geometry()
→ hou.Geometry
Drawableのジオメトリオブジェクトを返します。
返されるジオメトリは読み込み専用
です。
setGeometry(geometry)
新しいジオメトリでDrawableを設定します。 この変更は、次回のビューアの再描画で反映されます。
geometry
hou.Geometryオブジェクト。
useClipPlane(value)
このDrawableをレンダリングする時にクリップ平面を有効または無効にします。デフォルトでは、無効になっています。
value
True
だとクリップ平面は有効になり、False
だと無効になります。
Methods from hou.Drawable ¶
name()
このDrawableの名前。
label()
このDrawableのラベル。
setLabel(label)
このDrawableのラベルを設定します。
show(value)
このDrawableに取り付けられたエレメントをビューポート内に表示または非表示にします。 このエレメントは、次回のビューアの再描画で表示されます。
value
エレメントを表示するにはTrue
、非表示にするにはFalse
を設定します。
visible()
→ bool
Drawableが可視ならTrueを返します。
setTransform(xform)
このDrawableに取り付けられたエレメントのトランスフォーム行列を設定します。 この変更は、次回のビューアの再描画で反映されます。
xform
エレメントの移動、回転、スケールを設定するhou.Matrix4トランスフォーム行列。
transform()
: → hou.Matrix4
Drawableに取り付けられたエレメントのトランスフォーム行列を返します。
Methods from hou.AdvancedDrawable ¶
setParams(params)
Drawableのパラメータを設定します。 この設定は、次回にhou.AdvancedDrawable.drawがコールされた時にビューポートに反映されます。
params
Drawableオプションを設定するためのパラメータの辞書。 各Drawableタイプは、特定のパラメータセットを使用します。 詳細な情報は、GeometryDrawableやTextDrawableなどのDrawable派生クラスパラメータのドキュメントを参照してください。
以下のパラメータは、すべてのhou.AdvancedDrawable
タイプで共通です:
|
Drawableのメインカラーとして使用される hou.TextDrawableに関しては、 |
|
|
Drawableで生成したマット周辺のグローカラーを設定するための 例えば、フェースまたはポイントのDrawableから生成したマット周辺にグローを描画する際に |
|
|
double |
デプスバッファによって決定された既存ジオメトリで遮られた領域でのオーバーレイのオクルージョン係数として使用される値。
1.0の |
|
int |
グロー幅の値を設定します。 例えば、これは線分またはテキストのグロー幅を変更します。 デフォルトは0です。 |
|
Drawalbeで生成したマットをハイライトするモードを設定します。 デフォルトはhou.drawableHighlightMode.Matteです。 |
|
|
hou.Vector3、または、3つのdoubleのシーケンス |
ジオメトリの3D空間の位置。 hou.TextDrawableに関しては、これはビューポート座標で表示するテキストの位置です。 デフォルトはhou.Vector3(0, 0, 0)です。 |
|
hou.Vector3、または、3つのdoubleのシーケンス |
回転ベクトル(単位は度)。 デフォルトはhou.Vector3(0, 0, 0)です。 |
|
hou.Vector3、または、3つのdoubleのシーケンス |
スケールベクトル。 デフォルトはhou.Vector3(1, 1, 1)です。 |
|
doubleまたはintのシーケンス |
ジオメトリを描画するために、ビューポート座標で2Dウィンドウをビューポートに割り当てます。 このシーケンスでは、そのウィンドウの位置とサイズを定義し、以下の値を格納する必要があります:
|
|
Bool |
Drawableが取り付けジオメトリの |
|
Bool |
Drawableが取り付けジオメトリの |
draw(handle, params=None)
ビューポート内でエレメントの描画に対応するためにLeafクラス(末端クラス)で実装されたメソッド。 通常では、このメソッドは、PythonステートのonDrawイベントまたはonDrawInterruptイベントからコールして、現行ビューポートでDrawableをレンダリングします。
handle
これは、HoudiniがDrawableをレンダリングする際に生成する不透明値です。
このhandle
値は、HoudiniによってPythonステートのonDraw
コールバックに渡され、Drawableオブジェクトのdrawメソッドに直接渡されます。
params
Drawableパラメータを設定するためのパラメータのオプションの辞書。 これらのパラメータは、hou.AdvancedDrawable.setParamsで使用しているパラメータと同じです。
See also |