Unity Screen/World 座標変換

ScreenToWorldPoint・WorldToScreenPoint相当の変換。カメラFOV・解像度・位置・回転から計算。

このツールについて

Unityでは、画面座標(Screen)とワールド座標(World)の変換がよく必要になります。UI要素の位置をワールド空間に変換してレイキャストに使う、マウス位置から3D空間上の点を求める、逆にワールド座標が画面のどこに映るか確認するなど。Camera.ScreenToWorldPointとWorldToScreenPointがその役割を担います。このツールでは、カメラのFOV・解像度・位置・回転を入力し、Screen座標とWorld座標を相互に変換できます。Unityの挙動をブラウザ上で検証するのに便利です。

カメラ設定

Screen → World

ScreenToWorldPoint 相当。screen.z はカメラからの距離(depth)

World: (0, 0, 0)

World → Screen

WorldToScreenPoint 相当

Screen: (960, 540) / Depth: 10

使い方

カメラのFOV、解像度、位置・回転を入力し、Screen座標またはWorld座標を入力すると相互に変換されます。UnityのCamera.ScreenToWorldPoint / WorldToScreenPointの挙動をブラウザ上で検証できます。

いつ使うか

UI要素をワールド座標に変換したい、マウス位置からレイキャスト先を計算したい、カメラ設定変更時の座標変換を検証したい場合。

使用例

画面中央(960,540)をワールド座標に変換、ワールド(0,0,10)が画面のどこに映るか確認。

補足・Tips

  • Screen座標は左下が原点。UIのRectTransformとは座標系が異なります。
  • RaycastHit.point から得たワールド座標を画面座標に戻す検証に便利。
  • カメラの near/far クリップは変換結果に影響しません。

関連ツール