У меня есть игровой объект, который должен стрелять лучом в нескольких направлениях.Я хочу, чтобы он был максимально гибким, поэтому я добавил несколько целей, которые скрипт будет рисовать лучом (от игрового объекта до цели).Я использовал переменную положения преобразований цели, но это просто вызвало отклонение всех лучей в странном направлении, но немного изменилось, когда я переместился.Затем я попробовал локальное расположение целей, но это привело к тому, что все лучи пошли в их первоначальном направлении, не учитывая изменения в вращении.
Вот код для сценария лазера:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Laser : MonoBehaviour {
private LineRenderer Linerenderer;
public List<Transform> rays;
void Start()
{
Physics2D.queriesStartInColliders = false;
}
void Update () {
foreach (Transform tran in rays)
{
RaycastHit2D hit = Physics2D.Raycast(transform.position, tran.position,20);
Debug.DrawLine(transform.position, hit.point);
}
}
}
Снимки экрана:
-Использование мировых позиций:
-Использование локальных позиций: