ふくふくHukuhuku LLC
EP.112Toolbox 12分公開:

GLB-3D-Coder:小型ローカルLLMでゲーム素材を作る。Godotへ渡すまでの確認点

4BのローカルLLMがThree.jsコードを書き、3D素材をGLBへ。11月2日の更新、必要な環境、Macでの試用、表示・書き出し・Godot取り込みを分けた評価方法を解説します。

#ローカルLLM#3D生成#Godot#GGUF
執筆 / 監修
松尾 亮合同会社ふくふく 代表社員

データ基盤・データパイプライン構築 / BI / 生成 AI 活用支援を専門とするエンジニア (28 年)。 本記事は AI 利用ポリシーに基づき、生成 AI の補助で執筆 → 人間が監修・編集して公開しています。

プロフィール詳細
シェア

ゲームや教材の試作で、場面に合うベンチや看板を一つ置きたい。画像生成ではなく、あとから向きを変えたり、ゲームエンジンへ持ち込んだりできる3D素材が欲しい。そんな作業の候補が、個人開発者CCOREによる「Qwen3.5-4B-GLB-3D-Coder」です。小型の言語モデルが3Dを組み立てるコードを書き、GLBというファイルへ書き出す流れを採ります。

最初に:完成品を保証するモデルではありません

学習途中のプレビューです。Qwen公式の新モデルではなく、Qwen3.5-4Bを基にした独立開発です。英語での依頼が推奨され、再生成やコード修正が必要になる場合があります。「生成できた」「ブラウザに表示できた」「GLBを書き出せた」「Godotで使えた」を別々に確かめましょう。

何が新しい? 11月2日にQ4・Q8のチェックポイントを更新

配布者のモデルカードと公開履歴を照合すると、初期のQ4・Q8重み追加は2026年11月1日22:33:11 UTC、更新版の追加は11月2日04:50:52 UTCです。日本時間では、それぞれ11月2日7:33と13:50に当たります。この記事は11月3日に更新版を試用し、11月4日に配布状況を再確認しています。Redditで見つけた時刻をモデルの公開時刻とは扱っていません。

今回の重要な差分は、Q4_K_MとQ8_0の配布重みが差し替わったことです。名前が同じでも、以前にダウンロードしたファイルは旧版の可能性があります。再取得する場合は自分の試用記録を残し、配布ページの履歴やハッシュと照合してください。配布者の品質改善という説明は、編集部が旧版と比較して実証した結果ではありません。

文章から3Dへ。言語モデルが作るのは、まずコード

この方式では、言語モデルが直接GLBのバイナリを出力するわけではありません。HTMLとJavaScriptを生成し、そのコードがThree.jsで立体を組み立てます。Three.jsはブラウザで3Dを描画するためのライブラリです。生成された画面に書き出しボタンを設け、そこから素材を取り出します。

段階得られるもの確認すること
① 英語で形・色・用途を依頼モデルへの入力文寸法、静止か動くか、不要な背景を明示
② ローカルLLMがコードを生成HTML / JavaScript途中で切れていないか、読み込む外部URLは何か
③ ブラウザで実行3Dのプレビュー画面形と材質が意図どおりか
④ 書き出しGLBファイル開けるか、余分な床やカメラを含まないか
⑤ Godotに取り込みゲーム内に配置するシーン大きさ、向き、アニメーション、当たり判定

Three.jsのGLTFExporterは、形状、材質、アニメーションなどをglTF形式へ出力する機能です。GLBはそのバイナリ形式。Godotの公式資料もglTF 2.0を推奨し、.glbの読み込みに対応しています。

ここで運ぶのは3Dの素材です。Three.jsのゲームコード全体がGodotのプログラムへ変換されるわけではありません。たとえばブラウザ上でJavaScriptが毎フレーム物体を動かしていても、その処理がGLBのアニメーションとして保存されるとは限りません。書き出し後に、別の環境で再生して確認する必要があります。

どんな仕事で試す価値があるか

最初の用途としては、完成版ゲームの主役よりも、企画段階の小物や研修教材の仮素材が扱いやすいでしょう。倉庫の安全教育なら棚と荷物、店舗の操作説明ならカウンター、プログラミング教材なら簡単な建物、といった候補です。これは編集部の用途提案であり、制作時間の短縮を実測したものではありません。

依頼のたびに部品の寸法や色を変え、出力コードで形の作り方を読み取れる点も学習に向きます。ただし、安全設備や実物製品の寸法を正確に再現する用途では、正式な設計図や専門家の確認が必要です。見栄えのよい立体と、工学的に正しい立体は別です。

