In Motion you would take your gunshell object and apply a behavior to it. It is not complicated but requires some basic knowledge of using Motion. I would suggest you obtain some training on Motion basics. There are a number of good video tutorials available on the web. Ripple Training as an example. I personally like Peachpit Presses' Apple Pro Training Series book "Motion 5 Designing and Animating Motion Graphics" by Mark Spencer. Available through Amazon or Peachpit.
This stuff isn't hard to do... or figure out... but it IS a bit of a process! Keyframing might be easier... it's definitely something we're generally more accustomed to, but there is a lot of flexibility in using behaviors - especially "after the fact" when adjustments need to be made (changing the starting times and length of time they are to be "performed" etc...)
For a gunshell eject:
You can use a Throw behavior to start it's initial direction, and a Simulation > Gravity behavior to pull it down. Add an Simulation > Edge Collision behavior to give yourself at least a floor (and perhaps walls and a ceiling if you like -- all "surfaces" are individually selectable). You can use Spin behaviors to rotate the shell.
I've showed the "Timeline" viewer for this example to show the behavior (purple bar) placements (they're labelled).
Mock up: 1 rectangle (emulate ejecting shell)
Edge Detection set for entire duration of animation (but only needs to start before object needs to bounce -- Bounce strength set to about 37% here...). Edge Detection uses the edges of the project size as the default, but they are adjustable with the Width, Height and Depth parameters -- but they will still be centered in the canvas, no matter what (not entirely true, but I won't muddy this with a long explanation... ask later!)
Throw and first Spin start together (both start at the beginning of the action - but not the beginning of the project.)
Playhead at 1/2 into Throw behavior or the point at which gravity will start taking over. (Gravity and Throw overlap.) Gravity goes to end of animation (not necessarily the end of the project). [As a point of reference, the length in time of the Throw behavior is about 20 frames.]
Each Spin end marks a bounce on the floor, and the rotations of new spins are different rates in opposite directions (but should be whatever would look "normal" -- like a faster spin in the same direction after a bounce of particular angles, etc...) There are 4 Spins total (so only 3 bounces - the last spin "settles" the object to a horizontal orientation and is only 2 frames in time length.)
A camera is used (so, a 3D project.) Throw in X, Y & Z directions (Z toward the viewer, or positive). All values sufficiently high to be "fast" (e.g. Throw.X : 490; Throw.Y : 685; Throw.Z: 620; Gravity Accel: 5200, etc... you'll have to adjust these values relative to each other to create the effect you're going for.) If you need the shell to eject "backwards" (or to the left) use negative values for Throw.X, but the same magnitudes.
If you have a Front face on the Edge Collision, you might want to increase the Depth to about 1000 or you could turn it off and have the shell fall off the screen at the end of the animation
None of any of the above is "hard and fast" rule for this type of effect. Give yourself some leaway to experiment. For example: if you need a "deflection" off of something else, add another Throw behavior for 3-5 frames or so (concurrent with the gravity) and have the object go in a different direction. Etc...