[2025/07/03]TIL

오수호·2025년 7월 3일

TIL

목록 보기
33/60

🧩 Unity에서 Skill 연출 설계 개선

오늘은 스킬 연출 설계를 조금 더 구조적으로 정리할 수 있는 방법에 대해 고민했다.

기존에는 스킬 사용 시 VFX, 애니메이션, 데미지 로직 등을 스크립트에서 순차적으로 호출해서 처리했는데, 이 방식은 디자인 변경에 유연하지 못하고 유지보수가 어렵다는 문제가 있었다.

그래서 생각한 개선 방안은 다음과 같다:

SkillDataSO에 Timeline을 직접 연결해두고, 스킬 사용 시 해당 Timeline이 자동 재생되도록 구성

이 방식의 장점은:

애니메이션, 이펙트, 사운드를 Timeline에서 한 번에 제어할 수 있다.

디자이너가 Timeline을 수정해도 로직을 건드리지 않고 연출을 바꿀 수 있다.

스킬마다 Timeline을 다르게 가져갈 수 있어 유연성과 재사용성이 뛰어나다.


🧠 Timeline 내에서 오브젝트를 어떻게 연결할까?

이 과정에서 중요한 개념이 하나 등장한다: ExposedReference

public ExposedReference<Transform> target;

ExposedReference는 Timeline에서 외부의 실제 오브젝트(예: 공격 대상, 이펙트 타겟 등)를 참조하기 위한 구조다. Timeline은 PlayableAsset이기 때문에 직렬화된 데이터만 가지고 있는데, PlayableDirector가 실제 오브젝트를 런타임에 바인딩해준다.

즉, 타임라인 내부에서는 플레이어/몬스터 등의 오브젝트를 직접 모르기 때문에, 외부에서 연결해줘야 한다.


✍️ 오늘의 회고

오늘은 연출 설계에 있어 Timeline을 적극적으로 활용하면 얼마나 시스템이 유연해지는지를 다시금 느꼈다. 단순히 타임라인을 사용하는 것을 넘어서, SkillData에 포함시켜 관리하는 방식은 구조적으로도 깔끔하고 팀 작업에서도 효율이 좋다.

Timeline + ExposedReference + SO 구조는 턴제 RPG에서 스킬 연출을 유연하게 구현하는 좋은 패턴이라 느꼈다.

profile
게임개발자 취준생입니다

0개의 댓글