macOS Screen Saver · 直接配布

Amaoto(雨音)

音のない雨音。
窓ガラスを雨が流れ落ちる、すべてリアルタイム生成のスクリーンセーバー。動画も画像も 1 バイトも入っていません。

滴の動きは周回ごとに、雨の向こうの街の景色は開始のたびに、乱数で引き直されます。同じ雨も、同じ景色も、二度と現れません。

Apple Developer ID 署名・notarized 済み · Apple Silicon 搭載 Mac 専用 · macOS 13 以上 · 検証済み: macOS 26 · SHA-256: 3c1c7af67108f5163ec79ae02e45ba6ca48b116ab6096a4da8752f9625ac82d1

Demo

動いているところ

雨と雪、実際の描画をそのまま録画した 2 本のループです。背景の街も画像ではなく、録画のたびに生成されたものです。これと同じものが、あなたの Mac の GPU で毎フレーム計算されます。

雨。夜の街路に本降り。滴が濡れ筋を残しながら滑り落ち、テールランプが雨滴の中に映り込む

雪。窓の向こうを雪片が舞い、ガラスに付いた雪が溶けて滴になり、下端には雪が積もっていく

Concept

動画も画像も使わない。全部その場で生成

水滴は動画でもアニメーション素材でもなく、すべて GPU のシェーダーでリアルタイムに生成しています。雨の向こうに見える街の景色も画像ファイルではありません。開始するたびに乱数の種を引き直し、街路・ビル街・路地のどれかを地平線の高さ・稜線・明かりの配置まで新しく描き起こします。バンドルに入っているのは 1 枚の Metal シェーダーと小さな実行ファイルだけ。滴の緩急は周回ごとに、景色は開始ごとに変わるので、ループの繰り返し感がありません。自分の壁紙や任意の写真を背景にすることもできます。

🎲

毎回違う雨

周回ごとに所要時間・引っかかりの強さと回数を抽選し、滴が引っかかりながら滑り落ちます。開始のたびに雨量や滴の大きさまで全パラメータを抽選するモードも用意(セーバーでは既定 ON)。

🏙️

毎回違う景色

街路のテールランプと濡れた路面の反射、ビル街の窓明かりとネオン、路地の街灯。3 種類の景色を開始ごとに構図から生成します。空の色と街明かりの数は今の時刻に連動し、朝焼け・雨の昼・夕焼け・夜へと再生中も移り変わります。

❄️

雷雨、そして冬には雪

天候を「雷雨」にすると、稲光で空全体が一瞬白く光り、遠景が黒く抜けます。再発光と雲の中の残光のタイミングは開始ごとに変わります(点滅は 1 秒に 3 回まで)。「雪」では窓の向こうを雪片が舞い、ガラスに付いた雪が溶けて滴になり、窓の下端に雪が積もっていきます。「季節で自動」なら 12〜2 月だけ雪の日に、「開始ごとにランダム」なら雨・雷雨・雪を抽選します。

🔍

本物のレンズ屈折

水滴をハイトフィールドとして合成し、その勾配で背景をずらしています。滴の中には背景が縮小して映り込み、滴が動けば映り込みも動きます。

💧

結露を拭う濡れ筋

雨が強まるとガラスが結露で曇り、滴が通った跡だけが鮮明に抜けます。濡れ筋は時間とともに乾いて薄れていきます。

⚡

負荷に合わせて自動調整

開始直後に実測した GPU 時間からフレームレートを自動で調整(60 / 30 / 20fps)。間引いても雨の速さは変わりません。描画スケール設定(100 / 85 / 75 / 50%)も併用でき、5K ディスプレイでは 75% を推奨します。スケールを下げても水滴の計算だけを縮小し、屈折や合成は実解像度で行うので、背景はぼけません。

Screenshots

画面イメージ

雨量・景色・時刻・天候による表情の違い。写真背景の 1 枚以外は、すべてその場で生成された景色です。画像をクリックすると拡大表示します。

本降りの街路

本降り。流下する滴が濡れ筋と残滴を残し、打ち付けた雨粒が震えて飛沫を散らす

