日常小節----unity小坑記(射線檢測固定層級)


unity中射線檢測需設定所需層級時,必須加上距離!!!

 

//一條從主相機到屏幕點擊點的射線

Ray ray = Camera.Main.ScreenPointToRay(Input.mousePosition);

RaycastHit hit;

 

//發射一條射線返回相關信息(如需設定檢測所需層級,距離一定要加!!!)

//CanRay為定義的LayerMask層,如無法手動添加選擇,可代碼

// int CanRay=1 << 10 ;

/*

1 << 10 打開第10的層。 
~(1 << 10) 打開除了第10之外的層。 
~(1 << 0) 打開所有的層。 
(1 << 10) | (1 << 8) 打開第10和第8的層。

*/

if (Physics.Raycast(ray, out hit, 1000, CanRay))
{
if (hit.transform.gameObject.name == "renwu")
{
print("移動射線檢測打到了人物");
}

//當父子物體都有碰撞器時,如需檢測子物體,需將父物體層級關閉,或只打開子物體層級

//但如需獲取子物體信息時,需用hit.collider.name(名字),如用hit.transform.name時,返回的是父物體名字

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM