2009-06-18 31 views
-1

我有一個攝像頭類,我希望它能夠跟蹤物理對象。然而在我的遊戲引擎中(這是相機類的一部分),你可以使用不同的物理引擎(甚至有些我沒有開發)。無論我使用的物理引擎如何使我的相機能夠跟蹤對象?如果有幫助,我將有一個包裝類來幫助抽象處理特定引擎物理實現的一些細節。通用的方法來跟蹤一個變量

回答

1

的東西,包含標準位置的對象(可能是一個的Vector3)包裝你的對象。然後,只需添加一個Camera.LookAt(GameObject)方法,該方法將允許您跟蹤該對象。此外,這很適合與引擎中的其他對象一起使用,它只是讓您能夠使用任何相機跟蹤任何對象。這是我在以前的兩個遊戲應用程序中使用的方法。

0

這完全取決於你的圖形引擎是如何設置。

大多數圖形引擎都具有某種形式的場景圖形,以及將相機連接到場景圖形中的節點的方式。這將使攝像機繼承父級的變換,這意味着它可以輕鬆地「跟隨」另一個節點。

如果物理系統乾淨整合,它會移動場景周圍的物體,從而影響它們的節點。這會自動傳播到相機。

如果您想指定您正在使用的遊戲引擎+物理集成包,我可能會給出更具體的細節。

+0

我不知道一個場景圖是什麼讓心不是去上班。我正在編寫自己的引擎,它將使用www.codeplex.com/farseerphysics以及來自www.walaber.com的果凍物理庫以及由我開發的定製物理庫作爲物理選擇。基本上,我需要一種方法來存儲對Vector2的引用,以便我可以跟蹤它。也許我應該問這個? – RCIX 2009-06-18 01:17:15

+0

如果你正在編寫自己的引擎,我會研究場景圖。大多數物理圖書館都假設你有一種修改變換的方式,這與場景圖很好地結合在一起。否則,只需保持對象本身的引用(與位置),並遵循它。你不能(很容易)保持對Vector2的引用(因爲它是一個值類型),但你可以保持對包含Vector2的對象的引用。 – 2009-06-18 01:29:14