> For the complete documentation index, see [llms.txt](https://docs.febucci.com/text-animator-unity/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.febucci.com/text-animator-unity/2.x-ko/undefined-2/text-animator.md).

# Text Animator 수동 통합 방법

***쉿. 여기에서 당신의 대화 시스템이 이미 통합되어 있는지 확인하세요:*** [통합 플러그인 및 대화 시스템](/text-animator-unity/2.x-ko/undefined-2/undefined.md).

모든 대화 시스템은 다르지만 한 가지는 같습니다: **텍스트 설정**.\
\&#xNAN;*이론적으로* 당신은 단순히 “ 를 교체하여 플러그인을 통합할 수 있습니다`tmpro.text=dialogue;`” 를 “`typewriter.ShowText(dialogue);`” 로, 하지만 여기에 다양한 경우를 다룬 더 확장된 안내가 있습니다.

주의하세요 **강력히 권장됩니다** 플러그인의 타이프라이터(사용할 계획이라면)를 비활성화하고 **TextAnimator의** 것을 사용하세요 (그래야 모든 기능을 사용할 수 있습니다).

{% hint style="danger" %}
자체 포매팅을 가진 대화 시스템은 이 절차를 더 복잡하게 만들 수 있습니다. 자세한 정보는 다음 다이어그램을 읽어보세요.
{% endhint %}

![](/files/4c6d3df48310a05a35b833dd9649ad959a3bea71)

**더 설명이 필요하거나 도움이 필요하면 주저하지 말고 저희에게 연락하세요.**

***

여기 서면 가이드도 있습니다.

### 당신의 대화 시스템/플러그인이… <a href="#if-your-dialogue-system--plugin" id="if-your-dialogue-system--plugin"></a>

### … ⚠️ 텍스트를 동적으로 표시한다 (타이프라이터가 있다) <a href="#shows-text-dynamically-has-a-typewriter" id="shows-text-dynamically-has-a-typewriter"></a>

✔️ 플러그인의 타이프라이터를 TextAnimator의 것으로 교체하세요.

❌ 대화 시스템의 타이프라이터를 교체할 수 없다면, 값 “`간편 통합 사용`” 를 false(TextAnimator 컴포넌트)로 설정하고 애니메이션이 제대로 작동하는지 확인해 보세요(수많은 대화 시스템에 따라 성공이 보장되지는 않습니다).\
**하지만 이 옵션은 권장되지 않습니다. 성능이 크게 달라질 수 있으니 내장된 타이프라이터를 사용하세요.**

#### 자주 묻는 질문

<details>

<summary><strong>왜 내장 타이프라이터를 사용해야 하나요?</strong></summary>

플러그인의 의도된 호환성을 보장하는 것 이상으로, 성능상의 이유로 내장 타이프라이터(TextAnimatorPlayer)를 사용해야 합니다.

* TextMeshPro 텍스트를 변경할 때마다 포매팅을 계산하고 메쉬(법선, 탄젠트, UV 등)를 업데이트해야 합니다. 이제 타이프라이터로 글자를 추가할 때마다 이 계산을 한다고 상상해 보세요… :/ (Text Animator를 사용하든 안 하든 상관없이)<br>
* 이 때문에 TMPro는 “maxVisibleCharacters” 변수를 추가했습니다; 전체 텍스트를 한 번 설정한 다음 보이는 글자 수를 시간에 따라 증가시키면 됩니다. Text Animator를 사용하면 `tmproText.maxVisibleCharacters++`를 호출하는 대신`textAnimator.maxVisibleCharacters`” 를 단순히 호출할 수 있으며, 유사하게 작동하면서 모든 이펙트도 관리합니다.

</details>

<details>

<summary><strong>내 타이프라이터는 텍스트를 한 번 설정하고 보이는 글자 수만 증가시키는데, 사용해도 되나요?</strong></summary>

가능하지만 “`tmpro.maxVisibleCharacters++`” 부분을 수정하여 `textAnimator.maxVisibleCharacters++`로 교체해야 합니다. 또한 TextAnimatorPlayer가 처리하는 TextAnimator의 이벤트와 기능들을 구현해야 하며, 구현이 없으면 작동하지 않습니다.

</details>

### … 커스텀 액션을 가지고 있다 <a href="#has-custom-actions" id="has-custom-actions"></a>

“커스텀 액션”은 텍스트를 표시하는 동안 수행되는 동작(예: 플레이어 입력을 기다리는 것 등)을 의미합니다.

* ✔️ 만약 당신이 `TextAnimatorPlayer`을 사용하고 있다면:\
  여기서 커스텀 액션을 구현하는 방법을 읽어보세요: [사용자 정의 액션 작성 (C#)](/text-animator-unity/2.x-ko/c/c-1.md)
* ❌ 만약 당신이 `TextAnimatorPlayer`를 사용할 수 없다면:\
  대화 시스템의 타이프라이터에 이미 커스텀 액션이 존재하므로 어떤 커스텀 액션도 구현할 필요가 없습니다. 그러나 외부 타이프라이터 사용은 권장되지 않으며 프로젝트 성능에 영향을 줄 수 있습니다.

### … 자체 태그/포매팅을 가지고 있다 <a href="#has-its-own-tagsformatting" id="has-its-own-tagsformatting"></a>

#### ✔️ 이름/관리용 태그 <a href="#tags-for-namesmanagement" id="tags-for-namesmanagement"></a>

이 태그들은 대화 시스템이 텍스트 문자열을 구성하는 데 사용되어야 합니다. 이들은 문제를 일으키지 않으므로(여는/닫는 문자 포함) 교체하거나 수정할 필요가 없습니다. 가상의 “이름/관리” 태그 예시:

* `{actor1}` → 말하고 있는 첫 번째 캐릭터의 이름을 텍스트에 씁니다.
* `|getValue("eatenApple")|` → 텍스트에 변수를 씁니다
* 텍스트 예시

`"{actor1}, why did you eat |getValue("eatenApple")| apples?! Omg"` → “Karen, why did you eat 1234567 apples?! Omg” → 보시다시피 최종 텍스트에는 태그가 표시되지 않습니다. 이 경우는 Text Animator에서 별도 구현 없이 작동합니다.

#### ⚠️ 텍스트 스타일용 태그 <a href="#tags-for-text-styles" id="tags-for-text-styles"></a>

대화 시스템에 `<bold>` 와 같은 스타일 텍스트 태그가 있다면, 대화 시스템의 태그가 Text Animator와 Text Mesh Pro의 태그와 일치하는지 확인하세요 (이전 예시에서는 `<bold>` 를 `<b>`).

#### 로 교체하세요) <a href="#tags-for-custom-functionalities" id="tags-for-custom-functionalities"></a>

⚠️ 커스텀 기능용 태그 [사용자 정의 액션 작성 (C#)](/text-animator-unity/2.x-ko/c/c-1.md)

대화 시스템에 (예: “오디오 재생”과 같은) 어떤 동작을 수행하는 태그가 있다면, 여기를 확인하세요: [타이핑 시 대기 액션](/text-animator-unity/2.x-ko/typewriter/undefined-3.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.febucci.com/text-animator-unity/2.x-ko/undefined-2/text-animator.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
