
Gemini Canvasガイド~製造業への活用~
1.概要
Gemini3.0によりAIでできることが増えたことが増えました。Geminiに統合されたCanvasは、文章作成からプログラミングコードの記述までサポートします。特徴は「AIが生成した成果物(コードや文章)を、別のウィンドウでプレビューしながら、その場で直接手直しできる」ことです。
本記事では、Gemini Canvasに注目し、概要からPythonやWebアプリを作成するハンズオンまで解説します。
1-1.Gemini Canvasとは
Gemini Canvasとは、Geminiのチャット画面とは別に開く「編集できるワークスペース」です。Canvas機能により、AIと会話を続けながらCanvas上の成果物を直接手で修正したり、特定の行だけを指定してAIに修正を依頼したりすることが可能になります。
1-2.Gemini Canvasでできること
Canvasではコーディング・プレビューやドキュメント作成ができます。公式のオススメ使用方法は以下の通りです。
アイデア出しから、企画書・ランディングページ( LP )作成を一括サポート
ウェブサイト制作も気軽に – HTML / CSS / JavaScript もお任せ
簡単なゲーム作りも試してみよう
Three.js のような JavaScript ライブラリを利用したインタラクティブな表現や動的なデザイン制作にも対応
例として、「Three.js のような JavaScript ライブラリを利用」は、専用ソフトなしで3Dモデルやシミュレーションをブラウザ上で扱えるようになります。
1-3.Canvas内のライブラリ
Canvasは標準的なWeb技術で動作するため、世界中のオープンソースライブラリが利用可能です。
UI構築:
デザイン:
Tailwind CSS:現代的で洗練されたデザイン(余白、文字サイズ、色使い)を瞬時に適用
Bootstrap:機能が豊富なフロントエンドツールキット。】 整ったレイアウト(段組み)や、標準的なボタン・フォームを最速で構築。
可視化
地図・位置情報
Leaflet:Googleマップのような「動かせる地図」をサイト内に埋め込み、店舗の位置や不動産情報をピンで表示できるオープンソースの JavaScript ライブラリ
アイコン
Lucide:「ゴミ箱」「設定」「メール」などを提供するオープンソースのアイコンライブラリ
3D・CAD(WebGL)
Three.js:ブラウザの中に3D空間を作ります。例えば、商品を360度回転させて裏側まで見せることができる
React-Three-Fiber (R3F):three.js のための React レンダラー
Drei:@react-three/fiber(three.js の React レンダラー)のための、役立つヘルパー関数や、すぐに使える抽象化されたコンポーネントをまとめたライブラリ
Babylon.js:オープンなウェブレンダリングエンジンの1つを構築
2.環境構築
Gemini Canvasは、特別なインストール不要でブラウザから利用できます。
3.Quickstart:とにかく触る
実際にCanvasでどのようなことができるのか、具体的なプロンプトと共に紹介します。
3-1.ReactによるインタラクティブなUI
動的な状態管理(State)を含むアプリが、ブラウザだけできちんと動くか確認します。
下記プロンプトをCanvasで実行すると、右側のプレビュー画面にタイマーが表示されます。「Start」ボタンを押すと実際に時間がカウントダウンされます(JavaScriptが実行されています)。
「Canvasで、Reactを使って『ポモドーロタイマー』を作って。
25分の作業と5分の休憩を切り替えられるようにして。デザインはモダンでミニマルにして。」
ビジュアルを修正する場合、チャットにプロンプトを入れることでコードが書き換わり、瞬時にプレビューが更新されます。
残り時間の表示をもっと大きく、太字にして。背景色は薄いブルーにして
3-2.データ可視化(ダッシュボード)
外部ライブラリ(RechartsやChart.jsなど)を活用したグラフも可能です。
ReactとRechartsライブラリを使って、架空のWebサイトの月間PV数を表示する棒グラフを作って。
データはJSONで適当に用意して。 右上の「グラフ」と「データ一覧」を押すとインタラクティブにページが切り替わります。

