MatrixEffectのマトリクスLED演出に、M-Spot(ムービングスポット等の外部器具)との連携操作を 組み合わせられるようにした版です。マトリクスLED側のCue進行(46Q・73エントリ)そのものはv4から 変更していません。操作の実際は下の実演動画2本(1本目・2本目)でご確認ください。 詳しい仕様・操作手順は別途まとめ次第この節に追記します。
一言でいうと、縦長の壁(16×42)に合わせて文字を「縦に」流し、静と動のメリハリを付けた版です。
| 変えたところ | 中身 |
|---|---|
| 文字流れを縦へ | 「LjStudio」が横→縦(下から上へ、映画の終わりに名前が流れるように)。
S字に蛇行しながら、色相が文字と一緒に流れる。新しい模様 Scroll Text Vertical。
★横幅 16 画素では横流れだと 1 文字ずつしか出ず読めなかった。縦にして初めて読める。 |
| 静かな所に色の流れ | 新しい模様 Colorama(ゆったり面全体を洗う色)。Intro/Breakdown/Outro を担当。
常に点灯・全面同色にしない・ゆっくりの 3 つの縛りで作った。
冒頭と終演が同じ呼吸に帰る円環の構成。 |
| ビートに合わせた連打 | 2 か所の Drop の締め 8 拍に、2 拍間隔の半拍連打×4(市松/稲妻/横一閃/火花)。 |
| 場面替えを頻繁に | 37Q → 46Q。テーマ部の刻みを 32 拍 → 16 拍へ。 |
v4 に入る前に、右下がいつも黒いという指摘を受けて調べたところ、 「16×42 への折り返し規則」の実装が 2 通りあって食い違っていました。
| どちら | 規則 | 捨てる 8 画素 |
|---|---|---|
| 表示側(Matrix Monitor) | 1 ユニバース=4 列×42 行を縦に詰める | 各ユニバースの末尾 2 画素 |
| 再生側(演出の描画) | 全 680 画素を 16 列で横に折る | 全体の末尾 8 画素 |
このため 6 画素が「表示はされるのに、演出が描かない」状態でした(点灯 666/672。差の 6 と一致)。 ★より重かったのは並び順のほうで、模様の形が画面上で画素単位に並べ替わっていました。 文字流れが読めなかった原因の一部はこれです。表示側の規則を正として揃え、 点灯 666 → 672・右下の欠け解消・模様がひと続きになることを実機で確認しています。
| 対応 | 内容 |
|---|---|
| 修正 | 戻り発火の自動生成 — flash/hit は dur_beat 経過で基調Cueへ自動復帰。
境界の基調発火はフラッシュの終わりまで自動で遅延(LjSongCueShowGenerator.BuildFireTable) |
| 新機能 | クロスフェード250ms — 全Cue切替で前の絵から新しい絵へ溶かす
(MatrixEffectOverlay.FadeState。切替途中が正確に中間色になることをユニットテストで数値検証) |
| 再設計 | Fable設計v2(38Q) — 白フルはDrop突入の2発のみに温存。基調を「静止紺→色相回転→グラデ→RGB縞→ 白黒走査の加速→Plasma→振り子→虹の奔流」とセクションごとに動きの質で語る構成へ。10種使用 |
| 対応 | 内容 |
|---|---|
| 新実装 | エフェクト4種を書き下ろし —
Scroll Text(5x7ビットマップフォント内蔵。GDI+不使用なのでLinux再生機でも動く——
JinxLiteの同名機能が移植不能だった壁を新規実装で解消)/
Sparkle(きらめき)/Ripple(同心円の波紋)/Rain(光の粒の滝)。
いずれも状態を持たない純関数(同じ時刻=同じ絵。テスト・シーク安全) |
| 新機能 | Cue個別のフェード時間上書き(fade_ms)と文字列指定(text)を
登録(LjStudio.matrixEffect.json)に追加 |
| 再設計 | Fable設計v3(37Q・13種使用) — ほぼ暗転を廃止し、Breakdownは 「振り子」→「LjStudio」の文字スクロール(淡シアン・区間11.4秒でちょうど1周)の見せ場に。 全面同色の変化は白フル2+色ポップ2+RGB Blink1(曲中最大アクセント)だけに削減。 終演は「静止紺に2秒で着地→曲側の暗転合図から5秒かけて溶暗」 |
LjPixelRig の素の格子は Y=DMXリンク(0..3)・X=リンク内通し番号(0..169) で、
16×42への折り返しは表示(Matrix Monitor)だけが行っていた。
この帯の上では縦バーは4点の点線になり、同心円は縦縞になり、高さ7px必要な文字は描けない。対応: 折り返し(LjStudio.matrix.json の Cols×Rows)を再生側にも適用する
LjMatrixShapeFile(読み口)+LjPixelRig.Folded()(座標の組み替え)を追加し、
ShowEngine→MatrixEffectOverlay が表示と同じ 16×42 で描くようにした。
枠外の余り8pxは消灯のまま=「枠外の予備」の扱いと一致。
| v1(初版) | v2 | v3 | v4 | |
|---|---|---|---|---|
| Q数 / CueListエントリ | 39 / 42 | 38 / 59 | 37 / 58 | 46 / 73 |
| 白フル点灯(Solid白・輝度1.0) | 20発 | 2発 | 2発 | 2発(Drop突入のみ) |
| 使用エフェクト種 | 4 | 10 | 13 | 15(実装21種から) |
| フラッシュの戻り発火 | 無し(出っぱなし) | 有り | 有り | 有り |
| フェード | 無し(即切替) | 一律250ms | 250ms+個別上書き(終演2s/5s・連打60ms) | |
| ほぼ暗転の区間 | Breakdown 約4秒 | Breakdown 約4秒 | ゼロ(v4 は静かな所も Colorama で常時点灯) | |
| 文字スクロール | — | — | 「LjStudio」横流れ 1文字ずつで読めない |
「LjStudio」縦流れ 蛇行+色相フロー(24拍でちょうど1通過) |
| 場面替えの刻み | テーマ部 32拍 | 16拍 | ||
| 演出の描画格子 | 170×4の帯(バグ) | 16×42 折り返し規則が表示と違う |
16×42(表示と一致・点灯672) | |
| 区間 | 基調 | ねらい |
|---|---|---|
| Intro(0:00-0:30) | Colorama → Sparkle | ゆったり面を洗う色から始める。静止面に光の粒が生まれて増えていく |
| Theme A/B(0:30-1:16) | Gradient淡 → Stripes(16拍刻み) | 初めて面が流れ出し、縞の推進力へ。刻みを半分にして場面替えを頻繁に |
| Buildup 1(1:16-1:31) | 白黒走査の4段加速 | 列走査→倍速→軸90°回転→市松崩壊。彩色を捨てて緊張を作る |
| DROP 1(1:31-2:02) | Plasma + 白フル1発目 締めに2拍間隔の連打×4 | 有機的フルカラー。締めの8拍は市松/稲妻/横一閃/火花を半拍で連打(フェード60ms) |
| Breakdown(2:02-2:17) | Colorama → Scroll Text Vertical「LjStudio」 | 文字が下から上へ縦に流れ、S字に蛇行しながら色相が文字と一緒に流れる(24拍でちょうど1通過)。この曲いちばんの見せ場 |
| Buildup 2(2:17-2:32) | 縞→虹の奔流→波紋連打→光の滝 | Buildup1と質を変えた「色彩の空間エスカレーション」 |
| DROP 2(2:32-2:55) | Rainbow全開 + 白フル2発目(最後の白) 締めに2拍間隔の連打×4 | 曲中最大。金ポップと唯一のRGB Blink(最大アクセント)を「ここぞ」に配置 |
| Outro(2:55-終) | Colorama → 静止紺 → 溶暗 | 冒頭と同じ Colorama へ帰って円環を閉じる→ 暗転合図から5秒の溶暗で終演 |