小惑星をいくつか通過して宇宙船をナビゲートする3D小惑星ゲームを作成しています。小惑星をクリックすると、小惑星を破壊します。小惑星が破壊される前に、ターゲットがロックされたSF映画で見られるようなハッドを追加します。小惑星を選択し、小惑星をアニメートし、小惑星を破壊します。これを達成するための最良のアプローチは何ですか?いくつかの平面を作成して、必要な場合にのみ表示する必要がありますか、それとも、テキストを作成してメインウィンドウにテキストをレンダリングするための新しい投影を設定する場合のような別のアプローチがありますか。
1 に答える
6
うわー、うわー、あなたはここで一度にいくつかの問題に取り組んでいます。
まず、小惑星の画面上の位置(およびおそらく境界)を決定する必要があります。これを行うには、小惑星の重心位置にある頂点変換パイプラインを模倣します。通常の方法は
p_clip = Projection · (Modelview · p)
p_ndc = p_ndc / p_ndc.w
HUDオーバーレイを描画するには、新しい誤解を避ける必要があります。通常の悪いチュートリアルの1つに従った場合は、ウィンドウの形状変更関数に投影行列の設定があります。それはそれが属する場所ではありません。
ビューポートとプロジェクションのセットアップ全体を描画機能に組み込むと、状況が明らかになります。ビューポートとプロジェクションは、必要に応じて何度でも設定およびリセットできます。したがって、最初に通常の投影とビューポートの設定を使用してシーンを描画します。次に、デプスバッファをクリアし、オーバーレイのレンダリングに適したプロジェクションに切り替えます。
于 2012-12-22T19:50:08.100 に答える