I'm currently programming a space shooter.
You can watch it here
Looks great!
1. Can I get rid of the inertia of motion and rotation? It is necessary for precise positioning of the AI. All I need is a couple of methods Move(Vector3 offset) and Rotate(Quaternion offset). Is it possible?
The Position and Orientation fields can be set.
I would be wary of using them to perform regular movement though. They do not work using velocities, but rather teleportation. Continuous collision detection and collision response won't work as expected since the velocities won't match the motion. Going down this route almost always causes some issue later where physics are trying to interact with nonphysically controlled objects.
If it's okay for the objects be a little behind their goal position and orientation, you could consider using SingleEntity(Linear/Angular)Motor, or the helper classes EntityMover and EntityRotator. These can be used to 'target' a goal state to which the controlled entity will work towards with configurable force and speed.
Basically, the recommended way is always to use velocities and forces to control the motion of dynamic entities. The closer the control scheme gets to that, the less special case annoyances will sneak in.
2. How to disable the ships to push each other in some cases? As well as players in the Quake can't push each other.
The collision rules system can be used to control how entities interact in some ways. It's primarily useful for short circuiting out of the collision pipeline at the desired location, so the result would be objects simply not colliding with each other. More information can be found here:
http://bepuphysics.codeplex.com/wikipag ... umentation
If you want an object to act as if it has infinite mass, you can make it kinematic (construct it without giving it a mass, or later call entity.BecomeKinematic). They have effectively infinite mass and inertia.
If you require more fine-tuned control over when objects are treated as if they have infinite mass, you're looking at controlling collision response manually. In this situation, you could make all ships as kinematic, still control their motion through velocities preferably, and then when collisions occur, apply your own "collision forces." A pair of kinematic objects does not undergo collision response since they both have infinite mass. However, you could intervene and change their velocities based on bounding volume overlap or contact points.