unity Onmouse函数触发陷阱
2018-03-07 本文已影响59人
normidar
射线中应当注意的陷阱
在我之前的一个项目中,使用射线时发现有一个重大的问题。
而且我发现,Onmouse...函数也是使用射线,因为它和我使用射线时发现的错误一样。
什么错误呢?
那就是当两个碰撞体重叠在一起时(至于怎么重叠,只要改层就可以了)射线总是返回一个数组,一定要记住这一点,而Onmouse....函数者则总是触发这个数组中的第一个元素。
当两个碰撞体重叠时,unity并不总是调用同一个碰撞体的Onmouse...函数,这也许是很多初学者苦苦不能发现的一点(真是坑):
Onmouse调用的是射线返回的第一个元素,而碰撞体重叠时,射线获取碰撞体的顺序并不一定总是一样的。