unity 3d實驗屏幕座標到世界座標

之前查了下座標轉換的資料,網上都是直接摘抄的Unity3D官方的原文

後來做了實驗,寫出自己的一點體會

1.世界座標轉換成屏幕座標

var c : Camera;
var dd : Vector3;
var pp : Vector3;
function Start()
{
  c = Camera().main;
  var w2v = c.WorldToScreenPoint;
  dd = Vector3(1,1,-95);
  pp = w2v(dd);
  Debug.Log(" dd : " + pp);
}

得出的座標結果是與你的攝像機位置有關的,按上例來說,pp的三個向量(x,y,z)中,(x,y) 爲dd 轉換後在屏幕中的座標位置, 

z 爲攝像機的clipping planes (視切面) 的近端板也就是near plane 與dd的z值的差距,攝像機正面方向爲正,攝像機背面方向爲負.

也就是說,當dd在攝像機視野正面時,pp的z 值爲正號, 反之, pp.z 爲負號。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章