Rotations, rotations, rotations...

When placing an object on the ground somewhere, I am trying to get it to face the direction of the object that drops it and to align it’s y-axis with the terrain’s normal at that point (so it lays flat). Currently, I am using two lines of code to do this. The first is:

transform.LookAt(dropping object's facing*speed);

The second is:

 transform.rotation = Quaternion.FromToRotation (Vector3.up, terrainNormal);

Is there a way to do it in one step? I don’t really understand Quaternions except that they work wonders with multiple rotations.

You should be able to do it with transform.LookAt(). It can take two arguments, the object you want to look at and an ‘Up’ vector.
So you should be able to do something like:

transform.LookAt(dropping object's facing * speed, terrain normal);

http://forum.unity3d.com/viewtopic.php?t=19981