詳細は、Crowd Animation Clipsを参照してください。
メソッド ¶
__init__(name, filename, rig, keep_external_ref = True, delay_load = False)
        
指定した.bclipまたは.clipのファイルからエージェントクリップを読み込むことで、新しいエージェントクリップを作成します。
クリップ内のチャンネルは、transform_name:channel_nameの形式で指定します。
    transform_nameはhou.AgentRig.transformNameが返す値に一致した文字列で、channel_nameはtx, ty, tz, rx, ry, rz, sx, sy, szのどれかです。
    tで始まるチャンネルは移動、rは回転、sはスケールです。
    その結果のトランスフォームはローカルトランスフォームとして扱われ、hou.AgentClip.sampleLocalを介して読み込むことができます(つまり、そのトランスフォームはエージェントのスケルトン内の該当する親トランスフォームを基準にしています)。
    他のチャンネルは、hou.AgentClip.sampleを通じて読み込むことができます。
ファイルが存在しない、または、読み込むことができなかった場合はhou.OperationFailedを引き起こします。
name
        
新しいクリップの名前(例えばwalk)。
filename
        
クリップファイルのパス。
rig
        
クリップと関連付けるhou.AgentRig。 例えばトランスフォームをローカル空間からワールド空間に変換する時に、このリグが使用されます。
keep_external_ref
        
エージェントをジオメトリファイルに保存した時に外部参照を維持するかどうかを示すbool。
        外部参照を維持した場合、(クリップのパスのみがジオメトリファイルに保存されているので)その保存したジオメトリを使用する時には、そのクリップファイルが利用可能な状態になっている必要があります。
        維持しなかった場合、ジオメトリを保存した時に、そのクリップのコピーが埋め込まれるので、元のクリップは、もはや不要です。
delay_load
        
keep_external_refがTrueの場合、クリップのデータが照会されない限り、ディスクからクリップを読み込むのを遅延させるべきかどうかを指定します。
        これによって、いくつかのクリップが使用されていない場合には読み込み時間とメモリ使用量を改善することができますが、何かしらの読み込みエラーが発生しても即座に報告されません。
__init__(name, chop, rig, frame = hou.frame())
        
シーン内のCHOPから新しいエージェントクリップを作成します。
name
        
新しいクリップの名前(例えばwalk)。
chop
        
クリップの読み込み元であるhou.ChopNode。
rig
        
クリップと関連付けるhou.AgentRig。 例えばトランスフォームをローカル空間からワールド空間に変換する時に、このリグが使用されます。
frame
        
CHOPノードをクックするフレームを指定します。
__init__(name, rig, sample_count)
        
指定したサンプル数で空っぽの(且つ修正可能な)エージェントクリップを作成します。 これらのサンプルは単位行列のトランスフォームに初期化されます。
name
        
新しいクリップの名前(例えばwalk)。
rig
        
クリップと関連付けるhou.AgentRig。 例えばトランスフォームをローカル空間からワールド空間に変換する時に、このリグが使用されます。
sample_count
        
クリップのサンプル数。
__init__(clip, rig, name = "")
        
既存のエージェントクリップのコピーを作成します。 ソースクリップは、別のリグを参照することができます。この場合では、そのリグの新しいジョイントに対して単位行列のトランスフォームが適用されます。
clip
        
クリップのコピー元であるhou.AgentClip。
rig
        
クリップと関連付けるhou.AgentRig。 例えばトランスフォームをローカル空間からワールド空間に変換する時に、このリグが使用されます。
name
        
walkなどの新しいクリップの名前。このパラメータを指定しなかった場合、ソースクリップの名前が使用されます。
__init__(name, stage, prim_path, rig)
        
USDプリミティブから新しいエージェントクリップを作成します。 クリップを読み込めなかった場合は、hou.OperationFailedを引き起こします。
name
        
新しいクリップの名前(例えば、walk)。
stage
        
クリップの読み込み元のUSDステージ。 例えば、ここには、LOPノードからの出力ステージを指定することができます。
prim_path
        
クリップの読み込み元のUSDステージ内のSkeletonまたはSkelRootプリミティブのパス。
rig
        
クリップが関連付けられるhou.AgentRig。 例えば、トランスフォームをローカル空間からワールド空間へ変換する時、このリグが使用されます。
addChannel(name, samples)
        
クリップ内に追加でチャンネルを作成します。 同じ名前のチャンネルが既に存在していた場合は、以前のサンプルが上書きされます。
クリップが修正不可の場合は、hou.GeometryPermissionErrorを引き起こします。
name
        
