FBX 테스트 빌더

FBX 자동화 테스트 빌더에서는 세션 프론트엔드에서 사용하는 FBX 파일용 자동화 테스트를 만들 수 있습니다.

Windows
MacOS
Linux

자동화 시스템 의 일부인 FBX Test Builder (FBX 테스트 빌더)는 개별 FBX 파일에 대해 별도의 테스트를 만들 수 있도록 해주는 플러그인입니다. FBX 테스트 빌더는 단일 FBX 파일에 대해 임포트 및 리임포트 후 예상 결과 배열과 비교하는 데 사용할 수 있는 테스트 플랜을 만듭니다. 생성되는 테스트 플랜은 JSON 파일에 저장되며, 테스트 대상 FBX 파일과 확장자를 제외한 이름이 같습니다.

FBXTestBuilder.png

FBX 테스트 빌더로 테스트 플랜을 만들면 FBX 파일에 대해 선택된 작업을 한 뒤 예상 결과 배열과 비교하여 완료된 테스트의 성공 또는 실패 여부를 판가름할 수 있습니다.

플러그인 활성화

FBX 자동화 테스트를 만들기 전, 먼저 편집 > Plugins (플러그인) > Testing (테스팅)에서 FBXAutomationTestBuilder 플러그인을 활성화시켜야 합니다.

클릭하면 원본을 확인합니다.

플러그인 활성화 이후, 엔진을 재시작한 뒤 열어볼 수 있습니다.

클릭하면 원본을 확인합니다.

FBX 테스트 빌더는 파일 메뉴의 > 자동화 툴 > FBX Test Builder 로 열 수 있습니다.

클릭하면 원본을 확인합니다.

테스트 플랜 만들기

FBX 테스트 빌더를 사용하면, 선택된 Action (액션 또는 동작)을 수행하고 일련의 Expected Results (예상 결과)를 통해 주어진 FBX 파일에 대해 성공 또는 실패 여부를 판단합니다. 이러한 액션 및 결과 세트를 Test Plan (테스트 플랜)이라 합니다.

액션

각 테스트 플랜에 대해, 수행할 수 있는 핵심 액션은 다섯 가지이며, 각 액션에는 저다마 범주가 있어 올바른 테스트를 수행하는 데 사용됩니다. 이러한 액션과 그 범주는 개괄적으로 다음과 같습니다:

Actions.png

액션

단계

Import

  • FBX 파일을 임포트합니다.

  • 예상 결과를 검증합니다.

Reimport

  • 임포트된 애셋이 삭제되지 않은 임포트 테스트 플랜 이후 실행해야 합니다.

  • FBX 파일을 리임포트합니다.

  • 예상 결과를 검증합니다.

Add LOD (Level of Detail)

  • 임포트된 애셋이 삭제되지 않은 임포트 테스트 플랜 이후 실행해야 합니다.

  • FBX 파일 이름은 _lod00 로 끝나야 합니다.

  • 같은 이름에 _lod0X 로 끝나는 FBX 파일이 있어야 합니다 (X0 보다 큽니다).

  • LOD 를 추가합니다.

  • 예상 결과를 검증합니다.

Reimport LOD (Level of Detail)

  • 기존에 임포트된 LOD 를 ImportAdd LOD 액션으로 리임포트합니다.

Import Reload

  • FBX 파일을 임포트합니다.

  • 패키지를 저장합니다.

  • 메모리에서 생성된 UObject 를 언로드합니다.

  • 저장된 패키지를 리로드합니다.

  • 예상 결과를 검증합니다.

예상 결과

각 테스트 플랜에 대해, 예상 결과 목록을 평가하여 테스트 성공 또는 실패 여부를 판단합니다.

ExpectedResult.png

세팅

설명

Expected Presets Type

예상 프리셋 유형 - 검사해야 하는 미리 정의된 데이터입니다.

검사 유형

설명

필수 데이터 유형

Error Number

오류 횟수 - 데이터에 오류 횟수가 [int0] 있어야 합니다.

Integer

Warning Number

경고 횟수 - 데이터에 경고 횟수가 [int0] 있어야 합니다.

Integer

Created Static Mesh Number

스태틱 메시 생성 횟수 - 데이터에 스태틱 메시 생성 횟수가 [int0] 있어야 합니다.

Integer

Created Skeletal Mesh Number

스켈레탈 메시 생성 횟수 - 데이터에 스켈레탈 메시 생성 횟수가 [int0] 있어야 합니다.

Integer

Materials Created Number

머티리얼 생성 횟수 - 데이터에 타깃 콘텐츠 폴더 내 머티리얼 생성 횟수가 [int0] 있어야 합니다.

Integer

Material Slot Imported Name

머티리얼 슬롯 임포트 횟수 - 데이터가 슬롯 인덱스 [int0] 이고 예상되는 원본 임포트 머티리얼 슬롯 이름이 [string0] 여야 합니다.

Integer 및 String

Vertex Number

