스켈레탈 메시 애셋 디테일

스켈레탈 메시 에디터의 애셋 디테일 패널 사용 안내서입니다.

Windows
MacOS
Linux

MeshDetails.png

스켈레탈 메시 에디터 안의 애셋 디테일 패널에는 스켈레탈 메시에 관련된 프로퍼티가 표시됩니다. 이를테면 표면에 적용된 머티리얼, 스키닝, LOD 옵션같은 것입니다. 또 래그돌 유형 모션에 필요한 스켈레탈 메시의 피직스 애셋 정의 및 할당, 또는 APEX 클로딩 할당 및 조정 작업도 가능합니다.

여기서는 애셋 디테일 패널 내 각 섹션에 대해, 부가 문서에 대한 링크를 포함해서 개괄적으로 안내해 드립니다.

머티리얼

외부 프로그램에서 모델링한 메시에 적용된 모든 머티리얼은 메시와 같이 익스포트됩니다. 언리얼 엔진 4 (UE4)에 그 메시를 임포트할 때, FBX 임포트 프로세스 의 일부로 그 머티리얼을 자동으로 임포트할 수 있습니다. 머티리얼은 스켈레탈 메시 에디터 내 Materials 섹션 아래 나타나며, UE4 프로젝트 내 존재하는 다른 머티리얼로 덮어쓸 수 있습니다.

MaterialsTable.png

Material Slots (머티리얼 슬롯) 을 추가하여, (베이스 LOD 를 제외한) LOD 섹션을 덮어쓸 수 있습니다.

LOD

스켈레탈 메시를 임포트할 때, 그 메시용으로 만들어 연관시킨 레벨 오브 디테일 (LOD) 도 같이 임포트할 수 있습니다.

LODSection.png

원하는 옶현의 체크박스를 클릭하는 것으로 메시의 특정 섹션만 표시하도록 하여 메시의 일부분만 Highlight (강조) 또는 Isolate (고립)시키는 것이 가능합니다. 또 Material 섹션에서 머티리얼 슬롯 에 Material Elements (머티리얼 엘리먼트)를 할당하거나, LOD 별로 섹션을 덮어쓰는 것도 가능합니다.

강조 켜기

고립 켜기

그림자 드리우기를 켜고 끄는 것은 엘리먼트 단위로도, LOD 단위로도 가능합니다 (어떤 곳에서는 그림자를 드리울 필요가 없을 수 있기 때문입니다).

그림자 드리우기 켜기

그림자 드리우기 끄기

뷰포트 안에서, (아래) 프리뷰 LOD 버튼을 클릭하여 쓰이는 LOD 를 전환해 볼 수 있습니다 (Display Info (정포 표시) 옵션으로 통계 정보를 켜 보는 것도 도움이 될 수 있습니다).

previewLODs.png

LOD 프리뷰어를 사용하면 LOD 사이의 시각적 차이를 조사할 수 있습니다. 또한, 각 LOD 관련 통계 정보도 조사할 수 있습니다. 예를 들어, 아래 이미지에서, LOD 2 의 트라이앵글 양는 LOD 0 의 트라이앵글 양 거의 절반입니다.

LOD 0

LOD 2

LOD 인포

LOD Info(인포) 섹션에서는 현재 LOD 와 관련된 다른 세팅과 함께 LOD 렌더링 방식을 정의할 수 있습니다.

LOD Info Section-2.png

프로퍼티

설명

Screen Size

화면 크기 - LOD 를 표시할 화면 크기입니다. 모델의 바운딩 스피어 투영 직경에 따라 달라집니다. 예를 들어, 0.5 는 화면의 최대 치수 절반입니다.

LOD Hysteresis

LOD 히스테리시스 - LOD 바운더리의 "깜빡임" 현상을 방지하는 데 사용됩니다. 복합에서 단순으로 이동할 때만 고려합니다.

Source Import Filename

소스 임포트 파일명 - 자동 생성이 아닌 경우 LOD 를 임포트할 때 사용한 파일의 이름입니다.

Allow CPUAccess

CPU 접근 허용 - FX 의 샘플링같은 것에 사용할 수 있도록 LOD 데이터를 CPU 에 유지합니다.

Support Uniformly Distributed Sampling

균등 분포 샘플링 지원 - 메시가 일정 시간 동안 균등 분포 샘플링을 지원합니다. 메모리 비용은 트라이앵글 당 8 바이트입니다. 사용 예는 파티클 균등 스폰입니다.

Bake Pose

