Enludus
お問い合わせ

コーディングエージェントに 3D モデリングを学ばせる。毎日 1 体作って、反省を教訓にためる low_polygon

low_polygon は、コーディングエージェントに Blender で 3D モデリングを学ばせるためのリポジトリです。毎日ゲーム向けのモデルを 1 つ作らせ、反省を教訓としてため、最後は 3D モデリングのスキルにまとめるつもりです。

low_polygon は、コーディングエージェントに 3D モデリングを学ばせる ためのリポジトリです。

エージェントは、Blender を Python(bpy)で動かすスクリプトを書いて、毎日ゲーム向けの軽いモデルを 1 つ作ります。作るたびに反省を書き、次にも通用することを教訓としてリポジトリにためていきます。最後は、この教訓を 3D モデリングのスキルにまとめて、エージェントがいつでも使えるようにする のが狙いです。

なので、作業はずっとエージェントにさせています。50 コミットのうち 48 はエージェントの名前です。私は目標と決まりを README に書き、できたものを見て直してほしい所を伝えています。その指摘も、毎日の反省に残っています。

2026-10-14 に 1 日目のりんごを作り、いまは 12 日目の「頭蓋骨」まで進んでいます。

何を目指しているか

作るものの目標は、目標イメージ(夕暮れの霧の谷で、巨人の肋骨の下に村がある絵)の世界を、ゲームで使える 3D で作り上げることです。中心は人型のキャラクターと動物です。

名前は low_polygon ですが、ポリゴンを減らすこと自体は目的にしていません。基準は ゲームで重くならないこと で、小物は 300〜2,000 三角形、デフォルメの動物は 3,000〜15,000 のように予算を決め、輪郭を変えない凹凸はテクスチャで表します。

1 日の流れ

  1. 解剖学か幾何学を 1 つ勉強して、ノートを書く
  2. これまでの教訓(LEARNINGS.md)を全部読む
  3. 参考写真を集め、写真から「実物の特徴」を 5 つ以上書き出す
  4. build.py でモデルを作り、レンダと写真を並べた compare.png で照らし合わせる
  5. 質感を塗り、当たり判定とボーンを入れて glb・fbx に書き出す
  6. その日のモデルが主役の短い動画を作る
  7. 反省を書き、次にも通用するものを教訓に足す

特徴がすべて再現できて、自己採点が 10 点中 8 点以上 なら合格です。作り直しは 1 日 8 回まで。届かなければ、翌日はまず前日の作品を仕上げ直します。

お題の変化

Day もの テーマ 三角形 総合
001 りんご 果物と野菜 724 8.0
002 にんじん 果物と野菜 3,414 8.0
003 なす 果物と野菜 1,664 8.0
004 木の器(金継ぎ) 道具と小物 1,680 8.0
005 吊るす多面体の灯 道具と小物 2,246 8.0
006 苔むした石碑 道具と小物 1,136 8.2
007 ワタリガラス デフォルメ動物 2,190 8.0
008 リス デフォルメ動物 5,570 8.0
009 うさぎ デフォルメ動物 9,064 8.0
010 手 体の部品 7,048 8.0
011 足 体の部品 7,816 7.8 → 8.0
012 頭蓋骨 体の部品 4,882 7.5

りんごは回転体でしたが、手と足は四角形だけのメッシュで、細部を載せたハイポリからノーマルマップを焼いています。手は最初 7.5 点で、11 日目に仕上げ直して 8.0 になりました。足は 7.8 点で止まっていましたが、12 日目に仕上げ直して 8.0 になりました。

りんご・木の器・石碑・ワタリガラス・うさぎ・足の 6 つのレンダを 3 列 2 段に並べた画像
Day001 のりんごから Day011 の足まで(6 日分のレンダ)

反省から出たこと

教訓には番号を付けていて、いまは L117 まであります。

  • 丸いところは必ずスムーズにする(L010)。 りんごの 3 回目で自分が伝えたことです。いまは lp.smooth という関数になっています。
  • 村の尺度は実寸の 5.5 倍(L054)。 動画に木の器を実寸の倍率で入れたら、りんごの半分の豆皿になりました。
  • 字幕の区間は重ねない(L102)。 9 話目で字幕が 1 秒重なって崩れ、37 分の描画をやり直しました。
  • 趾(あしゆび)が指に見えるのは、長い・開いている・先が尖る・爪が大きいとき(L107)。 足の 1 回目は、趾が手の指のように見えました。

共通化したもの

何度も使う処理は lib/ の関数にしています。形の lp.py、塗りの paint.py、当たり判定とボーンの game.py、動画の film.py などです。

