Top > ComputerGraphics > Unity > Tips > Script > 2DPointTo3DPoint
Last-modified: Sun, 10 Feb 2013 22:20:28 HADT
Counter:6065 Today:2 Yesterday:2 Online:3
このエントリーをはてなブックマークに追加

2次元座標と3次元座標を変換する

About

 マウス位置など、画面上の2次元の座標を3次元に変換します。Unityであらかじめ用意されている投影関数を利用することで、透視投影されている場合でも容易に変換することができます。

2次元座標を3次元座標に変換する

 画面上にあるマウスの座標を取得して、3次元に変換するスクリプトです。マウスの座標はVector3で与えられますが、2次元の値しか与えられず、Zの値は0となっています。任意の値を与えて3次元に変換します。

var screenPoint:Vector3 = Input.mousePosition();
screenPoint.z = 50;
var worldPoint:Vector3 = camera.ScreenToWorldPoint();

3次元座標を2次元座標に変換する

 対象の3次元座標を画面上の2次元座標に変換するスクリプトです。

var screenPoint:Vector3 = camera.WorldToScreenPoint(target.position);