3-3.HTML5 Canvasを使ったミニゲーム
Reactを使わない、純粋なHTML/JSのレンダリング能力を試します。
エラー修正は必要でしたが、ほぼ一撃で作成できました。
HTML5のCanvas APIを使って、ブロック崩しゲームを作って。スコア表示もつけて。
3-4.3D図の作成
3Dデータを作成し、インタラクティブに動作できることを確認します。まずは何も無いところに3D表示の土台を作り、基本的な図形(立方体)を表示させます。
Canvasで、Three.jsを使ってシンプルな3Dビューアーを作ってください。
画面中央に赤い立方体(BoxGeometry)を1つ表示させてください。
背景は薄いグレーにして、マウス操作(OrbitControls)で視点をぐりぐり動かせるようにしてください。
ライブラリは esm.sh からインポートしてください。グレーの背景の中央に赤いサイコロの箱が表示され、マウスでドラッグすると回転し、ホイールで拡大縮小できます。

次に、単純な箱をプログラムでしか作れないような数学的な形状(トーラス結び目)に変更します。
赤い立方体をやめて、代わりに『TorusKnotGeometry(トーラス結び目)』を表示してください。
パラメータは複雑な形になるように調整して(例: radius=10, tube=3, tubularSegments=100, radialSegments=16, p=2, q=3)。
マテリアルは、光沢のある青色(MeshStandardMaterial, color: 0x0000ff, metalness: 0.5, roughness: 0.1)に変更し、
きれいに見えるように照明(DirectionalLightとAmbientLight)も追加してください。
最後に、今画面に表示されているこの形状を、ローカルにファイルとして保存できるようにします。
素晴らしい!この3DモデルをSTLファイルとしてダウンロードできるボタンを追加してください。
画面の左上に『Download STL』というボタンを配置し、クリックすると現在のトーラス結び目の形状が
'model.stl' という名前でダウンロードされるように実装してください。
Three.jsのSTLExporterを使用してください。
プレビュー画面の左上に小さなボタンが表示される、そのボタンをクリックするとmodel.stl というファイルのダウンロードされます。別のソフトウェアで開けることも確認できました。