配布ページには、生成素材を使ったNaoki Kishida氏の公開RPGデモも紹介されています。素材をアプリに組み込む方向の利用例として参考になりますが、特定のデモが動くことだけで、任意の依頼の成功率やGodotへの互換性までは判断できません。

導入条件:2.71GBのファイルと、必要なメモリは別

項目2026年11月3日に確認した内容
モデル配布GGUFのQ4_K_MとQ8_0。量子化は重みの表現を小さくする方法
ファイル容量Q4_K_M:約2.71GB、Q8_0:約4.48GB。10進GBで表記
画像入力用の追加ファイル約676MBのprojector。テキストだけなら不要。画像入力は対応ランタイムが必要
言語配布者は英語の依頼を推奨。日本語の同等品質は未検証
OSモデル自体はGGUF。使用アプリ・GPU・OSによって対応が変わる。各環境の動作保証ではない
費用公開重みをダウンロードして使う方式。モデルの推論API契約は不要だが、通信・電力・PCは必要
ライセンス配布リポジトリはApache-2.0。素材の商標・著作物への類似などは個別に確認

容量は配布ファイル一覧を確認した値です。Q4ファイルが約2.71GBだから、空きメモリが同じ量あれば動くという意味ではありません。モデルの読み込み、長いコードの生成、ブラウザの3D描画などに追加のメモリが必要です。Q8を選べば必ず良い素材になる、という比較も行っていません。

ローカルLLMとしての利点は、対応環境で生成処理を手元に置けることです。ただし、生成したHTMLがCDNからThree.jsを読み込むなら、表示時には外部通信が発生します。「推論がローカル」と「制作工程のすべてがオフライン」は分けて考えます。

Macでの試用:結果を工程ごとに確認する

Apple M2 Ultra・メモリ192GBのMacで、Q4_K_MをOllamaサーバー0.40.11から実行しました。モデルカードのシステム指示と推奨サンプリング値を使い、文脈長16,384、出力上限8,192、seed 42、think falseを指定。下に掲載したベンチの英語依頼を1回だけ送りました。生成完了までの実測は約67.6秒(ダウンロードを除く)で、終了理由はstop、出力トークン数は6,743でした。このPC・この1試行の結果であり、一般的な所要時間や成功率ではありません。

生成されたHTML部分を取り出して保存し、コード本体は修正せず表示しました。GLBのダウンロードにも成功し、ファイルは15,788バイト、glTF 2.0形式でメッシュ定義9個を確認しました。Godot 4.6.3のGLTFDocumentを使ったヘッドレス読み込みもエラーなしでシーンを生成できました。Godotのエディター上の描画、ゲーム内の操作、当たり判定、アニメーションは確認していません。

未修正の生成結果。青い座面が中央に偏り、木の横桟と脚の間にすき間が見えるベンチ
編集部の1回の生成結果。HTMLの表示とGLB書き出しは成功したが、形状は採用できる品質に達していない。

目視では、青い座面が中央にしかなく、脚と横桟の間にもすき間が見られました。コードにも座面の幅・脚の高さ位置を見直す余地があります。表示やファイル形式が正常でも、欲しいベンチができたとは評価できません。今回は修正や再生成で成功例へ置き換えず、未修正の結果として記録します。

Ollamaの取得経路ではQ4重みのほか、画像入力用projectorもダウンロードされました。画像は入力していません。試用中のOllama表示はGPU実行・約3.7GBでしたが、これはプロセスを含めたシステム全体の最大メモリ使用量でも、必要RAMの下限でもありません。

読者が試す手順:最初は静止した小物を一つ

  1. 1モデルカードで更新日時を確認し、対応するローカル実行アプリにQ4_K_MまたはQ8_0を読み込む。画像入力を試さないならprojectorは不要。
  2. 2モデルカードのSystem promptをシステムメッセージ欄へ設定する。ここには単独HTML・低ポリゴン素材・GLB書き出しなどの条件がある。通常のユーザー依頼とは分ける。
  3. 3生成設定をTemperature 0.8、Top K 40、Top P 0.95、Min P 0.0から始め、変更した値を記録する。これは配布者の出発点であり、最適値の保証ではない。
  4. 4小物一つの英語プロンプトを送る。返されたHTMLの外部URLや不審な処理を確認し、専用の試用フォルダへ bench.html という名前で保存する。コードを本番サイトへそのまま追加しない。
  5. 5HTMLをローカルのHTTPサーバーで開き、見た目を確認する。エラーなら画面・ブラウザの開発者ツールのエラー・モデル版を記録して原因を分ける。
  6. 6書き出したGLBを別の表示環境やGodotで開く。Godotではプロジェクトへコピーしてインポート後、テストシーンへ配置して確認する。

