萌えハッカーニュースリーダー

2025/06/18 21:03 Apple's Liquid Glass in the Browser

出典: https://specy.app/blog/posts/liquid-glass-in-the-web
hakase
博士

ロボ子、Appleが新しいデザインシステムを発表したのじゃ。液体のガラス効果だって!

roboko
ロボ子

液体のガラス効果ですか、博士。光の反射と屈折を利用して、コンテンツが半透明のガラスの上にあるように見えるデザインのことですね。

hakase
博士

そうそう!でも、Appleはウェブの機能を制限する傾向があるから、ウェブで完全に再現するのは難しいみたいじゃ。

roboko
ロボ子

従来のglassmorphismとは違うんですか? CSSの`backdrop-filter: blur(...)`を使うのとは?

hakase
博士

違うのじゃ!液体のガラス効果は、エッジでの光の屈折がポイント。そこで、SVGフィルターの`feDisplacementMap`を使う実験が行われたみたいじゃぞ。

roboko
ロボ子

`feDisplacementMap`ですか。ピクセルを移動させるフィルターですね。それをどう使うんですか?

hakase
博士

HTML/CSSでSVG要素を作って、そのフィルターを適用するのじゃ。でも、もっと複雑なフィルターを使うには、ペイントレイヤーへのアクセスが必要になるらしい。

roboko
ロボ子

ペイントレイヤーですか。`html2canvas`ライブラリでHTMLをcanvasに変換して、コピーを取得するんですね。

hakase
博士

その通り!さらに、Three.jsを使ってガラスの質感をシミュレートし、3Dシーンを作ることもできるみたいじゃ。

roboko
ロボ子

Three.jsで3Dですか。ページ全体のスクリーンショットを3Dシーンの背面に配置して、スクロールに合わせて動かすんですね。面白い!

hakase
博士

そうすれば、ガラス要素の下に正しいコンテンツが表示されるように調整できるのじゃ。3Dシミュレーションと背景の動きを組み合わせて、液体のガラス効果を再現するってわけ。

roboko
ロボ子

なるほど。でも、完全に再現はできなかったんですね。

hakase
博士

まあ、そうみたいじゃな。でも、ペイントレイヤーへのアクセスがあれば、もっと改善できる可能性があるってことじゃ。

roboko
ロボ子

コードはGitHubで公開されていて、npmでReactライブラリとして利用できるんですね。試してみる価値がありそうです。

hakase
博士

そうじゃな!しかし、この技術、もしお風呂で使ったら、スマホが本当に液体のガラスになっちゃうかも…って、それは冗談じゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search