예지의 개발 로그포스 (Yeji's Log Force)

[Unity][HandiLab] 실험 가이드 - Typing효과와 Audio Source 본문

[Unity] Projects & Study/HandiLab - AR 과학 실험

[Unity][HandiLab] 실험 가이드 - Typing효과와 Audio Source

Yeji Heo 2022. 7. 6. 16:12

실험을 어떻게 진행하는지 사용자에게 가이드를 하는 것은 필수다. (물을 뿌리세요, 용액을 넣으세요 등)

작년에 개발할 때는 이러한 가이드로 그냥 텍스트를 작성, 1초마다 활성화-> 비활성화하며 깜빡이는 정도의 효과를 줬었다.

이번에는 Typing효과를 통해 실험 가이드를 강조하고,

AI음성 Audio Source를 추가하여 청각적인 가이드도 제공하였다.

 

1. Typing 효과

먼저 텍스트가 바뀌는 부분(Scene(씬의 역할을 하는 프리팹)이 바뀌는 부분 등)은

그냥 gameobject.text를 불러와 바꿔주었다.

oldText라는 변수는 기존 textUI에 적혀있던 Text를 의미하며, 이게 다른 text로 바뀌면(위 사진처럼 새로운 텍스트로 설정했을 때) Update에서 감지하고 코루틴을 호출하여 타이핑 효과를 준다.

또 타이핑 코루틴은 isTypingEnd가 true여야만 호출할 수 있다.

이 조건을 추가해주지 않으면 타이핑이 끝나지 않았을 때도 oldText와 guide.text를 계속 비교하여 코루틴을 호출하기 때문이다. 그러면 실제 사용자 화면에는 "핀셋으로 멸치 겉 부분을 걷어내세요"가 "핀", "핀셋", "핀", "핀", "핀", "핀" 이렇게 작성될 것이다. 또 모두 끝나면 이제 바뀐 guide.text를 oldText로 설정해준다.

guide.text를 한 글자씩 잘라서 타이핑해주고 반복문이 모두 끝났을 때 isTypingEnd를 true로 만들어준다.

 

2. AI 음성 추가

무료로 AI 음성을 사용할 수 있는 곳을 찾다가 프로소디라는 것을 https://www.prosody-tts.com/ 알게 되었다.

다운로드 후 4000자였나? 이내로는 무료 다운로드할 수 있다. 

다운로드한 오디오는 필요에 따라 스크립트에서 가이드가 바뀌는 부분에서 재생하도록 하거나

AudioSource컴포넌트가 부착된 오브젝트를 활성화시키는 등 방법을 사용했다. (Play On Awake 체크)

활성화되면 오디오 재생

Comments