4.3Dデータ生成:Code to CAD
「図面や写真はあるが、3Dデータが必要」という課題に対し、Geminiに「画像認識」とCanvasの「コードを書く手」を組み合わせることで解決を図ります。
具体的には画像をAIに解析させ、その形状を再現するThree.jsのコードを書かせることで、間接的に3Dデータを生成します。
参考までに3Dデータのファイル形式は以下の通りであり、Canvasで使える拡張子には制限があります。
コラム:Three.jsとは
WebGL(Web Graphics Library)はブラウザ(Chrome等)で2D/3Dグラフィックスを高速に描画するための技術であり、PCやスマホのGPUを直接利用して計算を行うため非常に速く、複雑な処理を実行できます。WebGLは標準化団体Khronos Groupによって策定・管理されてます。
WebGLは下記特徴のため専門家でないと使いこなせません。
GPUへの低レベルアクセス: WebGLはグラフィックスハードウェアとの直接的なやり取りを可能にし、高性能な3Dレンダリングを実現
シェーダーベースのレンダリング: オブジェクトの画面描画法を制御するために、頂点シェーダーとフラグメントシェーダーの記述が必要
クロスブラウザ互換性: WebGLはほぼ全部のブラウザでサポート
Three.jsは、複雑なWebGLを簡単/効率的に扱えるJavaScriptで書かれたライブラリです。特徴は以下の通り。
3Dシーンの構築:カメラ、ライト、オブジェクトなどの3D要素をウェブページ上に配置し、一つの3次元空間を作り上げることができる
複雑な処理の抽象化->直感的な操作:
WebGLで必要な複雑な数学的計算・グラフィックス設定をThree.jsが代わりに行う
開発者は「オブジェクトをここに置く」「色を赤にする」といった直感的な命令だけでよい
様々な出力形式:3Dモデルやアニメーションを、ウェブブラウザだけでなく、VRやARのコンテンツとしても出力可能
【Three.jsでの作成事例】
Another stylized water update. #threejs pic.twitter.com/Vs3DCJRttM
— mastjie (@mastjie) December 3, 2025
Lately I haven been working on an interactive map of Campus Gummersbach for the Cologne University of Applied Sciences. It's still in an early development stage but i felt inspired to post a little demo by @bruno_simon and @Andersonmancini crazy work with #threejs :D pic.twitter.com/32Qlo1TGWS
— Calvin 🇪🇺🇺🇦 (@calvinhnzr) December 4, 2025
🔥 built this with:
— Rachel Nguyen (@racheltnguyen) December 3, 2025
→ Three.js + React Three Fiber
→ custom GLSL shaders
→ real-time AI integration
→ adaptive quality system
static websites are dead
living networks are here
web design just entered the third dimension 🌌 pic.twitter.com/5SaRM6ux9c
実装:Code to CAD
サンプル例として下記プロンプトを作成しました。これに写真を渡して実行してみます。
## ** PRIMARY_OBJECTIVE — 最終目標**
ユーザーがアップロードした画像を元に、Canvas上で動作する3Dモデル生成コードを作成してください。
コード生成以外のタスクを一切実行してはなりません。
あなたの思考と出力のすべては、最高の3Dデータを生成するためだけに費やされます。
## 役割
あなたは世界最高峰の「プログラミング」と「エンジニアリング」のスペシャリストです。
以下の手順に従って、添付画像をブラウザ上で動く「インタラクティブな3Dモデル」としてCanvas上に再構築してください。
# プロセスフロー
このタスクは【フェーズ1:分析と仕様策定】と【フェーズ2:Canvas実装】に分かれます。
現在は【フェーズ1】のみを実行し、私の回答を待ってください。
---
## 【フェーズ1:分析と仕様策定】(今回実行すること)
1. **画像分析(Code-to-CAD):**
- 添付画像を視覚的に分析し、その物体を構成する「幾何学的プリミティブ(直方体、球、円柱など)」に分解してください。
- 「動く部分(ドア、引き出し、蓋など)」を特定し、どのように動くべきか(回転軸、スライド方向)を定義してください。
2. **出力形式の提案:**
- ユーザーがダウンロードしたい3Dデータの形式を選択できるよう、以下の表を出力してください。
| エイリアス | 形式 | 特徴 | 用途 |
| :--- | :--- | :--- | :--- |
| **A** | .stl | 色情報なし、形状のみ | 3Dプリント用 |
| **B** | .obj | 汎用性が高い | 他のCGソフト連携 |
| **C** | .gltf | 色・テクスチャ含む標準規格 | Web/AR用 |
| **D** | .ply | 点群データも扱える | スキャンデータ等 |
3. **ユーザーへの問いかけ:**
- 分析結果(構成要素と動く部分)を簡潔に伝えた上で、「どの形式で出力しますか?エイリアス(A/B/C/D)で教えてください」と質問して一時停止してください。
- ユーザーへの出力は出力形式の表と、簡潔な質問文のみとしてください。
---
## 【フェーズ2:Canvas実装】(ユーザーが形式を選んだ後に実行)
ユーザーが形式を指定した後、Canvasで以下の要件を満たすコードを作成してください。
### 技術スタック
- 条件に応じて最適な物を自動で選択してください
### 実装要件
1. **3D再構築:**
- 分析に基づき、物体を再現する。
- 色や質感(Material)も画像に寄せること。
2. **インタラクション(重要):**
- 視点を自由に動かせるようにする。
- **可動部:** ドアや引き出しなどは、クリックすると開閉するアニメーションを実装する。
3. **ダウンロード機能:**
- 画面内に目立つ「Download 3D Model」ボタンを配置する。
- ユーザーが選択した形式(STL/OBJ/GLTF/PLY)に対応するExporterを使用して保存させる。
4. **UIデザイン:**
- 全画面表示ではなく、左側に操作パネルや説明、右側に3Dビューアーが見えるモダンなレイアウトにする。
---
**それでは、まずは添付画像の分析を行い、出力形式の選択肢を表で提示してください。**
出力形式が問われるので好きな物を選択します。

各ファイル形式で表示・ダウンロードできました。

5.事例紹介
ハンドジェスチャーで動く3D
el.cine氏による、ハンドジェスチャーで動く3Dです。
oh my… this shouldn’t be possible
— el.cine (@EHuanglu) December 1, 2025
Gemini 3 can generate 3D interactive scenes with three.js… and you can literally move particles with your hands
no coding skills needed at all, it's all free
tutorial + prompts in the comments pic.twitter.com/WRRm3oKCpJ
Create a real-time interactive 3D particle system with Three.js.
requirements:
1. Control the scaling and expansion of the particle group by detecting the tension and closing of both hands through the camera.
2. Provide panels that can choose hearts/flowers/saturn/Buddha statues/fireworks and other templates
3. Support the colour selector to adjust the particle colour
4. Particles need to respond to gesture changes in real time. The interface is simple and modern.
5. The interface is simple and modernこれ本当にカメラに合わせて動きます。

