我有一個攝像頭,我想沿着2個軸(x和z)移動。在局部空間,我們有:在WorldSpace中沿着2個軸移動攝像頭
而且由於相機對象旋轉,在世界空間,我們有:
我想實現的是:沿移動相機2軸通過用戶輸入 - 攝像機從上方觀看平面,並通過按下鍵盤按鈕,用戶可沿平面沿4個平面方向滑動。這可以完美地通過操作transform.position.x和transform.position.y屬性本地空間。
雖然我有以下問題:用戶也可以旋轉相機對象。通過這樣做,我不能再操縱局部空間變換,因爲在某些旋轉「向上」開始的意思是「向下」等
我試圖做世界空間中執行以下操作:
transform.Translate(transform.right * user_input, Space.World);
但是這並沒有達到我想要的東西,因爲transform.right在世界空間中奪取了紅色的矢量。
我想要做的是:沿着紅色和藍色向量在局部空間移動攝像機,但仍保留世界空間中的座標。
如果有人對此提供了一些意見,我將不勝感激。謝謝一堆!
這是我該怎麼做。 –
我已經在3D動畫和Unity中使用了它,以便能夠輕鬆地隔離相機上的轉換,所以我完全贊同這種方法。 – Serlite
是的,這是他們「在手冊中沒有提到」的奇怪事情之一。你在任何地方都會這樣做,並且始終在使用像Unity這樣的遊戲引擎的視頻遊戲中,但它從來沒有真正在任何地方被「解釋」我經常認爲Unity應該固有地嵌入一個嵌套遊戲對象的概念,因爲它是無處不在的,也許是相機上的默認設置。無論如何。 「不管它是什麼」我們的良好OP正在努力實現,這可能是解決方案的一部分! – Fattie