일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- rigidbody
- raycast
- raycasting
- apk
- 패럴렉스
- Hpbar
- 일시정지
- Blend Type
- LayerMark
- Object Pooling
- Hp바
- Object Poling
- 플레이어 이동
- 2D슈팅게임
- 오브젝트 풀링
- Transform
- 프리팹
- CSharp #자료구조
- 스크롤링
- rotation
- Parallax
- Prefabs
- Ainimation Blending
- 유니티
- joystick
- Animation State Machine
- Vector3
- Unity
- Scrooling
- 플레이어 방향전환
- Today
- Total
주녘공부일지
[ShootingGame] 1. 플레이어 이동 구현 본문
0. 준비하기
1. 플레이어 이동
Move() : Updata문에서 실행 // 캡슐화
- Input.GetAxisRaw() : 방향값 추출 (-1, 0, 1)
RawData : 가공되지 않은 데이터, 등을 뜻함, Axis : 축
+ transform 이동에는 Time.DeltaTime 사용!
+ 플래그 변수를 사용해 경계 이상 넘지 못하도록 제한 // 2번 충돌감지
2. 경계 설정 (플레이어 이동 불가 로직)
- OnTiggerEnter2D(플래그 설정) : 플래그 변수 true (이동 불가 상태)
- OnTriggerExit2D (플래그 지우기) : 플래그 변수 false (이동 가능 상태)
+ 4방향 각각 콜라이더로 경계를 설정
https://godgjwnsgur7.tistory.com/4
[Unity] Box Collider 2D
Box Collider 2D : 포지션, 폭과 높이가 로컬 좌표 공백 안의 직사각형 형태로 축에 정렬됨 Trigger : 물리적 연산을 하지 않고 충돌을 감지할 수 있음 (Is Trigger 체크) - OnTriggerEntere2D : 오브젝트에 연결..
godgjwnsgur7.tistory.com
+ 리지드바디로 충돌감지 (타입은 Static로 설정) // 1번에서 제한하는 로직
https://godgjwnsgur7.tistory.com/3
[Unity] Rigidbody 2D
Rigidbody2D : 오브젝트를 물리 엔진이 제어하게 만듬 Body Type - Dynamic : 밀어내는 등 물리연산 o - Kinematic : 밀어내는 등 물리연산 x ( 물리연산이 없기 때문에 충돌감지만 가능해짐 -> 로직을 짜서 막
godgjwnsgur7.tistory.com
3. 플레이어 애니메이션
Animator 컴포넌트를 추가하고 Center, Left, Right 이동 애니메이션을 추가하고
- 1번 : 파라미터 Input 추가 (int형) // Input.GetAxisRaw()값을 그대로 사용할 예정
- 2번 : 스테이트간의 트랜지션을 추가
- 3번 : 트랜지션의 동작 조건을 Equals (같으면 실행) // Center 0, Left -1, Right 1
- 키를 눌렀을때 즉각적으로 애니메이션 변경을 하기 위해 Has Exit Time 체크를 해제
- 2D 스프라이트 애니메이션이기 때문에 Settings에 Duration은 0으로 설정
+ // 3D에서는 부드럽게 모션을 변경하기 위하여 사용하지만, 2D에선 잘 사용하지 않음
애니메이터를 선언하여 버튼이 눌렸을때, 누른 버튼을 떼었을 때 함수를 호출하여 위에서 만들어놓은 파라미터 Input에게 SetInteger()로 값을 전달하는 로직을 Move()에 추가로 작성 // Update문으로 돌아가는 함수
+ GetInteger()로 파라미터에게 값을 받아올 수도 있음
https://docs.unity3d.com/kr/530/ScriptReference/Input.html
Unity - 스크립팅 API: Input
Input Manager에 설정된 각 축을 읽고 모바일 장치의 멀티터치/가속도계 데이터에 접근을 하는 경우에 이 클래스를 사용합니다. 다음의 기본 설정 축과 Input.GetAxis 함수를 이용해서 해당 축을 읽습니
docs.unity3d.com
https://github.com/godgjwnsgur7/ShootingGame
GitHub - godgjwnsgur7/ShootingGame
Contribute to godgjwnsgur7/ShootingGame development by creating an account on GitHub.
github.com
강의 출처
https://www.youtube.com/watch?v=ETYzjbnLixY&list=PLO-mt5Iu5TeYtWvM9eN-xnwRbyUAMWd3b&index=1
'GameEngine > Unity - Lecture' 카테고리의 다른 글
[ShootingGame] 6. 아이템과 필살기 구현하기 (0) | 2022.01.29 |
---|---|
[ShootingGame] 5. UI 간단하게 완성하기 (0) | 2022.01.28 |
[ShootingGame] 4. 적 전투와 피격 이벤트 만들기 (0) | 2022.01.28 |
[ShootingGame] 3. 적 비행기 만들기 (0) | 2022.01.27 |
[ShootingGame] 2. 총알 발사 구현하기 (0) | 2022.01.26 |