Unity PackageExporter를 만들 때 주의해야 할 사항 "ExportPackage""ExportPackageOptions"

입문


UnityPackage 출력을 위한 편집기 확장 생성
https://github.com/gatosyocora/gsPackageExporter
공식 참고자료를 제외하고는 유니티 패키지를 조작하는 스크립트를 소개하는 보도가 거의 없다.
제작 과정에서 막힌 곳 등을 정리했습니다.

개발 환경


Unity 2017.4.15f1
Visual Studio 2017
Windows 10 Home

UnityPackage 출력 API 공식 제공


AssetDatabase.ExportPackage
public static void ExportPackage (string assetPathName, string fileName);
public static void ExportPackage (string assetPathName, string fileName, ExportPackageOptions flags);
public static void ExportPackage (string[] assetPathNames, string fileName, ExportPackageOptions flags= ExportPackageOptions.Default);

  • string assetPathName: 내보낼 리소스의 경로 (다중, Assets 폴더의 상대 경로)
      e.g. Assets/Hoge/piyo.mat, Assets/Foo

  • string fileName - 출력할 UnityPackage의 파일 이름(드라이브의 절대 경로)
    e.g.C:/Users/사용자 이름/Desktop/sample.unitypackage

  • 패키지 내보내기 옵션 flags: 기타 옵션 설정
  • 세 번째 파라미터로 내보낼 때 asset 처리 등을 설정할 수 있습니다


    ExportPackageOptions
    OR 연산자(|)를 사용하여 여러 옵션을 동시에 설정할 수 있습니다.
    이미지는 내보낸 UnityPackage를 다른 항목으로 가져올 때 나타나는 예입니다.

    Default


    assetPathName에서 지정한 asset만 내보내기
    assetPathName에 폴더만 있으면 빈 폴더를 내보낼 수 없기 때문에 내용을 포함하지 않는 UnityPackage 출력

    Interactive


    비동기식 실행
    내보내기의 진행 표시줄을 표시하고 내보내기가 완료되면 내보내기 파일을 표시합니다.

    Recurse


    assetPathName이 폴더 경로인 경우 다음 리소스를 내보냅니다.

    IncludeDependencies


    assetPathName 리소스에 사용되는 리소스 내보내기
    fbx 출력을 시도할 때, 사용한 재질 공, 재질 공, 무늬 등도 출력합니다
    prefab 출력을 시도할 때 사용하는 3D 모델의 fbx, 스크립트, 애니메이션 파일 등을 출력합니다

    IncludeLibraryAssets


    assetPathName에서 지정한 리소스와 라이브러리 폴더 이하의 리소스 내보내기
    UnityEditor에 포함된 dll 파일과 프로젝트의 설정 파일도 포함됩니다.


    주의사항

  • 빈 폴더를 내보내지 않음
  • 출력된 자원이 많으면 내보내기가 끝날 때까지 시간이 걸린다(처리 상황을 보기 위해 Interactive 추천)
  • 지정한 fileName에 존재하는 파일 이름이 덮어씁니다. (이렇게 하면 기존 폴더가 지정되고 폴더가 사라집니다...)
  • 총결산


    저는 개인적으로 Interactive, Recurse, IncludeDependencies를 추천하지 않습니다.
    하지만 잘 만들려면 출력하고 싶은 자원을 얻을 수 있는 경로를 얻는 것이 좋고, 인터랙티브를 사용하는 것이 좋다
    (자체 제작된 내보내기에서 내보내기 전에 출력된 자원 목록표를 표시하기 위해 모든 경로를 얻고 인터랙티브를 사용합니다)

    좋은 웹페이지 즐겨찾기