Version: 5.4 (switch to 5.5b)
言語English
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

AssetDatabase.CreateAsset

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

マニュアルに切り替える
public static function CreateAsset(asset: Object, path: string): void;
public static void CreateAsset(Object asset, string path);

Parameters

asset アセットを作成する際に使用するオブジェクト
path 新しいアセットのためのファイルシステムパス

Description

オブジェクトを指定したパスに作成します。

パスが拡張子に対応していることを確認してください(マテリアルは .mat、キューブマップは .cubemap、 スキンは .GUISkin、アニメーションは .anim、他の任意のアセットは .asset )。

アセット作成後に AssetDatabase.AddObjectToAsset を使用してさらにアセットをファイルに追加できます。 アセットが path にすでに存在する場合、新規のアセットを作成する前に削除されます。 すべてのパスはプロジェクトフォルダーに対する相対指定とします。例えば "Assets/MyStuff/hello.mat" です。

アセットに複数オブジェクトを追加する場合、オブジェクトが追加された順序は何も影響しません。 すなわち、追加されたアセットは元のアセットに対しての違いはなく、後に追加するオブジェクトに対する元オブジェクトとなるようなことはありません。 プロジェクトビューでアセットのメインオブジェクトとして表示されたオブジェクトは、 オブジェクトのコレクションの中でもっとも重要とみなされたものです(型により判定)。

注意:

GameObject からアセットを作成することはできません。代わりに PrefabUtility クラスを使用してください。

no example available in JavaScript
using UnityEngine;
using UnityEditor;

public class CreateMaterialExample : MonoBehaviour { [MenuItem("GameObject/Create Material")] static void CreateMaterial( ) { // Create a simple material asset

Material material = new Material( Shader.Find( "Specular" ) ); AssetDatabase.CreateAsset( material, "Assets/MyMaterial.mat" );

// Print the path of the created asset Debug.Log( AssetDatabase.GetAssetPath( material ) ); } }