전체 글 (38) 썸네일형 리스트형 Unity 68일차 TIL - Unity (Blend Tree) 이번에 4 Dirctional Player를 만들면서 Blend Tree라는 방식을 알게 됐는데 사용 방법은 간단하다. Animator에서 Mouse 오른쪽 키를 누르게되면 State를 생성할 수 있는데 거기에 Blend Tree가 있다. Blend Tree를 사용했던 이유는 Parameter 값을 통해서 X와 Y 값을 받아가지고 방향에 따른 Animation을 등록하고 실행할 수 있기 때문이다. Blend Tree를 생성한 후 들어가보면 이런식으로 돼있는데 Blend Tree를 선택하고 Type을 2D로 바꾸게되면 바로 밑에 Parameters가 2개로 바뀌게된다. 하단에 +를 누르게 되면 Animation을 추가할 수 있고, posX와 posY값을 설정해서 왼쪽, 오른쪽, 위, 아래의 애니메이션.. Unity 67일차 TIL - Unity (Animator.Play()) 애니메이션을 Animtator 창에서 Animation들을 Transition으로 연결해서 Parameter 변수를 통해서 실행시키는게 일반적인데 이번에 만들게된 2D TopDown 4 Directional로 Player를 만들다보니 사용하게 된 에셋의 Animation이 너무 복잡했다. 일단 상태가 너무 많다보니 Parameter도 많았고, Trigger로 활용됐지만 전부다 실행 뒤에 Idle로 돌아간다는 단점이 있다.그래서 어떻게하면 내가 원하는 Animation을 원하는 상황에서 실행시킬 수 있을지 고민을 하다가 Youtube에서 Animator Class에서 Play라는 함수를 통해서 Animation을 바로 실행시킬 수 있다는 것을 알게 됐다. 그래서 Animation Data들을 만들고, A.. Unity 64일차 TIL - Unity (2D ItemInventory4_InventoryUIDragAndDrop) (출처 : https://rito15.github.io/posts/unity-study-rpg-inventory/) 위에 링크에 있는 내용을 바탕으로 제작했다. private Inventory inventory;[SerializeField] private ItemTooltipUI itemTooltipUI;[SerializeField] private InventoryPopupUI popupUI;private GraphicRaycaster gr;private PointerEventData ped;private List rrList;private ItemSlotUIs pointerOverSlot;private ItemSlotUIs beginDragSlot;private Transform beginDragIco.. Unity 63일차 TIL - Unity (2D ItemInventory3_ItemTooltipUI) UI를 활용하면서 RectTransform의 위치를 기존에 position 값을 변경하듯이 바꿔주면 된다고 생각했었다. 근데 원하는 위치로 가지 않아서 찾아보니 anchoredPosition이라는 것이 있었다. anchoredPosition을 이용하면 Canvas의 Inspector 창에 있는 RectTransform Component에 있는 PosX와 PosY 값을 입력한 수치대로 변경할 수 있었다. ItemTooltip Background Image 하나와 그 안에 들어갈 TextMeshPro - Item Name Text, Item TooltipText 두 개를 활용해서 UI를 만들었다. (출처 : https://rito15.github.io/posts/unity-study-rpg-inventory.. Unity 60일차 TIL - Unity (Graphic RayCaster) 그래픽스 레이캐스터는 캔버스에 레이캐스트를 하는 데 사용한다. 이번에 Inventory UI를 만들고 Slot UI를 DragAndDrop 기능을 만들 때 사용했던 레이캐스트이다. 기본적으로 Canvas에 같이 붙어있는데 각 기능들은 이렇다. Ignore Reversed Graphics - 레이캐스터가 후면 그래픽스를 무시할지 여부Blocked Objects - 그래픽 레이캐스트를 막을 오브젝트 타입Blocking Mask - 그래픽 레이캐스트를 막을 Layer 타입 그래서 Blocking Mask에서 레이캐스트를 허용할 layer만 남겨두면 된다. private GraphicRaycaster gr;ped = new PointerEventData(EventSystem.current); rrList = .. Unity 59일차 TIL - Unity (2D ItemInventory2_InventoryUI) (출처 : https://rito15.github.io/posts/unity-study-rpg-inventory/) 위에 링크에 있는 내용을 바탕으로 제작했다. 다음은 InventoryUI 부분이다. InventoryUI는 SlotUI들을 관리하는 용도라고 생각한다.초기에 SlotUI들을 생성해주고 List에 넣어서 이후에 data들을 관리하는 Inventory에서 수정을 하게되면 Inventory UI -> Slot UI 쪽으로 정보를 전달해주는 중간 다리 역할이다. private Inventory inventory;private InventoryUIDragAndDrop dragAndDrop;[Header("Options")][Range(0, 11)][SerializeField] private int .. Unity 58일차 TIL - Unity (2D ItemInventory1_SlotUI) (출처 : https://rito15.github.io/posts/unity-study-rpg-inventory/) 위에 링크에 있는 내용을 바탕으로 제작했다.우선 인벤토리를 제작하기 전에 인벤토리에 들어갈 SlotPrefab을 만든 후 Slot에 들어갈 SlotUI Script를 만든다. SlotPrefab - Hierarchy구조는 Background Image와 ItemIconImage 그리고 포션 같이 셀 수 있는 아이템이 있는 경우 숫자를 표시해주기 위해서 Text를 넣어주고 셀 수 있는 아이템인 경우 활성화 시켜준다.HighlightImage는 커서가 Item Slot 위에 있을 때 활성화 시켜주기 위한 용도이다. SlotUI.cs// 슬롯 내에서 아이콘과 슬롯 사이의 여백[SerializeF.. Unity 57일차 TIL - Unity (C# Class 상속) FSM을 구현하면서 Class 상속에 관련해서 잘못 알고 있었던 부분을 정리해보려고 한다. Public Class A : Monobehavior{ public int a = 0; public int b = 0; protected int c = 0; protected int d = 0;}public Class B : A{ private void Awake() { a = 1; c = 1; }}public Class C : A{ private void Start() { Debug.Log("a : " + a); Debug.Log("b : " + b); Debug.Log("c : " + c); Debug.Log("d .. 이전 1 2 3 4 5 다음