Point_Cache : モディファイヤ

Point_Cache - superclass: modifier; super-superclass:MAXWrapper - 7:0 - classID: #(655302627, 61950361)

3ds Max 9 では、PointCache モディファイヤは、これまでフリーのプラグインとして提供されていた PointCache2 バージョンのモディファイヤに置き換えられました。このモディファイヤのキャッシュ形式も、Autodesk Maya の新しい PointCache と互換になるように変更されており、この 2 つのアプリケーション間でアニメーションを容易に転送できます。

旧バージョンの 3ds Max 用の開発を行っているユーザ向けに、3ds Max 9 より前のバージョンで使用されていた古い PointCache モディファイヤのドキュメントを、このページの末尾に記載しています。

コンストラクタ:

Point_Cache...     
PointCache...   

プロパティ

<Point_Cache>.fileName String default: "" -- filename

キャッシュ ファイル名を取得/設定します。

記録

<Point_Cache>.fileCount Integer default: 0 -- integer; File_Count

ファイル カウント ラジオ ボタンの状態を取得/設定します。

有効な値は次のとおりです。

0 - 1 ファイル

1 - フレームごとに 1 つのファイル

3ds Max 2008 以降 で使用可能です。

<Point_Cache>.recordStart Float default: 0.0 -- float; Record_Start

キャッシュ レコードの開始時間をフレーム数で取得/設定します。

<Point_Cache>.recordEnd Float default: 100.0 -- float; Record_End

キャッシュ レコードの終了時間をフレーム数で取得/設定します。

<Point_Cache>.sampleRate Float default: 1.0 -- float; Sample_Rate

キャッシュ サンプル レートをフレームごとのサンプル数で取得/設定します。

荷重タイプ

<Point_Cache>.loadType Integer default: 0 -- integer; Load_Type

ローカル ワークステーションでポイント キャッシュを使用するときの、ロード タイプ モードを取得/設定します。有効な値は次のとおりです。

0 - [ストリーム] - 高速にアクセスできるようにキャッシュ ファイルを開いたままにしますが、メモリを節約するため一度に 1 フレームだけをロードします。

1 - [各サンプル] - キャッシュ ファイルを開いて 1 つのフレームを読み込んだ後、すぐにファイルを閉じます。 ストリーム ロード タイプより遅くなりますが、キャッシュ ファイルからの読み取り中にファイルが開いたままロックされないため、同じキャッシュ ファイルのセットに対して多数のユーザが読み取り/書き込みを行う場合に便利です。

2 - 事前ロード - キャッシュ ファイル全体を RAM にロードして非常にすばやいアクセスを実現し、最後にファイルをクローズします。 特にネットワーク環境や、1 つのシーン内にある多数のオブジェクトが少数のキャッシュを使用している場合 (このケースでは、このモードをオンにすることで各オブジェクトが再生時にその都度ディスクを読み込むのを防ぐことができます) に使用します。このモードでは、RAM が急速に消費されてしまうため、十分に注意して使用する必要があります (ただし、複数のオブジェクトが 1 つのキャッシュ ファイルを使用する場合、キャッシュは RAM に一度だけロードされます)。詳細は、pointCacheMan.GetUsedMemory() メソッドを参照してください。

<Point_Cache>.loadTypeNetwork Integer default: 1 -- integer

ネットワーク ノードでポイント キャッシュを使用している場合のロード タイプ モードを取得/設定します。有効な値は次のとおりです。

1 - [各サンプル]

2 - [事前ロード]

注:

3ds Max 2022 より前のバージョンでは、このプロパティは loadTypeSlave と呼ばれていました。

再生オプション(Playback Options)

<Point_Cache>.strength Float default: 1.0 -- animatable; float

キャッシュの強度を取得/設定します。既定値は 1.0 です。値が低いほど、キャッシュ ファイルに保存されている頂点位置よりもメッシュへの影響の方が軽くなります。値が高いほど、アニメーションが誇張されます。

<Point_Cache>.relativeOffset BooleanClass default: false -- boolean; Relative_Offset

[相対オフセット]オプションの状態を取得/設定します。

true の場合、キャッシュの最初のフレームとの違いによって、現在のオブジェクトが変形されます。キャッシュを記録する場合に、このオプションを true に設定し、キャッシュの下に別のモディファイヤを追加してメッシュを変形すると、記録された変形は新しい変形の上に追加されます。同様に、記録されていた元のモディファイヤがまだ有効である場合は、オブジェクトには二重の変形が適用されます。

false の場合は、キャッシュ ファイル内のポイントの位置は、キャッシュの以下の追加的な変形をすべて上書きし、明示的に現在のオブジェクトのポイント位置を設定します。

<Point_Cache>.applyToWholeObject BooleanClass default: true -- boolean; Apply_To_Whole_Object

[全オブジェクトに適用]オプションの状態を取得/設定します。

