frame(full_precision=False)
→ float
この関数はHScriptの$FF
変数と同等です。
HScriptの$F
変数が必要であれば、フレームを一番近い整数に丸めるhou.intFrame()を使用してください。
小数フレームを有効にするには、 Global Animation Options ダイアログの Integer Frame Values を無効にしてください。
この関数は、HScriptの$FF
変数と同様に出力を小数点以下6桁に丸めます。
この丸め処理を無効にしたいのであれば、full_precisionパラメータにTrue
を渡してください。
Pythonのfloatは正確な浮動小数点値を表現することができず、Pythonはその値を表示する時に数値を丸めないので、
Pythonシェルにフレーム番号をプリントすると、そのフレーム番号は、9999999999999や0000000000001で終わることがあります。
その番号を文字列に変換すると、Pythonはその値を丸めます。
>>> 2.759 2.7589999999999999 >>> 2.757 2.7570000000000001 >>> str(2.759) '2.759'
Houdiniが小数フレームにいる時にその丸められた値が欲しくないなら、hou.timeToFrame(hou.time())
を使用してください。
>>> hou.setFrame(13.193) >>> hou.frame() 13.193 >>> hou.timeToFrame(hou.time()) 13.192999839782715 >>> hou.setFrame(2.759) >>> hou.frame() 2.7589999999999999 >>> int(hou.frame()) 2 >>> hou.intFrame() 3
See also |