vr(11)
-
Unity GunShot Skill 생성
이번에는 3번째 스킬인 단발형 타입 GunShot스킬을 만들어 보겠다. 이번에 사용할 가장 기본이 되는 로직은 XR Grab Interactable를 이용해서 Event처리를 통해 총알을 발사 하는 것이다. 총과 총알의 기본 셋팅 위 사진은 에셋스토에서 구한 총에 기존에 만들었던 쉐이더를 적용한다음 콜라이더박스를 적용한 모습이다. 여기서 특이한 점이 콜라이더의 배치모습인데 이는 XR Ray interactor가 레이캐스트를 쏠 때 콜라이더를 감지해 Grab을 하는데 만약 총모습대로 콜라이더를 정확하게 배치를 하게 되면 실제 Grab을 하려했을 때 Ray를 맞추기 어려운 이슈가 있고 손을 총에다 대고 Ray를 쐈을 때 콜라이더 내부에서 Ray가 쏴지면 제대로 충돌판정이 일어나지 않는 이슈가 있어 이렇게 콜..
2022.01.12 -
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 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 스킬 획득,관리 시스템(1)
현재 제작 중인 게임은 스킬의 종류와 획득 방법의 자유도가 매우 높은 레벨로 기획 되고 있다. 그렇기에 수많은 스킬과 그에 따른 획득 경로를 따로 분리해 관리 하지 않으면 상당히 더러운 코드가 될 가능성이 높다. 스킬 관리에 필요한 클래스는 총 2개 SkillConditionCheck - 스킬들의 게임 출현 조건을 검사 해주는 클래스 SkillManager - 게임 출현 조건을 만족해 획득 가능, 사용 가능한 스킬들을 관리 해주는 클래스 MagicPrepare - SkillManager에서 할당해줄 스킬들을 보관할 장소 먼저 SkillConditionCheck Class이다. 이 클래스는 수많은 조건 검사가 불가피한 클래스이다. 그렇기에 자칫 했다간 큰 성능저하로 이를 수 있다. 그렇기에 본인은 이 문제..
2021.07.08