question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Is there an equivalent of springBoneManager.setCenter from three-vrm v0.6 in the latest version?

See original GitHub issue

In v0.6 of three.vrm, there is the springBoneManager.setCenter function which allows offseting the spring bones center. This is useful in my case when I have to do something like

springBoneManager.setCenter(vrm_mesh)

to prevent the spring bones from jumping crazy (I don’t know what causes the crazy spring movements. Maybe it’s because vrm_mesh is far away from (0,0,0), or maybe it’s because vrm_mesh is scaled).

However, in v1.0 of three-vrm, this function is gone and I can’t find an equivalent.

Issue Analytics

  • State:open
  • Created 10 months ago
  • Comments:15 (10 by maintainers)

github_iconTop GitHub Comments

2reactions
ButzYungcommented, Dec 14, 2022

I have tested with your latest v1.0.7-alpha.0 with mesh scaled up.

  • If I don’t do anything extra (i.e. no .setCenter() .reset() .setInitState()), the spring motion is like the opposite of v1.0.5 (which is very fast). Now it’s like 10 times slower than usual as if the character is moving in space with very low gravity.
  • If I add .setCenter(), everything looks normal again (i.e. no need for .reset() and .setInitState(), and that’s an improvement).

Talking about the colliding behavior, I wonder if I have a misunderstanding of how it works, or there may actually be something wrong with the current implementation in v1.0…? I have tried your three-vrm example.

https://pixiv.github.io/three-vrm/packages/three-vrm/examples/humanoidAnimation/index.html

with the Alicia VRM model

https://3d.nicovideo.jp/works/td32797

and dance motion from Mixamo such as this one

https://www.mixamo.com/#/?page=1&query=Capoeira

When Alicia dances, her legs pass through her skirt with no physical interaction, as if the skirt colliders don’t exist. Is it supposed to be like that? I tried v0.6 in my own project with other motions, and the colliding behavior was visible (still far from perfect as legs passing through skirts still occur, but at least the colliding interaction is more noticable).

1reaction
ButzYungcommented, Dec 13, 2022

I change the scale of the mesh right after the model is loaded, and it basically never changes again afterwards. Changing the scale before or after adding the model to three.scene, and where .setInitState()/.setCenter() is placed doesn’t seem to make any difference. I think I should give up fixing it on my app side and simply wait for your fix on the new PR lol

Read more comments on GitHub >

github_iconTop Results From Across the Web

Issues · pixiv/three-vrm - GitHub
Is there an equivalent of springBoneManager.setCenter from three-vrm v0.6 in the latest version? ... ProTip! Exclude everything labeled bug with -label:bug.
Read more >
Pixiv Three-Vrm Issues - IssueHint
Is there an equivalent of springBoneManager.setCenter from three-vrm v0.6 in the latest version? open, 13, 2022-11-19, 2022-12-20.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found