1. A computer-implemented method, comprising the steps of: causing the display of an object in a three-dimensional graphical environment; receiving a selection of the object; receiving a selection of a haptic attribute from a pre-existing library of haptic attributes; associating the haptic attribute from a pre-existing library of haptic attributes; associating the haptic attribute with the object; receiving a signal indicating a manipulation of a user interface device; receiving a first mapping of a first coordinate system corresponding to an avatar; receiving a first mapping of a second coordinate system corresponding to the user interface device; creating a hierarchy of mapping based on the first mapping and second mapping; transforming the manipulation of the user interface device into the three-dimensional graphical environment based at least in part on the hierarchy of mappings to affect a position or orientation of the avatar; determining an interaction between the avatar and the object; and generating a force based on the interaction and the haptic attribute.