Unity Engine 23

Custom Inspector - ReorderableList(2)

ScriptableObject 를 활용하여 데이터를 편집할때 인스펙터를 수정하는 방법을 확인 해 보겠습니다. [Serializable] public class CharacterInfo { public string CharacterName; public int CharacterLevel; public float value; } 기본적인 데이터 입니다. 이것이 배열 형태로 ScriptableObject로 처리 됩니다. [CreateAssetMenu(fileName = "CharacterData", menuName = "Scriptable Object/CharacterData")] public class CharacterData : ScriptableObject { [SerializeField] private..

Unity Engine 2022.06.20

Custom Inspector - ReorderableList(1)

유니티를 사용하다보면 인스펙터를 커스텀 해서 사용해야 할 일이 생각보다 많이 있습니다. 보통 배열 형 객체관리를 위해서 다양한 인스펙터를 요구하게 되는 일이 많습니다. [Serializable] public struct CharacterData { public int Level; public string CharacterLevel; public GameObject Prefab; public Texture2D Image; } 이러한 구조체가 있고 이것을 배열로 컨트롤 해야 하는 상황입니다. Serializable 은 선언해 주지 않는다면 구조체가 인스펙터에서 나오지 않습니다. public class DataObject : MonoBehaviour { public CharacterData[] Characte..

Unity Engine 2022.06.15

Unity Job System - 종속성

Unity 에서는 멀티 스레딩을 지원 하기 위해서 Job System을 제공 하고 있습니다. https://docs.unity3d.com/kr/2018.4/Manual/JobSystem.html C# 잡 시스템 - Unity 매뉴얼 Unity C# 잡 시스템(Job System)을 사용해 Unity 엔진과 상호작용하는 간단하고 안전한 멀티스레드 코드를 작성하여 게임 성능을 개선할 수 있습니다. docs.unity3d.com 간단히 단일 스레드보다 멀티 스레드를 사용하는 방식이 성능상 이점이 있기 때문에 사용할 수 있는 환경이라면 사용 하는 것이 성능적으로 이득을 얻을 수 있습니다. 다만 매뉴얼을 살펴보게 되면 스레드간 데이터 이동이 자유롭지는 않습니다. NativeContaienr를 활용하여 데이터를 이..

Unity Engine 2022.05.11