ページ 11

テクスチャが歪む、モーションブラー等のエフェクトについて

Posted: 2015年2月10日(火) 21:06
by ナギサ
SFチックなFPS等のゲームであるダメージを受けると画面全体にノイズが走り、UIが歪むようなエフェクトや、
モーションブラー等の画面全体に走るエフェクトはどういう流れで実装しているのでしょうか?

以前こちらで
http://dixq.net/forum/viewtopic.php?f=3&t=16322
DirectX9のテクスチャの設定等質問したぐらいの知識です。

DirectX9で似たようなエフェクトを再現するにはどういう手順になるのかなと考えた次第です。


例えばノイズを画面にかけたい場合は、どのような処理をすればいいのでしょうか?
※ノイズというのは添付画像のように上からyピクセル目の列はxピクセル横にずらすみたいな感じです

書き込んだ頂点に対する操作があるのか、実はノイズをかける要素の頂点を増やして歪ませてから書き込むのか、
モーションブラー等の3D上の物体をジオメトリパイプラインを通って画面上のピクセルに変換したものに対する2Dのエフェクトが存在することを考えると
書き込んだ後に操作するのだと思うのですが、どうなんでしょうか。


ひと通り頂点を書き込んだ後に、DirectXのデバイスクラスに対してエフェクトをかける操作を実行するととても楽そうですが、
普通に描画したいテクスチャの後にエフェクトをかけたいテクスチャがあったりすると破綻しそうですあ

画像

Re: テクスチャが歪む、モーションブラー等のエフェクトについて

Posted: 2015年2月11日(水) 20:30
by softya(ソフト屋)
古典的には、レンダリングを2回に分けて1回目のレンダリングデータをスライス拡縮やらポリゴンに貼り付けで描画すれば歪とか表現はできますが、現代的にはシェーダを使うのが一般的だと思います。

Re: テクスチャが歪む、モーションブラー等のエフェクトについて

Posted: 2015年2月11日(水) 23:45
by ナギサ
率直に申し上げますと、ライティングや歪みといった、あるピクセルがあるテクスチャのテクスチャ情報を取得できなかったのにも関わらず影響を及ぼすのが
頂点シェーダなどの頂点情報に対する操作から想像出来ません。

その頂点が作る三角形に対しては、例えば光があたって白っぽくできるとかはわかるのですが、
頂点が作る三角形以外の周囲にぼやっとしたエフェクトを出すとか、あのDirectX9のデバイスクラスの仕様から見当もつきません

Re: テクスチャが歪む、モーションブラー等のエフェクトについて

Posted: 2015年2月11日(水) 23:55
by softya(ソフト屋)
ピクセルシェーダは、ポリゴン面だけを相手にするシェーダじゃないですよ。
http://maverickproj.web.fc2.com/pg57.html
レンダリングバッファをターゲットに出来ます。

Re: テクスチャが歪む、モーションブラー等のエフェクトについて

Posted: 2015年2月12日(木) 20:28
by ナギサ
なるほど、参考にしてみます、ありがとうございました