この記事の対象: 3DをWebサイトに取り入れたいWebデザイナー・3D初学者
読了時間: 約6分
「Webサイトに3D要素を入れたい。でもThree.jsは難しそう……」——そんな方におすすめなのがSplineです。ブラウザベースの3DデザインツールSplineなら、コードを書かずに3Dコンテンツを作成し、Webサイトに埋め込めるます。
この記事では、Splineの基本的な使い方からWebサイトへのEmbed方法までを解説します。
Splineとは
Splineは、ブラウザ上で動作する3Dデザインツールです。Blenderのような専門ツールに比べて学習コストが低く、Web向けの3Dコンテンツ制作に特化しています。
| 項目 | 内容 |
|---|---|
| 料金 | 無料プランあり(商用利用はProプラン: $9/月〜) |
| 動作環境 | ブラウザベース(インストール不要) |
| 書き出し形式 | iframe, React Spline, glTF, 画像 |
| 対応ブラウザ | WebGLをサポートする主要ブラウザ |
Three.jsとの違い:
| 比較項目 | Spline | Three.js |
|---|---|---|
| 操作方法 | GUI(ノーコード) | JavaScript |
| 学習コスト | 低 | 高 |
| カスタマイズ性 | 中 | 高 |
| パフォーマンス制御 | 限定的 | 完全に制御可能 |
| 向いている用途 | LP、ヒーロー装飾、プロダクト紹介 | インタラクティブ体験、ゲーム |
Splineの基本的な使い方
アカウント作成とインターフェース
- spline.designでアカウントを作成
- 「New Project」で新規プロジェクトを開始
- インターフェースは左パネル(オブジェクトリスト)、中央(3Dビューポート)、右パネル(プロパティ)の3分割
基本的な3Dオブジェクト作成
Splineでは、プリミティブ(基本形状)からオブジェクトを作成します。
主なプリミティブ:
– Cube(立方体)
– Sphere(球体)
– Cylinder(円柱)
– Torus(ドーナツ型)
– Text(3Dテキスト)
ツールバーの「+」ボタン、またはショートカットキーで追加。移動・回転・スケールはギズモ(矢印ハンドル)で操作します。
マテリアル・ライティングの設定
マテリアル設定(右パネル):
– Color: ベースカラーの設定
– Metalness: 金属感の強さ(0〜1)
– Roughness: 表面の粗さ(0=鏡面、1=マット)
– Glass: ガラス風の透明素材
– Gradient: グラデーションカラー
ライティング:
– デフォルトで環境光が設定済み
– 追加のポイントライト・スポットライトで陰影を調整
– HDRIマップで環境光のリアリティを向上
アニメーションの追加
SplineのStatesパネルでアニメーションを作成します。
- 初期状態(State 1)を設定
- 新しいState(State 2)を追加
- State 2でオブジェクトの位置・回転・スケールを変更
- トランジションの種類と速度を設定
イベントトリガー: ホバー、クリック、スクロール、ページ読み込みでアニメーションを発火させられます。
WebサイトへのEmbed方法
iframe埋め込み
最もシンプルな方法です。Splineのエディタで「Export」→「Public URL」を取得します。
<iframe
src="https://my.spline.design/xxxxxx/"
frameborder="0"
width="100%"
height="500"
loading="lazy"
></iframe>
メリット: 実装が簡単、コード不要
デメリット: カスタマイズ性が低い、ロード時間が長め
Spline Viewer(React対応)
React/Next.jsプロジェクトでは、公式の@splinetool/react-splineパッケージが使えます。
npm install @splinetool/react-spline
import Spline from '@splinetool/react-spline';
export default function Hero() {
return (
<Spline scene="https://prod.spline.design/xxxxxx/scene.splinecode" />
);
}
メリット: Reactコンポーネントとして統合、イベントハンドリングが可能
デメリット: バンドルサイズが増加
実装時の注意点
読み込み速度: Splineの3Dシーンは数MB〜数十MBのデータをロードします。ファーストビューに配置する場合は以下の対策が必須です。
| 対策 | 方法 |
|---|---|
| プレースホルダー画像 | 3Dロード中に静止画を表示 |
| lazy loading | iframe に loading="lazy" を設定 |
| ビューポート外での読み込み抑制 | IntersectionObserverで制御 |
| シーンの軽量化 | ポリゴン数の削減、テクスチャサイズの最適化 |
モバイル対応: スマホではGPU性能が限られるため、3Dシーンの複雑さを抑えるか、モバイルでは静止画に切り替える設計が推奨です。
// モバイルでは3Dを静止画に切り替え
const isMobile = window.matchMedia('(max-width: 768px)').matches;
if (isMobile) {
document.querySelector('.spline-container').innerHTML =
'<img src="/images/3d-fallback.webp" alt="3Dビジュアル" loading="lazy">';
}
3DをWebで活用している参考事例
プロダクト紹介ページ
3Dモデルをユーザーがドラッグで回転させて、360度から製品を確認できるUI。物理的なショールームのような体験をWebで提供。
ヒーローセクションの装飾
テキストの背景に浮遊する3Dオブジェクトを配置。静的な画像とは異なる「動きのある」ファーストビューを演出。
インタラクティブなポートフォリオ
作品をクリックすると3D空間内でトランジションが発生し、次の作品に切り替わるUI。
データビジュアライゼーション
3D空間内にデータを配置し、奥行きのあるインフォグラフィックを表現。
デザインの参考はSoreiine!!で探せます。
まとめ
Splineを使ったWeb向け3Dコンテンツ制作のポイントをまとめます。
- Splineの強み: ブラウザベース、ノーコード、Web書き出しに特化
- 向いている用途: LP装飾、プロダクト紹介、ヒーローセクション
- Embed方法: iframe(シンプル)またはReactコンポーネント(高度)
- 注意点: 読み込み速度とモバイル対応が必須課題
Splineは「3Dの民主化」ツールです。コードが書けなくても、Webサイトに3D要素を取り入れることが可能になりました。まずは無料プランで試してみてください。
