0
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

updated at

Unity2019でScriptableObject 12/1

2020/02/10 構成を記述
2020/11/28 scriptableobjectでの実施結果を記載

こんにちは、コロナです。

adventcalenderの初日としてunityの再度学習としてscriptableobjectから進めていくために、こちらのタイトルにいたしました。

unityのscriptableobjectを作成して、スクショや動画を作成する

scriptableobjectとは

データ入力用のオブジェクトとして利用することが多いものです。
キャラクターのパラメータなどの雛形として参考になるものとなります。

本家のリンクはこちらから
https://docs.unity3d.com/jp/460/ScriptReference/ScriptableObject.html

ここからは、後日中身を記述していく

scriptableobjectを作成してみる

今回は、以下のゲームを改修します

「HappyNewYear is Gone」
https://unityroom.com/games/happy_gone

HappyNewYear is Gone _ フリーゲーム投稿サイト unityroom および他 16 ページ - 個人 - Microsoft​ Edge 2020_11_28 9_09_09.png

ScriptableObjectのスクリプトを用意する


using UnityEngine;

[CreateAssetMenu(fileName = "Data", menuName = "ScriptableObjects/GameConfigScriptableObject")]
public class GameConfigScriptableObject : ScriptableObject
{
    public float startCount;
    public int stageLeftPositionX;
    public int stageRightPositionX;
    // 敵キャラクターの移動速度 難易度調整で使う
    public float moveSpeed;
    public int startScore;
    // 弾を打つボタン
    public string bulletButton;
    public float characterSpeed;
    // 敵を倒したときに入るスコア 
    // キャンペーン時に更新をして、定常イベントのように利用したりする
    public int addScore;
    public int startHp;
}



scriptableobjectをCSV形式のようにファイルにする

設定動画

See the Pen XWjJWXe by サリー(sakuriver)@FF7Rとデススト攻略、ドラクエ3中 (@sakuriver) on CodePen.

プログラム側から参照する


public class GameManager : MonoBehaviour
{
    public GameObject player;
    public GameObject canvas;
    public GameObject zone;
    public GameObject gone;
    public AudioSource audioSource;
    public AudioClip heiseiClip;
    public AudioClip reiwaClip;
    public AudioClip heartClip;
    public AudioClip scoreAddClip;
    public bool isGameStart;
    public float startCount;

    public string bulletButton;
    public GameConfigScriptableObject gameConfig;

...以下略



生成したアセットを選んで、パラメータを調整した動画

See the Pen poEvoNR by サリー(sakuriver)@FF7Rとデススト攻略、ドラクエ3中 (@sakuriver) on CodePen.

*scriptableobject以外、ファイルが変更されていないのを確認

UnityNengoPrpject - SampleScene - WebGL - Unity 2019.3.0f6 Personal _DX11_ 2020_11_28 8_53_21.png

現在のイメージ

記事向け_イメージ画像.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
0
Help us understand the problem. What are the problem?