-1

平行四辺形、長方形、ひし形、正方形など、さまざまな形の部屋をいくつか作成しています。視聴者は、さまざまなコーナーから部屋を見て、頭を左右に回して、部屋の形を推測することになっています。ですから、ここでは「壁の間の角度の認識」が非常に重要です。私の問題は次のとおりです。

1) 鋭角のほとんどは遠くから見ると 90 度のように見えます。

2) 見る人が頭を左右に向けると、壁の間の角度と壁の長さが変化するように見えます。

これまで読んできたように、これは透視投影を使用した結果です。ただし、直交投影を使用すると、画面に奥行きがなくなり (奥行きが認識されなくなり)、部屋の中にいるため、部屋のサイズは切り取られた領域よりも大きくなり、非常にゴミのような画像になります。

この変形効果を回避する、または少なくとも最小限に抑える方法はありますか? 独自のプロジェクション (glortho と glprospective の間のもの) を作成する必要がありますか?

また、カメラとルックアット ポイントの配置に「glutlookatfunction」を使用していることにも言及する価値があります。目の位置は常に部屋の隅の 1 つであり、最初の lookat ポイントは視聴者の反対側の隅です。右矢印キーと左矢印キーを押すと、ほとんどの OpenGL と同様に、lookat ポイントが部屋を取り囲む仮想円上を移動します。今まで見てきた番組.壁の視線を動かした方がいいと思いますか? または、ポイントの外観を変更する代わりに部屋を回転させますか?

問題をよりよく説明するために、いくつかの写真を追加しました。

これは私の平行四辺形の部屋です:

平行四辺形.png

ここでわかるように、60 度であるはずの鋭角は、少なくとも 90 度のようです。これは私の長方形の部屋ですが、長方形の部屋にいるという感覚はまったくありません。

Rectangle.png

4

1 に答える 1

0

問題が実際に発生していることを確認せずに、カメラのFOVが大きすぎると思います。

あなたのコメントから、あなたのカメラは112.5°の水平FOVを持っています。これは、画面の端に「不自然な歪み」をもたらすと私は信じています。単純なOpenGL透視投影は線形であり、FOVが広すぎるという問題があります。

ユーザーの認識を測定したいので、カメラと人間の目を比較したこの記事をご覧ください。

カメラの水平方向のFOVを、おそらく80〜90°の範囲で減らして、効果があるかどうかを確認する必要があります。

最後の手段として、非線形投影に切り替えることもできますが、これに切り替える前に知識に基づいた選択を行う必要があります。役立つ可能性のある精神物理学の研究(このような)が利用可能である必要があります

于 2012-08-18T21:38:52.687 に答える