グラフィックデザイン
パーティクルギャラクシー シェーダーデザイン
暗いWebGL2キャンバス上に、淡い3本の渦状アームが固定タイポグラフィの背後で変化していきます。ソースで定義された点数と描画コール数、ローカルのFPS表示も備えています。
パーティクルギャラクシーの活用シーン
- WebGLの実験GPU駆動のパーティクル構成とシェーダー主導の動きを学べます。
- アニメーションするビジュアルアイデンティティ変化し続ける一つの形を軸に、雰囲気のあるヒーローシーンを組み立てます。
- クリエイティブコーディングのプレゼンテーション技術的な制約と、抑制されたエディトリアル調のタイポグラフィを組み合わせます。
プロシージャル・ギャラクシーの見どころ
- 渦状のパーティクルフィールド淡い緑と青の点が、幅広い3本の渦状アームを形づくります。
- レンダリング情報ブロック点数、描画コール、FPSが右上のコンパクトなまとまりに収まっています。
- エディトリアルなタイポグラフィ大きなステートメントが、作品の下で構図を支えます。
- 単一キャンバスへの集中目に見えるコントロールなしで、ビジュアルフィールドだけが体験を担います。
パーティクルギャラクシーの3つの場面
1 / 33本の渦状アームと1回のポイント描画
Particle Galaxyは、暗くほとんど空白のキャンバスと、淡いパーティクルの大きな集まりを中心にしたOpenDesign公式の例です。見出し「Fifty thousand points, one draw call.」は、技術的な前提をインターフェースの裏に隠さず、ビジュアルアイデンティティの一部にしています。
パーティクルフィールドと左下に固定されたタイトルは同じビューポートを共有しており、見出しはスクロールした先の別セクションではありません。淡い緑、青、薄い色の点が、3本のアームの間に広い暗がりを残します。トレードオフははっきりしています。抑えたフィールドは明るい文字の隣では静かに感じられますが、コントラストが低いため、フルサイズの画像をよく見る必要があります。
このデザインが向く場面
このデザインは、クリエイティブコーディングのランディングシーン、インタラクティブなテクノロジーショーケース、アートディレクションされたWebGLの習作に向いています。ビジュアルそのものが主役で、補足コピーを短く抑えられる場合に最も効果を発揮します。
静的なコントロールがないため、注意は変化するパーティクルフィールドに向かいます。一方で、この抑制は発見しやすさを制限します。提供されたマークアップには作者が用意したコントロールがなく、明示的な操作の手がかりではなく、動き、タイポグラフィ、コンパクトな統計ブロックで伝える設計です。
クリエイティブコーディングのショーケース
大きなパーティクルフィールドで、技法を説明する前にレンダリング実験を紹介します。
WebGLヒーローシーン
暗いキャンバスを、技術志向のデジタル体験の導入ビジュアルとして応用します。
モーション主導のエディトリアル
ゆっくり変化する形に注意を引かせ、簡潔なコピーで文脈を補います。
構成の仕組み
右上のブロックには、50,000 POINTS、1 DRAW CALL、変化するFPS推定値が表示されます。頂点シェーダーはgl_VertexIDから点の位置を求め、3本のアームに振り分け、角速度を変えて内側の点ほど速く回転させます。固定の傾きとゆっくり変化する全体の回転が、円盤の遠近感を形づくります。ソフトなポイントスプライトと加算合成が、緑、シアン、淡い色のパーティクルに輝きを与えます。
統計には大きな白い数字と、字間を空けた小さなラベルを使い、作品側にはずっとコントラストの低い緑、青、淡い色のパーティクルを使っています。この分離により、メタデータは銀河と競合せずに読み取れます。同時に知覚上のトレードオフも生じます。パフォーマンスのブロックはすぐに読める一方、パーティクルのアームはじっくり見る時間と、適切なディスプレイのコントラストを必要とします。
各キャプチャでは、点数と描画コールのラベルは同じまま、表示されるFPS値が異なります。この違いから、FPS欄はデバイスをまたいだ安定した性能の主張ではなく、変化するローカルの表示状態として読めます。
技術的な前提
見出しは、パーティクル数と描画コールという考え方をビジュアルに結びつけ、無関係なメタデータとして扱いません。
ビジュアルの密度
幅広い渦状アームは黒の中で疎らに保たれ、タイトルと統計の周囲に余白を残します。
状態の変化
キャプチャでは50,000点と1回の描画コールは変わらず、FPS値だけが異なります。固定ラベルと変化する表示状態が区別されています。
機能の範囲
WebGL2のソースはN = 50,000を定義し、描画フレームごとにPOINTSでgl.drawArraysを1回呼び出します。パーティクルの位置は、CPU側の位置バッファを更新するのではなく、頂点シェーダー内で計算されます。メインスレッドは引き続き、セットアップ、タイミング用ユニフォーム、リサイズ、描画を担当します。ポインター、キーボード、カメラ操作、パラメーターのコントロールはありません。これは銀河のように見えるプロシージャルなビジュアルであり、科学的な重力シミュレーションではありません。
ソースのコメントでは60fpsとされていますが、単独の静止キャプチャやローカルのFPSカウンターでは、性能が保証されるとは言えません。また、本番環境での展開、外部サービス連携、過去の生成プロセスを証明するものでもありません。点数と描画コール数はコード上の事実ですが、フレームレートの値は環境に依存する観測結果です。
カウンターが示すもの
点数の表示は設定されたN値に由来し、描画コールのラベルはレンダーループ内の1回のPOINTS描画と一致します。FPS値は、約半秒ごとの区間でrequestAnimationFrameの周期を推定したものです。これらの意味を分けておくことで、作品を根拠のないベンチマークにせず、有用な技術的文脈を保てます。
OpenDesignでパーティクルギャラクシー シェーダーデザインを作る方法
キャンバス構成を決める
暗いフルキャンバスの背景、右上のコンパクトな統計グループ、左下に固定したタイポグラフィから始めます。緑の主題ラベル、大きなステートメント、説明の段落は同じビューポート内に収め、作品の下に2つ目のセクションを追加しません。
パーティクルフィールドを形づくる
頂点IDから導いた点で淡い3本の渦状アームを作ります。中心付近ほど角速度を速くし、ソフトな加算合成のポイントスプライトを使います。暗い隙間と固定タイポグラフィは維持してください。この銀河は視覚的なパターンであり、物理的に検証された天文モデルではありません。
ラベルと機能の範囲を確認する
Points、Draw Call、FPSは視覚的に区別し、変化するFPS値は普遍的なベンチマークではなくローカルの表示状態として示します。動きとリサイズの挙動が、描画されたキャンバス内に限られることも確認します。
推奨プロンプトgl_VertexIDから位置を決めた50,000点を使い、フレームごとに1回のPOINTS描画でレンダリングする、自動アニメーションのWebGL2パーティクルギャラクシーを作成してください。点は幅広い3本の渦状アームに配置し、中心に向かうほど角速度を速くし、傾きは固定、全体は緩やかに回転させます。ソフトな緑とシアンの加算合成ポイントスプライトを使い、左下に固定のタイポグラフィ「Fifty thousand points, one draw call.」を置き、右上にはソースで定義された点数と描画のラベル、およびローカルのFPS推定値を表示します。ユーザーコントロール、物理的な銀河シミュレーション、外部サービス連携、ストレージ、普遍的な性能保証は追加しないでください。
エクスポートして共有リンクを取得
完成したデザインをエクスポートし、OpenDesignの「共有」機能を使って共有リンクを取得してください。別のブラウザウィンドウでリンクを開き、意図したバージョンとそのアセットが正しく表示されることを確認してから送付してください。





