3D座標→2D画面座標変換

カメラから見た3D座標(右・上・前)を、透視投影で画面上のピクセル座標に変換します。

°
px
px

画面X(左端が0)—

画面Y(上端が0)—

画面内かどうか—
焦点距離(ピクセル単位)—

計算式

使い方のヒント

座標はカメラを原点とし、X=右、Y=上、Z=前方としています。ワールド座標から変換する場合は、先にカメラの位置・向きでカメラ座標に直してください。ゲームエンジンによって軸の向きが異なります。

計算例

初期値(点の座標 X 2、点の座標 Y 1、点の座標 Z 10、垂直FOV 60 °、画面の幅 1,920 px、画面の高さ 1,080 px)のままで計算すると、画面X(左端が0)は 1,147.06 px、画面Y(上端が0)は 446.47 px、画面内かどうかは 画面内、焦点距離(ピクセル単位)は 935.31 px になります。まずはこの値を基準に、自分の数値へ置き換えて確認してください。

たとえば「点の座標 X」だけを 4 に変えると、画面X(左端が0)は 1,334.12 px、画面Y(上端が0)は 446.47 px、画面内かどうかは 画面内、焦点距離(ピクセル単位)は 935.31 px になります。結果がどの入力にどれだけ敏感かを見るときは、入力を1つずつ動かして比べるとわかりやすくなります。

関連ツール

よくある質問

3D座標→2D画面座標変換では何がわかりますか?

カメラから見た3D座標(右・上・前)を、透視投影で画面上のピクセル座標に変換します。

何を入力すればいいですか?

次の項目を入力します: 点の座標 X、点の座標 Y、点の座標 Z、垂直FOV、画面の幅、画面の高さ。内容を変えると、結果もそれに合わせて変わります。

結果にはどんな項目が表示されますか?

「画面X(左端が0)」「画面Y(上端が0)」「画面内かどうか」「焦点距離(ピクセル単位)」などが表示されます。

どんな計算式を使っていますか?

ページ内の「計算式」にまとめています。たとえば「焦点距離 f = (画面の高さ ÷ 2) ÷ tan(垂直FOV ÷ 2)」のような式です。

結果はどのくらい正確ですか?

計算式はゲームでよく使われるものです。実際の作品では丸め方(切り捨て・四捨五入)や上限値が違うことがあるので、最後はテストプレイで確認してください。

同じカテゴリ(3D座標・カメラ)の他のツールはありますか?

はい。透視投影計算機、FOV計算機、カメラ距離計算機などがあります。

スマホでの利用、入力内容の扱い、結果のコピー、印刷など、全ツールに共通する質問は共通のよくある質問にまとめています。

関連記事