ScriptalbleObject를 필두로

ScriptbleObject란 무엇입니까?


간단히 말해서 Unity 게임 설정을 저장할 수 있습니다.
자신의 업무 환경에서 간단한 테스트를 할 때 사용하면 매우 편리하다.또 GUI에서 게임 설정 등이 가능하기 때문에 테스트 데이터를 반복적으로 업데이트·저장할 필요가 없는 파일도 장점이다.
↓ 게임 퍼포먼스 테스트로 이런 느낌

Scriptable Object 작성 방법


가장 간단한 Scriptable Object를 만드는 데 필요한 파일은 Scriptalble Object의 클래스를 상속하는 C# 파일뿐입니다.ScriptalbleObject는 다음과 같은 간단한 설명으로 작성할 수 있습니다.
LocalEffectSetting.cs
using UnityEngine;
using UnityEditor;
using System.Collections;

public class LocalEffectSetting : ScriptableObject {
    public bool UseLocalEffectResource = false;
    public GameObject EffectResource;
    [Range(0,100.0f)]public float DelayTime = 0.0f;
    public string EffectName = "";

    [MenuItem ("Assets/Create/LocalEffectSetting")]

    static void CreateLocalEffectSetting ()
    {
        LocalEffectSetting localEffectSetting = CreateInstance<LocalEffectSetting> ();
        string path = AssetDatabase.GenerateUniqueAssetPath("Assets/Resources/ScriptableObject/LocalEffectSetting.asset");
        AssetDatabase.CreateAsset(localEffectSetting, path);
        AssetDatabase.Refresh ();
    }
}
우선 아래 발췌부에서 설정하고자 하는 값을 정의했다.Unity 편집기의 확장 기능을 사용할 수도 있습니다.
public bool UseLocalEffectResource = false;
public GameObject EffectResource;
[Range(0,100.0f)]public float DelayTime = 0.0f;
public string EffectName = "";
↓Unity 편집기의 확장 기능을 사용하여 입력을 슬라이더로 설정

다음은 ScriptalbleObject를 만드는 방법입니다.LocalEffectSetting 인스턴스가 생성되어 지정된 경로에 Asset 데이터로 저장됩니다.
    static void CreateLocalEffectSetting ()
    {
        LocalEffectSetting localEffectSetting = CreateInstance<LocalEffectSetting> ();
        string path = AssetDatabase.GenerateUniqueAssetPath("Assets/Resources/ScriptableObject/LocalEffectSetting.asset");
        AssetDatabase.CreateAsset(localEffectSetting, path);
        AssetDatabase.Refresh ();
    }
이렇게 하면 제작용 방법인 "Create Local Effect Setting"을 실행할 수 없습니다. 따라서 다음과 같이 Unity에서 실행하십시오.
[MenuItem ("Assets/Create/LocalEffectSetting")]

Scriptable Object가 생성됩니다.그리고 값의 내용을 설정해서 사용하면 된다.위의 소스 파일을 사용하여 만들면 다음과 같은 방법을 사용할 수 있습니다.
LocalEffectSetting localEffectSetting = Resources.Load<LocalEffectSetting>("ScriptableObject/LocalEffectSetting");

끝맺다


ScriptalbleObject를 교묘하게 사용함으로써 게임 테스트를 더욱 쉽게 할 수 있다.또한 ScriptalbleObject뿐만 아니라 Unity 편집기의 확장 기능을 사용해도 게임 개발을 순조롭게 진행할 수 있다.이걸로 편안한 게임 개발 생활을 하세요!!

좋은 웹페이지 즐겨찾기