言語: 日本語
  • C#
  • JS
  • Boo

スクリプト言語

お好みのスクリプト言語を選択すると、サンプルコードがその言語で表示されます。

Resources

Namespace: UnityEngine

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

Description

アセットを含むオブジェクトにアクセスすることができます。

エディタ上で Resources.FindObjectsOfTypeAll を使用してアセットおよびシーンのオブジェクトを見つけることが出来ます。 "Resources" という名前の フォルダ内にあるすべてのアセットは、Resources.Load関数を介してアクセスすることが できます。 複数の "Resources" フォルダが存在する場合があり、オブジェクトのロード時に全て確認されます。 このクラスは、アセットにアクセスするときパス名を指定しないで、 代わりにメンバ変数を宣言することによってアセットの参照を可能にし、インスペクターでそれを割り当てています。 この方法を使えば、Unityはビルドする時に自動的にアセットの容量を計算することが出来ます。 同じオブジェクトを生成しないので、ゲ ームサイズを最小限に抑えることができるようになります。 "Resources" フォルダにアセットを配置する場合はこれが出来ず、結果的に "Resources" フォルダの全てのアセットはビルドに含まれます。 パス名で利用する欠点として、スクリプトが直接アセットの場所など必要な情報を持つと、 他のスクリプトで使用する際、再利用できず同じものを生成してしまうということです。 その一方で、インスペクターに情報が表示され、設定がしやすいという利点もあるので、場合によって使い分けるようにします。 しかし、インスペクタ上でリンクするのでなく、アセットを名前でフェッチしたほうが便利な場合があります。 要するにインスペクタ上でオブジェクトに参照を割り当てすることが不都合な場合です。 例えばゲームオブジェクトをスクリプトからプロシージャルに作成して、プロシージャル生成したメッシュにテクスチャを割り当てする場合があるかもしれません。 いくつかのロード済みのアセット、特にテクスチャではシーン上にインスタンスが存在しない場合もメモリを多く消費します。アセットが不要となったときに、このメモリを再び使用可能とするには Resources.UnloadUnusedAssets を使用できます。

var go = new GameObject.CreatePrimitive(PrimitiveType.Plane);
go.renderer.material.mainTexture = Resources.Load("glass");

Static Functions

FindObjectsOfTypeAll /type/ で指定した型の全てのオブジェクトを取得します
Load Loads an asset stored at path in a Resources folder.
LoadAll Loads all assets in a folder or file at path in a Resources folder.
LoadAssetAtPath アセットのパスからリソースのを取得します(エディタのみ)
LoadAsync パスを設定し、Resourcesフォルダにあるアセットを非同期でロードします
UnloadAsset メモリから assetToUnload をアンロードします
UnloadUnusedAssets 使用していないアセットをアンロードする。