유니티 다크소울 따라만들기 ch_15 무기 Slot UI
이 글은 유튜브 Sebastian Graves Create Dark Souls를 보고 따라 만들면서 헷갈리는 부분을 정리한 글입니다.
구현 개요
무기 교체 시스템과 UI를 연동시킨다.
UI 추가
Image를 통해 SLot UI를 다음과 같이 생성
스크립트 수정
QuickSlotUi 스크립트 추가
WeaponItem을 매개변수로 받아서 아이콘을 UI에 띄운다.
public class QuickSlotsUI : MonoBehaviour
{
public Image leftWeaponIcon;
public Image rightWeaponIcon;
public void UpdateWeaponQucikSlotsUI(bool isLeft, WeaponItem weapon)
{
if(isLeft == false)
{
if(weapon.itemIcon != null)
{
rightWeaponIcon.sprite = weapon.itemIcon;
rightWeaponIcon.enabled = true;
}
else
{
rightWeaponIcon.sprite = null;
rightWeaponIcon.enabled = false;
}
}
else
{
if (weapon.itemIcon != null)
{
leftWeaponIcon.sprite = weapon.itemIcon;
leftWeaponIcon.enabled = true;
}
else
{
leftWeaponIcon.sprite = weapon.itemIcon;
leftWeaponIcon.enabled = false;
}
}
}
}
weaponSlotManager 수정
QuickSlotUI를 가져와서 무기를 바꿀 때 마다 함수를 실행한다.
QuickSlotsUI quickSlotsUI;
private void Awake()
{
...
quickSlotsUI = FindAnyObjectByType<QuickSlotsUI>();
...
}
public void LoadWeaponOnSlot(WeaponItem weaponItem, bool isLeft)
{
if (isLeft)
{
leftHandSlot.LoadWeaponModel(weaponItem);
LoadLeftWeaponDamageCollider();
quickSlotsUI.UpdateWeaponQucikSlotsUI(true, weaponItem); // 추가
...
}
else
{
rightHandSlot.LoadWeaponModel(weaponItem);
LoadRightWeaponDamageCollider();
quickSlotsUI.UpdateWeaponQucikSlotsUI(false, weaponItem); // 추가
...
}
}
아이콘 만들기
간단하게 아이템의 사진을 찍는다.
찍은 사진을 다음 사이트에서 PNG로 전환한다. PNG변환 사이트
가져온 Png를 Sprite로 변환한다.
weaponItem 스크립터블 오브젝트에 넣어준다.
결과
배운점
- Png로 변환하는 간단한 방법을 찾아낼 수 있었다.
댓글남기기