タグ付けされた質問 「effects」

3
アウトラインオブジェクト効果
リーグオブレジェンドやディアブロIIIに見られるようなアウトライン効果を実現するにはどうすればよいですか? シェーダーを使用して行われますか?どうやって? 私は特定のエンジンに縛られていない答えを好みますが、私が取り組んでいるどんなエンジンにも適応できる答えです。


2
GLSLシェーダー効果:モーションブラーの方法
私は完全な2D環境を持ち、スプライトは風景、キャラクターなどとして回ります。 より最新の外観にするために、カメラをすばやく動かすときの最新のFPSゲーム(Crysis)ブラーに似たモーションブラーエフェクトを実装します。 サイドスクローラーでは、カメラが動いているときに高速で移動するように見えるように、このわずかなぼかしが望ましい効果になります。誰かがこれを行う上でいくつかのヒントをくれるなら、私はピクセルシェーダーであると思います、私は感謝するでしょう。

1
XNAが「焼き付け」効果でクレーターを(GPU経由で)追加する
私は現在、XNAの2Dワームクローンに取り組んでおり、機能の1つは「変形可能な」地形です(たとえば、ロケットが地形に衝突すると、爆発が起こり、地形のチャンクが消えます)。 私が現在これを行っている方法は、中心に近づくにつれて赤の値が徐々に高くなるテクスチャを使用することです。その「変形」テクスチャのすべてのピクセルを循環し、現在のピクセルが地形ピクセルと重なり、十分に高い赤の値を持っている場合は、地形を表すカラー配列を透明に変更します。現在のピクセルの赤の値が十分に高くない場合は、地形の色を黒くします(赤の値がしきい値に近づくほど黒くなります)。この操作の最後に、SetDataを使用して地形テクスチャを更新します。 これは、パイプラインの停止などについて読んだだけでなく、同時に多くのクレーターが追加されている場合にかなり遅延する可能性があるため、これを行うには良い方法ではないことに気づきました。ターゲットになることと変更するテクスチャとの間でレンダーターゲットの「ピンポン」を使用する代わりに、GPUでクレーター生成を作り直したいと思います。それは問題ではありません、私はそれを行う方法を知っています。問題は、この方法で火傷効果を維持する方法がわからないことです。 現在、焼き付け効果は次のようになります。 誰も私が同様の火傷効果を作成する方法を考えていますか(形成されたクレーターの周りのエッジを暗くします)?私はシェーダーに完全に不慣れですが、それが必要な場合は、誰かが私にその方法を説明してくれれば本当に感謝します。他にも素晴らしい方法があれば。
11 xna  textures  effects 

3
シーンの描画方法を変更して、一日のさまざまな時間に行われているように見せるためにはどうすればよいですか?
私のゲームはシーンと昼間の関係があります。朝の光は午後や夜とは異なります。しかし、私はこの違いを生む方法を知りません。 これがポケモンゲームの例です。 ゲームの上に透明度が10〜20%程度のレイヤーを入れて、時間によって色を変えるというアイデアがありますが、どちらの色がいいかわかりません。 このスタイルのゲームである種の昼/夜サイクルを実行する他のメカニズムはありますか?

1
ゲームのシェーダーテクニック/用途の概要/ショーケース
私は、シェーダーがゲームでどのように使用されているか、何ができるか、そしてさらに重要なこととして、何ができないかについて理解を深めるためのリソースを探しています。グラフィックパイプラインのしくみなどすべてを理解しており、GLSLでいくつかの非常に基本的なシェーダーを作成しました(ほとんどが固定機能のパイプライン機能を置き換えるためだけです)が、カスタムシェーダーでのみ可能なことをまだ完全には理解していません、より効率的に実行できることなど。特定の手法の例、特に照明を見つけることができましたが、それらの使用法のより高いレベルの概要を探しています。 概要とは対照的に、特定の興味深い手法へのリンクと説明も高く評価されます(ただし、概要よりは少ないです;))。

2
SpriteBatchで使用されているマトリックスとBasicEffectで使用されているマトリックスを整列させる方法を教えてください。
XNAを使用して、ユーザーが画面にテクスチャを配置できるWindowsツールを作成しています。 テクスチャの描画に使用されるSpriteBatchに「カメラ」を使用しています。例: Matrix matrixForSpriteBatch = Matrix.CreateTranslation( -_cameraPosition.X, -_cameraPosition.Y, 0.0f) * Matrix.CreateRotationZ(_rotation) * Matrix.CreateScale(_scale) * Matrix.CreateTranslation( GraphicsDevice.Viewport.Width / 2, GraphicsDevice.Viewport.Height / 2, 0.0f); これは正常に機能しています。ユーザーはキャンバスにテクスチャをドロップし、移動、回転、サイズ変更できます。また、カメラを動かしてより多くのものを見ることができます。 次に、ユーザーがクリックしてポリゴンのポイントを定義できるようにします。次に、これらのポイントが私のDrawPolygonFilledメソッドに送信されます。 public void DrawPolygonFilled( SpriteBatch spriteBatch, Vector2[ ] worldPoints, Color color ) { Matrix matrixForVertices = Matrix.CreateTranslation( _cameraPosition.X, -_cameraPosition.Y, 0.0f ) * Matrix.CreateRotationZ( -rotation ) * Matrix.CreateScale( …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.