I 'm confused about the sharedPhysics attribute in the MMDAnimationHelper.
I know sharedPhysics is an experimental feature, but when I loaded five models in threejs and turned physics on all of them, the framerate performance was terrible.
I noticed sharedPhysics, and I guess it works by being able to make multiple Models share a physics effect . I have tried a lot of methods to enable it .
One of the problems encountered is that the SkinnedMesh loaded with mmdloader does not have the physics attribute, and _getMasterPhysics calls it.
I don’t know the full details yet, but there is no case demonstration on the Internet showed how to use sharedPhysics.Even though it’s an experimental feature, I want to know how to use it in the official documentation, thanks!
I feel like I missed something. I have use MMDAnimationHelper for 10 months and I never have heard about “sharedPhysics”. I just enter in threejs site (here) and search for it but there is nothing. Is this something new?
please look at the source code of MMDAnimationHelper :three.js/MMDAnimationHelper.js at c56c8c1ff3be346ea4394da8b8d2fe9353cb5f97 · mrdoob/three.js · GitHub
Now I understand why I’ve never heard of this. you looked inside the raw code. Honestly I don’t know how help in this case.
the only thing I can think of is that you ask the creator directly which I believe is this guy takahirox
and suggest that one way to greatly reduce drawcalls (to increse framerate performance) in models is to reduce their number of materials. (pmd or pmx models usually have more than 20 materials and that impacts performance). You could try to have 4 or less materials (you can join materials in pmx editor) and warp the uv to adapt it.
The other thing I can suggest is reduce the number of physics and disable “2-slide” on some materials that don’t need them. Sorry I wish I had a better answer.
I am really happy to here these suggestions from you😇. These are valuable to me, I will try it,thanks~