Version: 2021.3
언어: 한국어
라인, 트레일, 빌보드
Trail Renderer 컴포넌트

Line Renderer 컴포넌트

Line Renderer 컴포넌트는 3D 공간에서 두 개 이상의 지점 배열을 가져와 각각의 점 사이에 직선을 그리는 컴포넌트입니다. 라인 렌더러를 사용하여 간단한 직선에서 복잡한 나선에 이르기까지 모든 것을 그릴 수 있습니다.

다만 그려지는 모든 라인은 연속적이어야 합니다. 두 개 이상의 완전히 분리된 선을 그려야 하는 경우 라인 렌더러를 포함하는 여러 개의 게임 오브젝트를 사용해야 합니다.

라인 렌더러는 픽셀 단위 너비의 라인을 렌더링하지 않고 월드 공간 단위 너비의 폴리곤을 렌더링합니다. 또한 트레일 렌더러와 동일한 알고리즘을 라인 렌더링에 사용합니다.

시작

라인 렌더러를 생성하려면 다음 단계를 따르십시오.

  1. Unity 메뉴 바에서 GameObject > Effects > Line으로 이동합니다.
  2. 라인 렌더러 게임 오브젝트를 선택합니다.
  3. 인스펙터 창에서 배열 값을 직접 설정하거나 Create Points 씬 편집 모드를 사용하여 라인 렌더러의 Positions 배열에 포인트를 추가합니다.
  4. 인스펙터 창을 사용하여 라인의 색상, 너비 및 기타 표시 설정을 지정합니다.
라인 렌더러 설정 예
라인 렌더러 설정 예

라인 렌더러 머티리얼

기본적으로 라인 렌더러는 빌트인 머티리얼인 Default-Line을 사용합니다. 머티리얼을 변경하지 않고도 라인의 모습을 수정(예: 라인의 컬러 그레디언트 또는 너비 편집)할 수 있습니다.

텍스처를 라인에 적용하는 등과 같은 다른 효과를 구현하려면 다른 머티리얼을 사용해야 합니다. 새 머티리얼에 대한 자체 셰이더를 작성하고 싶지 않은 경우 Unity의 빌트인 [스탠다드 파티클 셰이더]를 라인 렌더러와 함께 사용하면 매우 효과적입니다.

자세한 내용은 머티리얼 생성 및 사용을 참조하십시오.

라인 렌더러 씬 편집 모드

라인 렌더러의 인스펙터를 사용하여 씬 편집 모드를 변경할 수 있습니다. 다양한 씬 편집 모드를 통해 씬 뷰와 인스펙터로 라인 렌더러를 다양하게 편집할 수 있습니다.

씬 편집 모드는 None, Edit Points, Create Points로 구성되어 있습니다.

씬 편집 모드 설정

라인 렌더러 Edit Points 및 Create Points 버튼
라인 렌더러 Edit Points 및 Create Points 버튼

인스펙터 상단의 Edit PointsCreate Points 버튼을 사용하여 현재 씬 편집 모드를 설정할 수 있습니다.

Edit Points 버튼을 클릭하면 씬 편집 모드가 Edit Points로 설정됩니다. 다시 클릭하면 씬 편집 모드가 None으로 설정됩니다.

Create Points 버튼을 클릭하면 씬 편집 모드가 Create Points로 설정됩니다. 다시 클릭하면 씬 편집 모드가 None으로 설정됩니다.

씬 편집 모드: None

라인 렌더러 Simplify 컨트롤
라인 렌더러 Simplify 컨트롤

씬 편집 모드를 선택하지 않은 경우 Positions 배열에서 불필요한 포인트를 제거하는 단순화 작업을 설정 및 수행할 수 있습니다.

인스펙터에 다음의 컨트롤이 표시됩니다.

컨트롤 설명
Simplify Preview Simplify Preview를 활성화하면 단순화 작업의 결과 미리보기가 표시됩니다.
Tolerance 단순화된 라인이 원본 라인과 달라질 수 있는 정도를 설정합니다.

값을 0으로 설정하면 차이가 없으므로 단순화 작업을 거의 또는 전혀 수행하지 않습니다. 높은 양수값으로 설정하면 원본 라인과의 차이가 커지므로 단순화 작업이 많이 수행됩니다.

기본값은 1입니다.
Simplify Simplify를 클릭하면 라인 렌더러 Positions 배열의 요소 수가 줄어듭니다.

단순화 작업은 Ramer-Douglas-Peucker 알고리즘을 사용하여 Tolerance 값에 따라 포인트 수를 줄입니다.

씬 편집 모드: Edit Points

