Прицел на конце луча и объекте на который этот луч попал
Добавлено: 23 янв 2019, 20:48
Здравствуйте!
Задача стоит следующая. Есть пушка которая выпускает луч, и при попадании на какой нибудь объект на пересечении луча и объекта появлялся прицел.
вот мой код
При таком варианте прицел находится в неправильном положении
Для того чтобы решить этот вопрос мне нужно найти точку пересечения между лучом и объектом.
Как это сделать?
Задача стоит следующая. Есть пушка которая выпускает луч, и при попадании на какой нибудь объект на пересечении луча и объекта появлялся прицел.
вот мой код
Синтаксис:
Используется csharp
objectPos = Camera.main.WorldToScreenPoint(transform.position);
dir = Input.mousePosition - objectPos;
transform.rotation = Quaternion.Euler(new Vector3(0, 0, Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg - angle)); ;
RaycastHit2D hit = Physics2D.Linecast(transform.position, dir, 1 << LayerMask.NameToLayer("Boss"));
if (Muzzle != null)
{
Muzzle.position = hit2.point;
}
dir = Input.mousePosition - objectPos;
transform.rotation = Quaternion.Euler(new Vector3(0, 0, Mathf.Atan2(dir.y, dir.x) * Mathf.Rad2Deg - angle)); ;
RaycastHit2D hit = Physics2D.Linecast(transform.position, dir, 1 << LayerMask.NameToLayer("Boss"));
if (Muzzle != null)
{
Muzzle.position = hit2.point;
}
При таком варианте прицел находится в неправильном положении
Для того чтобы решить этот вопрос мне нужно найти точку пересечения между лучом и объектом.
Как это сделать?