xr(11)
-
Unity GunShot Skill 생성
이번에는 3번째 스킬인 단발형 타입 GunShot스킬을 만들어 보겠다. 이번에 사용할 가장 기본이 되는 로직은 XR Grab Interactable를 이용해서 Event처리를 통해 총알을 발사 하는 것이다. 총과 총알의 기본 셋팅 위 사진은 에셋스토에서 구한 총에 기존에 만들었던 쉐이더를 적용한다음 콜라이더박스를 적용한 모습이다. 여기서 특이한 점이 콜라이더의 배치모습인데 이는 XR Ray interactor가 레이캐스트를 쏠 때 콜라이더를 감지해 Grab을 하는데 만약 총모습대로 콜라이더를 정확하게 배치를 하게 되면 실제 Grab을 하려했을 때 Ray를 맞추기 어려운 이슈가 있고 손을 총에다 대고 Ray를 쐈을 때 콜라이더 내부에서 Ray가 쏴지면 제대로 충돌판정이 일어나지 않는 이슈가 있어 이렇게 콜..
2022.01.12 -
XR Rig Body생성, 스킬 거리 최댓값 주기
이번에는 지금까지 XR Tool Kit에서 지원해주는 것만으로는 불가능한 XR용 Body를 생성하고 폭발형 스킬의 최대거리값을 설정해주는 작업을 진행 하였다. XR RIg Body(몸체) 생성 기본적으로 XRToolKit이 지원해주는 XR Rig의 구성요소를 보자면 크게나눠 "머리","컨트롤러" 두개로 나뉘어진다. 그럼 여기서 문제는 텔레포트를 통한 시스템적 이동이 아닌 VR공간안에서 플레이어가 직접 걸어다니는 이동에 관련해서 이슈가 생긴다. 왜냐하면 시스템적이동은 XR Rig전체가 같이 이동하는반면 직접적인 이동은 XR Rig는 그대로 있고 Main카메라만 이동하기 때문이다. 이 특성을 통해 생기는 이슈는 바로 Rotation즉 회전의 문제이다. 기본적으로 지금까지 채택하고 있었던 스킬Cube의 형태는..
2021.09.05 -
XR Ray Interactor, Teleportation Area를 통한 이동 시스템
이번 구현은 새로운 것이아니라 기존에 만들어 놓은 부분들을 조금씩 다듬는 것이다. 이번에 다듬은 부분은 다음과 같다. 1. cliff영역에도 정상적으로 텔레포테이션될 수있게 조정 2. XR Ray의 형태 변경과 텔레포테이션 버튼 변경, 이동범위조절. 3. cliff영역에도 iceBomb같은 설치형 스킬위치가 제대로 초기화 되도록조정 4. icebomb가 실행전 미리 타격 위치를 알려주는 로직생성 Cliff(바위)영역 텔레포테이션 지금까지는 제작된 Terrain에만 텔레포테이션이 되도록 만들어 놨다. 기본적으로 이러한 게임오브젝트에 텔레포테이션이 가능하게 만들려면 Teleportation Area 컴포넌트를 적용해야 한다. 이 컴포넌트를 적용하는 순간 부터 XR Ray Interator와 XR Contro..
2021.09.01 -
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 스킬 획득,관리 시스템(1)
현재 제작 중인 게임은 스킬의 종류와 획득 방법의 자유도가 매우 높은 레벨로 기획 되고 있다. 그렇기에 수많은 스킬과 그에 따른 획득 경로를 따로 분리해 관리 하지 않으면 상당히 더러운 코드가 될 가능성이 높다. 스킬 관리에 필요한 클래스는 총 2개 SkillConditionCheck - 스킬들의 게임 출현 조건을 검사 해주는 클래스 SkillManager - 게임 출현 조건을 만족해 획득 가능, 사용 가능한 스킬들을 관리 해주는 클래스 MagicPrepare - SkillManager에서 할당해줄 스킬들을 보관할 장소 먼저 SkillConditionCheck Class이다. 이 클래스는 수많은 조건 검사가 불가피한 클래스이다. 그렇기에 자칫 했다간 큰 성능저하로 이를 수 있다. 그렇기에 본인은 이 문제..
2021.07.08