bullet physics for DS 1, 2, 3, 4 PC/Win ... teaser

1567810

Comments

  • mCasualmCasual Posts: 4,607
    edited July 2015

    that's a good omen ---> 

    ========== Rebuild All: 4 succeeded, 0 failed, 0 skipped ==========

    meaning VisualStudio C++ compiled the 64 bit version

    now i have to re-learn how the client i wrote works , oh no i'll have to read the manual :)

     

    oops bad news there's no .exe

    ( i'm manually editing the VC++ Solution file and it's a bit confusing )

    Post edited by mCasual on
  • RAMWolffRAMWolff Posts: 10,211

    laugh

  • mCasualmCasual Posts: 4,607
    edited July 2015

    well in the end i downloaded the newer version of the Bullet Physics SDK

    and "ported" my mcjBulletServer to it

    ( it consisted of changing 1 line in the source code

    and it compiles fine as 64-bit Release

    so i guess before i post this comment in the forum, i upload it 

    ....

    https://sites.google.com/site/mcasualsdazscripts3/mcjbulletservice01

    or a direct link

    https://sites.google.com/site/mcasualsdazscripts3/mcjbulletservice01/mcjBulletServer002_vs2010_x64_release.zip?attredirects=0&d=1

    BUT NOTE THAT I DID NOT EVEN TEST IT YET!

    i plan to do this right now

     

     

     

    theprecious.jpg
    1920 x 1080 - 272K
    Post edited by mCasual on
  • mCasualmCasual Posts: 4,607
    edited July 2015

    well in the end i downloaded the newer version of the Bullet Physics SDK

    and "ported" my mcjBulletServer to it

    ( it consisted of changing 1 line in the source code

    and it compiles fine as 64-bit Release

    so i guess before i post this comment in the forum, i upload it 

    ....

    https://sites.google.com/site/mcasualsdazscripts3/mcjbulletservice01

    or a direct link

    https://sites.google.com/site/mcasualsdazscripts3/mcjbulletservice01/mcjBulletServer002_vs2010_x64_release.zip?attredirects=0&d=1

    BUT NOTE THAT I DID NOT EVEN TEST IT YET!

    i plan to do this right now

    Amy will get to use her baseball bat and get PHYSICAL ... VS a wall of blocks i guess

     

    Post edited by mCasual on
  • mCasualmCasual Posts: 4,607
    edited July 2015

    First test results, DS4.8 with the 64 bit server, not working

    test 2 - resultd DS3.1  with the 64 bit server, not working

    oops actually the server dis start and crash, which is better than nothing

    maybe this was all written and tested on windows XP? nah

    ======

    test 3 - Daz Studio 3.1, the old

     Sunday, ‎November ‎24, ‎2013, ‏‎7:06:10 PM

    server ... not working

    if you look in windows task manager, the mcjBulletServer is running and wasting CPU time , 1 core !, so, You Better Kill that process!!

     

     

    Post edited by mCasual on
  • RAMWolffRAMWolff Posts: 10,211

    Oh dear... I hope you get it figured out.. frown

  • mCasualmCasual Posts: 4,607
    edited July 2015

    test 4 - Daz Studio 3.1,

    the even older Sunday, ‎November ‎23, ‎2013, 32bit server

    .. not working

    ( and it hogs the CPU )

    so starting to think it's the client that's talking gibberish to the server ... if i can find an old "in.txt" file ...

     

    example of an in.txt file transmitted by the client, today

    8	10	9	0.03333333333333333	6	31	0	Plane	0	0	0	0	0	0	0	1	0	0.5	0	0.5	0	Sphere	1	0	0.502	0	0	0	0	1	0	0.195	0.195	0.195	

     

    example of an in.txt file from 2013

    6	101	0	Sphere~Dynamic	1.767	0.567	0.853	2	0	0	0	1	0	0.019	0.15	0.15	0	Sphere~Static	0	0	1.75	2	0	0	0	1	0	0.019	0.15	0.15	0	cube_1_0	100	0.3	9.115	1.966	0.009	0.049	-0.184	0.982	0	0.05	0.2	0.2	0	cube_1_1	100	0.053	11.172	1.847	0.027	0.145	-0.182	0.972	0	0.05	0.2	0.2

     

    Yes there's definitely a problem there

     

     

    Post edited by mCasual on
  • mCasualmCasual Posts: 4,607
    edited July 2015

    I was able to run a simulation !

    semi-manually

    stay tuned 

     

    dropit.gif
    600 x 337 - 92K
    Post edited by mCasual on
  • mCasualmCasual Posts: 4,607
    edited July 2015

    so the temporary conclusion is

    the 32-bit Physics server is A-ok and will most probably work as-is on windows 8

    but we'll now have the 64-bit version too, ( with a slightly more modern bullet engine  )

    the guilt befalls the mcjPhysicsClient01 

    i need to change something in the Daz Script mcjPhysicsClient01

    because it "talks" to the server in ways that puts it in the coma ( Vogon poetry i tell ya )

    -----

    for my succesfull test here's what i did

    i opened in.txt in notepad

    i deleted the lines that read

    8 10

    9 0.03333333333333333

    because, if the server once understood what this means, apparently it doesnt anymore

    ....

    but be patient and i'll post the new client and life will be good

     

     

     

     

    Post edited by mCasual on
  • mCasualmCasual Posts: 4,607
    edited July 2015

    for the record, the two parameters that the client was trying to give to the server were

    var RECTYPE_simSubSteps = 8;

    var RECTYPE_simTimeStep = 9;

     

    and the old and good parameter that the server understand is

    var RECTYPE_simNumFrames = 6;

     

     

     

    Post edited by mCasual on
  • mCasualmCasual Posts: 4,607
    edited July 2015

    SUPER IMPORTANT UPDATE

    There's a new version of the mcjPhysicsClient01

    contrary to the old version, it doesnt turn the server into a cpu-cycles-eating zombie

     

    https://sites.google.com/site/mcasualsdazscripts3/mcjbulletservice01

     

    there's also a new 64 bit version of the server, which is probably not really much faster than the 32-bit version

     

    ( my test was very simple, i'll do more tomorrow )

    - create a plane

    - create a ball, move it up in the air

    - select the plane, run the script, make the plane a static physical object

    - exit

    - select the ball, run the script, make the ball a dynamic physical object

    - exit

    - select the plane, then the ball, run the script

    - Send the scene to the server ( it writes a file named in.txt to disk )

    - Run the simulation

    - Get the simulation results

     

    the ball drops to the floor

     

    Post edited by mCasual on
  • RAMWolffRAMWolff Posts: 10,211

    Man your fast!  lol

  • mCasualmCasual Posts: 4,607
    edited July 2015

    remember - get the July 15th updated mcjPhysicsClient01.dsa ... because it works


    so here we have Azura and the Kinect stickman in Daz Studio 4.8 

    1000 balls ( 999 'instances' )

    a hidden floor

    a spherical environment

    IRay render with floor shadows which are not very visible

     

    we'll scoop the balls up

    then we'll pour them into a container

    or something

     

    someday someday, the balls will be metaballs, and they'll look like water ( see mcjIsoSurface ), and we'll do liquid flow effects

     

     

    azuraand1000balls.jpg
    960 x 540 - 206K
    Post edited by mCasual on
  • mCasualmCasual Posts: 4,607
    edited July 2015

    Yesterday i repaired the mcjPhysicsClient

    Today i'll make a "big test"
    Azura will scoop the 28 marbles then ... well it's a teaser not a spoiler !!!
     

    Oh and the scoops are in fact 14 planes each, and i made all those faces "Physical/Kinetic" using mcjPhysicsClient

    so their animated positions will be transmitted to the Bullet Physics simulation engine

    the Louis-XV desk surface is Physical/Static so the marbles wont fall down into infinity

    the marbles are Physical/Dynamic, so they'll get pushed around, like poor Nixon marbles , as if they were crooks ! 

    image

     

    Post edited by mCasual on
  • mCasualmCasual Posts: 4,607
    edited July 2015

    lets see can we attach a txt file in the new forum?

    yes !

    as you can see

    the client which was updated yesterday 

    doest transmit the parameters that were crashing the Physics Server before

    oops i had the frame rate at 10 fps in Daz Studio, better set it back to 30 fps

    because the server uses that fixed rate  ... for now

    in the text file you can see it transmits the position and sizes of all the Physical elements in my scene

     

    the problem is ... the file doesnt seem to include the scoops animation

    maybe i didnt mark them as physical/kinetic?

     

     

     

    txt
    txt
    in.txt
    3K
    Post edited by mCasual on
  • RAMWolffRAMWolff Posts: 10,211

    I'm just seeing the marbles being pushed into the wooden box thing she's pushing inwards.  I keep looking again at it to see if I see a marble move but I'm not...

  • mCasualmCasual Posts: 4,607

     

     

    RAMWolff said:

    I'm just seeing the marbles being pushed into the wooden box thing she's pushing inwards.  I keep looking again at it to see if I see a marble move but I'm not...

     

    well that's before the simulation has been run

    but there's a problem ... the Scene file doesnt include the scoops animation

     

    the system works like this

    i send in a text file a description of the physical objects in my scene

    the table top, the animated scoops and the marbles

     the BulletPhysics engine then figures the story of the marble's life in that situation

    then i apply this story to the marble animation

     

  • mCasualmCasual Posts: 4,607
    edited July 2015

    the problem at hand ... not catastrophic but

    i did mark the scoops as physical -

    as you can see in the image below, the scoop has properties that no ordinary Daz Studio node normally has

    but for some reason the "kinetic" setting is Off

    for now i'll simply turn them all on

    sciou.jpg
    844 x 215 - 39K
    Post edited by mCasual on
  • RAMWolffRAMWolff Posts: 10,211

    Oh you... I'm lost as usual! lol  I'll trust that your observations will work out just fine!  cheeky

  • mCasualmCasual Posts: 4,607
    RAMWolff said:

    Oh you... I'm lost as usual! lol  I'll trust that your observations will work out just fine!  cheeky

    Oh my oh my oh my the "big" 30 frames test worked !
    at 10 fps the results were not as good
    at 30 fps it's better

    image


     

  • mCasualmCasual Posts: 4,607

    well actually if we run the simulation longer

    the life of the marbles takes a tragic turn
    but i think it's not really a bug
    one just has to replace the "bounding boxes" used as stand-ins for the scoops with  meshes

    image

  • mCasualmCasual Posts: 4,607

    i think i fount it !

    bullet physics engine hates the fact that i have objects interpenetrating themselves

    i.e. the scoops being embedded in the table surface !

  • RAMWolffRAMWolff Posts: 10,211

    Great work there.  Looks just fabulous!  laugh

  • mCasualmCasual Posts: 4,607
    edited July 2015

    Well so far it seems the Animated (kinetic) physics doesnt work very well

    what works well is the static objects: floors and walls, inclined planes, conduits

    and dynamic objects like balls that roll ( and bounce?) on walls
    more like "ricochet on walls probably

    i'll leave the Bullet Physics project back in "Teaser" mode, which is like Beta

    because there's a whole lot of other projects waiting in line ! the backburner is full !
     

    be sure to download the mcjPhysicsClient

    which was updated on July 15th

    image

    Post edited by mCasual on
  • edited July 2015

    Thanks so much, mCasual! You work fast, man! I downloaded your new client and server and at first i couldn't get the client to create the in.txt file. I then moved the server outside of the Program Files folder (I just put it on my Desktop) and it worked! Finally! Now that i think of it, Daz Studio itself has a problem with the Program Files folder, so I shouldn't be surprised. I really appreciate the work you do man! It's so much fun playing with the physics in Daz Studio!

    Post edited by [email protected] on
  • Nice to see some progress on that "BulletPhysics integration into DS" project you must be very bussy mCasual. I can understand that you leave it as it is for now.

    I am realy excited to see that you have the efford to get physics simulation function into the DS environment. Some time ago I experimented with poser and the bullet physics python script there but since I installed DS I quit using poser.

    But seriously if someone wants physics simulation like this they should use blender. I'm personaly more interested in ragdoll physics (I know this is far beond simple gemonetry physics) but I dream of a way to get ragdoll animations to DS.

    I know that once animated in blender this animation can be imported to DS with the BHV file format and applied to a riged figure.

    But how to do that? As I saw this addon at blenderartists.org I was totaly amazed.

    Khalibloo Panel http://blenderartists.org/forum/showthread.php?321572-Khalibloo-Panel

    I was able to import a riged genesis 2 figure to blender with that script but I am totaly new to riging and animating in blender.

    Now I got the idea of liking this genesis 2 rig to a simple ragdoll with hitboxes. Did anyone tried this so far?

    Once animated and baked the physics it should be possible to import this back to DS with the BHV file format.

    While thinking of that and reading this thread I am geting even more ideas.

    Wouldnt it be possible to give every physical interacting object in the DS scene at least one bone (convert object to figure) write a script to export (may collada file will do that allready) the riged physical objects to a blender scene and use the nice physics simulations there to animate and - while the bones only used to represent the position and orientation - bring back the animation to DS with the BHV file?

     

  • Wraith3dWraith3d Posts: 22

    I had the Fizz-X program and I loved it! Unforturately, DiscoBob only released a limited use (expired it 30 days) version, and for one reason or another, didn't put out a full version (as far as I know).

    That program was great for simulating all kinds of cool stuff; from car crashes to Hulk smashes to explosions.

    I'm definately going to follow this thread, as I would actually be willing to pay money for a working, completed version of what you are building!

    Everything looks great so far, so please, keep going!

  • mCasualmCasual Posts: 4,607
    edited August 2015

    i'm almost sure that ... well maybe it was xmas 2013 i played with the fizz-x plugin in DS3

    well more like 2012

    the 32-bit DS3 plugin still posted here http://www.sharecg.com/v/39578/gallery/9/Plug-in/Physics-Playground-Plugin-for-DAZ-Studio

     

     

    Wraith3d said:

    I had the Fizz-X program and I loved it! Unforturately, DiscoBob only released a limited use (expired it 30 days) version, and for one reason or another, didn't put out a full version (as far as I know).

    That program was great for simulating all kinds of cool stuff; from car crashes to Hulk smashes to explosions.

    I'm definately going to follow this thread, as I would actually be willing to pay money for a working, completed version of what you are building!

    Everything looks great so far, so please, keep going!

     

    Post edited by mCasual on
  • MythmakerMythmaker Posts: 606
    edited July 2016

    IT WORKS IT WORKS!!! 

     

    1 static 1 dynamic 1 kinematic

    Yeehaaa!

    MCJbulletclient01 64bits works right out of the box!! The process was smoother and more straight forward than I thought!

    Very cool, Mcasual. Never thought I get to play with physics inside Daz Studio!

    Oh and the little dynamic cubes were all instances of the big kinematic cube.

    Post edited by Mythmaker on
  • mCasualmCasual Posts: 4,607

    cool it's one of my top to-do projects

    1 - mcjElasticSim - vertlet physics often for breast bounces 

    2 - mcjNewCastle - the final version of the Castle prop

    3 - kinect facial mocap PC-App, script and/or plugin

    4 - bullet physics ( mostly about hinges and dunebuggy suspensions )

    Mythmaker said:

    IT WORKS IT WORKS!!! 

     

Sign In or Register to comment.