The behavior of Constraints varies depending on the position of the parent.
available in future release
Tukumomi
Constraints behave differently depending on whether they are set directly under the avatar's Root or under the Armature’s Hips. This phenomenon appears to affect only Contacts and PB, not Skinned Meshes or Particles.
Additionally, with both configurations, when using Constraints, the mesh appears fixed in PlayerLocal but jitters in MirrorClone, similar to the behavior seen with Contacts.
①Constraint set directly under the avatar's Root
The Constraint jitters when the avatar is stationary, but stops when the avatar is in motion.
②Constraint set under Armature’s Hips
The Constraint remains stable when the avatar is stationary, but jitters intensely when the avatar is in motion.
Please refer to the reference video below.
The first avatar with the yellow ring is setup ①
ID: avtr_5842db16-81ce-4956-9355-026ba3747b43
The second avatar with the blue ring is setup ②
ID: avtr_b754535b-ebf0-4eb1-a4d1-2d8f86cba7c5
Here are the steps for the gimmick operation:
[Activation] Make a RockNRoll gesture with your right hand and a Gun gesture with your left hand, then touch the Contact on your right wrist with your left index finger.
[Expansion] Make a Point gesture with your right hand and a RockNRoll gesture with your left hand to expand the menu. In this state, it is fixed to the world.
---------------------------------------------------------------------------
[JP]
Constraint は、アバターの Root 直下に設定するか、Armature の Hips 配下に設定するかによって挙動が異なります。この現象はスキンメッシュやパーティクルには影響を与えず、Contact や PB のみに影響するようです。
また、どちらの設定でも Constraint 使用時、PlayerLocal ではメッシュが固定されて表示されますが、MirrorClone ではメッシュが Contact と同じようにジッターするようです。
①Constraint をアバターの Root 直下に設定
アバターが静止している時に Constraint がジッターし、アバターが動いているとジッターが止まります。
②Constraint を Armature の Hips 配下に設定
アバターが静止している時はジッターが止まり、アバターが動いていると激しくジッターします。
参考動画は以下をご参照ください。
[URL]
黄色いリングが付いた最初のアバターが設定①
(Avatar ID)
青いリングが付いた2つ目のアバターが設定②
(Avatar ID)
ギミック操作の手順は次のとおりです。
[有効化] 右手で RockNRoll ジェスチャー、左手で Gun ジェスチャーを行い、左人差し指で右手首の Contact をタッチします。
[展開] 右手でポイントジェスチャー、左手でロックンロールジェスチャーを行うとメニューが展開されます。この状態ではワールドに固定されます。
Log In
Tukumomi
This issue still persists in Build1535.
Dexvoid
Tukumomi
When you say this issue still persists, are you referring to your newly reported issue linked below (which is not exactly the same), or is the specific issue you originally described above in this Canny still triggering for you?
In other words, does the menu still jitter in mirrors when locked to the world for either of these avatars for you in build 1535? Ignoring the fact that the second avatar positions it incorrectly in the mirror for now.
Tukumomi
Dexvoid
Since Build 1535, the issue described in this Canny, where the behavior of a Constraint differs depending on its parent, is still occurring.
It may have been unclear, but this refers to the behavior in PlayerLocal, not in the mirror.
In PlayerLocal, when configurations ① and ② are applied, the behavior of Contacts and PB under them differs.
Ideally, when weights are applied to a Constraint, Contacts and PB under it should not be influenced by the parent and should correctly world-lock or follow as expected.
The reference video is below:
Please focus on the behavior of the Contacts in PlayerLocal in the video.
yellow ring represents configuration ①
blue ring represents configuration ②
- With configuration ①, the Contacts jitter when stationary but stabilize when moving.
- With configuration ②, the Contacts stabilize when stationary but jitter intensely when moving.
Dexvoid
Tukumomi
Thanks for the added context. Contacts jittering in this situation in general is a known issue, and it triggers when constraints are structured in a way that forces them to run late in the frame. This is already tracked internally, and it's something we're hoping to improve in the future.
Dexvoid
available in future release
The jittering you've reported is expected to be addressed via https://feedback.vrchat.com/bug-reports/p/an-object-with-constrain-settings-jitters-in-the-mirror
StormRel
tracked
Tukumomi
The jitter in MirrorClone is detailed in the post below.
I created a separate post to address this issue separately.