Inheritance |
|
メソッド ¶
__init__(values)
新しいKeyframeオブジェクトを返します。 パラメータなし(その結果には値が設定されません), 浮動小数点値, 浮動小数点値と浮動小数点時間, Keyframe objectを渡すことができます。
accel()
→ double
キーフレームのout側のアクセラレーションを返します。
アクセラレーションが設定されていなかった場合、この関数はhou.KeyframeValueNotSetを引き起こします。
asJSON(brief=False, save_keys_in_frames=False)
→ dict
キーフレームを表現したJSON辞書を返します。この辞書には、フレーム時間、値/エクスプレッション、スロープとアクセラレーションのパラメータが含まれます。
brief
パラメータをTrueに設定すると、その辞書にはキー/値のペアの最小セットだけが含まれるのでディスク容量を減らすことができます。
save_keys_in_frames
パラメータをTrueに設定すると、その辞書は、時間の値ではなくフレーム番号を使用します。
fromJSONメソッドも参照してください。
fromJSON(keyframe_dict)
JSON辞書からキー/値のペアを使って、キーフレーム時間、値とパラメータを設定します。
asJSONメソッドも参照してください。
evaluatedType()
→ hou.parmData列挙値
キーフレームで評価された値のデータタイプを返します。 数値が保存されているキーフレームに関しては、このメソッドはhou.parmData.Floatを返します。
inAccel()
→ double
キーフレームのin側のアクセラレーションを返します。
アクセラレーションが設定されていなかったり、Tieになっていた場合、このメソッドはhou.KeyframeValueNotSetを引き起こします。
inSlope()
→ double
キーフレームのin側のスロープを返します。
スロープが設定されていなかったり、Tieになっていた場合、このメソッドはhou.KeyframeValueNotSetを引き起こします。
interpretAccelAsRatio(on)
Houdiniが、キーフレームのin側とout側のアクセラレーションの値を単比として解釈するべきかどうか設定します。 Trueに設定すると、in-accelerationとout-accelerationの比率が常に維持されます。 例えばAnimation Editorを使用してin-accelerationを2倍の大きさにすると、out-accelerationも自動的に2倍の大きさに調整されます。 これはHoudiniキーフレームのデフォルトの挙動です。
inValue()
→ double
キーフレームのin側の値を返します。
値が設定されていなかったり、Tieになっていた場合、このメソッドはhou.KeyframeValueNotSetを引き起こします。
isAccelInterpretedAsRatio()
→ bool
Houdiniでキーフレームのin側とout側のアクセラレーションを比率として解釈されている場合はTrueを返します。
isAccelSet()
→ bool
キーフレームのin側とout側のアクセラレーションが設定されていた場合はTrueを返します。
isAccelTied()
→ bool
キーフレームのin側のアクセラレーションが設定されていなかった場合はTrueを返します。
isAccelUsed()
→ bool
キーフレームのin側またはout側のアクセラレーションが使用されていた場合はTrueを返します。
isInSlopeAuto()
→ bool
キーフレームのin側のスロープが自動に設定されていた場合はTrueを返します。
isSlopeAuto()
→ bool
キーフレームのout側のスロープが自動に設定されていた場合はTrueを返します。
isSlopeSet()
→ bool
キーフレームのin側のスロープが設定されていた場合はTrueを返します。
isSlopeTied()
→ bool
キーフレームのin側のスロープが設定されていなかった場合はTrueを返します。
isSlopeUsed()
→ bool
キーフレームのin側またはout側のスロープが使用されていた場合はTrueを返します。
isValueSet()
→ bool
キーフレームのin側またはout側の値が設定されていた場合はTrueを返します。
isValueTied()
→ bool
キーフレームのin側の値が設定されていなかった場合はTrueを返します。
isValueUsed()
→ bool
キーフレームのin側またはout側の値が使用されていた場合はTrueを返します。
setAccel(accel)
キーフレームのout側のアクセラレーションを設定します。
setInAccel(in_accel)
キーフレームのin側のアクセラレーションを設定します。 キーフレームのout側のアクセラレーションがまだ設定されていなければ、それを設定します。 アクセラレーションをUntieします。
setInSlope(in_slope)
キーフレームのin側のスロープを設定します。 キーフレームのout側のスロープがまだ設定されていなければ、それを設定します。 スロープをUntieします。
setInSlopeAuto(on)
キーフレームのin側のスロープを自動に設定します。
setInValue(in_value)
キーフレームのin側の値を設定します。 キーフレームのout側の値がまだ設定されていなければ、それを設定します。 値をUntieします。
setSlope(slope)
キーフレームのout側のスロープを設定します。
setSlopeAuto(on)
キーフレームのout側のスロープを自動に設定します。
setValue(value)
キーフレームのout側の値を設定します。
slope()
→ double
キーフレームのout側のスロープを返します。
スロープが設定されていなかった場合、このメソッドはhou.KeyframeValueNotSetを引き起こします。
unsetInAccel()
キーフレームのin側のアクセラレーションを未設定にし、そのアクセラレーションをTieします。
unsetInSlope()
キーフレームのin側のスロープを未設定にし、そのスロープをTieします。
unsetInValue()
キーフレームのin側の値を未設定にし、その値をTieします。
useAccel(on)
アクセラレーション使用フラグを設定します。
useSlope(on)
スロープ使用フラグを設定します。
useValue(on)
値使用フラグを設定します。
value()
→ double
キーフレームのout側の値を返します。
値が設定されていなかった場合、このメソッドはhou.KeyframeValueNotSetを引き起こします。
Methods from hou.BaseKeyframe ¶
asCode(brief=False, save_keys_in_frames=False, function_name=None)
→ str
キーフレームの作成を実行することができるPythonステートメントのスクリプトを返します。
このスクリプトを実行するには、Pythonのexec
またはexecfile
の関数のどちらかを使用します。
brief
briefがTrueの時、出力されるスクリプトには、未使用の値、スロープ、アクセラレーションを設定するコマンドが省略されます。 このパラメータは、文字列以外のキーフレームにのみ適用されます。 briefの値は、TrueまたはFalseのどちらかでなければなりません。
save_keys_in_frames
save_keys_in_framesがTrueの時、asCode
はチャンネル設定と秒ではなくサンプル(フレーム)でのキー時間を設定するコマンドを出力します。
save_keys_in_framesの値は、TrueまたはFalseのどちらかでなければなりません。
function_name
function_nameを指定した場合、出力されるスクリプトが、指定した名前のPython関数定義内にラップされます。 function_nameは、英数字とアンダースコアの文字だけで構成された非ゼロ長文字列でなければなりません。 無効な文字は内部的にアンダースコアに変換されます。
この関数は、新しく作成されたキーフレームオブジェクトの参照を返します。
ここでは、その出力をファイルに保存して、それをHoudiniに読み込むサンプルを載せています:
# ターゲットキーフレームの参照を取得します。 tx_parm = hou.parm("/obj/geo1/tx") key = tx_parm.keyframes()[0] # asCodeを実行し、出力されたスクリプトをファイルに書き出します。 script = key.asCode() f = open("create_key.py", "w") f.write(script) f.close() # そのスクリプトを実行します。新しいキーフレームが # 'hou_keyframe'変数に保存されます。 execfile("create_key.py") # そのキーフレームをノードパラメータに確定します。 tx_parm.setKeyframe(hou_keyframe)
ここでは、出力を関数に保存して、それをHoudiniでコールするサンプルを載せています:
# ターゲットキーフレームの参照を取得します。 tx_parm = hou.node("/obj/geo1").Parm("tx") key = tx_parm.keyframes()[0] # asCodeを実行し、関数定義をファイルに書き出します。 func = key.asCode(function_name="createKeyframe") f = open("keylib.py", "w") f.write(func) f.close() # その関数定義をコールします。 import keylib hou_keyframe = keylib.createKeyframe() # そのキーフレームをノードパラメータに確定します。 tx_parm.setKeyframe(hou_keyframe)
expression()
→ str
キーフレームのエクスプレッションを返します。例えば、キーフレームに2つの値が設定されていた場合、その補間関数(例えば、“bezier()”, “spline()”など)が返されます。
エクスプレッションが設定されていなかった場合、この関数はhou.KeyframeValueNotSetを引き起こします。
setExpression()
とisExpressionSet()
を参照してください。
expressionLanguage()
→ hou.exprLanguage列挙値
キーフレームのエクスプレッションの言語を返します。
エクスプレッション言語が設定されていなかった場合、この関数はhou.KeyframeValueNotSetを引き起こします。
setExpression()
とisExpressionLanguageSet()
を参照してください。
frame()
→ double
キーフレームのフレーム番号を返します。
フレームまたは時間が設定されていなかった場合、この関数はhou.KeyframeValueNotSetを引き起こします。
setFrame()
とsetTime()
を参照してください。
isExpressionLanguageSet()
→ bool
キーフレームエクスプレッションの言語が設定されているかどうか返します。
setExpression()
とexpressionLanguage()
を参照してください。
isExpressionSet()
→ bool
キーフレームのエクスプレッションが設定されているかどうか返します。
setExpression()
とexpression()
を参照してください。
isTimeSet()
→ bool
キーフレームの時間が設定されているかどうか返します。
setTime()
とtime()
を参照してください。
setExpression(expression, language=None)
キーフレームのエクスプレッションと言語を設定します。
language
がhou.exprLanguageの値でなかった場合、この関数はTypeErrorを引き起こします。
expression()
, expressionLanguage()
, isExpressionSet()
, isExpressionLanguageSet()
を参照してください。
setFrame(frame)
キーフレームのフレーム番号を設定します。1秒あたりのフレーム数(hou.fps())を使用し、フレーム番号を設定すると、その時間も設定されます。 例えば、24のFPSを使用し、フレーム番号を49に設定すると、その時間が2秒に設定されます。
frame()
を参照してください。
setTime(time)
キーフレームの時間を秒で設定します。1秒あたりのフレーム数(hou.fps())を使用し、時間を設定すると、そのフレーム番号も設定されます。 例えば、24のFPSを使用し、時間を2秒に設定すると、そのフレーム番号が49に設定されます。
time()
を参照してください。
time()
→ double
キーフレームの時間を秒で返します。
時間やフレームを設定しなかった場合、この関数はhou.KeyframeValueNotSetを引き起こします。
setTime()
とsetFrame()
を参照してください。