[請益] LayerMask+raycast問題

看板GameDesign (遊戲設計)作者 (火系見習魔法師 )時間8年前 (2016/10/23 21:08), 8年前編輯推噓3(303)
留言6則, 3人參與, 最新討論串1/2 (看更多)
自學unity的時候碰到一點問題 還請各位大大不吝指點 小弟嘗試用滑鼠點擊物件 然後判斷點擊的東西 http://i.imgur.com/Cn4ICuy.png
目前有個問題是 第15行 已經+了layermask 結果點擊的時候除了設定walllayer的物件 其他物件也有反應...... 不曉得是哪裡除了問題? 我有先嘗試過單純不用滑鼠點擊,直接把walllayer的物件放在一個gameobject前面 沒設定walllayer的都沒反應 但改成滑鼠就全部有反應囧 還有一個問題就是第13行 ray起始位置只能從攝影機嗎 有辦法從一個gameobject嗎? 我看網路上教學滑鼠點擊判斷物件的話,都是射線都從攝影機發出...... 以上兩個問題 先感謝點進來的大大看完這篇文章 如果有描述不清楚的地方煩請告知,我會儘快修正 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.168.81.240 ※ 文章網址: https://www.ptt.cc/bbs/GameDesign/M.1477228097.A.14C.html

10/24 01:55, , 1F
沒有說一定要從攝影機啊,請查Ray說明文件
10/24 01:55, 1F

10/24 01:58, , 2F
而且你wallLayer沒有起始值,應該是會觸發未定義行為
10/24 01:58, 2F

10/24 01:58, , 3F
你感覺"正常運作"的情況應該只是剛好而已
10/24 01:58, 3F
完全找不到非攝影機的範例冏..... 我嘗試 Vector3 Pos = gameObject.transform.position; Ray ray=new Ray(Pos,Input.mousePosition); 或是 Vector3 Pos = gameObject.transform.localPosition; Ray ray=new Ray(Pos,Input.mousePosition); 也不行T_T 是我理解Ray錯誤還是有打錯甚麼 至於第15行的wallLayer我發現我在前面+個數字就好了...... Physics.Raycast(ray,out hit,100,wallLayer))..... 真是太謎了,那個100應該是射線長度吧? 還是大大所說的起始值? 我原本以為是wallLayer.value ※ 編輯: yongb (1.168.86.136), 10/24/2016 12:21:17

10/25 08:55, , 4F
你的問題幾乎都沒去找api來看
10/25 08:55, 4F
第15行那個他API寫不加值就自動預設無限長沒錯吧? 可是結果我還要給他100才能用@@

10/25 09:13, , 5F
換掉gameObject。我都綁在手上
10/25 09:13, 5F

10/25 09:19, , 6F
掛在cube身上
10/25 09:19, 6F
我再多嘗試看看 感謝樓上兩位大大 ※ 編輯: yongb (36.235.37.223), 10/25/2016 22:51:48
文章代碼(AID): #1O3BP15C (GameDesign)
文章代碼(AID): #1O3BP15C (GameDesign)