[1492 - Constraints] After VRCConstraints went live, remote users see discrepancies in object position.
closed
KirianVR
Using this avatar : avtr_dc0e9c24-966c-4a8d-893e-d472e75c1d55 :
Navigate to "Funny Haha Menu" then "Drone Menu" then toggle "Drone Toggle", this will make a drone appear like in the video provided below. Hitting "Enable Custom Object Sync" should update it's position and rotation for remote with a small delay. Video provided below shows expected and previous behavior in unity as well as current behavior for remote in-game which appears to either see the drone disappear or be constantly offset from its actual position.
Here's a link to the system used : https://github.com/VRLabs/Custom-Object-Sync
Here is a video explaining the issue with examples and more details : https://drive.google.com/file/d/1vTkvVNqYuLdaBNc5LEhX4R_viCtP-Hdr/view?usp=sharing
Log In
Dexvoid
closed
Dexvoid
needs more information
I've traced this to what might be a setup issue on this specific avatar, because I can see differences between this avatar and a new one created using Custom Object Sync and then converted to VRChat constraints with no other changes.
The game object named Custom Object Sync needs to be at the origin of the world with no rotation and regular scale. On this avatar, I can see that this game object is using a VRChat parent constraint and scale constraint both with no sources and Freeze To World enabled. This doesn't match what normally happens, where the game object is instead constrainted to a prefab with a position and rotation of (0, 0, 0) and a scale of (1, 1, 1). The current setup means the game object will take on the initial position, rotation and scale of the avatar when it appears instead, which may also be slightly different for each user in the instance with you.
Could you please try the following to help eliminate this as a potential cause? You may want to back up your project first.
- Create a new game object at the root of the scene in your avatar project, setting its position and rotation to (0, 0, 0) and its scale to (1, 1, 1).
- Create a prefab of this game object, then delete the original instance in the scene.
- On the parent constraint on the Custom Object Sync game object on your avatar, untick Freeze To World under advanced settings and assign the prefab you've just created as a source with a weight of 1 and no offsets.
- Do this with the scale constraint on that game object as well.
- Rebuild and retry with this avatar in-game to see if this solves the issue, then report back here.
The behavior of Freeze To World is documented here: https://creators.vrchat.com/avatars/avatar-dynamics/constraints/#freeze-to-world
KirianVR
Dexvoid Just did exactly this, turns out it was indeed the issue! I had assumed having a prefab with 0,0,0 position and 1,1,1 scale would produce the exact same result as having no sources and checking "Freeze to World".
Maybe adding a little sentence in the documentation about this would be useful but regardless thanks a lot for helping me deal with this! I will be sharing that to other creators encountering similar issues due to this assumption.
Dexvoid
KirianVR Thanks! We'll review the documentation. Marking this Canny as Closed for now since this was traced to the avatar itself.
Dexvoid
Hello, do you happen to have the non-converted version of this avatar still available? If so, could you please upload it privately and share the avatar ID here? This would help to verify if this is a newly introduced issue.
KirianVR
Dexvoid Sadly no, didn't think that it would be necessary after other conversions went well. Overall tho the system itself wasn't changed at all except for the world constraints being switched to use "Freeze to World". Remaking the previous setup would be very painful with the sheer number of animation paths and constraints to switch. I'll give it a try but can't provide a guarantee
Dexvoid
KirianVR No worries, feel free to try remaking it if you'd like but there's no requirement to if you'd rather not. Thanks for the extra info.
KirianVR
Dexvoid In the meantime I have another avatar that is experiencing different behaviors between auto-conversion and normal conversion, should I post it here too or would a new canny be best?
Dexvoid
KirianVR If it's the same issue with network synced drones then feel free to share them here, otherwise it would be best to create a new Canny with a description of that separate problem.
Dexvoid
tracked