path | Pathname of the target folder. |
T The requested asset returned as a Type.
Loads an asset stored at path
in a folder called Resources.
Returns the asset at path
if it can be found otherwise returns null.
Only an object of type T
will be returned.
The path
is relative to any folder named Resources
inside the Assets folder of your project.
More than one Resources folder can be used. For example, a project may have Resources
folders called Assets/Resources
and Assets/Guns/Resources
. String names that include
Assets
and Resources
are not needed. For example the loading of a GameObject at
Assets/Guns/Resources/Shotgun.prefab
does not use the folder names.
Also, if Assets/Resources/Guns/Missiles/PlasmaGun.prefab
exists it will
be loaded using Prefabs/Missiles/PlasmaGun
.
If you have multiple Resources folders you cannot duplicate use of
an asset name.
Another example of the Resources
folder. In Resources
there are two files, fancyA
and fancyB
. Resources
also has Resources2
folder. This folder contains two files, fancyA2
and fancyB2
. Finally, Resources2
has a folder called Resources3
with a single file also called fancyB
. (This means the file in Resources3
has the same name as in Resources
.) The files in Resources
can be loaded as fancyA
and fancyB
with no need for the folder hierarchy Assets/Resources
. Also, the files in Resources2
can be loaded. Loading these require the folder directory so an example load will be Resources2/fancyB2
. Finally, loading from Resources3
will be Resources2/Resources3/fancyB
.
Note: Extensions must be omitted.
Note: All asset names and paths in Unity use forward slashes, paths using backslashes will not work.
// Load assets from the Resources folder. Ignore other named and typed assets. using UnityEngine;
public class ExampleClass : MonoBehaviour { void Start() { //Load a text file (Assets/Resources/Text/textFile01.txt) var textFile = Resources.Load<TextAsset>("Text/textFile01");
//Load text from a JSON file (Assets/Resources/Text/jsonFile01.json) var jsonTextFile = Resources.Load<TextAsset>("Text/jsonFile01"); //Then use JsonUtility.FromJson<T>() to deserialize jsonTextFile into an object
//Load a Texture (Assets/Resources/Textures/texture01.png) var texture = Resources.Load<Texture2D>("Textures/texture01");
//Load a Sprite (Assets/Resources/Sprites/sprite01.png) var sprite = Resources.Load<Sprite>("Sprites/sprite01");
//Load an AudioClip (Assets/Resources/Audio/audioClip01.mp3) var audioClip = Resources.Load<AudioClip>("Audio/audioClip01"); } }
path | 目标文件夹的路径名称。使用空字符串(即 "")时,该函数将加载 Resources 文件夹的全部内容。 |
systemTypeInstance | 返回的对象的类型筛选器。 |
Object The requested asset returned as an Object.
加载存储在 Resources 文件夹中的 path
处的资源。
如果在 path
处找到指定资源,则返回该资源,否则返回 null。
如果提供该参数,则仅返回 type
类型的对象。
path
是相对于项目的 Assets 文件夹中的任何 Resources 文件夹的相对路径,必须省略扩展名。
注意:Unity 中的所有资源名称和路径都使用正斜杠。使用反斜杠的路径将无法正常工作。
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { // Assigns a texture named "Assets/Resources/glass" to a Plane. void Start() { GameObject go = GameObject.CreatePrimitive(PrimitiveType.Plane); var rend = go.GetComponent<Renderer>(); rend.material.mainTexture = Resources.Load("glass") as Texture; } }
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void Start() { // Instantiates a Prefab named "enemy" located in any Resources // folder in your project's Assets folder. GameObject instance = Instantiate(Resources.Load("enemy", typeof(GameObject))) as GameObject; } }