Three.jsの環境構築|Vite + npmで最速セットアップ
みなさんこんにちは。フロントエンドエンジニアのしゅん(@shun_webdesign)です。
Three.js入門ガイドで「Three.jsって手軽に3Dが作れて面白い」という話をしました。この記事はその続きで、実際に手を動かすための環境構築を最短でやっていきます。
やることは3つだけ。Viteでプロジェクトを作って、threeを入れて、箱を1つ回す。ここまで5分あれば終わります。
Table of Contents
なぜCDNじゃなくてVite + npmなのか
Three.jsは、実はHTMLに<script>タグを1つ貼るCDN方式でも動きます。「じゃあそれでいいのでは?」と思うかもしれません。
でも、デモを1つ作って手を動かしていくなら、Vite + npmのほうが結局ラクだと僕は思っています。理由はシンプルで、
- 準備に手間がいらない … コマンド数回で、すぐ書きはじめられる
- 開発サーバーが速い … Viteは保存した瞬間に画面へ反映される(爆速)
- 補完が効く …
importで読み込むのでエディタが型やAPIを教えてくれる - モジュールを追加しやすい … OrbitControlsやローダーなど、追加機能を
importで足せる
CDNでもThree.js自体は動くので「絶対ダメ」ではありません。ただ、ちょっとしたデモを試したり作り込んだりを繰り返すなら、Viteのほうがストレスが少ないです。
セットアップ手順
ターミナルで以下を実行します(Node.jsが入っている前提です)。
npm create vite@latest my-3d-app -- --template vanilla
cd my-3d-app
npm install
--template vanilla は、Reactなどを使わない素のJavaScript構成という意味です。まずはThree.js単体に集中したいので、これで十分です。
続けて、Three.js本体を入れます。
npm install three
これで準備完了。npm run devで開発サーバーが立ち上がり、http://localhost:5173で確認できます。
import "./style.css"; // Viteのテンプレはここでcss を読み込んでいる。消さないこと
import * as THREE from "three";
// シーン・カメラ・レンダラー
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, innerWidth / innerHeight, 0.1, 1000);
camera.position.z = 3;
const renderer = new THREE.WebGLRenderer({ antialias: true });
renderer.setSize(innerWidth, innerHeight);
document.body.appendChild(renderer.domElement);
// 箱を置く
const cube = new THREE.Mesh(
new THREE.BoxGeometry(),
new THREE.MeshNormalMaterial()
);
scene.add(cube);
// 毎フレーム描画する
renderer.setAnimationLoop(() => {
cube.rotation.x += 0.01;
cube.rotation.y += 0.01;
renderer.render(scene, camera);
});
最後に、キャンバスを画面いっぱいに広げるため、style.cssの中身も消して1行だけ入れておきます。
<code>body { margin: 0; }
保存すると、ブラウザに色のついた箱がくるくる回っているはずです。これがThree.jsのいちばん小さな「動く世界」です。
つまずいたら、まずブラウザのコンソール(F12)を開いてエラーを確認するのが近道です。多いのはimportのパスミスと、threeのインストール忘れです。
次の一歩
環境ができたら、あとは置くモノを増やしたり、見た目を変えたりしていくだけです。
- コードに出てきた Scene / Camera / Renderer が何をしているかは → 基本3要素の解説記事(近日公開)」で深掘りします
- 見た目(色・質感)を自分で書きたくなったら → GLSL入門でシェーダーの世界へ
📕 もっと手を動かして体系的に学びたい人へ
この記事のような「小さく動かす」を積み重ねて、実際に作品をつくるところまで導くKindle本を書きました。
『Three.jsでつくる、小さなWebGL表現 ── はじめての”作品づくり”ガイド』
環境構築のつまずきどころから、自分の作品づくりまで順を追って解説しています。
まとめ
- 作品を作るなら Vite + npm で環境を整えるのがトータルで速い
- 手順は
npm create vite→npm install three→npm run devの3ステップ - Scene / Camera / Renderer + Mesh の型で、箱はもう回せる
環境さえできれば、Three.jsはあとは触って楽しむフェーズです。ここを起点に、Three.js入門ガイドのロードマップに沿って進めてみてください。
僕もXでThree.jsの作品や知見を発信しているので、よかったら覗いてもらえると嬉しいです。それでは、よいThree.jsライフを🌊