사용자 정의 효과 작성 (C#)
사용하는 것 외에 내장 이펙트 또는 인스펙터에서 사용자 지정으로 생성하기, C#으로 사용자 지정 이펙트를 쉽게 프로그래밍할 수 있습니다.
이펙트는 세 가지 핵심 부분으로 구성됩니다(동일한 파일에 작성할 수 있음).
매개변수 클래스/구조체
이펙트에서 사용할 데이터/값에 대한 정보를 포함합니다 (상태)
상태 구조체
주요 이펙트 클래스. 매개변수와 문자를 받아 시간이 지남에 따라 수정합니다. 또한 수정자
스크립터블 래퍼
이전 요소들을 하나로 통합하고 디스크에 저장할 수 있게 해줍니다. 몇 줄의 코드로 나머지를 처리하게 해줍니다!
이 이름들은 단지 관례일 뿐이지만 원하는 대로 부를 수 있습니다!
다음이 필요하다는 것만 알아두세요:
이펙트 변수를 저장하는 무언가
문자를 수정하는 역할을 하는 구조체
이 둘을 연결하고 정보를 디스크에 저장할 수 있게 해주는 스크립터블
사용자 지정 스크립트 작성
먼저 필요한 네임스페이스를 임포트했는지 확인하세요(IDE가 어쨌든 알려줄 것입니다 <3)
using UnityEngine;
// Text Animator의 네임스페이스를 임포트
using Febucci.TextAnimatorCore;
using Febucci.TextAnimatorCore.Text;
using Febucci.Parsing;
using Febucci.TextAnimatorForUnity.Effects;매개변수
문자를 수정하는 데 필요한 데이터를 만드세요(인스펙터에서 보고 편집할 동일한 것).
상태
이펙트의 "핵심" 부분입니다. 매개변수와 사전 계산된 Text Animator 데이터를 바탕으로 문자를 수정합니다.
구조체는 반드시 다음을 상속해야 합니다 IEffectState.
스크립터블 오브젝트 래퍼
텍스트 애니메이터에 커스텀 이펙트를 연결하는 데 필요한 로직을 생성하고 Assets 폴더에 저장합니다.
이 스크립트들만 있으면 Text Animator가 다음을 보장합니다:
자동 관리되는 커브, 재생, 수정자
경쟁 상태(race condition) 없는 최적화된 이펙트
리플렉션을 사용하지 않고도 AOT 플랫폼에서 호환되는 이펙트
강력한 미리보기 편집기
UI Toolkit과 Text Mesh Pro에서 동일하게 동작하는 이펙트(동적 스케일링 포함)
그리고 더! <3

완료! 모든 필요한 단계를 완료했습니다, 축하합니다! 이펙트를 더 추가할수록 이 과정은 더 익숙하고 간단하게 느껴질 것입니다.
인스펙터에서 이펙트에 태그를 주고 데이터베이스에 추가하는 것을 잊지 마세요! 그렇지 않으면 인식되지 않습니다. 더 읽어볼 수 있습니다: 효과 데이터베이스
이펙트를 적용하며 즐거운 시간 되세요!