컴포넌트 렌더링

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

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

Select Skin
Light
Dark

새로운 언리얼 엔진 4 문서 사이트에 오신 것을 환영합니다!

문서 사이트에 대한 의견을 모을 수 있는 피드백 시스템을 포함해서 여러가지 새로운 기능을 준비하고 있습니다. 아래 Documentation Feedback 포럼(영문) 또는 언리얼 엔진 네이버 공식 카페(한글) 중 편하신 곳에 의견이나 문제점을 알려 주세요.

새 시스템이 준비되면 알려 드리겠습니다.

네이버 카페
공식 포럼