圧縮コーデック は、アニメーション圧縮設定 アセットを用いたアニメーション データの圧縮に使用できる圧縮アルゴリズムとメソッドのことです。Unreal Engine で使用できる ボーン および カーブ圧縮コーデック のリストとその詳細については、下記のドキュメントから参照できます。
ボーン圧縮コーデックのリファレンス
ここでは、Unreal Engine にパッケージ化されている各ボーン圧縮コーデック、その機能と使用可能なプロパティの詳細について説明します。
Anim Compress Bitwise Compress Only (アニメーション圧縮 - ビット単位圧縮のみ)
Anim Compress Bitwise Compress Only コーデックは、ビットごとの圧縮に重点を置き、すべてのアニメーション キーを保持します。
次の表では、Anim Compress Bitwise Compress Only コーデックの各プロパティとそれらの機能について説明します。
| プロパティ |
説明 |
| Compression |
次のプロパティを設定すると、圧縮コーデックが圧縮されたアニメーション データをどのようにフォーマットするかを制御できます。
-
Translation Compression Format:トランスレーション データ のビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Rotation Compression Format:回転 データのビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Scale Compression Format:スケール データのビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Description:このコーデックの説明を設定します。
|
Anim Compress Least Destructive (アニメーション圧縮 - 最も非破壊的)
Anim Compress Least Destructive コーデックは、現在のあらゆるアニメーション圧縮を生データに復元します。
次の表では、Anim Compress Least Destructive コーデックの各プロパティとそれらの機能について説明します。
| プロパティ |
説明 |
| Compression |
次のプロパティを設定すると、圧縮コーデックが圧縮されたアニメーション データをどのようにフォーマットするかを制御できます。
-
Translation Compression Format:トランスレーション データ のビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Rotation Compression Format:回転 データのビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Scale Compression Format:スケール データのビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Description:このコーデックの説明を設定します。
|
Anim Compress Per Track Compression (アニメーション圧縮 - トラック圧縮ごと)
Anim Compress Per Track Compression コーデックは、トラックごとの圧縮に焦点を当てて、各トラックを個別に圧縮します。
次の表では、Anim Compress Per track Compression コーデックの各プロパティとそれらの機能について説明します。
| プロパティ |
説明 |
| PerTrack |
次のプロパティを設定すると、各トラックの圧縮コーデックの動作を制御できます。
- Max Zeroing Threshold:コンポーネントをゼロに置き換えるときに使用する最大しきい値を設定します。値を小さくすればするほどより多くのキーが保持されるようになりますが、圧縮率はより低くなります。
- Max Pos Diff Bitwise:アニメーション キーが削除されるかどうかをテストするときに使用する最大 位置 差を設定します。値を小さくすればするほどより多くのキーが保持されるようになりますが、圧縮率はより低くなります。
- Max Angle Diff Bitwise:アニメーション キーが削除されるかどうかをテストするときに使用する最大 角度 差を設定します。値を小さくすればするほどより多くのキーが保持されるようになりますが、圧縮率はより低くなります。
- Max Scale Diff Bitwise:アニメーション キーが削除されるかどうかをテストするときに使用する最大 スケール 差を設定します。値を小さくすればするほどより多くのキーが保持されるようになりますが、圧縮率はより低くなります。
- Allowed Rotation Formats:トラックごとのコンプレッサが 回転 キーで試行できるエンコード形式を設定します。使用可能なオプションについては、「圧縮フォーマットのレファレンス」を参照してください。
- Allowed Translation Formats:トラックごとのコンプレッサが トランスレーション キーで試行可能なエンコード形式。使用可能なオプションについては、「圧縮フォーマットのレファレンス」を参照してください。
- Allowed Scale Formats:トラックごとのコンプレッサが スケール キーで試行可能なエンコード形式。使用可能なオプションについては、「圧縮フォーマットのレファレンス」を参照してください。
|
| Resampling |
アニメーションデータをリサンプリングする際に次のプロパティを設定すると、各の圧縮コーデックの動作を制御できます。
- Resample Animation:有効にすると、コーデックは Resample Framerate プロパティの値として設定された値を使用してアニメーションのフレームレートをリサンプルします。
- Resampled Framerate:Resampling プロパティが有効な場合、圧縮中にアニメーションをリサンプリングするフレームレートを設定します。
- Min Keys for Resampling:リサンプルを実行するためにアニメーションに必要なキーの 最小 数を設定します。このプロパティよりキーの数が少ないアニメーションはすべて、圧縮時にリサンプリングされません。
|
| AdaptiveError |
次のプロパティを設定すると、圧縮コーデックのエラーしきい値がアニメーション データをどのように設定するかを制御できます。
- Use Adaptive Error:有効にすると、エラーしきい値はスケルトン内の 高さ の値に基づいて調整されます。
- Use Override for End Effectors:有効にすると、Min Effector Diff プロパティの値がエンド エフェクタのしきい値として使用されます。
- Track Height Bias:適応誤差の計算に使用する前にトラックの高さに追加されるバイアスの決定に使用される値を設定します。
- Parenting Divisor:UseAdpative Error プロパティが有効な場合に、キーが発生するツリーのさらに上に行くほどエラー許容度が減少するように値を設定します。使用される式は次のとおりです。
EffectiveErrorTolerance = Max(BaseErrorTolerance / p[ower( parentingDiviosor, Max(Heigh + Bias,0) * ParentingDivisiorExponent), ZeroingThreshold)
- Parenting Exponent:UseAdpative Error プロパティが有効な場合に、キーが発生するツリーのさらに上に行くほどエラー許容度が指数関数的に減少するように値を設定します。使用される式は次のとおりです。
EffectiveErrorTolerance = Max(BaseErrorTolerance / p[ower( parentingDiviosor, Max(Heigh + Bias,0) * ParentingDivisiorExponent), ZeroingThreshold)
|
| AdaptiveError2 |
次のプロパティを設定すると、圧縮コーデックのエラーしきい値がアニメーション データをどのように設定するかをさらに細かく制御できます。
- Use Additive Error 2:有効にすると、適応エラー システムが、トラック内のエラーによりエンド エフェクタに導入されたエラーに基づいて各トラックで許容されるエラーの量を決定します。
- Rotation Error Source Ratio:特定のトラックの回転エラーまたは移動エラーによってエンド エフェクタの 回転 のエラーがどの程度発生するかの比率を決定する値を設定します。
1 の値が使用される場合、その値はすべて回転エラーから発生するものでなければなりません。0.5 の値が使用される場合、エラー率の半分はそれぞれから発生する可能性があります。0.0 の値が使用される場合、その値はすべてトランスレーション エラーから発生するものでなければなりません。
- Translation Error Source Ratio:特定のトラックの回転エラーまたは移動エラーによってエンド エフェクタの トランスレーション エラーがどの程度発生するかの比率を決定する値を設定します。
1 の値が使用される場合、その値はすべてトランスレーション エラーから発生するものでなければなりません。0.5 の値が使用される場合、エラー率の半分はそれぞれから発生する可能性があります。0.0 の値が使用される場合、その値はすべて回転エラー由来のものでなければなりません。
- Scale Error Source Ratio:特定のトラックの回転エラーまたはスケール エラーによってエンド エフェクタのスケール エラーがどの程度発生するかの比率を決定する値を設定します。
1 の値が使用される場合、その値はすべて回転エラーから発生するものでなければなりません。0.5 の値が使用される場合、エラー率の半分はそれぞれから発生する可能性があります。0.0 の値が使用される場合、その値はすべてスケール エラー由来のものでなければなりません。
- Max Error Per Track Ratio:特定のトラックによって総エラー バジェットがどの程度発生するかを決定する分数値を設定します。
|
| LinearKeyRemoval |
次のプロパティを設定すると、圧縮コーデックがアニメーション データからリニア キーを削除する方法を制御できます。
-
Max Pos Diff:アニメーション キーが削除されるかどうかをテストするときに使用する最大 位置 差を設定します。値を小さくすればするほどより多くのキーが保持されるようになりますが、圧縮率はより低くなります。
-
Max Angle Diff:アニメーション キーが削除されるかどうかをテストするときに使用する最大 角度 差を設定します。値を小さくすればするほどより多くのキーが保持されるようになりますが、圧縮率はより低くなります。
-
Max Scale Diff:アニメーション キーが削除されるかどうかをテストするときに使用する最大 スケール 差を設定します。値を小さくすればするほどより多くのキーが保持されるようになりますが、圧縮率はより低くなります。
-
Max Effector Diff:キーの削除のテストを行う際に、エンド エフェクタに至るまでエフェクトを監視します。キーを削除した結果、位置の変更がこの量よりも多くなった場合、キーが保持されます。この値は、エンド エフェクタの親を除くすべてのボーンに使用されます。
-
Min Effector Diff:キーの削除のテストを行う際に、エンド エフェクタに至るまでエフェクトを監視します。キーを削除した結果、位置の変更がこの量よりも少なくなった場合、キーが保持されます。この値は、エンド エフェクタの親を除くすべてのボーンに使用されます。
-
Effector Diff Socket:ソケットが接続されているエンド エフェクタのエラーしきい値を設定します。通常、ソケットを備えたエンド エフェクタはより重要なボーンであることから、圧縮をあまり積極的に行わず、より多くの詳細を残した方が良い場合があります。
-
Parent Key Scale:ボーンの親にも同じ時間位置にキーがある場合に、ボーンがキーを保持する可能性を高める スケール 値を設定します。値を大きくした場合、圧縮を犠牲にして、アニメーションから揺れるアーティファクトを除去できます。
-
Retarget:有効にすると、アニメーションが圧縮される際にノードが調整されて圧縮エラーが補正されます。無効にすると、ノード調整は行われません。
-
Actually Filter Linear Keys:有効にすると、最後のフィルタリング ステップが実行されるか、ビットごとの圧縮後にリターゲットのみが実行されます。このプロパティが有効で Retarget プロパティが無効な場合、リニア コンプレッサは基礎となるビットごとのコンプレッサと同等の性能となり、動作が非常に遅くなります。
|
| Compression |
次のプロパティを設定すると、圧縮コーデックが圧縮されたアニメーション データをどのようにフォーマットするかを制御できます。
-
Translation Compression Format:トランスレーション データ のビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Rotation Compression Format:回転 データのビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Scale Compression Format:スケール データのビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Description:このコーデックの説明を設定します。
|
Anim Compress Removes Every Second Key (アニメーション圧縮 - 2 番目のキーをすべて削除)
アニメーションに含まれる 2 番目のキーをすべて削除します。
次の表では、Anim Compress Removes Every Second Key の各プロパティとそれらの機能について説明します。
| プロパティ |
説明 |
| AnimationCompressionAlgorithm_RemoveEverySecondKey |
次のプロパティを設定すると、圧縮コーデックがキーを削除する方法を制御できます。
- Min Keys:MInKeys 未満のアニメーションではキーが失われません。
- Start at Second Key:有効にすると、コーデックは 2 番目のキーから削除を開始します。たとえば、キー
1、3、5 が削除されます。無効にすると、コーデックは最初のキーから削除を開始します。たとえば、キー 0、2、4 が削除されます。
|
| Compression |
次のプロパティを設定すると、圧縮コーデックが圧縮されたアニメーション データをどのようにフォーマットするかを制御できます。
-
Translation Compression Format:トランスレーション データ のビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Rotation Compression Format:回転 データのビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Scale Compression Format:スケール データのビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Description:このコーデックの説明を設定します。
|
Anim Compress Remove Linear Keys (アニメーション圧縮 - リニア キーを削除)
周囲のキーと変わらないキーをすべて削除します。
次の表では、Anim Compress Remove Linear Keys の各プロパティとそれらの機能について説明します。
| プロパティ |
説明 |
| LinearKeyRemoval |
次のプロパティを設定すると、圧縮コーデックがアニメーション データからリニア キーを削除する方法を制御できます。
-
Max Pos Diff:アニメーション キーが削除されるかどうかをテストするときに使用する最大 位置 差を設定します。値を小さくすればするほどより多くのキーが保持されるようになりますが、圧縮率はより低くなります。
-
Max Angle Diff:アニメーション キーが削除されるかどうかをテストするときに使用する最大 角度 差を設定します。値を小さくすればするほどより多くのキーが保持されるようになりますが、圧縮率はより低くなります。
-
Max Scale Diff:アニメーション キーが削除されるかどうかをテストするときに使用する最大 スケール 差を設定します。値を小さくすればするほどより多くのキーが保持されるようになりますが、圧縮率はより低くなります。
-
Max Effector Diff:キーの削除のテストを行う際に、エンド エフェクタに至るまでエフェクトを監視します。キーを削除した結果、位置の変更がこの量よりも多くなった場合、キーが保持されます。この値は、エンド エフェクタの親を除くすべてのボーンに使用されます。
-
Min Effector Diff:キーの削除のテストを行う際に、エンド エフェクタに至るまでエフェクトを監視します。キーを削除した結果、位置の変更がこの量よりも少なくなった場合、キーが保持されます。この値は、エンド エフェクタの親を除くすべてのボーンに使用されます。
-
Effector Diff Socket:ソケットが接続されているエンド エフェクタのエラーしきい値を設定します。通常、ソケットを備えたエンド エフェクタはより重要なボーンであることから、圧縮をあまり積極的に行わず、より多くの詳細を残した方が良い場合があります。
-
Parent Key Scale:ボーンの親にも同じ時間位置にキーがある場合に、ボーンがキーを保持する可能性を高める スケール 値を設定します。値を大きくした場合、圧縮を犠牲にして、アニメーションから揺れるアーティファクトを除去できます。
-
Retarget:有効にすると、アニメーションが圧縮される際にノードが調整されて圧縮エラーが補正されます。無効にすると、ノード調整は行われません。
-
Actually Filter Linear Keys:有効にすると、最後のフィルタリング ステップが実行されるか、ビットごとの圧縮後にリターゲットのみが実行されます。このプロパティが有効で Retarget プロパティが無効な場合、リニア コンプレッサは基礎となるビットごとのコンプレッサと同等の性能となり、動作が非常に遅くなります。
|
| Compression |
次のプロパティを設定すると、圧縮コーデックが圧縮されたアニメーション データをどのようにフォーマットするかを制御できます。
-
Translation Compression Format:トランスレーション データ のビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Rotation Compression Format:回転 データのビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Scale Compression Format:スケール データのビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Description:このコーデックの説明を設定します。
|
Anim Compress Remove Trivial Keys (アニメーション圧縮 - 重要でないキーを削除)
アセットの位置と向きが周囲のキーと変わらないキーをすべて削除します。
次の表では、Anim Compress Remove Trivial Keys の各プロパティとそれらの機能について説明します。
| プロパティ |
説明 |
| AniamtionCompressionAlgorithm_RemoveTrivialKeys |
次のプロパティを設定すると、圧縮コーデックがアニメーション データから単純なキーを削除する方法を制御できます。
- Max Pos Diff:アニメーション キーが削除されるかどうかをテストするときに使用する最大 位置 差を設定します。値を小さくすればするほどより多くのキーが保持されるようになりますが、圧縮率はより低くなります。
- Max Angle Diff:アニメーション キーが削除されるかどうかをテストするときに使用する最大 角度 差を設定します。値を小さくすればするほどより多くのキーが保持されるようになりますが、圧縮率はより低くなります。
- Max Scale Diff:アニメーション キーが削除されるかどうかをテストするときに使用する最大 スケール 差を設定します。値を小さくすればするほどより多くのキーが保持されるようになりますが、圧縮率はより低くなります。
|
| Compression |
次のプロパティを設定すると、圧縮コーデックが圧縮されたアニメーション データをどのようにフォーマットするかを制御できます。
-
Translation Compression Format:トランスレーション データ のビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Rotation Compression Format:回転 データのビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Scale Compression Format:スケール データのビット単位の圧縮形式を設定します。詳細については、「圧縮フォーマットのレファレンス」を参照してください。
-
Description:このコーデックの説明を設定します。
|
ビットごとの圧縮形式のリファレンス
次の表では、利用可能なビットごとの圧縮データ形式とそれらの機能について説明します。
| 形式 |
説明 |
| ACF None |
このフォルマントは 32 個の浮動小数値 をすべて保持し、圧縮は行いません。この形式は基本的に Raw のアニメーション データを保持します。 |
| ACF Float 96No W |
この形式は、回転クォータニオン X、Y、Z の回転データのみを float32 として圧縮し、W コンポーネントは圧縮解除中にドロップされて再構築されます。この形式は、精度の損失を最小限に抑えながら、Raw に近いアニメーション データを保持します。 |
| ACF Fixed 48No W |
この形式は、回転クォータニオンの X、Y、Z 回転データのみを圧縮し、量子化データとしてそれぞれ 16 ビット に格納されます。クォータニオンの (W) コンポーネントも削除されます。 |
| ACF Interval Fixed 32 No W |
この形式は、圧縮された値をコンポーネントごとに 11-11-10 ビットで格納し、範囲を縮小します。回転の場合、クォータニオンの (W) コンポーネントは削除されます。 |
| ACF Fixed 32No W |
この形式は、圧縮された値をコンポーネントごとに 11-11-10 ビットで格納されます。回転の場合、クォータニオンの (W) コンポーネントは削除されます。 |
| ACF Float 32No W |
この形式は、仮数に 6 または 7 ビット、指数に 3 ビットを使用するカスタム浮動小数点形式を使用して、圧縮された値を格納します。回転の場合、クォータニオンの (W) コンポーネントは削除されます。 |
| ACF Identity |
この形式は常にクォータニオン (W) を回転トラックに返します。 |
カーブ圧縮コーデックのリファレンス
ここでは、Unreal Engine にパッケージ化されている各カーブ圧縮コーデック、その機能と使用可能なプロパティの詳細について説明します。
Compressed Rich Curves (圧縮されたリッチ カーブ)
このコーデックは、アニメーション シーケンスを圧縮する際に、リッチなアニメーション カーブを圧縮します。次の表では、Compress Rich Curve コーデックの各プロパティとそれらの機能について説明します。
| プロパティ |
説明 |
| Max Curve Error |
リッチなアニメーション カーブを圧縮するときに許容される最大エラーを設定します。 |
| Use Anim Sequence Sample Rate |
有効にすると、アニメーションがアニメーション シーケンスのサンプルレートを使用して圧縮されます。無効にすると、アニメーションは Error Sample Rate プロパティの値を使用してサンプリングされます。 |
| Error Sample Rate |
Use Anim Sequence Sample Rate プロパティが無効な場合、圧縮時にアニメーションのサンプルレートに使用される値を設定します。 |
このコーデックは、アニメーション シーケンスを圧縮するときにアニメーション カーブに均一に インデックス を付けます。
このコーデックは、アニメーション シーケンスを圧縮するときにアニメーション カーブに均一に サンプル を付けます。次の表では、Uniformly Sampled コーデックの各プロパティとそれらの機能について説明します。
| プロパティ |
説明 |
| Use Anim Sequence Sample Rate |
有効にすると、アニメーションがアニメーション シーケンスのサンプルレートを使用して圧縮されます。無効にすると、アニメーションは Error Sample Rate プロパティの値を使用してサンプリングされます。 |
| Error Sample Rate |
Use Anim Sequence Sample Rate プロパティが無効な場合、圧縮時にアニメーションのサンプルレートに使用される値を設定します。 |