유니티 Odin InspectorOdin Inspector란? 오딘 인스펙터는 커스텀 에디터 코드를 한 줄도 작성하지 않고도 강력하고 사용자 친화적인 커스터마이징 에디터의 모든 워크플로 이점을 누릴 수 있는 Unity용 플러그인입니다.wlsdn629.tistory.comShowIf 어트리뷰트는 오딘 인스펙터에 있는 기능이긴 합니다.ShowIf 어트리뷰트를 사용하면 특정 컴포넌트의 조건에 따라 특정 필드를 보이게 할지 말 지를 컨트롤 할 수 있습니다. 저는 ShowIf 어트리뷰트를 응용해서 ShowIfComponent 어트리뷰트를 만들어보았습니다.ShowIfComponent 어트리뷰트를 사용하면 특정 컴포넌트를 가지고 있을 때에만 해당 필드가 보여지게 할 수 있습니다.ShowIfComponent Attri..
[System.Serializable]이란?C#의 속성(attribute)으로, 클래스, 구조체 또는 필드에 적용할 수 있습니다. System.Serializable 속성을 사용하면 직렬화 시스템에 의해 데이터가 직렬화될 수 있음을 나타냅니다. 직렬화는 데이터 구조나 객체 상태가 에디터에 저장되고 나중에 재구성할 수 있는 포맷으로 자동으로 변환하는 프로세스를 뜻합니다. 직렬화?🔽더보기직렬화는 데이터를 저장하거나 전송하기 위해 일련의 연속적인 바이트로 변환하는 과정을 말합니다. 연속적인 바이트로 변환시키면 복잡한 데이터 구조를 쉽게 저장하고 전송할 수 있습니다. 직렬화된 데이터는 나중에 역직렬화를 통해 원래의 형태로 복원할 수 있습니다.예를 들어, 우리가 게임을 만들고 있고 플레이어의 정보, 아이템, ..
유니티에는 다양한 Attribute가 존재합니다. HideInInspector: 스크립트의 공개 속성이라도 인스펙터에서 보이지 않게 할 수 있습니다. AddComponentMenu: 스크립트를 Unity의 컴포넌트 메뉴에 추가할 수 있습니다. ContextMenu: 스크립트의 메서드를 인스펙터의 컨텍스트 메뉴에 추가할 수 있습니다. CreateAssetMenu: 스크립트를 Unity의 에셋 메뉴에 추가할 수 있습니다. ExecuteInEditMode: 플레이 모드가 아닌 에디터 모드에서도 스크립트를 실행할 수 있습니다. RequireComponent: 스크립트가 특정 컴포넌트를 필요로 할 때, 그 컴포넌트를 자동으로 추가할 수 있습니다. Tooltip: 인스펙터에서 변수에 대한 설명을 표시할 수 있습니다..
[DefaultExecutionOrder]이란? Unity에서 스크립트의 기본 실행 순서를 지정하는 데 사용됩니다. 기본적으로 Unity는 임의의 순서로 스크립트를 실행하므로 스크립트가 서로의 실행 순서에 따라 달라지는 경우 예측할 수 없는 동작이 발생할 수 있습니다. [DefaultExecutionOrder] 속성을 사용하면 스크립트가 실행되어야 하는 순서를 명시적으로 정의할 수 있습니다. 실행 순서 값이 낮은 스크립트는 값이 높은 스크립트보다 먼저 실행됩니다. ScriptA는 실행 순서 값이 -10이므로 다른 모든 스크립트보다 먼저 실행됩니다. ScriptB의 실행 순서 값은 5이며, ScriptA 뒤에 있지만 기본 실행 순서 값인 0보다 앞에 있습니다. ScriptC 및 ScriptD 모두 실행 순..
[Flag] 속성이란 enum 열거형에서 사용할 수 있으며 enum이 여러 속성을 선택할 수 있게 해주는 기능입니다! [참고 사이트] https://dallcom-forever2620.tistory.com/15 [C#] enum 에서 Flags 속성달기 12345678910[Flags]public enum MonsterType{ None = 0, Human = 1 dallcom-forever2620.tistory.com
ExecuteInEditMode 속성 또는 ExecuteAlways 속성을 사용하면 에디터를 실행시키지 않아도 스크립트 컴포넌트의 콜백 함수가 실행된다! using UnityEngine; [ExecuteAlways] public class TestExecuteAlways : MonoBehaviour { void Update() { transform.Rotate(Vector3.up * 5f); } } 위 화면처럼 매끄럽게 되지 않는 사람은 Always Refresh를 켜주면 된다 이렇게 하면 매끄럽게 보인당!