Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Dragging Particles Cause Too Much Pixelation
#2
(18-10-2023, 01:18 AM)Fisixus Wrote: Then, I shoot a ray from my pulling device and find the picked particles. I assign these particle indices to my pulling device as a particle attachment group and prevent the other particles' movement(basically, I create another particle attachment and specify the particle group to a static position). When I do that, I have this mesh deformation problem. I see triangles and it doesn't look smooth.

[...]

Furthermore, I tested without limiting particle behavior(I assigned the picked-particle group to the pulling device but didn't limit other particles' movement). This time, the whole mesh was affected by the soft body, but my objective was to simulate a focused group of particles solely.

Hi!

If you're moving some specific particles while locking all other particles in place, it stands to reason that deformation will not be smooth. Not limiting other particle's movement should allow nearby particles to smoothly deform.

Here's an example: I've created a blueprint out of a flat square, using less particles than vertices are in it. I've grouped the particles at the border of the mesh, and statically attached them so that the softbody stays in place. All other particles are free to move.

[Image: NdVQwIP.png]

Then I've added the ObiParticleDragger to select and drag a single particle around. Notice how the mesh smoothly deforms even though only one particle is being dragged, this is because the surrounding softbody particles are free to deform and follow the dragged particle.

[Image: K51On2D.png]

Some comment on your parameters:

Softbody influence of 0.7: this won't allow the mesh to fully follow the softbody simulation, only 70% of the deformation will be applied making physics/rendering out of sync. This is mostly used when blending character animation with simulation, which doesn't seem to be your case. Should be set to 1.

Max Bones Per Vertex:28 That's a lot of influences per vertex. 8 should be more than enough in pretty much all cases, that's what I'm using in the test above.

Skinning Max Distance:0.22 Lowering the max distance will make skinning sharper, which is the exact opposite of what you want. Larger max distances will yield smoother influence of particles over vertices. The default of 0.5 should work well enough in most cases, allowing particles to influence vertices over a wide radius.

Deformation resistance:0.207 Low deformation resistance will make the softbody very soft, allowing for very large deformations. Might not be a good idea in your case, since this will lead to more extreme mesh deformation and exacerbate the "pixelation" problem.


Max Deformation:0.875
Plastic Yield: 100
Plastic Creep: 100
Plastic Recovery:500


These don't make any sense whatsoever. You have an extremely high plastic recovery rate, which will cause the softbody to recover from plastic deformation almost instantaneously. But you also have rather high yield and creep, so you're paying for plasticity with performance but it won't have any visible effect on the simulation. If not using plasticity, set all four to zero.

Some settings in your ObiSolver don't make any sense either:

Collision Margin: 0.001 This will only allow collisions to be detected if particles are within 1 millimeter of a collision surface, making collision detection noticeably less robust. The default of 0.02 (2 cm) should be enough unless you're working at an extremely small scale.

Max Depenetration: 0.1 This is the maximum velocity change in meters/second that particles are allowed to undergo when colliding against something. Such a low value will cause particles to mostly ignore collisions. Higher values (at least 5 m/s) should be used.

Shock propagation: 0.27 This is used to improve stacking stability, mostly for piles of granular materials like pebbles. Unless you're using granulars this should be set to zero.

There's also a warning in your ObiSolver component: it's set to use the Burst backend, but none of the Burst dependencies are installed so it will fall back to the native (Oni) backend. It's recommended you install the required dependencies for performance reasons. See:
http://obi.virtualmethodstudio.com/manua...kends.html


kind regards,
Reply


Messages In This Thread
RE: Dragging Particles Cause Too Much Pixelation - by josemendez - 18-10-2023, 07:14 AM