일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- c#
- 유한상태머신
- 스파르타내일배움캠프
- 코루틴
- delegate
- 메서드
- FSM
- BGM
- UI
- inputsystem
- ObjectPool
- 장애물달리기
- unity
- soundmanager
- 프로그래머스
- invokec#events
- 비선형자료구조
- 인터페이스
- 람다식
- 자료구조
- 배열
- LINQ
- skybox
- script
- 직렬화
- InputManager
- 유니티
- 스택
- Generic
- 효과음
- Today
- Total
목록FSM (4)
Unity 개발일지
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/buJjKU/btsIblalmmm/ukddNDKbPsepUa9fxIJWB1/img.png)
Animator 창에서 Bool값으로 변수들을 선언 후 Create Sub-State Machine을 만들어주고 Ground라고 이름을 붙여준다. 그러면 Animator 상단에 Base Layer 와 Ground 로 레이어가 나뉘게 되는데 조건을 만족하면Base Layer에서 Ground로 이동한다는 뜻이다. Animation을 만들어줘야한다면 만들어서 넣어주고, 이미 만들어진 Animation이 있다면 드래그드랍으로 등록해주자. Tsansition을 등록해주고 각각의 bool값 설정화 Has ExitTime을 해제해주는 등의 작업을 한다. Player가 직접 움직이는게 아니라 붙어있는 Model이 움직여야하므로 Animator를 모델쪽으로 움직여준다.Animator위치를 바꿔줬으니Player 스크립트에..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dABaxI/btsH5BDz44e/yradTjujkbKiVFBrn7HBo1/img.png)
Scriptable 폴더를 만들고, 를 작성해주자.PlayerSO안에는 각 상태별 Data도 적어주었다.스크립트 저장 후 PlayerSO를 생성해준 뒤 값은 스크립트에서 정한 값 그대로 두었다.Player가 PlayerSO 데이터를 받아올 수 있도록 Player 스크립트를 수정해주었다.PlayerSO를 드래그드롭해서 넣어주자. 이제 PlayerGroundState에 들어갈 State들을 본격적으로 작성해보자!@일단, 스크립트이다.앞으로 상태들이 PlayerStateMachine을 거쳐갈텐데 상태들이 받아갈 수 있는 값들을 선언해주었다.StateMachine을 추상클래스로 만들고, 이를 상속했는데 딱히 바꿀 내용은 없기 때문에 그대로 가져간다.StateMachine이 계속 작동할 수 있도록 Player ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/TJRaf/btsH3mtAssY/Mv9QkYCYwIpMPlMspvq1KK/img.png)
이제 본격적으로 InputManager를 만들어보자. [프로젝트 세팅하기]Window - Package Manager - Unity Registry - Input System 검색 후 Install 먼저 Scene에 빈오브젝트 Player를 만들고, 프리펩을 넣어주었는데 핑크맨등장!랜더파이프라인설정이 달라서 수정하는 작업부터 해주도록 하겠다.Window - Rendering - Render Pipeline Converter - Convert Assets 클릭 - Initialize And Convert 클릭현재 프로젝트가 URP라서 생긴 현상으로, Built-in을 URP로 전환해준다. Player의 Material이 적용되어있는 Material파일을 클릭해보면 Built-In에서 사용하는 Standar..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/nbEG5/btsHZwwASiH/xkIXuMqKhYgsiwEn7NfIWK/img.png)
InputManager의 다양한 구현방법 중 Invoke C# Events를 소개하고자 한다.Send Messages를 이용한 구현은 다음 포스팅을 참고하자. [Unity] New InputManager로 플레이어 이동 구현하기유니티로 플레이어의 이동을 구현하는 방법은 다양하다.오늘은 그중에서도 New InputManager로 구현을 해보았다. New InputManager란 무엇인가?우선 기존의 InputManager (구 InputManager)로 플레이어의 이동amor-games.tistory.com 이번 프로젝트에서는 Finite State Machine (유한 상태 머신) 기법으로 플레이어의 움직임을 구현핬다. [Finite State Machine]finite는 한정된이라는 뜻으로 infi..