The singer was trained for her first ever film role as a tough sailor by US naval officer Jackie Carrizosa, who spent a month teaching her how to speak like a recruit and shoot weapons and claims the singer was even better than her stunt double.
Former gunner's mate Jackie told The Sun newspaper: "We were on set from sunrise to sunset - Rihanna was really tough. She was way better than her stunt double.
"She's not afraid to get bruised or cut. All the stuff her stunt double would normally do, she was doing herself. I taught her how to handle the weapons. When she had a gun in her hand she couldn't stop smiling. She loved it."
Rihanna plays sailor Cora Raikes in the film, who gets caught up in huge battle between aliens and a fleet of US navy warships, directed by Peter Berg.
Rihanna said she based her character largely on Jackie after having learned so much from her.