unity學習筆記 物體檢測

2022-09-19 16:03:11 字數 1343 閱讀 5502

1.檢測 一定範圍內的物品,顯示物品圖示是遊戲的常見功能了,一般有三種 方法 ,第一種是通過觸發器去 檢測 常見用:physics.overlapsphere,(target.position%2c searchradius%2c 1 << layermask.nametolayer (laymaskname))%3b相交球。 引數1,是相交球的原點位置,第二個是球的半徑,第三個引數是可選引數可以是不同層級

2.3.

4.圓形檢測 float tmpdis = vector3.distance(hero.position, transform.position);獲取位置相減從而獲取長度。

5.如果物體速度過快,一幀內穿越該物體,則應該修改其碰撞模式,各個碰撞模式如下:

discrete(離散型檢測模式)就是普通的預設狀態;

continuous(連續檢測)則是更加精細的碰撞檢測,但是很耗資源;在這種狀態下,當這個剛體與其他普通剛體碰撞時,仍將使用discrete的碰撞檢測,但是與沒有剛體的mesh collider碰撞時就會連續檢測了。

continuous dynamic(動態連續檢測)則是對沒有剛體的mesh collider或是對處在continuous或是continuous dynamic狀態下的剛體使用連續碰撞檢測,對其他的剛體使用普通的discrete檢測。

但是!!!必須得注意的是:

(1).continuous/continuous dynamic(連續檢測)–對物理效能有很大的影響,所以如果高速運動的物體的碰撞沒有問題,應該設定為預設的 discrete

(2).continuous/continuous dynamic – 只支援使用box,sphere和capusle碰撞器的剛體。(這一點是在以往網上的資料上發現的,查了unity2017最新版手冊,發現確實有說到continuous支援box,sphere和capusle)

(3).2018之後又出了乙個continuous speculative 這裡官方的api解釋是要比continuous和dynamic的方式這兩種方式更加的節省效能,是掃瞄方式的進行連續碰撞檢測。(猜測:才物體靜止的時候不進行檢測節省效能。在有位移的時候才進行連續碰撞檢測)

總結:1.discrete適用於大部分剛體

2.continuous適用於將有可能會被高速移動物體撞上的物體

3.continuous dynamic適用於高速移動的物體

使用連續碰撞檢測(continuous和continuous dynamic)前提:

剛體和剛體: 剛體的碰撞器必須是box,sphere,capusle.

剛體和非剛體(靜態碰撞器): 剛體物體的碰撞器必須是box,sphere,capusle,非剛體物體的碰撞器必須是mesh。

平面物體檢測

這個教程的目標是學習如何使用 features2d 和 calib3d 模組來檢測場景中的已知平面物體。測試資料 資料影象檔案,比如 box.png 或者 box in scene.png 等。建立新的控制台 console 專案。讀入兩個輸入影象。mat img1 imread argv 1 cv...

DPM物體檢測相關

deformable parts model dpm 簡介 dpm deformable part model 模型結構初解 關於dpmv5 deformable part model 演算法中model結構的解釋 把訓練出來的模型檔案.mat格式轉為.txt格式的 hog 用於人體檢測的梯度方向直...

物體檢測網路概述

yolo 實時快速目標檢測 yolo詳解 傳統目標檢測系統採用deformable parts models dpm 方法,通過滑動框方法提出目標區域,然後採用分類器來實現識別。近期的r cnn類方法採用region proposal methods,首先生成潛在的bounding boxes,然後...