Tutorial 9: Bottle Dynamics: Part 1


In this tutorial, you will create a simple dynamic simulation of a bottle dropping into the ocean.


This scene contains only a bottle and a camera. The rest you will set up. When working with DreamScape dynamics, as with any dynamic system it is important to think about the size of your objects. In this scene the bottle is about 4 inches tall. Generally speaking it is a good idea to keep your objects with real world sizes. You can choose to make a bottle 10 feet high but this will just mean you will need to adjust more of the default dynamics values to get your objects to react properly.


 Start up 3ds Max and open the DSBottleStart.max scene.



Start scene opened


 In the command panel, go to Create/Helpers/DreamScape Objects/Sea Surface and drag a Sea Surface object out in the Top Viewport.   Set its Width and Length to 25 and position it at XYZ 7,7,0 .

 In the command panel, go to Create/Geometry/DreamScape Daemons/Dynamics and drag a Dynamics object out in the Top Viewport surrounding the bottle. Set the Width and Length to 25 and position it at about XYZ 7,7,0.


You only need the Dynamics daemon to be as large as the area where any dynamic interactions will happen. In this case, the surface is small enough to be able to use the entire grid. You should be aware that making the Dynamics daemon only as big as you need will save a lot of simulation time, but understand that the dynamics will only spread as far as the icon shows, and this can, on occasion, create strange dynamics solutions.



Scene with Sea Surface and Dynamics Daemon created


Next you will want to "link" the Dynamics Daemon to the Sea Surface when you calculate the dynamic simulation it will get applied to the surface.


Select the Sea Surface and scroll down to the DreamScape Daemons rollout. Click on the Pick Daemon button and choose the Dynamics Daemon in the scene. You will see Dynamics01 appear in the list.


Now that the dynamics are associated with the surface you will associate the bottle with the dynamics daemon and give it some dynamic properties such as mass.


 Select the Dynamics daemon. In the Modify panel in the General Parameters rollout set the Spacing to 0.4. This will increase the subdivisions for the dynamics grid to 62X62.


By making the Spacing smaller and generating more subdivisions, you are creating a more precise simulation grid to use to calculate the dynamics. The trade-off is speed - the more subdivisions, the longer the simulation can take to calculate.


Scroll down to the Objects Simulation rollout, click the Pick Objects button   and Pick the bottle.

In the Physical Properties group of controls, turn on the Use Dynamics checkbox.

Next, select Bottle from the Objects list and set its Mass/kg to 2.

Scroll down to the Export Parameters Rollout and set the End Frame spinner to 300. Click the "???" button next to Path and choose a folder to save the dynamics data in and name the file prefix BottlePart01. A good choice for the location would be to point it to a Temp folder on your local machine as DreamScape will write a file for each frame into that location.


Now you are ready to run the simulation.


Click the Calculate button and wait for the simulation to finish.



Simulation run with automatic center of gravity


The simulation runs and the bottle bobs and floats in the water. Let's make some refinements right away. First, the bottle's neck doesn't poke out of the water as it bobs, and we need to adjust the scene to make this happen. This is because its center of gravity is automatically calculated. To adjust this, you can make the center of gravity around the object's pivot point and adjust that to your liking


Select the Bottle and go to the Hierarchy Panel. Click the Affect Pivot Only button and move the pivot point down in Z to around 1.70. Exit Affect Pivot only mode.

Select the Dynamics Daemon and scroll to the bottom of the Objects in Simulation Rollout. Select From Pivot Point under Center of Gravity, and run the calculation again.


The pivot point is now offset slightly towards the bottom and should give you the bobbing motion we are looking for. If the simulation is not to your liking you can tweak the pivot point location and run it again until you get the motion desired.



Simulation run with From Pivot Point Center of Gravity


As the bottle drops into the water there is a slight disturbance. To increase the effect of the bottle on the surface luckily you don't have to run the simulation over and over. All the information is stored in the daemon and you can just adjust the meshing of the surface and amount that it is disturbed interactively.


With the Dynamic Daemon still selected, scroll up to the General Parameters rollout and increase the Wake Scale. This value lets you adjust how much effect the dynamic calculation has on the surface. Set the Wake Scale to 2.


What's great about this is that the Wake Scale affects the already calculated dynamics solution so if you play back the animation again, you'll see a larger wake disturbance in the water even though you haven't had to re-simulate.


Select the Sea Surface and set its Width Segments and Length Segments to 100. This will give the ripples a bit more mesh to displace.


You have now created your first dynamic simulation with Dreamscape!