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