
Bruno Simon — Portfolio
車を運転して回る3Dポートフォリオ。ナビゲーションが衝突判定に置き換わっている、WebGLサイトの古典。
- サイトURL
- https://bruno-simon.com/
- クレジット
- Bruno Simon
- 使用技術
- Three.jsRapier(物理演算)TSLHowler.jsBlender
フランスのクリエイティブデベロッパー Bruno Simon(学習教材 Three.js Journey の著者)のポートフォリオ。一般的なポートフォリオのレイアウトではなく、運転できる3Dワールドとして作られています。小さな車を操作してミニチュアの風景を走り回り、経歴・制作物・リンクに物理的にぶつかることで内容が現れます。
車にはブースト、ブレーキ、ジャンプ、ハイドロリクスがあり、キーボード(WASD/矢印、SHIFT、CTRL/B、SPACE、数字キー)、モバイルのワンフィンガー操作、ゲームパッドに対応。アチーブメントの解除、タイムアタックのコース、オプションパネル(音声・品質・リスポーン・レンダラー選択)、30文字までの来訪者メッセージ機能まで載っています。
コードはMITライセンスでGitHubに公開されており、Blenderファイルも同梱されています。
【参考になるポイント】
・ナビゲーションそのものがインタラクション。クリックするリンクが存在せず、衝突でコンテンツに到達する。UIをワールドデザインに置き換えた事例として繰り返し参照される
・物理エンジンは cannon.js 世代から Rapier(Rust/WASM)へ移行済み。ページ内には TSL(Three.js Shading Language)の参照もあり、2020年代前半ではなく現在のThree.jsスタックの実例になっている
・オプションにレンダラーの選択と品質設定、そしてリスポーンがある。物理で動く世界には「詰んだときの逃げ道」が要る、という設計判断
・サーバー側(メッセージ/ランキング)以外はすべて公開されており、サイト自体が教材として機能している
