개발 달리기
내일배움캠프 3일차 - 팀 프로젝트 시작 본문
1. 오늘 진행한 내용
- 미니 프로젝트 구상 및 기획
- 간단하게 씬 구성 및 분담
- 팀 스크럼
2. 학습하며 겪었던 문제점 & 에러
GitHub를 사용하다가 작업하던 파일이 통째로 날아가버려서 매우 당황스러웠다.
Unity에 현재 폴더 파일을 불러오는 방식으로 공유된 프로젝트를 불러왔는데
GitHub의 브랜치를 변경하다가 수정된 파일이 컨플릭트가 나며 망했다.
아무리 생각해도 잘못된 부분이 없는데도 뭔가 기능이 제대로 작동을 하지 않는다면
Unity가 지금 Play 상태인지 확인할 필요가 있다.
이 부분 때문에 시간 낭비가 있었다.
3. 내일 학습 할 것은 무엇인지
팀원과 함께 팀 프로젝트
C# 예제 복습
Unity 개인 공부
4. 팀 프로젝트 시작
1) 미니 프로젝트 기획

전체적인 게임의 흐름을 다음과 같이 흐름을 기획했다.
사전 캠프 4강의 '르탄이 카드 뒤집기 게임' 을 기반으로 만들되, 여러가지 차별점을 주는 것이
협업과 공부에 도움이 될 것 같아 여러 버튼과 기능을 좀 넣었다.
다른 프로젝트팀 조들의 경우에는 무한모드라던지 각 모드들의 최대 점수를 확인할 수 있는 부분이라던지
좀 더 세밀하게 기획된 부분이 많았지만, 우리팀은 주어진 시간이
다른 프로젝트 팀에 비해 2일정도 늦어서 가볍게 진행했다.
2) 와이어 프레임 구상

대략적인 게임 UI 배치는 다음과 같은 방식으로 구상했다.
만약 시간이 좀 넉넉하게 남는다면 이 게임을 좀 세련되게 보여줄 수 있는 단계가 있는데
거의 마지막에 진행할 단계에서 전체적인 그래픽 리소스들을 잘 활용하는 것이다.
3) UI 배치 및 분담


타이틀 화면 UI를 맡아서 이부분에 대한 버튼 기능을 대략적으로 구현했다.
이후 분담을 진행했고 각종 씬들을 버튼을 이용해 유기적으로 연결하는 기능 구현을 맡았다.
4) 버튼 기능 구현

1차 완성본
버튼을 눌렀을 때 버튼이 기능하도록 간단하게 구현했다.
Script에 버튼 기능을 여러개 배치해준 후
버튼 Object에 스크립트를 연결 후 버튼 기능을 맞게 넣어주는 방식으로 제작했다.
버튼 기능 구현 자체는 금방 끝났으나, 사운드를 넣는 작업에서 시간이 많이 소요된데다가
GitHub를 잘못 만져서 진행한 작업이 모두 날아가버려서 다시 만들었다.
제작하면서 Coroutine 기능을 처음 찾아서 써보았는데
기존 Lua에서 다룬 Coroutine 기능은 특정 기능을 실행시켰을 시,
조건이 맞다면 다른 기능을 설정해둔 횟수만큼 메아리처럼 반복하는 기능이었다.
C#에서는 약간 다른 것 같아 아직 조금 혼동스럽다.

2차 완성본
2차 부분에서는 팀원분들과 상의를 통해 스테이지는 스크롤 방식으로 구현한 후
PlayerPrefs로 각 stage의 값을 저장하여 스테이지 버튼를 클릭했을 때
그 스테이지에 맞는 값을 찾아 시작하도록 만들었다.
1
2
3
4
5
6
7
8
9
10
|
public class StageButton : MonoBehaviour
{
public int stageNum;
public void SelectStage()
{
PlayerPrefs.SetInt("stage", stageNum);
SceneManager.LoadScene("MainScene");
}
}
|
cs |
PlayerPrefs 기능은 사전 캠프 2주차에서 이미 사용한 적 있는 기능인데
다시 사용해보니 대략적으로 기억이 났지만, 문제는 스크롤 기능이었다.
완성한 지금에서야 생각해보면 알기만 하면 쉬운 오브젝트지만
처음에 플레이 버튼을 누른채로 스크롤 기능을 만드려다보니 진행이 되질 않아 고생했다.
'Unity' 카테고리의 다른 글
내일배움캠프 5일차 - 팀 프로젝트 시작 (0) | 2025.04.11 |
---|---|
내일배움캠프 4일차 - 팀 프로젝트 시작 (0) | 2025.04.10 |
내일배움캠프 2일차 - C# 예제 풀이와 Unity 매뉴얼 (0) | 2025.04.08 |
내일배움캠프 1일차 - 사전 캠프 마무리 학습과 Git 특강 (0) | 2025.04.07 |
[내일배움캠프 사전캠프] + 사전캠프 마무리 (0) | 2025.04.04 |