看板 GameDesign 關於我們 聯絡資訊
自學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
cjcat2266: 沒有說一定要從攝影機啊,請查Ray說明文件 10/24 01:55
cjcat2266: 而且你wallLayer沒有起始值,應該是會觸發未定義行為 10/24 01:58
cjcat2266: 你感覺"正常運作"的情況應該只是剛好而已 10/24 01:58
完全找不到非攝影機的範例冏..... 我嘗試 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
skyabsence: 你的問題幾乎都沒去找api來看 10/25 08:55
第15行那個他API寫不加值就自動預設無限長沒錯吧? 可是結果我還要給他100才能用@@
laikyo: 換掉gameObject。我都綁在手上 10/25 09:13
skyabsence: http://imgur.com/7fh1B77 掛在cube身上 10/25 09:19
我再多嘗試看看 感謝樓上兩位大大 ※ 編輯: yongb (36.235.37.223), 10/25/2016 22:51:48