Make Unreal REAL.
article thumbnail
실행 순서에 따른 배열 인덱스 오류 수정

Unreal Engine: Ultimate Survival Horror Course 플레이를 종료하자 아래와 같은 오류가 발생했다. 배열의 범위를 넘어서는 인덱스에 접근했다는 것 같다. BPC_Inventory의 BeginPlay에서 슬롯의 크기를 정한다. 하지만 W_Inventory의 Construct에서 W_Inventory의 Initialize를 호출하고, 그 안에서 BPC_Inventory의 InventorySlots 배열에 접근하여 문제가 생긴 것이다. 한 마디로, BPC_Inventory의 BeginPlay를 호출해 배열의 크기를 지정하기 전에 W_Inventory의 Construct가 배열에 접근하여 실행 순서로 인해 문제가 생긴 것이다. 배열의 원소를 접근하는 BPC_Inventory의 G..

article thumbnail
인벤토리에 복수 아이템 추가하기

Unreal Engine: Ultimate Survival Horror Course W_InventorySlot에 Canvas Panel - Size Box - Text를 추가한다. Size Box로 Wrap하면 크기를 쉽게 조정할 수 있다. Text 위젯의 이름을 AmountText로 변경한다. Is Variable에 체크해 변수로 사용할 수 있게 한다. Visibility의 기본값을 Hidden으로 설정한다. UpdateSlot에 개수를 갱신하는 부분을 추가한다. SetText 노드를 활용해 Text 위젯의 텍스트를 설정할 수 있다. ToText Use Grouping: 1000을 1,000 등으로 표시한다. Integral Digits: 빈 칸만큼 0을 추가한다. BPC_Inventory에 아이템 ..

article thumbnail
인벤토리 아이콘 갱신하기

Unreal Engine: Ultimate Survival Horror Course BPC_Inventory에 인덱스에 따른 아이템 정보와 개수를 반환하는 GetItemDataAtIndex 함수를 추가한다. Pure를 체크하여 실행 핀이 없는 함수로 구현한다. Item BP_InventoryItem_Master (Class Reference) Get(a copy)는 값 복사이고 Get(a ref)는 레퍼런스를 반환한다. W_InventorySlot에 L1_Character를 받아와 저장하는 Initialize 커스텀 이벤트를 구현한다. 슬롯의 아이콘을 갱신하는 UpdateSlot 함수를 추가하고 구현한다. Set Brush from Texture 노드를 이용해 텍스처를 Image에 적용할 수 있다. Ma..

article thumbnail
인벤토리 아이템 제작

Unreal Engine: Ultimate Survival Horror Course 아이템 정보 구조체인 S_ItemData Structure를 생성한다. 사용자 정의 구조체를 정의한다. 이름 String은 Append, Substring 등의 연산이 가능하지만 느리다. Name은 대소문자를 구분하지 않고 네트워크에 최적화되어 있으며 속도가 빠르다. Text는 말그래도 텍스트를 표시하는데 사용하며 Localization을 할 때 사용한다. 메뉴 상 아이콘 Texture 2D (Object Reference) 최대 소지 개수 메뉴 상 하나의 슬롯을 의미하는 W_InventorySlot에서 어떤 아이템인지 저장하는 S_ItemData 형식의 ItemData 변수를 생성한다. S_ItemData 구조체를 저장..

article thumbnail
인벤토리 메뉴 만들기

Unreal Engine: Ultimate Survival Horror Course Play - New Editor Window를 선택하면 뷰포트가 아닌 새로운 창에서 실행할 수 있다. Play - Advanced Settings에서 에디터 상 플레이 해상도도 조절할 수 있다. 이미지를 임포트하고 Asset Actions - Bulk Edit via Property Matrix를 선택해 한꺼번에 수정한다. Compression - UserInterface2D Texture Group - UI 눈 아이콘을 클릭해 에디터 상에서 잠시 비활성화할 수 있다. SlotButton의 Normal(평상시), Hovered(마우스 올릴 시), Pressed(누를 시) 이미지를 설정해준다. SlotImage의 이미지도 ..

article thumbnail
인벤토리 그리드, 슬롯 만들기

Unreal Engine: Ultimate Survival Horror Course Inventory 폴더를 생성하고 인벤토리 슬롯으로 사용할 W_InventorySlot 위젯 블루프린트를 생성한다. Size Box, Button, Overlay, Image를 추가한다. 크기와 패딩 등을 설정한다. Tab키 등 키보드 입력으로 버튼이 포커스되는 것을 막기 위해 해제해준다. Designer에서 Graph로 이동하여 Index 변수를 생성해준다. 블루프린트에서 값 수정을 허용하기 위해 Instance Editable을 체크해준다. 노드 생성 시 입력 변수로 표시하기 위해 Expose on Spawn을 체크해준다. 인벤토리 그리드로 사용할 W_InventoryGrid 위젯 블루프린트를 생성한다. Uniform..

검색 태그