컴포넌트 렌더링

컴포넌트 기반 렌더링의 여러가지 유형에 대한 개요로, 예를 몇 가지 들자면 파티클 시스템 컴포넌트, 데칼 컴포넌트, 빌보드 컴포넌트 등입니다.

Choose your operating system:

Windows

macOS

Linux

애트머스페릭 포그 컴포넌트

AtmosphericFogComponent 는 레벨의 구름이나 배경 안개같은 포그 이펙트를 만드는 데 사용됩니다. 이 컴포넌트에는 조절가능한 세팅이 여럿 있는데, 배치했을 때 이펙트가 레벨에 생성되는 방식에 영향을 끼칠 수 있습니다.

이 컴포넌트의 Decay Height (감소 고도) 세팅(은 안개 밀도 감소 고도를 제어, 값이 낮으면 안개 농도가 짙어지고 높으면 연해져, 덜 흩어지게 만드는 세팅) 값을 다양하게 한 예제는 아래와 같습니다. 상세 정보는 애트머스페릭 포그 사용 안내서 문서를 참고하세요.

Atmo0.5_4.png

Atmo0.35_4.png

농도 감소 고도 0.5 (8 km)

농도 감소 고도 0.35 (2.744 km)

Atmo1.0_4.png

Atmo1.0_1.png

농도 감소 고도 1.0 (64 km), 최대 산란 4

농도 감소 고도 1.0 (64 km), 최대 산란 1

익스포넨셜 하이트 포그 컴포넌트

ExponentialHeightFogComponent 는 안개의 고도에 비례해 농도가 기하급수적으로 변하는 포그 이펙트를 만드는 데 사용됩니다.

익스포넨셜 하이트 포그란 맵의 높이에 따라 반비례하는 안개의 농도를 부드럽게 전환시켜, 그 고도차에 따른 경계선이 눈에 띄지 않도록 하는 포그 액터입니다. 익스포넨셜 하이트 포그는 도미넌트 디렉셔널 라이트(가 없으면 수직 위) 방향 반구에 하나, 그 반대 방향 반구에 하나, 두 개의 컬러 값을 갖습니다.

ExponHeightFog.png

상세 정보 및 조절가능한 세팅에 대해서는 익스포넨셜 하이트 포그 사용 안내서 문서를 참고하세요.

빌보드 컴포넌트

BillboardComponent 는 항상 카메라를 향해 렌더링되는 2D 텍스처로, 배치 및 쉬운 선택 방법으로 사용될 수 있다는 점에서 ArrowComponent 와 비슷한 역할을 합니다. 예를 들어 아래에서 생성된 포그 시트에서, 추가된 컴포넌트라곤 BillboardComponent 뿐입니다 (실제 포그 이펙트는 스크립트를 통해 동적으로 생성되는 머티리얼입니다).

billboard1.png

레벨 안에서, (지정할 수 있는 텍스처인) BillboardComponent 아이콘을 선택하여 포그 시트를 조작할 수 있습니다.

billboard2.png

이 포그 시트 생성 방법에 대한 예제는, 포그 시트 및 라이트 빔 문서를 참고하세요.

머티리얼 빌보드 컴포넌트

MaterialBillboardComponent 는 항상 카메라를 향해 렌더링되는 2D 머티리얼입니다. 이 컴포넌트 유형을 사용되는 한 예라면, 2D 풀 또는 초목 형태의 경우입니다. 자라나는 풀 한포기 또는 심지어 풀잎 하나하나를 표현하는 데 스태틱 메시를 사용하기 보다는, MaterialBillboardComponent 와 머티리얼을 사용하면, 풀에 대한 3D 표상을 만들 필요가 없습니다. 빌보드가 자동으로 플레이어를 향해 회전하여 3차원 풀인 양 착각을 불러일으키기 때문입니다.

케이블 컴포넌트

CableComponent 는 두 개의 컴포넌트를 붙여 그 사이에 케이블을 렌더링해 줍니다. 케이블 자체에 머티리얼을 할당할 수 있으며, 케이블 표시 방식에 영향을 끼치는 파라미터를 정의할 수 있습니다. 케이블 컴포넌트 사용 방법 자세한 내용은 아래 링크를 참고하세요.

