본문 바로가기

전체 글96

FSM #2 FSM을 만든지는 거의 한달쯤 됐는데 그간 포트폴리오 작업물을 촬영해서 올리려 할때마다 이상한 버그들이 터져버리는 바람에 계속 못쓰다가 이제 몰아쓴다. 1. 대기상태 2. 일정 대기시간이 지났을 경우 현재 방향으로 계속 걸어간다. 2-1. 만일 적(플레이어)이 발견된다면 chase실행 2-2. 범위가 좁혀졌다면 공격준비상태. 2-3. 공격 3. 만일 적(플레이어)이 범위를 벗어났다면 idle로 돌아가게 할 생각이다. 이전글에 이와같이 계획을 세웠고 일반몹 / 보스몹 따로 스크립트를 만들어 작성했다. FSM은 하나의 상태를 가지고 있고 상태 전이에 대한 설계이고, 상태전이를 좀 더 매끄럽게 진행하기 위해기존 코드를 폐기한 후 애니메이터 내 addBehaviour에서 스크립트를 작성했다. 때문에 MonoBe.. 2020. 9. 14.
FSM #1 기존에 Enemy에게 적용할 용도로 wander.cs를 만들어 적용했었다. 구조는 매우 간단하면서도 뭔가 원시적이었는데, enemy 이하 shade의 하위 오브젝트를 만들어 정해진 반지름 크기에 따라 onTrigger설정이 된 원을 그려서 범위를 만들어주었고 평상시엔 랜덤값을 돌려 0,1,2를 나오게 유도해서 0 = left , 1 = stop , 2 = right로 방향 값 + 코 루틴으로 몇 초 동안 이동해주는 방식으로 설정했다. 물론 낙하방지를 위해 cliffDetect라는 변수도 만들어서 처리를 해주었다. 스테이지 1의 경우 직접 타일을 찍어줬기에 의도대로 행동을 했지만 랜덤 던전을 만들면서 일이 터졌다. 사다리를 보고 기겁한나머지 거기서 벌벌 떨고 있길래(?) 디버깅을 하다가 답이 없다고 느껴서.. 2020. 8. 4.
Procedural Dungeon Generation in Unity #4 점검 이전 글 : https://atli-yeondi.tistory.com/31 유니티 개발일지 + Procedural Dungeon Generation in Unity #3 이전 글 : Procedural Dungeon Generation in Unity #2 https://atli-yeondi.tistory.com/30 Procedural Dungeon Generation in Unity #2 이전 글 : https://atli-yeondi.tistory.com/29 Procedural Dungeon Gener.. atli-yeondi.tistory.com 이전 글 : https://atli-yeondi.tistory.com/33 사다리 만들기 몇일전부터 틈틈히 사다리를 만들려고 애썼다. 원래 코드 pri.. 2020. 7. 30.
움직임 입력값 지금까지 점프/공격을 제외하고서도 if ((Input.GetKeyDown(KeyCode.Space) || Input.GetButtonDown("Jump"))) 이런식으로 처리하곤 했다. Input.GetKeyDown(KeyCode.Space)로 컴퓨터로 테스트할때 조작용으로 코드를 넣고 Input.GetButtonDown("Jump")로 모바일 조작용 코드를 같이 넣었다. 이 경우는 점프의 경우이지만 상하좌우로 이동할때도 비슷하게 했었는데 getAxisRaw를 하면 굳이 update함수에 위와같이 넣어주지 않아도 된다. 복잡한 경우를 제외하고 단순히 이동만 하고자 하는 경우를 가정할때 private Vector2 Movement; public float MovementVelocity; //어떠한 값을 설.. 2020. 7. 29.