unreal.EditroAssetLibrary

List_assets 메서드 : 디렉터리 경로 아래서 찾는 모든 애셋의 경로를 반환한다.

find_asset_data 메서드 : 애셋의 경로를 입력받아 assetData를 반환한다.

 

EditorUtilityLibrary : 콘텐츠 브라우저 관련 기능에 액세스할 수 있다.

get_selected_assets 메서드 : 콘텐트 브라우저에서 선택한 애셋들에 대한 정보 반환

 

EditorActorSubsystem : 아웃라이너 관련 기능을 제공

- 액터를 복제하거나 소멸시킬 수 있다.

프로젝트 내 특정 클래스의 모든 인스턴스를 수집할 수 있다.

 

에디터 프로퍼티로 오브젝트 데이터 수정하기

에디터 프로퍼티 : 애셋의 수정할 수 있는 모든 데이터

스태틱 메시

get_editor_property, set_editor_property가 있는 클래스는 _ObjectBase를 상속받는 클래스이다.

Asset_import_data 프로퍼티 : 프로젝트의 각 스태틱 메시와 연결된 FBX 파일 경로를 제공

 

lod_group

스태틱 메시의 LOD Group을 세팅해줌으로써 언리얼 엔진이 LOD Group을 자동으로 만들게 할 수 있다. 프리셋이 없는 애셋(None)들에 프리셋을 부여할 수 있다. 외부 애플리케이션에서 LOD를 생성한 경우는 이런 과정이 필요 없다.

 

LOD 최적화 : 프리셋 LOD 그룹이 없고 LOD가 하나만 있는 경우 프리셋을 설정하기

 

스태틱 메시에 대한 상세 정보 수집하기

LOD의 삼각형 개수 확인하기

unreal.EditorStaticMeshLibrary 클래스

get_number_verts 함수 : 스태틱 메시와 LOD 인덱스를 입력받아 버텍스 수를 반환

 

unreal.ProceduralMeshLibrary 클래스

get_section_from_static_mesh 함수 : 스태틱 메시, LOD 인덱스, 섹션 인덱스를 입력받아

vertex, triangle, normal, uv, tangent의 배열을 반환 (배열의 배열을 반환)

섹션 인덱스 정보는 Staticmesh.get_num_sections(lod)로 얻을 수 있다.

 

Static메시의 각 LOD의 트라이앵글 수 확인, LOD 감소에 대한 정보

 

 

스태틱 메시 액터 분석하기

레벨에 있는 모든 스태틱 메시 액터가 가지는 스태틱 메시의 개수 파악, 종류별 개수 정렬 출력

 

각각의 메시가 레벨에서 몇 개의 삼각형을 차지하는 지는 메시 자체가 가지는 삼각형의 개수와 몇 개가 사용되었는지 고려해야 함

StaticMeshActor Instance * StaticMeshLOD1 = 레벨에 배치된 해당 스태틱 메시의 삼각형 수

 

상속, dir(), help()

커맨드라인에 내장된 함수 dir로 메서드를 쉽게 출력하고 필터링할 수 있다

- 메서드가 문서에 없어 찾을 수 없어도 상속받은 메서드까지 표시해 준다.

- 클래스가 가진 모든 메서드를 출력한다. (상속 받은 메서드 포함)

예시) for item in dir(unreal.StaticMeshComponent): print (item)

 

Help 함수는 함수의 사용방법을 출력한다.

예시) help(unreal.StaticMeshComponent.get_materials)

머터리얼 인스턴스를 반환하는 get_materials 함수

머터리얼 인스턴스에서는 scalar, texture, vector 파라미터 값을 얻을 수 있다.

머터리얼 인스턴스 당 여러 개의 Texture parameter = 텍스처 슬롯의 이름 텍스처 경로 정보

텍스처 파라미터 값 얻기

 

레벨에 존재하는 모든 StaticMeshActor에 특정 머터리얼 인스턴스 부여하기

 

언리얼 Python API와 블루프린트의 유사성

레벨 블루프린트에서도 비슷한 방식으로 머터리얼을 스태틱 메시 액터에 적용할 수 있다.

파이썬 API로 진행했을때와 다른 점은 애셋을 직접 변경하지 않고 런타임에서만 확인할 수 있다는 점이다. StaticMeshComponentGetNumMaterials 노드를 사용하여 메시에 몇 개의 머터리얼이 사용되었는지 확인할 수 있고, 이것은 드로 콜이 많은 메시를 시각적으로 파악하는데 사용할 수 있다.

 

'언리얼 5 > 에픽 게임즈 공식 강의' 카테고리의 다른 글

프로그래밍 시작하기  (0) 2023.02.19
페이퍼 2D 프로젝트 시작하기  (0) 2023.02.18
게임플레이 컴포넌트 세분화  (0) 2023.02.16
애니메이션  (1) 2023.02.15
루멘 핵심 개념  (0) 2023.02.14

+ Recent posts