Funcionamiento básico del archivo de recursos de Unity (1)

Conceptos básicos de los archivos de recursos de Unity

Este artículo explica principalmente el uso de archivos de recursos en la escena de Unity y sus conceptos básicos.



prefacio

A medida que continuamos siendo competentes en el funcionamiento de Unity, debemos continuar entendiendo algunas cosas más desafiantes. Cuando se trata de archivos operativos, todos deben estar familiarizados con ellos. Una serie de artículos, que explican algunas de nuestras operaciones y conceptos en archivos en C#!!!!) Y en Unity, si queremos que el programa encuentre automáticamente algo en nuestra carpeta, ¿qué debemos hacer en este momento? Comencemos a presentar el concepto y el uso de los archivos de recursos.


提示:以下是本篇文章正文内容,下面案例可供参考

1. ¿Qué diablos es un archivo de recursos?

El archivo de recursos debe ser creado por nosotros mismos en Unity Necesitamos crear uno nuevo llamado Recurso en el archivo de activos. (¡Atención! Asegúrate de nombrarlo correctamente) ¡Pero atención! ! ! Carpeta de recursos para cargar recursos en tiempo de ejecución. Use Resource.Load ("ruta") para cargar, lo cual es simple y conveniente. Pero vale la pena señalar que nuestra carpeta de recursos no está empaquetada.
Pero trate de no usarlo,
1: dificulta la gestión de la memoria;
2: el uso inadecuado de la carpeta de recursos aumentará el tiempo de inicio del programa y el tiempo de empaquetado;
3: reduce la capacidad del contenido del proyecto para convertirse en un contenido específico plataforma, Dificultar las actualizaciones de contenido
4: A medida que aumenta la cantidad de carpetas de Recursos, la administración de Activos en esas carpetas se vuelve muy difícil
5: El sistema de recursos reduce la capacidad de los proyectos para proporcionar contenido personalizado a plataformas específicas y elimina los incrementales Posibilidad de actualización de contenido
6: Para ser compatible con todas las plataformas, los recursos en el archivo de recursos se empaquetan de manera uniforme, lo que tendrá ciertas restricciones en la optimización de los recursos. Por ejemplo, si coloca imágenes en la carpeta de recursos, Unity no lo hará. Estas imágenes están comprimidas, lo que equivale a aumentar el tamaño del paquete.
En algunos casos especiales también es posible utilizar

En segundo lugar, la forma común de recursos

1.Recurso.Cargar<>

1 se usa para la carga de recursos, comúnmente se usa Resource.Load<generic> (nombre de archivo de carga) para obtener el archivo de destino en el archivo de recursos debajo del activo, el método de búsqueda es usar el subdirectorio debajo del directorio de activos como la carpeta con el Nombre del recurso y, a continuación, busque el nombre del archivo que desea cargar. Devuelve un objeto genérico.

El código es el siguiente (ejemplo):

public class ExampleClass : MonoBehaviour {
    
    
public AudioSource _myAudioSource;
  void Start()
   {
    
    
      string namePath = "MyAudioClips/十年";
   	  AudioClip clip = Resources.Load<AudioClip>(namePath);
	  _myAudioSource.clip = clip;
	  if( _myAudioSource.clip!=null)
	  {
    
    
	   _myAudioSource.Play();
	  }
	 
    }
}

En este momento, la ruta de nuestro archivo es Assets/Resources/MyAudioClips/ten years.wav
Vale la pena señalar que si hay dos nombres de archivo cargados en todo el recurso, es el recurso en la carpeta Resource con un nivel más alto de los archivos cargados. ruta del directorio Puede agregar carpetas en la carpeta de recursos y luego puede especificar buscar archivos en una carpeta determinada.

2.Recurso.LoadAll<>

1 El uso de este método es básicamente el mismo que el método anterior, excepto que Resource.LoadAll devuelve una matriz, por lo que debemos definir un objeto de matriz para recibir el valor que obtenemos

El código es el siguiente (ejemplo):

public class ExampleClass : MonoBehaviour {
    
    
public AudioSource _myAudioSource;
  void Start()
   {
    
    
      string namePath = "MyAudioClips";
   	  AudioClip[] clip = Resources.LoadAll(namePath);
	  _myAudioSource.clip = clip.[0];
	  if( _myAudioSource.clip!=null)
	  {
    
    
	   _myAudioSource.Play();
	  }
	 
    }
}

3.Resources.UnloadUnusedAssets

Este método se usa para liberar memoria.Después de que usamos el método Destroy, nuestro fondo de unidad no libera la memoria. Usa nuestro método después de destruir para liberarlo. Vale la pena señalar que si su Resource.Load () está asignado a una variable, entonces el objeto de instancia Destroy no se puede eliminar en la memoria usando este método. Debe hacer que esta variable esté vacía, porque siempre se hace referencia a esta variable Resource.Load , por lo que es mejor no agregar referencias a Resource.Load. Este método no se usa después de usar el objeto de instancia Destroy, instanciar un nuevo objeto nuevamente no aumentará el consumo de memoria


Resumir

Explica principalmente cómo usar la carpeta de recursos en Unity. Puede crear un nuevo proyecto de Unity para probarlo.

Supongo que te gusta

Origin blog.csdn.net/m0_45244541/article/details/124070250
Recomendado
Clasificación