How to Use Fisio: Experiments and Learnings

2»

Comments

  • barbultbarbult Posts: 23,367
    I love the pinball example. Now add some of those bumper things with force to kick the ball.
  • RGcincyRGcincy Posts: 2,826

    barbult said:

    I love the pinball example. Now add some of those bumper things with force to kick the ball.

    You've read my mind! I started with that but wasn't getting any action so I dropped back to the simple which helped me learn how to set bounciness. 

  • RGcincyRGcincy Posts: 2,826
    edited January 2023

     

    10. Plinko Game

    In this game, a ball is dropped in a slot and as gravity pulls it down, it bounces off pegs set in a diamond pattern below.

    a. Most of this example is an exercise in setting up the primitives. To start, create one Y-positive, 2 foot, primitive cube.

    b. Create a Fisio Material node. Set the Bounciness parameter to 0.55 and Friction to 0.1.

    c. Set the cube’s Fisio parameters to use the material node, set its Collision Shape to box, and set Fixed to On. Then make multiple copies (instances or duplicates) of this cube. With variations in scale and position, the original cube and copies are used to make the back, two sides, bottom, front bottom, and one divider. All of these copies will have the same Fisio settings as the original cube.

    d. After scaling the divider, I made instances of it using UltraScatterPro Matrix scatter. I then made a duplicate of the instances group. Remember to go to the main menu and choose Edit/Object/Instances/Break Instances Group for each set of instances, otherwise Fisio ignores the instances in the simulation. Move the dividers to the top and bottom of the frame

    e. Group everything above into one group and then tilt it at an 8 degree angle. It should look something like this:

     

    f. Create a primitive sphere to fit within the size of the dividers (around 2 cm in diameter). Set the Fisio parameters to use the same material node we made previously and set sphere as the Collision Shape. Position the sphere in one of the channels at the top.

    g. Create a small cylinder to use as a peg. Make it a Fisio Rigid body. Set the Fisio parameters of the peg to use the same material node we made previously and set sphere as the Collision Shape.

    h. Use UltraScatterPro Matrix scatter to create instances of the peg. I did 6 X- rows and 8 Y-rows. Set spacing to 6 cm for X and 7 for Y and then set X offset to 3 (you may need to vary the values to fit your frame).

    i. After creation, Z-rotate the scatter group 180 degrees and position and group it with the frame.

    j. With the instances group selected, go to the main menu and choose Edit/Object/Instances/Break Instances Group so they will participate in the Fisio simulation.

    k. You’ll end up with a few pegs extending beyond the frame, select and delete them.

    l. Run a simulation and watch the ball bounce around.

    m. The drop is deterministic: you get the same result and pattern each time. There doesn't appear to be a way to add randomness to base Fisio; some of the forces do have a random seed but here I'm using nothing but gravity. You can change the result you get, however, by slightly moving the peg directly beneath the ball.

    GIF showing ball dropping and bouncing off the pegs:

    Fisio frame setup.jpg
    477 x 626 - 53K
    Fisio Plinko matrix scatter.jpg
    506 x 509 - 37K
    Fisio Plinko setup.jpg
    467 x 607 - 74K
    Post edited by RGcincy on
  • ChumlyChumly Posts: 793

    This is pretty cool... thanks for your demos.

    Liked the pinball... and if the bumpers can become emmiters for a second after contact with the ball... we are in!

  • RGcincyRGcincy Posts: 2,826
    edited January 2023

    I've ben playing around trying to create a reactive bumper. Pinball machines are electromechanical devices and bumpers have contacts which close when a ball strikes them and that activates a servo to apply back a force. Fisio is only mechanical. So far I haven't gotten anything that works automatically to add in thrust to the ball but you can set animation key frames to show a bumper reacting. Since Fisio is deterministic, once you run the simulation you can go in and make animation changes but if you change any settings, you'll have to repeat as timing and directions of bounces can change. The gif shows my best so far.

    Post edited by RGcincy on
  • RGcincyRGcincy Posts: 2,826
    edited January 2023

    I added a link between the torus and the cylinder inside. I set the link to type string which is the only one of six types that has the ability to add a force to it. Now t seems to add some kick to the ball when it is hit as the ball moves faster over time. The bumper expansions are added in by hand.

    Post edited by RGcincy on
  • mikethe3dguymikethe3dguy Posts: 515
    edited August 2023

    RGcincy said:

    This will be a summation of learnings made while trying out Alvin Bemar’s new Fisio: Physics Simulator product for Daz Studio. This is a rigid-body physics simulator. Like my dForce thread, I’ll share observations and learnings I make while using this product.

    Link to Official FIsio Thread

    You seem to have put more effort into figuring out how the Fisio rigid body physics system works than anyone except for the vendor. I don't see any evidence of it in your examples here, but I'm wondering if you've run into problems with objects sinking into other ones? I'm working on a simulation that includes a stack of wine glasses and a jigger sitting on a bar counter. A Genesis 8 figure slides onto the bar and knocks all these items off onto the floor. The jigger sinks into the bar, often passing all the way through it, dropping out the bottom. The glasses do not, but when all of these items hit the floor, which is a flattened cube primitive, they sink into it for several inches before bouncing back up.

    I've exchanged a few messages back and forth with Alberto, who's been great. But so far he doesn't seem to know what causes this, or possibly has not even encountered it himself. I feel like I've tried everything I possibly can, but to no avail. So far I haven't even come up with any parameter, setting or configuration that even attenuates this problem. Do you have any ideas?

     

    EDIT: I finally got a usable simulation! Oddly, what tipped the balance was reducing Precision from 4 eventually down to 1. One would think that high Precision would give you more accurate contact between nodes, but it turns out it's the reverse.

    Post edited by mikethe3dguy on
  • RGcincyRGcincy Posts: 2,826

    mikethe3dguy said:

    ... I'm wondering if you've run into problems with objects sinking into other ones? I'm working on a simulation that includes a stack of wine glasses and a jigger sitting on a bar counter. A Genesis 8 figure slides onto the bar and knocks all these items off onto the floor. The jigger sinks into the bar, often passing all the way through it, dropping out the bottom. The glasses do not, but when all of these items hit the floor, which is a flattened cube primitive, they sink into it for several inches before bouncing back up ...

    EDIT: I finally got a usable simulation! Oddly, what tipped the balance was reducing Precision from 4 eventually down to 1. One would think that high Precision would give you more accurate contact between nodes, but it turns out it's the reverse.

    Yes, I've seen that and your solution is what I recall helping. The simulations are not always predictable so if things don't go as expected an empirical testing of parameters is needed. Sometimes I don't bother but just move the object if is out of place but that doesn't work if it needs to interact with other objects.

  • RGcincy said:

    Yes, I've seen that and your solution is what I recall helping. The simulations are not always predictable so if things don't go as expected an empirical testing of parameters is needed. Sometimes I don't bother but just move the object if is out of place but that doesn't work if it needs to interact with other objects.

    Thanks. It's at least good to get confirmation that I'm on the right track. Thanks for posting all this, btw - it IS helpful!

Sign In or Register to comment.