transform.forward not really Global,BUG?

hey guys,I’m really confused about it,when you write code like this:
rigidBody.velocity = transform.forward * speed; to tell the gameobject to move along with Z-Axis(or Blue-Axis),it will work fun when you place it in the world without rotation.
But when I rotate it to (90,0,0) of (x,y,z),the code not really worked! It’s no longer move along with the Z-Axis but Y-Axis!not like the documentation says"the blue axis of the transform in the world space"
Don’t know if you have ever faced this problem,please tell me what’s wrong with this,or it’s a bug of unity?

Transform.forward is the forward direction of the model, in world space. So, imagine if you will thar your model is a person instead. If you face that person 90 degrees off the x axis, the face will be along the Y axis, i.e. forward. You may be confusing Vector3.forward, which is a global, or static value, always along the z axis.