버텍스 수 - 데이터가 모든 LOD 에 대한 버텍스 총 수 [int0] 여야 합니다.

Integer

LOD Number

LOD 수 - 데이터가 예상되는 LOD 수가 [int0] 여야 합니다.

Integer

Vertex Number LOD

버텍스 수 LOD - 데이터가 LOD 인덱스 [int0] 이고 LOD 에 대한 버텍스 총 수는 [int1] 여야 합니다.

Integer 둘

Mesh Materials Number

메시 머티리얼 수 - 데이터에 머티리얼 수가 메시 인덱스 [int0] 만큼 있어야 합니다.

Integer

Mesh LOD Section Number

데이터가 LOD 인덱스 [int0] 여야 하며 메시의 예상 섹션 수는 [int1] 여야 합니다.

Integer 둘

Mesh LOD Section Vertex Number

메시 LOD 섹션 버텍스 수 - 데이터가 LOD 인덱스 [int0], 섹션 인덱스 [int1], 버텍스 예상 수 [int2] 여야 합니다.

Integer 셋

Mesh LOD Section Triangle Number

데이터가 LOD 인덱스 [int0], 섹션 인덱스 [int1], 트라이앵글 예상 수 [int2] 여야 합니다.

Integer 셋

Mesh LOD Section Material Name

메시 LOD 섹션 머티리얼 이름 - 데이터가 LOD 인덱스 [int0], 섹션 인덱스 [int1], 예상 머티리얼 이름 [string0] 여야 합니다.

Integer 및 String

Mesh LOD Section Material Index

메시 LOD 섹션 머티리얼 인덱스 - 데이터가 LOD 인덱스 [int0], 섹션 인덱스 [int1], 메시 머티리얼의 예상 머티리얼 인덱스 [int2] 여야 합니다.

Integers 셋

Mesh LOD Section Material Imported Name

메시 LOD 섹션 머티리얼 임포트 이름 - 데이터가 LOD 인덱스 [int0], 섹션 인덱스 [int1], 예상 원본 임포트 머티리얼 슬롯 이름 [string0] 여야 합니다.

Integer 둘 및 String

LOD UV Channel Number

LOD UV 채널 수 - 데이터가 LOD 인덱스 [int0] 및 지정된 LOD 에 대한 UV 채널 수 [int1] 여야 합니다.

Integer 둘

Bone Number

본 수 - 데이터에 생성된 본 갯수가 [int0] 여야 합니다.

Integer

Bone Position

본 위치 - 데이터에 본 인덱스 [int0] 및 XYZ 위치 [float0, float1, and float2] 여야 합니다. 옵션으로, 허용치 값을 [float3] 로 전달할 수 있습니다.

Integer 및 Float 넷

Animation Frame Number

애니메이션 프레임 수 - 데이터에 프레임 수가 [int0] 있어야 합니다.

Integer

Animation Length

애니메이션 길이 - 데이터에 애니메이션 길이가 [float0] 있어야 합니다.

Float

Expected Presets Data Integer

예상 프리셋 데이터 인티저 - 지정된 FBX 파일에 대해 검사할 예상 인티저 값을 입력합니다.

Expected Presets Data Float

예상 프리셋 데이터 플로트 - 지정된 FBX 파일에 대해 검사할 예상 플로트 값을 입력합니다.

Expected Presets Data Double

예상 프리셋 데이터 더블 - 지정된 FBX 파일에 대해 검사할 예상 더블 값을 입력합니다.

Expected Presets Data String

예상 프리셋 데이터 스트링 - 지정된 FBX 파일에 대해 검사할 예상 스트링 값을 입력합니다.

예상 결과 구성

Expected Result (예상 결과) 구성을 위해, 텍스처와 머티리얼이 여섯 개 쓰인 박스 메시가 포함된 FBX 를 예로 들겠습니다.