再生タイプ

<Point_Cache>.playbackType Integer default: 0 -- integer; Playback_Type

再生のタイプを取得/設定します。有効な値は次のとおりです。

0 - [オリジナル範囲] - 常に最初に記録された範囲でキャッシュを再生します (このため、アニメーションは必Fず元と同じになります)。

1 - [カスタム開始] - キャッシュをカスタムの開始時間から再生します。ただし、アニメーションの長さ/再生速度は元のアニメーションと同じです)。

2 - カスタム範囲 - 現在のキャッシュの再生範囲となる開始フレームおよび終了フレームを設定できます。 元の記録範囲よりも小さい範囲を使用すると、キャッシュは高速で再生され、大きい範囲を使用するとキャッシュはゆっくり再生されます。

3 - [記録形状を再生] - 特定の時間にどのキャッシュ フレームを再生するかをアニメートできます。 たとえば、キャッシュをフレーム 0 から 100 まで記録する場合、フレーム 0 でこのパラメータを 0 に設定し、フレーム 100 で100 になるようアニメートします。トラックビューに表示されるこのパラメータの関数曲線を見ると、キャッシュがどのように再生されているかがわかります。これをアニメートすることにより、キャッシュの速度を少しずつ落としていく、キャッシュをピンポン再生するなど、さまざまな効果を得ることができます。

<Point_Cache>.playbackStart Float default: 0.0 -- float; Playback_Start

[開始フレーム]の値を取得/設定します。

<Point_Cache>.playbackEnd Float default: 100.0 -- float; Playback_End

[終了フレーム]の値を取得/設定します。

<Point_Cache>.playbackFrame Float default: 0.0 -- animatable; float; Playback_Frame

[フレーム]を取得/設定します。記録形状を再生モードの場合は、この値にキーフレームを指定して再生を制御することができます。

<Point_Cache>.clampGraph BooleanClass default: false -- boolean; Clamp_Graph

[記録形状をクランプ]オプションの状態を取得/設定します。再生グラフのフレームが元の記録範囲の外部にある場合は、ロードの対象物を制御します。

たとえば、再生フレームが 105 に設定されていて、元のキャッシュは 0 から 100 までしか記録されていなかったとします。clampGraph が true に設定されている場合は、ロードされるフレームは 100 です。に設定されている場合は、キャッシュを「循環」してフレーム 5 がロードされます。このように、キャッシュをより簡単にループすることができます。先ほどの例では、2 つのキーを使用した再生グラフを 1 つ作成するだけで済みます。キー 1 はフレーム 0 に設定して値は 0、キー 2 はフレーム 100 に設定して値は 100 にします。そしてこのグラフの範囲外のタイプを「線形補外」に設定するだけで、キャッシュはフレーム 101 で先頭にループバックします。

次のプロパティは UI に公開されておらず、完全にはサポートされていません。

<Point_Cache>.applyMeshToSpline BooleanClass default: false -- boolean; Apply_To_Spline

このオプションは、UI には公開されません。使用しないでください。

<Point_Cache>.forceUncPath BooleanClass default: true -- boolean; Force_UNC_Path

キャッシュ パスを UNC パスに強制するかどうかを取得/設定します。このオプションは、UI には公開されません。

<Point_Cache>.interpolationType Integer default: 0 -- integer; Interpolation_Type

このオプションは、UI には公開されません。使用しないでください。

<Point_Cache>.playbackORTafter Integer default: 0 -- integer; Playback_Out_Of_Range_After

このオプションは、UI には公開されません。

<Point_Cache>.playbackORTbefore Integer default: 0 -- integer; Playback_Out_Of_Range_Before

このオプションは、UI には公開されません。

<Point_Cache>.preLoadCache BooleanClass default: false -- boolean; PreLoad_Cache

シーンをロードするときにキャッシュを事前にロードするかどうかを取得/設定します。このオプションは、UI には公開されません。

PointCacheMan 構造体

pointCacheMan.GetMemoryUsed()

シーン内でポイント キャッシュによって使用されているメモリを返します。

cacheOps 構造体

cacheOps.DisableBelow <PointCacheModifier>

ポイント キャッシュ モディファイヤ以下のすべてのモディファイヤを無効にします。

cacheOps.EnableBelow <PointCacheModifier>

ポイント キャッシュ モディファイヤ以下のすべてのモディファイヤを有効にします。

cacheOps.RecordCache <PointCacheModifier>

渡されたポイント キャッシュ モディファイヤのキャッシュ データをディスクに記録します。

cacheOps.Reload <PointCacheModifier>

渡されたポイント キャッシュ モディファイヤのキャッシュ データをディスクから再ロードします。

cacheOps.Unload <PointCacheModifier>

渡されたポイント キャッシュ モディファイヤのキャッシュ データをメモリからアンロードします。

3ds Max 9 以前の古い定義

