오늘은 어제 유니티 팀 프로젝트에 이어서 작업을 했다. 내가 맡은 Item 부분은 두 명이서 진행하기 때문에 시작 전, 간단하게 업무 분담을 하고 시작했다.
팀 프로젝트 구현 내용
1. ItemSlow
private void SlowItemUse()
{
_mainBall = GameObject.Find("BallPrefab(Clone)").GetComponent<ArkanoidBall>();
_originSpeed = _mainBall.ballMaxSpeed;
_mainBall.SetMaxSpeed(_originSpeed / 2);
StartCoroutine(OriginBallSpeed());
}
IEnumerator OriginBallSpeed()
{
yield return new WaitForSeconds(2f);
_mainBall.SetMaxSpeed(_originSpeed);
}
게임 시작 후, 프리팹이 생성되면 생성된 프리팹의 speed를 받아와서 속도가 줄어들게 구현했다. 그리고 코루틴을 사용해서 2초 뒤, 원래 속도로 돌아오도록 했다. 처음에 코루틴을 사용할 때, 계속 실행이 되지 않아서 한참을 구글링 했다. 알고 보니 Item이 충돌 후, Destroy 되기 때문에 2초 뒤 코루틴 함수가 제대로 실행되지 않았다.
2. ItemDisruption
private void DisruptionItemUse()
{
Instantiate(balls);
}
Disruption Item은 ball이 3개로 나누어지는 아이템이다. 간단하게 프리팹 생성 함수를 사용했다. 하지만 ball 프리팹이 생성될 때마다 처음 시작과 똑같이 패달에서 생성된 후, 클릭을 해야 발사가 되는 방식으로 작동했다. 우리가 원하는 아이템은 움직이고 있는 ball이 1개에서 3개가 되는 것인데, 이 부분은 Input System을 구현한 조원과 상의를 해서 수정이 필요하다.
오늘의 회고
생각보다 오늘 구현한 내용은 많이 없었다. 하지만 막히는 부분이 조금씩 있어서 고민하는 시간과 구글링 하는 시간이 많이 걸렸다. 특히, ItemSlow를 구현할 때, 속도가 작아졌다가 2초 뒤, 다시 돌아오는 부분에서 얼마전에 공부한 코루틴을 꼭 사용해보고 싶었다. 하지만 작동이 되지 않아서 오랫동안 고민했다. 이것저것 테스트를 해본 결과, Item이 Destroy 되면서 코루틴 함수가 실행되지 않는 것이였다. 허무했지만 큰 오류가 아니라서 한편으로 다행이라고 생각했다. 그리고 ItemDisruptio을 구현할 때, 처음에는 간단히 프리팹으로 쉽게 구현할 수 있을 것이라고 생각했다. 하지만 ball 프리팹이 생성되면서 패달에 생성되고, 클릭 시, 발사가 되는 식으로 이미 Input System에서 구현했기 때문에 우리가 원하는 Item 효과가 적용되지 않았다. Input System 담당 조원과 상의를 해서 수정을 할 것이다. 그리고 깃허브의 조원들의 작업분을 나의 브랜치로 받아오면서 오류가 나서 오늘 작업했던 내용을 다시 처음부터 작업을 했다. 조원들에게 말해서 도움을 받았는데, 해결 방법이 생각나지 않아서 새로운 브랜치에다가 작업분을 받아서 다시 작업을 했다. 작업량이 많지 않아서 오래 걸리진 않았지만, 협업 과정에서는 항상 깃허브 push, pull에 주의해야 할 것 같다. 오류의 이유는 아마도 프리팹을 unpack하지 않고 수정하고 push 했기 때문인 것 같다. 항상 느끼는 것이지만 협업에서 가장 중요한 것은 의사소통인 것 같다. 제대로 의사소통을 하지 않는다면 내가 구현한 부분이 아니라면 당연히 모를 수 밖에 없고, 쉬운 내용이라도 혼자서 해결하려고 하면 훨씬 오래 걸릴 수 밖에 없다. 남은 프로젝트는 이러한 부분을 조심해서 잘 마무리 하겠다!
'Unity_2기 내일배움캠프 TIL' 카테고리의 다른 글
Unity_2기 5주차 (231205) (1) | 2023.12.05 |
---|---|
Unity_2기 5주차 (231204) (0) | 2023.12.04 |
Unity_2기 4주차 (231130) (1) | 2023.11.30 |
Unity_2기 4주차 (231129) (0) | 2023.11.29 |
Unity_2기 4주차 (231128) (1) | 2023.11.28 |