Wonderwall

Zac Efron packed on 18 pounds of muscle for his role as a troubled Marine in the Nicholas Sparks drama The Lucky One -- no easy feat for the 24-year-old actor.

"By the end of the movie I didn't recognize myself," Efron, who weighed 145 pounds when production began, tells the May issue of Men's Health. "You hear about guys like Christian Bale who dive into it and are really able to transform. I've always wondered if I had the willpower to actually do it. And I'll always have pride around the sense that I can."

Efron -- who first rose to fame as basketball heartthrob Troy Bolton in the High School Musical movies -- has always challenged himself to do more. "I could pick up almost anything. If you put it in front of me, I could always find a way to tackle it," he says of his rigorous training regimen. "I was never a natural at anything, but I could always outwork everybody."

To build muscle, Efron began each day at 5:30 a.m. with a high-protein meal ("a shake and, you know, an eight-egg omelet," he says) followed by a morning workout. By day's end, he aimed to consume 3,500 calories.

Efron also worked with Logan Hood of Epoch Training, and he was soon able to lift more than ever before. "You get this strange sense of power as those weights increase," he tells Men's Health. Efron worked out five days a week, about an hour each time. "If you're eating appropriately and getting enough rest, you don't need to train all day," Hood explains. "All the work's happening when you're outside of the gym."