Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Bug / Crash  One Particle acts like kinematic
#11
(24-06-2021, 01:54 PM)josemendez Wrote: Just downloaded your project and was looking at it, but you beat me at finding the cause Sonrisa

let me know if you need further help. cheers!
My advice as fellow developer- fix this issue- it's extremelly hard to find it, and it's contradicts Unity reusability of your package(it's common sence that assigning new parameter should change behaviour)...
Reply
#12
(24-06-2021, 01:57 PM)alex798 Wrote: My advice as fellow developer- fix this issue- it's extremelly hard to find it, and it's contradicts Unity reusability of your package(it's common sence that assigning new parameter should change behaviour)...

Inspecting the scene I detected the issue: for some reason, the particle group of the attachment is being overwritten with the prefab value at startup. The prefab's particle group index is #11, but the one in the scene is #24. The value in editor is correct, as soon as you press play Unity replaces the (correct) serialized value with the (incorrect) one in the prefab.

Unpacking the coffee machine works around the issue.

Will investigate further and fix anything that can be fixed. thanks!
Reply
#13
Looks like a call to PrefabUtility.RecordPrefabInstancePropertyModifications(); is missing in the attachment's editor , (ObiParticleAttachmentEditor.cs) line 109. Should look like this:

Quote:void OnParticleGroupSelected(object index)
        {
            Undo.RecordObject(attachment, "Set particle group");
            attachment.particleGroup = index as ObiParticleGroup;
            PrefabUtility.RecordPrefabInstancePropertyModifications(attachment);
        }

After this change, select the attachment of the "start" particle group to CoffeeMachineOutOfOrder, and re-select the "start" particle group (click the particle group dropdown, and just select the same particle group). That will fix the issue.

Will add this fix in the next update. Thanks for reporting it!
Reply
#14
(24-06-2021, 02:16 PM)josemendez Wrote: Inspecting the scene I detected the issue: for some reason, the particle group of the attachment is being overwritten with the prefab value at startup. The prefab's particle group index is #11, but the one in the scene is #24. The value in editor is correct, as soon as you press play Unity replaces the  (correct) serialized value with the (incorrect) one in the prefab.

Unpacking the coffee machine works around the issue.

Will investigate further and fix anything that can be fixed. thanks!
One more Idea- make some local transform panel of tangenses in PathEditor- it can be hard to orientier them in scens...

And could u help with this jittering- my particles jitter near table collider when cable slightly stretched- I have surface collider, but only cbig sleep and depentration helps...
Reply
#15
(24-06-2021, 02:28 PM)alex798 Wrote: One more Idea- make some local transform panel of tangenses in PathEditor- it can be hard to orientier them in scens...

Do you mean numerical editor fields for translation, rotation and scale of each control point? (similar to the transform component of a gameObject)

(24-06-2021, 02:28 PM)alex798 Wrote: And could u help with this jittering- my particles jitter near table collider when cable slightly stretched- I have surface collider, but only cbig sleep and depentration helps...
Jittering happens because you're using surface collisions. See the last bit of the manual page for a detailed explanation of why jittering happens:
http://obi.virtualmethodstudio.com/manua...sions.html

If you must use surface collisions, use a higher surface collision tolerance parameter in the solver.  Note that jittering cannot be completely eliminated when using surface collisions, since it's a limitation of the method used: https://mmacklin.com/sdfcontact.pdf
Reply
#16
(24-06-2021, 02:32 PM)josemendez Wrote: Do you mean numerical editor fields for translation, rotation and scale of each control point? (similar to the transform component of a gameObject)

Jittering happens because you're using surface collisions. See the last bit of the manual page for a detailed explanation of why jittering happens:
http://obi.virtualmethodstudio.com/manua...sions.html

If you must use surface collisions, use a higher surface collision tolerance parameter in the solver.  Note that jittering cannot be completely eliminated when using surface collisions, since it's a limitation of the method used: https://mmacklin.com/sdfcontact.pdf
Yeah numerical fields would be perfect- a lot of time I try to place tangence exactly over point, but in 3d it is quite a challenge...


Yeah I read about this problem of surface collision, and tried not to use it, But my cable should be pretty thin, and so need to be partiocles- so natural collision is prone to intersection(even smallest stretch creates holes in general collider)
Reply
#17
(24-06-2021, 02:54 PM)alex798 Wrote: Yeah numerical fields would be perfect- a lot of time I try to place tangence exactly over point, but in 3d it is quite a challenge...

Got it. Will add them in the next update, very soon.

Quote:Yeah I read about this problem of surface collision, and tried not to use it, But my cable should be pretty thin, and so need to be partiocles- so natural collision is prone to intersection(even smallest stretch creates holes in general collider)

Increasing the surface collision threshold should help. Unfortunately, thats as good as it gets with simplex-based collision detection for now Triste. Future developments might improve on this front.
Reply