たとえば lp.nail_shell は爪を作る関数で、手の爪を何度も作り直したときの失敗が入っています。細部を載せたハイポリに沿わせると皮膚が爪を突き抜ける、面の多角形がそのまま出ると爪のつやがまだらになる、指先の丸みに沿わせると先の真ん中が沈む、幅が一定だと四角いシールに見える。この 4 つを避ける形で、実際に描く面に沿わせた厚みのある殻を作ります。

指を軽く曲げた手のレンダ。5 本の指先に爪が載っている
Day010 の手。爪は lp.nail_shell で作った殻

11 日目には、手の作り方を lp.ring や lp.loft に、肌の塗りを sp.skin_layers に出しました。足の反省には「足の塗りは 3 行で済んだ」と書いてあります。

連続ストーリーの動画

毎日、その日の作品が主役の 6〜12 秒の動画も作っています。「ポリ村だより」という続き物で、何もない草原に毎日ひとつずつ物や生き物がやって来て、村ができていく話です。舞台は北欧神話をもとにした「はかり野」で、巨人の骨の大地という設定です。

STORY.md に「村の地図」があり、一度来た物は次の話でも同じ場所・向き・倍率で置きます。過去の作品は各日の model.blend から読み込みます。描画は 1 フレーム 5 秒ほどかかるので、先に数カットだけ試し描きして、構図やめり込みを確かめます。

1 話目「最初の実り」は、りんごが転がってきて、にんじんが跳ねながら隣に並ぶ 9 秒でした。10 話目「巨人の足」では、石の手の拳にとまっていたワタリガラスが、霧の中に立つ巨大な石の足へ飛び移ります。

10 話「巨人の足」(11 秒)

解剖学ノートとの組み合わせ

勉強ノートは STUDY/ にあり、解剖学が 5 本、幾何学が 4 本です。形を目分量で決めないように、教科書や公的な計測データを根拠にし、原典を見たかどうかも書きます。

足のノート(STUDY/anatomy/005)では、Gray の解剖学(1918 年)でアーチの位置を確かめ、人体計測データ ANSUR II の公開 CSV から足の寸法を集計しました。足幅は足長の 0.376、内側のアーチの頂は足首の真下、という値をそのまま build.py に使っています。

素足のレンダを横から見た画像
Day011 の足を横から

学んだ体の部品は物語にも出てきます。手と足は動画では 12 倍にして花崗岩と苔に差し替え、霧の野に横たわる石の手と、すねの途中で折れて立つ石の足になりました。

夕暮れの霧の野に立つ、苔むした巨大な石の足。手前に石の手、左にワタリガラス
12 倍にして花崗岩と苔に差し替えた石の足(10 話より)

これから

次の Day013 は、まず頭蓋骨を 8 点に仕上げ直します。そのあとは、耳か顔を予定しています。

教訓は L117 までたまりました。同じ失敗を 2 回しないために毎日読み直しているものですが、これがそのまま、エージェントに 3D モデリングを教える材料になります。もう少しお題を重ねて、スキルの形にまとめるつもりです。

更新(2026-10-25)

12 日目の頭蓋骨と、動画の 11 話目が出ました。上の本文の「いまは 11 日目」と「これから」を直しています。

斜め前から見た頭蓋骨のレンダ。額に縫合線があり、下顎が少し開いている
Day012 の頭蓋骨(7.5 点)
  • 頭蓋骨は 7.5 点で、合格には届きませんでした。 8 回の作り直しのうち 4 回を、眼窩(目のくぼみ)の縁にできた黒い裂け目と、暗がりのマスクの修正に使っています。次の日にまず仕上げ直します。三角形は 4,882 です。
  • 形は半径の関数で決めました。 楕円体と超楕円体にこぶを足した式で、資料の値をそのまま半径に書けます。眼窩と鼻の穴は、区画を同心の輪に置き換えて開けていて、輪の頂点は 20 と 14 です(L110)。
  • 縫合線は UV に描きました。 経緯度の UV に、3D の折れ線で指定した縫合線をマスクとして描いています(lib/mask.py、L111)。
  • 根拠の数字は自分で集計しました。 ノート(STUDY/anatomy/006)では、頭蓋の計測データ Howells の 2,524 体を集計し、頭の長さと幅の比(長幅示数)が 75.3 になることを確かめて、build.py に使っています。
  • 足は 8.0 になりました。 脛骨の前縁の稜と腓腹筋、足の裏の黄みと曲げじわを足して、仕上げ直しています。

11 話目「沈んだ頭蓋」では、霧の野の丘だと思っていたものが、半ば土に沈んだ巨人の頭蓋だったという話です。石の足の母趾にとまっていたワタリガラスが飛んで、眉の上にとまります。

11 話「沈んだ頭蓋」(11 秒)