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 수 * 각 StaticMesh의 LOD1 수 = 레벨에 배치된 해당 스태틱 메시의 삼각형 수
상속, 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로 진행했을때와 다른 점은 애셋을 직접 변경하지 않고 런타임에서만 확인할 수 있다는 점이다. StaticMeshComponent의 GetNumMaterials 노드를 사용하여 메시에 몇 개의 머터리얼이 사용되었는지 확인할 수 있고, 이것은 드로 콜이 많은 메시를 시각적으로 파악하는데 사용할 수 있다.
'언리얼 5 > 에픽 게임즈 공식 강의' 카테고리의 다른 글
프로그래밍 시작하기 (0) | 2023.02.19 |
---|---|
페이퍼 2D 프로젝트 시작하기 (0) | 2023.02.18 |
게임플레이 컴포넌트 세분화 (0) | 2023.02.16 |
애니메이션 (1) | 2023.02.15 |
루멘 핵심 개념 (0) | 2023.02.14 |