메피카타츠의 블로그
Tales Saga Chronicle Blast 개발일지 7 - 선택지 버튼 추가, 애니메이션 수정 등 / 중간 점검 녹화 본문
Tales Saga Chronicle Blast 개발일지 7 - 선택지 버튼 추가, 애니메이션 수정 등 / 중간 점검 녹화
메피카타츠 2023. 1. 17. 02:20오늘은 어제 글에 썼듯 약속이 있어서 많이 진행하진 못했다. 그래도 매일매일 조금씩이라도 꾸준히 하는 게 좋을 것 같아서 약간이라도 구현했다.

1. 선택지 버튼 추가(1개짜리, 2개짜리)
블루 아카이브에서 스토리를 진행할 때 종종 선택지를 고르는 부분이 나온다. 1개만 나오는 경우도 있고, 2개가 나오는 경우도 있다. 대부분의 경우 선택지에 따라 내용의 차이는 없지만 말이다. 아무튼, 그래서 1개가 나올 때와 2개가 나올 때의 선택지를 분리해놓았다. 기본적으로 다음 스토리로 진행하되, 2개짜리 선택지의 경우 다른 내용이 나오는 경우가 있어서 알맞은 스토리 번호로 넘어갈 수 있도록 설계했다.
public IEnumerator SelectedSelection(int num)
{
yield return new WaitForSeconds(0.5f); // 버튼이 눌린 후 진행되도록 잠시 대기
storyNum++;
if(num == 0)
{
story.transform.Find("Episode/UI/Selection1").gameObject.SetActive(false);
}
else if(num == 1)
{
story.transform.Find("Episode/UI/Selection1-1").gameObject.SetActive(false);
story.transform.Find("Episode/UI/Selection1-2").gameObject.SetActive(false);
// 선택지를 고르면 알맞은 번호로 이동
if(storyNum == 0)
{
//storyNum = 0;
}
}
else if(num == 2)
{
story.transform.Find("Episode/UI/Selection1-1").gameObject.SetActive(false);
story.transform.Find("Episode/UI/Selection1-2").gameObject.SetActive(false);
// 선택지를 고르면 알맞은 번호로 이동
if (storyNum == 0)
{
//storyNum = 0;
}
}
isCanProgress = true;
StoryProgress();
}
스토리에서 선택지를 나타내는 것도 손쉽게 할 수 있도록 함수를 만들었다. 메세지를 하나만 넣으면 하나짜리 선택지가, 2개를 넣으면 2개짜리 선택지가 나오도록 했다.
private void ShowSelection(string selectionDialog)
{
GameObject selection = story.transform.Find("Episode/UI/Selection1").gameObject;
selection.SetActive(true);
selection.transform.Find("Text").GetComponent<TMP_Text>().text = selectionDialog;
selection.GetComponent<Animator>().Play("ButtonPopup");
}
private void ShowSelection(string selectionDialog1, string selectionDialog2)
{
GameObject selection1 = story.transform.Find("Episode/UI/Selection1-1").gameObject;
GameObject selection2 = story.transform.Find("Episode/UI/Selection1-2").gameObject;
selection1.SetActive(true);
selection2.SetActive(true);
selection1.transform.Find("Text").GetComponent<TMP_Text>().text = selectionDialog1;
selection2.transform.Find("Text").GetComponent<TMP_Text>().text = selectionDialog2;
selection1.GetComponent<Animator>().Play("ButtonPopup");
selection2.GetComponent<Animator>().Play("ButtonPopup");
}
2. Dialog 감추는 설정 분리
원래는 UI를 가리는 버튼을 상정하여 Dialog가 가려져있으면 UI와 Dialog를 표시하도록 했는데, 스토리를 진행시키다보니 대화창을 없애야하는 경우가 있었다. 그래서 UI가 꺼져있으면 UI를 나타내고, isDialogOff 변수를 추가해서 Dialog를 표시하지 않아야 할 때가 아니라면 Dialog도 표시하도록 했다.
public void EpisodeBackgroundClick()
{
if (story.transform.Find("Episode/UI/Menu").gameObject.activeSelf) story.transform.Find("Episode/UI/Menu").gameObject.SetActive(false);
if (story.transform.Find("Episode/UI").gameObject.activeSelf == false)
{
story.transform.Find("Episode/UI").gameObject.SetActive(true);
if(!isDialogOff) story.transform.Find("Episode/Dialog").gameObject.SetActive(true);
}
else
{
StoryProgress();
}
}
3. 애니메이션 관련 수정
유니티의 애니메이션은 다루기가 약간 불편하기도 한 것 같다. 화면을 FadeOut하는 부분을 사용해야해서 가져왔는데, 애니메이션으로 구현했다보니 이걸 코루틴으로 다시 Fade In하려고 하니 제대로 작동하지 않았다. 애니메이션에서 FadeOut 함수가 들어가있다보니 이미지의 알파값이 고정되어 코루틴이 제대로 작동하지 않았다. 애니메이션을 사용할거면 애니메이션만 사용해야할 것 같다. 그래서 코루틴도 효율이 나쁘지 않다는 것을 알았으니 코루틴을 활용하게 되었다.
추가로, 학생들의 헤일로 애니메이션에 문제가 있었는데, 헤일로 이미지에 애니메이션을 넣고 통일하다보니 위치가 안맞았다. 미도리와 모모이의 경우 헤일로의 높이가 너무 높았고, 유즈는 헤일로의 위치가 너무 높았다. 그래서 마찬가지로 헤일로에 부모를 추가해서 부모에서 애니메이션이 움직이도록 변경했다.
4. 이외 잡다한 수정
배경음악이 큰 것 같아 배경음악을 줄였다.(-7dB에서 -13dB로) 그리고 타이틀 로고가 뜰 때 폭발음이 거슬린다는 의견이 있어 폭발음을 변경하고 소리를 적절하게 조절했다. 배경 음악이 Fade Out되는 방식과 시간도 약간 수정했다. 그리고 스토리에서 테일즈 사가 크로니클로 진입하는 배경 부분과 효과음 부분 정도를 추가했다. 글자와 선택지, 효과음 등을 적절히 추가해서 내일 최소한 게임 파트 부분까지는 완성이 가능할 것 같다.
결과적으로 오늘까지 완성된 부분은 다음과 같다.
어느새 개발을 시작한 지 1주일이라는 시간이 지났다. 처음 프로젝트 세팅을 시작할 때와 비교하면 장족의 발전인 것 같다. 1주일을 기념해 처음부터 전체적인 기능들을 녹화해보았다. 앞으로도 1주일마다 전체적인 부분을 녹화하는 것이 좋겠다.
오늘은 약속이 있어서 2~3시간 가량 밖에는 못했지만, 내일은 특별히 일정이 없으니 게임을 진행하는 부분까지는 충분히 마무리를 할 수 있을 것 같다. 그나저나 점점 잠드는 시간이 늦어지는 것 같아 걱정이다. 사실 큰 상관이 없긴 하지만 일찍 자고 일찍 일어나야 컨디션도 좋고 집중도 잘 되는 것 같아서 그렇게 하는 편이 좋을 것 같다. 내일은 좀 일찍 마무리를 하고 쉬다가 일찍 잠들도록 노력해야겠다.
'개발 > 개발일지' 카테고리의 다른 글
Tales Saga Chronicle Blast 개발일지 9 - BGM, 스토리 연결, 애니메이션 추가, 프롤로그 완성 (0) | 2023.01.19 |
---|---|
Tales Saga Chronicle Blast 개발일지 8 - UI 수정, 애니메이션 추가, 스토리 진행 등 (0) | 2023.01.18 |
Tales Saga Chronicle Blast 개발일지 6 - AUTO/MENU 버튼, 애니메이션 추가 등 (0) | 2023.01.16 |
Tales Saga Chronicle Blast 개발일지 5 - 오류 수정, DOTween 등 (1) | 2023.01.15 |
Tales Saga Chronicle Blast 개발일지 4 - 이미지 수정, 효과음, 대화, 일러스트, 애니메이션 등 (0) | 2023.01.14 |