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
코샵
코샵
나의 코딩 일기장
    반응형
  • 코샵
    끄적끄적 코딩 공방
    코샵
    • 분류 전체보기 (730)
      • 스마트팜 (1)
      • 상품 추천 (223)
      • DataBase (0)
        • MongoDB (4)
        • PostgreSQL (0)
      • 하드웨어 (19)
      • 일기장 (4)
      • 파이썬 (131)
        • Basic (42)
        • OpenCV (8)
        • Pandas (15)
        • PyQT (3)
        • SBC(Single Board Computer) (1)
        • 크롤링 (14)
        • Fast API (29)
        • Package (6)
      • Unity (138)
        • Tip (41)
        • Project (1)
        • Design Pattern (8)
        • Firebase (6)
        • Asset (2)
      • Linux (5)
      • C# (97)
        • Algorithm (11)
        • Window (7)
      • TypeScript (51)
        • 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)
  • 인기 글

  • 태그

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

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

티스토리툴바