차이점

이 페이지의 선택한 이전 버전과 현재 버전 사이의 차이점을 보여줍니다.

차이 보기로 연결

bms [2011-09-05 08:10]
lifthrasiir BOF 2009~2010을 기점으로 동영상 사용에 주저가 없어진 느낌
bms [2011-11-29 03:57] (현재)
lifthrasiir 확장자 -> 파일확장자
줄 7: 줄 7:
 ===== 포맷 구성 ===== ===== 포맷 구성 =====
  
-BMS는 [[텍스트파일|텍스트]] 기반 포맷으로 기본 [[확장자]]는 ''.bms''이나 사용하는 확장에 따라 다른 확장자를 쓰기도 한다. (''.bme'', ''.bml'', ''.pms'' 등)+BMS는 [[텍스트파일|텍스트]] 기반 포맷으로 기본 [[파일확장자]]는 ''.bms''이나 사용하는 확장에 따라 다른 확장자를 쓰기도 한다. (''.bme'', ''.bml'', ''.pms'' 등)
  
 BMS는 그 자체로 사운드나 그래픽 리소스를 담고 있지 않으며, 리소스 파일의 이름과 거기에 대응하는 보면의 형식만을 정의한다. BMS 파일 하나는 보면 하나에 대응하며 따라서 여러 개의 BMS 파일이 한 디렉토리에 (리소스와 함께) 존재하는 경우가 대부분이다. (꼭 같은 곡의 보면일 필요는 없지만, 일적으로는 그렇다.) 거의 모든 명령은 ''#'' 문자로 시작하며 한 줄을 차지하지만 간혹 확장 명령 중에 ''%'' 문자를 사용하는 경우가 있긴 하다. 리소스는 배경 동영상을 저장하는 [[BMP]] 파일과 키음 및 배경음을 저장하는 [[WAV]] 파일들이 널리 쓰였으나, 아무래도 한계가 있기 때문에 배경 동영상으로는 [[MPEG-4]]를, 키음 및 배경음은 [[Ogg Vorbis]]를 쓰는 경우가 점차 늘고 있다. BMS는 그 자체로 사운드나 그래픽 리소스를 담고 있지 않으며, 리소스 파일의 이름과 거기에 대응하는 보면의 형식만을 정의한다. BMS 파일 하나는 보면 하나에 대응하며 따라서 여러 개의 BMS 파일이 한 디렉토리에 (리소스와 함께) 존재하는 경우가 대부분이다. (꼭 같은 곡의 보면일 필요는 없지만, 일적으로는 그렇다.) 거의 모든 명령은 ''#'' 문자로 시작하며 한 줄을 차지하지만 간혹 확장 명령 중에 ''%'' 문자를 사용하는 경우가 있긴 하다. 리소스는 배경 동영상을 저장하는 [[BMP]] 파일과 키음 및 배경음을 저장하는 [[WAV]] 파일들이 널리 쓰였으나, 아무래도 한계가 있기 때문에 배경 동영상으로는 [[MPEG-4]]를, 키음 및 배경음은 [[Ogg Vorbis]]를 쓰는 경우가 점차 늘고 있다.
  
-BMS의 보면 정보는 ''#xxxyy:...'' 꼴의 행으로 지정되며, 여기서 ''xxx''는 000부터 999까지의 마디 번호이고 ''yy''는 마디에 어떤 정보를 넣을 지를 기술하는 채널 번호이다. 배경음 정보는 채널 01, 배경 애니메이션 정보는 채널 04 및 06에 할당되며, [[BPM]] [[변속]]이나 플레이를 일정 시간동안 멈춘던지 하는 확장이 존재한다. 기본적인 노트는 각각 채널 11~19(플레이어 1)과 21~29(플레이어 2)에 할당되며, 노트가 없을 때의 입력에만 영향을 주는 겨진 노트(채널 31~39 및 41~49), 롱노트 정보를 담는 가상 노트(채널 51~59 및 61~69) 등의 확장이 흔히 지원된다. 이들 정보는 일반적으로 두 자리씩 묶어 16진법/36진법 숫자로 해석하고 ''00''은 해당 시점에 정보가 없음을 의미한다. 많은 다른 리듬 게임 파일 포맷과 다르게, BMS는 한 마디를 임의의 정수로 나눠 그 임의의 위치에 노트를 지정하는 게 가능하다. (예를 들어 ''#00701:0003000003''은 007번 마디의 1/5 및 4/5 위치에 두 개의 배경음을 삽입한다.)+BMS의 보면 정보는 ''#xxxyy:...'' 꼴의 행으로 지정되며, 여기서 ''xxx''는 000부터 999까지의 마디 번호이고 ''yy''는 마디에 어떤 정보를 넣을 지를 기술하는 채널 번호이다. 배경음 정보는 채널 01, 배경 애니메이션 정보는 채널 04 및 06에 할당되며, [[BPM]] [[변속곡|변속]]이나 플레이를 일정 시간동안 멈춘던지 하는 확장이 존재한다. 기본적인 노트는 각각 채널 11~19(플레이어 1)과 21~29(플레이어 2)에 할당되며, 노트가 없을 때의 입력에만 영향을 주는 겨진 노트(채널 31~39 및 41~49), 롱노트 정보를 담는 가상 노트(채널 51~59 및 61~69) 등의 확장이 흔히 지원된다. 이들 정보는 일반적으로 두 자리씩 묶어 16진법/36진법 숫자로 해석하고 ''00''은 해당 시점에 정보가 없음을 의미한다. 많은 다른 리듬 게임 파일 포맷과 다르게, BMS는 한 마디를 임의의 정수로 나눠 그 임의의 위치에 노트를 지정하는 게 가능하다. (예를 들어 ''#00701:0003000003''은 007번 마디의 1/5 및 4/5 위치에 두 개의 배경음을 삽입한다.)
  
 BMS의 확장들 중 일부 부분집합은 비교적 잘 표준화되어 있어 많은 구현체에서 지원한다. 예를 들어 7키 BMS(채널 x8/x9의 사용)는 BME라는 이름으로, 노트(''#LNTYPE'', ''#LNOBJ'', 채널 5x/6x의 사용 등)는 BML이라는 이름으로 불리며 확장자도 이에 맞춰서 바꿔 주는 것이 관례이다. 반면 ''#MIDIFILE''이나 채널 05와 같이 현대적인 BMS 플레이어들에서 모조리 무시되는 것들도 존재하며, [[나나시그루브]]처럼 심심할 때마다 확장을 추가하는 (따라서 다른 구현체들이 따라 오길 거부하는) 경우도 존재한다(...). BMS의 확장들 중 일부 부분집합은 비교적 잘 표준화되어 있어 많은 구현체에서 지원한다. 예를 들어 7키 BMS(채널 x8/x9의 사용)는 BME라는 이름으로, 노트(''#LNTYPE'', ''#LNOBJ'', 채널 5x/6x의 사용 등)는 BML이라는 이름으로 불리며 확장자도 이에 맞춰서 바꿔 주는 것이 관례이다. 반면 ''#MIDIFILE''이나 채널 05와 같이 현대적인 BMS 플레이어들에서 모조리 무시되는 것들도 존재하며, [[나나시그루브]]처럼 심심할 때마다 확장을 추가하는 (따라서 다른 구현체들이 따라 오길 거부하는) 경우도 존재한다(...).

도쿠위키DokuWiki-custom(rev 9085d92e02)을 씁니다.
마지막 수정 2011-09-05 08:10 | 작성자 lifthrasiir