TIL

Unity에서 쿠키런 스타일 아이템 시스템 구현하기

youngjin02 2025. 5. 8. 21:19

 

✅오늘 한 일

  • 새로운 팀 프로젝트 시작: 쿠키런 스타일 런 게임 제작
  • 팀 역할 분담 완료:
    • 메인 화면
    • 캐릭터 이동
    • 아이템 (내 담당)
    • 맵 구현
    • UI
  • 내 담당: 아이템 시스템
  • 오늘 진행한 작업:
    • Item 스크립트 작성
      • 아이템 종류(enum) 정의 (Score, SpeedUp, SpeedDown, Heal)
      • amount(수치) 변수로 획득 효과 통합 관리
      • 충돌 감지(OnTriggerEnter2D) 구현
      • 플레이어와 충돌 시 아이템 효과 적용 (점수 증가, 속도 변화, 체력 회복)
    • PlayerControllerTest 스크립트 작성
      • 점수(score), 속도(speed), 체력(health) 관리 변수 및 기능 구현
      • MinSpeed(최소 속도), MaxHealth(최대 체력) 상수 추가
    • 아이템 프리팹 4종 제작
      • ScoreItem, SpeedUpItem, SpeedDownItem, HealItem
      • 각각 다른 SpriteRenderer와 충돌 박스(BoxCollider2D) 설정
    • Unity 상에서 아이템 배치 및 플레이어 충돌 테스트 완료
      • Debug.Log로 아이템 획득 효과 확인 성공
    • Git에 기능 단위 커밋 완료 (feat: 아이템 프리팹 및 충돌 기능 테스트 완료)

🔥 오늘 배운 점

  • Unity에서 Trigger 충돌이 작동하려면 "Rigidbody2D + Collider2D" 조합이 필요하다는 것
  • 아이템 시스템 설계할 때 amount 같은 통합 변수를 쓰되, 나중에는 역할별로 분리하는게 확장성에 좋다는 것
  • 코드 정리 습관 (MinSpeed, MaxHealth 따로 상수 관리) 이 얼마나 중요한지 체감함
  • 프로퍼티(Property) 개념 복습: 다른 스크립트와 연결할 때 필수

✏️ 내일 할 일

  • 플레이어 담당자의 최종 스크립트를 받아서 속도, 체력 등 프로퍼티 존재 여부 확인
  • 실제 게임 시스템에 맞게 아이템 효과 적용 수정 예정
  • 필요하면 아이템 획득 이펙트/사운드 추가 작업 계획

🧠 느낀 점

  • 처음부터 체계적으로 설계하고 깃 커밋을 기능별로 쌓으니까, 나중에 수정하거나 합칠 때 진짜 편할 것 같음
  • 팀 프로젝트는 내 코드뿐 아니라 다른 사람 코드도 고려하면서 설계하는 게 정말 중요하다고 느낌
  • 앞으로도 개발 흐름을 정리하면서 꼼꼼하게 진행해야겠다.

요약

아이템 시스템 베이스 구축 완료 + 충돌 테스트 성공.
전체 구조를 생각하면서 개발하는 습관을 확실히 잡아가고 있다.