Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help  Garment explodes on Android, but not on Windows
#1
Reposting because (a) nobody responded the first post and (b) I've made some progress so there's a lot of old info that doesn't matter anymore.

I have some virtual garments on a character model, generated using Obi Cloth version 7.0.3. The garments function fine in the editor (2022.3.51f1) and in a Windows build, but when I run the app on Android the garments explode and burst off the character.

I tested by making a blank project, setting up a single cloth piece and letting it run, and that seemed to function fine when built to Android. So it's not an inherent problem with using it on Android.

So what parts of the cloth generation/simulation could change based on the target platform, despite having the exact same settings? Mobile platforms would obviously have lowered performance, but that should just manifest as lag and stuttering rather than the cloth behaving in a completely different manner.

I'm going to try selectively disabling and re-enabling parts of the actual project, most likely in a blank scene, until I figure out what's causing it, but I also figured I'd ask here in case there's a simpler solution I haven't thought of.

Thanks!
Reply
#2
Hi!

There should be no difference in behavior between platforms, the code being executed is the same (we have no conditional compilation affecting different platforms).

I've tried running some of the test scenes on Android and could spot no obvious differences in behavior either. Given that a fresh project also shows no difference in Android for you, this sounds like a project-specific issue. Would it be possible for you to send your project to support(at)virtualmethodstudio.com so that I can take a closer look to it?

kind regards,
Reply
#3
(04-11-2024, 08:49 AM)josemendez Wrote: Hi!

There should be no difference in behavior between platforms, the code being executed is the same (we have no conditional compilation affecting different platforms).

I've tried running some of the test scenes on Android and could spot no obvious differences in behavior either. Given that a fresh project also shows no difference in Android for you, this sounds like a project-specific issue. Would it be possible for you to send your project to support(at)virtualmethodstudio.com so that I can take a closer look to it?

kind regards,

I figured as such. Unfortunately, I can't show the project files as I'm under an NDA.

I did some more testing, and discovered that the issue is related to some code responsible for stitching the fabric together. I haven't yet figured out how exactly that works, but the issue appeared after I upgraded both the Unity Editor (from 2021.3.3f1 to 2022.3.51f1) and Obi Cloth (from 6.5.4 to 7.0.3). So maybe some change was made to the stitching code between those versions.

Thoughts?
Reply
#4
(05-11-2024, 08:23 AM)CptnFabulous Wrote: I did some more testing, and discovered that the issue is related to some code responsible for stitching the fabric together.

There has been no significant changes made to stitch constraints in Obi 7. Are you referring to the ObiStitcher component or is this some custom code? If the latter, could you at least share this code?



kind regards,
Reply
#5
(05-11-2024, 08:23 AM)CptnFabulous Wrote: I figured as such. Unfortunately, I can't show the project files as I'm under an NDA.

I did some more testing, and discovered that the issue is related to some code responsible for stitching the fabric together. I haven't yet figured out how exactly that works, but the issue appeared after I upgraded both the Unity Editor (from 2021.3.3f1 to 2022.3.51f1) and Obi Cloth (from 6.5.4 to 7.0.3). So maybe some change was made to the stitching code between those versions.

Thoughts?

Alright it's been a while, but I did (sort of) figure it out. Turns out I had extra code that was adding the actors to the solver, by directly manipulating the list instead of using the dedicated function for it. Plus, they were being added elsewhere, so the glitch must have been caused by duplicate actor references.
I removed that line of code and the garment now doesn't explode, although now the collision is less accurate against the character model. I tried stuff like enabling solver interpolation and setting the character animator's update mode to 'Update Physics', but that stuff didn't work, so maybe I need to increase the solver iterations for collisions.
Reply