Why some parts of my model shake like crazy, even while in static? What can I do to stop my skirt from fluttering? How can I fix fluttering parts?
When the “better” physics turns to do worse
Ninth generation of MikuMikuDance releases, along with new possibilities, also brought new problems. Newest versions’ physics engine, far superior compared to its predecessors, also may reveal certain glitches and negligences in existing models’ rigging that did not matter to previous versions. Sometimes, when you try to apply pose or motion files to a model, its physic-imbued parts start to flutter uncontrollably, providing you with pantsu shots when you least ask for it. It may be speculated, that the engine perceives the loading of such a file as a sharp and global movement of the whole model – haven’t you seen model’s hair and skirt wave realistically when you simply move it around? Usually models recover from such a shock to the system in a second or two, but some of them, due to said rigging deficiencies, fall into the self-sustaining positive feedback loop. So far (up to 9.22 version) this issue hasn’t been resolved yet. Perhaps editing such models in PMDE/PMXE could iron out glitches that lead to this behavior… sadly, the collective mind of LearnMMD does not possess necessarily knowledge yet. Fortunately, the problem still can be solved in other ways.
Plan A: Mostly harmless
The simplest method of all is to reset the physics engine entirely. Select Menu->physical operation (P)->no calculation(N) and then Menu->physical operation (P)->on/off mode(O) again (or whatever mode was selected before that you find appropriate). That should quench physical bones’ chaotic oscillation completely or at least tone it down to ‘natural’ levels. If that is good enough for you, you don’t actually need to read further – your problem is solved. Otherwise, there are other simple methods you can try:
- Save a project and then immediately load it again.
- Turn gravity on and off.
- Set gravity parameters to something mild. 1-2 for acceleration and -0.01 for Y axis are reported to have good effect (this may affect how your models move, though).
- Have two concurring versions of MMD on your computer so that you can do the placing and file applying on the 8.14 version and then switch to 9.22 when you need its abilities (you can’t switch back, though, so be careful).
There’s certain etiquette you must obey while using concurrent versions of MMD, though. While you don’t actually have to have two full MikuMikuDance installations with identical folder structures and copies of all data, remember that you *can’t* have two copies of the program with different names and launch them arbitrarily. MME will not cooperate with you if the program isn’t called exactly “MikuMikuDance.exe”. So, what you need is two subfolders containing “MMD_8.14\MikuMikuDance.exe” and “MMD_9.22\MikuMikuDance.exe” from which you will copy the currently needed version to the master folder, overwriting whatever lies there. Long ago I refused to erase any .exe of MMD I ever downloaded, just in case some incompatibility may arise in future, and in this case, it proved its use.
Plan B: Like A Surgeon
It is possible, though, that nothing of the above produces a satisfying result for you. Sometimes even small fluttering is not what you want to see in your video. In such a case, you have to forcefully paralyze certain nerves in your model’s body. In other words, make some of physical bones – non-physical. Good news is, though, you don’t have to edit the model in PMDE for that. All necessary adjustments can be made directly in your MMD project.
Load a model and inspect a fluttering part that you want to immobilize. From the look on the main screen, you may believe for a moment that there’s no bones that you can affect. This is, of course, wrong. If it moves, it has to have a bone for it. It’s just that in MMD 9.xx, unlike earlier versions, physical bones are made invisible when they aren’t controlled manually. In FMP, though, they are all listed.
Look at the Frame Manipulation Panel. Some of bone groups will be marked by familiar diamonds, but some will be X’s or ‘asterisks’. Unfold one of them. Bones inside will also be marked by X’s (or a mix of X’s and diamonds, if the group was marked by an asterisk). All those X’s are actually physical bones that you can’t see on the main screen. Select one of them, unpress the “Physics” button in the Bone Manipulation Panel (dark blue), and register it. The bone will immediately freeze… at some unnatural angle, most probably, so you will have to press “Reset” and register once again. You may notice that the X in bone’s description in FMP is now replaced with a regular diamond, and the bone becomes visible in the main screen. Sometimes, paralyzing just one bone in a chain may be not enough to stop fluttering (in fact, in a chain that ends with an IK bone, paralyzing one of bones may get others into more wild frenzy) so you may need to paralyze the whole chain.
Please note that the state of “Physics” button does *not* reflect the current state of a selected bone. That is, if you want to edit a second physical bone right after the first, you don’t have to click on “Physics” for the second time. Rather see whether the button is active or not and know that so will be the respective bone after you press “Register”.
Author’s note 22/04/2018: Sometimes it may seem that the advice above only makes things *worse*. In my case, there was a model based on LAT Miku and her tie. In a video where I wanted it unhindered at some scenes and be rather controllable in others (sometimes it moved *too* freely for what I wanted to see there), it suddenly started to flutter madly and wouldn’t stop no matter how thoroughly I disabled its physics (in fact, disabling it would only egg it on even more). I was considering various options of increasingly cruel nature in order to make it stop for good (including completely removing tie’s physics in PMXE) when a solution presented itself – find tie’s IK bone in MMD’s Model Manipulation Panel, switch it to “off” and register. Miraculously, the fluttering ended. More than that, I decided that I *don’t* actually need to switch physics off where I thought it’d be necessary, after all. |
But I can’t see a bone I need in FMP either!
This is obviously a bug in the model, and if so is the case, you *will* have to edit it in PMDE. All bones must be assigned to one or another “group” to be visible in FMP. If some bone is not, you must add it there manually in PMDE’s “Display pane” tab, as described in another article.
But that means that the part won’t be moving at all!
Yes and no. Indeed, a piece of clothing or hair that has its physics turned off will be permanently static unless you move it manually. Good news is, you actually can turn individual bones’ physics on and off any number of times during your project. Simply select some intervals in your video when the part *must* be moving according to physics and enable its bones in FMP for that period alone.
This is it. Hopefully, this knowledge will help you to avoid some inconveniences that the newer MMD might have caused to your videos.
Models used in illustrations: Caroline by Angellbaby, Hiratabashi Station Stage by ejima a.k.a. kamiichiba, Animasa’s Len Kagamine, sonic screwdriver accessory by Maddoktor2, scissors accessory by The-Horrible-Mu.
– SEE BELOW for MORE MMD TUTORIALS…
— — —
– _ — –
Here’s my issue:
when in PMXE, the coat’s physics work just fine, but when i open the model in MMD (9.26 btw), there seems to be some vertices stretching around it like so:
https://sta.sh/0c86hjqn98f
Oh my! Can you upload a copy of the model? I might be able to figure it out by looking at the bodies, but just one super trippy screenshot is leaving me confused.
As Mae said, the screenshot itself doesn’t tell us much… but I’d hazard a guess that the problem here is not about physics, but about rigging. Either some vertices are assigned to wrong bones (highly likely) or some bone chains have discrepancies in them (wouldn’t usually produce *this* sort of image, but can’t be dismissed completely). For the first possibility, make all vertices visible in PMXView window, then press the blue/red icon in the lower toolbar. If you got it right, vertices have to turn black. Then start scanning through the bone list in the main window, checking at the same time which vertices turn red (or various shades of violet; completely blue ones you can ignore) for each one. If you see a red vertex apart from the main host, or otherwise assigned to a bone you feel it ought not to belong to, then that’s your culprit to re-weight.
Figuring out bone disorders may be less intuitive, but there are tools to catch at least some of them. Scan the bone list again, but this time pay attention to red marks appearing in their description. If you see one, inspect that bone’s parent/child or master/slave relationships. Also you can try the File->PMX Info menu command. Pass its output through Google Translate, and see what errors your model may have. See the tutorial for more details.
You may also read some of these articles to better understand what you’re doing.
Differences in behavior in MMD/PMXE is a good thing to notice, if you’re sure that’s the case. I’ve noticed PMXE gives different output than MMD for unnormalized weights and for issues related to deform tier/bone order, so that’s what I’d look at first.
ugh i don’t know why this is happening >.<…
please could you check these two photos.. :(
https://imgur.com/a/6yhXK
https://imgur.com/a/4eS5Q
What’s probably happening is that the necklace has physics set up correctly, but doesn’t have a proper parent for its bone. When physics is running, physics determines the position of the bone, and so it’s in the right place. When physics isn’t running, the necklace is just behaving on the basis of its parent, which isn’t correct, so it isn’t in the right place.
Try finding which bone the necklace is weighted to and setting its parent to your model’s neck bone. That should solve the issue.
hi! So, i tried doing the 1st and 2nd with no luck.
Plz help!!
~_^ By the 2nd, do you mean you tried to disable physical bones? That method *should* work, it’s brute force. Did you hit register on all bones you want to disable after unpressing physics button?
yes i did. And it did not work