【2026年】Three.jsでアニメーション|Web制作のアクセントに

Meta広告(Facebook・Instagram広告)の費用対効果を最大化する運用テクニック アイキャッチ
目次

Webサイトに新たな次元を。Three.jsがもたらすインタラクティブな体験

情報が溢れる現代、訪問者の記憶に残るWebサイトには、ユーザーを惹きつけるインタラクティブな体験が欠かせません。そこで注目されているのが、Webブラウザ上でリッチな3Dグラフィックスやアニメーションを比較的容易に実装できるJavaScriptライブラリ「Three.js」です。

かつて専門知識が必要だった3D表現をWebの世界にもたらし、静的なデザインに命を吹き込みます。

参考アニメーション
Three.js ジェネラティブアート スタジオ

事例から見るThree.jsの可能性

Three.jsはすでに多くのWebサイトで活用されています。

  • ECサイト: 製品を360度自由に回転させ、細部まで確認できる。
  • ブランドサイト: スクロールに合わせて物語が展開するストーリーページ。
  • ポートフォリオサイト: ユーザーのマウスの動きに追従する幻想的な背景ビジュアル。

世界的な企業の製品紹介ページや、デザインアワードを受賞するクリエイティブなサイトで、その高い表現力が発揮されています。

なぜ今、Three.jsアニメーションがビジネスを加速させるのか

魅力的な3Dビジュアルは、単なる装飾ではなく、ビジネスに直結するメリットをもたらします。

  1. ユーザーエンゲージメントの向上: 驚きと楽しさを提供し、サイトの滞在時間を伸ばします。インタラクティブな要素は、ユーザーに「もっと触ってみたい」と思わせ、コンテンツへの理解を深めます。
  2. ブランドイメージの強化: 先進的な技術は、「革新的な企業」「細部までこだわるブランド」というポジティブな印象を与えます。
  3. 圧倒的な差別化: テキストと画像が中心の競合サイトの中で、動的な3D体験は訪問者に強烈なインパクトを残します。

この記事では、「Three.jsに興味はあるけれど、何から始めればいいか分からない」という方へ、Three.jsでアニメーションを実装し、Web制作のアクセントに加えるための第一歩を解説します。

Three.jsアニメーションの仕組みとは?押さえておきたい5つの基本要素

Three.jsのアニメーションは、一見複雑そうですが基本構造はシンプルです。仮想空間にオブジェクトを配置し、カメラで撮影して画面に映す、という映画撮影のような流れで構成されています。ここでは、その根幹をなす5つの基本要素を解説します。

3D空間を構築する3本柱

まず、3Dの世界を創り出すために不可欠な、3つの中心的な要素(舞台装置)を見ていきましょう。

  1. シーン (Scene): 全ての3Dオブジェクト、光源、カメラを配置する「仮想空間」そのものです。3D世界の舞台ステージにあたります。
  2. カメラ (Camera): 仮想空間であるシーンを、どの視点から切り取るかを決める「撮影カメラ」です。位置や角度によって、ユーザーに見える映像が変化します。
  3. レンダラー (Renderer): カメラが捉えたシーンの映像を、ブラウザの画面上に描画(レンダリング)する「映写機」です。3D空間の情報を、私たちが見られる2Dのピクセル情報に変換します。

この3つは、**「シーンという舞台にオブジェクトを置き、カメラで撮影し、レンダラーでブラウザに映し出す」**という関係性で連携しています。

オブジェクトに命を吹き込む2つの要素

舞台装置が整ったら、主役となる3Dオブジェクトを作成します。オブジェクトは主に2つの要素から構成されます。

  1. ジオメトリ (Geometry): オブジェクトの「形状」を定義するデータです。立方体、球、円錐といった基本形状から、複雑なモデルの骨格まで、あらゆる形のもとになります。
  2. マテリアル (Material): オブジェクトの「質感」や「見た目」を定義します。色、金属光沢、ガラスの透明感など、表面の材質を設定する役割を担います。

この「ジオメトリ(形状)」と「マテリアル(質感)」を組み合わせることで、1つの3Dオブジェクト(メッシュ)が完成し、シーンに配置できます。

これらの5つの要素が、Three.jsアニメーションの基本です。Three.jsは、ブラウザで3Dを扱う技術「WebGL」をより直感的に扱えるようにしたライブラリであり、この仕組みを理解することで、WebGLの複雑さを意識せずに豊かな3D表現を実装できます。

【初心者でも簡単】コピペで動く!Three.jsアニメーション実装チュートリアル

基本要素を理解したところで、実際に手を動かしてみましょう。ここでは、Three.jsでアニメーションを実装するチュートリアルとして、回転する立方体を作成する手順を解説します。Web制作にも応用しやすいよう、CDNを利用するため開発環境の構築は不要です。

Step 1: HTMLファイルの準備とThree.jsの読み込み

まず、アニメーションを表示するための土台となるHTMLファイルを用意します。以下のコードをindex.htmlなどの名前で保存してください。

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <title>Three.js Animation</title>
  <style>
    body { margin: 0; }
    canvas { display: block; }
  </style>
</head>
<body>
  <!-- Three.jsライブラリをCDNから読み込む -->
  <script src="https://unpkg.com/three@0.139.2/build/three.min.js"></script>
  <!-- 独自のアニメーション用コード -->
  <script>
    // ここにJavaScriptコードを記述します
  </script>
</body>
</html>

ポイントは<script src="...">の部分です。これにより、Three.jsライブラリがインターネット経由で読み込まれ、自分のコード内で使用可能になります。

参考アニメーション
Three.js ジェネラティブアート スタジオ

