11
$\begingroup$

I am trying to animate a collision between an asteroid and a planet. I have a particle emitter at the point where the asteroid hits the planet which emits particles, however they unrealistically fall down the Z axis.

Ideally I would like them to blow out from the planet then curve back and land on the planets surface due to the planets gravity. I would also like a smoke simulation to spread out from the area in a similar way, so a way that would do both would be great.

The closest I have got so far is animating force fields however they look very unrealistic.

My current situation: Oh dear...

$\endgroup$
1
  • $\begingroup$ I think in blender objects have not their own gravity, so one way to do what you wish could be to setup the "collision" scenario in a way that the planet has the blender origin at its own center, and the grid Z axis oriented towards the surface collision point. In that way the "local" gravity will work. Maybe you can use another scene for that "local impact", but "observe" it from the expected point in "universe", then mix them together compositing. You can also use game engine recording option to get the "impact" animation recorded, and then use it in the "universe" scenario... just an idea. $\endgroup$
    – m.ardito
    Commented Oct 25, 2015 at 13:28

1 Answer 1

14
$\begingroup$

Quick anwer, you can reorient gravity by changing the world setting on the scene tab.

From

Default Gravity

to

Gravity in y direction


However force fields can provide a more realistic collision at a planetary scale.

For example, here is a direct impact

Direct impact animation

and a glancing impact

Glancing impact animation

To do something similar to this, do the following in Blender 2.76:

  1. Create a new blend file.
  2. Delete the cube.
  3. Add a sphere for the planet.
  4. Set the gravity in the scene to 0 for all axes. Planet
  5. Rename the sphere to 'Planet'. This is so we can refer to it easier later.
  6. Set the physics for 'Planet'
    • On the physics tab select 'Force Field', 'Collision', and 'Rigid Body'. This will add several panels.
    • On the 'Rigid Body' panel, unselect 'Dynamic'. This will prevent the planet from moving due to the simulation.
    • On the 'Force Fields' panel set the force to a negative value. This will cause other rigid body object and particles to move towards 'Planet'. Use a value of -50 for this example. Planet physics setup
  7. Add another sphere. This will be the meteor which crashes in the planet. Rename this sphere 'Meteor'. You might also want to adjust the camera to keep both objects in view.
  8. On the physics tab for 'Meteor', select rigid body. At this point, hitting play on the timeline (or alt-A) 'Meteor' should be pulled toward 'Planet' and stop when it hits the surface.

Meteor setup

  1. The final step is to add particles for the explosion on impact.
  2. When running the animation note when the 'Meteor' hits 'Planet'. In this example it occurred at frame 27.
  3. On the particle tab, add a particle system to meteor.

    • In the emission panel, Set the 'Lifetime' to a large number to make sure the particles persist through the animation. In this example, use 500.
    • Set the particle 'Start' and 'End' to the frame of the impact. In this example the value is 27. Adjustment may be required for the specifics of a simulation.
    • In the Velocity panel, set the 'Normal' velocity to a value large enough to overcome the velocity of the impact. In this example, a value of 15 was enough.
    • On the physics panel, select 'Die on hit'. This will cause the particles to disappear when they hit 'Planet'. Particle setup
  4. Play the animation using the play button or alt-A, and the result should include a shower of debris after the impact. Debris in flight


The blend file for the direct collision animation above is available at

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .