분류 전체보기(22)
-
Unity IceBomb Skill제작
이번에는 기존에 만든 스킬말고 또 하나를 제작하기로 했다. 이름은 IceBomb으로 스킬을 실행하고 손을 높에 올린뒤 땅을 찍으면 보고 있는 곳에서 얼음 기둥이 솟아 나온다. 이 스킬을 만드는데 가장 핵심적인 요소들은 Raycast와 OntriggerEnter두가지 이다. 한번 천천히 보도록 하자. 로직 전편들에 의해서 스킬관리 시스템이 구축이 되었으므로 일단 IceBomb이라는 스킬명을 가진 객체가 하나 필요하다. 이 곳에서는 많은 역할을 하지않고 바로 Logic을 담당하는 객체를 생성해주는 역할을 한다. public class IceBomb : MonoBehaviour //raycast곡선변경 알아보기 { private Transform EyeTrans; public GameObject IceBomb..
2021.07.16 -
Unity 스킬 획득,관리 시스템(3)
전편에 이어 이제 획득한 스킬을 적용하는 단계까지 구현하였다. 추가된 기능은 필요한 Ui 2개를 더 만들었고 Ui의 상호작용에 따라 스킬의 적용까지이다. 로직 이번에도 클래스 단위별로 설명하겠다. 먼저 가장 메인이 되는 SkillManager Class를 보자 여기서 가장 메인이 되는 기능은 UseAbleUi와 CurrentSkillUi를 나타낼 Ui의 생성과 초기화, 그리고 현재 적용스킬의 관리이다. public List useAble = new List(); public Dictionary currentMagic = new Dictionary(); public GameObject magicApplyUi; //canvas public GameObject skillAbleUi; public GameObj..
2021.07.11 -
Unity 스킬 획득,관리 시스템(2)
전편에 이어서 이번에는 Ui와 그에맞는 로직을 짰다. 현재 추가된 기능은 조건검사클래스에서 넘어온 딕셔너리의 수만큼 Ui가 "동적"할당되고 코스트와 스킬 이름이 초기화가 된다. 또한 Ui에 버튼을 누를시 OnClick 함수를 통해 동적할당시 같이 넘어간 데이터를 기반으로 획득 가능한지 조건 검사를 진행 후 UseAble로 스킬이 넘어가도록 구현이 되있고 완료된 스킬은 딕셔너리에서 삭제가 된다. 이 과정에서 자연스럽게 XR Ui interacting이 진행 되었다. 초기 셋팅 본 프로젝트는 XR기반으로 설계 되었기 때문에 Ui를 사용하려면 먼저 설정 해야 하는 것이 있다. 먼저 Canvas에 다음 Component를 추가해야 한다. 다음은 EventSystem에 아래 사진의 컴포넌트를 추가한다. 이 두개를..
2021.07.09 -
Unity 스킬 획득,관리 시스템(1)
현재 제작 중인 게임은 스킬의 종류와 획득 방법의 자유도가 매우 높은 레벨로 기획 되고 있다. 그렇기에 수많은 스킬과 그에 따른 획득 경로를 따로 분리해 관리 하지 않으면 상당히 더러운 코드가 될 가능성이 높다. 스킬 관리에 필요한 클래스는 총 2개 SkillConditionCheck - 스킬들의 게임 출현 조건을 검사 해주는 클래스 SkillManager - 게임 출현 조건을 만족해 획득 가능, 사용 가능한 스킬들을 관리 해주는 클래스 MagicPrepare - SkillManager에서 할당해줄 스킬들을 보관할 장소 먼저 SkillConditionCheck Class이다. 이 클래스는 수많은 조건 검사가 불가피한 클래스이다. 그렇기에 자칫 했다간 큰 성능저하로 이를 수 있다. 그렇기에 본인은 이 문제..
2021.07.08