Posts: 2
Threads: 1
Joined: Sep 2019
Reputation:
0
Hi, we're trying to make a simulation for book pages blown by the wind. We've been using the inter-collision example by obicloth for reference, but it appears that the planes/pages will clip into each other if they're too close, even if their particles aren't touching. I turned on obi particle render in the pic below - when we press play, the planes just sink. Inter-collision only works if the gaps between the planes are huge, but we do need to keep the form of a book. New to unity here, please help!
Posts: 6,322
Threads: 24
Joined: Jun 2017
Reputation:
400
Obi Owner:
29-09-2019, 12:02 PM
(This post was last modified: 29-09-2019, 12:06 PM by josemendez.)
(26-09-2019, 11:24 AM)graciapples Wrote: Hi, we're trying to make a simulation for book pages blown by the wind. We've been using the inter-collision example by obicloth for reference, but it appears that the planes/pages will clip into each other if they're too close, even if their particles aren't touching. I turned on obi particle render in the pic below - when we press play, the planes just sink. Inter-collision only works if the gaps between the planes are huge, but we do need to keep the form of a book. New to unity here, please help!
Hi there,
Make sure the planes have different phases. See:
http://obi.virtualmethodstudio.com/tutor...sions.html
Since Obi is a particle-based engine, you'd need tiny particles (and very high mesh resolution) to simulate a book using it. Having lots of tiny particles would cause new issues: tunneling, bad performance, etc. Even if you had perfect mesh-mesh contact generation (which is expensive), preventing any tunneling between the pages would be a huge headache, since they're so thin.
Using physics to simulate a book is just not going to work. The enormous amount of intercollisions between the pages and the sheer precision needed to simulate it are simply too much to handle in realtime. Use a different approach (procedural animation, for instance).
Posts: 2
Threads: 1
Joined: Sep 2019
Reputation:
0
(29-09-2019, 12:02 PM)josemendez Wrote: Hi there,
Make sure the planes have different phases. See:
http://obi.virtualmethodstudio.com/tutor...sions.html
Since Obi is a particle-based engine, you'd need tiny particles (and very high mesh resolution) to simulate a book using it. Having lots of tiny particles would cause new issues: tunneling, bad performance, etc. Even if you had perfect mesh-mesh contact generation (which is expensive), preventing any tunneling between the pages would be a huge headache, since they're so thin.
Using physics to simulate a book is just not going to work. The enormous amount of intercollisions between the pages and the sheer precision needed to simulate it are simply too much to handle in realtime. Use a different approach (procedural animation, for instance).
Thank you so much for your reply!
Would these issues still persist if there are only a small amount of pages (e.g 10)?
Alternatively, if we were to pursue another form of simulation, such as your suggestion of procedural animation, would we be able to use the (hopefully) realistic motions created with Obi to serve as the animations and if so, how would we record/ convert the motion to animations?
Also, might you have any suggestions on how to overcome our current problems to arrive at realistic looking animations, instead of using real-time physics?
Currently we are manipulating an object with ObiSphericalForceZone as well as the intensity of the force in order to "flip" the pages. Would we still be able to use this method, or do we need to shift to another method, such as moving the pages individually with inverse-kinematics?
again, thanks for helping us on our project.
Posts: 6,322
Threads: 24
Joined: Jun 2017
Reputation:
400
Obi Owner:
30-09-2019, 12:49 PM
(This post was last modified: 30-09-2019, 12:50 PM by josemendez.)
(30-09-2019, 08:09 AM)graciapples Wrote: Thank you so much for your reply!
Would these issues still persist if there are only a small amount of pages (e.g 10)?
Alternatively, if we were to pursue another form of simulation, such as your suggestion of procedural animation, would we be able to use the (hopefully) realistic motions created with Obi to serve as the animations and if so, how would we record/ convert the motion to animations?
Also, might you have any suggestions on how to overcome our current problems to arrive at realistic looking animations, instead of using real-time physics?
Currently we are manipulating an object with ObiSphericalForceZone as well as the intensity of the force in order to "flip" the pages. Would we still be able to use this method, or do we need to shift to another method, such as moving the pages individually with inverse-kinematics?
again, thanks for helping us on our project.
Hi,
Yes, even with 10 pages it would be overkill, even with less pages depending on the maximum tolerable page thickness. You can do the math yourself: Consider a 20x20 cm page, 1 mm thickness. That's 200 x 200 particles = 40000 particles per page. Now, consider 10 pages touching each other: That would generate 40000 x 9 = 360000 contacts per frame, which is an awful lot. All that just to have the book sitting there, no wind affecting the pages.
First, consider if you really need to perform realtime simulation for your purpose. Most likely you do not, and if you do, chances are you don't need to go all the way down to consider wind forces over each individual page.
You can either generate your animation in any animation package (Blender for instance), and export it as skeletal animation. Then you can control page flipping in realtime by scrubbing trough the animation using a script.
|