커스텀 메시 컴포넌트

CustomMeshComponent 로 커스텀 트라이앵글 메시 지오메트리를 지정할 수 있습니다.

포즈가능 메시 컴포넌트

PoseableMeshComponent 는 본 트랜스폼을 블루프린트 로 구동시킬 수 있습니다.

데칼 컴포넌트

DecalComponent 는 메시의 표면에 렌더링되는 머티리얼(모델의 "범퍼 스티커" 같은 것)입니다. 데칼은 여러가지 용도로 사용할 수 있는데, 벽에 쐈을 때의 총알 임팩트라든가, 도로위에 차량의 스키드 마크라든가, 총에 맞았을 때 바닥에 흩어지는 선혈 등입니다 (아래에 예제 데칼이 제공됩니다).

Decal_1.png

데칼 작업 관련해서 자세한 정보를 얻을 수 있는 페이지는 다음과 같습니다.

인스턴싱된 스태틱 메시 컴포넌트

InstancedStaticMeshComponent 는 동일한 스태틱 메시의 인스턴스 다수를 효율적으로 렌더링하는 컴포넌트입니다. 이러한 유형의 컴포넌트는 레벨이나 방의 절차적 생성에 특히나 유용한데, 레벨에 스태틱 메시 액터 를 수백 (심지어 수천) 개 배치하는 대신, 인스턴싱된 스태틱 메시 를 하나 배치한 다음 그 스태틱 메시의 인스턴스를 (벽이나 바닥 등) 다수 추가하면 훨씬 낮은 퍼포먼스 비용으로 렌더링 가능합니다.

방 자동 생성 교육 스트리밍 비디오에서 InstancedStaticMesh 컴포넌트를 사용하여 임의의 방을 자동 생성하는 예제를 살펴보실 수 있습니다.

파티클 시스템 컴포넌트

ParticleSystemComponent 로 파티클 이미터를 다른 오브젝트의 서브 오브젝트로 추가시킬 수 있습니다. ParticleSystemComponent 는 파괴되는 것에 폭발 이펙트를 추가하는 것에서부터 불을 붙일 수 있는 것에 화염 이펙트를 추가하는 것까지, 여러가지 이유로 사용할 수 있습니다. 다른 오브젝트에 이러한 유형의 컴포넌트를 추가하면, 스크립트를 통해 게임플레이 도중 파티클 이펙트의 파라미터에 접근 및 설정 (예: 이펙트 켜고 끄기 등이) 가능합니다.

예를 들어, 아래는 보안 카메라에 스파크 이펙트 ParticleSystemComponent 를 추가한 것입니다.

particle1.png

스크립트를 통해 스파크 이펙트를 기본으로 꺼놨다가, 카메라에 총을 쏘면 켜지도록 할 수 있습니다.

particle2.png

자세한 정보는 파티클 시스템 문서를 참고하세요.

포스트 프로세스 컴포넌트

PostProcessComponet 블루프린트 에 대한 포스트 프로세스 제어가 가능합니다. 부모 UShapeComponent 를 사용하여 가능한 경우 볼륨 데이터를 제공해 줍니다. 이러한 유형의 컴포넌트는 레벨에 포스트 프로세스 세팅이 적용되면 레벨의 톤 전환에 사용될 수 있습니다. 예를 들어 게임에서 플레이어가 대미지를 입었(, 또는 살해당했)을 때 사용할 기본 포스트 프로세스 세팅을 정의했다면, 스크립트를 통해 Scene Color Tint (씬 컬러 색조)에 대해 검정/하양 톤으로 세팅을 변경할 수 있습니다.

자세한 정보는 포스트 프로세싱 콘텐츠 예제 또는 포스트 프로세스 이펙트 문서를 참고하세요.

씬 캡처 2D 컴포넌트

SceneCapture2DComponent 는 한 면에서 씬의 "스냅샷"을 캡처하여 렌더 타깃에 물려주는 데 사용됩니다. 캡처할 때 필드 오브 뷰 (FOV) 제어는 물론 (다른 세팅도 많지만) 렌더 타깃 텍스처 지정을 위한 세팅도 있습니다. 이에 대한 예제라면 (아래 보이는) 거울이나 모니터에 보이는 보안 카메라 화면을 만드는 경우입니다 ( 보안 카메라 전환 버튼 참고).

2dRender.png

위에서는 SceneCapture2DComponent 블루프린트 를 만든 다음 렌더 타깃 텍스처를 할당하고, 그것을 레벨의 지오메트리 조각에 적용한 머티리얼 로 사용합니다. 자세한 정보는 1.7 - 씬 캡처 2D 문서를 참고하세요.

씬 캡처 큐브 컴포넌트

SceneCaptureCubeComponent 는 6 개의 면에서 씬 "스냅샷" 을 캡처한 다음 렌더 타깃에 물려주는데 사용됩니다.

Reflections_1_6_Header.png

SceneCapture2DComponent 로 씬 캡처 대부분의 경우가 해결되지만, 배경의 3D 캡처가 필요한 경우에는 이러한 유형의 컴포넌트를 사용하면 됩니다. 그래도 주의할 점은, 퍼포먼스 비용이 매우 비싸기 때문에 반드시 필요한 경우에만 사용해야 할 것입니다. 레벨에 리플렉션을 만드는 여러가지 방법에 대한 상세 정보는 리플렉션 문서를 참고하세요.

스플라인 메시 컴포넌트

SplineMeshComponent 는 스태틱 메시 애셋을 늘이고 굽히는 데 사용할 수 있습니다. SplineMeshesComponent 에는 스플라인 시작/끝 에 대한 탄젠트와 위치 벡터를 제공해 줘야 합니다. 아래에서 SplineMeshComponent 블루프린트 에 추가하고, 파이프 스태틱 메시 를 영향을 줄 애셋으로 할당했습니다.

splinemesh.png

컴포넌트 자체에 탄젠트와 위치 벡터를 지정하는 와중에, 스크립트를 사용하여 이들을 변수로 설정하고 퍼블릭으로 만들어 아래와 같이 에디터 뷰포트 안에서 편집가능하도록 할 수 있습니다.

splinemesh2.png

위에서 전체 액터 이동의 시작 트랜스폼 끝 트랜스폼 을 독립적으로 이동시켜, 원하는 대로 늘이거나 회전시킬 수 있습니다. 이 예제와 구성은 블루프린트 스플라인 콘텐츠 예제 콘텐츠 예제 맵 안에서 찾을 수 있습니다.

텍스트 렌더 컴포넌트

TextRenderComponent 는 월드에 주어진 폰트로 텍스트를 렌더링합니다. 스케일, 얼라인먼트, 컬러 등의 일반적인 폰트 관련 특성이 포함됩니다. 이 컴포넌트를 사용하여 플레이어에게 레벨에 있는 오브젝트가 상호작용 가능하다고 알려줄 수 있습니다.

예를 들어 레벨에 플레이어가 다가가 버튼을 누르면 앉을 수 있는 의자가 있다고 칩시다. 앉기 명령을 실행하는 데 필요한 안내가 들어있는 TextRenderComponent 를 (표시여부를 끈 채) 추가하고 플레이어가 들어서면 표시여부를 켜주는 BoxComponent 를 같이 추가합니다 (아래 참고).

text1.png

게임에서 플레이어가 트리거에 들어서면, TextRenderComponent 텍스트가 표시되어 플레이어에게 앉는 방법을 알려줍니다.

text2.png

벡터 필드 컴포넌트

VectorFieldComponent 는 GPU 스프라이트의 가속도나 속도를 결정하는 데 사용할 수 있는 속도 벡터의 그리드 포함 3D 컨테이너인 벡터 필드 참조에 사용됩니다. 벡터 필드는 바람 돌풍 파티클 이펙트와 같은 소규모 이펙트에서 레벨의 블리자드같은 대규모 이펙트에 사용할 수 있습니다. 자세한 정보는 2.1 - 로컬 벡터 필드를 통한 파티클 모션 구동 , 2.2 - 글로벌 벡터 필드를 통한 파티클 모션 구동 문서를 참고하세요.

image050.png

언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
취소