Unity

Unity LineRenderer는 무엇인가?

anvil925 2025. 4. 18. 23:15
728x90
반응형

Unity LineRenderer 

Unity에서 시각적인 선을 그릴 수 있도록 해주는 컴포넌트인 LineRenderer는 궤적, 전선, 레이저, 경로 시각화 등 다양한 상황에서 활용됩니다. 이번 글에서는 기초적인 사용법부터 실전 예제, 비주얼 효과, 그리고 자주 발생하는 문제까지 정리해 보겠습니다.


LineRenderer란?

LineRenderer는 Unity에서 GameObject에 선을 그릴 수 있도록 해주는 컴포넌트입니다. 여러 개의 점(Position)을 지정하여 선을 그리고, 이 선에 다양한 머티리얼과 효과를 적용할 수 있습니다.

기본 특징:

  • 두 개 이상의 점을 지정해 선을 그림
  • 머티리얼, 색상, 두께 설정 가능
  • 월드 좌표 기준 또는 로컬 좌표 기준 사용

기본 생성법:

LineRenderer line = gameObject.AddComponent<LineRenderer>();
line.positionCount = 2;
line.SetPosition(0, new Vector3(0, 0, 0));
line.SetPosition(1, new Vector3(0, 1, 0));

실전 예제

총알 궤적 시각화

총알이 지나간 경로를 순간적으로 보여줄 때 사용합니다.

LineRenderer bulletLine = GetComponent<LineRenderer>();
bulletLine.positionCount = 2;
bulletLine.SetPosition(0, firePosition);
bulletLine.SetPosition(1, hitPosition);

노드 간 연결선

노드 기반 시스템에서 노드 간 연결 시 시각적으로 보여주기 위해 사용합니다.

lineRenderer.positionCount = nodes.Length;
for (int i = 0; i < nodes.Length; i++)
{
    lineRenderer.SetPosition(i, nodes[i].position);
}

비주얼 효과 예시

물결치는 선 (애니메이션 효과)

for (int i = 0; i < pointCount; i++) {
    float x = i * step;
    float y = Mathf.Sin(Time.time * speed + i) * amplitude;
    lineRenderer.SetPosition(i, new Vector3(x, y, 0));
}

점선 스타일 만들기

Shader를 커스터마이징하거나 텍스처가 포함된 머티리얼을 사용하여 점선처럼 보이게 할 수 있습니다.


자주 하는 실수 & 팁

카메라 공간 vs 월드 공간

  • 기본적으로 LineRenderer는 월드 좌표 기준으로 작동합니다. UI나 카메라 기준으로 동작시키려면 별도 조정이 필요합니다.

굵기 설정은 Scale이 아님

  • startWidth, endWidth를 이용해 굵기를 설정합니다.
lineRenderer.startWidth = 0.1f;
lineRenderer.endWidth = 0.1f;

머티리얼과 셰이더

  • Unlit/Texture 또는 Particles/Standard Unlit 셰이더를 사용하면 깔끔한 라인을 만들 수 있습니다.

선이 꺾이지 않게 하기

  • 각 점 사이 거리가 너무 가깝거나 회전 시 각도가 급격히 꺾이면 보기 좋지 않을 수 있습니다. 필요 시 곡선을 만들어주는 보간 작업을 추가해주는 것이 좋습니다.

 

LineRenderer는 단순히 선을 그리는 기능 이상으로 다양한 시각적 효과를 구현할 수 있는 강력한 도구

레이저관련하여 찾아보다가 알게되어 정리합니다

728x90
반응형