次は編集部が用意した依頼例です。意味は「脚が4本、青い座面の、静止したローポリの木製ベンチを作って」です。最初から人物・複雑な動き・大きな背景をまとめて頼まず、形と色の一致を見ます。

Text
Create a low-poly wooden bench with four legs and a blue seat. Make it static.

Ollamaを既に使っている場合、次のコマンドで配布モデルを取得できます。対応するOllama版が必要です。Ollamaの取得では画像入力用projectorも自動取得される場合があり、本試用でも追加ダウンロードを確認しました。取得だけではモデルカードのSystem promptや生成設定がすべて適用されたことにはなりません。アプリ側で設定するか、OllamaのModelfileやChat APIで明示します。

Bash
ollama pull hf.co/ccore/Qwen3.5-4B-GLB-3D-Coder:Q4_K_M

HTMLを置いた試用フォルダだけを配信する例です。Python 3が必要です。ターミナルをそのフォルダで開き、起動後にブラウザで http://127.0.0.1:8781/bench.html を開きます。終了はCtrl+Cです。

Bash
python3 -m http.server 8781 --bind 127.0.0.1

うまくいかないときは、モデル・表示・書き出しを切り分ける

症状先に確認する点
コードが途中で終わる出力上限や文脈長。HTMLの末尾まで出力されたか
画面が真っ白JavaScriptの構文エラー、Three.jsの読み込み、importのパス、WebGL
表示できるのに書き出せないGLTFExporterの読み込みと呼び出し、GLB用のbinary設定。エラーを消すだけで済ませない
GLBに余計なものがある書き出し対象のグループ。プレビュー用の床・カメラなどを含めていないか
Godotで色や動きが違う材質・拡張の対応、アニメーションが本当に保存されているか
ゲームが重い/通り抜ける面数や材質の数、物理用の当たり判定。低ポリ風の見た目だけで判断しない

Redditの公開議論でも、余分な頂点への懸念、Three.jsとGodotの関係、生成結果が表示されないという体験談が出ています。個々の環境や依頼条件が揃った比較実験ではないため、投稿中の成功率・失敗率を製品全体の数字として扱いません。

最終的には、生成時間だけでなく、コード修正、GLBの確認、ゲーム側の調整まで含めて評価します。既製の素材を探す方法や、簡単な形を手で作る方法より早くなるかを、同じ小物で比べてみてください。

GLB素材の試用記録シート(TXT)を用意しました。空欄へモデル版・入力・生成・表示・書き出し・取り込みの結果を分けて記入できます。成功例だけを残さず、修正にかかった時間も残すための教材です。

試用日:2026年11月3日JST、Godot読み込み・配布状況の再確認:11月4日JST。試用時のモデルカードはrevision 541152f42ceb889252554ad6d569f7142e3ed5c3、最終確認は38bfa7450151002fe163c94de069c540f905f532です。Q4・Q8の重みのSHA256は両時点で一致しています。学習データや完全な重みの今後の公開予定と、現在取得できるGGUFは区別しています。追加公開が行われたかは配布元で確認してください。

よくある質問

Qwen公式の新モデルですか?
いいえ。CCOREがQwen3.5-4Bを基に独立開発した学習途中のプレビューです。
日本語だけで使えますか?
配布者は英語の依頼を推奨しています。本記事では日本語の生成品質を検証していません。まず短い英語で静止した小物から試す方法を紹介しています。
GLBを出力すればゲームが完成しますか?
GLBは3D素材を運ぶファイルです。ゲームの操作、当たり判定、シナリオなどは別に実装・確認します。
2.71GBの空きメモリで動きますか?
2.71GBはQ4の配布ファイル容量であり、必要メモリではありません。実行アプリ、文脈長、描画処理などにも追加のメモリが必要です。
シェア

この記事の感想を教えてください

あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。

シリーズの外も探す:

まずは、現状を聞かせてください。

要件が固まっていなくて大丈夫です。現状診断と方針提案までを無料でお手伝いします。

無料相談フォームへ hello [at] hukuhuku [dot] co [dot] jp