Blutility에서 StaticMesh의 Material을 일괄 대체하는 명령 만들기

3165 단어 위 4UnrealEngine4
이 내용은 UE4.20Preview1 시점의 내용입니다.

UE4.20부터, Blutility도 기능이 추가되어 ActorActionUtilityAssetActionUtility 를 부모 클래스로 선택할 수 있게 되었습니다.
이번에는 AssetActionUtility 를 사용하여 StaticMesh 머티리얼을 일괄 대체하는 편집기 명령을 구현합니다.

Blutility 활성화



단지 위의 클래스를 상속한 것만으로는 Blutility가 되지 않습니다.Editor Preference > Experimental에서 Blutility를 활성화하십시오.



Blutility 클래스 만들기



콘텐츠 브라우저에서 컨텍스트 메뉴에서 Blueprints > Blutility를 선택합니다.



부모 클래스는 AssetActionUtility를 선택합니다.



구현



이번 사양은 다음과 같습니다.
  • DataTable에서 정의 읽기
  • 정의는 "치환 전의 Material 이름"과 "대치 대상의 Material"의 구조입니다.

  • 선택한 StaticMesh의 모든 Material을 탐색하고 정의와 일치하는 Material 이름이면 Material을 바꿉니다.





    명령 구현



    명령의 블루프린트는 다음과 같습니다.



    데이터 테이블의 로드 등에 관해서는 특히 말하는 것은 없습니다만,Get Selected Assets 노드를 사용하면 콘텐츠 브라우저에서 선택한 애셋의 배열을 얻을 수 있습니다.



    명령 대상 지정



    이번에는 StaticMesh를 대상으로하므로 다른 Asset에서이 명령이 나오면 곤란합니다.
    Blutility의 Get Supported Class를 Override하여이 Blutility의 대상을 StaticMesh로 제한합니다.



    사용법



    머티리얼을 대량 바꾸고 싶은 StaticMesh를 선택하여 컨텍스트 메뉴를 엽니다.
    컨텍스트 메뉴의 Scripted Actions에 이번에 만든 Function이 있으므로 클릭하여 실행합시다.



    여러 StaticMesh Material이 일괄 대체되었습니다.
  • 좋은 웹페이지 즐겨찾기