Skip to content

Repository files navigation

OSS_teamProject

  1. 최상위 폴더를 하나 만들고 그 아래 Repository 파일들을 넣습니다.
  2. 유니티 허브를 실행합니다.
  3. 왼쪽 메뉴에서 프로젝트 클릭 후 우측 상단의 추가 버튼을 클릭합니다.
  4. 방금 압축을 풀어둔 프로젝트 폴더 자체를 클릭하고 '폴더 선택'을 눌러주세요.
  5. 유니티 허브 목록에 새로 추가된 프로젝트를 클릭해서 실행합니다.
  6. 유니티 화면이 열리면, 하단의 Project 창에서 Assets -> Scenes 폴더로 이동한 뒤 GameScene을 더블 클릭해 열어주시면 됩니다!
  • 유니티가 처음 파일들을 읽어오고 설정하느라 로딩시간이 조금 걸릴 수 있으니 잠시 기다려주세요.
  • 스크립트는 종류별로 파일을 만들어 구분해두었습니다.

README.md 파일에 각자의 진행상황을 업데이트 할 예정이기 때문에, 이 칸처럼 구분선으로 본인만의 레이아웃을 만들어주시면 감사하겠습니다. ++ 제발 변경사항은 README 파일에 업데이트 해주세요 ++ 항상 작업하시기 전에 fetch 및 pull를 습관화

[앞으로 진행해야 할 것들(자신이 구현하고싶은 리스트 옆 "/"에 이름 쓰기]

  • ***브랜치 나누어서 작성해보기! / 전체 해당 ***
  • 6~7개 장애물을 건넌 후 오른쪽에 특정장애물만 생성되는 버그 수정하기 / 박용규
  • 점수 시스템(코인총합 or 나아간 총 거리 or 버틴시간 등등 중에 하나) 구현하기 /
  • 랭킹 시스템 구현하기 /
  • (추가로 구현하고싶은 것이나 관련 의견은 여기에 기입 부탁드립니다) /

[정보일]

2026.05.09 첫번째 커밋 변경사항

  1. 플레이어의 y 축 변화에 따라 카메라의 y 축 position이 따라가도록 스크립트를 작성했습니다.

    명목 상 3D 게임이지만, 2D 횡 스크롤 게임과 다를바 없어 x, z축을 고정시키고 y축값만 변화시키는 방식으로 구현했습니다. 스크립트 컴포넌트 내 Distance Between값을 통해 카메라와 플레이어 사이 거리를 조절할 수 있습니다.

2026.05.24 두번째 커밋 변경사항

  1. 데이터베이스를 담당할 게임 오브젝트를 하나 생성하고, 해당 컴포넌트로 스크립트를 넣어 데이터 베이스 관리를 하도록 만들었습니다.

    따라서, 데이터 베이스에 접근하실 생각이라면 해당 스크립트를 참조하는 방식으로 진행하시면 될 것 같습니다. 그리고 각각 데이터 베이스 연산의 성공 여부를 디버그로 확인할 수 있도록 했습니다.

데이터 베이스 관련 값들은 가져와서 콘솔 창에 출력하면 되지만, GUI로 보는게 간단해서 실제 값이 정상적으로 들어갔는지 확인하고 싶으시다면 요청해주세요. 데이터 베이스 브라우저로 확인 뒤 알려드리겠습니다.

그리고, 스크립트를 보시면 아시겠지만 GameUser라는 클래스가 유저의 정보를 다루고 있습니다. monohaviour 밖에 선언된 일반 C# 클래스로 GameUser tempUser = new GameUser { userName = "TestUI", Coin = 50 }; 같은 방식으로 참조하시면 됩니다.

마지막으로, 기존 유저 정보는 리스트로 다룰 예정이라 소스코드 위에 using System.Collections.Generic; 과 List<>를 잘 사용해주시면 감사하겠습니다.

2026.05.24 세번째 커밋 변경사항

  1. 초기 UI를 만들었습니다. -> 코인과 거리 점수 아래 리더보드를 만들어서 데이터 베이스 안의 내용을 표시했습니다. -> 그 아래 input field 로 사용자 이름을 입력받고 이름이 입력되기 전까지 게임을 일시정지시켰습니다. -> 이름이 입력된 뒤 게임이 시작됩니다.
  2. 게임 종료 선택지를 만들었습니다. -> 기존에는 R 버튼을 눌러 다시 시작하는 경우 밖에 없었는데, E키를 눌러 종료되도록 했습니다. -> 종료시킬 경우, 그전까지 모아왔던 데이터를 데이터 베이스에 연동해서 넣어줍니다. => 실제, 게임 한번 플레이 한후 데이터 베이스 입력, 출력이 정상적으로 됨을 확인했습니다. => 다만 UI 패널 크기 상 4개의 데이터 쌍만 출력하도록 조절했습니다.

2026.05.25 네번째 커밋 변경사항

  1. input field 에서 e 키를 눌렀을 때, 바로 게임이 종료되어버리는 오류 해결했습니다.
  2. 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]

  1. Player 좌우이동 점프 추가
  • 키보드 좌우방향키 또는 A,D 키를 통해 플레이어가 좌우로 이동할 수 있도록 하였습니다.
  • 스페이스바를 통해 점프할 수 있도록 하였습니다.
  1. Player 회전 고정
  • PlayerRigidbody의 Constraints Freeze Rotation X, Y, Z 부분을 활성화 시켜 플레이어 캐릭터가 회전하지 않고 앞만 볼 수 있도록 하였습니다.
  1. Player 오브젝트에 스크립트 추가

  2. 유니티 프로젝트 설정 변경

  • 유니티 프로그램 설정을 New -> Both 로 변경하여 Keybord을 이용한 Input System을 사용할 수 있도록 하였습니다.
  1. Ground 태그 변경
  • Ground 태그 추가 후 Ground 오브젝트의 태그를 Untagged 에서 Ground로 변경하였습니다.
  1. Player Script 수정
  • 점프가 3번 뛰고 더 이상 뛰어지지 않아 코드를 수정하였습니다.
  • 점프를 조금 더 짧게 하도록 변경하였습니다.
  • 플레이어가 땅 밖으로 나가지 못하도록 플레이어 이동 반경을 설정하였습니다.

