유니티 패키지 파일
- 원하는 파일들을 하나로 묶어 다른 프로젝트로 전달할 때 사용.
Rigidbody2D 컴포넌트의 Constraints
- Freeze Position : 물리에 의한 이동 중지
- Freeze Rotation : 물리에 의한 회전 중지
- Collider 2D를 적용하면 충돌 처리 적용됨.
플레이어의 이동
- 이동 속도를 나타내주는 c# 코드
- 플레이어를 제어하는 c# 코드
- 좌우 방향키로 제어 가능
플레이어의 점프
- move 함수 처럼 외부에서 가져옴.
- 스페이스 키를 누를 때마다 점프.
낮은 점프
- y축 속력 값을 양수인 위로 올라가는 상태일 때 점프 키를 누르고 있으면 gravity 설정은 1 아닌 경우 2.5로 설정.
rigid2D.gravityScale
- 중력 계수
- 플레이어에게 가해지는 중력 : (0, -9.81, 0) * gravityScale
- gravityScale = 1 / transform.position += (0, -9.81, 0)의 연산이 추가
- gravityScale = 2.5 / transform.position += (0, -24.525, 0)의 연산이 추가
바닥 판정 및 점프 제어
- 플레이어의 발의 위치를 알아야 함.
00Collider2D.bounds
- 충돌 범위의 min,center, max 위치 값
- 2D > Vector2(x,y)
- 3D > Vector3(x,y,z)
Collider2D collider = Physics2D.OverlapCircle(Vector2 position, float radius, LayerMask layer);
- position 위치에 radius 반지름 크기의 보이지 않는 원 충돌 범위 생성
- 점프에 조건문을 붙여 true 일 때만 점프할 수 있도록 설정.
Gizmos
- 눈에 보이지 않는 선이나 박스 등의 오브젝트를 그릴 수 있는 함수
- Gizmos.color = Color.blue; > 파란색
- Gizmos.DrawSphere(footPosition, 0.1f); > 발의 위치에 0.1 반지름 구 생성
- ground라는 layer 설정한 후 땅이라고 생각되는 오브젝트에 모두 그라운드 설정.
- player movement에 ground layer에 ground 설정.
- 결과 : 땅에 닿아있을 때 한번만 점프
최대 점프 횟수 설정
- 점프할 때 마다 점프 가능 횟수 줄어들음
- maxJumpCount : 최대
- currentJumpCount : 현재 점프 횟수
오브젝트 마찰력 설정
- 마찰력에 의해 player가 벽에 붙는 경우가 생김
- ground라는 것을 만든 후 마찰력 설정.
Physics material 2D
Friction : 마찰력 (0에 가까울 수록 미끄러움)
Bounciness : 표면과 충돌했을 때 튕기는 정도 (1에 가까울 수록 통통 튀기게 됨)
'유니티' 카테고리의 다른 글
유니티 04. 2D 애니메이션 실습 (0) | 2024.05.01 |
---|---|
유니티 04. 2D 스프라이트 / 애니메이션 (1) | 2024.05.01 |
유니티 03. 게임오브젝트 생성 & 삭제 함수 및 Instantiate() 활용 (0) | 2024.04.17 |
유니티 02. 게임오브젝트 (0) | 2024.04.10 |
유니티 02. 이벤트 함수 (0) | 2024.04.10 |