33
35

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

UnityのResourcesの使い方

Last updated at Posted at 2015-12-30

概要

各シーンで使用する素材(SEやBGMやスプライトなど)を○○Managerなどにアタッチしておき、
あらかじめヒエラルキー上に配置しておくとメモリの消費が激しい。
メモリが多いPCなどでアプリを実行する場合はあまり気にする必要性はないが
スマートフォン上だとメモリが足りなくなり、アプリがクラッシュする問題が発生する。
そのため、Resourcesなどを使用して該当の素材を使用する時のみ読み込むようにした方がよい。
また使用しなくなった素材についてはメモリ開放を行い快適なアプリ環境を保つ必要性がある。

Resourcesを使うメリット、デメリット

  • メリット
    メモリに優しい

  • デメリット
    スクリプトの再利用性がなくなる場合がある

Resourcesからデータを読み込む

sample.cs
//スプライトの読み込み
private Sprite buttn;
buttn = Resources.Load("Image/StageSelect/OrangeButton", typeof(Sprite)) as Sprite;

//BGM(SE)の読み込み
private AudioSource audioSource;
audioSource = gameObject.AddComponent<AudioSource>();
audioSource.clip = Resources.Load("Sound/BGM/sample") as AudioClip;

//Prefabの読み込み
GameObject prefab;
prefab = (GameObject)Resources.Load ("Prefabs/sample");

メモリを開放する

シーンの切替時にもメモリ開放される(?)かもしれないけれど、とりあえず明示的にも記載しておく方がよい。

sample.cs
//現在使用していないアセットを破棄する
Resources.UnloadUnusedAssets();

参考サイト

33
35
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
35

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?