查詢檢測PhysX 3 2中的場景查詢 1 基礎

2021-09-06 09:28:13 字數 1885 閱讀 3382

題記:寫這篇部落格要主是加深自己對查詢檢測的認識和總結實現演算法時的一些驗經和訓教,如果有錯誤請指出,萬分感謝。

physx sdk直一都為遊戲開闢供提高效靠可的場景查詢(scene query)功能,到了3.2中,也是如此。這乙個系列中,就給大家分析physx 3.2中場景查詢功能的用使。

這一篇中,我們重點分析這一功能的一些基本概念和基本用法。

首先,physx 3.2中,場景查詢的種類持支三種,分別是raycast,sweep和overlap檢測。其中:

raycast檢測是從一點,投射一根必定長度的線段,檢測物理天下中跟這個線段訂交的碰撞體(pxshape);

sweep檢測跟raycast檢測似類,但是投射出去的是乙個或者一組形體(pxgeometry),檢測物理天下中跟這個/組形體訂交的碰撞體(pxshape);

overlap檢測跟面上兩個不一樣,它是給定某置位的乙個形體(pxgeometry),檢測物理天下中跟這個形體訂交的碰撞體(pxshape)。

其次,physx 3.2中,對於每一種場景查詢,都持支倏地獲得否是有檢測結果的*any的查詢,以及回返有所檢測結果的*multiple的查詢;同時,對於raycast和sweep,還持支查詢近來的檢測結果*single的方法。overlap型別的查詢不持支這類*single的方法,是因為原理上,overlap的訂交檢測是沒有向方的,所以沒法判斷那乙個結果是近來的,只能回返有所結果。了解了這一點,sdk供提的場景查詢方法就很好記了,就是這些:

raycastany(...);

raycastsingle(...);

raycastmultiple(...);

sweepany(...);

sweepsingle(...);

sweepmultiple(...);

overlapany(...);

overlapmultiple(...);

然後,在場景查詢行執的式方上, physx sdk為我們供提了兩種行執式方,一種是即立行執的單次提交,馬上回返結果的式方;另一種是批理處查詢(batch query),我們可以把一幀中可以會合到一同行執的查詢,都加入到乙個批理處中行執,這個在場景查詢很多的時候,可以帶來能性上的公升提。批理處查詢的用使,我們會在接下來的篇幅中分析。

接下來,在行執過程當中,有乙個必須慮考的問題就是如何濾過掉不必要的碰撞體,更倏地高效的回返望期的查詢結果。這一部分內容,會在physx 3.2中的場景查詢-濾過中分析。

每日一道理

毅力,是千里大堤一沙一石的凝聚,一點點地累積,才有前不見頭後不見尾的壯麗;毅力,是春蠶吐絲一縷一縷的環繞,一絲絲地堅持,才有破繭而出重見光明的輝煌; 毅力,是遠航的船的帆,有了帆,船才可以到達成功的彼岸。

同時,在raycast和sweep查詢行執中,physx sdk還供提了cache的功能,讓我們可以供提乙個最有可能被檢測到的碰撞體(pxshape),sdk優先檢測否是跟這個碰撞體有訂交。這個功能在某些場所非常有效,比如射擊遊戲中續連射擊某個物體時,比如某個boss級別的壘堡,第一次擊中以後,接下來的短時間內的續連射擊,以可就把這個物體作為cache傳入,倏地檢測否是擊中這個物體,這樣夠能省節查詢中很多能性開銷。

最後,在查詢到結果後後,我們要需回返查詢的結果,如果是*multiple這樣的查詢,我們還要需訴告sdk查詢到這個結果以後,sdk否是要需繼承理處後續的查詢。為實現這些功能,sdk在每個查詢的api中,都供提給了乙個pxscenequeryflags型別的引數供我們用使,指定我們要需什麼樣的回返值,或者這個結果以後,該如何繼承。pxscenequeryflags的定義是這樣的:

struct pxscenequeryflag

;};

以上是對physx 3.2中場景查詢功能的一些基本分析,希望夠能幫助大家更快的上手用使physx 3.2的場景查詢功能。

查詢檢測PhysX 3 2中的場景查詢 1 基礎

題記 寫這篇部落格要主是加深自己對查詢檢測的認識和總結實現演算法時的一些驗經和訓教,如果有錯誤請指出,萬分感謝。physx sdk直一都為遊戲開闢供提高效靠可的場景查詢 scene query 功能,到了3.2中,也是如此。這乙個系列中,就給大家分析physx 3.2中場景查詢功能的用使。這一篇中,...

PhysX 3 2中的場景查詢 1 基礎

physx sdk一直都為遊戲開發提供高效可靠的場景查詢 scene query 功能,到了3.2中,也是如此。這乙個系列中,就給大家介紹physx 3.2中場景查詢功能的使用。這一篇中,我們重點介紹這一功能的一些基本概念和基礎用法。首先,physx 3.2中,場景查詢的種類支援三種,分別是rayc...

PhysX 3 2裡的布料模擬 1 基本概念

最近剛好遇到了一些跟physx 3.2裡面布料模擬相關的問題,那就約架不如偶遇,介紹一下physx 3.2中的布料模擬吧。這一篇中,我們先概要的介紹一下physx 3.2中的布料的一些基本概念,後續的文章中再詳細介紹如何建立 控制等問題。提到布料模擬,那麼我們可能會有這麼幾方面的問題 如何定義布料的...