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