본문 바로가기
Study/Unity

[Unity] 스크립터블 오브젝트 (Scriptable Object)

by chobbo 2024. 5. 9.

- 데이터를 저장하고 관리하는 데이터 컨테이너

- 유니티 Inspector 창에서 데이터를 직접 수정하고 관리할 수 있다.

- ScriptableObject 클래스를 상속받아 작성

 

[CreateAssetMenu(fileName ="DefaultAttackSO", menuName ="TopDownController/Attacks/Default", order = 0)]
public class AttackSO : ScriptableObject
{
    [Header("Attack Info")]
    public float size;
    public float speed;
    public float power;
    public float delay;
    public LayerMask target;

    [Header("Knock Back Info")]
    public bool isOnKnockBack;
    public float knockbackPower;
    public float knockbackTime;
}

 

다음과 같은 코드를 작성하고 저장하면

프로젝트 창 우클릭 -> Create -> TopDownController -> Attacks -> Default 경로로 SO파일을 만들 수 있다

SO 파일 생성 경로
SO파일 구조

 

 public AttackSO attackSO;

 

다음과 같은 코드 작성 후 유니티 Inspector창에 위에서 생성한 SO파일을 드래그 해주면

이렇게 적용 가능하다

 

스크립터블 오브젝트의 장점

 

- 데이터를 코드와 분리 -> 깔끔한 코드

- 데이터 재사용 가능

- 엄청 간편한 기능인듯

'Study > Unity' 카테고리의 다른 글

[Unity] Anchor Presets  (0) 2024.05.14
[Unity] Input System  (0) 2024.05.09
[Unity] 비트 연산자, 레이어 마스크  (0) 2024.05.09
[Unity] 카메라 사이즈  (0) 2024.05.08
[Unity] 단축키  (0) 2024.05.08