본문 바로가기

Unity (7)

B16 - 2D플랫포머 - 플레이어 점프 구현하기

1. 점프 처리 (Jump)조건:사용자가 점프 버튼을 눌렀을 때 (Input.GetButtonDown("Jump"))현재 점프 중이 아님 (!anim.GetBool("isJumping"))동작:rigid.AddForce(Vector2.up * jumpPower, ForceMode2D.Impulse)→ Rigidbody2D에 위 방향으로 힘을 추가하여 점프를 구현.anim.SetBool("isJumping", true)→ 점프 애니메이션을 활성화.2. 레이캐스트를 이용한 착지 확인 (Landing Check with Raycast)조건:현재 떨어지고 있음 (rigid.linearVelocity.y 동작:Raycast로 아래쪽을 향해 발사 (Physics2D.Raycast(rigid.position, Vec..

2025. 1. 5.

B15 - 2D 플랫포머 - 플레이어 이동 구현하기

1. 플레이어 이동 스크립트 생성Rigidbody와 AddForce 사용AddForce로 물리 기반 이동을 구현. 키 입력에 따라 힘을 가해 이동.코드에서 rigid.AddForce(Vector2.right * move, ForceMode2D.Impulse); 부분에서 힘을 가하여 플레이어를 이동시킴.기본 이동 문제점AddForce를 사용하면 가속도가 증가하는 문제가 발생할 수 있음. 이를 해결하기 위해 속도 제한을 설정.rigid.linearVelocity로 속도를 직접 제어하여 문제 해결.2. 속도 제한 및 최대 속도 설정속도 제한 논리maxspeed를 설정하여 속도가 초과하지 않도록 제한.코드에서는 rigid.linearVelocity = new Vector2(maxspeed, rigid.linea..

2025. 1. 5.

B14 - 2D 플랫포머 - 아틀라스와 애니메이션

1. Atlas와 Sprite Editor 활용Sprite Mode 설정:단일 이미지 대신 Multiple로 설정.Sprite Editor를 열어 이미지를 분할.Auto Slicing:Sprite Editor에서 Auto Slicing 기능 사용.패딩 값(1픽셀)을 조정해 이미지 간 간격 확보.스프라이트 분할:캐릭터 동작별로 스프라이트를 분리.정지: 이미지 1-2.걷기: 이미지 3-6.점프: 이미지 7-9.2. 애니메이션 제작스프라이트 삭제:분할 후 필요 없는 개별 이미지는 삭제.애니메이션 생성:스프라이트를 드래그하여 간단한 걷기 애니메이션 생성.Unity가 자동으로 Animator Controller와 Animation Clip 생성.키프레임 조정:Animation Window에서 키프레임 수정.타이밍..

2025. 1. 2.

B13 - 2D 플랫포머 - 프로젝트 준비하기

1. 프로젝트 시작프라이 jet 성자 완료 후: 2D 플랫포머 프로젝트 시작.Unity Hub 사용: Unity 클라이언트는 주로 Unity Hub에서 실행.디폴트 설정: 프로젝트 기본값은 3D → 2D로 전환 필요.프로젝트 생성: 이름과 위치 설정 후 프로젝트 생성.2. Unity의 2D 환경 이해기본 화면 구성:2D는 배경이 파란색, 카메라만 기본 배치.3D에서는 Light와 Skybox가 추가됨.2D 카메라: 기본 배경색은 Solid Color로 설정. 원하는 색상으로 변경 가능.2D 오브젝트 생성:우클릭 → 2D Object → Sprite 선택.기본 스프라이트 추가 시, 크기가 작게 보일 수 있음.3. 2D의 좌표 및 축 설명축 개념: 2D는 X축과 Y축만 존재.Z축 무시: Z축은 원근법이 없으..

2025. 1. 2.

B12 - 게임 인터페이스를 알아봅시다

유니티 UI 기초 강좌 노트1. UI 개요UI (User Interface): 게임 화면에서 사용자와 상호작용하는 요소.UI 좌표계월드 좌표계: 3D 공간.스크린 좌표계: 화면에 표시되는 2D 평면.2. UI 생성 과정UI 메뉴 접근:Hierarchy 창에서 우클릭 → UI → 선택.기본적으로 Canvas와 EventSystem이 생성됨.2D 모드 활성화 권장 (카메라 뷰가 평면으로 보임).Canvas:게임 UI의 기본 컨테이너.Canvas Scaler로 화면 해상도에 따라 크기 자동 조정 가능.3. 텍스트 컴포넌트텍스트 속성:텍스트 입력: 한글 지원 가능.폰트 설정: 원하는 폰트로 변경 가능하나, 라이선스 확인 필요.색상 및 크기 조정:Font Size: 크기 설정.Line Spacing: 행간 조절...

2025. 1. 1.

B11 - 물리 충돌 이벤트

1. 기본 개념 복습리지드바디(Rigidbody)와 콜라이더(Collider)로 물체 생성 및 이동 구현키보드 입력으로 오브젝트를 움직이는 기능 복습2. 충돌 이벤트와 매트리얼 속성 변경목표: 충돌 시 오브젝트의 색상을 변경방법:GetComponent로 MeshRenderer 가져오기MeshRenderer의 Material.color 속성 수정충돌 시 색상이 즉시 변경되도록 로직 작성3. 충돌 이벤트 함수 종류물리 충돌 이벤트:OnCollisionEnter: 충돌 시작 시 호출OnCollisionStay: 충돌 지속 시 호출OnCollisionExit: 충돌 종료 시 호출4. 충돌 이벤트 구현특정 조건에서 공의 색상 변경충돌한 오브젝트 이름 확인 (Collision.gameObject.name)이름이 특..

2024. 12. 30.

B5 - 유니티 게임오브젝트의 흐름

함수Awake():게임에서 오브젝트가 최초로 장면에 나왔을 때 시작되는 함수.다른 스크립트의 변수를 초기화하거나, 의존성이 없는 초기화 작업에 적합.Start() 함수보다 먼저 호출되므로 우선적으로 필요한 설정 작업 수행 가능.Start():업데이트에 들어가기 전에 최초로 시작되는 함수.Awake 이후 한 번 호출되며, 주로 게임 오브젝트의 초기 상태를 설정.FixedUpdate():유니티 엔진이 물리 연산을 하기 전에 호출되는 함수.고정된 실행 주기로 실행되며, 물리 연산(Rigidbody) 관련 로직에 적합.Rigidbody를 이동하거나 힘을 가하는 작업은 이 함수에서 처리.Update():게임 로직 영역으로, 물리 연산과 관련 없는 로직을 처리할 때 사용.각 컴퓨터의 프레임 레이트에 따라 실행 주기..

2024. 12. 24.
✏️ ⚙️