0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MMDをThree.jsに読み込んでも、なんかWebGLのシェーダーエラーが出るよ!

Posted at

せっかちな人へ

r133でリファクタリングが行われているのでMMDToonShader.jsが最新の場合はThree.jsのバージョンをr133以上にしましょう。

何がしたいの?

MMD動画を見ていたら、唐突に自作ゲーム(Electron+Three.js)のキャラモデルにMMDを使用可能にしたくなりました。1

唐突なシェーダーエラー

twitter_FThy6MuVIAEHqgM.jpg

他のどんなサイトでもこの方法でうまく行っているのに、なぜかシェーダーエラーが出ます。

no matching overloaded function not foundと言っているので言いたいことはわかります。

が、シェーダーの知識は全くないので修正することができません。オワタ。

Google先生お願いします

BRDF_BlinnPhongでぐぐると、Three.jsの変更点についてまとめているサイトがありました。

スクリーンショット 2022-05-24 23.06.54.png

BRDF_BlinnPhongの引数が変わっている…?

MMDToonShader.js(一部抜粋)
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のアップデートはしたような記憶がありません。

アップデートって重要

差し替えたところ動きました。

アップデートは様子を見て…と言いつつ結局アップデートするのがかなり遅くなる派の私ですが、ライブラリのアップデートは積極的にしていこうと思いました。まる。

スクリーンショット 2022-05-24 23.05.30.png2

ご覧いただきありがとうございました。良きThree.js+MMDライフを。

  1. 私は無駄機能を作ることが大好きです。

  2. 足しか写っていませんが、にがもん式霊夢V01_s05aです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?