せっかちな人へ
r133でリファクタリングが行われているのでMMDToonShader.jsが最新の場合はThree.jsのバージョンをr133以上にしましょう。
何がしたいの?
MMD動画を見ていたら、唐突に自作ゲーム(Electron+Three.js)のキャラモデルにMMDを使用可能にしたくなりました。1
唐突なシェーダーエラー
他のどんなサイトでもこの方法でうまく行っているのに、なぜかシェーダーエラーが出ます。
no matching overloaded function not found
と言っているので言いたいことはわかります。
が、シェーダーの知識は全くないので修正することができません。オワタ。
Google先生お願いします
BRDF_BlinnPhongでぐぐると、Three.jsの変更点についてまとめているサイトがありました。
BRDF_BlinnPhongの引数が変わっている…?
reflectedLight.directSpecular += irradiance * BRDF_BlinnPhong( directLight.direction, geometry.viewDir, geometry.normal, material.specularColor, material.specularShininess ) * material.specularStrength;
使っている心当たりしかありません。
なにやらr133でBRDF_BlinnPhongの引数のリファクタリングが行われたようです。
それと、このコミットにはMMDToonShader.jsのアップデートも含まれているようです。
MMDToonShader.jsをダウンロードしたのは数時間前のことなので、こちらのアップデートは不要だ、と判断したのですがThree.jsのアップデートはしたような記憶がありません。
アップデートって重要
差し替えたところ動きました。
アップデートは様子を見て…と言いつつ結局アップデートするのがかなり遅くなる派の私ですが、ライブラリのアップデートは積極的にしていこうと思いました。まる。
ご覧いただきありがとうございました。良きThree.js+MMDライフを。