平行四辺形、長方形、ひし形、正方形など、さまざまな形の部屋をいくつか作成しています。視聴者は、さまざまなコーナーから部屋を見て、頭を左右に回して、部屋の形を推測することになっています。ですから、ここでは「壁の間の角度の認識」が非常に重要です。私の問題は次のとおりです。
1) 鋭角のほとんどは遠くから見ると 90 度のように見えます。
2) 見る人が頭を左右に向けると、壁の間の角度と壁の長さが変化するように見えます。
これまで読んできたように、これは透視投影を使用した結果です。ただし、直交投影を使用すると、画面に奥行きがなくなり (奥行きが認識されなくなり)、部屋の中にいるため、部屋のサイズは切り取られた領域よりも大きくなり、非常にゴミのような画像になります。
この変形効果を回避する、または少なくとも最小限に抑える方法はありますか? 独自のプロジェクション (glortho と glprospective の間のもの) を作成する必要がありますか?
また、カメラとルックアット ポイントの配置に「glutlookatfunction」を使用していることにも言及する価値があります。目の位置は常に部屋の隅の 1 つであり、最初の lookat ポイントは視聴者の反対側の隅です。右矢印キーと左矢印キーを押すと、ほとんどの OpenGL と同様に、lookat ポイントが部屋を取り囲む仮想円上を移動します。今まで見てきた番組.壁の視線を動かした方がいいと思いますか? または、ポイントの外観を変更する代わりに部屋を回転させますか?
問題をよりよく説明するために、いくつかの写真を追加しました。
これは私の平行四辺形の部屋です:
ここでわかるように、60 度であるはずの鋭角は、少なくとも 90 度のようです。これは私の長方形の部屋ですが、長方形の部屋にいるという感覚はまったくありません。