James McAvoy has revealed that he enjoyed playing a "mentally ill" character in Filth.
The Scottish star portrays drug-addicted and misogynistic detective sergeant Bruce Robertson in Jon S Baird's big-screen adaptation of Irvine Welsh's best-seller, alongside Jamie Bell, Alan Cumming and Imogen Poots.
"He's a nightmare. He's one of the most f***** up characters out there. I loved playing him because he's so mentally ill and he's so unhappy and afraid of who he actually is. He gets to Iive in his fantasy," he said.
"He was good fun to play in terms of the theatricality of it, and the fact I got to play someone so desperately unpleasant and f***ed up and unwell at the same time as trying to make the audience laugh as I'm trying to make them cry."
James - who stars in British thriller Welcome To The Punch, Danny Boyle's Trance and is playing Macbeth in a London play - aims to do justice so the film matches up to the book.
"We try to do everything in that film and whether you like it or not. There are people who will hate it but we always aimed to make a film that people hate or love. And we try and do everything to you - to make you laugh, cry, be repulsed and be intrigued - and I think we do it successfully," he said.
The 33-year-old actor admitted that the movie had been through some struggles.
"I've made Filth with a director who spent four years of his life making that film. At many points, that film nearly did collapse and it's just such a treacherous business to be in, so I understand those nerves," he added.
:: Welcome To The Punch is in cinemas now, while Trance is released on March 27.