簡體   English   中英

OpenGL 3D碰撞檢測

[英]OpenGL 3D Collision Detection

我對OpenGl的沖突檢測進行了快速搜索,但是大多數情況都是使用CGRectIntersectsRect的2D示例返回的。 我是否使用CGRectIntersectsRect進行3D檢測? 我正在制作一個基本的3D迷宮游戲,我只是想阻止人們走過牆,牆只是正方形(由三角形制成),而不是導入的對象(是的,我是新來的)。

謝謝西蒙

你會掙扎的。

考慮只使用Unity3D ,它將允許您訪問nVidia physX ,這是您想要的3D物理解決方案的類型。

相反, 從頭開始 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.4.5881&rep=rep1&type=pdf

相反,請成為http://www.ode.org/之 的專家,然后可以想象將其與OpenGL, http: //www.ogre3d.org/about/features等結合使用。

這是有關“圖像”評論的重要說明:

圖像與碰撞檢測完全無關。 OpenGL與碰撞檢測或任何形式的物理學完全沒有任何關系。 圖像與碰撞檢測完全沒有任何關系。 OpenGL和碰撞之間沒有零連接。 絕對沒有。

OpenGL是純可視化庫,不提供任何碰撞檢測。 您必須自己動手或使用第三方碰撞檢測庫。

函數CGRectIntersectsRect看起來像來自Cocos庫,並且在矩形之間進行2D碰撞檢測。 如果您游戲中的實際游戲限制為2D,則可能只需要此功能,但是如果玩家在三個維度上移動,則還不夠。

  1. OpenGL不會進行沖突檢測,至少不是故意的。 您可以使用某些功能來進行精靈碰撞檢測,但是我不確定這是否適用於iPhone上的最新OpenGL ES。

  2. CGRectIntersectsRect來自Core Graphics,它是一種簡單的信封檢查,您可以避免在顯然不需要時進行更精確和昂貴的檢查。 它僅適用於2D。

  3. 3D碰撞非常棘手。 也許您可以先將化身投影到地板上,然后檢查生成的多邊形(甚至是矩形)是否與牆線發生碰撞? 聽起來更容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM