[사전캠프] 4주차(3) - [고양이 밥주기] 고양이 만들기(HP바, 애니메이션, 중력 적용)

유승아·2024년 4월 10일

내일배움캠프

목록 보기
15/69
post-thumbnail

고양이 밥주기

1. 고양이 만들기

Hierarchy 창 우클릭 - Create Empty

NormalCat
Transform 우측 ⁝ 클릭 후 Reset

NormalCat 우클릭 - 2D Object - Sprites - Square

Hungry
Sprite normaCat_1 적용
Full
Sprite normaCat_full 적용
오브젝트 체크 해제


2. HP바 만들기

Hungry 우클릭 - UI - Image

Canvas의 Render Mode - Overlay: 기계 스크린에 직접적으로 그려진다

Canvas의 Render Mode - World Space 로 바꿔주기
Rect Transform PosX: 0, PosY: -4, Width: 4, Height: 0.5

Back (Image)
Rect Transform 우측 네모 클릭 후 Shift+Alt, 오른쪽 대각선 하단 버튼 클릭 → Canvas 사이즈에 맞춰서 Image도 맞춰진다.

Front (Back Ctrl+D)
Anchors Pivot X: 0
Color 우측 스포이드로 생선가게 지붕 색상 추출

Anchors - 기준점 (화살표 확인)

  • 0.5: 중간부터 계산하겠다.
  • 0: 왼쪽 끝부터 계산하겠다.

👀 실행 결과
Scale 값 1 → 0

💡 화살표가 안 움직여! 💢

Anchors Pivot 값을 아무리 수정해봐도 화살표가 움직이지 않을 때, Scene 창의 왼쪽 상단을 확인해 보자.

해당 기능은 씬 내에 있는 오브젝트들의 화살표 표시 등의 도구 표시를 가운데 점을 기준으로 보여줄지, 오브젝트의 피벗(자체 기준점)을 기준으로 보여줄지를 선택하는 옵션이다.

이것 때문에 해당 부분을 얼마나 돌려봤는지 모르겠다. 😡


3. 고양이 애니메이션 적용하기

Assets - Animations 폴더에 Animation → NormalCat 생성

Loop Time 체크

애니메이션 NormalCat - Hungry
녹화 버튼 누른 다음 각각 아래와 같이 적용
0:00 normaCat_1
0:10 normaCat_2
0:20 normaCat_1
녹화 버튼 중지

👀 실행 결과

FatCat (NormalCat Ctrl+D)
Hungry, Full 이미지 FatCat에 맞게 변경해주기

Rect Transform PosX: -0.5로 변경 (HP바 위치 조정)

기존 애니메이션 컴포넌트 삭제 후
Assets - Animations 폴더에 Animation → FatCat 생성
Hungry → Normal 로 수정
Hungry(1) → Fat 로 수정
Loop Time 체크

애니메이션도 이미지 변경해주기

NormalCat, FatCat 프리팹으로 이동 후 삭제


4. 중력, HP바 적용하기

고양이가 내려오고, 밥에 고양이가 맞으면 HP바 채워지기
배부른 고양이 옆으로 사라지기까지.

NormalCat 프리팹을 Hierarchy로 가져온 다음 스크립트 작성하기

Cat C# 스크립트 생성 후 작성
고양이가 서서히 내려온다.

NormalCat에 Box Collider 2D 컴포넌트 추가
Edit Collider 클릭해서 고양이 몸통에 맞춰주기

수정사항 프리팹에 적용하기

Food 프리팹에 Circle Collider 2D, Rigidbody 2D 추가

Circle Collider 2D - isTrigger 체크
Rigidbody 2D - Body Type - Kinematic 변경

✔️ Kinematic - 중력에 영향을 받지 않음
바꿔주게 되면 Collider 2D랑 부딪혔을 때, OnCollisionEnter 로직이 동작하지 않게 된다 = 물리 영향을 안 받게 된다 → Circle Collider 2D에 isTrigger 옵션을 켜주자.

Food 태그까지 추가하기

NormalCat의 Box Collider 2D에도 isTrigger 체크

Cat C# 스크립트 작성

고양이 랜덤한 곳에서 생성하게 하기
고양이 체력이 다 차면 밖으로 빠지기
고양이랑 밥 충돌하면 HP바 채워지기
고양이와 충돌한 밥 파괴되기
고양이 체력이 다 차면 상태 변경하기

👀 실행 결과

0개의 댓글