ゲームや教材の試作で、場面に合うベンチや看板を一つ置きたい。画像生成ではなく、あとから向きを変えたり、ゲームエンジンへ持ち込んだりできる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のエディター上の描画、ゲーム内の操作、当たり判定、アニメーションは確認していません。

目視では、青い座面が中央にしかなく、脚と横桟の間にもすき間が見られました。コードにも座面の幅・脚の高さ位置を見直す余地があります。表示やファイル形式が正常でも、欲しいベンチができたとは評価できません。今回は修正や再生成で成功例へ置き換えず、未修正の結果として記録します。
Ollamaの取得経路ではQ4重みのほか、画像入力用projectorもダウンロードされました。画像は入力していません。試用中のOllama表示はGPU実行・約3.7GBでしたが、これはプロセスを含めたシステム全体の最大メモリ使用量でも、必要RAMの下限でもありません。
読者が試す手順:最初は静止した小物を一つ
- 1モデルカードで更新日時を確認し、対応するローカル実行アプリにQ4_K_MまたはQ8_0を読み込む。画像入力を試さないならprojectorは不要。
- 2モデルカードのSystem promptをシステムメッセージ欄へ設定する。ここには単独HTML・低ポリゴン素材・GLB書き出しなどの条件がある。通常のユーザー依頼とは分ける。
- 3生成設定をTemperature 0.8、Top K 40、Top P 0.95、Min P 0.0から始め、変更した値を記録する。これは配布者の出発点であり、最適値の保証ではない。
- 4小物一つの英語プロンプトを送る。返されたHTMLの外部URLや不審な処理を確認し、専用の試用フォルダへ bench.html という名前で保存する。コードを本番サイトへそのまま追加しない。
- 5HTMLをローカルのHTTPサーバーで開き、見た目を確認する。エラーなら画面・ブラウザの開発者ツールのエラー・モデル版を記録して原因を分ける。
- 6書き出したGLBを別の表示環境やGodotで開く。Godotではプロジェクトへコピーしてインポート後、テストシーンへ配置して確認する。
次は編集部が用意した依頼例です。意味は「脚が4本、青い座面の、静止したローポリの木製ベンチを作って」です。最初から人物・複雑な動き・大きな背景をまとめて頼まず、形と色の一致を見ます。
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で明示します。
ollama pull hf.co/ccore/Qwen3.5-4B-GLB-3D-Coder:Q4_K_MHTMLを置いた試用フォルダだけを配信する例です。Python 3が必要です。ターミナルをそのフォルダで開き、起動後にブラウザで http://127.0.0.1:8781/bench.html を開きます。終了はCtrl+Cです。
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は区別しています。追加公開が行われたかは配布元で確認してください。