私はキャンバス ベースのゲーム エンジンを作成していますが、俯瞰視点を実現する方法について誰かが良い情報を持っているかどうか疑問に思っています。私が探しているのは、従来の鳥瞰図と古い SNES モード 7 ビューの中間のどこかです。わずかな角度で 3D の錯覚を与えます。
遠近法の歪みに対処するための最良の方法は何かを理解しようとしています。私は回転を行っていないので、3D マトリックスの処理は行き過ぎてしまいますが、マップ レイヤーを一貫した角度でレンダリングできるようにする必要があり、角度を調整できると便利です。深度ワープにも対処する必要があります。基本的に、ピクセルの一番下の行は 1:1 ピクセルの幅と高さである必要があり、その場合、行ごとに、たとえば 5% 小さくなります。私が望むのは、大きなキャンバスをテクスチャとして提供し、0 から 90 までのカメラ角度を提供できるようにすることです。ここで、0 は完全に水平で、90 は鳥瞰図です。
関連するチュートリアルやサンプル コードはありますか? 私はオンラインで少し検索しましたが、私が見つけたものはすべて、この特定のアプリケーションでの使用に適していないか、過度に複雑で、あらゆる種類のクレイジーな 3D のゆがみや回転を行っているようです. 私が望むのは、通常のタイル張りのグリッドを少し後ろに傾けることだけです。回転やそのような複雑なものはありません。
これが私が欲しいものの例です。 これが例です。http://img801.imageshack.us/img801/2176/perspectivesample.jpg
一番下のピクセル行は 1:1 のピクセル比で、それより上の各行は水平方向と垂直方向に徐々に短くなります。上部中央領域のソース テクスチャは通常、下部中央領域の高さの約半分ですが、遠近感に合わせて縦横に縮小されています。
私が考えている最善の方法は、現在のビューポートの状態を平面の鳥瞰図で別のキャンバスにレンダリングし、上部と側面に約 50% の余分なスペースを確保し、そこから上向きの三角形の領域をスライスして、それを実際に見えるキャンバス。
唯一の問題は、角度などの計算に関しては数学が苦手なことです。