Base Instrument Class

기본 악기 클래스는 , 시각화를 위한 메쉬 부분, 음을 생성하기 위한 신디 사이저 부분 등으로 구성 되어 있습니다.

연주 개념

모든 악기는 연주라는 기능을 담고 있습니다. 이를 위해서 SDK에서는 연주가 가능한 타입과 불가능한 타입을 인터페이스를 사용하여 분리하였습니다.

  • 연주 가능 악기: 실제 상호작용이가능하며, 연주 할 때 UI 인터페이스가 보입니다.

  • 연주 불가능 악기 : 장식품 형태 입니다.

연주에 대한 사실적인 지원을 위하여 메쉬에 대한 애니메이션이 제공됩니다. 각 악기는 모듈 형식으로 개별적으로 애니메이션을 가지고 있습니다. 다만 최적화를 위하여 , 스켈레탈 메쉬 애니메이션을 사용하기 보다, 간단한 형태인 경우, 메쉬 자체를 개별적으로 나누어서 인스턴스 메쉬 형태의 회전등의 간단한 이동을 통하여 효율적인 악기 연주를 표현 할 수 있도록 하였습니다.

피아노 : 88키 제공

사운드 폰트 기반 신디사이저

글꼴 폰트처럼 한번에 다루기 쉬운 간단한 형태의 사운드 폰트 연동 기능을 추가적으로 제공합니다. 외부에서 무료 등의 사운드 폰트를 구하여, 악기의 음색을 추가 할 수 있습니다.

  • 개별적인 세부 샘플의 경우 , SDK에서 추가적으로 제공하는 메타사운드 소스를 사용 가능합니다.

  • 메타사운드의 경우 효율적으로 DSP 효과를 추가 가능한 형태의 소스를 제공하고 있습니다.

사운드 폰트는 뱅크를 통해서 악기 샘플을 로드하고 , 채널에 이를 등록해야 합니다. 이부분을 설정 하면 드럼/ 피아노 등 원하는 악기를 연주 할 수 있습니다. 사운드 폰트마다 지원하는 악기 뱅크가 다르므로 , 다양한 악기를 합주해야 하는 컨텐츠를 위해서는 GM (General Midi )형태를 지원하는 사운드 폰트를 연동하는 것을 추천 드립니다.


기능 컴포넌트

미디 플레이 컴포넌트

  • 미디 파일을 읽거나, 미디 이벤트를 전송하여 신디사이저 재생을 하는곳에 사용합니다.

  • 해당 컴포넌트는 네트워크 기능이 있는 형태의 RPC가 구현되어 있습니다.

Last updated