RayCast VS DrawRay (или я тупой или лыжи не едут)

Программирование на Юнити.

RayCast VS DrawRay (или я тупой или лыжи не едут)

Сообщение Susanin 26 дек 2020, 01:40

Собственно в чем вопрос.

Есть код в Update:
Синтаксис:
Используется csharp
Debug.DrawRay(transformSelf.position, ( transformSelf.TransformPoint(Vector3.forward)-transformSelf.position).normalized * maxDistanceUse, Color.yellow, .03f);
Debug.DrawRay(transformSelf.position, ( transformSelf.TransformPoint(Vector3.forward)).normalized * maxDistanceUse, Color.green, .03f);
 if (Physics.Raycast(transformSelf.position, transformSelf.TransformDirection(Vector3.forward), out _playerRaycastHit, maxDistanceUse, MainManagerLogic.Instance.AllObjectsExceptPlayer))


Отрисовывается 2 луча и один рейкаст. Первый луч отрисовывается так как надо (поворачивается вместе с transformSelf)
Второй не поворачивается вместе с transformSelf.

Однако почему рейкаст с заданным лучем также как и у ВТОРОГО стреляет лучем туда куда надо?!?!? (впрочем также как и если использовать как у первого)
Susanin
UNIт
 
Сообщения: 120
Зарегистрирован: 11 дек 2015, 10:52

Re: RayCast VS DrawRay (или я тупой или лыжи не едут)

Сообщение 1max1 27 дек 2020, 02:13

Во 2 DrawRay ты вместо направления задаешь точку, что неправильно и рейкаст у тебя не с заданным лучом, как ты написал. Почему работает? хз.
Аватара пользователя
1max1
Адепт
 
Сообщения: 5505
Зарегистрирован: 28 июн 2017, 10:51

Re: RayCast VS DrawRay (или я тупой или лыжи не едут)

Сообщение Susanin 29 дек 2020, 17:12

Таки я тупой.
не заметил шо TransformPoint и TransformDirection
Susanin
UNIт
 
Сообщения: 120
Зарегистрирован: 11 дек 2015, 10:52


Вернуться в Скрипты

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

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