3
$\begingroup$

I am trying to make an animation on Cycles render and this is what I have on my scene:

I have a ball that rolls from a high platform until it goes down and hits 11 dominos and make them fall, I want the dominos to have a higher value of gravity than the ball so they can fall on the floor a little faster than they currently do, how can I do this?

I'm using Physics, Both the dominos and the ball are active "rigid body objects". I even tried to increase the gravity value on the "scene" control panel > "rigid body field weights" which it does increase the speed of gravity and makes the dominos fall faster (what I want) but it also changes the gravity of the ball and makes the ball roll too fast and looks unnatural, not what I want.

$\endgroup$
  • 1
    $\begingroup$ That doesn't makes a lot of sense, even in real world contexts. How about increasing the mass of objects like in real life? $\endgroup$ – Duarte Farrajota Ramos Jun 7 '17 at 5:18
  • $\begingroup$ if you wish them to fall faster you could perhaps try to increment the scene's gravity value, form the standard (-9.81) eg: try -99.0 but this would make the ball roll a bit faster, too, imho. $\endgroup$ – m.ardito Jun 7 '17 at 9:38
  • 1
    $\begingroup$ @Duarte Farrajota Ramos I tried setting 0.001 end 1000 as mass for two identical cubes... they fall freely together, at same speed, apparently... but when hit by a rolling ball with higher mass they seem less stiff... $\endgroup$ – m.ardito Jun 7 '17 at 9:58
  • $\begingroup$ @Duarte Farrajota Ramos Yes, I increased the mass of the ball being higher than the dominos', I did this while increasing the translation sampling as Edgel3D suggested, thanks. $\endgroup$ – Luisiana Jun 7 '17 at 18:19
  • $\begingroup$ @m.ardito That's right, if I change the gravity value it will affect all the objects but what I did was to increase the gravity and then I increased the translation dampling to the ball only and it helped to reduce its velocity. $\endgroup$ – Luisiana Jun 7 '17 at 18:26
4
$\begingroup$

I've not used Cycles but the "Damping" setting in the physics properties (see pic) will slow down a particular object where it's used and leave the others alone. The cube has damping applied (bottom right in the settings) and the cylinder doesn't. You can see that they're falling at different rates.

The view is from underneath the grid -

$\endgroup$
  • $\begingroup$ It does work on cycles! certainly this allowed me to have more control on the translation speed on objects, I got the result I wanted, thank you! $\endgroup$ – Luisiana Jun 7 '17 at 18:18
  • $\begingroup$ @Luisiana you're welcome. I did forget to mention that you can also keyframe that translation setting should it become necessary to adjust the effect at any time. $\endgroup$ – Edgel3D Jun 8 '17 at 2:48
1
$\begingroup$

While Edgel3d's answer seems to produce the desired effect, it's not physically accurate (although, admitedly, having two separate groups of objects experiencing different gravity wouldn't be physically accurate anyway!!) - it's more like adding 'drag' or 'air resistance' to the objects so as to slow them. If you run the simulation for longer you'll find that the 'slowed' objects will reach a terminal velocity where they no longer accelerate as they would if the force was purely gravity.

To achieve a physically accurate different force of gravity you can disable the 'world' gravity and implement the equivalent force using a Force field. Since Fields only affect objects on the same render layer you can easily control which objects are affected by which force.

Firstly, disable gravity by either disabling it on the Gravity properties panel or by changing the Gravity Field Weight to zero.

Disable gravity

To mimic the gravity, add a Force field (Add, Force Field, Force). The Force pushes any objects away from wherever you place it - position the Force above all objects so that it acts to push objects 'down' (as would have occurred with 'normal' gravity). In the Physics properties panel set the force Shape to 'Plane', set the Strength to '225' (this seems to mimic the standard gravity of 9.82) and ensure the Falloff Power is set to 0 (this will result in no falloff - so the force acts the same regardless of distance). Since the Shape is a Plane rather than a Point, the force will always act in the Z direction of the Field (ie, 'down').

Force

Duplicate the Force (Shift-D) and right-click to leave it in the same place as the original. Press M to move it to another render layer and select the render layer to use for the altered gravity. Amend the Strength of the Force on the second render layer to whatever 'altered' gravity you desire. Move all objects that want to have the adjusted gravity onto the second render layer. Select both render layers by holding Shift and clicking the render layers in the toolbar.

Render Layers

You should now find that the objects obey the differing gravity depending on which render layer they are placed.

animated

Blend file attached

$\endgroup$
  • $\begingroup$ Realised this doesn't actually work for objects with differing masses since the force applied doesn't take mass into effect - so lighter objects respond to the 'fake' gravity more than heavier ones. This means you'll need to ensure everything on a layer has the same mass and adjust the force appropriately. The original question refers to rolling objects rather than free-falling so the damping might be more appropriate (consider a ball rolling across a sloped carpet - it's effectively drag that slows it, not different gravity). This solution still stands for free-falling objects though. $\endgroup$ – Rich Sedman Jun 8 '17 at 13:26
  • $\begingroup$ @Richard I tried this way since your explanation made sense and it kind of work too if I keep same masses for the objects and change their forces separately; However I found that the damping is more effective for rolling objects, in my case the rolling ball and the dominos, but your solution stands more accurate for falling objects, I will definitely take this explanation into account in the future, thank you for taking the time to reply! $\endgroup$ – Luisiana Jun 8 '17 at 21:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.