土砂降りと結露

土砂降り。結露で曇ったガラスを、滴の通り道だけが鮮明に抜ける

雨越しのビル街

景色「ビル街」。窓明かりの格子とネオンが雨滴の中に映り込む

雨越しの路地

景色「路地」。街灯と、奥を抜けていく車のテールランプだけの静かな構図

夕焼けの街路に雨

夕方に開始すると空が夕焼けになる。時刻に合わせて空の色と街明かりが変わる

雪の日

天候「雪」。舞う雪片、ガラスに付いて溶ける雪、下端の積雪

写真背景での土砂降り

「任意の画像」背景の例。手持ちの写真に土砂降りを重ね、結露の曇りが街の光を柔らかく滲ませる

写真背景のスクリーンショットに使用した画像は CC0(パブリックドメイン)の写真(Syced 氏、Wikimedia Commons)です。

Scenes

雨を降らせる前の、生成された景色

雨滴を止めて背景だけを表示したものです。これらは画像ファイルではなく、開始するたびに乱数の種から地平線・稜線・明かりの配置を決めて描き起こしています。同じ構図が二度出ることはありません。画像をクリックすると拡大表示します。

街路の景色

街路。テールランプの左右ペア、ヘッドライト、信号、濡れた路面の反射

ビル街の景色

ビル街。段差のあるシルエットに窓明かりの格子、低層にネオン、屋上に航空障害灯

路地の景色

路地。街灯が雨のもやににじみ、奥を車が抜けていく

夕焼けの街路

同じ街路を 17 時半に開始すると夕焼けに。空の色と明かりの数は時刻で変わる

雨の昼の街路

正午。雨の日の明るい曇り空。車のランプと信号だけが灯っている

雪の日の街路

天候「雪」の夜。雪雲が街明かりを反射して空が明るく、路面は雪に覆われる

Backgrounds

雨の向こう側は、4 種類から選べる

オプション画面のポップアップで切り替えます。どのモードでもネットワークは使わず、画像を外部に送信することはありません。

🌆

空と街明かり(既定)

開始するたびに新しく生成される街の景色。空の色と街明かりの数は今の時刻に連動し、再生中もゆっくり移り変わります。景色を街路・ビル街・路地に固定することもできます。

🌃

夜の街明かり(固定)

時刻に関わらず、いつでも夜の街。景色は開始ごとに変わります。昼間でも夜の雨を眺めたい人向け。

🖥️

デスクトップの壁紙

そのスクリーンの壁紙を背景にします。見慣れた壁紙に雨が降ります。許可は不要です。

🖼️

任意の画像

好きな写真を背景に。選んだ画像は縮小 JPEG としてセーバーの設定内に保存されるので、元ファイルを移動しても表示され続けます。

Install

インストールとアンインストール

スクリーンセーバーはダブルクリックでインストールされます。アプリケーションフォルダには何も置きません。

インストール

  1. ダウンロードした dmg を開き、Amaoto.saver をダブルクリックします
  2. システム設定 > スクリーンセーバ を開くと、「その他」に Amaoto が追加されています
  3. 「オプション…」から雨量・景色・天候・背景などを調整できます

※ 一覧のサムネイルが渦巻き(銀河)の画像になるのは macOS の仕様です。現在の macOS はサードパーティ製スクリーンセーバーのサムネイルを表示できず、どの製品でも同じ画像になります(プレビューと実際の描画は正常に動きます)。

アンインストール

以下のファイルを削除するだけです。

Requirements

動作環境

シェーダーの負荷は画素数に比例するため、GPU 性能を前提に Apple Silicon 専用としています。

謝辞: 雨滴表現の手法は Shadertoy の「Heartfelt」(Martijn Steinrucken 氏)を参考にしました。コードは Metal 向けの独自実装です。

Versions

Windows 版

同じ描画を Windows に移植した Amaoto(雨音)for Windows も配布しています(Windows 10 22H2 / 11)。

Related

あわせてどうぞ

同じ作者の macOS アプリ。