三日月館【別館】開発・制作Tips集
[3dsMax] MAXScriptの時間値について
最終更新:
fumiduki1985
-
view
MAXScriptではシーン内のフレーム数や時刻を表すために、時間値という型(Timeクラス)が用意されている。
時間値はフレームや秒、分、ティックなど様々な表現方法があるが、3ds Max内部では、全て毎秒4800ティックであるティック単位の時間に変換されている。
時間値はフレームや秒、分、ティックなど様々な表現方法があるが、3ds Max内部では、全て毎秒4800ティックであるティック単位の時間に変換されている。
リテラルでは以下のように表記する。
最後の2つのような特殊な表記方法もあるので注意。
また、C言語系の言語に慣れていると、20fといったリテラルを浮動少数と勘違いするかもしれない。
最後の2つのような特殊な表記方法もあるので注意。
また、C言語系の言語に慣れていると、20fといったリテラルを浮動少数と勘違いするかもしれない。
リテラル表記例:
20t -- 20ティック 20f -- 20フレーム 20s -- 20秒 20m -- 20分 10m30s4f100t -- 10分30秒4フレーム100ティック 10:30.4 -- 10分30秒4フレーム
時間値を「as integer」や「as float」で変換した場合、ティック単位の時間を返すので注意が必要。
時間値を「as String」で文字列に変換すると、どうもフレーム表記(~f)で文字列化される様子。文字列末尾にも「f」が付く。
フレーム表記以外で文字列化する方法があるかどうかは不明。
時間値を「as String」で文字列に変換すると、どうもフレーム表記(~f)で文字列化される様子。文字列末尾にも「f」が付く。
フレーム表記以外で文字列化する方法があるかどうかは不明。
時間値をフレーム整数で返したい場合は、「.frame」プロパティが使用できる。
時間値をティック単位の数値で返したい場合は、上記のasを使った変換のほかに「.ticks」プロパティも使用可能。
時間値をティック単位の数値で返したい場合は、上記のasを使った変換のほかに「.ticks」プロパティも使用可能。