4
5

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 1 year has passed since last update.

unityでScriptableObjectからインベントリをかんたんに作る#1

Last updated at Posted at 2022-01-13

スクリーンショット 2022-01-14 1.32.32.png
#ScriptableObjectを使ってみる
##ScriptableObjectとは

ScriptableObject は、クラスインスタンスとは無関係に、大量のデータを保存するために使用できるデータコンテナです。(Unityリファレンス)

と、言われてもむずかしいですね。スクリプタブルオブジェクト、と読みます。

ゲームを作る時でいえば、例えばたくさんアイテムのデータを作りたい時に使います。
たくさん作ったアイテムを一斉に管理する方法の一つ、と覚えてください。

今まで作ってきたゲームでは、プログラムは何かしらにくっつけて使うものでした。
例えば、Playerを動かすmove.csは、Player役のCubeとかにつけてたと思います。

しかし、ScriptableObjectはオブジェクトくっつけて使いません。というか、何にもくっつけません。

今回は実際に
緑のCube
青のCube
赤のCube
を拾って画面にアイテムとして表示できるようにします。
↓こんな感じスクリーンショット 2022-01-14 1.01.33.png

##Itemを作る
###プログラムを書く
アイテムをたくさん管理するためのもの、と言いました。
アイテムのデータをたくさん作ることができるようになるプログラムを書きます。
いつものように、project->c#Scriptからプログラムを作って以下を書きましょう。名前はItemです。

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

[Serializable]
[CreateAssetMenu(fileName ="Item",menuName="CreateItem")]
public class Item : ScriptableObject
{

    [SerializeField]
    private string itemName;

    public string GetItemName()
    {
        return itemName;
    }

}

まずはここに注目してください

public class Item : ScriptableObject

いつもと何かが違います。どこでしょうか?
いつもはScriptableObjectのところがMonoBehaviorとなっていました。
ここで、このプログラムはScriptableObjectだよ〜とUnityに教えてあげていると思ってください。
つまりどこのオブジェクトにもくっつけなくてよくなります。

###unityでアイテムを作れるようになる
このプログラムを書くと、unityでアイテムがかんたんに作れるようになっています。
unityでprojectの+ボタンを押してみてください。一番上にCreateItemというボタンが出現したはずです。
押してみましょう。

スクリーンショット 2022-01-14 1.21.05.png

これを押すと次のようなものが現れます。

スクリーンショット 2022-01-14 1.22.57.png

これで大量にアイテムの情報を作ることができるようになりました。
試しにItem Nameにgreencubeと名前を入れてみましょう。
これで名前が「greencube」っていうアイテムがありますよ、というデータがunityに誕生しました。

ただこれだけではデータは名前だけでちょっと寂しいです。
画像のデータも持てるようにしましょう。

[SerializeField]
 private Sprite icon;

public Sprite GetIcon()
 {
     return icon;
 }

これを追加してみましょう。
そうすると、さっきのアイテムデータのところに画像を追加する項目が出現します。

スクリーンショット 2022-01-14 1.32.32.png

このIconに好きな画像を入れてみましょう。(後で使います。)

できたら、自分で複数アイテムを作ってみましょう。

今回はアイテムを大量に作れるようにしました。
次回はアイテムを管理するデータベースを作ります。

スクリーンショット 2022-01-14 1.32.32.png

4
5
0

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
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?