C#으로 부활한 플래시, 2D 애니메이션 제작 도구 등장!

by DD
2개월 전
조회수 10

C#과 Avalonia, SkiaSharp를 활용하여 2D 애니메이션 제작 도구를 개발 중

기존 플래시(.fla) 파일 완벽 지원 및 스크립팅 기능 제공

벡터 엔진(Vector Engine), 타임라인, 심볼 라이브러리 등 플래시의 핵심 기능 구현

HTML5/CanvasSWF 형식으로의 익스포트 지원

플래시(.fla) 파일 지원 및 호환성

본 도구는 기존 플래시(.fla) 파일의 완벽한 임포트(Import)를 지원하여, 기존 플래시 사용자들의 원활한 전환(Seamless Transition)을 돕는다. 특히, .fla 파일 내의 벡터 데이터(Vector Data), 타임라인 정보, 스크립트 등을 정확하게 파싱(Parsing)하여 편집 가능한 형태로 변환한다. 이는 기존 플래시 사용자들에게 학습 비용 절감(Cost Reduction)생산성 향상(Productivity Improvement)을 제공한다.

C# 기반 스크립팅 시스템

개발자는 C# 기반의 듀얼 서피스 스크립팅 시스템(Dual-Surface Scripting System)을 통해 애니메이션 제작을 자동화할 수 있다. Roslyn 컴파일러(Roslyn Compiler)를 활용하여 제작 시간(Authoring-time) 스크립트와 런타임(Runtime) 프레임 스크립트를 모두 지원한다. 또한, ActionScript를 C#으로 변환하는 트랜스파일러(Transpiler)를 통해 기존 플래시 프로젝트의 코드 재사용성(Code Reusability)을 극대화한다.

2D 벡터 엔진(Vector Engine) 구현

본 도구는 DCEL(Doubly-Connected Edge List) 데이터 구조를 기반으로 하는 벡터 엔진을 사용한다. 이는 플래시의 머지 드로잉 모드(Merge Drawing Mode)를 완벽하게 재현하며, 5가지 페인트 모드(Paint Modes)를 모두 지원한다. 이러한 기능은 복잡한 벡터 기반의 애니메이션 제작을 가능하게 하며, 성능 최적화(Performance Optimization)에도 기여한다.

HTML5/Canvas 및 SWF 익스포트

본 도구는 제작된 애니메이션을 HTML5/CanvasSWF 형식으로 익스포트(Export)할 수 있다. 특히, SWF 익스포트 기능은 기존 플래시 생태계와의 호환성을 유지하며, HTML5/Canvas 익스포트는 웹 기반의 애니메이션 제작 및 배포를 용이하게 한다. 이러한 다양한 익스포트 옵션은 개발자에게 유연성(Flexibility)을 제공한다.

Building a new Flash