チャンネルの名前。
`samples
チャンネルのデータを含んだfloatシーケンス。
        このシーケンス長がhou.AgentClip.sampleCountと同じでない場合は、hou.InvalidSizeを引き起こします。
allLocalTransformValues()
  → tuple
 of float
        
すべてのサンプルのローカルトランスフォームを含んだ平坦なfloatタプルを返します。
    このデータレイアウトは、他のPythonライブラリを使ってトランスフォームを制御するのに役立ちます。
    エントリの数は、16 * rig.transformCount() * clip.sampleCount()です。
channelNames()
  → tuple
 of str
        
クリップ内の追加チャンネル(非トランスフォーム)の名前を返します。 これらのチャンネルは、hou.AgentClip.sampleを使ってサンプリングすることができます。
data(binary, worldspace = False)
  → str
 for Python 2, bytes
 for Python 3
        
ASCIIまたはバイナリでクリップデータを返します。
返されるクリップデータは、Python3だとbytesオブジェクトで、Python2だとstrオブジェクトです。
    詳細は、HOMバイナリデータを参照してください。
binary
        
クリップデータをASCII(.clip)またはバイナリ(.bclip)の形式で保存するかどうか指定します。
worldspace
        
トランスフォームチャンネルをローカル空間またはワールド空間で保存するかどうか指定します。
extractLocomotion(cog_transform, cog_lookat_transform=-1, convert_inplace=True, project_on_dominant_axis=False)
        
アニメーションをインプレース(その場歩き)に変換し、__locomotion__:[srt][xyz]チャンネル内にそのロコモーショントランスフォームを記録します。
クリップが変更不可の場合は、hou.GeometryPermissionErrorを引き起こします。
cog_transform
        
エージェントのリグ内のキャラクタのロコモーションを制御している(つまり、空間内でキャラクタの位置を前進させている)トランスフォームのインデックス。
cog_lookat_transform
        
エージェントのリグ内のトランスフォームのオプションのインデックス。
        このインデックスは、cog_transformからこのトランスフォームへのベクトルを使って全体の回転を抽出するのに使用します。
convert_inplace
        
ロコモーショントランスフォームを記録するだけでなく、アニメーションをインプレースクリップに変換するかどうかを指定します。
project_on_dominant_axis
        
XZ平面内の動きの主軸に沿ってロコモーション移動を投影します。 Crowd Solverでクリップをインプレースクリップとして使用する場合、これは、動きにおける腰の揺れを維持するのに役立ちます。
fileName(expanded = False)
  → str
        
クリップが外部参照の場合、ディスク上のファイルのパスを返します。
expanded
        
パス内の変数(例えば$HIP)を展開するかどうかを指定します。
freeze()
  → hou.AgentClip
        
修正可能なクリップのコピーを作成します。 このコピーは外部参照としてマークされなくなります。
isExternalReference()
  → bool
        
クリップがディスク上のファイルを参照しているかどうかを示したboolを返します。
isLoaded()
  → bool
        
クリップが外部参照の場合、そのクリップのデータがディスクから読み込まれているかどうかを返します。
length()
  → float
        
クリップの長さを(秒単位で)返します。
loadFromFile()
        
クリップが遅延ロードの外部参照である場合に、そのクリップのディスクからのデータを明示的に読み込みます。 ファイルが存在しない、または、読み込むことができなかった場合、hou.OperationFailedを引き起こします。
クリップのデータにアクセスする必要があるメソッドをコールしてもクリップが読み込まれますが、このメソッドを使用することで、即座にエラーを報告することができます。
localTransforms(sample)
  → tuple
 of hou.Matrix4
        
指定したサンプルでローカル空間のトランスフォームを返します。 エントリ番号はhou.AgentRig.transformCountに合致します。
sample
        
クリップ内のサンプルのインデックス。
name()
  → str
        
クリップの名前を返します。
sample(time, channel_name)
  → float
        
time
        
クリップを評価する時間(秒)。
channel_name
        
クリップ内のチャンネルの名前。hou.AgentClip.channelNamesを参照してください。
指定した時間のクリップを評価して、その指定したチャンネルの値を返します。 クリップをトランスフォームをサンプリングするには、hou.AgentClip.sampleLocalまたはhou.AgentClip.sampleWorldを使用してください。
sampleCount()
  → int
        
クリップ内のサンプル数を返します。
sampleLocal(time, transform)
  → hou.Matrix4
        
time
        
クリップを評価する時間(秒単位)。
transform
        
エージェントのリグでのトランスフォームのインデックス。
指定された時間でクリップを評価して、ローカルトランスフォームを返します。
sampleRate()
  → float
        
クリップのサンプルレートを返します。
sampleWorld(time, transform)
  → hou.Matrix4
        
time
        
クリップを評価する時間(秒単位)。
transform
        
エージェントのリグでのトランスフォームのインデックス。
指定された時間でクリップを評価して、ワールドトランスフォームを返します。
setAllLocalTransformValues(values)
        
floatシーケンスから、クリップ内のすべてのサンプルのローカルトランスフォームを編集します。
このクリップが修正不可の場合は、hou.GeometryPermissionErrorを引き起こします。
values
        
各サンプルのローカルトランスフォームを含んだ平坦なfloatタプル。 このタプルの長さとデータレイアウトは、hou.AgentClip.allLocalTransformValuesに合わせる必要があります。 その長さが無効な場合は、hou.InvalidSizeを引き起こします。
setLocalTransforms(sample, xforms)
        
クリップ内のサンプルのローカルトランスフォームを編集します。
このクリップが修正不可の場合は、hou.GeometryPermissionErrorを引き起こします。
sample
        
クリップ内のサンプルのインデックス。
xforms
        
リグの各ジョイントのローカル空間のトランスフォームを含んだhou.Matrix4シーケンス。 このシーケンス長がhou.AgentRig.transformCountと同じでない場合は、hou.InvalidSizeを引き起こします。
startTime()
  → float
        
クリップの開始時間を返します(秒)。
worldTransforms(sample)
  → tuple
 of hou.Matrix4
        
指定したサンプルでワールド空間のトランスフォームを返します。 エントリ番号はhou.AgentRig.transformCountに合致します。
sample
        
クリップ内のサンプルのインデックス。