Very cool improvements.
How do these versions work now, did you base it on Antons 3.5 and are you now doing the improvements from that point on? Is there more coming down the line?
Also can you make a full list of all cross-compatibility, which SU and SP versions will or will not work with which models, because people will wonder what to get and how to run it.
Latest posts made by Mister K
-
RE: SketchyPhysics 3.7.4
-
RE: SketchyPhysics 3.3 (Unofficial Release)
Oh that old mod I made... wouldn't use it as more then a reference point(i.e. which SP parts govern recordings), but what I made was all one shot working in very specific conditions code.
-
RE: SketchyPhysics 3.3 (Unofficial Release)
I'm not disputing your work, simply pointing out that your version will not be compatible with older models, a problem which none but experts will be able to fix. So in the interest of avoiding confusion this release should get a more distinctive name.
-
RE: SketchyPhysics 3.3 (Unofficial Release)
Well this is certainly very good work by the looks of it, must have taken hell of a lot of time.
But is this officially approved by Chris? Because if it isn't I would suggest a more distinctive name that makes it clear these are not the same plugins any more.The issue of compatibility is no small matter, anyone who will search for the latest Sketchyphysics will find your version which might break old models, for anyone but expert users this will be a major problem.
-
RE: MSPhysics 1.0.3 (16 October 2017)
@anton_s said:
Joints in Newton are constraints. Its impossible to make them 100% stiff, but the softness/stiffness can be controlled. From current observations, joints are more stiff with the solver model set to exact, but pretty soft and unstable when the solver is passive. I'm aware there is an error somewhere in the constraint behavior, but meanwhile I can't clarify you on distinctive stuff. Let's continue discussion on joint flexibility once I'm done integrating them to MSPhysics.
OK, just a couple tiny things to think on as you are implementing the joints.
Can you easily swap out or add joints while simulating? Say you wanted a wheel/arm to lock in place after it moved a certain distance at that point you could attach a "fixed" joint that would lock everything in place (in SP anyway), is that doable or can perhaps even be done better with something else?Another problem in SP was "weight"(size x density) of an object would determine joint stiffness as well, could that be manipulated when calculating joints without disrupting the entire models weight balance?
-
RE: MSPhysics 1.0.3 (16 October 2017)
@anton_s said:
That's quite an idea, though it will require me to rewrite the whole API Maybe you would be able to to control body via script, i.e. apply custom forces and freeze/unfreeze bodies.
There is no need to do anything crazy especially when there are all the more important parts to do, I'm just asking about the general possibilities of the engine you might have come across.
And on that note, to what extent can joints be put together now?
Could you combine several joints into one part thing? Because in SP we always had this problem that each movement axis needed an extra body part.
And can they be made soft/stiff as well? In SP things do like to stretch and bend out of control, and their distance/angle limits mean very little when there is force applied to the bodies. -
RE: MSPhysics 1.0.3 (16 October 2017)
@anton_s said:
Body.#set_softness(0.01 - 1.0)
A softness of 0.0 makes body act more like a metal ball i.e the momentum is transferred pretty well. A softness of 1.0 makes body act more like a soft ball i.e the momentum is barely transferred to the colliding body.
Is that what you were asking?Yes that would do it.
@anton_s said:
Newton has a feature called auto-sleep. In interactive solver model, the bodies that don't need any further processing go to sleep mode.
You may also freeze the body or enable/disable the body, which temporarily adds/removes body to/from simulation processing.
As mentioned of interactive solver, Newton has exact and interactive solver models. Interactive works much faster, but less accurate.
Exact works slower, but more accurate.
However, you can't assign exact/interactive solver model to a particular body. The solver model affects the calculation of all bodies at once.
I think for gaming purposes it would be best to enable/disable body. Newton has the islands feature as well. I'm not sure what it does though. Maybe it does exactly what your asking: enable/disable particular areas of simulations processing.
Meantime the solver model can be controlled via Menu -> Plugins -> MSPhysics -> Simulation -> Solve Model -> [Option]Is there also no way to stop or exclude a certain group once enough passes are done, say on "Interactive: 8 passes" does the physics engine have functions that could exclude entities just after 1 or 2 passes?
Or perhaps an even cruder method of running a separate simulation with every individual group, each with different settings, would that work or add to much initializing time?@anton_s said:
Newton has custom joints written in C++. All I have to do is convert it to Ruby and add some ticks to make it more Ruby.
I am aiming to use Ruby 3D sounds library, though. I'm not planning to write my own lol.Actually on that scripting thing I meant script editors specifically, if you considered integrating with one that already has all the code editing features so you don't have to start from scratch.
-
RE: MSPhysics 1.0.3 (16 October 2017)
Actually by stiffness I mean defining how much entities will resist intersection, not sure what the technical term is for that. So you could make items act as if they were soft/stiff without demand for full on deformation.
And by collision accuracy I meant just the extent of the calculation, so entities defined as less important would require the lowest amount of processing.
I know this is in part available through the number of cycles physics will do before updating entity location, but it would be nice if something similar could be defined on particular groups of entities.Also did you consider crossing over your scripting part with already available Ruby scripting plugins? It seems like something that would save plenty of time with that interface, although I don't know which specific plugin would work best, perhaps some of the other forum goers could pitch in with that.
-
RE: MSPhysics 1.0.3 (16 October 2017)
That is a pretty darn excellent work, all the starting features are right up my alley and I did at least attempt to add them to my custom SketchyPhysics build.
Can you talk a little more about the new physics engine, how extensive are it's features?
- can you do custom friction, bounce and stiffness per entity
- perhaps even collision accuracy per entity
- can collision groups be defined (so some entities will never interact with others)
- is there any chance to add entities during the simulation (so a distanced area would not be included at the start but then add as you move closer)
- and by that extent can a partial simulation be done, say only the selected items are considered and nothing else (that way you could quickly go in and out of testing a small item without everything in the model interfering)