3d-model-generation について
3d-model-generationは、each::senseでテキスト説明や参照画像から3Dアセットを作るスキルです。ゲーム、製品ビジュアライゼーション、建築などに対応し、形式や反復生成のガイドも含みます。
主な機能
- 01テキストから3D、画像から3D
- 02キャラクター、製品、シーン、構造物の生成
- 03PBRテクスチャマップの生成
- 04複数の3D出力形式
- 05反復生成と一括アセット生成
活用シーン
- 01ゲーム用アセットの作成
- 02製品ビジュアライゼーション用モデルの制作
- 03建築シーンの生成
- 04参照画像からテクスチャ付き3Dモデルを制作
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ eachlabs/ skills --skill 3d-model-generationインストール後、Claude Code で/3d-model-generationを入力して読み込まれたか確認します。
同梱ファイルreferences/SSE-EVENTS.md
詳細
3Dモデル生成
each::senseを使用して、本番環境で使える3Dモデルを生成します。このスキルでは、ゲーム、Eコマース、建築、製品のビジュアライゼーションなどに適した3Dアセットを、テキストの説明や参照画像から作成できます。
機能
- テキストから3D:自然言語の説明から3Dモデルを生成
- 画像から3D:2D画像を3Dモデルに変換
- キャラクターモデル:人型キャラクターやクリーチャーの3Dモデルを作成
- 製品モデル:Eコマースに適した製品の3Dアセットを作成
- 環境/シーン:3D環境や風景を生成
- ゲームアセット:ローポリやスタイライズされた、ゲームですぐに使えるモデルを作成
- 家具:インテリアデザインやホームデコレーション向けの3Dモデルを作成
- 乗り物:自動車、航空機、輸送機器の3Dアセットを作成
- 建築:建物、構造物、建築要素を作成
- PBRテクスチャ:3Dモデル用の物理ベースレンダリングテクスチャを生成
クイックスタート
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a 3D model of a medieval treasure chest with gold trim and iron locks"}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
出力形式
| 形式 | 拡張子 | 用途 |
|---|---|---|
| GLB | .glb | 汎用形式、Web/AR/VR、Unity、Unreal |
| GLTF | .gltf | Webアプリケーション、three.js |
| OBJ | .obj | レガシーサポート、3Dプリント |
| FBX | .fbx | アニメーション、ゲームエンジン |
| USDZ | .usdz | Apple AR Quick Look |
ユースケースの例
1. テキストから3Dモデルを生成
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a 3D model of a futuristic sci-fi helmet with glowing blue visor and matte black finish. High detail, suitable for game assets."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
2. 画像から3Dに変換
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Convert this product image into a 3D model. Maintain accurate proportions and surface details for e-commerce use."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max",
"image_urls": ["https://example.com/product-image.jpg"]
}'
3. キャラクターの3Dモデル
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a 3D character model of a fantasy warrior elf with ornate silver armor, long pointed ears, and a flowing cape. T-pose, game-ready topology."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
4. 製品の3Dモデル
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Generate a 3D model of a premium wireless headphone. Matte black with rose gold accents, leather ear cushions. High detail for product visualization and AR try-on."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
5. 環境/シーンの3Dモデル
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a 3D environment scene of a Japanese zen garden with a stone pathway, bamboo fence, koi pond, and cherry blossom trees. Stylized low-poly aesthetic for mobile games."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
6. ゲームアセットの3Dモデル
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a low-poly 3D game asset pack: a wooden crate, barrel, torch, and treasure chest. Stylized textures, optimized for real-time rendering, under 5000 triangles each."}],
"model": "eachsense/beta",
"stream": true,
"mode": "eco"
}'
7. 家具の3Dモデル
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Generate a 3D model of a mid-century modern armchair. Walnut wood frame with teal velvet upholstery. Realistic materials for interior design visualization and AR placement."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
8. 乗り物の3Dモデル
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a 3D model of a vintage 1960s muscle car. Cherry red metallic paint, chrome details, whitewall tires. High detail exterior suitable for automotive visualization."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
9. 建築物の3Dモデル
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Generate a 3D architectural model of a modern minimalist house. Two stories, large glass windows, flat roof, concrete and wood exterior. Include surrounding landscape."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
10. 3D用PBRテクスチャの生成
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Generate PBR texture maps for weathered bronze metal. Include albedo, normal, roughness, metallic, and ambient occlusion maps. 2K resolution, tileable."}],
"model": "eachsense/beta",
"stream": true,
"mode": "max"
}'
ベストプラクティス
モデルの品質
- 具体的に指定する:素材の種類(金属、木材、布地)、表面仕上げ(マット、光沢)、スタイル(リアル、スタイライズ、ローポリ)を含めます
- 用途を指定する:ゲーム(最適化済み)、AR/VR、3Dプリント、ビジュアライゼーションのどれに使うかを記載します
- サイズの基準を含める:適切なプロポーションが必要な場合は、サイズを説明します
トポロジーのガイドライン
- ゲームですぐに使えるモデル:ポリゴン数の最適化とクリーンなトポロジーを指定します
- アニメーションですぐに使えるモデル:キャラクターにはTポーズを指定し、適切なエッジループを求めます
- 3Dプリント:ウォータータイトなメッシュと多様体ジオメトリを求めます
テクスチャの品質
- PBRマテリアル:必要なテクスチャマップ(アルベド、ノーマル、ラフネス、メタリック、AO)を指定します
- 解像度:用途に合わせてテクスチャ解像度(1K、2K、4K)を指定します
- タイリング可能なテクスチャ:繰り返し使う表面には、継ぎ目のないタイリング可能なテクスチャを求めます
3D生成のプロンプトのヒント
3Dモデルを作成するときは、プロンプトに次の情報を含めます。
- オブジェクトの説明:どのようなオブジェクトか。種類やスタイルを具体的に指定します
- 素材:オブジェクトはどのような素材で構成されているか(金属、木材、プラスチック、布地)
- 表面仕上げ:マット、光沢、ブラシ仕上げ、経年劣化など
- スタイル:リアル、スタイライズ、ローポリ、カートゥーン、フォトリアル
- 用途:ゲームアセット、製品のビジュアライゼーション、AR、3Dプリント
- 技術仕様:必要に応じてポリゴン数やテクスチャ解像度
プロンプトの構成例
"Create a 3D model of [object description] with [materials/colors].
Style: [realistic/stylized/low-poly].
Use case: [game/AR/visualization/printing].
[Additional requirements like texture maps, polygon count, etc.]"
モードの選択
生成を始める前に、ユーザーに尋ねます。
「高速で低コストな生成と、高品質な生成のどちらを希望しますか?」
| モード | 最適な用途 | 速度 | 品質 |
|---|---|---|---|
max | 最終的な本番用アセット、主役となるモデル、製品画像 | 遅め | 最高 |
eco | 手早いプロトタイプ、コンセプトの検討、大量生成 | 速め | 良好 |
複数ターンでの3Dモデルの反復
3Dモデルを反復するには、session_idを使用します。
# Initial model
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a 3D model of a fantasy sword with dragon motifs"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "sword-project-001"
}'
# Iterate based on feedback
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Add more intricate engravings on the blade and make the dragon head on the hilt more prominent"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "sword-project-001"
}'
# Request variations
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create 2 more variations: one with ice theme and one with fire theme"}],
"model": "eachsense/beta",
"stream": true,
"session_id": "sword-project-001"
}'
アセットの一括生成
プロジェクト用に複数の3Dアセットを生成します。
# Asset 1 - Props
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a 3D model of a medieval wooden tavern table with benches"}],
"model": "eachsense/beta",
"stream": true,
"mode": "eco",
"session_id": "medieval-tavern-pack"
}'
# Asset 2 - Environment piece
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create a 3D model of a stone fireplace with crackling fire effect placeholder"}],
"model": "eachsense/beta",
"stream": true,
"mode": "eco",
"session_id": "medieval-tavern-pack"
}'
# Asset 3 - Decorative
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
-H "Content-Type: application/json" \
-H "X-API-Key: $EACHLABS_API_KEY" \
-H "Accept: text/event-stream" \
-d '{
"messages": [{"role": "user", "content": "Create 3D models of tavern decorations: hanging lantern, wall-mounted deer head, and wooden mug"}],
"model": "eachsense/beta",
"stream": true,
"mode": "eco",
"session_id": "medieval-tavern-pack"
}'
エラー処理
| エラー | 原因 | 解決策 |
|---|---|---|
Failed to create prediction: HTTP 422 | 残高不足 | eachlabs.ai でチャージしてください |
| コンテンツポリシー違反 | 禁止されているコンテンツ | コンテンツポリシーに準拠するようプロンプトを調整してください |
| タイムアウト | 複雑な生成 | クライアントのタイムアウトを最低10分に設定してください |
| 無効な画像 URL | 画像にアクセスできない | 画像 URL が一般公開されていることを確認してください |
関連スキル
each-sense- コア API ドキュメントproduct-photo-generation- 商品写真の撮影とビジュアライゼーションimage-generation- 参照画像用の2D画像生成
コメント
Markdown 対応