!!!プロジェクト内のObjectを取得 ※ UnityEditorを使用する機能は、Android/iOSでは使用できないようです。 iOS/androidでも動作する外に出したObjectの読み込みを行う場合は「[[リソースとしてObjectを取得|unity_script_get_resources_object]]」を参照。 プロジェクト内のオブジェクト(Object/Material/Textureなど)を取得する例です。 PCのみで動作。 要 : using UnityEditor; AssetDatabaseクラスのstatic関数からアクセスします。 なお、あらかじめAssetとしてプロジェクトに画像や形状の読み込み、マテリアルの作成などを行っておく必要があります。 !!テクスチャの読み込み Texture2D t = AssetDatabase.LoadAssetAtPath("Assets/images/photo_leaf_texture.png", typeof(Texture2D)) as Texture2D; または Texture2D t = AssetDatabase.LoadAssetAtPath("Assets/images/photo_leaf_texture.png"); プロジェクトの「Assets/images/photo_leaf_texture.png」の画像を読み込みます。 読み込みに失敗した場合はnullが返ります。 !!マテリアルの読み込み Material m = AssetDatabase.LoadAssetAtPath("Assets/materials/ground.mat", typeof(Material)) as Material; プロジェクトの「Assets/materials/ground.mat」のマテリアルを読み込みます。 読み込みに失敗した場合はnullが返ります。 !!指定のGameObjectにAsset内のマテリアルを割り当てる 例として、シーンに配置されているGameObjectに対してAssets内のマテリアルを割り当てます。 // Assets内のマテリアルを読み込み. Material m = AssetDatabase.LoadAssetAtPath("Assets/materials/ground.mat", typeof(Material)) as Material; if (m != null) { // シーンの"Sphere"のGameObjectを取得. GameObject g = GameObject.Find("Sphere") as GameObject; if (g != null) { g.renderer.material = m; // GameObjectにマテリアルを割り当て. } } ---- {{lastmodified}}