본문 바로가기

유니티 2D 기본(Platformer Game)

4. 플레이어 점프 구현 & Raycast public float jumpPower; void Update() { //Jump if (Input.GetButtonDown("Jump")){ rigid.AddForce(Vector2.up * jumpPower, ForceMode2D.Impulse); } } 공기저항 때문에 낙하 속도가 조금 느립니다. 이를 빠르게 낙하하도록 조정해보겠습니다. 점프 낙하 속도 빠르게 조절 1. Project Setting -> Gravity y Default 값은 -9.81로 값이 커질 수록 중력이 세집니다. 2. Gravity Scale 중력을 몇배로 받을 것인지 값으로 정합니다. 점프 애니메이션 1. 애니메이션 Transition 연결 2. 애니메이션 변경 조건이 될 변수 생성(bool 타입) 3. Conditons.. 더보기
3. 2D에서 플레이어 이동 구현 2D는 Vector2, 2D컴포넌트를 사용. (3D는 Vector3 등) Rigidbody2D, Collider2D Physics2D 스크립트 상에서 2D 예 RigidBody2D rigid = GetComponent(); Vector2 vec = new Vector2(x, y); 플레이어 기본 이동 & 최고 속도 제한 로직 why? : Addforce를 계속 사용하면 플레이어의 이동 속도가 점점 빨라지므로 public float maxSpeed; void FixedUpdate() { //Move speed float h = Input.GetAxisRaw("Horizontal"); rigid.AddForce(Vector3.right * h, ForceMode2D.Impulse); //Max speed i.. 더보기
2. 아틀라스와 애니메이션 스프라이트 이미지 Inpector에서 Sprite Mode -> Multiple로 바꿔 스프라이트 이미지를 쪼개줍니다. Single과 Multiple과의 차이 Inspector에서 Sprite Editor를 클릭해 에디터(아틀라스라고 합니다)로 넘어옵니다. 아틀라스에서 스프라이트 이미지를 자를 수 있습니다. 왼쪽 부터 차례로 Automatic : 자동 Grid By Cell Size : 입력한 셀 사이즈 기준으로 자름 (이미지가 16x16이므로 셀 사이즈도 16x16으로 적어줍니다.) Grid By Cell Count : 입력한 셀 개수 기준으로 자름 우측 상단 TV이모티콘 버튼으로 색 반전이 가능합니다. 이제 이 분할한 스프라이트를 가지고 애니메이션을 넣어보겠습니다. 애니메이션은 이 이미지들의 연속된 .. 더보기
1. 2D 프로젝트 생성 UnityHub에서 2D 선택 후 이름 입력하고 프로젝트 생성 2D 프로젝트는 Light 오브젝트를 기본적으로 생성하지 않습니다. 3D처럼 조명이 필요하지 않기 때문입니다. 마우스 우클릭 -> 2D Object -> Sprites로 스프라이트를 생성할 수 있습니다. 그럼 Scene에 다음과 같이 빈 사각형이 뜹니다. 2D에서 원근법을 보는 방법은 다음과 같습니다. 메인카메라에서 Projection을 Perspective로 설정 Orthographic : 원근법이 없는 정사영 투시 Perspective : 원근 투시 다른 스프라이트와 우선순위를 두는법 1. 스프라이트 오브젝트의 Z축 이용 2. 스프라이트 오브젝트의 Order in Layout 이용 Order in Layout : 빨강 : 2 검정 : 1 .. 더보기