0

実際のシーン内に特定のコードを含める必要なく、トランジションの一般的な概念を考え出そうとしています。これまでに見たすべてのサンプルでは、​​シーン自体がそれらを処理します。シーンが正しい透明度のために描画方法を調整する必要があるフェードイン/アウトのように。しかし、これはすべてのシーンで煩わしいだけでなく、複数の種類のトランジションを使用すると、コードが非常に速く乱雑になります。

だから私は考えてきました。これをサポートし、より複雑なトランジションをシーン自体で処理せずにサポートする唯一の方法は、各シーンのレンダー ターゲットです。レンダー ターゲットは、draw メソッドを呼び出す前にシーン マネージャーから設定されます。描画後、レンダー ターゲットはマネージャーのレンダー ターゲットにリセットされ、シーンのテクスチャは現在のトランジションに関する情報と共に描画されます。マネージャー テクスチャをクリアしないと、さらに多くのシーンを描画する必要がある場合、さらに多くのシーンが続きます。このようにして、ほとんど何でも (トランジションに関して) 行うことができ、シーンは互いに完全に独立しており、実際のシーンでトランジション コードを 1 行も必要としません。(参考までに、いろいろなトランジションができるようにしてほしいです。フェードだけでなく、シェーダーエフェクト、

まあ、それは私の理論です。これが私の質問です。これは実行可能な計画のように聞こえますか? これは行く方法ですか?レンダリング ターゲットを頻繁に切り替えた場合のパフォーマンスの問題やその他の問題について読んだことがあります。これが、これを実装することを躊躇している主な理由です。しかし、これまでのところ、より良い方法を考えたり見つけたりすることはできませんでした。違いはないと思いますが、とりあえず2Dだけ気になります(念のため)。

4

1 に答える 1

0

これは、一般的に健全なアプローチですが、レンダー ターゲットの切り替えコストに注意してください。また、遷移時に各シーンをアニメーション化する場合は、2 つのシーンを同時に 2 つの異なるレンダー ターゲットにレンダリングし、画面上で結果を合成します。

于 2012-07-06T14:24:28.467 に答える