0

わかりました、openGL ES 2.0 でゲームを作りたいのですが、コントロールに問題があります。今までは、ゲームの他のスプライトと同じようにコントロールを作成し、描画するだけで、カメラが更新された場合、カメラで「移動」するようにコントロールが更新されます。

これを行うより効率的な方法はありますか?これが私がやりたいことの例です:

※ゲーム画面

ゲーム画面(OpenGL ES 2.0)

*コントロール

ゲームコントロール

そして、ゲーム画面の上にコントロールを配置して、カメラが動いても動かないようにします。出来ますか?多分xmlを混ぜますか?もしそうなら、どのように?ありがとう!

4

2 に答える 2

1

毎フレーム同じ場所に同じものを描くと無駄な作業に思えますが、その反面、画面のすべてのピクセルがフレームごとに再描画される可能性があります。ほとんどのゲームは、この余分な作業を避けるために長い時間を費やすことはありません。代わりに、次のような目に見えないピクセルをできるだけ描画しないようにして、パフォーマンスを向上させることをお勧めします。

  • UI の周りのジオメトリをシュリンクラップして、アルファ 0 のピクセルをできるだけ少なく描画します。これには、より多くの三角形を描く必要があるかもしれませんが、私の経験では、トレードオフはそれだけの価値があります。

  • 深度テストを機能させます。UI が完全に不透明な場合は、まず UI を描画してから、シーンの残りの部分を背景に描画して、UI によって遮られた場合にピクセルが描画されないようにするだけです。UI が部分的にしか不透明でない場合は、不透明な三角形と半透明の三角形に分割し、最後に別の呼び出しで半透明のものを描画して、不透明なもので深度テストを使用できるようにすることができます。

于 2015-01-05T20:15:41.553 に答える