소리꽃 KeyBloom 2
소리꽃 KeyBloom
바로가기 ↗
소리꽃 KeyBloom
YouTube에서 보기 ↗
이 글은 소리꽃 KeyBloom 시리즈의 8번째 기록입니다. (총 21개)
오늘 한 일
- 성능 측정 오버레이 — D 키로 FPS·프레임 작업시간·파티클 수(각각 min/max)를 화면에 표시. 이걸로 재보니 어제 스프라이트 아틀라스 전환으로 이미 60fps가 유지되고 있어서, 성능 항목은 감으로 더 파지 않고 닫음
- 아틀라스 재굽기 디바운스 — 색·광택 슬라이더를 드래그하면 매 틱 스프라이트를 다시 구워 프레임이 튀었다(work 32ms). 값이 잠깐 안정된 뒤에만 굽도록 디바운스. 녹화 시작 직전엔 대기 중인 재굽기를 flush해 첫 프레임을 깨끗하게
- 녹화 다듬기 — 녹화 중엔 ‘중지·저장’ 버튼만 빼고 모든 설정을 잠가 깨끗한 한 패스를 보장. “중지·저장”(지금까지 저장)과 “취소(저장 안 함)”를 분리
- 파티클 tail — 곡 끝(duration) 도달 시 즉시 정지·리셋하지 않고, 파티클이 자연 소멸할 때까지 기다린 뒤 종료. 녹화도 그 여운을 포함
- 건반 눌림 색 — 흰/검 공통 1색, 모드 선택: 단색(직접 지정) / 파스텔 / 무지개(노트 해시로 키마다 안정적 랜덤)
- 건반 광택 — 눌린 키에 유리 하이라이트(sheen) + 위로 뻗는 발광 글로우. 키를 떼면 색·sheen은 즉시 꺼지고 글로우만 잔광으로 서서히 감쇠
- 파티클 색 모드 — min~max 그라데이션 / 랜덤 무지개. 랜덤일 땐 min/max·선명도 컨트롤 숨김
- 우측 패널 탭 UI — 파일·트랙 / 비주얼 / 내보내기로 분리, 재생(트랜스포트)은 탭 무관 하단 고정
막힌 부분
- FPS min/max가 아무것도 안 해도 min 36 / max 93처럼 튀었다 — 순간(단일 프레임) FPS를 min/max로 잡아서, 프레임 간격 지터 한 번과 오버레이 켤 때의 히치 한 프레임이 값을 지배한 것. FPS는 500ms 창 평균으로 재고, 켠 직후 몇 프레임은 워밍업으로 제외해 안정화
- 광택 슬라이더 드래그 때 work가 6.6ms → 32ms로 튐 — 아틀라스를 매 입력마다 재굽기. 디바운스로 드래그 중엔 안 굽고 멈추면 한 번만 굽게
- 건반 잔광을 처음엔 색·sheen까지 같이 페이드시켰는데, 원하는 건 발광 글로우만 천천히 사라지는 거라 분리(색·sheen은 즉시 on/off, 글로우만 감쇠)
hidden속성이 안 먹던 문제 —.ctl-row의display:flex가[hidden]의 기본display:none을 덮어써서..ctl-row[hidden]으로 명시
다음에 할 일
- 큐(Cue) — 프리셋 + 트리거(파일=시간 자동, 라이브=스페이스·방향키). 실시간 모드와 공통 재사용되게 분리 설계
- 실시간 연주 모드 (Web MIDI) — 비주얼 엔진은 그대로 두고 노트 입력 소스만 교체
- 모양별 색 지정, 고화질 인코딩(ffmpeg.wasm), 합성음 피아노틱하게(조사)
Series: 소리꽃 KeyBloom
1
|
소리꽃 KeyBloom
2
|
Rescene(리센느) ― Pretty Girl
3
|
히사이시 조 ― Spring
4
|
히사이시 조 ― 인생의 회전목마
5
|
LiSA ― 홍련화(귀멸의 칼날)
6
|
히사이시 조 ― Summer
7
|
소리꽃 KeyBloom 1
8
|
소리꽃 KeyBloom 2
읽는 중
9
|
소리꽃 KeyBloom 3
10
|
소리꽃 KeyBloom 4
11
|
소리꽃 KeyBloom 5
12
|
소리꽃 KeyBloom 6
13
|
소리꽃 KeyBloom 7
14
|
소리꽃 KeyBloom 8
15
|
소리꽃 KeyBloom 9
16
|
소리꽃 KeyBloom 10
17
|
소리꽃 KeyBloom 11
18
|
소리꽃 KeyBloom 12
19
|
소리꽃 KeyBloom 13
20
|
소리꽃 KeyBloom 14
21
|
소리꽃 KeyBloom 15