Edit Points 씬 편집 모드의 라인 렌더러
Edit Points 씬 편집 모드의 라인 렌더러

씬 편집 모드를 Edit Points로 설정하면 Unity는 라인 렌더러의 Positions 배열에 있는 각 포인트를 씬 뷰에서 노란색 구체로 표시합니다. 각 포인트는 이동 툴을 사용하여 이동할 수 있습니다.

인스펙터에 다음의 컨트롤이 표시됩니다.

컨트롤 설명
Show Wireframe 활성화하면 Unity가 씬 뷰에 라인을 시각화하는 와이어프레임을 그립니다.
Subdivide Selected 인접 포인트를 두 개 이상 선택하면 이 버튼이 활성화됩니다. 이 버튼을 누르면 선택한 인접 포인트 사이에 새 포인트를 삽입합니다.

씬 편집 모드: Create Points

Create Points 씬 편집 모드의 라인 렌더러
Create Points 씬 편집 모드의 라인 렌더러

씬 편집 모드를 Create Points로 설정할 경우 씬 뷰 내부를 클릭하여 라인 렌더러의 Positions 배열 끝에 새 포인트를 추가합니다.

인스펙터에 다음의 컨트롤이 표시됩니다.

컨트롤 설명
Input 포인트를 만들 때 사용할 입력 방식을 설정합니다.
Mouse position 씬 뷰의 마우스 포지션에 따라 포인트를 생성합니다.
Physics Raycast 레이캐스트에 따라 포인트를 씬에 생성합니다. Unity는 레이캐스트가 닿는 포지션에 포인트를 생성합니다.
Layer Mask 레이캐스트를 수행할 때 사용하는 레이어 마스크입니다. 이 프로퍼티는 InputPhysics Raycast로 설정한 경우에만 표시됩니다.
Min Vertex Distance 마우스를 드래그하여 씬 뷰에 포인트를 생성할 때 마지막 포인트로부터의 거리를 초과하면 라인 렌더러가 새 포인트를 생성합니다.
Offset 포인트를 만드는 데 적용되는 오프셋입니다. InputMouse Position으로 설정하면 라인 렌더러가 씬 카메라의 오프셋을 적용합니다. Input을 Physics Raycast로 설정하면 라인 렌더러가 레이캐스트 노멀의 오프셋을 적용합니다.

라인 렌더러 인스펙터 레퍼런스

이 섹션은 다음의 하위 섹션에 대해 다룹니다.

라인 설정

프로퍼티 기능
Loop 이 설정을 활성화하면 라인의 처음과 끝 포지션을 연결하여 닫힌 루프를 만듭니다.
Positions 연결할 Vector3 포인트 배열입니다.
Width 길이를 따라 위치한 라인의 너비를 조절하려면 이 프로퍼티에서 너비 값 및 커브 값을 지정하면 됩니다.

커브는 각각의 버텍스에서 샘플링되므로 정확도는 라인 내 존재하는 버텍스 수로 제한됩니다. 라인의 전반적인 너비는 너비 값으로 조정할 수 있습니다.
Color 그레디언트를 지정하여 길이를 따라 라인의 색상을 조정합니다.

Unity는 각 버텍스에서 컬러 그레디언트의 컬러를 샘플링하고, 각 버텍스 사이의 컬러에 선형 보간을 적용합니다. 라인에 더 많은 버텍스를 추가하면 더욱 세밀한 그레디언트를 구현할 수 있습니다.
Corner Vertices 이 프로퍼티는 라인에 코너를 그리는 경우, 얼마나 많은 추가 버텍스가 사용되는지 지정합니다. 이 값을 늘리면 라인 코너가 더 둥글게 보입니다.
End Cap Vertices 이 프로퍼티는 라인에 끝부분을 그리는 경우, 얼마나 많은 추가 버텍스가 사용되는지 지정합니다. 이 값을 늘리면 라인 끝부분이 더 둥글게 보입니다.
Alignment 라인이 향하는 방향을 설정합니다.
View 라인이 카메라를 향합니다.
TransformZ 라인이 Transform 컴포넌트의 Z축을 향합니다.
Texture Mode 텍스처가 라인에 적용되는 방식을 제어합니다.
Stretch 라인의 전체 길이를 따라 텍스처를 한 번 매핑합니다.
Tile 월드 공간 단위의 길이에 기반하여 라인을 따라 텍스처를 반복합니다. 타일링 속도를 설정하려면 Material.SetTextureScale을 사용하십시오.
DistributePerSegment 모든 버텍스의 간격이 균등하다는 가정하에 라인의 전체 길이를 따라 텍스처를 한 번 매핑합니다.
RepeatPerSegment 라인을 따라 텍스처를 반복합니다. 반복 속도는 라인 세그먼트당 한 번입니다. 타일링 속도를 조정하려면 Material.SetTextureScale을 사용하십시오.
Shadow Bias 빌보드 지오메트리로 영역을 대략적으로 만들어서 발생한 그림자 결함을 제거하기 위해 광원에서 그림자를 움직일 정도를 설정합니다.
Generate Lighting Data 활성화하면 Unity가 포함된 노멀과 탄젠트를 사용하여 라인 지오메트리를 빌드합니다. 이를 통해 씬 조명이 사용하는 머티리얼을 사용할 수 있습니다.
Use World Space 활성화하면 포인트가 월드 공간 좌표로 간주됩니다. 비활성화하면 이 컴포넌트가 연결된 게임 오브젝트의 트랜스폼에 속합니다.

