厳密に2Dゲームには法線が必要ですか?


8

純粋な2Dゲームを作成することでOpenGLを学び始めています。

頂点のフォーマットを決定する必要があります。通常のコンポーネントが必要ですか?それとも、2Dコンポーネントでは不要ですか?

私の直感は、すべてが平らなので必要ないだろうと言っています。しかし、おそらく私はいくつかのシェーダーや私がまだ見ないもののためにそれを必要としています。

opengl  2d  normals 

回答:


9

1ない必要性の 2Dゲームのための法線は?いいえ。照明を気にする必要がない場合は、3Dゲームの法線も必要ありません。ただし、法線と照明は2Dゲームに非常に当てはまります。あなたはそれを別の方法で進めます。頂点と位置合わせする3D法線ベクトルを明示的に定義する代わりに、2Dグラフィックと並ぶ法線マップを定義できます。これにより、2Dゲームでも信じられないほど素晴らしい照明を利用できます。


4

厳密に言えば、ライティングをオフにすると、通常のコンポーネントは無視されます。使用している言語/ツールキットで独自のシェーダーを作成できる場合は、それらが使用されていないことを確認できます。


ライティングをオフにしても、頂点で色を使用できますか?

glEnableClientState(GL_COLOR_ARRAY)を有効にしている限り、そうすることができるはずです(GL_NORMAL_ARRAYを無効にすることを忘れないでください)
Luther

1

ライティングシミュレーションを行わない限り、法線は必要ありません。これらは、照明シェーダーを作成する実際の難しさに比べて、必要になったときに追加するのはかなり簡単です。


1

3Dスペースで三角形を描画し、側面からすべてを表示して2Dに見えるようにする場合(これを行う必要があります)、上にライトを描画できるようにするには法線が必要です。あなたのクワッド。

何も点灯しない場合は、法線は必要ありません。

あなたがこの質問をしているので、私の推奨は、あなたの計画が後であるかどうかに関係なく、今のところ法線を省略することです。後で必要になったときに追加するのは難しくありません。


0

2Dゲームで法線が必要かどうかはあなただけが知っています。それらは理にかなっているかもしれません-たとえば、DOOMは、2Dゲームでしたが、正常でした(はい、はい、かなり3Dに見えましたが、厳密には2Dゲームでした)。

2Dゲームで法線を使用する理由の1つは、特定のシェイプの内側か外側かを確認できることです。また、壁の衝突反応(オブジェクトを壁から押し出す方向を知っている)を加速することもあります。

OpenGLまたは使用するレンダリングパッケージに法線を与える必要はありません(他の誰もが指摘している照明のように)何も必要がない場合は使用しません。


-1

どんなゲームですか?トップダウンの視点を持っている場合は、法線がキャラクターの移動移動に便利です(ご存知のとおり、キャラクターが向いている法線に沿って位置を移動します)。

法線は、さまざまなステアリング動作にも役立ちます。しかし、リンクは1000以上の単語を言っています:http : //www.red3d.com/cwr/steer


OPが頂点の法線について具体的に尋ねていることを確認してください。速度ベクトルとそのようなことについて話していません。
テトラッド

OPが
頂点の
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.