Re: [請益]Unity射線包覆在物體內能夠打到collider嗎

作者: cjcat2266 (CJ Cat)   2014-09-20 02:02:22
※ 引述《fifi82726 ()》之銘言:
: 附圖: http://ppt.cc/ne1G
依照你這個圖看來
已經知道射線的方向了
想要取得這個方向上,離攝影機固定距離上的一個點
用射線投射在球體collider上似乎是overkill
令設線方向V,攝影機位置C,球體半徑R
那你要的點位置P就是:
P = C + R * Normalize(V)
不知我是否有誤解你的意思?
作者: fifi82726   2014-09-20 02:59:00
會想要打在球上原本是想解決 因為打在牆面上的時候當攝影機上下左右越遠離中心時相同角度會移動越長的距離問題,但是如果依照你的方式來做的話,瞄準依舊是用打到牆面的點來計算,沒辦法解決不過還是感謝你
作者: bearkitten   2014-09-20 04:19:00
這解法?錯啊,我理解的也是這個意思
作者: kyopolo (BonBon)   2014-09-20 10:02:00
因為在球裡面的面是反的 碰撞體不會被算成打到 所以如果你一定要用射線打點的話 可以調整mesh資料把面反轉 或是請美術出個反面的球 不過這篇講的應該就夠解決這問題了
作者: akilight (OWeeeeeeeee~)   2014-09-20 10:20:00
看了下,cjcat的解法沒問題阿,原po為何一定要用射線XD只是想取得在球面上的座標,用這篇的算法就好了我看不出來有一定要用raycast的理由,raycast還比較貴..
作者: tomnelson   2014-09-20 11:10:00
我認為cjcat的解法是正解,用raycast很貴的!
作者: cowbaying (是在靠北喔)   2014-09-20 11:47:00
會不會連移動向量都有問題 XDDDDD
作者: cjcat2266 (CJ Cat)   2014-09-20 12:28:00
瞄準點並不是打到牆上的點啊R * Normalize(V) 就會把向量鎖定到球面上了
作者: fifi82726   2014-09-20 14:12:00
我解決了xd 用cj的方法 感謝各位 原來是我誤會了
作者: elfkiller (沒有暱稱)   2014-09-23 22:58:00
官網文件有寫 Raycast不能打到包含起點的collider用CJ大的方法是對的 效能也比較好

Links booklink

Contact Us: admin [ a t ] ucptt.com