BoxFBX1.png

  1. 추가 (+) 버튼을 눌러 Expected Result (예상 결과)를 추가한 뒤 검사에 사용하고자 하는 Expected Preset Type (예상 프리셋 유형)을 선택하세요.

    ER_AddExpectedResult.png

  2. 테스트하고자 하는 예상 프리셋 유형에 해당하는 Expected Presets Data (예상 프리셋 데이터) 유형을 선택하세요. 이 예제에서는 Mesh Materials Number (메시 머티리얼 수) 유형을 선택하여 포함된 FBX 를 임포트할 때 머티리얼이 여섯 개 들어있는지 검사하도록 하겠습니다.

    ER_SelectExpectedPresetType.png

  3. Mesh Materials Number (메시 머티리얼 수) 프리셋 유형에서 기대하는 것은 인티저 하나 뿐이며, (필수 데이터 유형은 위 표 또는 프리셋 툴팁 참고) 이를 통해 임포트중인 머티리얼 수를 검사합니다. Expected Presets Data Integer (예상 프리셋 데이터 인티저)를 한 번 클릭하여 예상 결과 검사를 배열에 추가합니다.

    ER_AddDataTypeInteger.png

  4. 배열 요소 0 에는, FBX 와 함께 임포트해야 하는 머티리얼 수를 입력합니다. 이 예제에서 기대하는 머티리얼 수는 6 개입니다.

    ER_IntegerValue.png

  5. 필수 임포트 옵션이 제대로 구성되었는지 확인해야 선택한 예상 프리셋 유형에 필요한 모든 것이 제대로 임포트될 것입니다. 예를 들어 Box FBX 는 FBX 에서 머티리얼과 텍스처를 임포트해야 하므로, Import Materials (머티리얼 임포트)와 Import Textures (텍스처 임포트) 옵션이 켜져있어야 합니다.

    ER_ImportMaterials.png

  6. Save JSON (JSON 저장) 버튼을 누르면 Test Plan (테스트 플랜)이 세션 프론트엔드 자동화 탭에 추가됩니다. 이 파일은 Engine/Import/FBX/[NameOfTheFBX] 에서 찾을 수 있습니다.

    ER_SaveJSON.png

    이미지를 클릭하면 원본을 확인합니다.

    FBX 테스트 에디터

    세션 프론트엔드 자동화 탭

  7. 테스트 실행 이후, 운영 체제는 지정된 LOD(0) 의 메시 머티리얼 수 (6) 가 임포트된 애셋 수와 맞는지 검사합니다.

    이미지를 클릭하면 원본을 확인합니다.

    테스트가 실패한 경우, 자동화 탭에서 실패한 테스트를 선택하면 자동화 테스트 결과 패널 아래에서 그 이유를 확인할 수 있습니다.

    이미지를 클릭하면 원본을 확인합니다.

    또한 메시지 로그 창이 떠 테스트 성공 또는 실패 여부가 표시되며, 세션 프론트엔드 창이 열려있지 않아도 실패 이유를 확인할 수 있습니다.

임포트 옵션

예상 결과 테스트 플랜을 구성한 이후, 테스트하고자 하는 액션이 제대로 임포트/리임포트 설정되어 있는지도 확인해야 합니다. 예를 들어, 머티리얼 일정 갯수를 임포트하는 FBX 를 테스트하는 경우, Import Materials (머티리얼 임포트) 옵션이 켜져있어야 합니다. 이 옵션은 콘텐츠 브라우저를 통해 에디터에 애셋을 임포트할 때 사용할 수 있는 것과 동일한 옵션입니다.

이미지를 클릭하면 원본을 확인합니다.

이미지를 클릭하면 원본을 확인합니다.

FBX 테스트 빌더 임포트 옵션

표준 FBX 임포트 옵션 창

자세한 정보는 FBX 임포트 옵션 레퍼런스 문서를 참고하세요.

테스트 플랜 생성 절차

FBX 테스팅을 위한 테스트 플랜 생성 방법은 다음과 같습니다:

  1. 테스트하고자 하는 FBX 를 다음 위치로 복사합니다:

    [UE4Root]/Engine/Content/FBXEditorAutomation
  2. 이 폴더 위치에 있는 FBX 는 자동으로 Select an FBX file (FBX 파일 선택) 드롭다운 목록에 채워집니다.

    TestPlan_SelectFBX.png

  3. Select a Test Plane (테스트 플랜 선택) 드롭다운을 사용하여 Create new plan (새 플랜 생성)을 선택한 뒤 기존의 것을 선택하면 편집합니다.

    TestPlan_CreateNewPlan.png

  4. 다음 칸을 채웁니다:

    General: 일반:

    TestPlan_General.png

    • Test Plan Name 테스트 플랜 이름 - 테스트 플랜 목록에서 선택하여 사용할 수 있도록 이름을 지어줍니다.

    • Action 액션 - FBX 파일에 실행할 작업 유형을 선택합니다. 예: 임포트, 리임포트, LOD 추가, LOD 리임포트, 임포트 리로드 등입니다.

    • LOD Index LOD 인덱스 - LOD 리임포트를 사용하는 경우, 리임포트하고자 하는 LOD 인덱스를 여기 입력합니다.

    • Delete Folder Assets 폴더 애셋 삭제 - 테스트 플랜 마지막에 임포트된 애셋을 삭제할지 입니다.

    Expected Results: 예상 결과:

    TestPlan_ExpectedResult.png

    • 예상 프리셋 유형을 설정하고 테스트 완료에 필요한 필수 데이터를 채웁니다.

    Import Options: 임포트 옵션:

    TestPlan_ImportOptions.png

    • 이 FBX 임포트 테스트를 성공적으로 하기 위해 필요한 임포트 옵션을 설정합니다.

  5. Save JSON (JSON 저장) 버튼을 눌러 테스트 플랜을 저장하면 자동화 테스팅 도중 이 FBX 파일에 대해 실행시킬 수 있는 테스트로 추가됩니다.

    TestPlan_SaveJSON.png

태그
Select Skin
Light
Dark

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

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

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

네이버 카페
공식 포럼