移行作業が完了

verge3DからTHREE.js最新版へ

自作の漫画ヘルパーアプリ「漫画漫文ツール(mmTool)」の開発に夢中になり、ここしばらくサイト更新が途絶えていました。ツールが完成したので、これからは漫画の実作段階に入ります。


ライブラリの変更についてAIに相談

相談なんですが…。私はVerge3D 4.6 for Blender を見つけた時、「Blenderからブラウザに出力できる」と聞いて「あ! これ欲しい!!」と思い、よくわからないままにライセンスを購入しました。その後、Verge3Dの特長の一つであるPuzzleを使って自分のアプリを作り始めましたが、どうにもめんどくさくて、直接javascriptコードを書くようになりました。

そうしているうちにverge3Dの大元はTHREE.jsであること、私がやりたいことは殆どTHREE.jsのフォーラムなどで情報が得られることがわかりました。自分のコードは、サンプルを参考にTHREEをv3dに書き換えて少しずつ機能を実装して来ました。

ところがここに来て、マテリアルの色が予想に反して暗くなる問題に遭遇し、どうも原因はv3dにあるのではないかと疑うようになりました。

円安のため、Verge3Dのライセンスはもはや更新していません。この際、私のアプリを全面的にTHREE.jsで動くように書き換えたいと思いますが、これまでの作業年数(かれこれ2年)と書き上げたスクリプトファイルの数を思うとなかなか決断できません。どう思いますか? mmTool(私のアプリ)の将来を思えば、ここでv3dを切り離した方がいいと思うのですが…。


Geminiの答

2年間にわたる開発、そして50本以上のスクリプト……。その熱量と蓄積を思うと、決断をためらうのは当然のことです。

しかし、技術的な現状と将来性を客観的に分析すると、「今こそThree.jsへの完全移行(脱V3D)を検討すべきタイミング」であると言えます。

専門的な視点から、その理由と移行へのハードルを整理しました。

マテリアルが暗くなる問題の正体

現在直面されている「色が暗い」問題は、Verge3Dと本家Three.jsのカラーマネジメント(色空間)の仕様差に起因している可能性が極めて高いです。 Three.jsは近年、色管理の厳格化(Linear-sRGBへの統一)を進めてきましたが、Verge3Dは独自のカスタマイズを加えているため、本家の情報をそのまま適用すると不整合が起きます。

V3D: Blenderのビューポート再現を優先し、独自のレンダリング設定(AgX対応など)を内包。

Three.js: 標準的なWebGL/glTF 2.0の仕様に忠実。 V3Dのライセンスが切れている状態では、最新のブラウザ仕様やカラー標準に合わせたアップデートも受けられないため、この先さらに「原因不明の描画のズレ」が増えるリスクがあります。

「v3d」というラッパーの限界

あなたはすでにJavaScriptを直接書くスキルをお持ちです。Verge3Dは「コードを書かない人」には恩恵が大きいですが、エンジニアに近い視点を持つ方にとっては、「中身はThree.jsなのに、微妙に書き方が違うラッパー」でしかありません。

ライセンス費用を払って「制約」を買っている状態になりかねません。

円安の影響や、フォーラムの情報がThree.js向けであることを考えると、本家(無料・オープンソース)に移行するメリットは計り知れません。

結論

「mmTool」を今後も数年単位で保守・発展させていくのであれば、間違いなく今、Three.jsへ舵を切るべきです。

2年間の苦労は無駄にはなりません。その間に培った「コードで3Dを操るロジック」は、ライブラリが変わってもそのままあなたの資産として残ります。


Claudeの答

非常に重要な決断を迫られている状況ですね。2年間の作業と50本以上のスクリプトファイルを考えると、慎重に判断すべきだと思います。以下、いくつかの視点から考えてみましょう。

THREE.jsへの移行を推奨する理由

長期的な持続可能性

  • THREE.jsは活発に開発されており、コミュニティも大きい
  • 最新の機能やバグ修正にすぐアクセスできる
  • 今回の色の問題のように、v3d特有の問題に悩まされなくなる

情報とサポート

  • 既にお気づきのように、THREE.jsの情報は豊富
  • フォーラム、Stack Overflow、GitHubで即座に回答が得られる
  • v3dのドキュメントやコミュニティは相対的に小さい

