three.js: EmissiveMap texture error when using the MMDAnimationHelper and MMDLoader (maybe is texture error
Describe the bug Same question at #23190

But If I turn off the pointLight and only open the ambient light it can display the emissiveMap silghtly

I found some solutions ways like https://zhuanlan.zhihu.com/p/350136476 and https://blog.csdn.net/qq_34272760/article/details/120530944 Then I follow their ways found this
//try to type this in console to find that emissiveMap
test.mesh.material[9].uniforms.emissiveMap
Surprisingly found this
So I thought that might be the texture error when parse the PMX file
then I
test.mesh.material[9].uniforms.emissiveMap = test.mesh.material[9].uniforms.emissiveMap
nothing helped
To Reproduce
Steps to reproduce the behavior:
- Go to download https://drive.google.com/drive/folders/1XkZkIqJa8zMwbunGL4XFAmNvDY_JZzcG?usp=sharing
- Drag the package which named three.js-r139 into the folder MMDLoaderTest
- Open VSCode and switch to test.html
- Click right button select “Open with Live Server”
- Drag canvas to back of the character to see the problem
Code
//use this function in console to play and pause the motion
PlayPause()
Expected behavior I hope this can displayed rightly
Platform:
- Device: [Desktop]
- OS: [Windows11]
- Browser: [Chrome 99.0.4844.84]
- Three.js version: [r139]
- IDE: [VSCode]
- VSCodeExtension: [Live Server]
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 19
OK, figured out the root issue.
shininessparameter is not handled properly. I will make a PR hopefully tomorrow.@takahirox Thanks! It works very well! I test it yesterday and didn’t found any black shadow.
I see you only merge the change to the jsm folder but js folder in example. However I am not use module. So I just copy your change to modify mmd loader in js folder. It still works! Thanks!
Screenshot_20220414_090936_com.tencent.mobileqq.jpg