Как выпускать луч из локальный координат в Unity
Всем привет. Подскажите пожалуйста, как выпускать рейкаст из локального направления? То есть в направлении, куда направлена ось Z (синяя). Я думаю, что его еще нужно правильно отрисовать в гизмосе.
Вот мой код сейчас:
Ray ray = new Ray(rayPoint.position, Vector3.forward);
if (Physics.Raycast(ray, out _hit, _rayDistance, _raycastLayers))
{
Debug.DrawLine(ray.origin, _hit.point, Color.red);
}
Ответы (1 шт):
Автор решения: Whiskas
→ Ссылка
Нужно преобразовать направление луча из глобального в локальное, путём использования transform.TransformDirection() или просто transform.forward
Ray ray = new Ray(rayPoint.position, transform.forward);
if (Physics.Raycast(ray, out _hit, _rayDistance, _raycastLayers))
{
Debug.DrawLine(ray.origin, _hit.point, Color.red);
}
