預設既支援觸發器,也支援剛體。投射的最後乙個引數querytriggerinteraction可以設定,是否包含觸發器事件。
投射物剛好相交則會返回接觸點資訊(hits.point)法線資訊等,如果是包含則沒有,返回(0,0,0)。
即使設定了投射方向,投射距離也是如此。安全的做法還是用射線投射
你建立的快取陣列可以重複用,但需要每次使用時手動清除之前的狀態,這個方法並不會幫你清除。
或者通過返回值的數量來遍歷。
(但int.maxvalue倒是可以)
var hits = physics.boxcastall(vector3.zero, vector3.one * 10000, vector3.zero, quaternion.identity, 0);debug.log(
"hits length:
" +hits.length);
foreach (var item in
hits)
列印:hits length: 0
2017/5/23 - 重新測試之後,更正下測試結果,之前有誤
使用check系列api,比如physics.checkbox(...) 是可以檢測到的
使用overlap系列api,比如physics.overlapbox(...)也是可以檢測到的
而使用cast系列api,比如physics.raycast。則檢測不到,必須在包裹collider的外面。
無論是box,capsule還是ray,line都不行。
另外對於meshcollider,如果一定要用cast來檢測,可以用指令碼做成雙面的meshcollider
以上測試版本是unity5.5.2 f1
Unity物理投射相關問題整理
預設既支援觸發器,也支援剛體。投射的最後乙個引數querytriggerinteraction可以設定,是否包含觸發器事件。投射物剛好相交則會返回接觸點資訊 hits.point 法線資訊等,如果是包含則沒有,返回 0,0,0 即使設定了投射方向,投射距離也是如此。安全的做法還是用射線投射 你建立的...
集合相關問題整理
1.集合的型別為什麼不能指定為基本資料型別?如 listlist new arraylist 答 集合中存放的可都是物件的引用,實際內容都在堆上面或者方法區裡面,但是基本資料型別是在棧上分配空間的,隨時就被收回的。但是通過自動包裝類就可以把基本型別轉為物件型別,存放引用就解決了這個問題。2.集合中存...
opencv相關問題整理(1)
1.如何將mat 轉換成iplimage,或者iplimage轉換成mat?iplimage cvgetimage const cvarr arr,iplimage image header cvmat cvgetmat const cvarr arr,cvmat header,int coi nu...