[Asset 제작 일지] 대화 시스템 만들기 08 : 커맨드 구현 (3)
자, 저번 구현으로 글씨 색깔과 크기를 자유롭게 바꿀 수 있게 되었다. 남은 작업은 무엇인가?
- 소리 재생하기
- 텍스트 재생 속도 변경하기
- 스킵 불가
- 상호작용을 해야 다음 텍스트로 넘어감
- 상호작용 하지 않아도 창이 닫힘
보아하니 크게 어렵지 않은 작업일 것 같다. 하나하나 구현하면서, 내용을 적도록 하겠다.
#1 소리 재생하기
소리 재생하기는 사실상 부가 기능인데, 대사 재생 중에 각 캐릭터의 효과음을 재생할 수 있는 의도로 기획한 기능이다.
Show("/emote:Sad/나는 이제 웃을 것이다./emote:Happy//sound:haha/ 하하.", character);
이렇게 하면 "하하"가 출력될 타이밍에 'haha'가 재생된다.
여담으로, 해당 스크립트 내에는 Play_ChatSE와 Play_CallSE가 따로 선언되어 있는데, 왜냐하면 동물의숲이나 언더테일과 같은 텍스트 재생 효과음을 내고 싶었기 때문이다.
캐릭터 스크립트에서 인스펙터에 매핑하면 사용할 수 있으며, Chat SE는 한 글자씩 나올 때마다 해당 배열에 있는 사운드 중 하나가 랜덤으로 재생된다.
Call SE는 특정한 때에 낼 수 있는 효과음으로, Show 내에서 /sound:이름/의 형태로 전달해야 사용할 수 있다.
#2 텍스트 재생 속도 변경하기
Show("/emote:Sad/나는 지금부터 랩을 한다. /emote:Normal//speed:0.02/\n난비트를비틀어재껴버리는서브미션챔피언", character);
뭐어... 텍스트 재생 속도를 바꾸는 커맨드이다. 어렵지 않았으므로 패스.
#3 스킵 불가
음.. 이건 Show에서 불러올 수 있도록 했다.
덤으로 Show에 callback도 붙여서, 대화창이 Hide가 되었을 때 함수를 실행할 수 있도록 했다.
구데기적 방법이지만 이렇게 할 수 있다.
#4 상호작용을 해야 다음 텍스트로 넘어감
뭐... 그렇다. 설명할 것도 없겠지.
#5 상호작용 하지 않아도 창이 닫힘
Show("듣고는 있는 거냐! 내 말 아직 안 /close/ 끝났어!", character);
#6 대기
여기에 하나 더. 일정 시간동안 대사가 나오지 않고 대기하는 기능이다.
Show("/emote:Sad/흠... /wait:0.5//emote:Normal/재미있군.", character);
이건 별거 없이, yield new waitforseconds로 제어했다.
실제로 어렵지 않았다. 거의 다 마무리가 되어 간다.
구현해야 할 남은 내용을 정리해 보자.
- 문장 데이터를 불러올 수 있어야 한다.
이런 구데기적인 짓을 하지 않아도 되도록, 스크립트를 한꺼번에 쓸 수 있게 할 계획이다.
- 에셋을 사용하는 입장에서 간편해야 한다.
일단은 리팩토링이 필요하다. 그리고, Character를 쉽게 추가할 수 있도록 프리팹화 시켜두어야 한다.
- UX를 위해 대화창이 애니메이션과 함께 등장해야 한다.
페이드 인/아웃이라도 하는 게 나을까? 이건 구현 당일에 더 생각해 봐야겠다.
해당 커밋 보러가기
'개발 일지 > 소프트웨어' 카테고리의 다른 글
[Asset 제작 일지] 대화 시스템 만들기 10 : 태그 오류 해결하기 (0) | 2020.04.17 |
---|---|
[Asset 제작 일지] 대화 시스템 만들기 09 : 문장 데이터 불러오기 (0) | 2020.04.16 |
[Asset 제작 일지] 대화 시스템 만들기 07 : 커맨드 구현 (1), (2) (0) | 2020.04.14 |
[Asset 제작 일지] 대화 시스템 만들기 06 : 커맨드 밑작업 (2), (3) (0) | 2020.04.13 |
[Asset 제작 일지] 대화 시스템 만들기 05 : 커맨드 밑작업 (1) (0) | 2020.04.11 |
댓글
이 글 공유하기
다른 글
-
[Asset 제작 일지] 대화 시스템 만들기 10 : 태그 오류 해결하기
[Asset 제작 일지] 대화 시스템 만들기 10 : 태그 오류 해결하기
2020.04.17 -
[Asset 제작 일지] 대화 시스템 만들기 09 : 문장 데이터 불러오기
[Asset 제작 일지] 대화 시스템 만들기 09 : 문장 데이터 불러오기
2020.04.16 -
[Asset 제작 일지] 대화 시스템 만들기 07 : 커맨드 구현 (1), (2)
[Asset 제작 일지] 대화 시스템 만들기 07 : 커맨드 구현 (1), (2)
2020.04.14 -
[Asset 제작 일지] 대화 시스템 만들기 06 : 커맨드 밑작업 (2), (3)
[Asset 제작 일지] 대화 시스템 만들기 06 : 커맨드 밑작업 (2), (3)
2020.04.13