머티리얼

Materials 섹션에는 이 컴포넌트가 사용하는 모든 머티리얼이 나열됩니다.

프로퍼티 설명
Size 머티리얼 리스트 요소의 수입니다.

요소의 수를 줄일 경우 Unity는 리스트 끝에서 요소를 삭제합니다. 요소의 수를 늘리면 Unity는 리스트의 끝에 새로운 요소를 추가합니다. Unity는 리스트의 끝에서 요소가 사용하는 동일한 머티리얼로 새로운 요소를 채웁니다.
Element 리스트의 머티리얼입니다. 머티리얼 에셋을 각 요소에 할당할 수 있습니다.

기본적으로 Unity는 머티리얼의 이름을 토대로 리스트를 알파벳 순으로 정렬합니다. 이 리스트는 순서를 변경할 수 있으며 Unity는 해당 순서가 변경되면 요소의 수를 자동으로 업데이트합니다.

조명

Light 섹션에는 조명과 관련된 프로퍼티가 포함되어 있습니다.

프로퍼티 설명
Cast Shadows 적당한 광원이 비출 때 이 렌더러가 그림자를 드리우는 경우와 방법을 지정합니다.

이 프로퍼티는 Renderer.shadowCastingMode API에 해당합니다.
On 그림자를 드리우는 광원이 비추면 이 렌더러가 그림자를 드리웁니다.
Off 이 렌더러는 그림자를 드리우지 않습니다.
Two-sided 이 렌더러는 양면 그림자를 드리웁니다. 즉 평면이나 쿼드와 같은 단면 오브젝트는 광원이 메시 뒤에 있더라도 그림자를 드리울 수 있습니다.

베이크된 전역 조명 또는 인라이튼 실시간 전역 조명이 양면 그림자를 지원하는 경우 머티리얼이 반드시 양면 전역 조명을 지원해야 합니다.
Shadows Only 이 렌더러는 그림자를 드리우지만 렌더러 자체는 표시되지 않습니다.
Receive Shadows Unity가 이 렌더러에 그림자 캐스트를 표시하는 경우를 지정합니다.

이 프로퍼티는 이 씬에 대해 베이크된 전역 조명 또는 인라이튼 실시간 전역 조명을 활성화하는 경우에만 효과를 발휘합니다.

이 프로퍼티는 Renderer.receiveShadows API에 해당합니다.
Contribute Global Illumination 전역 조명 계산에 이 렌더러가 사용되며 베이크 타임 시 발생합니다.

이 프로퍼티는 씬에 대해 베이크된 전역 조명 또는 인라이튼 실시간 전역 조명을 활성화하는 경우에만 효과를 발휘합니다.

이 프로퍼티를 활성화하면 게임 오브젝트의 정적 에디터 플래그에서 GI 플래그 기여가 활성화됩니다. 이는 StaticEditorFlags.ContributeGI API에 해당합니다.
Receive Global Illumination Unity는 베이크된 라이트맵이나 런타임 라이트 프로브에서 전역 조명 데이터를 이 렌더러에 제공합니다.

이 프로퍼티는 Contribute Global Illumination을 활성화하는 경우에만 편집할 수 있습니다. 이 씬에 대한 베이크된 전역 조명이나 인라이튼 실시간 전역 조명을 활성화하는 경우에만 효과를 발휘합니다.

이 프로퍼티는 MeshRenderer.receiveGI API에 해당합니다.
Lightmaps Unity는 라이트맵에서 이 렌더러에 전역 조명 데이터를 제공합니다.
Light Probes Unity는 씬의 라이트 프로브에서 이 렌더러에 전역 조명 데이터를 제공합니다.
Prioritize Illumination 이 프로퍼티를 활성화하면 인라이튼 실시간 전역 조명 계산에 이 렌더러를 항상 포함할 수 있습니다. 이를 통해 성능상의 이유로 전역 조명 계산에서 일반적으로 제외되는 멀리 떨어진 이미시브에도 렌더러가 영향을 받는지 확인합니다.