Step 2: 3Dシーンの構築とオブジェクトの配置

次に、JavaScriptで3D空間を組み立てます。前のセクションで学んだ「シーン」「カメラ」「レンダラー」「オブジェクト」を作成するコードです。オブジェクトを照らすための「ライト」も忘れずに設置します。ライトがないとオブジェクトは真っ黒に表示されてしまいます。

// シーン(舞台)の作成
const scene = new THREE.Scene();

// カメラの作成
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.z = 5;

// レンダラー(映写機)の作成
const renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

// ジオメトリ(形状)とマテリアル(質感)の作成
const geometry = new THREE.BoxGeometry(1, 1, 1);
const material = new THREE.MeshStandardMaterial({ color: 0x00ff00 });
const cube = new THREE.Mesh(geometry, material);
scene.add(cube); // シーンに立方体を追加

// ライトの作成
const light = new THREE.DirectionalLight(0xffffff, 1);
light.position.set(1, 1, 1).normalize();
scene.add(light); // シーンにライトを追加

Step 3: アニメーションループで動きを加える

最後に、作成した立方体にアニメーションを加えます。requestAnimationFrameという関数を使い、ブラウザの描画タイミングに合わせて繰り返し処理を実行する「アニメーションループ」を作成します。このループの中で立方体の角度を少しずつ変えることで、滑らかな回転が実現できます。

function animate() {
  requestAnimationFrame(animate); // 次のフレームで再度この関数を呼び出す

  // 立方体を回転させる
  cube.rotation.x += 0.01;
  cube.rotation.y += 0.01;

  // レンダリング(描画)
  renderer.render(scene, camera);
}
animate(); // アニメーションループを開始

このコードをHTMLファイルの<script>タグ内に記述し、ブラウザで開くと、画面中央で緑色の立方体が回転します。まずはこのコードを動かし、colorrotationの数値を変更してみてください。Three.jsの面白さをすぐに実感できるはずです。

アニメーションの先へ。Three.jsで広がるWeb表現の可能性

回転する立方体の作成を通して、基本的な3Dアニメーションの実装方法を解説しました。しかし、Three.jsのポテンシャルはこれだけではありません。ここからは、さらに表現の幅を広げるためのステップと活用アイデアを紹介します。

さらなるスキルアップへの道筋

基本をマスターしたら、より高度でオリジナリティあふれる表現に挑戦してみましょう。

  1. 公式ドキュメントとサンプル集を探索する Three.js公式サイトには、膨大なサンプルコード(Examples)がソースコード付きで公開されています。パーティクルエフェクト、物理演算、VR/ARコンテンツなど多種多様な作例が揃っています。これらのサンプルを動かし、コードを書き換えて「何を変えればどう変化するのか」を体感することが、効率的な学習につながります。

  2. オリジナルの3Dモデルを読み込む 立方体や球体だけでなく、自作の3Dモデルを表示させてみましょう。Blenderのような無料の3Dモデリングソフトで作成したモデルを「glTF」形式などで書き出し、Three.jsで読み込むことで、Web制作の表現力は飛躍的に向上します。

  3. シェーダーで独自のビジュアルを創造する より複雑でアーティスティックな表現を求めるなら、「シェーダー」の学習が欠かせません。シェーダーはGPU上で直接実行されるプログラムで、頂点の位置操作やピクセル単位での色制御が可能です。水面の揺らぎや炎のエフェクトなど、標準機能だけでは難しい高度なビジュアルが実現できます。

Three.jsアニメーションの活用アイデア

学んだ技術は、実際のWeb制作で活かすことで真価を発揮します。

  • ポートフォリオサイト: スキルや世界観を表現するインタラクティブなオブジェクトをメインビジュアルに配置。
  • 製品紹介ページ: 商品を3Dモデルで表示し、ユーザーが自由に回転・拡大して細部を確認できるようにする。
  • ブランドサイト: ブランドイメージを象徴する抽象的な3Dアニメーションを背景に用い、ユーザーを世界観に引き込む。

Three.jsでアニメーションを加えれば、Webサイトは単なる情報伝達ツールから、ユーザーを魅了する体験の場へと進化します。この記事で作成した立方体をベースに、色や形を変えたり、マウス操作に反応させたりと、自由にカスタマイズしてみましょう。あなたのアイデア次第で、Web制作のアクセントになる表現の可能性は無限に広がります。

参考アニメーション
Three.js ジェネラティブアート スタジオ

よかったらシェアしてね!
  • URLをコピーしました!
スゴヨクン
この記事の執筆者
スゴヨクン

成果主義Webマーケター見習い。
SEOから広告運用、アクセス解析まで「売れる仕組みづくり」を魔法のように研究中。
難しい用語もやさしく噛み砕いてお届けします。
「スゴくヨクなる」ヒントを、今日もあなたに。

株式会社スゴヨク 川上晋平
この記事の監修者
川上 晋平

株式会社スゴヨクにてマーケティング戦略の立案から実行までを統括。中小企業やスタートアップ向けにWeb広告運用、LP制作、SEO対策など幅広い支援を行っており、これまでに100社以上のデジタル施策をサポート。現場の視点とデータに基づいた分析力に定評があり、確かな実績と最新の知見に基づいた監修を行っています。
■資格:
Google アナリティクス認定資格
Google 広告の検索広告認定資格
Google 広告「ディスプレイ広告」認定資格


CONTACT US

CONTACT US お問い合わせ・ご相談

お見積り・ホームページ制作・運用、広告に関するご質問まで、
どんなことでもお気軽にご相談ください。
日・祝日・休業日以外は24時間以内に返信いたします。

目次