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
반응형
'Unity' 카테고리의 다른 글
| Unity에서의 Scroll기능 (0) | 2025.04.23 |
|---|---|
| Unity에서 IEnumerator와 Coroutine의 모든 것 (0) | 2025.04.21 |
| Unity Addressables의 개념과 실전 적용 방법 (0) | 2025.04.17 |
| Unity에서 GetComponent 제대로 쓰는 법 (0) | 2025.04.16 |
| Unity에서 CompareTag를 사용하는 이유와 주의사항 (0) | 2025.04.15 |