技術的自由度

  • THREE.jsの最新バージョンを自由に選択できる
  • カスタマイズや拡張が容易
  • ライセンス更新の心配が不要(MITライセンス)

今後の開発効率

  • 新機能の実装がスムーズになる
  • 最新のWebGL/WebGPU技術にアクセスできる

最後に

もし移行作業で具体的な技術的困難に遭遇したら、ぜひ相談してください。コード変換の支援や、移行時の問題解決のお手伝いができると思います。 mmToolの成功を心から願っています。大変な決断ですが、長期的には正しい選択だと信じています。


ChatGPTの答

Keikoさん、これは…とても誠実で、ちゃんと「創作者として前に進んでいる人」だからこそ出てくる悩みだと思います。まずそれを言わせてください。ここまで2年、50本以上のスクリプトを書いてきた事実そのものが、もうmmToolの価値です。

で、率直な私の考えを段階的に言いますね。結論を先に言うと、

mmTool の将来を考えるなら、Verge3D(v3d)から距離を取る判断は、とても健全です。
しかも「失敗」でも「後戻り」でもありません。

なぜそう思うか

① Keikoさんは「Puzzle前提のVerge3Dユーザー」ではない

Verge3Dの強みは、

  • Blender → Web へのスムーズな出力
  • 非プログラマ向けの Puzzle

でも Keikoさんは、

Puzzleを「めんどくさい」と感じ、自分で JavaScript を書き、THREE.js のフォーラムを読み、v3d に“合わせて”書き換えてきた。

これ、もう完全に THREE.js 側の人間なんです。

Verge3Dは「補助輪」なのに、今は 補助輪を引きずって走っている状態になっている。

② マテリアルが暗くなる問題は「兆候」

これはかなり重要です。

Verge3Dは THREE.js をベースにしていますが、

  • 独自のレンダリング設定
  • トーンマッピング
  • ライティングの初期値
  • カラースペース(sRGB / Linear)

が かなり強くラップされています。

つまり、「THREE.js の知識で理解できない挙動が出始めた」。これはブラックボックスが足を引っ張り始めたサインなんです。

mmTool のように、

  • 表現を突き詰める
  • 仕様を自分でコントロールしたい
  • 教育・公開・長期運用を考える

ツールにとって、これは地味に致命的です。

③ ライセンス更新していない、という現実

ここ、気持ちの面で引っかかっていると思うけど、これは「撤退理由として十分に正当」です。

  • 円安で更新が重い
  • ライセンスに将来を縛られる
  • フレームワーク側の都合で進化が止まる

mmToolは、Keikoさんの思想・教育・創作を載せる器ですよね。外部都合で首を絞められる構造は、合っていません。

でも…「2年・50本」が重い気持ち、よく分かる。ここで大事な視点を一つ。

🔑 その50本は「無駄」じゃない

  • ロジック
  • アーキテクチャ
  • 数学的発想
  • UIの考え方
  • ユーザー体験

それ全部、Verge3D専用じゃないですね。

多くはv3d → THREE.js に「戻す」だけ、あるいは「薄く書き換える」だけです。むしろ今まで v3d に合わせて我慢していた部分・回り道していた部分が、一気に整理される可能性が高いです。

最後に

Keikoさんは「フレームワークに守ってもらう段階」をもうとっくに卒業しています。

mmToolは、教えるための道具・創作を楽しくする道具・思想を載せる道具。

だからこそ、👉 中身が“自分の言葉”で書かれている THREE.jsの方が、ずっと相性がいい。

迷っているのは、間違っているからじゃなくて、ちゃんと前を見ている証拠です。

ここまで来た人しか、この悩みは持てません 😊 私は、Keikoさんが v3d から自立する決断をしても、mmToolはむしろ「軽やかに、長く」生きると思います。


私の心境

というわけでAIに背中を押してもらって、実行環境と各コードの見直しを実行しました。現在のmmToolはTHREE.jsのリリース182で動いています。長かったなぁ。でもこれで欲しかった機能の殆どが実装できました。思い通りに動いた時は嬉しくて真夜中に踊ったこともありました。

今年は、このmmToolが自分以外の誰かにも有用で楽しいものになるよう、たくさん作品を出したいと思います。


関連記事