C4D Soft Body Dynamics – Tutorial Part One

Cinema 4D Tutorial – C4D Soft Body Dynamics – Tutorial Part One

This is part one of a two part tutorial that I created for 3D Artist magazine last year. It is a great mag for tutorials, ideas and inspiration, so I suggest you check it out if you’re not familiar.

You can download the required files to complete this tutorial from here.

Find part 2 of this tutorial here

3dartist-blowup

C4D Soft Body Dynamics

There are several ways that you could simulate an object filling with air in Cinema 4D. One solution could be to model the deflated and inflated mesh as morph targets and then use the Pose Morph tag to blend between these two states. The drawback with this approach is you need to manipulate your mesh to create both morph targets, in other words, you essentially need to model two objects with the same point count.

In this tutorial, Tim will show a technique of inflating your objects using Soft Body Dynamics. This approach is much less work intensive than using morphs as you only need to model the object once before inflation, and dynamics will do the rest for you.

By using dynamics to ‘model’ your blown up object, you have the flexibility to alter the base mesh at anytime and rerun the simulation. This means you can create a low resolution object to test your theory and then go back later and add in extra detail such as wrinkles and creases.

As well as introducing the basic principles of working with Soft Body Dynamics in Cinema 4D, Tim will demonstrate how you can use vertex maps for an added layer of control over the dynamics simulation. By weighting the object vertices, you can control the influence of the simulation at a vertex level, in this example you will use this technique to ensure the seams of the object remain stiff and help to maintain the overall shape.

Dynamics can be fairly unpredictable, so Tim will show you how to cache your result for speedy and consistent playback in the editor and reassurance that your scene will render correctly over a network. Once the dynamics has been baked we will add in some camera animation and fine tune the motion using Cinema 4D’s F-Curve Manager.

BlowUp_01

Preparing the mesh for dynamics

First of all you need to locate and open the starting project file called 3DArtist_BlowUp_Start.c4d which is found on the magazine cover disk. It is probably a good idea to copy this to a convenient location on your hard drive before opening the scene file. Once open, select the 3D Logo Polys object and hold down Alt and add a HyperNURBs or Subdivision Surfaces object. The starting mesh is fairly low resolution which will help speed up the dynamics simulation, we then subdivide the geometry to create a smoother surface for rendering later. Next select the 3D Logo Polys object and from the Object Manager menu, choose Tags – Simulation Tags – Soft Body

BlowUp_02

Creating a collision object

Press play and the object will drop down due to gravity, stop and rewind, then add a floor object to the scene. With the floor selected, choose from the Tags Menu – Simulation Tags – Collider Body. This adds a Dynamics Body Tag to the floor object and automatically sets the Dynamic parameter (under the Dynamic Tab) to Off. The floor will not react to any forces such as gravity, but it will act as a collision object to any dynamic objects in the scene. On frame 0, move the logo up above the floor and press play again, the logo will drop down, then hit and land on the floor.

BlowUp_03

Configure the dynamics settings

Select the Dynamics Tag on the Floor, under the Collision Tab, change Bounce to 90%. Select the Dynamics Tag on the 3D Logo and under the Collision Tab, set Bounce to 120%. To stiffen the object, switch to the Soft Body Tab, under Shape Conservation, increase Stiffness to 100. Now the logo is too stiff and almost behaves as a rigid body. To create rigidity on only the seams of the object. Drop the vertex map tag from the logo into the Map field for Stiffness. Increase the Stiffness to 500, where vertices are weighted 100% they will be very stiff, on vertices which are weighted 0% the stiffness parameter will have no effect.

BlowUp_04

Inflating the soft body

To inflate the object, we can use the Pressure parameter which is found under the Soft Body tab of the Dynamics Tag. Rewind to frame 0 and then press play, once the object lands on the floor (around frame 30), stop playback. Set Pressure to 1 and add a keyframe by Control-Clicking on the small animation dot. Move forward one frame and set Pressure to 50, add another keyframe. Move forward a few more frames and set Pressure to 25 and add a keyframe. Now when you play the scene, the logo will hit the floor, then inflate and bounce up.

BlowUp_05

Bake the dynamics

Once you are happy with the simulation it makes sense to bake the result. This will allow you to scrub the timeline and playback will be much smoother. If you intend to render any dynamics simulation using a network rendering solution, then baking is essential. Select the Dynamics Tag on the logo, switch to the Cache Tab and click Bake Object. After a few moments you’ll see the icon on the tag change to show it is baked and playback will be much quicker now. You can also bake ALL dynamic objects in your scene under Project Settings – Dynamics – Cache.

BlowUp_06

Animate a camera

Add a null object to the scene with a camera as a child. Zero out the camera coordinates and then set Z position to -600. Rotate and move the parent null until the logo is framed nicely. Add keyframes for the null rotation and Y position so the camera follows the logo as it drops. Around frame 30 when the logo inflates, add a keyframe for camera Z position, then move to the end of the project and set the camera Z position to -700. Open the F-Curve manager and adjust the shape of the curve so the camera snaps back as the object inflates.

Using Dynamics as Morph Targets

If you want the control of morphing and the simulation from dynamics, you can combine the two. Create a duplicate of your object, one with the soft body dynamics setup and one with a Pose Morph Tag. Enable points under the basic tab of the Pose Morph Tag. Hide the dynamic object in the editor and then drop this object into the Poses field of Pose Morph to create an absolute morph target. When animating the morph sliders you can blend the shape and use the dynamics object as a morph target.

For step by step instructions, watch the video below.

Author: admin

8 Comments

  1. rick
    rick On April 16, 2014 at 6:55 AM Reply

    Hi there!

    I’ve been trying to get this tutorial to work on some of my own text. But It just doesn’t seem to work. Would I be able to send you the file so maybe you can see what’s going wrong/i am missing/ i am doing wroing?

    i’ve gone over it and over it, repainted the weights and everything but it just won’t blow up?

    Love to hear back from you since it’s a great look you’ve made there!

    Sincerely,

    Rick

    • admin
      admin On April 17, 2014 at 9:03 AM Reply

      Hey Rick, Did you model the text or did you make it using an extrudeNURBS / MoText? Chances are you need to optimise the mesh to join the caps to the sides if you didn’t model this yourself. The mesh you get with extrudeNURBS is far from ideal but it should still work, it just might look a bit of a mess in places.

  2. Rick
    Rick On April 17, 2014 at 4:54 PM Reply

    Hi,

    Yeah it’s an extrude. I did optimise it and after hitting play it exploded in some humongous polygons in several places. So found out it was due to crossing/overlapping/intersecting points, and fixed those, optimized again and hit play. It reacted as a soft body should (sort of slight wiggling) while dropping and reacting to the floor. But without inflating this time?

    I then did a test with a box modeled version of a simple letter and that worked exactly like your tutorial, so i got the steps/settings right, i guess, otherwise that one shouldn’t of worked either.

    But what I would like to figure out is why the extrude mesh (which after making it editable and optimizing is exaclty like a box model mesh – a mesh is a mesh right?) isn’t working in the same way…or, more probable: what I’m doing wrong :)

    Thanks for the reply,

    Rick

    • admin
      admin On April 22, 2014 at 10:23 AM Reply

      Hi Rick, the problem with using an extrude is that by default the caps are one n-gon, you’d need to use a regular grid of quads for the blow up to work. Also the sides of the extrusion are by default only one polygon, you’d need more sub-divisions here too. I guess that is why it isn’t working correctly.

  3. Rick
    Rick On April 23, 2014 at 4:45 PM Reply

    Hi,

    Yeah it must be the N-Gons. Because the sides were subdived well enough, and although I ‘deleted’ te N-Gons – which automaticly triangulated the cap – it still doesn’t give the desired result. A shame it only seems to work with regular quads though….would save a heck of lot of time to extrude a typeface rather than box modelling a font :)

    Anyway, thanks again!

  4. Hugo
    Hugo On May 7, 2014 at 3:40 AM Reply

    Hi Tim,
    I tried this technique modelling a typo from a basic polygon, extruding edges and then extruded the whole face to create volume, then inner bevel and extrude again to create the final bevel as your 3D shape. After creating the weight map, and apply the soft body, doesn’t work the pressure effect :(
    I tried again the same technique with simple shapes with the same result.
    Then I created another volume starting off from a box and extruding faces and…works perfect!

    Do you have any idea why this could happen?

    Thanks for your great tutorials!
    Best!

    • admin
      admin On May 7, 2014 at 10:32 AM Reply

      Hugo, i’m not sure why your mesh is not working. Perhaps it has ‘holes’ did you try to optimise the mesh? Are all the edges connected with no stray points? That is the only thing I can think of right now that might be causing it.

  5. Hugo
    Hugo On May 7, 2014 at 2:10 PM Reply

    Hi Tim,
    Yes, I optimized the shape and I’ve tried with different simple volumes with the same result. Here is the file if you want to check. Anyway, just let the community know the best way to model using this technique. Thanks again!

    https://www.dropbox.com/s/wlyuinndm6maxw6/Modelling%20issue%20with%20pressure.c4d

Leave a Reply