- 최상위 폴더를 하나 만들고 그 아래 Repository 파일들을 넣습니다.
- 유니티 허브를 실행합니다.
- 왼쪽 메뉴에서 프로젝트 클릭 후 우측 상단의 추가 버튼을 클릭합니다.
- 방금 압축을 풀어둔 프로젝트 폴더 자체를 클릭하고 '폴더 선택'을 눌러주세요.
- 유니티 허브 목록에 새로 추가된 프로젝트를 클릭해서 실행합니다.
- 유니티 화면이 열리면, 하단의 Project 창에서 Assets -> Scenes 폴더로 이동한 뒤 GameScene을 더블 클릭해 열어주시면 됩니다!
- 유니티가 처음 파일들을 읽어오고 설정하느라 로딩시간이 조금 걸릴 수 있으니 잠시 기다려주세요.
- 스크립트는 종류별로 파일을 만들어 구분해두었습니다.
README.md 파일에 각자의 진행상황을 업데이트 할 예정이기 때문에, 이 칸처럼 구분선으로 본인만의 레이아웃을 만들어주시면 감사하겠습니다. ++ 제발 변경사항은 README 파일에 업데이트 해주세요 ++ 항상 작업하시기 전에 fetch 및 pull를 습관화
[앞으로 진행해야 할 것들(자신이 구현하고싶은 리스트 옆 "/"에 이름 쓰기]
- ***브랜치 나누어서 작성해보기! / 전체 해당 ***
- 6~7개 장애물을 건넌 후 오른쪽에 특정장애물만 생성되는 버그 수정하기 / 박용규
- 점수 시스템(코인총합 or 나아간 총 거리 or 버틴시간 등등 중에 하나) 구현하기 /
- 랭킹 시스템 구현하기 /
- (추가로 구현하고싶은 것이나 관련 의견은 여기에 기입 부탁드립니다) /
[정보일]
2026.05.09 첫번째 커밋 변경사항
- 플레이어의 y 축 변화에 따라 카메라의 y 축 position이 따라가도록 스크립트를 작성했습니다.
명목 상 3D 게임이지만, 2D 횡 스크롤 게임과 다를바 없어 x, z축을 고정시키고 y축값만 변화시키는 방식으로 구현했습니다. 스크립트 컴포넌트 내 Distance Between값을 통해 카메라와 플레이어 사이 거리를 조절할 수 있습니다.
2026.05.24 두번째 커밋 변경사항
- 데이터베이스를 담당할 게임 오브젝트를 하나 생성하고, 해당 컴포넌트로 스크립트를 넣어 데이터 베이스 관리를 하도록 만들었습니다.
따라서, 데이터 베이스에 접근하실 생각이라면 해당 스크립트를 참조하는 방식으로 진행하시면 될 것 같습니다. 그리고 각각 데이터 베이스 연산의 성공 여부를 디버그로 확인할 수 있도록 했습니다.
데이터 베이스 관련 값들은 가져와서 콘솔 창에 출력하면 되지만, GUI로 보는게 간단해서 실제 값이 정상적으로 들어갔는지 확인하고 싶으시다면 요청해주세요. 데이터 베이스 브라우저로 확인 뒤 알려드리겠습니다.
그리고, 스크립트를 보시면 아시겠지만 GameUser라는 클래스가 유저의 정보를 다루고 있습니다. monohaviour 밖에 선언된 일반 C# 클래스로 GameUser tempUser = new GameUser { userName = "TestUI", Coin = 50 }; 같은 방식으로 참조하시면 됩니다.
마지막으로, 기존 유저 정보는 리스트로 다룰 예정이라 소스코드 위에 using System.Collections.Generic; 과 List<>를 잘 사용해주시면 감사하겠습니다.
2026.05.24 세번째 커밋 변경사항
- 초기 UI를 만들었습니다. -> 코인과 거리 점수 아래 리더보드를 만들어서 데이터 베이스 안의 내용을 표시했습니다. -> 그 아래 input field 로 사용자 이름을 입력받고 이름이 입력되기 전까지 게임을 일시정지시켰습니다. -> 이름이 입력된 뒤 게임이 시작됩니다.
- 게임 종료 선택지를 만들었습니다. -> 기존에는 R 버튼을 눌러 다시 시작하는 경우 밖에 없었는데, E키를 눌러 종료되도록 했습니다. -> 종료시킬 경우, 그전까지 모아왔던 데이터를 데이터 베이스에 연동해서 넣어줍니다. => 실제, 게임 한번 플레이 한후 데이터 베이스 입력, 출력이 정상적으로 됨을 확인했습니다. => 다만 UI 패널 크기 상 4개의 데이터 쌍만 출력하도록 조절했습니다.
2026.05.25 네번째 커밋 변경사항
- input field 에서 e 키를 눌렀을 때, 바로 게임이 종료되어버리는 오류 해결했습니다.
- README 업데이트
[박용규]
2026.05.08 첫번째 커밋 변경사항 : 벽장애물 렌더링 및 플레이어 충돌 감지 로직 구현 Ground 프리팹 자식으로 장애물(Cube) 오브젝트 추가 및 'Obstacle' 태그 할당
Player.cs에 OnCollisionEnter 함수를 추가하여 장애물과의 물리 충돌 판정 구현
장애물 충돌 테스트를 위한 임시 게임 정지(Time.timeScale = 0f) 로직 추가
Prefab Override(Apply All)를 활용해 무한 스크롤되는 모든 바닥 맵 타일에 장애물 생성 동기화 적용
2026.05.16 두번째 커밋 변경사항 : readme.md 파일 수정, 향후 작업계획 작성
2026.05.24 세번째 커밋 변경사항 : 플레이어 슬라이딩 기능 추가
- 아래 방향키/S키 입력 시 슬라이딩 동작 구현
- 슬라이딩 중 CapsuleCollider 높이 축소 (장애물 아래 통과 가능)
- PlayerVisual 분리 구조로 비주얼 스케일도 히트박스에 맞춰 축소
- 슬라이딩 지속시간, 쿨다운, 높이 비율 Inspector에서 조절 가능
- 슬라이딩 중 점프 불가, 공중 슬라이딩 불가 제약 추가
- 사망 시 슬라이딩 상태 초기화 처리
2026.05.24 네번째 커밋 변경사항 : 슬라이딩을 강제하는 장애물 추가
2026.05.24 다섯번째 커밋 변경사항 : readme.md 파일 수정
[정화영]
[2026.05.07]
- Player 좌우이동 점프 추가
- 키보드 좌우방향키 또는 A,D 키를 통해 플레이어가 좌우로 이동할 수 있도록 하였습니다.
- 스페이스바를 통해 점프할 수 있도록 하였습니다.
- Player 회전 고정
- PlayerRigidbody의 Constraints Freeze Rotation X, Y, Z 부분을 활성화 시켜 플레이어 캐릭터가 회전하지 않고 앞만 볼 수 있도록 하였습니다.
-
Player 오브젝트에 스크립트 추가
-
유니티 프로젝트 설정 변경
- 유니티 프로그램 설정을 New -> Both 로 변경하여 Keybord을 이용한 Input System을 사용할 수 있도록 하였습니다.
- Ground 태그 변경
- Ground 태그 추가 후 Ground 오브젝트의 태그를 Untagged 에서 Ground로 변경하였습니다.
- Player Script 수정
- 점프가 3번 뛰고 더 이상 뛰어지지 않아 코드를 수정하였습니다.
- 점프를 조금 더 짧게 하도록 변경하였습니다.
- 플레이어가 땅 밖으로 나가지 못하도록 플레이어 이동 반경을 설정하였습니다.
<<<<<<< HEAD [2026.05.24]
- Player 변경
- 외형을 고양이로 변경
- 고양이가 달리는 모션 추가
- Ground 변경
- 나무색으로 변경
- Obstacle 변경
- 꽃, 나무, 돌로 변경(히트박스 살짝 조정)
- 왼쪽, 중앙, 오른쪽 상관 없이 랜덤으로 등장하도록 변경
- 배경 추가
- 2D 배경 추가
[2025.05.25]
-
synthesis_backup 브랜치를 잘못 건드려서 synthesis_backup2 브랜치를 default 브랜치로 써야 할 거 같아요.
-
고양이 추가
- Cat_Horder Y -1
- Cat Y 1
- 배경 추가
- BG_Canvas - Background Render Mode - Screen Space - Camera Render Camera - Main Camera Plane Distance - 100
[김은규]
[2026.05.06]
-
각각의 스크립트를 구분할 수 있는 폴더와 스크립트 작성 Camera - TrackingPlayer GameManager - GameManager Ground - Ground Player - Player Constants
-
Ground 스크립트 작성 내용
- 지면이 움직이는 속도를 5.0f로 지정
- 지면과 장애물을 연결해주는 헤더 생성 및 지면 위에서 장애물이 등장하는 확률을 설정하는 슬라이더 생성
- Move, CheckReset, ResetGround, SetNextGround 함수 작성
- GameManager 스크립트 작성 내용
- 지면 개수를 설정하는 헤더와 복제된 지면을 기억하는 배열 헤더 생성
- 지면을 무한 생성하도록 만드는 반복문 작성
- Constants 스크립트 작성 내용
- Ground에서 작성한 지면 무한 스크롤링에 필요한 값들을 저장(지면 초기화 위치 및 지면 사이의 간격)
[2026.05.17-18]
- 게임 UI 생성 및 게임 재시작 설정
- 게임 오버 상태가 되면 화면에 띄울 패널 작성
- 거리 점수 구현
- 게임 오버 상태에서 'R' 키를 누르면 게임을 재시작하도록 설정하도록 RestartGame 함수 작성 및 안내 UI 생성
- 게임 오버시 게임 오버 문구와 재시작 문구가 출력될 수 있도록 EndGame 함수 작성
- Player 스크립트에 Die 함수 작성
- 플레이어가 장애물에 충돌했을시에 게임이 정지되도록 만든 기능을 Die 함수로 정리
- Die 함수가 실행될 경우 게임 오버 UI 출력 및 게임 일시정지
- 장애물 관련 변경점
- 장애물이 항상 같은 패턴으로 나오는 것이 아닌 이전에 생성해둔 슬라이더로 지정한 확률에 따라 하나의 지면에 3개로 나누어둔 장애물이 각각 생성되도록 설정
- 점프로 장애물을 여유롭게 넘을 수 있도록 장애물의 두께 조정
- 거리 관련 내용 추가
- 새롭게 DistanceManager 스크립트 추가
- 거리 점수 UI와 연결
- 시간이 지날수록 점점 난이도가 높아지도록 50m당 속도가 1씩 증가하도록 설정
[2026.05.22-23]
- 스크립트를 추가하였습니다.
- Coin
- CoinManager
-
코인 오브젝트를 만들고 코인이 회전하도록 하였습니다.
-
코인 획득시 코인 점수가 올라가도록 스크립트를 작성하고 코인 UI와 연결하였습니다.
-
Ground 스크립트에 코인이 생성될 수 있도록 작성하고 장애물과 같은 위치에는 생성되지 않도록 스크립트를 작성하였습니다.
-
플레이어와 코인이 충돌할 시 코인은 삭제되고 코인 점수 1점을 추가하도록 하였습니다.
-
도현님이 구현하신 부분이 master 브랜치에 작성되고 synthesis_1 파일과 병합시 충돌이 일어납니다. 병합 충돌은 쉽게 해결할 수 있었으나 유니티 내부에서 게임을 실행할 때 고쳐야할 부분이 많습니다. 그래서 위 내용을 제가 새롭게 작성하여 추가하였습니다. 일어나는 현상으로는
- 점프가 너무 높게 뛰어지고 하강하는 속도가 느립니다.
- 파일 색깔이 깨집니다.
- 장애물이 일정하게 나옵니다(이건 이전에 용규님께서 만든 부분의 고치기 이전 파일을 다운받아 사용하셔서 그런 것 같습니다.) 병합하고 직접 이것저것 고쳐봤는데 도저히 원래 점프 느낌이 안납니다 ㅠㅠ 그래서 master 브랜치는 더 이상 사용하지 않고 이전에 미리 백업용으로 만들어두었던 synthesis_backup 브랜치를 default 브랜치로 설정하고 이 브랜치를 중심으로 개발해주시면 감사하겠습니다!!
[김도현]
2026.05.22 첫번째 커밋 변경사항 :플레이어가 움직이고 플레이어가 동전에 닿으면 코인이 먹어지도록 구현
주요 구현 기능 및 로직 (CoinScript) 충돌 감지 (OnTriggerEnter): 동전 오브젝트에 Collider 컴포넌트를 부착하고 Is Trigger 옵션을 활성화하여, 플레이어가 동전을 통과할 때 충돌을 감지하도록 설정했습니다. 플레이어 식별: 충돌한 오브젝트의 이름이 "Player"인지 확인하는 조건문(if(other.name == "Player"))을 통해, 플레이어가 닿았을 때만 로직이 실행되도록 제한했습니다.
오브젝트 삭제 (Destroy): 플레이어와 충돌이 확인되면 Destroy(gameObject); 함수를 호출하여 맵에 있던 동전 오브젝트를 실시간으로 제거(파괴)합니다.
문제 해결 및 빌드 환경 정비 (영상 하단 Output 내용) 누락된 스크립트 에러 해결: 하단 콘솔 창에 뜨는 에러(Could not find file... Distance.cs, CollectionDetection.cs)를 바탕으로, 프로젝트 이동이나 병합 과정에서 유실되었던 불필요한 스크립트 레퍼런스 및 빌드 에러 요인들을 정리하여 정상적으로 컴파일이 완료되도록 정비했습니다.