How to apply Physics Transformations

Jay VersluisJay Versluis Posts: 249
edited December 2016 in Carrara Discussion

Hey folks, I've been getting into Blender recently, and I was wondering if the following feature is somewhere to be found in Carrara.

Imagine you stack up a healthy number of objects and let Carrara calculate physics for them. So on frame 0 all objects are in the air, then you add physics, and 200 frames later they're all on a big pile on the floor. 

But now imagine that how that pile looks at say frame 100 is really what you want. Is there a way to "freeze" this setup without having to stay on frame 100 of the timeline at all times? Perhaps even remove the fact that physics have been used to create this setup?

In Blender it's called "apply transformations", just curious how to deal with it in Carrara.

Post edited by Jay Versluis on

Comments

  • PhilWPhilW Posts: 5,145
    edited December 2016

    I think you can do this - set Physics as the animation method for each object and run the physics simulation.  If you then change the animation method for each item to Keyframe, it will warn you about changing animation method and give you a slider to set the accuracy (default is 50%, which is usually fine). You then have the ability to edit keyframes just as you would normally - so for example, if you delete all the keyframes after a particular point, the animation would start as normal and then appear to freeze at that point. Or you could freeze it and then resume a couple of seconds later, just to give a couple of examples.

    Note that you can multi-select any number of objects and change the animation method for them all at once, you don't need to do it object by object (whivh is a blessing!).

    The other way of doing this, particularly if you have a large number of objects and you just want to capture a particular state, would be to group them and export this group as an OBJ, and then reimport that as a static prop.

    I hope that helps and gives you some ideas!

    Post edited by PhilW on
  • DesertDudeDesertDude Posts: 1,235
    edited December 2016

    I just did a quickie test before I run out the door on a hunch. I dropped a few cubes on a plane and let them bounce around, grouped them, then exported them at the 3 second mark as an OBJ. Imported into Carrara and they were in the same position as the physics cubes. Warning, quick test, so I might be missing something or there may hidden gotchas, or a better smarter method.

    Post edited by DesertDude on
  • TangoAlphaTangoAlpha Posts: 4,584

    I just did a quickie test before I run out the door on a hunch. I dropped a few cubes on a plane and let them bounce around, grouped them, then exported them at the 3 second mark as an OBJ. Imported into Carrara and they were in the same position as the physics cubes. Warning, quick test, so I might be missing something or there may hidden gotchas, or a better smarter method.

     

    I've done exactly that to physics'd items. transferring to DS. But you should be aware in importing the OBJ back into Carrara, you'll lose any memory benefits from having diplicated objects since each one will now have its own mesh.

  • 3DAGE3DAGE Posts: 3,311

    If you're using Rigid-body physics,. You can set the motion type to physics,. run the sim,. then set the motion type to keyframe,. Carrara will translate the position info into keyframes. see below..

    NOTE: doesn't work with Soft-body physics (it doesn't transfer the physics mesh deformation).

    you can also export the OBJ (with morphs and skinning) to get the OBJ model from a specific frame

     

    In  Carrara,.

    Open a new scene,. Add an object,. go to the MOTION tab,. and change the motion type , from Keyframe,. To Physics.

    the next thing should do,. is to set the physics parameters for that object,. (Mass / Bounce /  Friction) see (Effects tab).

    you should also set the physics parameters (Effects tab) for any other objects in you're scene which your Physics object could collide with,.

    since a rubber ball dropped onto a clay surface, will behave differently to a rubber ball droppped onto a rubber surface,. Both surfaces play a part in the outcome.

    once you have an object who's motion is set to physics,.  you can only position, and adjust that object, on the first frame of your animation.

    Run the physics sim by clicking the icon on the top toolbar.

    when it's done,. Select your physics object,. Go to the Motion tab,. Change the Motion method back to Keyframe.

    Hope that helps :)

     

  • Thanks for your input, guys! 

    Both approaches work well indeed. I ended up using Phil's idea with a modification: calculate physics, set the animation back to keyframe and find my desired spot in the timeline. Then I deleted all keyframes after this event, as well as before, and shifted my desired keyframe to frame 0 on the timeline. Now I get to keep the benefits of memory management, and there's no animation or physics in my still image anymore. Hurra! 

  • PhilWPhilW Posts: 5,145

    Glad you found a way to do what you wanted - and pleased to help!

Sign In or Register to comment.