<<<<<<< HEAD [2026.05.24]

  1. Player 변경
  • 외형을 고양이로 변경
  • 고양이가 달리는 모션 추가
  1. Ground 변경
  • 나무색으로 변경
  1. Obstacle 변경
  • 꽃, 나무, 돌로 변경(히트박스 살짝 조정)
  • 왼쪽, 중앙, 오른쪽 상관 없이 랜덤으로 등장하도록 변경
  1. 배경 추가
  • 2D 배경 추가

[2025.05.25]

  1. synthesis_backup 브랜치를 잘못 건드려서 synthesis_backup2 브랜치를 default 브랜치로 써야 할 거 같아요.

  2. 고양이 추가

  • Cat_Horder Y -1
  • Cat Y 1
  1. 배경 추가
  • BG_Canvas - Background Render Mode - Screen Space - Camera Render Camera - Main Camera Plane Distance - 100

[김은규]

[2026.05.06]

  1. 각각의 스크립트를 구분할 수 있는 폴더와 스크립트 작성 Camera - TrackingPlayer GameManager - GameManager Ground - Ground Player - Player Constants

  2. Ground 스크립트 작성 내용

  • 지면이 움직이는 속도를 5.0f로 지정
  • 지면과 장애물을 연결해주는 헤더 생성 및 지면 위에서 장애물이 등장하는 확률을 설정하는 슬라이더 생성
  • Move, CheckReset, ResetGround, SetNextGround 함수 작성
  1. GameManager 스크립트 작성 내용
  • 지면 개수를 설정하는 헤더와 복제된 지면을 기억하는 배열 헤더 생성
  • 지면을 무한 생성하도록 만드는 반복문 작성
  1. Constants 스크립트 작성 내용
  • Ground에서 작성한 지면 무한 스크롤링에 필요한 값들을 저장(지면 초기화 위치 및 지면 사이의 간격)

[2026.05.17-18]

  1. 게임 UI 생성 및 게임 재시작 설정
  • 게임 오버 상태가 되면 화면에 띄울 패널 작성
  • 거리 점수 구현
  • 게임 오버 상태에서 'R' 키를 누르면 게임을 재시작하도록 설정하도록 RestartGame 함수 작성 및 안내 UI 생성
  • 게임 오버시 게임 오버 문구와 재시작 문구가 출력될 수 있도록 EndGame 함수 작성
  1. Player 스크립트에 Die 함수 작성
  • 플레이어가 장애물에 충돌했을시에 게임이 정지되도록 만든 기능을 Die 함수로 정리
  • Die 함수가 실행될 경우 게임 오버 UI 출력 및 게임 일시정지
  1. 장애물 관련 변경점
  • 장애물이 항상 같은 패턴으로 나오는 것이 아닌 이전에 생성해둔 슬라이더로 지정한 확률에 따라 하나의 지면에 3개로 나누어둔 장애물이 각각 생성되도록 설정
  • 점프로 장애물을 여유롭게 넘을 수 있도록 장애물의 두께 조정
  1. 거리 관련 내용 추가
  • 새롭게 DistanceManager 스크립트 추가
  • 거리 점수 UI와 연결
  • 시간이 지날수록 점점 난이도가 높아지도록 50m당 속도가 1씩 증가하도록 설정

[2026.05.22-23]

  1. 스크립트를 추가하였습니다.
  • Coin
  • CoinManager
  1. 코인 오브젝트를 만들고 코인이 회전하도록 하였습니다.

  2. 코인 획득시 코인 점수가 올라가도록 스크립트를 작성하고 코인 UI와 연결하였습니다.

  3. Ground 스크립트에 코인이 생성될 수 있도록 작성하고 장애물과 같은 위치에는 생성되지 않도록 스크립트를 작성하였습니다.

  4. 플레이어와 코인이 충돌할 시 코인은 삭제되고 코인 점수 1점을 추가하도록 하였습니다.

  5. 도현님이 구현하신 부분이 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)를 바탕으로, 프로젝트 이동이나 병합 과정에서 유실되었던 불필요한 스크립트 레퍼런스 및 빌드 에러 요인들을 정리하여 정상적으로 컴파일이 완료되도록 정비했습니다.


About

OSS개론 팀 프로젝트 저장소입니다.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages