사용자 지정 효과 작성 (C#)

사용하는 것 외에도 내장 이펙트 또는 인스펙터에서 직접 커스텀으로 만드는 것, C#을 통해 커스텀 이펙트를 쉽게 프로그래밍할 수 있습니다.

circle-info

추신. 반드시 읽었는지 확인하세요 고급 개념 페이지!

이펙트는 세 가지 주요 부분으로 구성됩니다(같은 파일에 작성할 수 있음).

파라미터 클래스/구조체

이펙트에서 사용할 데이터/값에 대한 정보를 포함합니다 (상태)

상태 구조체

메인 이펙트 클래스. 파라미터와 캐릭터를 받아 시간에 따라 이를 수정합니다. 또한 수정자

스크립터블 래퍼

이전 요소들을 통합하고 디스크에 저장할 수 있게 해줍니다. 나머지는 우리가 처리할 수 있도록 해주는 몇 줄의 코드!

circle-check

커스텀 스크립트 작성

circle-info

이 예제에서는 문자를 가변량만큼 위로 이동시키는 이펙트를 만듭니다.

먼저 필요한 네임스페이스를 임포트해야 합니다(IDE가 알려줄 것입니다 <3)

using UnityEngine;

// Text Animator의 네임스페이스를 임포트
using Febucci.TextAnimatorCore;
using Febucci.TextAnimatorCore.Text;
using Febucci.Parsing;
using Febucci.TextAnimatorForUnity.Effects;

파라미터

문자를 수정하는 데 필요한 데이터를 만드세요(인스펙터에서 보고 편집할 동일한 것).

상태

이펙트의 "코어" 부분입니다. 파라미터와 사전 계산된 Text Animator 데이터를 이용해 문자를 수정합니다.

  • 구조체는 반드시 상속해야 합니다 IEffectState.

스크립터블 오브젝트 래퍼

커스텀 이펙트를 Text Animator에 훅킹하기 위한 로직을 생성하며, 또한 Assets 폴더에 저장합니다.

circle-info

"ManagedEffectScriptable"의 더 많은 타입을 허용하는 다른 버전과 "Referenced" 이펙트 구현이 있지만, 이는 앞으로의 버전에서 다룰 예정입니다!

circle-check

circle-check
circle-exclamation

이펙트를 적용하며 즐거운 시간 보내세요!


circle-info

"Referenced" 이펙트를 만드는 가이드는 곧 제공될 예정입니다. 현재 UX/API 부분을 다듬고 있습니다.