UDN
Search public documentation:
MotionBlurJP
English Translation
中国翻译
한국어
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
中国翻译
한국어
Interested in the Unreal Engine?
Visit the Unreal Technology site.
Looking for jobs and company info?
Check out the Epic games site.
Questions about support via UDN?
Contact the UDN Staff
UE3 ホーム > ポストプロセス エフェクト > ポストプロセス機能 モーション ブラー
ポストプロセス機能 モーション ブラー
|
| 左 : モーション ブラーが無効 右 : モーション ブラーが有効 (カメラの素早い動きを伴って) |
概要
実装
|
| 前方に進んでいるプレイヤーは、およそ画像のコーナーあたりでモーション ブラーを知覚します。 最高解像度の画像が半分の解像度のモーション ブラー画像とソフトにブレンドされていることが分かります。 |
なお、プレーヤーの視点を回転させると、モーション ブラーが発生します。これは正常な状態ですが、プレーヤーによっては不要に感じることもあります。視点は通常、画像内の特定ポイントに焦点を当ててそれを追います。
このため、視界にはモーション ブラーが発生しないことになります。これをシミュレートするには、視点を適切に追跡するか、あるいは、目の動きをシミュレート(多くの場合は成功しない)する必要があります。対策:モーション ブラーを少なくする。モーション ブラーをマスクして画面の外周エリアのみに効果を反映させる。重要なプレイ場面ではモーション ブラーを制限する。フレーム レートを上げる。
camera motion blur (カメラのモーション ブラー) に関しては、前のビュー マトリクス、現在のビュー マトリクス、およびピクセル深度から、状況に応じて 2D モーション ベクターを計算することができます。 object motion blur (オブジェクトのモーション ブラー) に関しては、すべてのモーション ブラー オブジェクト (小さいオブジェクトやゆっくり移動するオブジェクトは、パフォーマンス上の理由から除外される) のジオメトリを「ベロシティ テクスチャ」と呼ばれるテクスチャにレンダリングすることにより、ピクセル単位でベクターを計算することをお勧めします。このテクスチャのデータは、コンソールの VisualizeTexture コマンドを使用して確認できます。
|
| 左 : ゲームにある回転する羽根です。 右 : 同じシーンを VisualizeTexture コンソールコマンドを使用して表示しています。 |
|
| ベロシティ テクスチャの色は、オブジェクトのモーションを示しています。 黒は、カメラ / オブジェクト モーションなし のために残しています。 青とアルファ チャンネルは、放射ブラー機能に使用できます。 |
|
| モーション ブラー スキニングによって、体の各部を異なる方向に動かすことができます。 |
方向性ブラー
|
| 明るいオブジェクト (HDR コンテンツ) がモーション ブラーのおかげでより明るく表示されています。 |
|
| SoftEdge 機能を使用することによってモーション ブラーが、動いているオブジェクトの外でも表示されるようになります。 |
パラメータの調節
Max Velocity (最大ベロシティ) では、サイズを指定してディスクでの動きを制限できます (画面幅に応じてサイズ調節され、縦サイズに関係なく常に円状になる)。この数値は、適切なサイズの特定の内部定数に対する乗数となっています。1 未満に設定するとベクターがさらに制限され、1 を越えた数値にするとブラーが増加しますが、同じサンプル カウントを維持すると結果に悪影響が出ます (複数の画像)。
Motion Blur Amount (モーション ブラーの量) では、モーション ブラー ベクターを拡大縮小できます。この数値を最初に調節し、Max Velocity (最大ベロシティ) を高い数値に固定することをお勧めします。このように設定しない場合は、スケール (拡大縮小) の変化を確認できません。最終的には、非常に小さい半径に対して、高い数値を設定することになる場合も考えられます。これにより、ごくわずかな動きでもブラーが発生し、モーション ブラーなしの場合より、全体的な効果が悪化する可能性もあります。
Full Motion Blur (完全モーション ブラー) チェックボックスでは、カメラのモーション ブラーを無効にすることができます。その場合も、オブジェクトのモーション ブラーは有効のまま維持されます。
Camera Rotation Threshold (カメラ回転閾値) カメラのモーション ブラーが無効になるまでにカメラが回転できる最大角度を設定します (カメラカットに便利です)。
Camera Translation Threshold (カメラ移動閾値) カメラのモーション ブラーが無効になるまでにカメラが移動できる最大距離を設定します (これもカメラカットに便利です)。
チェーンでの設定は、ポスト プロセス ボリュームによって上書きすることができます。
アクタには、 Motion Blur Scale (モーション ブラー スケール) があります。カメラとともに動くオブジェクト (例: プラットフォーム) 上のモーション ブラーを無効にするには、その値がかつては必要でした。しかし、これはもう必要がなくなりました。モーション ブラーが、このような関連づけられた動きを正しく処理できるようになったからです。新たな実装が実現した場合に、この値は除去されるか非アクティブ化されることになります。
モーション ブラーとのインタラクション
|
| 新たなメソッドを使用した場合、ブルームがよりぼんやりと表示され、動いているオブジェクトのパス上により大きく広がっていることに注目してください。 |
このエフェクトが見えるのは次の場合です。すなわち、オブジェクトが素早い動きをするか、カメラの動きが速い場合で、なおかつ、正しく設定 (大きな最大ベロシティ、大きなモーション ブラー量、ブルーム閾値対オブジェクトの輝度 MotionBlurSoftEdge ) されている場合です。こうすることによって、以前はブルームしていた明るいコンテンツは、より大きく広がります。また、モーション ブラーをもっと目立たなくさせることもできます。
既知の制約と問題
- Matinee で行われるようなカメラカットが、モーション ブラーについて問題を起こします。現在のところ、カメラが大きく回転したり移動したりする時にモーション ブラーが無効にするという方法に頼っています。これらの値の閾値は、両方とも、カスタマイズすることができます。理想的には、Matinee がイベントを発生させることによって、ユーザーエラーの原因を 1 つ減らせれば良いのですが、このような修正が行われても、まだ他に問題は残るでしょう (例: ゲームコード)。一番良いのは、常にカメラを動かし、ジャンプスイッチやカメラスイッチをいろいろと操作することでしょう。これを実装するのはもっと難しいのです。と言うのも、カメラオブジェクトはフレーム毎に (ビュー単位で) 再作成されているからです。
- 最大ベロシティが非常に大きいと、イメージが複数表示されます。(ピクセル単位のランダム化を試みましたが、結果は思わしくありませんでした。パフォーマンスを犠牲にしてサンプルの数を増やすと良い結果を得られるので、われわれは今後このためのオプションを追加する可能性があります。)
- モーションブラーが、低解像度でのシーン入力に基づいており、uber ポストプロセス パスにおいてアップ サンプリングされつつある低解像度のテクスチャにレンダリングされます。これは可視化できます。マスクの調整が有効になることもあります (未公開)。
- より快適な編集のために、エディタの中ではモーション ブラーを無効にしています。このことは、放射ブラーにも影響します。
便利なコンソール コマンド
-
show postprocess - ポストプロセスをすべて同時に有効または無効にします。
-
visualizetexture - 中間バッファを調べます。(例: 低解像度モーション ブラー入力、ベロシティ テクスチャ、モーション ブラー出力)
-
MotionBlurMaxVelocity(モーション ブラー 最大ベロシティ) - ポストプロセスの設定項目をオーバーライドします。(調整およびデバッグのため)
-
MotionBlurAmount(モーション ブラー量) - ポストプロセスの設定項目をオーバーライドします。(調整およびデバッグのため)
-
MotionBlurSoftEdge(モーション ブラー SoftEdge) - MotionBlurSoftEdge を参照してください。
-
MotionBlurSkinning(モーション ブラー スキニング) - モーション ブラーのスキニング を参照してください。
-
set skeletalmeshcomponent bforcerefpose 1 - アニメートされたオブジェクトのためのスキニングを無効にします。
-
slomo 0.1 - ワールドのシミュレーション速度を落とします。(デフォルト値は「1」)
