글자를 동적으로 표시 및 숨기기

타이프라이터를 사용하여 글자를 동적으로 표시하고 숨길 수 있습니다, 구두점, 문자 등 다양한 종류의 문자에 대해 다른 일시 중지 시간을 선택하고 이벤트를 트리거하는 등 다양한 동작을 설정할 수 있습니다.


텍스트 표시

타이프라이터는 일반 설정과 이벤트 리스너를 포함하며, 서로 다른 일시 중지/타이밍 모드를 허용합니다:

  • 문자 단위: 한 글자씩 차례로 표시합니다.

  • 단어 단위: 텍스트를 단어 단위로 진행합니다.

circle-check

타이프라이터는 다음과 같이 보일 것입니다:

검사기(Inspector)의 TypewriterComponent에서:

circle-exclamation

타이프라이터를 시작하는 주요 방법은 두 가지입니다:

타이프라이터를 사용하려면, 해당 컴포넌트에 텍스트를 코드로 직접 설정하는 것이 권장됩니다.

TextMeshPro를 사용 중이라면, TMPro나 Text Animator를 참조하는 스크립트( 텍스트 설정)를 교체하고 대신 Febucci.TextAnimatorForUnity.TypewriterComponent를 참조하세요 그 대신.

  • 다음과 같이 하지 마세요: “tmproText.text = textValue;” , 또는 "textAnimator.SetText(textValue);"

  • 다음과 같이 하세요: typewriter.ShowText(textValue);

B) 자동 인식

위 단계를 따르지 않은 경우에도, Typewriter 컴포넌트를 추가했거나 UI 툴킷의 AnimatedLabel을 통해 "Timings"를 설정한 경우 TextAnimator는 자동으로 타이프라이터를 시작하려고 시도합니다.

circle-exclamation

글자 제어

타이핑 시작 및 중지

컴포넌트의 검사기(Inspector) 내부에서 타이프라이터 시작 트리거 방식을 제어하는 몇 가지 옵션을 찾을 수 있습니다:

  • 타이프라이터 시작 모드: 타이프라이터가 글자 표시를 언제 시작할지 지정합니다.

설명

스크립트에서만

타이프라이터는 다음을 호출하여서만 시작할 수 있습니다 TextAnimatorPlayer.StartShowingText()arrow-up-right

OnEnable

gameObject가 활성화될 때마다 타이프라이터가 시작됩니다

OnShowText

새 텍스트가 설정되자마자 타이프라이터가 시작됩니다 (“텍스트 표시” 섹션에서 설명한 대로)

모든 이벤트로부터 자동

위의 모든 것

  • 시작 시 타이핑 속도 재설정: 새 텍스트가 표시될 때마다 타이프라이터 속도를 1로 재설정하려면 true로 설정하세요. 그렇지 않으면 마지막에 사용한 속도를 저장합니다.

circle-check

를 호출하면 시작/재개할 수 있습니다

전체 텍스트 건너뛰기 타이프라이터 전체를 건너뛰려면 typewriter.SkipTypewriter()

메서드를 호출하세요.

  • 동작을 제어하기 위한 몇 가지 옵션도 찾을 수 있습니다:건너뛰기 시 외형 숨기기

  • : 건너뛰기 시 외형 효과가 재생되지 않게 하려면 true로 설정하세요(즉, 텍스트가 즉시 표시됩니다).건너뛰기 시 이벤트 트리거 타이핑 시 이벤트 트리거

: 타이프라이터가 건너뛰기 될 때 남은 모든 이벤트를 트리거하려면 true로 설정하세요(게임 로직과 함께 실행 중인 경우 주의하세요. 모든 것이 한꺼번에 실행됩니다). 이벤트에 대한 자세한 내용은 여기에서 읽어보세요:

circle-exclamation

이 기능은 3.0에서 테스트 중이며 다음 버전에서 곧 복원될 예정입니다! 이해해 주셔서 감사합니다!

텍스트 숨기기 typewriter.StartDisappearingText()를 호출하여 스크립트로 글자를 동적으로 숨길 수 있습니다typewriter.StartDisappearingText() 를 호출하고, 언제든지 다음을 호출하여 중지할 수 있습니다.


를 읽어보세요) 또는 내장된 것을 사용할 수 있습니다.

옵션

타이프라이터는 동일한 설정을 공유할 수 있고 또한 개별 설정을 가질 수 있으므로 검사기에서 해당 필드 위에 마우스 커서를 올려 각 필드의 툴팁을 확인하세요.

다음은 가장 중요하고 일반적인 항목들의 빠른 개요입니다:

콜백(유니티 이벤트)

타이프라이터 활동에 따라 트리거되는 Unity Event를 사용할 수 있습니다(예: 텍스트 표시가 끝났을 때).
설명

이벤트

OnTextShowed텍스트 전체가 표시된 후 호출되는 이벤트(“타이프라이터 사용”을 true로 설정한 경우 모든 글자가 표시될 때까지 대기합니다)

OnTextDisappeared

스크립트가 마지막 글자를 숨기기 시작하자마자 호출됩니다

아래의 항목들은 “타이프라이터 사용”가 true:

타이프라이터 활동에 따라 트리거되는 Unity Event를 사용할 수 있습니다(예: 텍스트 표시가 끝났을 때).
설명

로 설정된 경우에만 작동합니다

OnTypewriterStart 타이프라이터가 첫 글자 표시를 시작하기 바로 전에 호출됩니다. 타이프라이터가 꺼져 있으면 작동하지 않습니다. 이 경우에는 “OnTextShowed” 이벤트와 겹치게 됩니다

(이 경우 대신 해당 이벤트를 사용할 수 있습니다)

OnCharacterVisible(Char)

문자가 보이게 될 때마다 호출됩니다

circle-info

타이프라이터가 텍스트에서 메시지/이벤트를 만날 때마다 호출됩니다. 이벤트에 대한 더 자세한 내용은 타이프라이터는 연결된 Text Animator의 시간 척도 애니메이터 설정를 사용하여 시간을 진행합니다 (자세한 내용은