본문 바로가기

내일배움캠프_TIL

9월 26일 TIL

스크립터블 오브젝트

유니티에서 제공하는 데이터 컨테이너

값의 사본이 생성되는 것을 방지하여 프로젝트의 메모리 사용을 줄일 수 있다

변경되지 않는 데이터를 사용하는 프리팹에 유용함

모노비헤이비어를 사용하는 일반 스크립트와 달리 오브젝트에 컴포넌트로 부착이 불가능

 

using UnityEngine;

[CreateAssetMenu(fileName = "Zombie Data", menuName = "Scriptable Object/Zombie Data", order = int.MaxValue)]
public class ZombieData : ScriptableObject
{
    [SerializeField]
    private string zombieName;
    public string ZombieName { get { return zombieName; } }
    [SerializeField]
    private int hp;
    public int Hp { get { return hp; } }
    [SerializeField]
    private int damage;
    public int Damage { get { return damage; } }
    [SerializeField]
    private float sightRange;
    public float SightRange { get { return sightRange; } }
    [SerializeField]
    private float moveSpeed;
    public float MoveSpeed { get { return moveSpeed; } }
}

CreateAssetMenu 속성은 스크립터블 오브젝트 스크립트를 이용해서 빠르고 쉽게 에셋을 생성할 수 있게 만들어주는 속성이다.

코드를 빌드하고 에디터로 돌아가서 Assets 메뉴를 보면 추가한 menuName 대로 Create>Scriptable Object>Zombie Data 항목이 새로 생긴 것을 볼 수 있다.

'내일배움캠프_TIL' 카테고리의 다른 글

10월 5일 TIL  (1) 2023.10.06
9월 27일 TIL  (0) 2023.09.28
9월 25일 TIL  (1) 2023.09.25
9월 20일, 21일 TIL  (0) 2023.09.21
9월 19일 TIL  (0) 2023.09.19