NZ753620B2 - Virtual reality simulation - Google Patents
Virtual reality simulation Download PDFInfo
- Publication number
- NZ753620B2 NZ753620B2 NZ753620A NZ75362018A NZ753620B2 NZ 753620 B2 NZ753620 B2 NZ 753620B2 NZ 753620 A NZ753620 A NZ 753620A NZ 75362018 A NZ75362018 A NZ 75362018A NZ 753620 B2 NZ753620 B2 NZ 753620B2
- Authority
- NZ
- New Zealand
- Prior art keywords
- virtual reality
- projectile
- virtual
- user
- bat
- Prior art date
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 90
- 241000238814 Orthoptera Species 0.000 claims description 91
- 230000002123 temporal effect Effects 0.000 claims description 6
- 230000035807 sensation Effects 0.000 abstract description 5
- 239000000203 mixture Substances 0.000 description 22
- 238000000034 method Methods 0.000 description 21
- 230000000694 effects Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 14
- 230000000875 corresponding Effects 0.000 description 14
- 210000004247 Hand Anatomy 0.000 description 9
- 239000011295 pitch Substances 0.000 description 8
- 230000001276 controlling effect Effects 0.000 description 7
- 235000009508 confectionery Nutrition 0.000 description 6
- 210000003811 Fingers Anatomy 0.000 description 4
- 230000001953 sensory Effects 0.000 description 4
- 210000003813 Thumb Anatomy 0.000 description 3
- 238000009432 framing Methods 0.000 description 3
- 230000005484 gravity Effects 0.000 description 3
- 238000010348 incorporation Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000006011 modification reaction Methods 0.000 description 3
- 229920000049 Carbon (fiber) Polymers 0.000 description 2
- 241000288673 Chiroptera Species 0.000 description 2
- 239000004917 carbon fiber Substances 0.000 description 2
- 230000001413 cellular Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 239000011152 fibreglass Substances 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003278 mimic Effects 0.000 description 2
- 230000003287 optical Effects 0.000 description 2
- 230000003362 replicative Effects 0.000 description 2
- 239000002023 wood Substances 0.000 description 2
- 240000000218 Cannabis sativa Species 0.000 description 1
- 240000004244 Cucurbita moschata Species 0.000 description 1
- 235000009854 Cucurbita moschata Nutrition 0.000 description 1
- 235000009852 Cucurbita pepo Nutrition 0.000 description 1
- 210000001503 Joints Anatomy 0.000 description 1
- 229940052961 Longrange Drugs 0.000 description 1
- 230000001058 adult Effects 0.000 description 1
- 230000003190 augmentative Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002596 correlated Effects 0.000 description 1
- 230000001808 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000003116 impacting Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 239000004544 spot-on Substances 0.000 description 1
- 235000020354 squash Nutrition 0.000 description 1
- 230000003068 static Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2102/00—Application of clubs, bats, rackets or the like to the sporting activity ; particular sports involving the use of balls and clubs, bats, rackets, or the like
- A63B2102/20—Cricket
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2220/00—Measuring of physical parameters relating to sporting activity
- A63B2220/80—Special sensors, transducers or devices therefor
- A63B2220/83—Special sensors, transducers or devices therefor characterised by the position of the sensor
- A63B2220/833—Sensors arranged on the exercise apparatus or sports implement
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B59/00—Bats, rackets, or the like, not covered by groups A63B49/00 - A63B57/00
- A63B59/50—Substantially rod-shaped bats for hitting a ball in the air, e.g. for baseball
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B69/00—Training appliances or apparatus for special sports
- A63B69/0015—Training appliances or apparatus for special sports for cricket
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/212—Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/213—Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/24—Constructional details thereof, e.g. game controllers with detachable joystick handles
- A63F13/245—Constructional details thereof, e.g. game controllers with detachable joystick handles specially adapted to a particular type of game, e.g. steering wheels
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/25—Output arrangements for video game devices
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/25—Output arrangements for video game devices
- A63F13/28—Output arrangements for video game devices responding to control signals received from the game device for affecting ambient conditions, e.g. for vibrating players' seats, activating scent dispensers or affecting temperature or light
- A63F13/285—Generating tactile feedback signals via the game input device, e.g. force feedback
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/31—Communication aspects specific to video games, e.g. between several handheld game devices at close range
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/40—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
- A63F13/42—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
- A63F13/428—Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving motion or position input signals, e.g. signals representing the rotation of an input controller or a player's arm motions sensed by accelerometers or gyroscopes
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/50—Controlling the output signals based on the game progress
- A63F13/54—Controlling the output signals based on the game progress involving acoustic signals, e.g. for simulating revolutions per minute [RPM] dependent engine sounds in a driving game or reverberation against a virtual wall
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/573—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using trajectories of game objects, e.g. of a golf ball according to the point of impact
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/577—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/65—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/80—Special adaptations for executing a specific game genre or game mode
- A63F13/812—Ball games, e.g. soccer or baseball
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/10—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
- A63F2300/1043—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals being characterized by constructional details
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/69—Involving elements of the real world in the game world, e.g. measurement in live races, real video
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8011—Ball
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8082—Virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/016—Input arrangements with force or tactile feedback as computer generated output to the user
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
Abstract
The present disclosure generally relates to virtual reality simulation, and more specifically, in some implementations, to devices, systems, and methods for use in a virtual reality sports simulation. A system for virtual reality simulation may include an accessory (e.g., one or more of a bat, a glove, or a helmet) for interacting with a virtual reality environment. The accessory may provide the user with haptic feedback that emulates sensations that the user would experience when playing a live-action sport to provide the user with a more meaningful and realistic experience when playing a virtual reality game. Further, virtual reality simulations disclosed herein may include incorporating data from a live-action event (e.g., a live-action sporting event) into a virtual reality environment to provide a user with a realistic experience. ve, or a helmet) for interacting with a virtual reality environment. The accessory may provide the user with haptic feedback that emulates sensations that the user would experience when playing a live-action sport to provide the user with a more meaningful and realistic experience when playing a virtual reality game. Further, virtual reality simulations disclosed herein may include incorporating data from a live-action event (e.g., a live-action sporting event) into a virtual reality environment to provide a user with a realistic experience.
Description
VIRTUAL REALITY SIMULATION
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims priority to each of the following U.S. provisional patent
applications, where each of the following applications is incorporated herein by reference in its
entirety: U.S. Provisional Patent Application No. 62/678,227, filed on May 30, 2018; U.S.
Provisional Patent Application No. 62/678,058, filed on May 30, 2018; U.S. Provisional Patent
Application No. 62/523,659, filed on June 22, 2017; U.S. Provisional Patent Application No.
62/523,664, filed on June 22, 2017; U.S. Provisional Patent Application No. 62/523,674, filed
on June 22, 2017; and U.S. Provisional Patent Application No. 62/523,694, filed on June 22,
2017.
TECHNICAL FIELD
The present disclosure generally relates to virtual reality simulation, and more
specifically, in some implementations, to devices, systems, and methods for virtual reality sports
simulation.
BACKGROUND
Virtual reality simulation systems provide users with the perception of being
physically present in a virtual reality environment. Users may interact with the virtual reality
environment using hardware that provides feedback to the users. Through such feedback, virtual
reality simulation systems may be used to simulate experiences such as sports. However, virtual
reality simulations of sports have a limited capacity to provide a user with the realistic
experience of live-action play of the sport being simulated. Thus, there remains a need for
improved virtual reality simulation systems and techniques to provide a user with a more
authentic experience.
SUMMARY
The present disclosure generally relates to virtual reality simulation, and more
specifically, in some implementations, to devices, systems, and methods for use in a virtual
reality sports simulation. A system for virtual reality simulation may include an accessory (e.g.,
one or more of a bat, a glove, or a helmet) for interacting with a virtual reality environment. The
accessory may provide the user with haptic feedback that emulates sensations that the user
would experience when playing a live-action sport to provide the user with a more meaningful
and realistic experience when playing a virtual reality game. Further, virtual reality simulations
Page 1 of 42
disclosed herein may include incorporating data from a live-action event (e.g., a live-action
sporting event) into a virtual reality environment to provide a user with a realistic experience.
In one aspect, an accessory for use in a virtual reality game disclosed herein may
include a housing having a handle and a body extending from the handle, a tracking device
operable to track a position of the housing and to communicate the position to a virtual reality
environment in substantially real time, a plurality of solenoids disposed within the housing, and
a controller in communication with the plurality of solenoids, the controller configured to
receive information related to location-specific contact between virtual representations of the
accessory and a projectile within a virtual reality environment and to selectively actuate one or
more of the plurality of solenoids to exert, on the handle, force based on the location-specific
contact.
The accessory may be a bat that includes a first end having the handle, a second
end disposed away from the handle, a first surface bounded by a top edge and a bottom edge,
and a second surface disposed opposite the first surface, where the first surface includes a face
structurally configured to contact a ball. The location-specific contact between virtual
representations of the bat and a ball within the virtual reality environment may be selected from
one or more simulated contact scenarios including the ball striking the bat on (i) a tip of the bat
defined by a distal end of the face disposed substantially adjacent to the second end of the bat,
(ii) a base of the bat defined by a proximal end of the face disposed substantially adjacent to the
handle, (iii) an upper contact area on or adjacent to the top edge of the bat, (iv) a lower contact
area on or adjacent to the bottom edge of the bat, (v) a sweet spot on the face disposed between a
centerline of the face and the distal end of the face, and (vi) a middle-hit area of the face
disposed between the sweet spot and the proximal end of the face. One or more solenoids may
be disposed adjacent to the second end of the bat and may be configured to actuate during
simulated contact scenario (i). One or more solenoids may be disposed adjacent to the first end
of the bat and may be configured to actuate during simulated contact scenario (ii). One or more
solenoids may be disposed adjacent to the top edge of the bat and may be configured to actuate
during simulated contact scenario (iii). One or more solenoids may be disposed adjacent to the
bottom edge of the bat and may be configured to actuate during simulated contact scenario (iv).
All solenoids in the plurality of solenoids may be configured to actuate in a low-power mode
during simulated contact scenario (v), and all solenoids in the plurality of solenoids may be
configured to actuate in a high-power mode during simulated contact scenario (vi). A physical
arrangement of the plurality of solenoids within the housing may provide a predetermined force
distribution for the location-specific contact between virtual representations of the accessory and
the projectile within the virtual reality environment. A physical arrangement of the plurality of
Page 2 of 42
solenoids within the housing may provide a predetermined center of gravity for the accessory.
Each of the plurality of solenoids may be positioned in a predetermined orientation. The
predetermined orientation of at least one of the plurality of solenoids may be substantially
normal to a plane of a face of the accessory. The accessory may further include a contact surface
disposed adjacent to the at least one of the plurality of solenoids, where at least one of the
plurality of solenoids is structurally configured to contact the contact surface when actuated. The
predetermined orientation of at least one of the plurality of solenoids may have an axis of linear
actuation of about 35 degrees offset from a plane of a surface of the accessory. The
predetermined orientation may include at least two of the plurality of solenoids with respective
axes of linear actuation at least 70 degrees opposed to one another and no more than 145 degrees
offset from a plane of a surface of the accessory. The plurality of solenoids may include at least
six solenoids. The accessory may include a first end having the handle and a second end
disposed away from the handle, where at least two of the at least six solenoids are disposed
adjacent to the first end of the accessory and at least another two of the at least six solenoids are
disposed adjacent to the second end of the accessory. One or more of the plurality of solenoids
may be disposed in the handle of the accessory. The handle may include a protrusion engaged
with a solenoid for conveying haptic feedback to a user’s hands when gripping the handle during
exertion of the force based on the location-specific contact. The tracking device may be
monitored by one or more lasers that perform predetermined sweeps of a physical space.
Substantially real time may include a time delay of no more than 25 milliseconds. The accessory
may further include a processor executing a virtual reality cricket game within the virtual reality
environment, the processor configured to receive the position of the housing and render the
position of the housing within the virtual reality environment in substantially real time. The
housing may be weighted to provide a feel of a cricket bat. The housing and components
included therein may be selected to have a weight between about 2.0 lbs and about 3.5 lbs. The
housing may be made of one or more of carbon fiber and fiberglass. The accessory may further
include one or more power sources within the housing in electrical communication with one or
more of the plurality of solenoids and the controller.
In one aspect, a method of operating a virtual reality game disclosed herein may
include: receiving projectile data including temporal data related to arrival of a virtual projectile
within a predetermined volume adjacent to a virtual player in a virtual reality environment and
spatial data related to a trajectory of the virtual projectile in the virtual reality environment;
receiving accessory data including movement of an accessory in a physical space, the accessory
data corresponding to movement of a virtual accessory of the virtual player within the virtual
reality environment; determining, based on a comparison of the accessory data and the projectile
Page 3 of 42
data, a contact scenario between the virtual accessory and the virtual projectile within the virtual
reality environment; and, based on the contact scenario, selectively actuating one or more
solenoids coupled to the accessory to provide haptic feedback to a user grasping the accessory,
the haptic feedback simulating contact between the accessory and a projectile.
The method may further include, when it is determined that the virtual accessory
will contact the virtual projectile within the virtual reality environment, determining a contact
location on the virtual accessory and a contact time based on the accessory data and the
projectile data. Selectively actuating the one or more solenoids may further include defining a
number of discrete contact scenarios characterizing contact between the virtual accessory and
the virtual projectile within the virtual reality environment at a number of different locations on
the virtual accessory and selectively actuating the one or more solenoids according to one of the
number of discrete contact scenarios most closely corresponding to a contact location estimated
within the virtual reality environment. The method may further include selecting audio feedback
based on the contact scenario, determining timing for sending the audio feedback to a speaker to
align with timing of the contact scenario, and transmitting the audio feedback to the speaker.
The method may further include adjusting a trajectory of the virtual accessory based on
additional tracked movement of the accessory. The method may further include simulating
tracked movement of the accessory within the virtual reality environment. The method may
further include displaying the virtual accessory and the virtual projectile on a display.
In one aspect, a virtual reality simulation method disclosed herein may include:
generating a virtual reality environment including a virtual player in a setting; receiving
projectile data indicative of movement of a projectile launched by a player in a live-action
sequence; based on the projectile data, identifying a release point of the projectile by the player
in the live-action sequence; determining a motion of the virtual player in the virtual reality
environment based on the projectile data and the release point; and, on a display of the virtual
reality environment viewable by a user, displaying the virtual player moving according to the
motion and a graphical representation of the projectile moving according to a temporal series of
locations of the projectile.
The release point may be included in the projectile data, and identifying the
release point may include reading the projectile data. Identifying the release point may include
calculating the release point based on a trajectory of the projectile included in the projectile data.
The projectile data may include a spin of the projectile. The spin may be estimated from a
trajectory and a speed of the projectile. The spin may be estimated from contact between the
projectile and a playing surface. The method may further include altering a path of the graphical
representation of the projectile in the virtual reality environment from a trajectory included in
Page 4 of 42
the projectile data based on one or more predetermined parameters that differ between the live-
action sequence and the setting of the virtual reality environment. One or more parameters may
include at least one of a playing surface, weather, a lighting condition, a physical attribute of the
user, and a physical attribute of the virtual player. Displaying the virtual player moving
according to the motion may include presenting a first-person view of the virtual player on the
display. The display may be a 2d display. The display may be a 3d display. Displaying the
virtual player moving according to the motion may include presenting video data of the player
from the live-action sequence. Displaying the virtual player moving according to the motion
may include presenting an avatar. The avatar may be created using one or more of key-framing
and motion capture techniques. Determining the motion of the virtual player may include
selecting one of a plurality of motions stored in a database. One of the plurality of motions may
be selected to most closely match attributes of the projectile data. The attributes of the projectile
data may be weighted. The virtual reality environment may be configured for use in a virtual
reality cricket simulation, where the projectile is a cricket ball and the player in the live-action
sequence is a bowler in a cricket match. The setting may include one or more of an infield, an
outfield, a boundary, a sky, a stadium, a predetermined weather condition, and a lighting
condition. The live-action sequence may be occurring in near real time relative to operation of
the virtual reality environment. The live-action sequence may be a recording of a completed
sporting event.
In one aspect, a virtual reality simulation method disclosed herein may include:
generating a virtual reality environment including a virtual player in a setting; receiving
projectile data indicative of movement of a projectile launched by a player in a live-action
sequence; based on the projectile data, identifying a first trajectory of the projectile;
manipulating the first trajectory using one or more parameters to determine a second trajectory;
and, on a display of the virtual reality environment viewable by a user, displaying a graphical
representation of the projectile launched from the virtual player and moving according to the
second trajectory.
Manipulating the first trajectory may include adding a curvature to the first
trajectory. The curvature may be based at least in part on a spin of the projectile. The curvature
may be added by introducing a constant bi-directional drag force on the projectile. The constant
bi-directional drag force may be based at least in part on one or more of spin, seam angle,
velocity in a direction opposite to a drag vector, air density, cross-sectional area of the projectile,
and drag force coefficients. Manipulating the first trajectory may include interpolating between
different paths for the projectile created using one or more projectile motion equations.
Interpolating between different paths for the projectile may include a cubic spline interpolation
Page 5 of 42
between three-dimensional data points to generate third order polynomial equations to simulate
a trajectory for the projectile in three-dimensional space. The projectile data may include a
release point of the projectile, a release angle of the projectile, an initial speed of the projectile
when released by the player, and at least one location of the projectile downstream from the
player. Manipulating the first trajectory may include changing a parameter of the projectile data.
The parameter may include one or more of a release point of the projectile, a release angle of the
projectile, an initial speed of the projectile when released by the player, a location of the
projectile downstream from the player, and an effect of drag force on the projectile. The
parameter may be changed based on a difference between the live-action sequence and the
setting of the virtual reality environment. The difference between the live-action sequence and
the setting of the virtual reality environment may include one or more of a playing surface,
weather, a lighting condition, air density, a physical attribute of a batsman, and a physical
attribute of the virtual player.
In one aspect, an accessory system for use in a virtual simulation disclosed herein
may include a glove sized and shaped to receive at least one portion of a hand of a user, a
tracking device coupled to the glove and operable to track a position of the glove, one or more
haptic feedback actuators coupled to the glove in a predetermined arrangement and actuatable to
transmit forces to the at least one portion of the hand of the user in the glove, and a controller in
communication with the tracking device, the one or more haptic feedback actuators, and a
virtual reality environment, the controller configured to: receive, from the tracking device, a
position of the tracking device; transmit the position of the tracking device to the virtual reality
environment; receive, from the virtual reality environment, an indication of force on a virtual
glove in the virtual reality environment; and actuate the one or more haptic feedback actuators
on the glove to simulate the force on the virtual glove in the virtual reality environment.
The indication of force on the virtual glove in the virtual reality environment may
correspond to a ball striking a bat being held by the hand of the user. The indication of force on
the virtual glove in the virtual reality environment may correspond to a ball striking the glove.
One or more haptic feedback actuators may include an insert disposed within padding of the
glove. One or more haptic feedback actuators may be operable to adjust feedback based on a
parameter in the virtual reality environment. The parameter may include one or more of a virtual
bat selected by the user, a location on the virtual bat where a virtual ball makes contact in the
virtual reality environment, and a vertical displacement between the virtual bat and the virtual
ball in the virtual reality environment. One or more haptic feedback actuators may be operable
to adjust feedback based on an attribute of one or more of a virtual ball and a virtual bat in the
virtual reality environment. The attribute may include one or more of ball speed, ball spin, bat
Page 6 of 42
speed, bat angle, an exit speed of a bat held by the user, and an exit angle of the bat. One or
more haptic feedback actuators may operate in coordination with one or more solenoids included
on a bat held by the hand of the user. The tracking device may be configured to detect and
communicate finger flexion of the user. The tracking device may be configured to detect and
communicate an orientation of the glove. The glove may be flexible to grasp a bat. The
accessory system may further include one or more force sensors on the glove. The glove may
include padding. The padding may include a top layer and a bottom layer.
In one aspect, a helmet for use in a virtual reality simulation disclosed herein may
include a shell positionable about at least one portion of a head of a user, a display coupled to
the shell, the display movable between a first position where the display is viewable by the user
with the shell positioned about the at least one portion of the head of the user and a second
position where the display does not obstruct a user’s vision with the shell positioned about the at
least one portion of the head of the user, an audio device coupled to the shell, the audio device
operable to provide audio output from a virtual reality environment to the user with the shell
positioned about the at least one portion of the head of the user, and a tracking device coupled to
the shell, the tracking device operable to track a position of the helmet, and to communicate the
position to a virtual reality environment in substantially real time.
The display may be included on a virtual reality head mounted display (HMD)
visor. The helmet may further include a display mount coupled to the shell, the display mount
sized and shaped to receive the display. The display may be removable and replaceable from the
display mount. At least a portion of the display mount may be movable relative to the shell. The
display mount may be movable to place the display in the first position and the second position.
The tracking device may be disposed within the shell. The audio device may include
headphones. The audio device may be integral with the shell. The shell may be sized and shaped
as a cricket helmet.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects, features and advantages of the devices, systems,
and methods described herein will be apparent from the following description of particular
embodiments thereof, as illustrated in the accompanying drawings. The drawings are not
necessarily to scale, emphasis instead being placed upon illustrating the principles of the
devices, systems, and methods described herein.
is a schematic representation of a system for virtual reality simulation.
is a schematic representation of a user of the system of during a
virtual reality simulation, with the user shown in the physical world.
Page 7 of 42
is a schematic representation of a virtual reality environment for the
virtual reality simulation of .
is a perspective view of a bat of the system of
is a perspective view of a cutaway of the bat of .
is a top view of the cross-section of the bat of taken along the
line 3C-3C in .
is a perspective view of a glove of the system of
is an exploded view of the glove of .
is a perspective view a helmet of the system of with a display of
the helmet shown in a first position.
is a perspective view of the helmet of , with the display of the
helmet shown in a second position.
is an exploded view of the helmet of FIGS. 5A and 5B.
is a schematic representation of pads of the system of
is a flow chart of an exemplary method of operating a virtual reality game.
is a flow chart of an exemplary method of virtual reality simulation.
is a top view of a cross-section of a bat.
DETAILED DESCRIPTION
Embodiments will now be described with reference to the accompanying figures.
The foregoing may, however, be embodied in many different forms and should not be construed
as limited to the illustrated embodiments set forth herein.
All documents mentioned herein are hereby incorporated by reference in their
entirety. References to items in the singular should be understood to include items in the plural,
and vice versa, unless explicitly stated otherwise or clear from the text. Grammatical
conjunctions are intended to express any and all disjunctive and conjunctive combinations of
conjoined clauses, sentences, words, and the like, unless otherwise stated or clear from the
context. Thus, for example, the term “or” should generally be understood to mean “and/or.”
Recitation of ranges of values herein are not intended to be limiting, referring
instead individually to any and all values falling within the range, unless otherwise indicated
herein, and each separate value within such a range is incorporated into the specification as if it
were individually recited herein. The words “about,” “approximately” or the like, when
accompanying a numerical value, are to be construed as indicating a deviation as would be
appreciated by one of ordinary skill in the art to operate satisfactorily for an intended purpose.
Similarly, words of approximation such as “approximately” or “substantially” when used in
Page 8 of 42
reference to physical characteristics, should be understood to contemplate a range of deviations
that would be appreciated by one of ordinary skill in the art to operate satisfactorily for a
corresponding use, function, purpose, or the like. Ranges of values and/or numeric values are
provided herein as examples only, and do not constitute a limitation on the scope of the
described embodiments. Where ranges of values are provided, they are also intended to include
each value within the range as if set forth individually, unless expressly stated to the contrary.
The use of any and all examples, or exemplary language (“e.g.,” “such as,” or the like) provided
herein, is intended merely to better illuminate the embodiments and does not pose a limitation
on the scope of the embodiments. No language in the specification should be construed as
indicating any unclaimed element as essential to the practice of the embodiments.
In the following description, it is understood that terms such as “first,” “second,”
“top,” “bottom,” “upper,” “lower,” and the like, are words of convenience and are not to be
construed as limiting terms.
Described herein are devices, systems, and methods for virtual reality simulations
in which a user may use one or more accessories tracked in a physical space to interact with a
virtual reality environment. As used herein, a “virtual reality environment,” shall be understood
to include a simulated environment experienced by a user through one or more computer-
generated sensory stimuli (e.g., sights, sounds, forces, and combinations thereof) and in which
the user’s reaction, in a physical space, to such sensory stimuli may result in changes in the
simulated environment. In general, unless otherwise specified or made clear from the context,
virtual reality environments may include any of various different levels of immersion for a user,
ranging from complete immersion in computer-generated sensory stimuli to augmented reality
environments including both virtual and real-world objects. As used herein, the terms “real-
world,” “physical world,” “physical space,” and variations thereof generally refer to a physical
setting separate from computer-generated stimuli. Thus, for example, a physical space may
include the three-dimensional space occupied by, or in the vicinity of, a user playing a virtual
reality game or, further or instead, may include real-world events that occur in physical reality
(e.g., apart from computer-generated stimuli associated with the virtual reality environment).
In general, the devices, systems, and methods of the present disclosure may be
used to provide virtual reality simulations associated with a variety of different implementations
in which real-world data of a moving object forms a basis of a graphical representation of the
moving object in a virtual reality environment, and the user may interact with the graphical
representation of the moving object in the virtual reality environment. In the disclosure that
follows, these devices, systems, and methods are described with respect to virtual reality
simulations of the sport of cricket, which has dynamic aspects that serve as useful contexts for
Page 9 of 42
describing challenges addressed by the devices, systems, and methods of the present disclosure.
For example, cricket bowling techniques may exhibit greater variation as compared to a sport
like baseball and, as described in greater detail below, implementations described herein may
facilitate simulating such variations in a virtual reality environment. Thus, as described in
greater detail below, certain implementations may be used to simulate a variety of bowlers and
bowling techniques implemented in cricket, as well as bowlers of different quality, skill,
physical abilities, and so on. Additionally, or alternatively, certain implementations may be used
to simulate a variety of settings for playing cricket, where such settings may have an effect on
cricket play.
The use of cricket in the description that follows should be understood to be by
way of example and not limitation. That is, unless otherwise specified or made clear from the
context, it will be understood that the devices, systems, and methods described herein may be
applicable to virtual reality simulations of other sports, games, and activities, or more generally
to any other type of simulation. Thus, unless a contrary intent is indicated or clear from the
context, the devices, systems, and methods of the present disclosure may be used for virtual
reality simulation of other sports such as baseball, softball, Wiffle ball, fencing, tennis,
badminton, squash, racquetball, soccer, table tennis, and so on. Further or instead, the devices,
systems, and methods of the present disclosure may be used for virtual reality simulation in
other gaming aspects such as first-person combat (e.g., fighting or shooting) games. Still further,
or instead, the devices, systems, and methods of the present disclosure may be used for virtual
reality simulation in any of various different training contexts, such as medical training in which
the user may carry out a simulated medical procedure in the virtual reality simulation.
In certain implementations, virtual reality simulations described herein may be
based on data from one or more live-action sequences. For example, data from a live-action
sequence may be incorporated (e.g., in a raw form or in a manipulated form) into a virtual reality
simulation in a virtual reality environment, where a user may experience situations that are
based at least in part on (e.g., closely resembling) situations that are occurring, or that have
occurred, in the live-action sequence.
As used herein, unless otherwise specified or made clear from the context, the
term “live-action sequence” or variations thereof shall refer to any of various different
combinations of movements, physical actions, or circumstances occurring in the physical world.
In some instances, such live-action sequences may be temporally coupled to a virtual reality
simulation, occurring substantially simultaneously (e.g., within a few seconds or minutes) or in
near real time (e.g., within less than a few seconds) relative to corresponding activity in a virtual
reality simulation. Further, or instead, such live-action sequences may be temporally decoupled
Page 10 of 42
from a virtual reality simulation, such as may be useful for providing the virtual reality
simulation to a user “on-demand.” In the context of the use of data from a live-action sequence
of a sporting event, as described herein, the data may correspond to at least a portion of a non-
simulated sporting event that is occurring, or that has occurred, in the physical world. This may
include, for example, data recorded from a sporting event (e.g., through video recording, still-
frame images, motion sensors, or a combination thereof).
It will thus be understood that the user(s) of devices, systems, and methods
disclosed herein may include a human user seeking an immersive simulated experience (e.g., in
a virtual reality sports simulation). This may include a user looking to experience a simulated
activity without performing the activity in the physical world, e.g., because of lack of access to
the activity or a parameter thereof (e.g., lack of a proper setting, lack of equipment, lack of
requisite participants, and so on), or to mitigate the risk associated with the activity in question.
The user may also or instead include a person interested in training or otherwise practicing or
improving their skills for a particular simulated activity. In the context of sports, the user may
include a person with varying skill levels or experience, e.g., a child, an adult, an amateur, a
professional, and so on.
Referring now to a system 100 may include one or more accessories 110,
a computing device 120, a database 130, and a content source 140 in communication with one
another (e.g., hardwired to one another, in wireless communication with one another,
interconnected with one another over a data network 102, or a combination thereof). The content
source 140 may include data 142 from a live action sequence 151. The database 130 may store
the data 142 and, further or instead, other content useful for forming a virtual reality simulation.
In use, the user 101 may interact with the system 100 through the accessories 110 (e.g., by
wearing or wielding one or more of the accessories 110) to interact with a virtual reality
environment provided by the computing device 120. For example, and as described in greater
detail below, the accessories 110 may include one or more haptic devices to provide, to the user
101, force feedback emulating a real-world sensation that the user 101 would experience when
playing a live-action sport corresponding to the type of simulated event. In this manner, the
system 100 may create a relatively realistic experience for the user 101 of the system 100. For
example, in the context of virtual reality sports simulation, the system 100 may create, for the
user 101, an experience that more closely corresponds to the experience of playing a sport in the
physical world. Further, and as described in greater detail herein, the system 100 may
incorporate data 142 from the live action sequence 151 into the virtual reality environment, so
that the user 101 may experience situations based at least in part on sequences from the live-
action sequence 151.
Page 11 of 42
As described herein, the system 100 may facilitate virtual reality simulation, and
more specifically, in some implementations, virtual reality sports simulation. As discussed
above, an example of a sport that may benefit from virtual reality sports simulation facilitated by
the system 100 is the sport of cricket. To this end, one or more of the accessories 110 described
herein may correspond to accessories typically used when playing cricket. For example, the
accessories 110 may include one or more of a bat 300 (see, e.g., FIGS. 3A, 3B and 3C), one or
more gloves 400 (see, e.g., FIGS. 4A and 4B), a helmet 500 (see, e.g., FIGS 5A–5C), and one or
more pads 600 (see, e.g., . It will be understood, however, that other accessories (e.g.,
specific to other sports or activities) are also or instead possible. It will be further understood
that, unless otherwise indicated or made clear from the context, attributes of a particular instance
of the accessories 110 discussed herein may also or instead be included on another, different
instance of the accessories 110 discussed herein.
Referring now to FIGS. 2A and 2B, the user 101 in a physical space 200 may use
the system 100 ( to interact with a virtual reality environment 202 as part of a virtual
reality cricket simulation. For example, the user 101 may interact with the system 100 (
in a relatively controlled environment, such as at home, in a training facility (e.g., a sports
training facility such as a batting cage), in a gaming facility (e.g., an arcade), and so on. For such
a virtual reality simulation to become an immersive, realistic experience for the user 101, the
user 101 may interact with one or more of the accessories 110 described above to receive haptic
or other sensory feedback associated with the simulated sequence.
As shown in , the virtual reality environment 202 may include a setting
204 simulated to resemble an environment corresponding to a particular activity. For example,
in the context of a virtual reality cricket simulation, the setting 204 may include one or more of
an infield, an outfield, a boundary, a sky, a stadium, a lighting condition (e.g., whether it is
daytime or nighttime), and a weather condition. Further, the virtual reality environment 202 may
include virtual representations (e.g., simulations) of participants in a simulated activity. That is,
a user 101 may view simulations of a playing field, a bowler, fielders, as well as other aspects of
live play of the sport of cricket. For example, the virtual reality environment 202 may include
one or more virtual players, such as a first virtual player 206 representing a cricketer that is
batting (the batsman) and a second virtual player 208 representing a cricketer that is bowling to
the batsmen (the bowler). It will be understood that more or fewer virtual players may be
represented in the virtual reality environment 202. Further, or instead, one or more of the virtual
players may be a virtual representation (e.g., a first-person virtual representation) of the user 101
(). Alternatively, or additionally, the user 101 may be represented by another component
or object of the virtual reality environment 202 (e.g., human or non-human, animate or
Page 12 of 42
inanimate). In certain instances, the user 101 may not be specifically represented within the
virtual reality environment 202. In the example shown in , the user 101 is represented
within the virtual reality environment 202 as the first virtual player 206, and is represented as a
batsman.
Referring now to FIGS. 1, 2A, and 2B, the system 100 may provide the user 101
with a three-dimensional, panoramic view including, for example, a first-person view of a
bowler and a surrounding environment, where the surrounding environment may include one or
more elements found in a game setting (e.g., a stadium). As described in greater detail below,
the second virtual reality player 208 may be a simulation of a real-world bowler, with
movements of the second virtual reality player 208 created by at least partially replicating real-
life movements of a bowler from stored video of past bowling performances. For example, the
second virtual reality player 208 may be a digitized avatar of a generic bowler, with simulated
movements of the second virtual reality player 208 created by animating body joints of the
avatar using techniques such as key-framing, motion capture, or a combination thereof.
To facilitate forming simulations described herein as immersive, realistic
experiences for a user 101, it may be useful to provide the user 101 with relatively realistic force
feedback corresponding to forces associated with the real-world activity being simulated. As
described in greater detail below, such force feedback may be provided through one or more of
the accessories 110. By way of example, when striking a bowled ball 210 in the virtual reality
environment 202, the bat 300 wielded by the user 101 in the physical space 200 may provide the
user 101 with the feeling of impacting the bowled ball 210, as if the impact occurred in the
physical space 200. Continuing with this example, movement of one or more solenoids included
in the bat 300, as described in further detail below, may transmit forces to hands of the user 101
gripping the bat 300. By way of further or alternative example, the system 100 may
advantageously provide the user 101 with a physical stimulus in the physical space 200 when the
user 101 is struck by a bowled ball 210 in the virtual reality environment 202. In certain
implementations, it may be advantageous for the user 101 to experience the potential for being
hit with a ball in the virtual reality environment 202. Thus, for example, the display 112 of the
system 100 may represent hands or other portion of the body of the user 101 as the user 101 bats
in the virtual reality environment 202, with the representations of one or more body parts of the
user 101 in the virtual reality environment 202 providing the user 101 with a more realistic
sensation of the potential for being struck (e.g., a user 101 may view a representation of one or
more of their hands, head or helmet 500, hands or gloves 400, and so on). To facilitate
presenting these and other realistic experiences to the user 101, the system 100 may generally
Page 13 of 42
include software, hardware, and accessories 110 operable in coordination with one another
according to any one or more of the various different techniques described herein.
Additionally, or alternatively, the veracity of simulations described herein may
benefit from including, in the virtual reality environment 202, one or more attributes mimicking
the effects of the same attributes in the physical world. For example, in the context of cricket,
certain bowlers may release a cricket ball such that the ball curves as the ball moves through the
air—this is commonly referred to as “swing” in cricket—and the setting of the cricket match
may affect this movement. By way of example, on a humid or cloudy day, a bowled ball 210
may be more likely to swing. These conditions may be commonly found in cooler-climates, such
as the climates of England and New Zealand, and certain implementations described herein may
be used to simulate such settings within the virtual reality environment 202. Further, certain
implementations may to simulate a variety of conditions of a playing surface (referred to as the
“pitch” in cricket). For example, a majority of balls in cricket hit the pitch before reaching the
batsman, and thus the conditions of the pitch may play a significant role in the result of a bowled
ball 210. For example, when a bowled ball 210 hits the pitch, the seam of the ball may react with
the ground and create what is commonly referred to as “movement off the seam.” By way of
example, greener pitches (playing surfaces between a batsman and a bowler that include grass)
or relatively damp pitches may increase the likelihood of creating such movement off the seam.
Relatively drier pitches, such as those typically found in India and Pakistan, may be more
amenable to creating movement of a bowled ball 210 using spin, with bowlers using this
technique commonly referred to as “spin bowlers.” In general, the system 100 may simulate one
or more of the aforementioned conditions (and one or more other conditions or parameters) in
the virtual reality environment 202 to achieve an immersive, realistic experience for the user
101.
Having provided an overall context for the system 100 and its use for virtual
reality simulation, various aspects of the system 100 and techniques for forming immersive and
useful virtual reality simulations using the system 100 will now be described. The description
that follows is divided into sections describing hardware of the system 100 useful for forming
the virtual reality environment 202 (I. HARDWARE), accessories useful for facilitating
interaction between the user 101 and aspects of the virtual reality environment 202 (II.
ACCESSORIES), and virtual reality simulations formed using the system 100 (III.
SIMULATIONS). In general, it should be appreciated that these sections are presented for the
sake of clarity of explanation and, unless otherwise specified or made clear from the context,
these sections should not be considered to be limiting.
I. HARDWARE
Page 14 of 42
As discussed above, the components of the system 100 shown for example in
may be connected to one another over a data network 102. The data network 102 may
include any network(s) or internetwork(s) suitable for communicating data and control
information among portions of the system 100. This may include public networks such as the
Internet, private networks, telecommunications networks such as the Public Switched Telephone
Network or cellular networks using third generation (e.g., 3G or IMT-2000), fourth generation
(e.g., LTE (E-UTRA)) or WiMAX-Advanced (IEEE 802.16m) and/or other technologies, as
well as any of a variety of corporate area or local area networks and other switches, routers,
hubs, gateways, and the like that might be used to carry data among portions of the system 100.
The data network 102 may thus include wired or wireless networks, or any combination thereof.
One skilled in the art will also recognize that the components shown in the system 100 need not
be connected by a data network 102, and thus may work in conjunction with one another,
independently of the data network 102.
Communication over the data network 102, or other communication between
components of the system 100, may be facilitated via one or more instances of a
communications interface 106. The communications interface 106 may include, or may be
connected in a communicating relationship with, a network interface or the like. The
communications interface 106 may include any combination of hardware and software suitable
for coupling the components of the system 100 to a remote device (e.g., a computing device
120) in a communicating relationship through a data network 102. By way of example and not
limitation, this may include electronics for a wired or wireless Ethernet connection operating
according to the IEEE 802.11 standard (or any variation thereof), or any other short or long-
range wireless networking components. This may include hardware for short-range data
communications such as Bluetooth or an infrared transceiver, which may be used to couple into
a local area network or the like that is in turn coupled to a data network 102 such as the Internet.
This may also or instead include hardware/software for a WiMAX connection or a cellular
network connection (using, e.g., CDMA, GSM, LTE, or any other suitable protocol or
combination of protocols). Additionally, or alternatively, a controller 150 may control
participation by the components of the system 100 in any network to which the communications
interface 106 is connected, such as by autonomously connecting to the data network 102 to
retrieve status updates and the like.
In general, the display 112 may provide the user 101 with a visual representation
(e.g., using one or more graphical representations or computer-rendered scenes) of the virtual
reality environment 202. The display 112 may present to the user 101 one or more of still
images, video data, or a combination thereof. To this end, the display 112 may include one or
Page 15 of 42
more of a two-dimensional display or a three-dimensional display. In some aspects, the display
112 may present a first-person view of a virtual representation of the user 101 to the user 101. In
certain implementations, the display 112 may be associated with one or more of the accessories
110, such as the helmet 500 (see, e.g., FIGS. 5A–5C) worn by the user 101 during a simulation
and described in greater detail below. In some implementations, at least a portion of the display
112 is included on, or forms part of, another component of the system 100, such as the
computing device 120.
The computing device 120 may include, or otherwise be in communication with,
a processor 122 and a memory 124. While the computing device 120 may be integrally formed
in some instances, it should be appreciated that the computing device 120 may be
advantageously distributed (e.g., with the processor 122 and the memory 124 supported on
different portions of the system 100) in some applications. In general, the processor 122 may
process the data 142 received from the content source 140 and, additionally or alternatively, the
memory 124 may store the data 142 in any one or more of various different forms (e.g., raw,
processed, or a combination thereof). The computing device 120 may also or instead be used to
control one or more components of the system 100, and it will thus be understood that aspects of
one or more instances of a controllers 150 described herein may also or instead apply to the
computing device 120 and vice-versa.
In general, the computing device 120 may include any devices within the system
100 to manage, monitor, communicate with, or otherwise interact with other components in the
system 100. This may include desktop computers, laptop computers, network computers,
gaming systems or devices, tablets, smartphones, wearable devices, or any other device that can
participate in the system 100 as contemplated herein. In an implementation, the computing
device 120 (or a component thereof, e.g., the processor 122 or the memory 124) is integral with
another component in the system 100 (e.g., the controller 150 or the accessories 110).
In some aspects, the computing device 120 may include a user interface. The user
interface may include a graphical user interface, a text or command line interface, a voice-
controlled interface, and/or a gesture-based interface. In implementations, the user interface may
control operation of one or more of the components of the system 100, as well as provide access
to and communication with one or more of the components of the system 100.
The database 130 may include any one or more of various different types of
databases known in the art, including data stores, data repositories, or other memory devices or
systems as well as combinations of the foregoing. In some implementations, the memory 124 of
the computing device may act as the database 130, or vice-versa. In general, the database 130
may store the data 142 in a raw or processed format. In addition to, or instead of, raw or
Page 16 of 42
processed forms of the data 142 from the content source 140 or a live-action sequence 151 as
described below, the data 142 may include instructions for controlling one or more components
of the system 100, such as computer code, external or third-party information processed or
manipulated for use in a virtual reality simulation program (e.g., by the computing device 120),
or combinations thereof.
As stated above, the content source 140 may include data 142 received from a
live-action sequence 151. The live-action sequence 151 may include circumstances occurring in
the physical world, such as a portion of a non-simulated sporting event that is occurring, or that
has occurred, in the physical world. In this manner, data 142 from the live-action sequence 151
may include projectile data indicative of movement of a projectile launched by a player in the
live-action sequence 151. Specifically, the data 142 may include information regarding a cricket
ball in a cricket match such as location information, temporal information, spin information,
speed information, or any one or more other types of information useful for presenting a
trajectory of the cricket ball in the virtual environment 202. In some implementations, the data
142 may be suitable for inclusion in a virtual reality simulation program in a raw form (e.g.,
without further processing by the computing device 106). Alternatively, or additionally, the data
142 may be processed and/or manipulated before it is used as part of a virtual reality simulation
or otherwise used in coordination with one or more components of the system 100 to carry out a
virtual reality simulation. In some implementations, the data 142 is derived from recorded
information from a sporting event, where the information is typically used by umpires/referees,
broadcasters, coaches, players, and the like, to track the path or expected path of a ball to aid in
making, challenging, or analyzing rulings on the field of play. For example, in the context of
cricket, the data 142 may include information typically used to determine where a cricket ball
would have struck if a batsman were not in the path of the ball. This data 142 may represent, in
some instances, a starting-point for manipulation and incorporation into a system 100 as part of
a virtual reality simulation.
The data 142 may be collected, stored, processed, or otherwise generally included
on the content source 140. In some instances, the content source 140 may include a server with a
memory storing the data 142, where such a server may provide an interface such as a web-based
user interface for use of the data 142. The content source 140 may thus include a third-party
resource.
The controller 150 may be electronically coupled (e.g., wired or wirelessly) in a
communicating relationship with one or more of the other components of the system 100 and
operable to control one or more of the other components of the system 100. In some aspects, the
controller 150 may be part of another component of the system 100 (e.g., the computing device
Page 17 of 42
120 or one or more of the accessories 110). Further, although one instance of the controller 150
is shown in it will be understood that one or more different components of the system
100 may each include a respective instance of the controller 150, which may function
independently or in a coordinated manner with one or more other components of the system 100
(e.g., with other instances of the controller 150). In general, the controller 150 may include, or
otherwise be in communication with, an instance of the processor 122 and an instance of the
memory 124, such as those shown in the figure as included on the computing device 120.
The controller 150 may include any combination of software and processing
circuitry suitable for controlling the various components of the system 100 described herein
including without limitation processors 122, microprocessors, microcontrollers, application-
specific integrated circuits, programmable gate arrays, and any other digital and/or analog
components, as well as combinations of the foregoing, along with inputs and outputs for
transceiving control signals, drive signals, power signals, sensor signals, and the like. In certain
implementations, the controller 150 may include processing circuitry with sufficient
computational power to provide related functions such as executing an operating system,
providing a graphical user interface (e.g., to the display 112), to set and provide rules and
instructions for operation of a component of the system 100, to convert sensed information into
instructions, and to operate a web server or otherwise host remote operators and/or activity
through a communications interface 106 or the like. In certain implementations, the controller
150 may include a printed circuit board, an Arduino controller or similar, a Raspberry Pi
controller or the like, a prototyping board, or other computer related components.
The processor 122 may include an onboard processor for one or more of the
computing device 120 and the controller 150. The processor 122 may be any as described herein
or otherwise known in the art. In an implementation, the processor 122 is included on, or is in
communication with, a server that hosts an application for operating and controlling the system
100.
The memory 124 may be any as described herein or otherwise known in the art.
The memory 124 may contain computer code and may store data 142 such as sequences of
actuation or movement of one or more of the accessories 110 or other hardware of the system
100. The memory 124 may contain computer-executable code stored thereon that provides
instructions for the processor 122 for implementation in the system 100, for example, for
controlling one or more components in the system 100. Thus, the memory 124 may include a
non-transitory computer readable medium having stored thereon computer executable
instructions for causing the processor 122 to carry out any one or more of the methods described
herein such as to carry out all or a portion of a virtual simulation.
Page 18 of 42
II. ACCESSORIES
Having provided an overall context for a system 100 for virtual reality
simulation, various implementations of the accessories 110 will now be described. Unless
otherwise specified, or made clear from the context, it will be generally understood that each of
the accessories 110 may be used as part of the system 100 to carry out various different aspects
of the virtual reality simulations described herein. As described in greater detail below, the
accessories 110 may be used for improving an experience of virtual reality simulation,
particularly in the context of virtual reality sports simulation.
Referring now to FIGS. 3A, 3B, and 3C, as described herein, an accessory for use
in a virtual reality simulation system or a virtual reality game may include a bat 300. Although
this accessory is described herein as a bat 300 (and more specifically as a cricket bat), it will be
understood that this accessory may also or instead include another device for a virtual reality
simulation system where features thereof (e.g., components that facilitate haptic feedback) may
be advantageous or desired. For example, the features of the bat 300 described herein may be
included as part of an accessory including or representing a weapon (e.g., a sword), a baton, a
stick, a club, and so forth. Similarly, although the bat 300 is described herein as providing haptic
feedback to simulate contact with a projectile such as a ball (e.g., a cricket ball), the haptic
feedback may also or instead simulate contact with other objects, projectiles, or otherwise,
whether static or moving.
The bat 300 may include a housing 310 having a handle 312 and a body 314
extending from the handle 312, a tracking device 320, one or more solenoids 330 disposed
within the housing 310, and a controller 350.
The bat 300 may be wielded by a user 101 in the physical world while the user
101 is participating in a virtual reality simulation. In use, and when held by the user 101, the bat
300 may simulate impact caused by a projectile striking the bat 300 (and vice-versa) without the
bat 300 in the physical world ever striking such a projectile (e.g., the bat 300 may simulate the
impact of a cricket bat striking a cricket ball during play in the physical world). The simulated
impact may be provided through actuation of one or more of the solenoids 330, which in turn
may cause the bat 300 to vibrate as a form of haptic feedback for a user 101 holding the bat 300.
The haptic feedback provided by the bat 300 to the user 101 may vary based on a physical
parameter of the bat 300 (such as the shape of the bat 300, the size of the bat 300, and the
material of the bat 300), and/or a parameter of a contact event that occurs within a virtual reality
environment 202. The contact event may include contact between virtual representations of the
bat 300 and a projectile (e.g., a virtual representation of a cricket ball) within the virtual reality
environment 202. In this manner, the haptic feedback provided by the bat 300 to the user 101
Page 19 of 42
may represent one or more different simulated contact scenarios based on, for example, the
location where a virtual representation of the bat 300 made contact with the virtual
representation of a projectile, or other factors related to a contact event such as a speed of the
virtual representation of the projectile, spin of the virtual representation of the projectile, speed
of the bat 300 being swung by the user 101 (or a relationship between the speed of the bat 300 in
physical world to the speed of the bat 300 in the virtual reality environment 202), an angle of the
bat 300 being swung by the user 101 (or a relationship between the angle of the bat 300 in
physical world to the angle of the bat 300 in the virtual reality environment 202), exit speed or
exit angle of the virtual representation of the projectile after contact with the virtual
representation of the bat 300, and so forth.
The bat 300 may generally include a size and shape that substantially resembles a
typical cricket bat. For example, and as discussed above, the housing 310 may have a handle 312
and a body 314 extending from the handle 312, where the handle 312 is sized and shaped for
holding by the user 101 and where the body 314 includes one or more surfaces configured for
striking a projectile (e.g., a cricket ball). Specifically, the bat 300 may include a first end 301
having the handle 312, a second end 302 disposed away from the handle 312, a first surface 315
bounded by a top edge 316 and a bottom edge 317, and a second surface 318 disposed opposite
the first surface 318. In some instances, the first surface 315 may include a face 319 structurally
configured to contact a cricket ball and the second surface 318 may include one or more of a
bulge, a swell, and a spline, where one or more of these features may be found on typical cricket
bats.
The housing 310 may be made of similar materials relative to a typical cricket
bat. For example, the housing 310 may be made of one or more of carbon fiber and fiberglass.
The housing 310 may also or instead include wood or a composite material that resembles wood
in one or more of appearance, feel, weight, and so on.
In general, the size of the bat 300 may resemble that of a typical cricket bat as
discussed above. Thus, in certain implementations, the bat 300 may have a length of no more
than about 38 inches (about 965 mm), a width of no more than about 4.25 inches (about 108
mm), an overall depth of no more than about 2.64 inches (about 67 mm), and edges of no more
than about 1.56 inches (about 40 mm).
In some implementations, one or more portions of the bat 300 receive or
otherwise cooperate with one or more parts of a third-party system, such as a video game system
or a video game console. For example, the handle 312 of the bat 300 may define a void for
inserting at least a portion of a video game controller or other component of a video game
system.
Page 20 of 42
The tracking device 320 may be operable to track a position of the housing 310
(e.g., a specific portion of the housing 310 or the bat 300 generally). The tracking device 320
may communicate the position to a virtual reality environment 202 (see, e.g., ) in
substantially real time (e.g., having a time delay of no more than 25 milliseconds). To this end,
the tracking device 320 may be monitored by one or more sensors 322 (e.g., external sensors
such as one or more lasers that perform predetermined sweeps of a physical space where the bat
300 is being used). The tracking device 320 may work in conjunction with the controller 350 so
that simulated movement of the bat 300 is provided within the virtual reality environment 202 in
substantially real time based on information provided by the tracking device 320 in the physical
world. As discussed herein, the bat 300 may represent one of the accessories 110 in the system
100 described with reference to and thus the bat 300 may also or instead work in
conjunction with one or more other components of that system 100. For example, the bat 300
may include a communications interface 106 to communicate with a processor 122 that is
executing a virtual reality cricket game within a virtual reality environment 202, where the
processor 122 is configured to receive a position of the housing 310 and to render the position of
the housing 310 within the virtual reality environment 202 in substantially real time.
As discussed above, the bat 300 may include one or more solenoids 330 that are
actuatable to provide force feedback to a user 101 of the bat 300. To that end, the controller 350,
which may be the same or similar to any of the controllers described herein (e.g., the controller
150 of , may be in communication with the plurality of solenoids 330 for controlling
actuation thereof. Specifically, the controller 350 may receive information related to location-
specific contact between virtual representations of the bat 300 and a projectile (e.g., a virtual
representation of a cricket ball) within the virtual reality environment 202 and to selectively
actuate one or more of the plurality of solenoids 330 to exert a force based on the location-
specific contact. The force exerted by one or more of the plurality of solenoids 330 may be
directed on the housing 310 of the bat 300 such that a user 101 holding the handle 312 (or other
portion) of the bat 300 feels the force as haptic feedback. Thus, in some implementations, the
solenoids 330 may exert a force on the handle 312 of the bat 300 in a relative indirect manner
(e.g., from the body 314 that is connected to the handle 312). Alternatively, one or more of the
solenoids 330 may be positioned within the handle 312 of the bat 300, or may be coupled to the
handle 312 of the bat 300, to directly apply a force to the handle 312.
The solenoids 330 may be positioned within the housing 310 in a predetermined
arrangement, orientation, and general configuration so that one or more of the solenoids 330,
when actuated, may provide haptic feedback to a user 101 of the bat 300 that simulates a
predetermined contact scenario or event. Similarly, the number of solenoids 330 included within
Page 21 of 42
the housing 310, and the number of solenoids 330 that are actuated by the controller 350, may
facilitate simulation of one or more specific, simulated contact scenarios. Each of these
simulated contact scenarios may include, for example, a virtual representation of a ball striking a
virtual representation of the bat 300 in a different location on the bat 300 or at a different
simulated force or direction of impact, such that there is different haptic feedback provided to a
user 101 for different location specific and/or force specific contact between virtual
representations of the bat 300 and a ball within the virtual reality environment 202.
By way of example, one or more of the simulated contact scenarios may include
simulation of a ball striking the bat 300 on (i) a tip 340 of the bat 300 defined by a distal end of
the face 319 disposed substantially adjacent to the second end 302 of the bat 300, (ii) a base 342
of the bat 300 defined by a proximal end of the face 319 disposed substantially adjacent to the
handle 312, (iii) an upper contact area 344 on or adjacent to the top edge 316 of the bat 300, (iv)
a lower contact area 346 on or adjacent to the bottom edge 317 of the bat 300, (v) a “sweet spot”
348 on the face 319 disposed between a centerline 304 of the face 319 and the distal end of the
face 319, and (vi) a middle-hit area 349 of the face 319 disposed between the sweet spot 348 and
the proximal end of the face 319. Although these specific examples of predetermined contact
scenarios are provided above, it will be understood that other contact scenarios are also or
instead possible for simulation.
The solenoids 330 may be positioned within the housing 310 and specifically
actuated to facilitate haptic feedback for a user 101 wielding the bat 300 for the above-identified
exemplary simulated contact scenarios. For example, in certain implementations, one or more
solenoids 330 may be disposed adjacent to the second end 302 of the bat 300 and are configured
to actuate during simulated contact scenario (i) discussed above; one or more solenoids 330 may
be disposed adjacent to the first end 301 of the bat 300 and are configured to actuate during
simulated contact scenario (ii) discussed above; one or more solenoids 330 may be disposed
adjacent to the top edge 316 of the bat 300 and are configured to actuate during simulated
contact scenario (iii) discussed above; and one or more solenoids 330 may be disposed adjacent
to the bottom edge 317 of the bat 300 and are configured to actuate during simulated contact
scenario (iv) discussed above.
Simulated contact scenario (v) discussed above may represent an ideal contact
event between a cricket bat and a cricket ball, such as contact made in the sweet spot 348 of the
bat 300. Thus, in some aspects, all of the solenoids 330 in the plurality of solenoids 330 may be
configured to actuate during this simulated contact scenario to alert a user 101 that they have
made contact in the sweet spot 348 of a virtual representation of the bat 300. Also, in some
implementations, one or more of the solenoids 330 may be configured to actuate in a plurality of
Page 22 of 42
different power modes, where a power mode corresponds to the force exerted by a solenoid 330.
Some examples of such power modes may include a low-power mode and a high-power mode,
where the low-power mode exerts less force than the high-power mode. To this end, in an
implementation, all of the solenoids 330 may actuate in a low-power mode during simulated
contact scenario (v) discussed above to create the feeling of a relatively smooth and desirous
impact for the user 101. Similarly, because simulated contact scenario (vi) discussed above may
represent a slight “mis-hit” contact event between a cricket bat and a cricket ball, in some
aspects, all of the solenoids 330 in the plurality of solenoids 330 may be configured to actuate
during this simulated contact scenario to alert a user 101 that such an event has occurred, but in
a different power mode from simulated contact scenario (v)—e.g., a high-power mode such that
the feedback is relatively jarring to a user 101 indicating the slight mis-hit. Other power modes
are also or instead possible for actuation of the solenoids 330.
It will be understood that other arrangements for the solenoids 330, and other
actuation techniques, sequences, and scenarios for the solenoids 330 are also or instead possible.
However, in general, the physical arrangement of the plurality of solenoids 330 within the
housing 310 may provide a predetermined force distribution for certain location-specific or
force-specific contact between virtual representations of the bat 300 and a projectile within the
virtual reality environment 202.
An example of a specific arrangement for the solenoids 330 is shown in FIGS. 3B
and 3C. In general, the physical arrangement of the plurality of solenoids 330 within the housing
310 may provide a predetermined center of gravity for the bat 300 (e.g., one that substantially
resembles the predetermined center of gravity for a typical cricket bat having a similar size and
shape). Similarly, the housing 310 of the bat 300, with the plurality of solenoids 330 included
therein, may be weighted to provide a relatively similar feel to a typical cricket bat having a
similar size and shape (e.g., while holding the bat 300 and during a swing by the user 101). For
example, a typical cricket bat may have a weight between about 2.0 lbs. and about 3.5 lbs., and
thus the housing 310 and components included therein may be selected to have a cumulative
weight between about 2.0 lbs. and about 3.5 lbs.
As discussed herein, each of the plurality of solenoids 330 may be positioned in a
predetermined orientation (e.g., relative to one another or relative to one or more surfaces of the
housing 310 of the bat 300). For example, the predetermined orientation of at least one of the
plurality of solenoids 330 may be substantially normal to a plane of the face 319 of the bat 300.
Also, or instead, the predetermined orientation of at least one of the plurality of solenoids 330
may be at a non-ninety-degree angle relative to a plane of the face 319 of the bat 300. Thus, one
or more of the plurality of solenoids 330 may have an axis of linear actuation disposed at an
Page 23 of 42
angle between about 1-degree and about 89-degrees relative to a plane of the face 319 of the bat
300. For example, the predetermined orientation of at least one of the plurality of solenoids 330
may have an axis of linear actuation disposed at an angle of about 35 degrees offset from a plane
of the face 319 of the bat 300 (or another surface of the bat 300). Also, or instead, at least one of
the plurality of solenoids 330 may be disposed substantially level with a center plane of the bat
300. By way of further example, the predetermined orientation of the plurality of solenoids 330
may include at least two of the plurality of solenoids 330 having respective axes of linear
actuation at least about 70 degrees opposed to one another and no more than about 145 degrees
offset from a plane of the face 319 of the bat 300 (or another surface of the bat 300). Other
arrangements and orientations are also or instead possible.
In some implementations, the number of the plurality of solenoids 330 includes at
least six solenoids 330 as shown in FIGS. 3B and 3C. For example, at least two of the solenoids
330 may be disposed adjacent to the first end 301 of the bat 300 and at least another two of the
solenoids 330 may be disposed adjacent to the second end 302 of the bat 300, where two other
solenoids 330 are disposed therebetween. However, it will be understood that more than six
solenoids 330 or less than six solenoids 330 are possible without departing from the scope of
this disclosure, and the number, positioning, and orientation of the solenoids 330 may vary
without departing from the scope of this disclosure.
Thus, in general, one or more of the solenoids 330 may be disposed within the
body 314 of the housing 310 as described herein. However, one or more of the solenoids 330
may also or instead be disposed in another portion of the bat 300 such as the handle 312.
Similarly, in some implementations, the handle 312 may include a protrusion 313 engaged with
a solenoid 330 for conveying haptic feedback to a user’s hands when the user is gripping the
handle 312 during exertion of a force based on a location-specific contact event. Other
mechanical or structural features are also or instead possible for inclusion on the bat 300 for
conveying haptic feedback to a user’s hands when the user is gripping the handle 312 during
exertion of the force based on a location-specific or force-specific contact event.
Generally, one or more of the solenoids 330 may include a movable member 332,
such as a movable arm, where movement of the movable member 332 facilitates haptic feedback
as described herein. Thus, one or more of the solenoids 330 may include a linear actuator or
similar. A movable member 332 of one or more of the solenoids 330 may be spring-loaded or
otherwise biased such that, upon release, the movable member 332 extends or otherwise moves
to create a force or vibration corresponding to haptic feedback. For example, the movable
member 332, upon movement thereof, may impact a contact surface 334 causing vibration in the
bat 300. The contact surface 334 may be a surface of the housing 310 or a separate surface
Page 24 of 42
disposed within the housing 310. Stated otherwise, in some implementations, the bat 300 may
include a contact surface 334 disposed adjacent to at least one of the plurality of solenoids 330,
where at least a portion of this solenoid 330 (e.g., a movable member 332 thereof) is structurally
configured to contact the contact surface 334 when actuated. Also, or instead, movement of the
movable member 332 itself may provide the force or vibration corresponding to haptic feedback
(e.g., without contacting a surface of the bat 300).
Movement of the movable member 332 of a solenoid 330 may be facilitated by a
motor 336 included on the solenoid 330 (e.g., a direct current motor). In certain
implementations, one or more of the solenoids 330 is capable of providing about eight kilograms
of force. However, because a typical cricketer may experience about 40–55 kilograms of force
when batting, it will be understood that more powerful solenoids 330 are also or instead possible
without departing from the scope of this disclosure.
The bat 300 may further include one or more power sources 360 within the
housing 310 that are in electrical communication with one or more powered components of the
bat 300 (e.g., one or more of the plurality of solenoids 330 and the controller 350). The one or
more power sources 360 may include a battery (e.g., a rechargeable battery). For example, a
power source 360 may include a wireless rechargeable battery that can be recharged using a
short-range or long-range wireless recharging system. The power source 360 may also or instead
be coupled to a port (e.g., a USB port) for connection to an electrical outlet or similar for
charging.
Referring now to FIGS. 4A and 4B, an accessory for use in a virtual reality
simulation system or a virtual reality game may include a glove 400. As described above,
although this accessory is described herein in the context of a cricket simulation, it will be
understood that this accessory may also or instead be adapted for use in other contexts.
The glove 400 may be sized and shaped to receive at least one portion of a hand
of a user 101. For example, the glove 400 may be structurally configured to receive the entire
hand of a user 101, or one or more fingers and the thumb of the user 101. The glove 400 may be
adapted for use with a cooperating accessory, for example, another glove such that each of a
user’s hands are engaged with such accessories. The glove 400 may resemble a typical glove
that is worn for protection, grip, and comfort by a cricket batsman. Thus, the glove 400 may
include padding 402 disposed on or within at least a portion of the glove 400. Similar to other
accessories described herein, the glove 400 may include a tracking device 420, one or more
haptic feedback actuators 430, and a controller 450.
The tracking device 420 may be the same or similar to other tracking devices
described herein (e.g., the tracking device 320 with reference to the bat 300 shown in FIGS. 3A,
Page 25 of 42
3B, and 3C). In general, the tracking device 420 may be coupled to the glove 400 and operable
to track a position of the glove 400 (e.g., to communicate the position to the virtual reality
environment 202 in substantially real time). Thus, similar to the tracking device 320 of the bat
300, the tracking device 420 may be monitored by one or more sensors 422. As discussed
herein, the glove 400 may represent one of the accessories 110 in the system 100 described with
reference to and thus the glove 400 may also or instead work in conjunction with one or
more other components of that system 100. For example, the glove 400 may include a
communications interface 106 to communicate with a processor 122 that is executing a virtual
reality cricket game within the virtual reality environment 202, where the processor 122 receives
a position of the glove 400 and renders the position of the glove 400 within the virtual reality
environment 202 in substantially real time. In this manner, the virtual reality environment 202
may include a virtual representation of the glove 400 viewable by the user 101.
In some implementations, the glove 400 is flexible to grasp a bat, such as the bat
300 described above. To this end, the tracking device 430 may be configured to detect and
communicate finger flexion, or thumb flexion, of the user 101 wearing the glove 400. The
tracking device 430 may also or instead be configured to detect and communicate an orientation
of the glove 400, or other position and movement information.
The one or more haptic feedback actuators 430 may be coupled to the glove 400
in a predetermined arrangement, where one or more of the haptic feedback actuators 430 are
actuatable to transmit forces to at least one portion of the hand of the user 101 in the glove 400.
Thus, in use, the haptic feedback actuators 430 may transmit a force to a wearer of the glove 400
to simulate a contact scenario that takes place within the virtual reality environment 202. The
haptic feedback actuators 430 may be disposed in one or more locations of the glove 400. For
example, the haptic feedback actuators 430 may be dispersed throughout different locations
within the glove 400 corresponding to different regions of a user’s hand when wearing the glove
400. This may include implementations where one or more haptic feedback actuators 430 are
disposed along one or more portions of the glove 400 sized and shaped to receive a finger of a
wearer, a thumb of a wearer, a palm of a wearer, a backside of a wearer’s hand, and
combinations of the foregoing.
The haptic feedback actuators 430 may include, or be formed on, an insert 432
disposed within the glove 400. The insert 432 may be disposed within padding 402 of the glove
400 or between layers of padding 402. To this end, the padding 402 may include a top layer and
a bottom layer, with one or more haptic feedback actuators 430 disposed in-between these
layers.
Page 26 of 42
The controller 450 may be the same or similar to other controllers described
herein. In general, the controller 450 may be in communication with the tracking device 420,
one or more of the haptic feedback actuators 430, and a virtual reality environment 202 (), for example, e.g., for controlling one or more aspects of one or more of these components.
For example, the controller 450 may be configured to: receive, from the tracking device 420, a
position of the tracking device 420; transmit the position of the tracking device 420 to the virtual
reality environment 202; receive, from the virtual reality environment 202, an indication of force
on a virtual glove (corresponding to the glove 400 in the physical world) in the virtual reality
environment 202; and actuate one or more haptic feedback actuators 430 on the glove 400 to
simulate the force on the virtual glove in the virtual reality environment 202.
By way of example, the indication of force on the virtual glove in the virtual
reality environment 202 may correspond to a ball striking a bat being held by the hand of a user
101. In this manner, when such contact between a virtual bat and a virtual ball is made within
the virtual reality environment 202, a user 101 in the physical world may feel a representative
force in the glove 400 through actuation of one or more of the haptic feedback actuators 430. By
way of further example, the indication of force on the virtual glove in the virtual reality
environment 202 may also or instead correspond to a ball striking the glove 400. In this manner,
when such contact between a virtual ball and a virtual glove is made within the virtual reality
environment 202, a user 101 in the physical world may feel a representative force in the glove
400 through actuation of one or more of the haptic feedback actuators 430.
In some aspects, the glove 400 is the only accessory providing such haptic
feedback. In other aspects, the glove 400 works in conjunction with one or more other
accessories (e.g., the bat 300 described above) to provide a more realistic feel for the user 101.
To this end, one or more of the haptic feedback actuators 430 may operate in coordination with
one or more haptic devices on another accessory wielded by the user 101 (e.g., the solenoids 330
included on a bat 300 held by the user 101).
To differentiate between different simulated contact scenarios (e.g., a virtual ball
striking a virtual bat or virtual glove), different haptic feedback actuators 430 may actuate and/or
the haptic feedback actuators 430 may actuate in different power modes to create different
feedback. Further, the glove 400 may facilitate feedback that is location specific or force
specific within the glove 400 itself. For example, the haptic feedback actuators 430 may be
disposed throughout different portions of the glove 400, such that certain haptic feedback
actuators 430 in certain designated locations may be actuated depending upon the location of
contact in a simulated contact scenario. Thus, one or more of the haptic feedback actuators 430
may be operable to adjust feedback based on a parameter in the virtual reality environment 202,
Page 27 of 42
where such a parameter may include one or more of a virtual bat selected by the user 101, a
location on the virtual bat where a virtual ball makes contact in the virtual reality environment
202, a vertical displacement between the virtual bat and the virtual ball in the virtual reality
environment 202, a location on the virtual glove where a virtual ball makes contact in the virtual
reality environment 202, a force of impact, and so on. Similarly, one or more of the haptic
feedback actuators 430 may be operable to adjust feedback based on an attribute of one or more
of a virtual ball and a virtual bat in the virtual reality environment 202, where such an attribute
may include one or more of ball speed, ball spin (if any), bat speed, bat angle, an exit speed of a
bat held by the user 101, and an exit angle of the bat. Such an attribute for the virtual bat may
directly correspond to motion and use of a bat 300 or other accessory in a physical space.
It will be understood that the glove 400 (and/or another accessory described
herein) may also or instead include one or more other sensors 470. These sensors 470 may
include one or more of the following: a force sensor, a contact profilometer, a non-contact
profilometer, an optical sensor, a laser, a temperature sensor, a motion sensor, an imaging
device, a camera, an encoder, an infrared detector, a weight sensor, a sound sensor, a light
sensor, a sensor to detect a presence (or absence) of an object, and so on.
Referring now to FIGS. 5A, 5B, and 5C, an accessory for use in a virtual reality
simulation system or a virtual reality game may include a helmet 500. As described above,
although this accessory is described herein in the context of a cricket simulation, it will be
understood that this accessory may also or instead be adapted for use in other contexts.
The helmet 500 may include a shell 510 that is positionable about at least one
portion of a head of a user 101, a display 530 coupled to the shell 510, an audio device 540
coupled to the shell 510, and a tracking device 520 coupled to the shell 510.
The shell 510 may be sized and shaped to substantially mimic, in both look and
feel, a cricket batsman’s helmet. That is, the shell 510 may resemble a real-world cricket helmet
worn by a typical batsman for safety. For example, to more realistically provide a cricket
gaming experience, the shell 510 may include an actual, real-world cricket helmet adapted to
accommodate one or more of the display 530, the audio device 540, and the tracking device 520.
The display 530 may be the same or similar to any of the displays described
herein or otherwise known in the art of virtual reality simulation. For example, the display 530
may be included on a virtual reality head mounted display (HMD) visor.
As shown in FIGS. 5A and 5B, the display 530 may be movable between
different positions. For example, and as shown in , the display 530 may be placed in a
first position where the display 530 is viewable by a user 101 with the shell 510 positioned about
at least a portion of the head of the user 101. And as shown in , the display 530 may be
Page 28 of 42
placed in a second position where the display 530 is not obstructing at least part of a user’s
vision with the shell 510 positioned about at least a portion of the head of the user 101. To
accommodate the display 530 being movable between different positions, the display 530 may
be pivotable, slidable, extendable, and so on, relative to the shell 510. For example, and as
shown in FIGS. 5A and 5B, the helmet 500 may include a pivoting joint 512 that couples the
display 530 to the shell 510. More specifically, the helmet 500 may include a display mount 514
coupled to the shell 510 that is sized and shaped to receive the display 530 therein or thereon,
where the display mount 514 includes or is otherwise coupled to a pivoting joint 512 or other
connection (e.g., a hinge) facilitating movement of the display 510 relative to the shell 510.
Thus, at least a portion of the display mount 514 may be movable relative to the shell 510. For
example, the display mount 514 may be movable to place the display 510 in the first position
shown in and the second position shown in , or other positions.
The display 530 may also or instead be removable and replaceable from the
display mount 514, such as where the display 530 is included on a mobile computing device
(e.g., a smartphone) and the mobile computing device is removably mountable to the helmet 500
via the display mount 514.
The audio device 540 may be operable to provide audio output from the virtual
reality environment 202 to the user 101 with the shell 510 positioned about a portion of the head
of the user 101. In some implementations, the audio device 540 includes headphones or earbuds.
The audio device 540 may be integral with the shell 510.
The tracking device 520 may be the same or similar to any of the tracking devices
described herein or otherwise known in the art of virtual reality simulation. In general, the
tracking device 520 may be operable to track a position of the helmet 500, and to communicate
the position to a virtual reality environment 202 in substantially real time. As discussed herein,
the helmet 500 may represent one of the accessories 110 in the system 100 described with
reference to and thus the helmet 500 may also or instead work in conjunction with one or
more other components of that system 100. For example, the helmet 500 may include a
communications interface 106 to communicate with a processor 122 that is executing a virtual
reality cricket game within the virtual reality environment 202, where the processor 122 is
configured to receive a position of the helmet 500 and to render the position of the helmet 500
within the virtual reality environment 202 in substantially real time. In this manner, the virtual
reality environment 202 may include a virtual representation of the helmet 500 viewable by the
user 101. The tracking device 520 may be disposed on or within the shell 510 of the helmet 500.
It will be understood that the helmet 500 may also or instead include any of the
features described above with reference to other accessories 110 in the system 100 described
Page 29 of 42
with reference to or elsewhere in this disclosure. Thus, the helmet 500 may include
sensors, solenoids or other haptic feedback devices, and so on.
In addition to the accessories described above for use in a virtual reality
simulation system or a virtual reality game, which are set forth by way of example and not of
limitation, other accessories are also or instead possible. One such accessory includes the pads
600 shown in The pads 600 may include one or more of the features described herein
that aid in a virtual reality simulation becoming more of an immersive, realistic experience for a
user. For example, the pads 600 may include one or more haptic feedback actuators 630 that
facilitate a user 101 to feel relatively realistic force feedback corresponding to forces that may
be experienced when partaking in an activity in the real world that is being simulated in a virtual
reality environment 202 ().
In general, the pads 600 may include a wearable accessory, and although shown
as typical padding that a cricket player might wear during a cricket match, it will be understood
that other wearable accessories are contemplated herein. This may include other padding-type or
add-on accessories, as well as more typical wearable clothes such as hats, pants, shirts, and so
In the context of a cricket simulation, one or more haptic feedback actuators 630
in the pads 600 may actuate to simulate a batsman being struck by a bowled ball (e.g., when
such an instance occurs in a virtual environment as described herein).
III. SIMULATION
Having provided an overall context for a system 100 for virtual reality simulation
(see, e.g., and various hardware components that may be included in such a system (see,
e.g., FIGS. 2A–6), various simulation techniques will now be described. It will be understood
that the following virtual reality simulation techniques may be used for improving an experience
of virtual reality simulation, and more particularly, for improving an experience of virtual reality
sports simulation. To that end, it will be understood that one or more of the following virtual
reality simulation techniques may be used in conjunction with one or more of the hardware
accessories or other components described herein.
is a flow chart of an exemplary method 700 of operating a virtual reality
game. Unless otherwise specified or made clear from the context, it should be appreciated that
the exemplary method 700 may be carried out using any one or more of the devices, systems,
and methods described herein. Thus, for example, the exemplary method 700 may be carried out
using the system 100 (see, e.g., and, more specifically, may be carried out to create a
realistic virtual reality simulation for an end user 101 incorporating one or more of the
accessories 110 described herein (e.g., the bat 300 of FIGS. 3A–3C). It will thus be understood
Page 30 of 42
that, while the exemplary method 700 may emphasize use of a bat 300 as the accessory 110
being used, the exemplary method 700 may be adapted with any of the other accessories 110
discussed herein.
As shown in step 702, the exemplary method 700 may include receiving
projectile data. The projectile data may be related to a virtual projectile within a virtual reality
environment, which, as discussed in more detail below, may be directly or indirectly correlated
to a real-world projectile in a live-action sequence. The projectile data may include temporal
data related to the arrival of a virtual projectile within a predetermined volume adjacent to a
virtual player in a virtual reality environment, and spatial data related to a trajectory of the
virtual projectile in the virtual reality environment.
As shown in step 704, the exemplary method 700 may include receiving
accessory data including movement of an accessory in a physical space (e.g., an accessory held
by, worn by, or otherwise wielded by a user of a virtual reality simulation). The accessory data
may correspond to movement of a virtual accessory of a virtual player within the virtual reality
environment.
As shown in step 706, the exemplary method 700 may include displaying the
virtual accessory and the virtual projectile on a display of a virtual reality simulation system
(e.g., a display that is viewable by a user). The exemplary method 700 may also or instead
include simulating tracked movement of the accessory within the virtual reality environment.
As shown in step 708, the exemplary method 700 may include adjusting a
trajectory of the virtual accessory based on additional tracked movement of the accessory. Thus,
for example, if a user adjusts movement of the accessory in the real-world, the virtual accessory
of the virtual player within the virtual reality environment may be adjusted in a similar fashion.
As shown in step 710, the exemplary method 700 may include determining,
based on a comparison of the accessory data and the projectile data, a contact scenario between
the virtual accessory and the virtual projectile within the virtual reality environment. The contact
scenario may be any of the simulated or predetermined contact scenarios discussed herein.
As shown in step 712, the exemplary method 700 may include determining
whether the virtual accessory will contact the virtual projectile within the virtual reality
environment. When it is determined that no contact is made, or will be made, between the virtual
accessory and the virtual projectile within the virtual reality environment, the exemplary method
700 may include repeating one or more of the steps of receiving projectile data, receiving
accessory day, and so on, until it is determined that there is or will be contact between the virtual
accessory and a virtual projectile within the virtual reality environment. It will also be
understood that other steps in the exemplary method 700 may still be performed, however, even
Page 31 of 42
when it is determined that no contact is made, or will be made, between the virtual accessory
and the virtual projectile within the virtual reality environment, such as transmitting appropriate
audio feedback (e.g., a sound of a projectile passing by a virtual player without making contact
with the virtual accessory). When it is determined that contact is made, or will be made, between
the virtual accessory and a virtual projectile within the virtual reality environment, the
exemplary method 700 may continue to the remaining steps shown in the exemplary method
700.
As shown in step 714, the exemplary method 700 may include determining a
contact location on the virtual accessory and a contact time based on the accessory data and the
projectile data. This may also or instead include determining a contact force based on the
accessory data and the projectile data.
As shown in step 716, the exemplary method 700 may include, based on the
contact scenario, selectively actuating one or more haptic feedback devices (e.g., solenoids)
coupled to the accessory to provide haptic feedback to a user grasping, wearing, or wielding the
accessory. This haptic feedback may substantially simulate contact between the accessory and a
projectile. Selectively actuating one or more haptic feedback devices may further include
defining a number of discrete contact scenarios characterizing contact between the virtual
accessory and the virtual projectile within the virtual reality environment at a number of
different locations on the virtual accessory and selectively actuating one or more haptic feedback
devices according to one of the number of discrete contact scenarios most closely corresponding
to a contact location estimated within the virtual reality environment. The contact scenario may
also or instead include a characteristic pertaining to a level of force characterizing contact
between the virtual accessory and the virtual projectile within the virtual reality environment,
and the exemplary method 700 may also or instead include selectively actuating one or more
haptic feedback devices according to this level of force.
As shown in step 718, the exemplary method 700 may include selecting audio
feedback based on the contact scenario, determining timing for sending the audio feedback to a
speaker to align with timing of the contact scenario, and transmitting the audio feedback to the
speaker. In certain implementations, each simulated contact scenario has an accompanying audio
feedback selection. For example, a virtual projectile hitting a certain part of the virtual accessory
may be accompanied by a different sound than the virtual projectile hitting a different part of the
virtual accessory. The speaker may include one or more of the audio devices 540 discussed
herein (e.g., with reference to the helmet 500).
As discussed herein, the present teachings may utilize data from a live-action
sequence. As further discussed herein, the live-action sequence may be occurring in near real
Page 32 of 42
time relative to operation of the virtual reality environment, or the live-action sequence may be a
recording (e.g., of a completed sporting event or similar).
In the context of cricket, a common approach for batsmen in real-world
environments is to practice against live bowling or to use a mechanical machine to practice form
and timing. However, these real-world approaches may be limited by the fact that every
bowler’s delivery has its own subtle characteristics that are typically not replicated by
conventional tools and methods. While some simulations (e.g., video games) may replicate a
general delivery type as described above and may use a generic avatar to simulate a bowler, the
computer-generated deliveries of these bowlers may vary significantly from actual real-world
bowlers. Also, the release point of bowler avatars may become relatively easy for a batsman to
predict, thus not being reflective of randomness of different bowlers’ real-world release points.
So, while a user may become proficient at hitting a cricket ball in a typical video game
environment, such practice does not often translate into success in real-world situations because
the timing and release point recognition may be vastly different. Another approach typically
used includes reviewing film (e.g., reviewing still shots or video footage of a particular bowler).
However, it may be difficult to capture still shots and video footage from a batsman’s
perspective, and, as a result, traditional still shots and video footage may fail to provide a
batsman with the immersive experience of facing a real-world bowler. Implementations
described herein may improve upon the aforementioned deficiencies by facilitating more
immersive, realistic experiences for users.
For example, certain implementations discussed herein may facilitate a first-
person perspective of cricket balls that incorporate the actual delivery and trajectory of balls
from real-world bowlers. In some aspects, a user may watch a digitized avatar of a real-world
bowler perform their own bowling sequence with a simulated cricket ball delivered from the
bowler’s tracked release point that leaves the bowler’s hand. Depending on the ball, data may be
used to simulate a flight path (and spin rate, spin direction, and so on, as applicable) associated
with a bowled ball in the real-world.
is a flow chart of an exemplary method 800 of virtual reality simulation
(e.g., using data from a live-action sequence). Unless otherwise specified or made clear from the
context, it should be appreciated that the exemplary method 800 may be carried out using any
one or more of the devices, systems, and methods described herein. In general, the exemplary
method 800 may include using data from a live-action sequence to select an appropriate
representation of a virtual player based on the data. For example, if the data includes information
regarding a certain bowled ball in a live-action cricket match, simply placing that data directly
into a virtual reality simulation may result in a mis-matched virtual bowler relative to a virtual
Page 33 of 42
representation of that bowled ball. Thus, a virtual bowler should have a release point that
corresponds to the actual release point of the ball in the live-action cricket match. Also, or
instead, a virtual bowler should have an appropriate motion corresponding to the ball in the live-
action cricket match—e.g., a slower release for a relatively slow bowled ball.
The exemplary method 800 may also or instead include altering or adjusting data
from a live-action sequence for incorporation into a virtual reality simulation. This may include,
for example, adjusting a trajectory of a virtual ball relative to the ball in the live-action cricket
match based on a difference in parameters between the virtual reality environment and the
physical setting from the live-action cricket match—e.g., different weather or a different type of
pitch. This may also or instead include, for example, adjusting a trajectory of a virtual ball
relative to the ball in the live-action cricket match based on a difference in parameters or
attributes between one or more virtual players in the virtual reality environment and one or more
live-action players from the live-action cricket match. For example, if a virtual batsman is
batting in a different alignment or is using a different batting stance (e.g., a right-handed or a
left-handed stance) that differs from a batsman to which the ball in the live-action cricket match
was bowled, this information may be used to adjust the trajectory of the virtual ball. This may be
done in the same or similar manner in which a bowler in the physical world would adjust the
bowled ball’s trajectory based on the differing attribute. By way of further example, a virtual
batsman may also or instead have a differing physical attribute relative to a batsman to which
the ball in the live-action cricket match was bowled (e.g., is shorter or taller), and this
information may be used to adjust the trajectory of the virtual ball. Altering or adjusting data
from a live-action sequence for incorporation into a virtual reality simulation may also or instead
include reformatting the data, filling in gaps in the data, and/or reverse-engineering or otherwise
manipulating the data so that it can be effectively used in the virtual reality simulation.
As shown in step 802, the exemplary method 800 may include generating a
virtual reality environment including a virtual player in a setting. As discussed herein, the virtual
reality environment may be configured for use in a virtual reality cricket simulation, where a
projectile includes a cricket ball and the virtual player is a bowler.
As shown in step 804, the exemplary method 800 may include receiving
projectile data indicative of movement of a projectile launched by a player in a live-action
sequence. As discussed herein, in the context of cricket, the projectile data may include
information regarding a bowled ball from a live-action cricket match, and thus the player in the
live-action sequence may include a bowler in the live-action cricket match. The projectile data
may include one or more discrete locations of the projectile before, during, or after the release of
the projectile launched by the player in the live-action sequence. The projectile data may also or
Page 34 of 42
instead include a trajectory of the projectile, a speed of the projectile (e.g., an initial velocity of
the projectile when released by the player or a velocity recorded downstream from the player,
where the velocity may be provided as vectors in three-dimensional space), a spin of the
projectile (if any), a release point of the projectile, a release angle of the projectile, at least one
location of the projectile downstream from the player (e.g., at a mid-point between its release
and a target), a target location of the projectile downstream from the player (e.g., where it hits a
target, or where it would have hit a target if not intervened with), and so on. Also, or instead,
some of the aforementioned datapoints may be calculated or estimated from other information
included in the projectile data. For example, a spin of the projectile, if present, may be estimated
from a trajectory and a speed of the projectile, and/or from contact between the projectile and a
playing surface (e.g., by analyzing the resulting directional vectors of the projectile before and
after contacting the playing surface).
The projectile data may also or instead include information pertaining to the
player that launched the projectile in the live-action sequence. For example, the projectile data
may include the distance covered in a player’s delivery when bowling a ball in cricket (e.g., the
distance of the player’s “run-up”), the speed of one or more portions of the delivery (e.g., the
speed of the run-up, pre-delivery stride, ball release, or follow though), whether the player has a
“side-on” or “front-on” action, and so on.
As shown in step 806, the exemplary method 800 may include, based on the
projectile data, identifying a release point of the projectile by the player in the live-action
sequence. The release point may be included in the projectile data, such that identifying the
release point includes simply reading the projectile data. Also, or instead, identifying the release
point may include calculating the release point based on information in the projectile data (e.g.,
based on a trajectory of the projectile).
As shown in step 808, the exemplary method 800 may include determining a
motion of the virtual player in the virtual reality environment based on the projectile data and
the release point. For example, if the projectile data shows a relatively slow bowled ball, the
motion of the virtual player may be determined to be relatively slow, or have a relatively short
run-up in their delivery.
Determining the motion of the virtual player may include selecting one of a
plurality of motions stored in a database (e.g., the database 130 of . These motions may
include motions of avatars or video feeds of live-action sequences as described below in step
810. The selected motion from the plurality of motions may be selected to most closely match
attributes of the projectile data or the determined motion. In some implementations, the
attributes of the projectile data are weighted. For example, while it may be true that a cricket
Page 35 of 42
bowler typically bowls a ball slower to achieve greater spin, the projectile data may show that a
certain cricket bowler in a live-action sequence may have achieved both relatively high spin and
a relatively high velocity. In such circumstances, the velocity attribute may be weighted higher
than the spin attribute, so that a selected motion demonstrates that a ball will be released at a
relatively high speed. Also, or instead, if the projectile data includes information pertaining to
the player that launches the projectile, that information may be weighted more than information
pertaining to the projectile itself. In this manner, if the player concealed the pace of the
projectile or the spin of the projectile during their delivery, the player’s concealment in their
delivery may be substantially replicated in the virtual reality environment, thereby providing a
more realistic experience to a user.
As shown in step 810, the exemplary method 800 may include, on a display of
the virtual reality environment viewable by a user, displaying the virtual player moving
according to the motion and a graphical representation of the projectile moving according to a
temporal series of locations of the projectile. Displaying the virtual player moving according to
the motion may include presenting a first-person view of the virtual player on the display as
described herein. Displaying the virtual player moving according to the motion may also or
instead include presenting video data of the player from a live-action sequence. In this manner,
the virtual player may more directly correspond to the player that launched the projectile in a
live-action sequence. Displaying the virtual player moving according to the motion may also or
instead include presenting an avatar. The avatar may be based off of a player in the physical
world, such as where the avatar is created using one or more of key-framing and motion capture
techniques of the player in the physical world.
As shown in step 812, the exemplary method 800 may include, based on the
projectile data, identifying a first trajectory of the projectile. The first trajectory may include the
actual trajectory of the projectile in the real-world.
As shown in step 814, the exemplary method 800 may include manipulating the
first trajectory using one or more parameters to determine a second trajectory. Manipulating the
first trajectory may include adding a curvature to the first trajectory. The curvature may be based
at least in part on a spin of the projectile (if any), or a reaction of the projectile when contacting
a playing surface. Adding curvature to the first trajectory may be accomplished by introducing a
constant bi-directional drag force (in the x- and z-directions) on the projectile. This constant
force may be based at least in part on one or more of spin, seam angle, velocity in the direction
opposite to the drag vector, air density, cross-sectional area of the projectile, and a drag force
coefficient. Manipulating the first trajectory may also or instead include interpolating between
different paths for the projectile created using one or more projectile motion equations. For
Page 36 of 42
example, manipulating the first trajectory may include cubic spline interpolation between three-
dimensional data points to generate third-order polynomial equations that simulate the trajectory
of the projectile in three-dimensional space.
Manipulating the first trajectory may also or instead include changing a
parameter of the projectile data. By way of example, such a parameter may include one or more
of a release point of the projectile, a release angle of the projectile, an initial speed of the
projectile when released by the player, and a location of the projectile downstream from the
player. For example, manipulating the first trajectory may include changing the release angle of
the projectile or the rotation/swing of the player, which in turn can change the effect of a drag
force on the projectile.
As discussed herein, the parameter may be changed based on a difference
between the live-action sequence and the setting of the virtual reality environment. Thus, the
exemplary method 800 may include altering a path of the graphical representation of the
projectile in the virtual reality environment from a trajectory included in the projectile data
based on one or more predetermined parameters that differ between the live-action sequence and
the setting of the virtual reality environment. By way of example, such a difference between the
live-action sequence and the setting of the virtual reality environment may include one or more
of a playing surface, weather, lighting, time of day or time of year, climate or altitude (e.g., for
air density), a physical attribute of a user (e.g., a height of the user for displaying the user as a
batsman in a virtual reality cricket simulation, whether the user is right-handed or left-handed,
and so on), and a physical attribute of a virtual player (e.g., the height of a bowler in a virtual
reality cricket simulation, whether the bowler is right-handed or left-handed, and so on).
As shown in step 816, the exemplary method 800 may include, on a display of
the virtual reality environment viewable by a user, displaying a graphical representation of the
projectile launched from the virtual player and moving according to the second trajectory.
Thus, using techniques described above, data from a live cricket match with
recorded ball data (e.g., trajectory and location data) may be used in a virtual reality
environment (e.g., in substantially real time). The virtual reality environment may substantially
mimic the real-world setting from the live cricket match, or a different setting, where the user, as
the batman, may see virtual representations from a first-person perspective including
representations of themselves (e.g., their hands or gloves, their bat, a part of their helmet, and so
on). In this manner, the user may view a virtual reality version of a real-world cricket ball that is
bowled in the same or similar manner in a live-action cricket match. Furthermore, virtual reality
simulation techniques disclosed herein may facilitate the user viewing a playback of recorded
Page 37 of 42
data from a live-action sequence. Thus, in implementations, a virtual reality simulation method
facilitates game play with professional athletes.
As described above, for a more immersive experience, movements of a bowler
from a live-action sequence such as a live cricket match may be recorded and automatically
applied to a player within the virtual reality simulation. The player may thus make the same
approach as a professional bowler in a live-action match, and may release a ball in the virtual
reality simulation that follows the same (or similar) path as the ball in the live-action match.
This may facilitate asynchronous play between fans at home and professionals around the world.
While certain implementations have been described, other implementations are
additionally or alternatively possible. For example, while a certain configuration of an accessory
including a bat 300 is described above with reference to FIGS. 3A and 3B, other accessory
configurations are additionally or alternatively possible for the bat. For example, referring now
to a bat 300’ may include an alternate arrangement and orientation for the solenoids 330’
disposed therein. For the sake of efficient description, elements with prime (’) element numbers
in should be understood to be similar to elements with unprimed element numbers in
FIGS. 3A and 3B, and are not described separately herein.
In another alternate implementation, one or more haptic feedback devices or
solenoids are disposed on an exterior of an accessory. In this manner, the haptic feedback
devices may be structurally configured to strike or otherwise contact an exterior surface of the
accessory to provide force feedback (e.g., for replicating a projectile or other object striking the
surface of the accessory).
Further, it will be understood that any of the devices, systems, and methods
described herein may also or instead include other hardware such as a camera or other sensors,
power sources, controls, input devices such as a keyboard, a touchpad, a computer mouse, a
switch, a dial, a button, and so on, and output devices such as a display, a speaker or other audio
transducer, light-emitting diodes or other lighting or display components, and the like. Other
hardware may also or instead include a variety of cable connections and/or hardware adapters
for connecting to, for example, external computers, external hardware, external instrumentation
or data acquisition systems, and the like.
Moreover, it will be understood that any of the devices, systems, and methods
described herein may also or instead include other aspects of virtual reality simulation such as
those found in typical virtual reality gaming. By way of example, a virtual reality simulation
described herein may score a user’s performance and decisions. In the context of cricket, these
scores may be based on whether to bat, the quality of the batting, and other game-related factors.
In one or more embodiments, a user may repeat a sequence of virtual play or may move on to
Page 38 of 42
additional plays. A user’s progress (or regression) over time may be tracked and monitored. The
user may also or instead be able to access scores, replay scenes, as well as view and review data,
for example, via a personalized summary on a webpage, mobile application, or gaming interface.
The above systems, devices, methods, processes, and the like may be realized in
hardware, software, or any combination of these suitable for a particular application. The
hardware may include a general-purpose computer and/or dedicated computing device. This
includes realization in one or more microprocessors, microcontrollers, embedded
microcontrollers, programmable digital signal processors or other programmable devices or
processing circuitry, along with internal and/or external memory. This may also, or instead,
include one or more application specific integrated circuits, programmable gate arrays,
programmable array logic components, or any other device or devices that may be configured to
process electronic signals. It will further be appreciated that a realization of the processes or
devices described above may include computer-executable code created using a structured
programming language such as C, an object oriented programming language such as C++, or
any other high-level or low-level programming language (including assembly languages,
hardware description languages, and database programming languages and technologies) that
may be stored, compiled or interpreted to run on one of the above devices, as well as
heterogeneous combinations of processors, processor architectures, or combinations of different
hardware and software. In another aspect, the methods may be embodied in systems that
perform the steps thereof, and may be distributed across devices in a number of ways. At the
same time, processing may be distributed across devices such as the various systems described
above, or all of the functionality may be integrated into a dedicated, standalone device or other
hardware. In another aspect, means for performing the steps associated with the processes
described above may include any of the hardware and/or software described above. All such
permutations and combinations are intended to fall within the scope of the present disclosure.
Embodiments disclosed herein may include computer program products
comprising computer-executable code or computer-usable code that, when executing on one or
more computing devices, performs any and/or all of the steps thereof. The code may be stored in
a non-transitory fashion in a computer memory, which may be a memory from which the
program executes (such as random-access memory associated with a processor), or a storage
device such as a disk drive, flash memory or any other optical, electromagnetic, magnetic,
infrared or other device or combination of devices. In another aspect, any of the systems and
methods described above may be embodied in any suitable transmission or propagation medium
carrying computer-executable code and/or any inputs or outputs from same.
Page 39 of 42
It will be appreciated that the devices, systems, and methods described above are
set forth by way of example and not of limitation. Absent an explicit indication to the contrary,
the disclosed steps may be modified, supplemented, omitted, and/or re-ordered without
departing from the scope of this disclosure. Numerous variations, additions, omissions, and
other modifications will be apparent to one of ordinary skill in the art. In addition, the order or
presentation of method steps in the description and drawings above is not intended to require
this order of performing the recited steps unless a particular order is expressly required or
otherwise clear from the context.
The method steps of the implementations described herein are intended to include
any suitable method of causing such method steps to be performed, consistent with the
patentability of the following claims, unless a different meaning is expressly provided or
otherwise clear from the context. So, for example, performing the step of X includes any
suitable method for causing another party such as a remote user, a remote processing resource
(e.g., a server or cloud computer) or a machine to perform the step of X. Similarly, performing
steps X, Y and Z may include any method of directing or controlling any combination of such
other individuals or resources to perform steps X, Y and Z to obtain the benefit of such steps.
Thus, method steps of the implementations described herein are intended to include any suitable
method of causing one or more other parties or entities to perform the steps, consistent with the
patentability of the following claims, unless a different meaning is expressly provided or
otherwise clear from the context. Such parties or entities need not be under the direction or
control of any other party or entity, and need not be located within a particular jurisdiction.
It should further be appreciated that the methods above are provided by way of
example. Absent an explicit indication to the contrary, the disclosed steps may be modified,
supplemented, omitted, and/or re-ordered without departing from the scope of this disclosure.
It will be appreciated that the methods and systems described above are set forth
by way of example and not of limitation. Numerous variations, additions, omissions, and other
modifications will be apparent to one of ordinary skill in the art. In addition, the order or
presentation of method steps in the description and drawings above is not intended to require
this order of performing the recited steps unless a particular order is expressly required or
otherwise clear from the context. Thus, while particular embodiments have been shown and
described, it will be apparent to those skilled in the art that various changes and modifications in
form and details may be made therein without departing from the spirit and scope of this
disclosure and are intended to form a part of the invention as defined by the following claims,
which are to be interpreted in the broadest sense allowable by law.
Page 40 of 42
Claims (14)
1. A virtual reality simulation method, the method comprising: generating a virtual reality environment including a virtual player in a setting; receiving projectile data indicative of movement of a projectile launched by a player in a live-action sequence; based on the projectile data, identifying a release point of the projectile by the player in the live-action sequence; determining a motion of the virtual player in the virtual reality environment based on the projectile data and the release point; on a display of the virtual reality environment viewable by a user, displaying the virtual player moving according to the motion and a graphical representation of the projectile moving according to a temporal series of locations of the projectile; and altering a path of the graphical representation of the projectile in the virtual reality environment from a trajectory included in the projectile data based on one or more parameters that differ between the live-action sequence and the setting of the virtual reality environment, the one or more parameters include at least one of a playing surface, weather, a lighting condition, a physical attribute of the user, and a physical attribute of the virtual player.
2. The method of claim 1, wherein the release point is included in the projectile data, and wherein identifying the release point includes reading the projectile data.
3. The method of claim 1, wherein identifying the release point includes calculating the release point based on a trajectory of the projectile included in the projectile data.
4. The method of claim 1, wherein the projectile data includes a spin of the projectile.
5. The method of claim 4, wherein the spin is estimated from a trajectory and a speed of the projectile.
6. The method of claim 4, wherein the spin is estimated from contact between the projectile and a playing surface. Page 41 of 42
7. The method of claim 1, wherein displaying the virtual player moving according to the motion includes presenting a first-person view of the virtual player on the display.
8. The method of claim 1, wherein displaying the virtual player moving according to the motion includes presenting video data of the player from the live-action sequence.
9. The method of claim 1, wherein displaying the virtual player moving according to the motion includes presenting an avatar.
10. The method of claim 1, wherein determining the motion of the virtual player includes selecting one of a plurality of motions stored in a database.
11. The method of claim 10, wherein the one of the plurality of motions is selected to most closely match attributes of the projectile data.
12. The method of claim 11, wherein the attributes of the projectile data are weighted.
13. The method of any of claim 1, wherein the virtual reality environment is configured for use in a virtual reality cricket simulation, wherein the projectile is a cricket ball and the player in the live-action sequence is a bowler in a cricket match.
14. The method of claim 1, wherein the live-action sequence is a recording of a completed sporting event. Page 42 of 42
Applications Claiming Priority (13)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762523659P | 2017-06-22 | 2017-06-22 | |
US201762523664P | 2017-06-22 | 2017-06-22 | |
US201762523694P | 2017-06-22 | 2017-06-22 | |
US201762523674P | 2017-06-22 | 2017-06-22 | |
US62/523,674 | 2017-06-22 | ||
US62/523,659 | 2017-06-22 | ||
US62/523,664 | 2017-06-22 | ||
US62/523,694 | 2017-06-22 | ||
US201862678227P | 2018-05-30 | 2018-05-30 | |
US201862678058P | 2018-05-30 | 2018-05-30 | |
US62/678,227 | 2018-05-30 | ||
US62/678,058 | 2018-05-30 | ||
PCT/US2018/038978 WO2018237256A1 (en) | 2017-06-22 | 2018-06-22 | Virtual reality simulation |
Publications (2)
Publication Number | Publication Date |
---|---|
NZ753620A NZ753620A (en) | 2021-02-26 |
NZ753620B2 true NZ753620B2 (en) | 2021-05-27 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11872473B2 (en) | Virtual reality simulation of a live-action sequence | |
US10821347B2 (en) | Virtual reality sports training systems and methods | |
Miles et al. | A review of virtual environments for training in ball sports | |
US11278787B2 (en) | Virtual reality sports training systems and methods | |
TWI454140B (en) | Method for interacting with a video and simulation game system | |
JP2019535347A (en) | Method and system for using sensor of control device for game control | |
US20220401841A1 (en) | Use of projectile data to create a virtual reality simulation of a live-action sequence | |
US8043149B2 (en) | In-game shot aiming indicator | |
WO2021067536A1 (en) | Accessory for virtual reality simulation | |
NZ753620B2 (en) | Virtual reality simulation | |
US20210379496A1 (en) | System and method for manipulating augmented reality golf simulation and training using interactive tools | |
Katz et al. | Virtual reality | |
WO2022013561A1 (en) | Extended reality emulation of a real-life sporting event | |
JP2012179128A (en) | Program, information storage medium, game device and server system | |
Katz et al. | Sport Technology Research Laboratory, University of Calgary | |
Ihara et al. | Cyber entertainment system using an immersive networked virtual environment |