У меня есть объект, на котором мне нужно несколько лазерных лучей вместо одного.

Следующий код показывает линейный луч только с одной стороны. Но ожидается от сторон.
using UnityEngine;
using System.Collections;
public class Laser : MonoBehaviour
{
private LineRenderer lr;
private bool clicked = false;
RaycastHit rh;
// Use this for initialization
void Start()
{
lr = GetComponent<LineRenderer>();
}
// Update is called once per frame
void Update()
{
if (clicked)
{
lr.SetPosition(0, transform.position + new Vector3(0, 0, 0));
RaycastHit hit;
if (Physics.Raycast(transform.position + new Vector3(0, 0, 0), -transform.up, out hit))
{
if (hit.collider)
{
lr.SetPosition(1, hit.point);
}
}
else lr.SetPosition(1, -transform.up * 5000);
if (Physics.Raycast(transform.position + new Vector3(0, 0, 0), transform.up, out hit))
{
if (hit.collider)
{
lr.SetPosition(1, hit.point);
}
}
else lr.SetPosition(1, transform.up * 5000);
if (Physics.Raycast(transform.position + new Vector3(0, 0, 0), transform.right, out hit))
{
if (hit.collider)
{
lr.SetPosition(1, hit.point);
}
}
else lr.SetPosition(1, transform.right * 5000);
if (Physics.Raycast(transform.position + new Vector3(0, 0, 0), -transform.right, out hit))
{
if (hit.collider)
{
lr.SetPosition(1, hit.point);
}
}
else lr.SetPosition(1, -transform.right * 5000);
}
}
}