포즈 굽기 - LOD 메시에 단일 프레임을 구워넣을 수 있도록 합니다 (본을 제거하고 포즈는 유지하려 할 때 좋습니다. 이 표 아래 비디오 예제를 참고하세요).

Bones to Remove

제거할 본 - 스켈레톤에서 LOD 레벨에 대해 제거할 본입니다.

Reduction Settings

감소 세팅 - 렌더 데이터를 빌드할 때 적용할 감소 세팅 입니다.

Regenerate LOD

LOD 재생성 - 현재 LOD 를 재생성할 수 있습니다.

Remove this LOD

이 LOD 제거 - 현재 LOD 를 제거할 수 있습니다.

Reimport

리임포트 - 컴퓨터에서 LOD 를 다시 가져올 수 있습니다.

Reimport (New File)

리임포트 (새 파일) - 새 LOD 를 다시 가져와 기존 LOD 를 덮어쓸 수 있습니다.

다음은 LOD 를 전환하면서 Bake Pose 를 사용하여 캐릭터의 손 포즈를 유지하는 예입니다.

감소 세팅

위 개요의 옵션에 추가로, 생성되는 LOD 마다 최적화용 Reduction Settings (감소 세팅) 정의가 가능합니다.

언리얼 엔진 4.22 릴리즈 이후 UE4 의 Simplygon 지원이 폐기되어 더이상 지원하지 않습니다. Simplygon 에서 업데이트를 계속 받을 수는 있지만, 엔진 통합은 직접 하셔야 합니다. 대안으로 사용되는 저희 자체 내부 솔루션 관련 자세한 정보는 스켈레탈 메시 감소 툴 문서를 참고하세요.

ReductionSettingsOnly.png

렌더 데이터를 빌드할 때 적용할 수 있는 세팅은 다음과 같습니다:

프로퍼티

설명

Reduction Method

감소 메서드 - 스켈레탈 메시 LOD 최적화에 사용할 수 있는 메서드입니다. Triangles (트라이앵글), Accuracy (정확도), Any (두 조건 중 충족되는 조건 아무거나)로 설정할 수 있습니다.

Triangle Percentage

트라이앵글 퍼센티지 - 단순화할 때 소스 메시 트라이앵글 수의 이 백분율만큼을 목표로 삼습니다.

Accuracy Percentage

정확도 퍼센티지 - 단순화할 때 소스 메시에서 이만큼의 편차까지 허용합니다. 하드 서피스에 더욱 잘 작동합니다. 이 값을 100% 로 설정하면 베이스 LOD 와 같습니다.

Remap Morph Targets

모프 타깃 리매핑 - 베이스 LOD 에서 감소된 LOD 로 모프 타깃을 리매핑합니다.

Silhouette

실루엣 - 지오메트리 모양의 중요도입니다.

Texture

텍스처 - 텍스처 밀도의 중요도입니다.

Shading

셰이딩 - 셰이딩 퀄리티 중요도입니다.

Skinning

스키닝 - 스키닝 퀄리티 중요도입니다.

Welding Threshold

결합 한계치 - 결합 거리 한계치입니다. 이 거리 안에 있는 버텍스는 결합됩니다.

Recompute Normal

노멀 재계산 - 노멀 스무딩 그룹 보존 여부입니다. true 면 Hard Edge Angle (Normals Threshold) 를 사용합니다.

Hard Edge Angle

하드 에지 앵글 - 두 트라이앵글 사이 각도가 이 값보다 크면, 그 두 트라이앵글 사이 에지에 대해 노멀을 스무딩하지 않습니다. Recalculate Normals 옵션이 True 설정되었을 때만 쓰입니다.

Max Bones Influence

최대 본 인플루언스 - 각 버텍스에 할당할 수 있는 본 최대 개수입니다.

Base LOD

베이스 LOD - 이 LOD 를 생성할 베이스 LOD 인덱스입니다. 기본으로, LOD 0 에서 생성합니다.

Bone List(본 리스트)를 사용하는 감소 세팅은 (블랙리스트는 물론) 화이트리스트도 허용하므로, 특정 조인트만 유지할 수 있습니다.

BoneFilterAction_01.png

Bone Filter Action (본 필터 액션) 옵션을 사용하여 본 리스트에 본을 추가한 후 원하는 세팅을 정의할 수 있습니다.

LOD 세팅 공유

