2012-02-05 35 views
1

我有一個平面的2D圖形,相機指向它們。我想要得到這個效果,所以當用戶捏和放大時,看起來他們將手指固定在飛機上,並且可以逼真地縮放。要做到這一點,我需要計算他們的手指之間的距離到3D空間距離(我已經可以做到),但是我需要將該3D距離映射到z值。例如,如果一個100單位寬的正方形縮小到50個單位(50%),相機需要移動多少以使100個單位的正方形縮小一半?所以簡單地說,如果我在3D空間中有距離,那麼如何計算將3D空間縮小一定量所需的相機距離?3D空間中的距離與其z深度之間的關係

回答

0

編輯:

所以,我沒有嘗試過自己和這個公式上來:

所以我們可以說你是1個單位距離的對象。 當你想縮小到50%(縮放比例)時,新的距離等於2個單位=> 1/0.5 = 2。攝像機必須是兩倍的距離。


移動相機更接近平面僅縮放工作與角度投影。絕對距離取決於視角。通常你通過減小視角來放大而不移動相機。

如果您使用正投投影,您可以簡單地調整投影矩陣的視野/縮放比例。

+0

謝謝,使用視角而不是縮放似乎現在工作更順暢! – Brad 2012-02-06 07:44:05

+0

其實這正是縮放。想象一下真實相機的變焦功能:您不必靠近,只需按一下按鈕,相機即可調節鏡頭。很高興我能幫上忙! – Lucius 2012-02-06 08:31:33