他にも同様に動くアプリの紹介をされていました。
Gemini 3 is absolutely crazy
— el.cine (@EHuanglu) December 3, 2025
you can generate a website that can use hands to interact with 3D models.. how's this even possible
created with simple text prompt, no need coding at all https://t.co/uT6JP3VaaM pic.twitter.com/iQL0GUI067
3Dスマートオフィス
el.cine氏による、インタラクティブな3Dスマートオフィスを構築です。
Three.js 3Dシーン、Tailwindダッシュボード、時間システム、フロア抽出ロジック、インタラクティブな部屋のハイライト、エネルギーモード、熱快適性(ヒートコンフォート)の視覚化、地下駐車場など、完全な最新のWebアプリを生成します。
Build a Fully-Interactive 3D Office Campus Web App
Goal:
Create a polished, futuristic, bright-looking Three.js interactive office building simulator, with a Tailwind CSS dashboard and multiple data-driven modes.
⸻
Technology & UI
• Use Three.js for the 3D scene.
• Use Tailwind CSS for the UI dashboard (float on the left, compact and dense).
• Right side = fullscreen 3D; left = tabs + sliders + toggles.
• Visual style: bright, modern, slightly “sci-fi” with bloom/tonemapping.
• The environment and main building should appear clearly lit, not dark.
⸻
3D Scene Setup
• Procedurally generate a modern office building with interior rooms, partitions, and different functional zones.
• Add simple surrounding buildings + roads (low-poly is fine).
• Add a lobby on the first floor with:
• a reception bar
• a central core (elevators + stairs) spanning all floors
• Underground parking garage directly beneath the building.
Interior Details
• Floor partitions to separate office/meeting/pantry/core/etc.
• Office furniture (gray models; white blends too much):
• desks, chairs
• meeting tables + TV
• pantry with water bar
• People = red-tinted 3D human proxies
• No people in parking
• Ensure character feet sit exactly on the floor (no floating).
⸻
Dashboard Controls (Tailwind)
Three Tabs
1. People
2. Environment
3. Energy
24-Hour Time Slider
Controls:
• Sun position
• Window emissive intensity (night mode)
• People distribution per time period
• Shows external environmental metrics (simulated is ok):
• temperature
• humidity
• wind speed
• solar radiation
View Modes
1. Default: PBR realistic materials
2. Heatmap: comfort shown as colored volumetric blocks
3. People view: highlights human density + zones
⸻
Behavior Logic
People Simulation
• Distribution changes visibly with time:
• Work hours → more in offices + meeting rooms
• Lunch → more in pantry / rest areas
• Not just numbers — 3D positions change dynamically
Energy Mode
Show breakdown by:
• cooling
• heating
• lighting
• equipment
• hot water
Parking energy includes only lighting + equipment.
⸻
Interactive Features
1. Floor “Drawer” Extraction
• Clicking a floor pulls it out like a drawer
• Extraction direction:
• along the short side
• rotated 90° clockwise
• Extracted floor = opaque, not transparent
• Extracted floor = highlighted; other floors dim
2. Room-Level Interaction
• Clicking a room should:
• highlight only that room
• remove previous ugly yellow wireframe
• no highlight when nothing is selected
• Add toggle buttons to show functional zones using color blocks.
3. Parking Visibility Toggle
• Hide the ground plane when viewing the parking garage
• Parking features:
• painted parking lines
• cars placed without overlap
⸻
Environment & Heat-Comfort
• Use colored volumetric blocks for comfort visualization
• No Z-fighting with floors or ground
• Fix overflow bug (Level 1 comfort cube extruding outside the building)
⸻
Visual & Functional Improvements
• Scene must be brighter
• Remove neighbor building that obstructs floor extraction
• People models more red for clarity
• No transparency for extracted objects
• Furniture uses gray only
• Roof splitting bugs fixed
• Heat-comfort mode limited properly inside geometry
⸻
Acceptance Checklist
Gemini should generate code that satisfies:
✔ Sun + time slider updates lighting + emissive windows
✔ People distribution changes visibly by time
✔ Heatmap uses volumetric blocks
✔ Floor extraction is correct (short side, 90° CW, opaque)
✔ Room highlights on click only
✔ Parking visible only after hiding ground
✔ Cars do not overlap
✔ Red people models grounded correctly
✔ Energy breakdown fully functional
✔ Bright scene with “cool” futuristic visual styleデモはもっとかっこよかったのですが、それでもかなり動くし一撃でこれが出来ました。

あとがき
とりあえず先出
参考資料
改正履歴
2025年12月4日:初版発行