時間タグは、タイム ラインの参照点を定義してナビゲーションを高速にするために使用します。
時間タグには FrameTagManager インタフェースでアクセスできます (SDK の IFrameTagManager インタフェースに対応)。
以下は、FrameTagManager インタフェースを使用して MAXScript で時間タグにアクセスする例です。
例 |
ntags = FrameTagManager.GetTagCount() --> 0 tag1 = FrameTagManager.CreateNewTag "tag1" 15 --> 1 tag2 = FrameTagManager.CreateNewTag "tag2" 25 lockID:tag1 scale:true --> 2 tag3 = FrameTagManager.CreateNewTag "tag3" 25 scale:false-->3 loop1 = FrameTagManager.CheckForLoop tag1 tag2 --> false loop2 = FrameTagManager.CheckForLoop tag2 tag1 --> true loop3 = FrameTagManager.CheckForLoop tag1 tag3 --> false loop4 = FrameTagManager.CheckForLoop tag3 tag1 --> false ntags = FrameTagManager.GetTagCount() --> 3 for i = 1 to ntags do ( id = FrameTagManager.GetTagID i tagTime = FrameTagManager.GetTimeByID id tagLockID = FrameTagManager.GetLockIDByID id tagName = FrameTagManager.GetNameByID id tagScale = FrameTagManager.GetScaleByID id format "%: id:%; name:%; time:%; lockID:%; scale:%\n" i id tagName tagTime tagLockID tagScale ) FrameTagManager.SetTimeByID tag1 10 --> ok FrameTagManager.SetLockIDByID tag3 tag2 --> true FrameTagManager.SetNameByID tag1 "modified tag1" --> ok FrameTagManager.SetScaleByID tag1 false --> ok ntags = FrameTagManager.GetTagCount() --> 3 for i = 1 to ntags do ( id = FrameTagManager.GetTagID i tagTime = FrameTagManager.GetTimeByID id tagLockID = FrameTagManager.GetLockIDByID id tagName = FrameTagManager.GetNameByID id tagScale = FrameTagManager.GetScaleByID id format "%: id:%; name:%; time:%; lockID:%; scale:%\n" i id tagName tagTime tagLockID tagScale ) FrameTagManager.SetTimeByID tag2 5 relative:true --> ok ntags = FrameTagManager.GetTagCount() --> 3 for i = 1 to ntags do ( id = FrameTagManager.GetTagID i tagTime = FrameTagManager.GetTimeByID id tagLockID = FrameTagManager.GetLockIDByID id tagName = FrameTagManager.GetNameByID id tagScale = FrameTagManager.GetScaleByID id format "%: id:%; name:%; time:%; lockID:%; scale:%\n" i id tagName tagTime tagLockID tagScale ) FrameTagManager.DeleteTag tag2 --> ok FrameTagManager.FindItem tag2 --> 0 FrameTagManager.FindItem tag3 --> 2 ntags = FrameTagManager.GetTagCount() --> 2 for i = 1 to ntags do ( id = FrameTagManager.GetTagID i tagTime = FrameTagManager.GetTimeByID id tagLockID = FrameTagManager.GetLockIDByID id tagName = FrameTagManager.GetNameByID id tagScale = FrameTagManager.GetScaleByID id format "%: id:%; name:%; time:%; lockID:%; scale:%\n" i id tagName tagTime tagLockID tagScale ) FrameTagManager.SetLockIDByID tag1 tag3 --> true FrameTagManager.GetTimeByID tag1 --> 10f FrameTagManager.SetLockIDByID tag3 tag1 --> false FrameTagManager.GetTimeByID tag3 --> 20f FrameTagManager.CheckForLoop tag1 tag3 --> true FrameTagManager.CheckForLoop tag3 tag1 --> false FrameTagManager.SetLockIDByID tag1 0 --> true FrameTagManager.GetTimeByID tag1 --> 10f FrameTagManager.FindItemByTime 10 --> 1 FrameTagManager.FindItemByTime 15 --> 0 FrameTagManager.FindItemByTime 20 --> 2 |