Resources.Load

Unity 中使用 Resources.Load() 命令读取资源文件。

使用中有几个值得注意的地方:

  1. 读取文件时的根目录是 Assets/Resources,所有资源文件都放在该文件夹下,命令中的路径从 Resources 文件夹后开始写。
  2. 用 / 表示子文件夹。
  3. 读取的文件不要加文件的后缀。
  4. Load 后 <> 中写入读取的类型。

Assets/Resources/HDRP Time Of Day/WeatherPrefebs/HDRP Time Of Day/Prefeb/GameObject/TODController

应写成HDRP Time Of Day/Prefeb/GameObject/TODController

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

public class WeatherBegin : MonoBehaviour
{
    public static class TODPass
    {
        public const string weatherControllerPath = "HDRP Time Of Day/Prefeb/GameObject/TODController";
        public const string TODUIPath = "HDRP Time Of Day/Prefeb/UI/TODUI";
    }

    private void Update()
    {
        if (Input.GetKeyDown(KeyCode.R))
        {
            LoadGameObjectController(TODPass.weatherControllerPath);
            LoadUIPrefeb(TODPass.TODUIPath);
        }
    }


    void LoadUIPrefeb(string path)
    {
        GameObject TODUI = Resources.Load(path);
        GameObject instance = Instantiate(TODUI);
        //instance.transform.position = new Vector3(-66, 30, 0);
        instance.transform.SetParent(GameObject.Find("Canvas").transform);
        
    }

    void LoadGameObjectController(string path)
    {
        GameObject weatherController = Resources.Load(path);
        if (weatherController!=null)
        {
            Instantiate(weatherController);
        }
        else
        {
            Debug.Log("空");
        }        
    }
}

你可能感兴趣的:(实习笔记,unity)