facebook twitter hatena line email

「Unity/AssetBundle/AssetBundle作り方」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(Dir内のファイルを削除したいときは以下実行)
(Dir内のファイルを削除したいときは以下実行)
行48: 行48:
 
public class FileUtil
 
public class FileUtil
 
{
 
{
     public static void DeleteDirFile(string targetDirectoryPath)
+
     public static void DeleteDirFile(string dirPath)
 
     {
 
     {
         if (!Directory.Exists(targetDirectoryPath))
+
         if (!Directory.Exists(dirPath))
 
         {
 
         {
 
             return;
 
             return;
 
         }
 
         }
         string[] filePaths = Directory.GetFiles(targetDirectoryPath);
+
         string[] filePaths = Directory.GetFiles(dirPath);
 
         foreach (string filePath in filePaths)
 
         foreach (string filePath in filePaths)
 
         {
 
         {
行60: 行60:
 
             File.Delete(filePath);
 
             File.Delete(filePath);
 
         }
 
         }
         string[] directoryPaths = Directory.GetDirectories(targetDirectoryPath);
+
         string[] dirPaths = Directory.GetDirectories(dirPath);
         foreach (string directoryPath in directoryPaths)
+
         foreach (string path in dirPaths)
 
         {
 
         {
             DeleteDirFile(directoryPath);
+
             DeleteDirFile(path);
 
         }
 
         }
 
     }
 
     }

2021年8月5日 (木) 20:49時点における版

スクリプトでのAssetBundleの作り方

  1. 適当なファイル(例:user.csv)を作る
  2. "user.csv"のファイルを選択し、inspector下のAssetBundleに"user.csv"を入れる。

UnityEditorでビルド実行

公式:https://docs.unity3d.com/jp/460/ScriptReference/BuildPipeline.BuildAssetBundle.html

Assets/Editor/ExportAssetBundles.cs

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

public class ExportAssetBundles
{
	[MenuItem("Tools/Build AssetBundle")]
	static void ExportResource()
	{
		BuildPipeline.BuildAssetBundles(
			"AssetBundleExport",
			BuildAssetBundleOptions.None,
			BuildTarget.WebGL
		);
	}
}
  1. AssetBundleExportのディレクトリを作成しておく
  2. Unityメインメニュー/Tools/Build AssetBundleを実行
  3. AssetBundleExportの下にファイル(例:user、user.manifest)が出来る

doesn't existエラーが出るとき

以下のようなエラーが出るとき

ArgumentException: The output path "AssetBundleExport" doesn't exist

出力ディレクトリを、予め作っておく。

Unrecognized assets cannot エラーが出る場合

以下エラーが出る

Unrecognized assets cannot be included in AssetBundles: "Assets/user".

追加したファイルに拡張子が、ないかもしれないので、拡張子をつける。userだったら、user.csvとかuser.txtとか

Dir内のファイルを削除したいときは以下実行

FileUtil.DeleteDirFile("AssetBundleExport");

FileUtil.cs

using System.IO;
public class FileUtil
{
    public static void DeleteDirFile(string dirPath)
    {
        if (!Directory.Exists(dirPath))
        {
            return;
        }
        string[] filePaths = Directory.GetFiles(dirPath);
        foreach (string filePath in filePaths)
        {
            File.SetAttributes(filePath, FileAttributes.Normal);
            File.Delete(filePath);
        }
        string[] dirPaths = Directory.GetDirectories(dirPath);
        foreach (string path in dirPaths)
        {
            DeleteDirFile(path);
        }
    }
}

参考:https://kan-kikuchi.hatenablog.com/entry/DirectoryProcessor

参考

https://kan-kikuchi.hatenablog.com/entry/AssetBundle

https://orenda.co.jp/blog/1633/