アニメーション レベル

 
 
 

Autodesk Softimage には基本的に 3 種類のアニメーションが存在し、一般に以下のアニメーション レベルに分類されます。

ローレベルのアニメーション(パラメータベースのアニメーション)

この種類のアニメーションでは、値を制御するパラメータに直接アタッチされた何らかのデータが使用されます。 これはパラメータ レベル(Softimage 内で最下位レベルにあるカスタマイズ可能なエレメント)で発生するので、一般にローレベルのアニメーションと呼ばれます。

ローレベルのアニメーションの代表例を以下に挙げます。

注:

この種類のアニメーションは、第 3 タイプのアニメーションであるノンリニア アニメーションの構成要素を形成します。

アニメーションの基本的な作業

アニメーションの基本的な作業には、パラメータ レベルでの作業が含まれます。 たとえば、F カーブにキーを設定する作業です。 以下の表は、さまざまな SDK ツールのリファレンス ページへのリンクであり、以下の作業をこなすのに役立てることができます。

キャラクタ アニメーション

キャラクタ アニメーションでは、スケルトン構築、スケルトンのエンベロープ作成、自然な動きをシミュレートするためのスケルトン ジョイントへの IK/FK コンストレイント設定を行うことができます。さらに、その後で、スケルトンの動きをキーフレーミングすることができます。 エンベロープに関連するいくつかの問題については、この章で紹介します。

より複雑なキャラクタを作成する場合、通常はコントロール リグを使用します。 SDK の キャラクタ開発キット(CDK)を使用すれば、ユーザ独自のキャラクタ リグを作成できます。

ノンリニア アニメーション

ノンリニア アニメーションはもう 1 つの抽象概念です。基本的にノンリニア アニメーションでは、「ソース」と呼ばれる特別なコンテナ内にローレベルのアニメーションとシェイプ アニメーションをラップしてから、そのソースを使って Animation Mixer にクリップのインスタンスを作成する作業を行います。 つまり、オリジナルのソースとは関係なく修正できる、ソース アニメーションのバージョンです。 ミキサのもう 1 つの利点は、その名前が示すように、クリップ間のトランジションの構築、ウェイトの適用、クリップのサイクルおよびワープなどのために使用できることです。

上位レベルのアニメーションの作業

ハイレベルのアニメーションの作業は多くの場合、Animation Mixer およびその基本コンポーネント、ソースとクリップに関連づけられています。 たとえば、クリップ エフェクトを作成する作業です。 以下の表は、さまざまな SDK ツールのリファレンス ページへのリンクであり、以下の作業をこなすのに役立てることができます。

作業のタイプ

使用可能なコマンド

オブジェクトモデル

C++ API

アニメーションのコピーおよびペースト

ApplyDeformKey

ApplyShapeKey

ReplaceShapeKey

SaveDeformKey

SaveShapeKey

SelectShapeKey

StoreShapeKey

ShapeKey

ShapeClip

ActionSource

ShapeKey

ShapeClip

ActionSource

クリップエフェクト

SaveOffsetKeys

CreateOffsetEffect

OffsetValueMap

ResetOffset

SaveOffsetKeys

ClipEffect

ClipEffectItem

MappedItem

ClipEffect

ClipEffectItem

MappedItem

アニメーションのマージ(既存のキーのみをアクションにコピー)

MergeClips

Clip

ActionSource

[F カーブ]

Clip

ActionSource

[F カーブ]

アニメーションのプロットまたはフリーズ(アクション内のフレームごとに1つのキーを作成)

PlotAndApplyAction

PlotConstrainedTransforms

PlotShape

PlotToAction

FreezeAndReplaceClips

FreezeClips

 

 

ラジアンと角度(回転)

回転の作業時に覚えておくべき重要なことは、スクリプト コマンドは回転データを度数で処理しますが、オブジェクト モデルと C++ API はラジアンで処理する、ということです。 これらシステム間の変換をうまく処理するために、SDK には次のような変換関数が用意されています。