스켈레탈 메시는 LOD 정보를 바로 설정하는 대신 LOD Settings (LOD 세팅) 애셋 유형의 의 공유 데이터 애셋을 사용할 수 있습니다 (감소 세팅 공유 기능을 포함합니다). 스켈레탈 메시의 애셋 디테일 패널 내 LOD Settings (LOD 세팅) 아래에서, 사용할 LOD 세팅 애셋을 선택하거나 Generate Asset (애셋 생성) 버튼을 누른 뒤 현재 세팅에 따라 새 LOD 세팅 애셋을 생성하면 됩니다.

LODSettings.png

LOD 세팅 애셋을 선택하면, 옵션이 회색으로 표시되고 그 애셋 안에 들어있는 정보를 사용합니다.

AssignedLODSettings.png

LOD 세팅 애셋을 새로 만드는 방법은 다음과 같습니다.

1. 콘텐츠 브라우저신규 추가 버튼에서 기타 아래 데이터 애셋 을 선택합니다.**

DataAsset.png

2. 애셋을 생성한 뒤, SkeletalMeshLODSettings 를 클래스로 할당합니다.

DataAssetClass.png

  1. LOD Groups (LOD 그룹) 및 애셋과 함께 저장할 세팅을 설정하면 다른 스켈레탈 메시와 함께 사용할 수 있습니다.

LOD_DataAsset.png

클로딩

Clothing 섹션에서는 메시에 연관시킬 APEX 클로딩 파일 추가가 가능합니다. APEX 클로딩 파일 추가... 버튼을 클릭하면 .apb 또는 .apx 파일 임포트 프로세스가 시작되며, FBX 파일 임포트와 같은 파이프라인을 사용합니다.

AddApex.png

Apex 파일 임포트를 마쳤으면, 피직스 프로퍼티 조정을 통해 원하는 결과를 낼 수 있습니다.

OwenApexCloth.png

예를 들어 이 캐릭터에는 두 개의 Apex 파일이 연관되어 있는데, 하나는 캐릭터의 타이에, 다른 하나는 코트에 연관되어 있습니다.

메시

Mesh 섹션에서는, 메시가 어떤 스켈레톤 애셋을 사용하고 있는지 확인하고, 콘텐츠 브라우저 에서 탐색할 수 있습니다. 또 Positive Bounds ExtensionNegative Bounds Extension (양/음수 바운드 익스텐션) 값을 설정하는 옵션도 있는데, 메시를 임포트하면 그 바운드 값에 오프셋을 적용하는 데 사용됩니다. 다른 옵션으로 Use Full Precision UVs (최대 정밀도 UV 사용) 옵션을 켜면 32 비트 UV 를 사용합니다 (그냥 놔두면 16 비트 UV 를 사용하여 메모리가 절약됩니다).

MeshSection.png

피직스

Physics 섹션에서는 콜리전 정보에 스키닝된 데이터를 사용하는 메시에 대해 Enable Per Poly Collision (폴리전 단위 콜리전 활성화)가 가능합니다. 폴리곤 단위 콜리전은 시뮬레이션에는 사용할 수 없으며, 그럴 때는 대부분 피직스 애셋 을 사용하는 편이 낫습니다. 스켈레탈 메시에 피직스 애셋 을 할당하여 피직스 및 콜리전 정보에 활용하도록 하는 기능도 있습니다. 본 단위 히트 감지, 정확한 바운딩 박스 계산, 래그돌 피직스에 사용됩니다.

PhysicsSection.png

라이팅

Lighting 섹션의 Shadow Physics Asset (섀도 피직스 애셋) 옵션에서 피직스 애셋을 지정하면, 컴포넌트에 Cast Character Capsule Direct Shadow (캐릭터 캡슐 직접 그림자 드리우기) 또는 Cast Character Capsule Indirect Shadow (캐릭터 캡슐 간접 그림자 드리우기) 옵션이 켜졌을 때 피직스 애셋의 모양을 사용하여 그림자 처리를 합니다. 피직스 애셋에는 구체 및 스필 모양만 지원됩니다. 또 한 가지 중요한 점은, 사용되는 모양의 수가 많아질 수록 캡슐 그림자 비용도 높아진다는 점 기억하시기 바랍니다.

Lighting.png

게임 내에서, 간접 캡슐 그림자는 캐릭터가 바닥에 붙어있는 느낌을 내기에 좋은 방법입니다:

IndirectShadows.png

직접 캡슐 그림자는 구은 라이팅 인바이런먼트를 사용하여 부드러운 캐릭터 그림자를 효율적으로 처리해 낼 수 있습니다.

DirectShadows.png

