Next.js+Three.js(React Three Fiber)を使ったポートフォリオ制作の技術紹介
今回は現在私が制作しているNext.jsのポートフォリオサイト制作に使われている主要技術とこれからの設計についてお話していきます。
この記事を読むことでNext.jsを学習してみたいやプログラミングの学習の参考にもなりますので最後まで読んでみてくださいね。
🧱 使用した主な技術と目的
技術用途Next.js ルーティングやビルドが楽なReactベースのフレームワーク。SEO対策にも強い。
Three.js / React Three Fiber3Dモデルやアニメーションの描画をJSで制御。Three.jsのReact版。
DreiReact Three Fiberの補助ライブラリ。
Text, OrbitControls, useGLTFなどの便利なコンポーネントが揃っている。
GLBモデル 蝶やカーソル、アクセサリーなどの3Dモデルを表示。
CSS Modules / グラデ背景module.cssで自然な色合いの背景を設定。ページ全体のトーンを統一。
dynamic importクライアントサイドのみでThree.jsを動かすためのssr: false設定。
🦋 実装した機能と解説
1. 回転するメインモデル(main.glb)
useFrame(() => { if (ref.current) { ref.current.rotation.y += 0.01 } })
copy
🔁 useFrame を使って、フレームごとにメインモデルを回転させています。
2. 公転するサブモデル(small.glb)
const angle = (index / total) *
0