fig1 illustrates a system 10 configured to provide haptic stimulus associated with other sensory content being conveyed to one or more users . this may enhance the experience provided to the one or more users by the content . the sensory content may include video content , video game content , audio content , three - dimensional content , and / or other content . the system 10 is configured to vary the haptic stimulus associated with the other sensory content based on position information . such position information may include information related to the position of the one or more users , the position of a controller ( e . g ., a game controller ), the position of an actuator delivering the haptic stimulus , and / or other position information . in one embodiment , system 10 includes one or more of a user interface device 12 comprising a content delivery portion 14 , one or more actuators 16 , one or more sensors 18 , one or more controllers 20 , electronic storage 22 , one or more processors 24 , and / or other components . the user interface device 12 is configured to provide sensory content to one or more users . the sensory content is conveyed to the one or more users through content delivery portion 14 of user interface device 12 . in one embodiment , the user interface device 12 is configured to be positioned at a fixed location during the conveyance of content to the users , and not be moved and / or carried about by the users . this is not intended to be limiting , as one or more of the principles described herein could be extended to systems in which the user interface device is movable / portable ( e . g ., portable gaming systems , smartphones , etc .). in one embodiment , user interface device 12 includes an electronic display . in this embodiment , the display surface of the electronic display functions as content delivery portion 14 of user interface device 12 . in one embodiment , user interface device 12 includes an audio speaker . in this embodiment , the area at which sound is emitted from user interface device 12 functions as content delivery portion 14 . in one embodiment , user interface device 12 includes an electronic display and an audio speaker . the sensory content provided to users by user interface device 12 may include video , such as movies , television , and / or other video . the sensory content provided to users by user interface device 12 may include graphics ( dynamic and / or still ) associated with a videogame , a virtual world , a simulation , and / or other computer generated graphics . in embodiments in which user interface device 12 conveys video , computer generated graphics , and / or other visual content to users , user interface device 12 may further provide audio content to users associated with the visual content . for example , a movie or television show , a videogame , or other types of visual content , may be associated with a sound track that is conveyed to the users simultaneously with the visual content . in one embodiment , user interface device 12 is configured to deliver audio content to the users without accompanying visual content . in one embodiment in which user interface device 12 is an electronic display , user interface device 12 is capable of conveying three - dimensional views of content to users through a display surface that functions as content delivery portion 14 . the three - dimensional views may include three - dimensional views of video content , computer generated images , and / or other visual content . by way of non - limiting example , in this embodiment , user interface device 12 may include one or more of systems employing active 3d glasses , lenticular displays , and / or other types of three - dimensional displays . the actuators 16 are configured to generate haptic stimulus for the users . as such , at least some of actuators 16 are in contact with the users , or in contact with objects that contact the users , during conveyance of the sensory content to the users by user interface device 12 . by way of non - limiting example , one or more of actuators 16 may be positioned in or on a floor surface supporting the users ( e . g ., installed in the floor , carried by a mat lying on the floor , etc . ), one or more of actuators 16 may be carried by a brace or other wearable item worn by the users , one or more of the actuators 16 may be carried by objects that are carried by the users ( e . g ., carried by controllers 20 ), one or more of actuators 16 may be carried by furniture on which the users are seated or lying , and / or one or more of the actuators 16 may be carried by or disposed in or on other objects that contact the users . as used herein , the term “ haptic stimulus ” refers to tactile feedback that is applied to the users . for example , such feedback may include one or more of vibrations , forces , and / or motions that are applied physically to the user by the actuators 16 and / or the objects with which both actuators 16 and the user are in contact . non - contact tactile feedback in the form of ultrasonic energy , or other forms of energy may also be implemented as haptic stimulus . the actuators 16 may include any device configured to generate such feedback for application to the users . for example , actuators 16 may include one or more of a piezoelectric actuator , a pneumatic actuator , a eccentric mass actuator , an electroactive polymer actuator , an electrostatic surface actuator , shape memory alloy , and / or other actuators . it will be appreciated that although actuators 16 are shown in fig1 as a single entity , this is for illustrative purposes only . in one embodiment , actuators 16 includes a plurality of actuators . the plurality of actuators may be included in , carried by , and / or in contact with a single object or device . or , the plurality of actuators may include actuators included in , carried by , and / or in contact with a plurality of separate objects or devices . the sensors 18 are configured to generate output signals that convey information related to position . in one embodiment , the output signals convey information related to the position of one or more of at least one user , actuators 16 ( e . g ., if one or more of actuators 16 are included in or carried by a movable object ), controllers 20 , and / or other objects . the positions for which information is conveyed by the output signals of sensors 18 may include one or more of positions in an absolute coordinate system , positions with respect to user interface device 12 ( e . g ., positions with respect to content delivery portion 14 ), positions of one or both of actuators 16 and / or sensors 18 with respect to a user and / or the user &# 39 ; s body parts , positions of users with respect to each other , and / or positions with respect to other objects . one or more of any of a variety of sensors that generate output signals that convey information related to position may be implemented in system 10 as sensors 18 . by way of non - limiting example , sensors 18 may include one or more of an accelerometer , a gyroscope , a digital compass , a ultrasonic echo - location sensor , an optical distance or proximity sensor , an imaging sensor ( e . g ., video or still imaging ), rf sensors , and / or other sensors . it will be appreciated that the output signals of sensors 18 may directly convey positional information , such as distances , orientations , angles , and / or other positional information . the output signals of sensors 18 may indirectly convey positional information . for example , sensors 18 may convey information related to time derivatives of position ( e . g ., acceleration ), images from which position can be determined , and / or other types of information from which position may be determined . the output signals may be output from sensors 18 “ raw ,” or sensors 18 may include capabilities for providing some preliminary processing . in one embodiment , sensors 18 include one or more sensors that are carried by other components of system 10 ( e . g ., actuators 16 , sensors 18 , etc .). in one embodiment , sensors 18 include one or more sensors that are not moved during use . in one embodiment , sensors 18 include one or more sensors that are provided as separate components that are wearable by users . the controllers 20 are configured to provide user interaction and control with respect to system 10 . in one embodiment , controllers 20 include one or more game controllers implemented by users to manipulate virtual characters and / or objects in a videogame , virtual world , and / or simulation . in one embodiment , controllers 20 include one or more electronics controllers configured to provide users with control over configurations and / or settings of one or more other components in system 10 ( e . g ., a remote control for user interface device 12 ). the controllers 20 may include handheld controllers , camera controllers that work in conjunction with handheld components ( e . g ., sony playstation ® eye and playstation ® motion controller ), and / or controllers that are not handheld ( e . g ., flight simulation controls , driving simulation controls , etc .). in one embodiment , electronic storage 22 comprises electronic storage media that electronically stores information . the electronic storage media of electronic storage 22 may include one or both of system storage that is provided integrally ( i . e ., substantially non - removable ) with system 10 and / or removable storage that is removably connectable to system 10 via , for example , a port ( e . g ., a usb port , a firewire port , etc .) or a drive ( e . g ., a disk drive , etc .). electronic storage 22 may include one or more of optically readable storage media ( e . g ., optical disks , etc . ), magnetically readable storage media ( e . g ., magnetic tape , magnetic hard drive , floppy drive , etc . ), electrical charge - based storage media ( e . g ., eeprom , ram , etc . ), solid - state storage media ( e . g ., flash drive , etc . ), and / or other electronically readable storage media . electronic storage 22 may store software algorithms , information determined by processor 24 , content to be conveyed to users through user interface device 12 , and / or other information that enables system 10 to function properly . electronic storage 22 may be a separate component within system 10 , or electronic storage 22 may be provided integrally with one or more other components of system 10 ( e . g ., user interface device 12 , processor 24 , etc .). processor 24 is configured to provide information processing capabilities in system 10 . as such , processor 24 may include one or more of a digital processor , an analog processor , a digital circuit designed to process information , an analog circuit designed to process information , a state machine , and / or other mechanisms for electronically processing information . although processor 24 is shown in fig1 as a single entity , this is for illustrative purposes only . in some implementations , processor 24 may include a plurality of processing units . these processing units may be physically located within the same device , or processor 24 may represent processing functionality of a plurality of devices operating in coordination . for example , in one embodiment , the functionality attributed below to processor 24 is divided between a first processor provided in a computer , a videogame console , an optical disk player , and / or other home entertainment equipment , and a second processor that communicates with the first processor to provide position information to the first processor . as is shown in fig1 , processor 24 may be configured to execute one or more computer program modules . the one or more computer program modules may include one or more of a content provision module 26 , a position module 28 , a stimulus module 30 , an actuator control module 32 , and / or other modules . processor 24 may be configured to execute modules 26 , 28 , 30 , and / or 32 by software ; hardware ; firmware ; some combination of software , hardware , and / or firmware ; and / or other mechanisms for configuring processing capabilities on processor 24 . it should be appreciated that although modules 26 , 28 , 30 , and 32 are illustrated in fig1 as being co - located within a single processing unit , in implementations in which processor 24 includes multiple processing units , one or more of modules 26 , 28 , 30 , and / or 32 may be located remotely from the other modules . the description of the functionality provided by the different modules 26 , 28 , 30 , and / or 32 described below is for illustrative purposes , and is not intended to be limiting , as any of modules 26 , 28 , 30 , and / or 32 may provide more or less functionality than is described . for example , one or more of modules 26 , 28 , 30 , and / or 32 may be eliminated , and some or all of its functionality may be provided by other ones of modules 26 , 28 , 30 , and / or 32 . as another example , processor 24 may be configured to execute one or more additional modules that may perform some or all of the functionality attributed below to one of modules 26 , 28 , 30 , and / or 32 . the content provision module 26 is configured to control the provision of content to the users via user interface device 12 . if the content includes computer generated images ( e . g ., in a videogame , virtual world , simulation , etc . ), content provision module 26 is configured to generate the images and / or views for display to the users through user interface device 12 . if the content includes video and / or still images , content provision module 26 is configured to access the video and / or still images and to generate views of the video and / or still images for display on user interface device 12 . if the content includes audio content , content provision module 26 is configured to generate the electronic signals that will drive user interface device 12 to output the appropriate sounds . the content , or information from which the content is derived , may be obtained by content provision module 26 from electronic storage 22 . the position module 28 is configured to determine position information from the output signals generated by sensors 18 . the position information may include information related to one or more of positions of users , positions of actuators 16 , positions of sensors 18 , positions of controllers 20 , and / or other positions . the information related to position determined by position module 28 may describe the position of one or more objects ( e . g ., users , actuators 16 , sensors 18 , controllers 20 , etc .) in an absolute coordinate system , with respect to other objects , and / or in other contexts . as used herein , “ position information ” or “ information related to position ” does not refer to gestures or movements correlated with control inputs . instead , “ position information ” or “ information related to position ” refers simply to information that describes the position of an object , either in a coordinate system or with respect to some other object . such information may include , without limitation , coordinates , distances , rotational orientations , and / or angular relationships . the stimulus module 30 is configured to determine haptic stimulus to be generated for the user . determining the haptic stimulus includes determining which one ( s ) of actuators 16 should apply the stimulus , and / or determining one or more parameters of the haptic stimulus . such one or more parameters may include one or more of magnitude of force , directivity and orientation , location of the stimulus , frequency of vibration , magnitude , duration , and / or other parameters . the haptic stimulus determined by stimulus module 30 is associated with the sensory content being conveyed by user interface device 12 . as such , the stimulus may be dictated , at least to some extent , by the information stored electronically with the content ( e . g ., on electronic storage 22 ). the haptic stimulus is determined by stimulus module 30 to enhance one or more aspects of the experience provided by the content . for example , the haptic stimulus may be determined to enhance one or more of the realism of the content , the enjoyability of content , perception of the content by the users , and / or other aspects of the experience provided by the content being conveyed to the users via user interface device 12 . to enhance the one or more aspects of the experience provided by the content being conveyed to the users via user interface device 12 , stimulus module 30 is configured to determine the haptic stimulus based on information related to position . this includes varying the haptic stimulus based on user position with respect to user interface device 12 , position of one body part of a user with respect to another body part of the user , position of one user with respect to one or more other users , and / or position information . in varying the haptic stimulus based on position , stimulus module 30 may change the stimulus in distinct steps , or smoothly . for example , if user interface device 12 is configured to provide three - dimensional views at discrete , predetermined viewing angles with respect to the display surface functioning as content delivery portion 14 , then stimulus module 30 may vary the haptic stimulus such that each of the predetermined viewing angles receives haptic stimulus corresponding to its three - dimensional view . as another example , if one user is standing behind another user with respect to user interface device 12 , the haptic stimulus provided to the user that is further away may reflect “ shielding ” by the user standing in the middle . the determination of the haptic stimulus to account for position information may be based on determinations of position information by position module 28 , and / or position information related to the positions of actuators 16 that is prestored or configured . it will be appreciated that the discussion of varying haptic stimulus based on position information described herein is distinct from varying haptic stimulus based on input or control gestures . the determination of haptic stimulus based on position by stimulus module 30 is not dependent on a gesture or physical maneuver being performed by a user . instead , haptic stimulus determined by stimulus module 30 that corresponds to a given control or input gesture would vary based on the position of the user ( or relative positions of the users body parts ) during performance of the control or input gesture ). similarly , haptic stimulus that does not correspond to a control or input gesture ( e . g ., associated with an effect or component of the content being conveyed to the user ) may be determined by stimulus module 30 to vary based on similar position information . in one embodiment , stimulus module 30 determines haptic stimulus to be generated for a user to coincide with the directivity and orientation of an effect in the content being conveyed to the user . for example , if user interface device 12 is configured to generate three - dimensional images through a display surface functioning as content delivery portion 14 , the haptic stimulus is varied as a function of viewing angle , distance from content delivery portion 14 , and / or both viewing angle and distance to convey the directivity and orientation of a visual entity in a three - dimensional view being conveyed by user interface device 12 . other position - related parameters may be used instead , or in conjunction with , viewing angle and / or distance to vary the haptic stimulus . as a specific instance of this example , if a ball in the three - dimensional view is projected outward away from content delivery portion 14 along a path , the haptic stimulus is determined by stimulus module 30 to mimic being hit by the ball for users positioned on or near the path . users positioned off of the path , on the other hand , would not receive such stimulus . it will be appreciated that some other projectile may be substituted for the ball . as another specific instance of this example , if an explosion is shown in the three - dimensional view , the haptic stimulus can be used to enhance the realism of the explosion . this would include determining the magnitude , amount , and / or type of haptic stimulus to coincide with the directivity and orientation of the explosion . these instances of generating haptic stimulus to coincide with the directivity and / or orientation of an effect in a three - dimensional view being conveyed by user interface device 12 are not intended to be limiting . other instances of this exemplary use of position information to determine haptic stimulus may be implemented without departing from the scope of this disclosure . it will be appreciated that the description of varying haptic stimulus to reflect the directivity and / or orientation of events in the content being conveyed by user interface device 12 are not limited to three - dimensional views , or even to visual effects . the same principles may be applied to effects in two - dimensional views , and / or to audio effects . in one embodiment , actuators 16 include one or more actuators that are fixed positionally with respect to user interface device 12 during conveyance of the content . for example , actuators 16 may include actuators carried by or included in furniture , a floor , a mat , and / or other objects that are fixed during conveyance of the content . in this embodiment , stimulus module 30 may determine haptic stimulus for the fixed positions of actuators 16 . position information related to these fixed positions may include one or more of position information that is preconfigured and / or prestored for use by stimulus module 30 . in one embodiment , actuators 16 include one or more actuators that are included in or carried by objects that are worn , carried , or otherwise moved by the user . in this embodiment , the haptic stimulus to be generated by the portable actuators is determined by stimulus module 30 based on position information received by stimulus module 30 from position module 28 that is related to the position of the users and / or the movable actuators with respect to user interface device 12 . for example , the movable actuators may be included in game controllers , wearable braces , a pillow , a stuffed animal , a toy , and / or other objects . in one embodiment , the stimulus module 30 is configured to determine the haptic stimulus based on the relative positions of body parts of a user . for example , if the user is holding one of controllers 20 , position module 28 may determine the position of the controller 20 with respect to the trunk of the user . as the controller 20 gets closer to , or farther away from the user , the haptic stimulus determined by stimulus module 30 may vary based on the change in relative position . this change may be made simply by including the relative position between the trunk of the user and controller 20 in a determination of the position of the user with respect to user interface device 12 ( e . g ., instead of assuming 20 to reflect the position of the user without adjustment ), or the change may be made specifically based on motion of the controller 20 into and / or away from the trunk of the user . in one embodiment , the stimulus takes into account both the position of the user ( and / or the controller 20 ) with respect to the user interface device 12 and the position of the controller with respect to the user . for example , the stimulus determined for the user in response to the user moving the controller 20 from his body to an arms length away from his body may be different from leaving the controller 20 at his body but stepping forward an arm &# 39 ; s length . similarly , stepping forward half and arm &# 39 ; s length while extending his arm &# 39 ; s halfway may result in a different stimulation than either of moving only the arms or only stepping forward . in one embodiment , the haptic stimulus is determined to vary based on a rotational orientation of the controller 20 with respect to the trunk of the user , or other information related to the relative positions of the controller 20 with respect to the trunk of the user . the actuator control module 32 is configured to control actuators 16 to generate the haptic stimulus determined by stimulus module 30 . this includes communicating the haptic stimulus to be generated from processor 24 to actuators 16 . the haptic stimulus to be generated may be communicated over wired communication links , wireless communication links , and / or other communication links between processor 24 and actuators 16 . in one embodiment , at least a portion of the functionality attributed to the actuator control module 32 is disposed in a processor carried by controller 20 , and / or some other object that carries one or more of actuators 16 . fig2 illustrates a method 34 of providing haptic stimulus associated with other sensory content being conveyed to one or more users . the operations of method 34 presented below are intended to be illustrative . in some embodiments , method 34 may be accomplished with one or more additional operations not described , and / or without one or more of the operations discussed . additionally , the order in which the operations of method 34 are illustrated in fig2 and described below is not intended to be limiting . in some embodiments , method 34 may be implemented in one or more processing devices ( e . g ., a digital processor , an analog processor , a digital circuit designed to process information , an analog circuit designed to process information , a state machine , and / or other mechanisms for electronically processing information ). the one or more processing devices may include one or more devices executing some or all of the operations of method 34 in response to instructions stored electronically on an electronic storage medium . the one or more processing devices may include one or more devices configured through hardware , firmware , and / or software to be specifically designed for execution of one or more of the operations of method 34 . at an operation 36 , sensory content is conveyed to one or more users . the sensory content may include visual content , audio content , and / or other sensory content . the sensory content is conveyed to the one or more users by a user interface device similar to or the same as user interface device 12 , having a content delivery portion similar to or the same as content delivery portion 14 ( shown in fig1 and described above ). at an operation 38 , position information may be determined . the position information may be related to the position ( s ) of one or more of a user , one or more body parts of a user , a controller ( e . g ., a game controller ), an actuator , and / or other objects . the position information may indicate position in an absolute coordinate system , relative to the user interface device , the content delivery portion , a user , and / or other objects . in one embodiment , operation 38 is performed by a position module similar to or the same as position module 28 ( shown in fig1 and described above ). at an operation 40 , haptic stimulus to be generated for the one or more users is determined . the haptic stimulus is associated with the content conveyed to the user . the haptic stimulus is determined such that it varies as a function of position information . the position information may describe the position of one or more of a user , one or more body parts of a user , a controller ( e . g ., a game controller ), an actuator , and / or other objects . the position information may indicate position in an absolute coordinate system , relative to the user interface device , the content delivery portion , a user , and / or other objects . the position information may include the position information determined at operation 38 , position information that is preconfigured and / or prestored , and / or other position information . in one embodiment , operation 40 is performed by a stimulus module similar to or the same as stimulus module 30 ( shown in fig1 and described above ). at an operation 42 , the haptic stimulus is generated for the user . in one embodiment , operation 42 is performed by one or more actuators similar to or the same as actuators 16 ( shown in fig1 and described above ). although the invention has been described in detail for the purpose of illustration based on what is currently considered to be the most practical and preferred embodiments , it is to be understood that such detail is solely for that purpose and that the invention is not limited to the disclosed embodiments , but , on the contrary , is intended to cover modifications and equivalent arrangements that are within the spirit and scope of the appended claims . for example , it is to be understood that the present invention contemplates that , to the extent possible , one or more features of any embodiment can be combined with one or more features of any other embodiment .
a method of producing a haptic effect includes receiving a sensory content signal from a user interface device , receiving a sensor signal of a body position of a first body part of a user with respect to a second body part of the user , generating the haptic effect using the sensory content signal and the sensor signal , and applying a drive signal to a haptic actuator to produce the haptic effect .