1. A method for user interaction with a three-dimensional world, wherein the user is represented in the virtual world by an avatar, wherein the user can manipulate the avatar via a user interface, the method comprising: generating a custom gesture for the avatar, wherein the user generates the custom gesture using motion capture or performance capture of the user performing the gesture; associating the gesture with one or more user interface signals, wherein the avatar performs the custom gesture upon an occurrence of the one or more user interface signals; storing the one or more user interface signals; distributing the stored user interface signals to one or more other users; and using the one or more stored user interface signals associated with the custom gesture to communicate a real-time internal emotional state of the user as external emotion exhibited by the avatar, wherein communicating the real-time internal emotional state of the user comprises determining an emotional state of the user by simultaneously capturing facial features and body language of the user in one or more visual images of the user during a video communication using a 3D camera and analyzing one or more facial features and body language features of the user in the one or more images to determine the internal emotional state of the user; and causing images of the avatar performing the custom gesture to be presented using the one or more stored user interface signals associated with the custom gesture in response to determination of a particular internal emotional state in the user that corresponds to the custom gesture; wherein the body language features include the user's stance or placement of the user's arms or hands.