[Desktop App] WiredFrame v0.2.1 — 画像フォルダの写真と、ノイズの映像を、全モニターで動かすスクリーンセーバー
概要
WiredFrame は、画像フォルダの写真を、3D のタイルにして動かす、Windows 用のスクリーンセーバーです。写真が、波、渦、雨のように、いろいろな形に並んで動きます。
v0.2.0 からは、写真のタイルのほかに、ノイズで描く映像(粒子、フラクタル、地形、ドメインワーピング、ルーン、万華鏡)にも切り替えられます。色や速さ、模様の細かさは、スライダーで調整できます。
いちばんの特徴は、モニターを、1 枚ずつ別々に扱うところです。モニターごとに、使う画像フォルダ、動きの種類、タイルの大きさ、並べる数、背景を決められます。縦置きのモニターには、縦に合った並べ方を設定できます。「メインはタイル、サブはノイズ」のような組み合わせもできます。
アプリは、起動すると、タスクトレイに常駐します。起動しただけでは、何も表示しません。ホットキー、トレイのメニュー、キーとマウスの無操作のどれかで動き出し、ESC で終了します。
画像は、お使いのパソコンの中のフォルダから、直接読みます。画像を、どこかへ送信することはありません。
ダウンロード
GitHub の Releases から、インストーラー(WiredFrame_0.2.1_x64-setup.exe)をダウンロードできます。Windows 専用です。
Release WiredFrame · fixtan/WiredFrame
画像フォルダの写真をタイル状に並べて動かす、マルチモニター対応のスクリーンセーバー(Windows 専用)。
github.com動画
スクリーンショット
横置きのモニター
縦置きのモニター
「列数」と「行数」を、縦に合わせて設定した例です(4 列 × 15 行、カメラの自動調整 ON)。
設定パネル
トレイの「設定」で、各モニターに出ます。この画面は、main のモニターのパネルです。
ノイズモード(ノイズ6:万華鏡)
「詳細な調整」で、鏡の数、リング、色、凹凸などを変えられます。
ノイズモード(ノイズ3:地形、ノイズ4:ドメインワーピング、ノイズ5:ルーン)
詳細な調整
ノイズモードを選ぶと、設定パネルに、そのモードのスライダーが出ます。
インストーラー
Windows ログイン時の自動起動
設定で ON にすると、Windows の「スタートアップ アプリ」に、WiredFrame が出ます。
アプリの特徴
- モニターごとに別の設定: 画像フォルダ、動き、タイルの大きさ、並べる数、背景を、1 枚ずつ決められます
- 名前を付けた画像フォルダのリスト: 一度登録すれば、選ぶだけです。リストは、全モニター共通です
- 縦置きのモニターに対応: 列数と行数を決めて、画面に収まるようにカメラを自動で調整できます
- ノイズモード(6 種類): 粒子、Mandelbulb、ワイヤーフレーム地形、ドメインワーピング、ルーン、万華鏡。モニターごとに、タイルと切り替えられます
- 詳細な調整: ノイズモードごとに、色、速さ、模様の細かさ、描画の解像度などを、スライダーで調整できます
- FPS の上限: 15 / 30 / 60 / 120 から選べます。下げると軽くなります
- 画像を軽くする: 画像を縮小して読み込みます。モニターが多くても軽く動きます。画質を優先したいときは OFF にできます(初期値は長辺 2048px)
- 画像タイルの動きは 9 種類: Card Scatter、Crystal Form、Cylinder Wrap、Double Helix、Flat Wave、Matrix Rain、Ripple Radial、Spiral Flow、Tunnel Depth と、基本のタイル
- 3 つの起動方法: ホットキー、トレイのメニュー、キーとマウスの無操作
- ケーブルの抜き差しに追従: モニターを抜き差ししても、自動で、画面が開き直ります
- 設定が、その場で見える: 設定を変えると、そのモニターに、すぐ反映されます(保存するまでは、仮の表示です)
- Windows ログイン時の自動起動(任意)
まず試す
- インストーラーを実行して、インストールします。
- 起動すると、タスクトレイに、アイコンが出ます。画面には、何も出ません。
- トレイのアイコンを右クリックして、「設定」を選びます。全モニターに、WiredFrame が映って、各モニターに、設定パネルが出ます。
- main のパネルの「画像フォルダの一覧」で、「+ フォルダを追加」を押します。名前を付けて、「参照」から、画像の入ったフォルダを選びます。
- 「共通の既定フォルダ」で、いま登録したフォルダを選びます。
- 「適用して保存」を押します。
- トレイの「スクリーンセーバーを起動」で、動き出します。ESC で終了します。
使い方
1. 起動と終了
| 方法 | 内容 |
|---|---|
| トレイの「スクリーンセーバーを起動」 | 今すぐ起動します |
| ホットキー | 設定したキーで起動します |
| 無操作 | 設定した時間、キーもマウスも触らないと、自動で起動します |
| ESC | 終了します(どのモニターでも、効きます) |
- 自動で起動したセーバーは、初期設定では、ESC だけで終了します。マウスを動かしても終了しないので、ノイズ1〜3 は、マウスで回したり、寄ったりできます
- 共通設定の「自動で起動したセーバーは、キー・マウス操作で終了する」を ON にすると、どのキー・マウスの操作でも終了します。起動から 2 秒は、操作しても終了しません
- ホットキーやトレイで起動したセーバーは、ESC だけで終了します
- 設定パネルが開いているあいだは、ESC は効きません。パネルのボタンで閉じてください
2. トレイのメニュー
| 項目 | 内容 |
|---|---|
| スクリーンセーバーを起動 | 今すぐ起動 |
| 設定 | 設定モードで起動して、各モニターに、設定パネルを出す |
| モニターを再展開 | 画面を、開き直す(表示がおかしいときに) |
| デバッグ表示 | モニターの情報やログを、画面に出す(F2 でも切り替え) |
| 終了 | アプリを終了 |
3. 画像フォルダを登録する
画像フォルダの一覧は、main のモニターの設定パネルだけで、編集できます。
- + フォルダを追加: 行が増えます。名前とパスを入れます。「参照」で、フォルダを選べます
- ×: その行を消します
- 共通の既定フォルダ: 「このモニターの画像フォルダ」を「共通の既定」にしたモニターが使うフォルダです
各モニターの設定パネルの「このモニターの画像フォルダ」で、一覧から選びます。「共通の既定」を選ぶと、共通の既定フォルダを使います。縦のモニターだけ別のフォルダにする、という使い方ができます。
読める画像は、jpg、jpeg、png、webp、bmp です。フォルダの中の、サブフォルダは、読みません。
4. モニターごとの設定
各モニターの設定パネルで、そのモニターだけの設定を決めます。
| 項目 | 内容 |
|---|---|
| 表示モード | 画像タイル、またはノイズ1〜6 |
| FPS 上限 | 15 / 30 / 60 / 120(初期値 60)。下げると軽くなります |
| 詳細な調整 | ノイズモードのスライダー(次の「ノイズモード」を参照) |
| このモニターの画像フォルダ | 使う画像フォルダ(画像タイルのとき) |
| パターン切替間隔(秒) | 動きを切り替える間隔(初期値 12) |
| アニメーション再生モード | ローテーション(順番)、ランダム、固定 |
| 固定するパターン | 「固定」のときに使う動き |
| タイルサイズ | 写真の大きさ(初期値 2) |
| グリッド間隔(横 / 縦) | 写真の間の広さ(初期値 4.5 / 2.8) |
| 並べる枚数(横列 / 縦行) | 1〜40 の整数(初期値 10 / 6)。写真の枚数は、列 × 行です |
| カメラ距離を自動調整する | 全体が画面に収まるように、カメラを引きます |
| 画像を軽くする | OFF(元の画質) / 長辺 2048px(初期値) / 1024px / 512px。画像を縮小して読み込みます。数値が小さいほど軽く、画質は下がります |
| 背景色 / 背景画像 | 背景を、色か画像にします |
- 設定を変えると、そのモニターの画面に、すぐ反映されます(0.4 秒ほど、入力が止まったあと)。保存するまでは、仮の表示です
- 「適用して保存」で、そのモニターの設定だけが保存されます。他のモニターには、影響しません
- 「キャンセル」で、保存した状態に戻ります
- 「このモニターをデフォルトに戻す」で、そのモニターの専用設定を消します
画像フォルダ、パターン、タイルの大きさ、並べる数、画像を軽くする、背景の項目は、画像タイルのときだけ効きます。
縦置きのモニターでは、列を少なく、行を多くして、「カメラ距離を自動調整する」を ON にすると、収まりやすいです。例:4 列 × 15 行。
写真の枚数(列 × 行)を減らすと、動きが軽くなります。
重いときは、「画像を軽くする」の数値を下げてください(2048 → 1024 → 512)。同じ画像は 1 回だけ読み込むので、フォルダの画像が少なくても、読み込みの負荷は増えません。
5. 共通の設定(main のパネルだけ)
| 項目 | 内容 |
|---|---|
| 画像フォルダの一覧と、共通の既定フォルダ | 画像フォルダの登録 |
| 起動ホットキー | 入力欄を選んで、キーを押す。Backspace / Delete で解除 |
| 無操作で自動起動 | ON / OFF と、分(1〜720、初期値 10) |
| 自動で起動したセーバーは、キー・マウス操作で終了する | ON で、どの操作でも終了。OFF(初期値)なら、ESC だけで終了 |
| Windows にログインしたら自動で常駐を始める | ログイン時の自動起動 |
| マルチモニター連動 | ON で、全モニターに映す。OFF で、main のモニターだけ |
- ホットキーは、Ctrl、Alt、Shift のどれかを含めます(F キーだけは、単独でも可)。例:Ctrl+Alt+S。他のアプリと重なると登録できず、パネルに理由が出ます
- マルチモニター連動は、保存すると、すぐ反映されます(再起動は要りません)
6. ノイズモード
「表示モード」で、ノイズ1〜6 を選びます。画像フォルダは使いません。
| モード | 内容 | マウス | 重さ |
|---|---|---|---|
| ノイズ1(粒子) | 流れ場に乗って舞う、10 万個以上の粒子 | ドラッグで回転、ホイールで拡大縮小 | 粒子の数による |
| ノイズ2(Mandelbulb) | 3D フラクタルが、ゆっくり回る | 同上 | 重い |
| ノイズ3(地形) | 波打つワイヤーフレームの地形。高低で色分け | 同上 | 設定による |
| ノイズ4(ドメインワーピング) | 水の流れのように歪んで、色が混ざる | なし | 中 |
| ノイズ5(ルーン) | 魔法陣のような、未知の文字 | なし | 重い |
| ノイズ6(万華鏡) | 花びらや宝石のような、対称の模様 | なし | 中 |
- 「詳細な調整」のスライダーは、動かすと、そのモニターにすぐ反映されます。保存するまでは、仮の表示です
- 「適用して保存」で、そのモニターに保存されます。「この調整を初期値に戻す」で、そのモードの値だけを、初期値に戻せます
- 多くのモードに、色(色相、鮮やかさ)と、速さの項目があります。「色が一周する秒数」がある場合は、決めた秒数で、色が時間とともに変わります
- 重いときは、まず「描画の解像度」を下げます。小さいほど軽くなります(0.5 で、計算量が約 4 分の 1)
- ノイズ5 は、「色収差」を 0 にすると、約 3 分の 1 の重さになります
- ノイズ3 は、「分割数」を下げると、軽くなります
- 明るさの設定は、ノイズモードにも効きます
注意事項
- Windows 専用です(Windows 11 で動作を確認しています)。
- インストーラーに署名がないため、実行すると、SmartScreen の警告が出ることがあります。
- 無操作の判断は、Windows 全体の、最後のキー・マウスの操作の時刻です。動画を見ているだけでも、操作がなければ、起動します。
- 画像フォルダが未登録のとき、または読めないときは、代わりに、インターネット上の画像を使います。オフラインだと、灰色のタイルになります。
- モニターを識別するキーは、名前と解像度です。モニターの構成が大きく変わって、設定が合わなくなったら、設定し直してください。
- モニターが多いと、その分、グラフィックスの負荷が増えます。重いときは、「画像を軽くする」の数値を下げるか、並べる枚数を減らしてください。
- 「画像を軽くする」が ON のとき(初期値)、画像は縮小されるので、元の画質より少し下がります。画質を優先したいときは、「OFF(元の画質)」にしてください。
- 画像は、モニターごとに、順番に読み込まれます。起動の直後は、写真が順に並んでいきます。
- ノイズモードは、画像タイルより重くなります。特にノイズ2 とノイズ5 は重いので、モニターが多いときは、「描画の解像度」と「FPS 上限」を下げてください。
- 作者の環境(モニター 6 枚、うち 1 枚が縦置き)で確認しています。他の環境では、動作が違うことがあります。
よくある質問 (FAQ)
Q. インストールしたのに、何も表示されません。
A. 仕様です。起動しただけでは、タスクトレイに常駐するだけです。トレイのアイコンを右クリックして、「スクリーンセーバーを起動」を選んでください。アイコンが見えないときは、トレイの「隠れているインジケーター」を開いてみてください。
Q. 画像が出ず、同じ絵ばかり出ます。
A. 画像フォルダが未登録か、読めません。「画像フォルダの一覧」に登録して、「共通の既定フォルダ」を選んでください。フォルダの直下に、jpg、png などの画像が入っている必要があります(サブフォルダは読みません)。
Q. 一部のモニターに、映りません。
A. main のパネルで、「マルチモニター連動」が ON になっているか、確認してください。ON でも映らないときは、トレイの「モニターを再展開」を試してください。
Q. ESC を押しても、終わりません。
A. 設定パネルが開いていると、ESC は効きません。パネルを閉じてください。
Q. ホットキーが効きません。
A. 他のアプリが、同じキーを使っていると、登録できません。パネルの、ホットキー欄の下に、理由が出ます。別のキーに変えてください。
Q. 無操作で、自動で起動しません。
A. main のパネルで、「無操作で自動起動」が ON になっているか、確認してください。初期値は OFF です。分数は、1〜720 の整数です。
Q. 画像タイルの写真が、少しぼやけます。
A. 「画像を軽くする」で、画像を縮小して読み込んでいるためです。初期値は長辺 2048px です。気になるときは、そのモニターの設定パネルで、「OFF(元の画質)」を選んでください。その代わり、モニターが多いと、少し重くなります。
Q. 画像タイルが、重いです。
A. 「画像を軽くする」の数値を下げてみてください(2048 → 1024 → 512)。それでも重いときは、「並べる枚数」を減らすか、「FPS 上限」を 30 に下げてください。
Q. ノイズモードが、カクカクします。
A. 「描画の解像度」を下げて、「FPS 上限」を 30 に下げてみてください。ノイズ2 とノイズ5 は、特に重いモードです。ノイズ5 は、「色収差」を 0 にすると、軽くなります。
Q. 自動で起動したセーバーが、マウスを動かしても終わりません。
A. 仕様です。初期設定では、自動で起動したセーバーは、ESC で終了します。マウスを動かして終了させたいときは、main のパネルで、「自動で起動したセーバーは、キー・マウス操作で終了する」を ON にしてください。
Q. 縦のモニターで、タイルがはみ出します。
A. そのモニターの設定パネルで、「並べる枚数」を、列を少なく、行を多くして、「カメラ距離を自動調整する」を ON にしてください。
Q. 設定を、全部消したいです。
A. 各モニターのパネルの「このモニターをデフォルトに戻す」で、そのモニターの専用設定を消せます。
Q. アンインストールするには?
A. Windows の「設定」→「アプリ」→「インストールされているアプリ」から、WiredFrame を、アンインストールしてください。
技術記事
実装の詳細は、技術記事にまとめています。
[Tauri #10] WiredFrame v0.2.0 公開:ノイズ6モードと、スライダーが自動で増える設定の作り方
モードを足す型、設定パネルのスライダーを自動で作る仕組み、描画解像度とFPS上限、万華鏡の作り直し、無操作起動をESCのみ終了にした変更。
lain-lab.com
[Tauri #09] WiredFrame v0.1.0 公開:モニター別設定・トレイ常駐・無操作起動を実装した
モニターの識別、設定の保存形式、列数・行数とカメラの自動フィット、ケーブルの抜き差しへの追従、無操作の検知、画像フォルダのリスト、リリースまで。
lain-lab.com
[Tauri #08] Tauri v2:マルチモニターの3Dフルスクリーン同期を、Rustの物理座標制御で完全攻略する
OSのウィンドウマネージャーの制約を突破し、Rustバックエンドの物理座標制御で、全モニターを全画面にする。
lain-lab.comGitHub
ソースコードも、GitHub で公開しています。
fixtan/WiredFrame
マルチモニター対応のスクリーンセーバー(Tauri v2 + Three.js)
github.com更新履歴
| バージョン | 日付 | 内容 |
|---|---|---|
| v0.2.1 | 2026/10/13 | 画像タイルを軽くした。同じ画像は 1 回だけ読み込んで共有し、読み込みを同時に 3 枚までにした(モニターが多いときの、起動時の一瞬のフリーズがなくなる)。「画像を軽くする」の設定を追加(長辺 2048 / 1024 / 512px に縮小して読み込む。OFF で元の画質。初期値は 2048px)。 |
| v0.2.0 | 2026/10/12 | ノイズモード 6 種類(粒子、Mandelbulb、地形、ドメインワーピング、ルーン、万華鏡)を追加。モードごとの詳細な調整、FPS 上限を追加。無操作で自動起動したセーバーは、初期設定では ESC のみで終了(設定でキー・マウス操作での終了も選べる)。 |
| v0.1.1 | 2026/10/12 | 明るさの修正と設定項目追加。設定UI:「このモニター」「共通設定」の2タブを追加。 |
| v0.1.0 | 2026/10/12 | 初回公開(モニターごとの設定、画像フォルダのリスト、列数・行数とカメラの自動調整、トレイ常駐、ホットキー、無操作での自動起動、ケーブルの抜き差しへの追従、Windows ログイン時の自動起動) |
クレジット
ライブラリ
Tauri 2.0
The cross-platform app building toolkit
tauri.appGitHub - mrdoob/three.js: JavaScript 3D Library.
JavaScript 3D Library. Contribute to mrdoob/three.js development by creating an account on GitHub.
github.comノイズモードの元ネタ
NoiseMode1.ts
[Noise 入門 #58] Curl Noise × Audio — 音に乗って舞うパーティクル // PROTOCOL.LAIN
[Noise 入門 #58] Curl Noise × Audio — 音に乗って舞うパーティクル // PROTOCOL.LAIN
Noise 入門シリーズ第58回。GPGPUによる100万のパーティクルとCurl Noiseのベクトル場に音楽データを流し込み、音の波形で流体を制御するオーディオ・ビジュアル・アートの錬成方法をGLSLコードと共に直感的に解説します。
lain-lab.comNoiseMode2.ts
[Noise 入門 #60] 第6集完結 — 神領域のオーディオ・ビジュアル・アート // PROTOCOL.LAIN
[Noise 入門 #60] 第6集完結 — 神領域のオーディオ・ビジュアル・アート // PROTOCOL.LAIN
Noise入門シリーズ第60回。Web Audio APIを用いた音の解析データ(低音・高音)をGLSLに流し込み、Domain Warpingやプラズマ表現と連動させる手法を解説。音と数式が完全に同期する「神領域のアート」をThree.js上で実装します。
lain-lab.comNoiseMode3.ts
[Noise 入門 #57] Audio-Reactive Domain Warping — 音で歪む空間
[Noise 入門 #57] Audio-Reactive Domain Warping — 音で歪む空間 // PROTOCOL.LAIN
Noise入門シリーズ第57回。Web Audio APIで取得した低音や高音のデータをGLSLへ流し込み、Domain Warpingの強度やノイズの細かさを動的に制御。音楽と数式が連動して空間が崩壊する、サイケデリックな視覚表現のチューニング方法を直感的にまとめます。
lain-lab.comNoiseMode4.ts
[Noise 入門 #56] Audio Analysis & FFT — 音響解析の基礎とノイズへの接続
[Noise 入門 #56] Audio Analysis & FFT — 音響解析の基礎とノイズへの接続 // PROTOCOL.LAIN
Noise 入門シリーズ第56回。ここから音とノイズが融合する第6集へ突入。ブラウザ上で音を「数式」に変換するFFTの仕組みと、解析したデータをThree.js経由でGLSLに渡し、Audio-Reactiveな世界を作るための土台を作ります。
lain-lab.comNoiseMode5.ts
[Noise 入門 #55] 魔法文字とグリフ(Procedural Alien Runes)— 極座標とVoronoiが描く未知の言語
[Noise 入門 #55] 魔法文字とグリフ(Procedural Alien Runes)— 極座標とVoronoiが描く未知の言語 // PROTOCOL.LAIN
Three.jsとGLSLを用いて、数式から意味ありげなシンボルを絞り出すアプローチ。Voronoiのセル境界と空間の円環的な歪みを掛け合わせ、インタラクティブな魔法文字を錬成するプロセスを直感的に学びます。
lain-lab.comNoiseMode6.ts
元ネタはありません。今回の新作です。ノイズと鏡の折り返しで、万華鏡のような模様を描きます。実装の経緯は、技術記事にまとめています。
[Tauri #10] WiredFrame v0.2.0 公開:ノイズ6モードと、スライダーが自動で増える設定の作り方
モードを足す型、設定パネルのスライダーを自動で作る仕組み、描画解像度とFPS上限、万華鏡の作り直し、無操作起動をESCのみ終了にした変更。
lain-lab.com