작업 내용
카드 섞는 연출 만들기
처음에 카드가 모였다가 이동하는 연출을 애니메이션으로 만들어보려고 했다. 카드가 스크립트에서 부여받은 위치를 애니메이션을 통해 그위치로 천천히 이동하게 하려고 했다. 이것저것 해보는데 애니메이션에서 스크립트의 변수값을 바꿀 수는 있었으나 값을 받아오는 것이 안됐다. 튜터님께 여쭤보니 프리팹 각각 다른 값을 가지고 이동하는 거라서 애니메이션이 아니고 스크립트로 직접 이동해야 한다고 말씀해주셨다.
카드들이 가운데에 모여있다가 자기 자리로 Lerp이동하도록 만들었다. 가운데에 모여있다가 이동이 끝나고서 CardIdle 상태가 되도록 하기 위해 애니메이터에 있는 변수를 조건으로 활용하였다.
// Board.cs
private void Update()
{
if(isCardShuffleEnd)
{
foreach (Card c in GameManager.Instance.CardList)
{
c.anim.SetBool("isMoveEnd", true); // CardIdle로 넘겨줌
}
return;
}
shuffleTime -= Time.deltaTime;
if(shuffleTime < 2.0f)
{
foreach (Card c in GameManager.Instance.CardList)
{
Vector3 targetPosition = c.targetPos;
c.gameObject.transform.position = Vector3.Lerp(c.gameObject.transform.position, targetPosition, 0.01f);
if (shuffleTime <= 0f)
{
c.gameObject.transform.position = targetPosition;
isCardShuffleEnd = true;
}
}
}
}
히든 씬 제작
히든용 카드 애니메이션 로직 제작, 진엔딩 제작을 맡았다.
히든 스테이지 카드 애니메이션 로직 제작
HiddenCard라는 변수로 캐릭터를 구분해서 카드의 앞면 애니메이션을 재생했다.
평범한 스테이지에서도 사용하는 카드에 추가하였기 때문에 스크립트 내부에서 GameManager.Instance.CurLevel이 3인 경우 히든 스테이지의 로직으로 실행하도록 했다.
int HiddenCard
-1 일땐 카드가 Close상태
0 Azazel
1 Cerberus
2 Judgement
3 Justice
4 Lucy
5 Malina
6 Modeus
7 Pandemonica
엔딩씬 제작
간단하게 팀명과 제작자 크레딧을 넣기로 해서 만들었다. 엔딩 배경음악을 정하게 되어서 음악 박자에 맞게 움직이는 크레딧을 제작했다. 모두가 짜친다고 생각하였지만 그게 우리 감성이 맞다고 수용되었다. (ㅋㅋㅋㅋ)
알게된 것들
씬 머지 충돌
팀원분들 작업물 중에 Scene을 수정한 것이 충돌나 스크립트는 충돌나도 수정해서 병합할 수 있는데, 씬이 충돌이 난 경우에 해결할 방법이 아주 없는 건 아니지만 우리 수준에서는 방법이 없다고 하심.
그리고 튜터님께서 주신 조언
- 브랜치는 기능 기준으로 으로 나누는 게 좋다
- 내 브랜치에서 작업한 것을 main에 바로 붙이는게 아니라 main을 내 브랜치로 끌고와서 한 번 합친다음에 뿌려야 한다.
svn은 내가 작업하는 파일을 잠글 수 있는데.. 그게 정말 편한 거였구나.
Button 컴포넌트 클릭 이벤트 감지 안 된 이유
Button 컴포넌트는 UI 오브젝트에 붙여야 한다.!! 다른데 붙이면 타겟 그래픽이 없다는 경고와 함께 클릭 이벤트를 감지 못함.
싱글톤(DontDestroyOnLoad를 적용한) 일 때 Start() 함수
처음 게임을 실행할 때 1회 실행하고 다시 실행하지 않는다. 어제도 비슷하게 다룬 내용이지만 이게 헷갈리는 순간 코드가 꼬인다. 명심명심
'프로젝트 일지 > Unity' 카테고리의 다른 글
[Unity/TIL] 개인 2DMetaverse 개발 일지 (2) | Supermarket2D 프로젝트 (3) | 2025.02.20 |
---|---|
[Unity/TIL] 개인 2DMetaverse 개발 일지 (1) (0) | 2025.02.19 |
[Unity/TIL] 미니 프로젝트 '팀원을 찾아라' 마무리 (0) | 2025.01.24 |
[Unity/TIL] 버그 수정 - 애니메이션 전환 조건, Invoke 하는 동안 상호작용 막기 (1) | 2025.01.23 |
[Unity/TIL] 프로젝트 구조의 중요성, 초기화 & 생명주기의 중요성, LoadScene 비동기 함수, Enter Safe Mode 알림 (0) | 2025.01.21 |