이 프로퍼티는 게임 오브젝트의 정적 에디터 플래그에서 Contribute Gi가 활성화되고 프로젝트는 빌트인 렌더 파이프라인을 사용하며 인라이튼 실시간 전역 조명이 씬에서 활성화된 경우에만 표시됩니다.

프로브

Probes 섹션에는 라이트 프로브반사 프로브에 관한 프로퍼티가 포함되어 있습니다.

프로퍼티 설명
Light Probes 이 렌더러가 라이트 프로브 시스템에서 빛을 수신하는 방법을 설정합니다.

이 프로퍼티는 Renderer.lightProbeUsage API에 해당합니다.
Off 렌더러는 보간된 라이트 프로브를 사용하지 않습니다.
Blend Probes 렌더러는 보간된 라이트 프로브 한 개를 사용합니다. 이는 기본 값입니다.
Use Proxy Volume 렌더러는 보간된 라이트 프로브의 3D 그리드를 사용합니다.
Custom Provided 렌더러는 MaterialPropertyBlock에서 라이트 프로브 셰이더의 균일한 값을 추출합니다.
Proxy Volume Override Light Probe Proxy Volume 컴포넌트가 있는 다른 게임 오브젝트에 레퍼런스를 설정합니다.

이 프로퍼티는 Light ProbesUse Proxy Volume으로 설정된 경우에만 표시됩니다.
Reflection Probes 렌더러가 반사 프로브 시스템에서 반사를 수신하는 방법을 설정합니다.

이 프로퍼티는 Renderer.probeAnchor API에 해당합니다.
Off 반사 프로브를 비활성화합니다. Unity는 반사에 대해 스카이박스를 사용합니다.
Blend Probes 반사 프로브를 활성화합니다. 블렌딩은 반사 프로브 사이에서만 발생합니다. 캐릭터가 다른 조명 설정을 사용한 영역 사이를 전환할 수 있는 실내 환경에서 유용합니다.
Blend Probes and Skybox 반사 프로브를 활성화합니다. 블렌딩은 반사 프로브 사이 또는 반사 프로브와 기본 반사 사이에서 발생합니다. 야외 환경에서 유용합니다.
Simple 반사 프로브를 활성화하지만 블렌딩은 두 개의 중복된 볼륨이 있을 때 반사 프로브 사이에서 발생하지 않습니다.
Anchor Override 라이트 프로브 또는 반사 프로브 시스템을 사용할 때 보간 포지션을 결정하기 위해 Unity가 사용하는 변형을 설정합니다. 기본적으로 이는 렌더러의 지오메트리 바운딩 박스의 중심입니다.

이 프로퍼티는 Renderer.probeAnchor API에 해당합니다.

추가 설정

Additional Settings 섹션에는 추가 프로퍼티가 포함되어 있습니다.

프로퍼티 설명
Motion Vectors 모션 벡터를 사용하여 이 렌더러의 픽셀당 스크린 공간 모션을 한 프레임에서 다음 프레임으로 추적할지 여부를 설정합니다. 이 정보를 사용하여 모션 블러와 같은 포스트 프로세싱 효과를 적용할 수 있습니다.

참고: 일부 플랫폼만 모션 벡터를 지원합니다. 자세한 내용은 SystemInfo.supportsMotionVectors를 참조하십시오.

이 프로퍼티는 Renderer.motionVectorGenerationMode API에 해당합니다.
Camera Motion Only 카메라 움직임만을 사용하여 모션을 추적합니다.
Per Object Motion 특정 패스를 사용하여 이 렌더러에 대한 모션을 추적합니다.
Force No Motion 모션을 추적하지 않습니다.
Dynamic Occlusion Dynamic Occlusion이 활성화되면 Unity의 오클루전 컬링은 정적 오클루더에 의해 카메라 뷰에서 차단될 때 이 렌더러를 컬링합니다. 이 동적 오클루전이 활성화되지 않으면 시스템은 정적 오클루더에 의해 카메라 뷰에서 차단되면 이 렌더러를 컬링하지 않습니다.

동적 오클루전은 기본값으로 활성화되어 있습니다. 이 옵션은 벽 뒤의 캐릭터 윤곽을 드로우하는 것과 같은 효과에 대해 비활성화합니다.
Sorting Layer 이 렌더러의 정렬 레이어 이름입니다.
Order in Layer 정렬 레이어 내에서 이 렌더러의 순서입니다.
라인, 트레일, 빌보드
Trail Renderer 컴포넌트