본문 바로가기
[ CODING STUDY ]/》언리얼엔진5 실습

언리얼엔진5 총알구멍

by MRG 2024. 2. 14.
728x90
반응형

 

▣ 먼저 총알 이미지를 불러와서 이미지를 Material로 생성합니다. 

 

 

▣ Material Domain과 Blend Mode를 설정합니다. 

 

https://docs.unrealengine.com/5.0/ko/unreal-engine-material-properties/

 

머티리얼 프로퍼티

언리얼 엔진의 머티리얼 프로퍼티를 소개하는 문서입니다.

docs.unrealengine.com

 

Material Domain
머티리얼 도메인을 설정하면 머티리얼을 사용하는 방식을 정의할 수 있습니다. 

 

 Material Domain 종류
Surface
이 세팅은 머티리얼을 오브젝트의 표면에 사용될 대상으로 정의합니다. 여기에는 메탈, 플라스틱, 피부 등의 물리적 표면이 포함됩니다. 디폴트 세팅이며, 대부분 이 세팅을 사용합니다.

Deferred Decal
데칼 머티리얼을 만들 때 사용합니다.

Light Function
라이팅 함수와 함께 사용할 머티리얼을 만드는 경우에 사용합니다.

Volume
머티리얼의 어트리뷰트를 3D 볼륨으로 설명할 때 사용합니다.

Post Process
포스트 프로세스 머티리얼을 생성하려는 경우에 사용합니다.

User Interface
UMG 또는 슬레이트 유저 인터페이스를 위한 머티리얼을 만들 때 사용합니다.

Virtual Texture
런타임 버추얼 텍스처를 만들 때 사용합니다.

 

▣ 총알구멍은 데칼머티리얼로 사용하기 위해 Deferred Decal로 설정합니다.

 

 

▣  Blend Mode
블렌드 모드는 현재 머티리얼의 출력을 이미 그려지는 배경과 어떻게 블렌드 할 것인지를 나타냅니다

▣  Blend Mode 종류

BLEND_Opaque
최종색 = 원본색. 즉, 배경 위에 머티리얼을 그립니다. 이 블렌드 모드는 라이팅과 호환됩니다.

BLEND_Masked
OpacityMask > OpacityMaskClipValue인 경우 최종색 = 원본색. 그 외의 경우 픽셀을 버립니다. 이 블렌드 모드는 라이팅과 호환됩니다.

BLEND_Translucent
최종색 = 원본색 오파시티 + 대상색 (1 - 오파시티). 이 블렌드 모드는 다이내믹 라이팅과 호환되지 않습니다.

BLEND_Additive
최종색 = 원본색 + 대상색 이 블렌드 모드는 다이내믹 라이팅과 호환되지 않습니다.

BLEND_Modulate
최종색 = 원본색 x 대상색. 데칼 머티리얼이 아닌 이상 이 블렌드 모드는 다이내믹 라이팅이나 포그와 호환되지 않습니다.

AlphaComposite
사전에 곱한 알파를 가진 텍스처가 있는 머티리얼에 사용합니다. 즉, 컬러 채널에 이미 알파를 곱했기 때문에 프레임 버퍼와 블렌딩 할 때 GPU가 일반적으로 알파 블렌딩에 사용되는 (SrcAlpha * SrcColor) 계산을 건너뛸 수 있습니다. 애디티브 블렌딩의 시각적 외관을 향상시킬 수 있습니다.

AlphaHoldout
머티리얼의 알파를 ‘홀드아웃'하여 반투명 오브젝트를 통과해 바로 뒤에 구멍을 뚫을 수 있습니다.

 

▣ 오파시티를 연결하여 라이팅효과가 없고 투명도를 적용하기 위해 Translucent를 선택합니다.

 

 

▣ Material Opacity
물이나 유리 같은 표면을 만들 때는, 표면을 통과해 볼 수 있을 뿐만 아니라, 표면에 깊이나 색감을 더해주기도 해야 합니다. 현실에서 이러한 속성을 일컬어 종종 Transparency (투명도) 또는 Opacity (오파시티)라 하며, 서로 같은 것을 가리킵니다. 하지만 언리얼 엔진 4 (UE4) 안에서, 투명도는 표면을 통과해서 볼 수 있느냐 없느냐를 말하는 반면, 오파시티는 표면의 투명한 정도를 정의하는 데 사용됩니다. 

 

▣ Texture Simple에 A 알파노드를 Opacity에 연결합니다.

 

 

 

▣ 플레이 블루프린트에 들어와서 Spawn Decal Attached 노드를 생성합니다. 

 

https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Rendering/Components/Decal/SpawnDecalAttached/

 

Spawn Decal Attached

Spawn Decal Attached

docs.unrealengine.com

 

▣ spawn decal attached 노드
데칼 소재

데칼 크기

구성요소에 부착(컴포넌트)

부착점 이름

위치(위치 유형 값에 따라 이는 연결 구성 요소/점의 상대 오프셋이거나 상대 오프셋으로 변환되는 절대 세계 위치입니다.)

회전(LocationType 값에 따라 이는 연결 구성 요소/점의 상대 오프셋이거나 실제 오프셋으로 변환되는 절대 세계 회전입니다.)

위치 유형(위치가 상대 오프셋인지 절대 세계 위치인지 지정합니다.)

수명(시간이 지나면 데칼 구성요소를 제거합니다(0 = 무한))

 

▣ 메뉴로 이루어져 있으며 Decal Material은 아까 생성한 Bullet Hole로 설정하고

Decal Size는 x, y, z 10으로 Attach to Component 는 Hit Component로 Location은 Hit에 닿은 표면위치 Impact Point로 Rotation은 Nomal회전값에 X vector를 구하여 연결합니다. 

 

https://docs.unrealengine.com/5.0/en-US/BlueprintAPI/Math/Conversions/RotationFromXVector/

 

Rotation From X Vector

Rotation From X Vector

docs.unrealengine.com

 

▣ Location Type은 위치유형이기 때문에 World Potision으로 Life Span 수명은 10으로 지정합니다. 

 

 

▣ 컴파일 저장 후 플레이를 해서 총알을 발사하면 이렇게 총알 Material이 생성되는 걸 확인할 수 있습니다. 

728x90
반응형

댓글