SPH (Smoothed Particle Hydrodynamics) in 3.5

 TidalApex Sep 10, 2013 at 8:36 AM I noticed Genbox mentioned 3.5 was going to have SPH in it but I can't seem to figure out how to actually implement it. Also I want to simulate airflow using either a very light fluid in SPH or using smaller circle objects with a repulsive force (to minimize number of actual collisions) to kind of approximate it. Any thoughts on how to do this? AlzPatz Sep 10, 2013 at 9:25 AM SPH was not implemented in the end for 3.5 for the airflow, there are a number of ways to do it. 1 being sensor objects that add a repulsive force as you mention Depending on the effect you are going for, if there is a specific complex path for the airflow i'd be inclined to use a number of path vertices (just positions) and work out the nearest two to your objects position, work out the direction normal of the path between those two points and apply a force in that direction. TidalApex Sep 11, 2013 at 6:36 AM It seems like someone made a SPH demo using Farseer but it appears to be an older version (can't tell which) that has some deprecated functions. http://www.quantumyeti.com/blog/box2d-fluid-part-1 PolygonShape.SetAsBox is used but I'm not sure what the current equivalent is in 3.5. HAL_9000 Sep 11, 2013 at 9:45 AM Just pass the vertices in the constructor `````` Body bottomBody = BodyFactory.CreateBody(_world, new Vector2(0, 7f)); PolygonShape bottomShape = new PolygonShape(FarseerPhysics.Common.PolygonTools.CreateRectangle(12f, 1f), 1f); bottomBody.CreateFixture(bottomShape); Body leftBody = BodyFactory.CreateBody(_world, new Vector2(-11f, 0f)); PolygonShape leftShape = new PolygonShape(FarseerPhysics.Common.PolygonTools.CreateRectangle(1f, 10f), 1f); leftBody.CreateFixture(leftShape); Body rightBody = BodyFactory.CreateBody(_world, new Vector2(11f, 0f)); PolygonShape rightShape = new PolygonShape(FarseerPhysics.Common.PolygonTools.CreateRectangle(1f, 10f), 1f); rightBody.CreateFixture(rightShape);``````