再生中のフレームが変わるたびに迅速なコマンドの実行が必要な場合もあります。たとえば、現在のアニメーションに基づいてシーン情報の一部をログに記録する場合などです。 PlayControl プロパティ セットには、フレームの変更ごとに実行される簡単な VBScript コードを保持できるパラメータがあります。 これは、OnFrameChangeCommand パラメータです(「VBScript の例: 各フレーム変更時のオブジェクト位置のログを記録する」を参照)。
このパラメータは再生中にのみ起動します。 レンダリング中のフレーム変更によって起動されるイベントを使用したい場合は、OnBeginFrame イベントまたは OnEndFrame イベントのイベント ハンドラを実装する必要があります。 詳細については、「レンダリング用イベント ハンドラに関する注意事項」を参照してください。
この例では、Application.LogMessage を個別に 3 回呼び出すことで、ヌルの位置をログに記録します。
dim cmd2run cmd2run = "Application.LogMessage GetValue(" & Chr(34) & "null.kine.local.posx" & Chr(34) & ")" & vbCrLf _ & "Application.LogMessage GetValue(" & Chr(34) & "null.kine.local.posy" & Chr(34) & ")" & vbCrLf _ & "Application.LogMessage GetValue(" & Chr(34) & "null.kine.local.posz" & Chr(34) & ")" SetValue "PlayControl.OnFrameChangeCommand", cmd2run
レンダリング中に各フレーム更新で何かを実行する必要がある場合、以下のいずれかのイベントを使用できます(これらのイベントの実装方法の詳細については、「カスタム イベント」を参照)。
OnBeginFrame:フレームがレンダリングされる前に発生します。これらのイベントは siOnBeginFrame 列挙型を使って登録されます。
OnEndFrame:フレームがレンダリングされた後に発生します。これらのイベントは siOnEndFrame 列挙型を使って登録されます。
レンダリング中のフレーム変更によってイベントを発生させる場合は、siOnBeginFrame イベント ハンドラまたは siOnEndFrame イベント ハンドラのいずれかを使用する必要があります。OnFrameChangeCommandパラメータは再生中にのみ起動します。