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