With the hitbox changes and missile trucks in particular, there's been discussion about hitboxes, units shooting over/through each other, etc. But most people don't really know how it all works. So let's clear it up so you can better understand the game.
All units have a hitbox. Typically vehicles have a box and bots have a cylinder shape. If a projectile collides with the hitbox, it explodes and the unit takes damage. The hitbox is NOT the shape of the unit model necessarily.
Then every unit has a "midpoint" (which is not always in the exact middle of the unit), which other units always aim at when trying to shoot at them. Also determines how high a radar dot floats, you can roughly identify units with this.
And weapons have a point from which the projectile starts from when fired.
When shooting, units don't shoot if there'd be a friendly units hitbox on the route of the projectile, from the gun to the midpoint of the target. Even if other parts of the target's hitbox would be in plain sight, they always aim for that midpoint. Friendly fire can still happen when a friendly unit comes from the side and collides with the projectile while it's on its way (plus sometimes they just calculate badly and keep hitting a stationary friend, happens at least w units that have two barrels). There's also a "aimFrom point" which is used in calculating the trajectories, that is not the same as the projectile spawn point - but I don't know the algorithm there which is used when, exactly.
It's all based on the physics of this calculation - is there a friendly hitbox blocking the projectile route from weapon to target? So it's never really set in stone what can shoot over what, it depends on distance to target, height of targets midpoint, where the friendly unit stands, elevation, and the arc of the projectile.
Type /debugcolvol to see these shapes ingame. The hitbox is the violet shape, projectile spawn point is red point, midpoint is violet dot, and aimFrom point is yellow.