라이트의 Source Radius (소스 반경) 또는 Source Angle (소스 각도)는 그림자의 부드러운 정도를 결정합니다. 캡슐 그림자는 매우 효율적인데, 깊이값 인식 업샘플링을 통해 반해상도로 그림자를 계산하고, 화면 타일 컬링을 통해 그림자가 드리워지는 곳에만 계산이 일어나도록 제한시킬 수가 있기 때문입니다. GPU 비용은 캡슐의 수, 드리워지는 그림자에 영향받는 픽셀 수에 비례합니다.

스켈레탈 메시

여기서는 Post Process Anim Blueprint (포스트 프로세스 애님 블루프린트)를 할당할 수 있습니다. 이는 메시에 대한 포스트 프로세스로 실행되는 애니메이션 블루프린트 클래스를 말합니다. 이 블루프린트는 피직스 이전, 그러나 메시를 사용하는 스켈레탈 메시 컴포넌트 에 대한 메인 애님 인스턴스 이후에 실행됩니다.

SkeletalMesh.png

이를 통해 AnimDynamics 또는 기타 컨트롤러를 구성하면, 연관된 메시를 애니메이션 툴에서나 볼 때나, 시퀀서 시네마틱의 일부 또는 레벨에 배치된 스켈레탈 메시 액터를 통해서 볼 때 그 메시에 항상 적용되도록 할 수 있습니다. 이 기능은 다수의 애니메이션 블루프린트를 실행하는 복합 캐릭터에 유용한데, (다른 애님 블루프린트 기능 중에도) 애님 다이내믹, 컨트롤러, IK 는 메시에 관련될 것이고, 메시와 함께 사용하려 하는 애니메이션 블루프린트마다 복제할 필요가 없을 것입니다.

포스트 프로세스 애님 블루프린트를 할당하려면, 드롭다운 메뉴를 클릭하고 기본 애니메이션 블루프린트를 지정하면 됩니다.

SelectPostProcessAnimBP.png

아래 예제 비디오를 통해 스켈레탈 메시에서 게임플레이 도중 포스트 프로세스 애님 블루프린트 실행 방식을 확인할 수 있습니다.

다수의 애니메이션 블루프린트를 사용하는 보다 복잡한 애니메이션 구성이 있는 경우, 포스트 프로세스 애님 블루프린트에 Sub-Graph Input 노드를 포함시켜 줘야 할 것입니다.

SubGraphInput.png

그러면 스켈레탈 메시의 베이스 포즈를 사용하기 보다는 (적용가능한 경우) 부모 애니메이션 블루프린트에서 포즈 정보를 구할 수 있을 것입니다._

블루프린트를 통해 스켈레탈 메시 컴포넌트에서 Post Process Instance (포스트 프로세스 인스턴스) 실행 여부를 제어하거나 포스트 프로세스 인스턴스를 할당할 수도 있습니다.

TogglePostProcess.png

위에서 Mesh 라는 스켈레탈 메시 컴포넌트가 있고, 여기서 Toggle Disable Post Process Blueprint 를 호출하여 할당한 포스트 프로세스 블루프린트의 상태를 토글합니다. 또 Get Post Process Instance 노드를 사용하면 할당된 포스트 프로세스 인스턴스가 할당된 것이 있는 경우 활성화된 것을 반환합니다. 이 인스턴스는 컴포넌트가 사용하는 메시에 설정하며, 메인 인스턴스 직후 평가합니다.

스켈레탈 메시 컴포넌트를 선택하고 디테일 패널 안에서 값을 바로 설정할 수도 있습니다.

DetailsPanel.png

트랜스폼

스켈레탈 메시 에디터 안의 Transform 섹션에서는 Import Translation (임포트 이동) 옵션을 통해 메시를 임포트할때 월드 원점에서 오프셋을 적용시켜 원래 아트 프로그램에서의 위치와 일치시킬 수 있습니다. 마찬가지로 Import Rotation (임포트 회전)은 메시의 회전을, Import Uniform Scale (임포트 균등 스케일)은 메시의 균등 스케일을 원본 아트 프로그램과 일치시키는 데 사용됩니다.

TransformSection.png

썸네일

Thumbnail 옵션은 콘텐츠 브라우저 또는 에디터 툴바 에 표시되는 썸네일의 틀에 메시를 어떻게 담을 것인지 변경할 수 있습니다.

ThumbnailSection.png

임포트 세팅

Import Settings 섹션에서는 메시의 초기 FBX 스켈레탈 메시 임포트 프로세스 도중 사용되는 세팅을 변경할 수 있습니다.

ImportSettingsSection.png

Select Skin
Light
Dark

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

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

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

네이버 카페
공식 포럼