Баг RayCast

Общие вопросы о Unity3D

Баг RayCast

Сообщение Sality 07 сен 2013, 18:13

Всем привет, создаю динамично обьекты, с бокс колайдерами, частично налазят друг на друга. Задача мышкой схватить верхний из них. Но так как луч пробивает несколько обьектов, я выбираю самый верхний. Все обьекты генерятся по строгой математике, так что расположены они относительно друг друга четко. Из 12 обьектов где-то 1 я не могу "схватить" , так как почему-то верхний обьект возвращяется в списке колизий RaycastAll[] последним, вместо того, чтоб быть первым.

Синтаксис:
Используется 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);
                                }
                        }
 


когда я хватаю любой из 12 обьектов, то в hit[0] находится самый верхний к камере, то-есть то, что нужно. Но по какой-то причине иногда в hit[0] попадает не верхний, а нижний обьект.

Вопрос может кто сталкивался, посоветуйте чего. И еще вопрос, можно ли както не тягать весь масив колизий, а чтоб луч возвращял только колизию с первым обьектом.

Заранее спс.
Аватара пользователя
Sality
Старожил
 
Сообщения: 771
Зарегистрирован: 26 ноя 2011, 15:31
Откуда: Украина

Re: Баг RayCast

Сообщение waruiyume 07 сен 2013, 18:30

С чего Вы решили, что RaycastAll возвращает отсортированный список?
И еще вопрос, можно ли както не тягать весь масив колизий, а чтоб луч возвращял только колизию с первым обьектом.

Physics.Raycast
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Баг RayCast

Сообщение Sality 07 сен 2013, 19:01

Спасибо, в доках не сказано что возвращяет верхний обьект, вот я и запутался.
Аватара пользователя
Sality
Старожил
 
Сообщения: 771
Зарегистрирован: 26 ноя 2011, 15:31
Откуда: Украина


Вернуться в Общие вопросы

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 16