Синтаксис:
Используется csharp
ray = Camera.main.ScreenPointToRay(Input.mousePosition);
hit = Physics.RaycastAll(ray, 5, -1);
if(hit.Length > 0)
{
if(mc_Fight.isTurn && hit[0].collider.gameObject.GetComponent<CardInfo>().isCardMine)
{
mc_Torg.SetDiscardCard(hit[0].collider.gameObject);
}
}
hit = Physics.RaycastAll(ray, 5, -1);
if(hit.Length > 0)
{
if(mc_Fight.isTurn && hit[0].collider.gameObject.GetComponent<CardInfo>().isCardMine)
{
mc_Torg.SetDiscardCard(hit[0].collider.gameObject);
}
}
когда я хватаю любой из 12 обьектов, то в hit[0] находится самый верхний к камере, то-есть то, что нужно. Но по какой-то причине иногда в hit[0] попадает не верхний, а нижний обьект.
Вопрос может кто сталкивался, посоветуйте чего. И еще вопрос, можно ли както не тягать весь масив колизий, а чтоб луч возвращял только колизию с первым обьектом.
Заранее спс.