Animation Mixer は、ユーザがノンリニア方式で何も損なわずにシーケンスのレイヤ/ミックスを行うことができるツールです。 ユーザはミキサのトラックにクリップを挿入してから、クリップ間の関係およびトランジションを作成したり、シーケンスのタイミングを変更したり、別の種類のエフェクトを適用することができます。
ミキサへのデータのロード方法を SDK の観点から説明した内容については、「ソースおよびクリップ」を参照してください。 ミキサ全般の詳細については、「ノンリニア アニメーション」『(ユーザ)ガイド』を参照してください。
この図は、ミキサ データを読み取るスクリプトやプラグラムを記述する際に予想できる内容を示したものです。 モデルごとにミキサは 1 つだけ存在します。つまり、シーン内のアニメーションはモデル(キャラクタ)ごとに編成されます。 上の図では SceneRoot が最上部にありますが、どのモデルを最上部に置いてもかまいません。
Mixer クラス自体は実際には ClipContainer の特別版であり、ClipContainer は一種の巨大な Clip だと言えます。つまり、ClipContainer クラスはコンパウンド クリップを意味するので、Mixer はクリップの超特大コンテナということになります。 以下の表は、Mixer および高レベル アニメーションで作業する際に使用する一般的なクラスを簡単に分類したものです。 この表は次の情報を示します。
アクセス時に使用: 各オブジェクトにアクセスする際に使用する OM のプロパティおよび C++ 関数へのリンクを示します。
型: SIObject.Type または SIObject::GetType プロパティを使用してオブジェクトの型をテストする場合に考えられる戻り値を一覧表示します。
siClassID: クラス ID(siClassID 列挙値の 1 つとして)を提供します。これは、オブジェクト モデルで SIObject.IsClassOf メソッドによるテストに使用することができ、C++ API で各クラスに実装された GetClassID 関数のいずれかからの戻り値に対しても使用できます。
クラス/オブジェクト |
アクセス時に使用 |
概要 |
型 |
注意事項 |
|
---|---|---|---|---|---|
ClipContainer の特別版 |
|
||||
Model.Mixer または Model::GetMixer ClipContainer.Clips または ClipContainer::GetClips |
ミキサの基本エレメント(クリップ、トラック、トランジション、およびクリップの関係)へのアクセスを提供します。 ほとんどの場合はコンパウンド クリップに使用しますが、Mixer を表すことも可能です。 どちらも、クリップ、トラック、およびトランジションを含むことができます。 |
||||
ClipContainer.Clips または ClipContainer::GetClips |
データの大部分へのアクセスが可能になるミキサ内の基本の構成要素(トラック、トランジション、クリップの関係、ソース、クリップ エフェクト、マッピングされた項目、および時間制御)。 |
siClipType enum のいずれかの値 |
|
||
Clip.Relations(OM の場合のみ)ClipContainer.NestedRelations または ClipContainer::GetNestedRelations |
マスター/スレーブおよびスワップの検出(予測事項について検出) |
"ClipRelation"(任意の列挙型の値ではありません) |
|
||
クリップへの単なる経路 |
siTrackType はトラックのクリップ コレクション上で siClipType と一致します |
||||
Transition または Transition |
開始クリップと終了クリップへのアクセスを提供します。 |
siTransitionType enum のいずれか |
-- |
||
アクション、オーディオ、およびイメージの汎用ソース。 プロパティへのアクセスを提供します。 |
siImageSourceType(siType から) |
-- |
|||
ソースのオフロードと再ロードが可能です。しかし、ほとんどの場合は、基本のアニメーション ソース項目へのアクセスを提供します。 |
siActionType(siType から) |
|
|||
アニメーションDataSource(たとえば、F カーブ)へのアクセス、およびそのターゲット(アニメーション ソースが制御するパラメータ)へのアクセスを提供します。 |
siAnimationSourceItemType enum からのいずれかの値 |
|
|||
AnimationSourceItem.Source または AnimationSourceItem::GetSource |
真のインタフェースではありません(基本的に F カーブ、エクスプレッション、コンストレイント、シェイプ キーなどのエイリアスです)。 |
アニメーション ソースのデータ型であればどれでも可能です(たとえば、F カーブは siFCurveType 値の 1 つを戻します)。 |
siAnimationSourceID と一致しませんが、ソースのクラス ID とは一致します(たとえば Fカーブは siFCurveID でテストされると true を戻し、siAnimationSourceID では false になります) |
|
|
MappedItem または MappedItem |
関連ソース、関連ソースにより制御されるパラメータ、およびクリップに適用された任意のクリップ エフェクト アイテムへのアクセスを提供します。 |
siMappedItemType enum からのすべての値 |
|||
ClipEffect または ClipEffect |
ClipEffectItem へのアクセスを提供します。 |
""(空文字列) |
|||
MappedItem.ClipEffectItem または MappedItem::GetClipEffectItem |
クリップのインスタンスが作成された Source に影響を与えずにクリップを制御するエクスプレッションが含まれます。 |
""(空文字列) |
|
||
クリップの[時間制御]プロパティへのアクセスを提供します。これは、クリップ長の一部をサイクル、バウンス、ホールドするなど、さらにクリップ エフェクトを追加するのに使用できます。 |
「timectr」([時間制御]プロパティのスクリプト名) |