@PsyDuckbest

Как сделать лазер в Unity?

Здравствуйте. Бьюсь над тем чтобы реализовать в игре лазерный целеуказатель и чет гугл не работает, по крайней мере в моих руках. Звучит как простая задача для Raycast, но внутри игры его не видно и чет мало инфы на эту тему, либо примеры на мой совсем не похожи. Работаю в 2D.
  • Вопрос задан
  • 1537 просмотров
Пригласить эксперта
Ответы на вопрос 2
Raycast не покажет тебе луч(лазер), это всего лишь функция, которая очень полезная для подобных задач. Тебе нужно Вот видео
Ответ написан
@Farawa
тебе понадобится 2 вещи: Physics.Raycast и компонент LineRenderer.

public class Laser : MonoBehaviour
{
    [SerializeField] private LineRenderer lineRenderer;

    private void Update()
    {
        //Ray ray = new Ray(origin,direction);
        Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);

        RaycastHit hit;
        if (Physics.Raycast(ray, out hit))
        {
            lineRenderer.enabled = true;
            var firstPosition = Camera.main.transform.position;
            var secondPosition = hit.point;
            lineRenderer.SetPosition(0, firstPosition);
            lineRenderer.SetPosition(1, secondPosition);
        }
        else
        {
            lineRenderer.enabled = false;
        }
    }
}

6141adf5a61a8592586606.png6141ae1d6ad74507132609.png
у LineRenderer есть материалы, можешь создать материал и закинуть туда и будет цвет какой хочешь
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы