Unity3D
LineRenderer - 레이저 포인터로 대상 가르키기
메밀국수가생각나
2020. 11. 5. 16:04
트리거에 자동차가 들어오면 레이저포인터로 가르키는 코드 해당 코드를 사용하는 게임 오브젝트는 LineRenderer 컴포넌트와 콜라이더 설정이 되어있어야 한다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class lineRendererTest : MonoBehaviour
{
private LineRenderer lineRenderer;
// Start is called before the first frame update
void Start()
{
lineRenderer = GetComponent<LineRenderer>();
// 라인이 가지개될 색상 표현
Material material = new Material(Shader.Find("Standard"));
material.color = new Color(0, 195, 255, 0.5f);
lineRenderer.startWidth = 0.2f;
lineRenderer.endWidth = 0.2f;
// 끝점과 시작점 2개
lineRenderer.positionCount = 2;
}
// Update is called once per frame
void Update()
{
}
private void OnTriggerStay(Collider other)
{
if (other.tag == "Car")
{
lineRenderer.SetPosition(0, transform.position);
lineRenderer.SetPosition(1, other.transform.position);
}
}
private void OnTriggerExit(Collider other)
{
if (other.tag == "Car")
{
lineRenderer.SetPosition(1, transform.position);
}
}
}

레이저 메터리얼을 위 그림과 같은 설정으로 변경하여준다. 그렇지 않으면 레이저에 색상이 검정색이나 분홍색만 나오고 설정한 색상을 표현하지 않는다.