メソッド ¶
isVisible()
→ bool
グリッドがビューア内で可視かどうか返します。
setIsVisible(on)
このグリッドをビューア内で可視または不可視にします。
transform()
→ hou.Matrix4
この平面のトランスフォームマトリックスを返します。
トランスフォームマトリックスが単位行列の時、その平面の左下コーナーが原点で、その平面がXY平面になります。 この向きでは、X方向のセルの数やX方向のセルのサイズを増やすと、原点を基準にX軸方向外側に平面が広がります。 同様に、Y方向のセルの数やY方向のセルのサイズを増やすと、原点を基準にY軸方向外側に平面が広がります。
トランスフォームマトリックスにスケール情報が含まれていないことに注意してください。 平面のサイズを取得するには、cellSizeとnumberOfCellsのメソッドを使用します。
以下の関数は、平面の中心の位置を返します:
def origin(construction_plane): return hou.Vector3(0, 0, 0) * construction_plane.transform()
以下の関数は平面の法線を返します:
def normal(construction_plane): return hou.Vector3(0, 0, 1) * construction_plane.transform().inverted().transposed()
setTransform(matrix)
この平面のトランスフォームマトリックスをhou.Matrix4に設定します。
このマトリックスは、平面の移動と回転に使用します。 詳細は、transformメソッドを参照してください。
トランスフォームマトリックス内のスケール情報は無視されることに注意してください。 平面のサイズを調整するには、setCellSizeとsetNumberOfCellsのメソッドを使用します。
以下の関数は、平面の中心の位置を変更します:
def set_origin(construction_plane, new_origin): translation = hou.hmath.buildTranslate(hou.Vector3(new_origin) - origin(construction_plane)) construction_plane.setTransform(construction_plane.transform() * translation) def origin(construction_plane): return hou.Vector3(0, 0, 0) * construction_plane.transform()
以下の関数は平面の法線を変更します:
def set_normal(construction_plane, normal_vector): existing_rotation = hou.Matrix4(construction_plane.transform().extractRotationMatrix3()) rotation = existing_rotation * normal(construction_plane).matrixToRotateTo(normal_vector) translation = hou.hmath.buildTranslate(origin(construction_plane)) construction_plane.setTransform(rotation * translation) def normal(construction_plane): return hou.Vector3(0, 0, 1) * construction_plane.transform().inverted().transposed() def origin(construction_plane): return hou.Vector3(0, 0, 0) * construction_plane.transform()
cellSize()
→ tuple
of float
グリッドのセル内の1セルのXとYのサイズ(幅と高さ)を返します。 戻り値は2個のfloatのタプルです。
setCellSize(size)
グリッドのセル内の1セルのXとYのサイズ(幅と高さ)を変更します。
size
は2個のfloatのシーケンスです。
各セルのサイズを変更すると、グリッドの総サイズが変わります。
numberOfCells()
→ tuple
of int
グリッドのXとYの方向でのセルの数を返します。 つまり、縦と横の数を返します。
setNumberOfCells(number)
グリッドのXとYの方向でのセルの数を変更します。
number
は2個のintのシーケンスです。
セルの数を変更しても、各セルのサイズは変わらないので、グリッドのサイズが変わります。
numberOfCellsPerRulerLine()
→ tuple
of int
定規線間のXとYの方向のセルの数を返します。 定規線は、グリッドセル間に描画されている標準線よりも暗いです。
setNumberOfCellsPerRulerLine(number)
定規線間のXとYの方向のセルの数を設定します。
number
は2個のintのシーケンスです。
例えばnumber
が(1, 1)
なら、Houdiniはグリッド内のすべてのセル間に定規線を描画します。
定規線を完全に無効にするには、グリッド内のセルの数以上の値を使って、このメソッドをコールしてください。