Unity 스크립터블오브젝트 : ScriptableObject

2023. 3. 24. 16:00·Unity
반응형
Unity에서는 스크립터블 오브젝트(ScriptableObject)를 사용하여 게임 오브젝트에서 사용할 데이터를 만들 수 있습니다. 스크립터블 오브젝트는 프리팹과 비슷한 개념으로, 스크립트로 구성된 데이터 파일입니다. 이 파일은 프로젝트의 에셋으로 저장되며, 게임 오브젝트에서 사용하기 쉬운 형태로 구성됩니다.

스크립터블 오브젝트는 다음과 같은 장점이 있습니다.

  • 데이터를 수정하면 즉시 모든 인스턴스에 적용됩니다.
  • 유연하고 효율적인 방식으로 게임 데이터를 저장하고 관리하는 데 사용할 수 있으므로 다양한 게임 개체와 장면 간에 쉽게 수정, 재사용 및 공유할 수 있습니다.
  • 가볍고 효율적입니다. 즉, 처리 및 저장해야 하는 데이터의 양을 줄여 게임 성능을 개선하는 데 사용할 수 있습니다.
  • 게임 로직과 데이터를 분리하여 시간이 지남에 따라 프로젝트를 보다 쉽게 ​​관리하고 유지 관리할 수 있도록 합니다.
  • 인스펙터 창을 통해 쉽게 구성하고 조작할 수 있는 커스텀 자산을 생성할 수 있으므로 코드를 작성할 필요 없이 게임 오브젝트를 간단하게 생성하고 편집할 수 있습니다.

스크립터블 오브젝트를 만들려면 다음과 같은 단계를 거치면 됩니다.

  • 스크립터블 오브젝트 클래스를 작성합니다.
using UnityEngine;

[CreateAssetMenu(fileName = "New Data", menuName = "Scriptable Object/Data")]
public class Data : ScriptableObject
{
    public int intValue;
    public float floatValue;
    public string stringValue;
}

  • 스크립터블 오브젝트를 프로젝트의 에셋으로 생성합니다.
    • Project 창에서 마우스 오른쪽 버튼을 클릭합니다.
    • Create > Scriptable Object > Data를 선택합니다.
    • 생성된 파일을 선택하고 Inspector 창에서 데이터를 수정합니다.
  • 게임 오브젝트에서 스크립터블 오브젝트를 사용합니다.
using UnityEngine;

public class Example : MonoBehaviour
{
    public Data data;

    void Start()
    {
        Debug.Log(data.intValue);
        Debug.Log(data.floatValue);
        Debug.Log(data.stringValue);
    }
}

위 예시에서는 Example 스크립트에서 Data 타입의 변수를 선언하고 Start 함수에서 데이터를 출력하고 있습니다. 이처럼 스크립터블 오브젝트를 사용하면 게임 오브젝트에서 사용할 데이터를 쉽게 구성할 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'Unity' 카테고리의 다른 글

Unity 카메라(Camera) 컴포넌트  (1) 2023.03.25
Unity Navigation Component - 네비게이션  (0) 2023.03.25
Unity Collider 컴포넌트  (1) 2023.03.23
Unity 수학 함수 Mathf  (0) 2023.03.22
Unity에서 오일러각과 쿼터니언  (0) 2023.03.21
'Unity' 카테고리의 다른 글
  • Unity 카메라(Camera) 컴포넌트
  • Unity Navigation Component - 네비게이션
  • Unity Collider 컴포넌트
  • Unity 수학 함수 Mathf
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (545) N
      • 상품 추천 (54) N
      • MongoDB (4)
      • 하드웨어 (9)
      • 일기장 (4)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • 파이썬 (128) N
        • Basic (41) N
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Linux (4)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (50) N
        • CSS (10)
      • Git (11)
      • SQL (5)
      • Flutter (10)
        • Tip (1)
      • System (1)
      • BaekJoon (6)
      • Portfolio (2)
      • MacOS (1)
      • 유틸리티 (1)
      • 서비스 (6)
      • 자동화 (3)
      • Hobby (10)
        • 물생활 (10)
        • 식집사 (0)
  • 인기 글

  • 태그

    셀레니움
    스마트스토어리뷰
    C#
    상품 리뷰 크롤링
    programming101
    리뷰이관
    list
    ipcamera
    devlife
    스크립트 실행 순서
    unity
    긴유통기한우유
    쇼핑몰리뷰
    믈레코비타멸균우유
    라떼우유
    rtsp
    Python
    리스트
    programmerlife
    스크립트 실행
    리뷰관리
    learntocode
    파이썬
    카페24리뷰이관
    cv2
    유니티
    codingcommunity
    appdevelopment
    codingtips
    카페24리뷰
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
코샵
Unity 스크립터블오브젝트 : ScriptableObject
상단으로

티스토리툴바