I've seen many lists on the internet that includes many 'ities' (maintainability, scalability, portability, etc), but I'm not sure if animations, screen transitions, and similar features are functional or non functional requirements.
Animations can be an extremely important part of the user interface. They communicate or hint at things a user can do, guide the user through the application or help build up a well defined mental model of the application inside the user's head. Consider the classic iPod interface, where screens slid from side to side to signify the navigation through a hierarchy.
Nothing communicated this better than an animation, which helped build a mental model of the navigation tree which greatly improved usability. Imagine the same interface without animations, where screens would simply change without transition; it'd be much harder to understand intuitively. Since I'd consider a good UI to be pretty essential to an application (depending on the kind of application obviously), animations are not just "eye candy", they're part of usability.
If you just throw animations on top of a general GUI with no clear purpose, they're pretty superfluous of course.
Having said this, usability is typically considered a non-functional requirement.
Your question is like "Is the color of a real world object a functional or non-functional property?" and the answer is - it depends.
The color of a car is mostly non-functional, since it has no direct influence in the main functions of a car (you can have cars any color you like, they all can go from A to B, transport passengers etc). In contrast, the color of a traffic-light is obviously pretty functional - a traffic light with blue, white and pink lamps would not be of much use for most of us.
And so is "animations" or "screen transitions" - for example, if you create some kind of movie maker software, presentation software, or some kind of special visualizing software, animations and "eye candy" may be pretty functional. For other kind of software those things may not improve the core functions of the program and thus, they are non-functional.