LookAt - Change rotation origin point?

So I have a cannon, and it is basically looking at wherever the Mouse is. So the rotation is constantly changing. But the cannon rotates around its center. And that's unnatural...

So my question is more like... how do I set a "origin point" for the cannon to rotate around it instead of its own center?

The LookAt function rotates an object along its pivot point, which is set in the 3D model. If you change the pivot point inside your 3D modelling program (like 3DS Studio, Maya, Cinema 4D, ...) and reimport it, it should be ok ;)

edit: another (but less beautifull) way is to wrap the cannon in an empty object, set the center point of that empty object and add your script to this object ;)