Point_Cache : モディファイヤ

Point_Cache - superclass: modifier; super-superclass:MAXWrapper - 7:0 - classID: #(567311073, 1221790700)

ポイント キャッシュ モディファイヤは、簡単なポイント キャッシュ システムです。モディファイヤ アニメーションについて、頂点位置の変更だけをディスク ファイルが保存されます。アニメーションを再生するときは、モディファイヤ キーフレームの代わりに、そのディスク ファイルの情報が使われます。ポイント キャッシュ モディファイヤでは、時間を追ってオブジェクトのポイントがキャッシュされ、再生時にそれらがディスクから読み込まれます。大きく複雑なスタックを加速するときや、フレックスなどのモディファイヤを変換するときに、ポイント キャッシュ モディファイヤを使います。

このモディファイヤでは、メモリを利用して高速化を図ります。3 つのポイントをキャッシュに保存し、ディスクからの読み込みを高速化します。このモディファイヤをインスタンス化する場合、インスタンスには同じ数のポイントが必要です。ポイント数が異なる場合は、同じ結果が生成されません。この場合も、ポイント位置だけが記録され、マッピングやトポロジーの変更などは保存されません。また、アニメートされたトポロジーの変更にも対応できません。

コンストラクタ

Point_Cache... PointCache...

プロパティ

<Point_Cache>.time Float default: 0.0 -- float
<Point_Cache>.start_time Float default: 0.0 -- float

キャッシュされたアニメーションが再生を終了するフレーム番号。小数を指定すると、[フレーム : ティック]時間表示を使ったときに、サブフレーム設定で開始されます。既定値は 0.0 です。

頂点アニメーションを記録する最初のフレームを設定します。

<Point_Cache>.end_time Float default: 100.0 -- float

頂点アニメーションを記録する最後のフレームを設定します。

<Point_Cache>.samples Integer default: 1 -- integer
<Point_Cache>.cache_file Filename default: undefined -- string

ディスクのキャッシュ ファイルに格納されている頂点アニメーションを、ポイント キャッシュ モディファイヤにロードします。キャッシュ ファイルの頂点数がオブジェクトの頂点数と一致しない場合、警告が表示されます。ただし、エラーは発生しません。

<Point_Cache>.relativeOffset Boolean default: false -- boolean; Relative_Offset

[強度]設定を有効にします。アニメートされる頂点位置を、記録された位置への相対位置にオフセットします。既定値はオフです。

注:

: [相対オフセットを使用]とモディファイヤをオンにしてキャッシュ アニメーションを再生すると、キャッシュされる頂点位置は、モディファイヤによって計算された位置への相対位置となります。たとえば、キャッシュ ファイルにベンド アニメーションを記録し、[相対オフセットを使用]とベンド モディファイヤをオンにし、長さを 1.0 にして再生すると、頂点位置がすべて 2 倍になり、モーションが強調されます。

<Point_Cache>.strength Float default: 1.0 -- animatable; float

元のアニメーションに関連付けられたモーションに影響します。[相対オフセットを使用]がオンの場合のみ有効です。既定値は 1.0 です。範囲は -10.0 ~ 10.0 です。

1.0 を設定すると、アニメーションは記録された状態のまま再生されます。強度に 0 ~ 1 の値を設定すると、アニメーションが相対的に抑制されます。強度を 1 より大きくすると、アニメーションが強調されます。[強度]に負の値を設定すると、モーションは反転します。

ポイント キャッシュ インタフェース:

Interface:pointCache

メソッド

<void>record()

頂点アニメーションがディスク ファイルに保存されます。

[記録]を呼び出して[ポイントを保存]ダイアログ ボックスをアクティブにし、キャッシュ ファイルのパスと名前を指定します。

[OK]をクリックして、ファイルを記録します。次に、ポイント キャッシュ モディファイヤにファイルをロードすると、再生の準備が完了します。

<void>setCache()

ディスクのキャッシュ ファイルに格納されている頂点アニメーションを、ポイント キャッシュ モディファイヤにロードします。キャッシュ ファイルの頂点数がオブジェクトの頂点数と一致しない場合、警告が表示されます。ただし、エラーは発生しません。

<void>enableMods()

[ポイント キャッシュ](Point Cache)モディファイヤの下にあるすべてのスタック モディファイヤをオンにします。モディファイヤの設定を変更するときに、オンにします。

<void>disableMods()

[ポイント キャッシュ](Point Cache)の下にあるすべてのオブジェクトのスタック モディファイヤがオフになります。アニメーションを再生すると、キャッシュされた頂点アニメーションだけが表示されます。

ポイント キャッシュの WSM コンポーネント

Point_CacheSpaceWarpModifier

注:

WSM バージョンは、ローカル スペースのモディファイヤのバージョンと同じです。ただし、ポイントがワールド スペースに記録され、スタックの上位に表示されます。