Multiplayer interactive system and method of use
Multiplayer interactive systems using AR/VR and HMDs enable natural user interactions with VOs, overcoming limitations of single-user systems by allowing flexible gameplay and friend communication.
Patent Information
- Application Number
- JP2023567160
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-12-17
- Filing Date
- 2022-01-28
- Publication Date
- 2025-05-21
- Estimated Expiration
- 2042-01-28
AI Technical Summary
Single-user interactive systems limit user improvisation and communication with friends, restricting interactions to pre-set movements and reactions, lacking flexibility and enjoyment.
Implementing multiplayer interactive systems using augmented reality (AR) and virtual reality (VR) with head-mounted displays (HMDs) that allow users to see and interact with virtual objects (VOs) of distant friends, tracking user movements to enable natural interactions through sensors and processors.
Enhances user experience by allowing users to freely interact with VOs, enriching enjoyment through flexible gameplay and communication with friends across distances.
Smart Images

Figure 0007681127000001 
Figure 0007681127000002 
Figure 0007681127000003
Abstract
Description
[Technical field]
[0001] This application claims priority to Provisional Application No. 63 / 183,059, filed May 3, 2021, and Provisional Application No. 17 / 644,798, filed December 17, 2021, both of which are incorporated by reference in their entireties. [Background technology]
[0002] In a single-user system, computer-generated images are used to interact with the user while the game or program is running. In some cases, the computer-generated images are based on pre-recorded player movements. The computer-generated images are restricted to pre-set movements and reactions. Interaction between the user and the computer-generated images is restricted to these pre-set movements and reactions. [Brief description of the drawings]
[0003] Aspects of the present disclosure are best understood from the following detailed description when read in conjunction with the accompanying drawings, in which: It should be noted that, according to standard practice in the industry, various features have not been drawn to scale, and in fact the dimensions of various features may be arbitrarily increased or decreased for clarity of discussion. [Figure 1] FIG. 1 is a flowchart of a method of implementing a multi-player interactive system according to some embodiments. [Diagram 2] FIG. 2 is a schematic diagram of an implementation of a multi-player interactive system according to some embodiments. [Diagram 3] FIG. 3 is a schematic diagram of an implementation of a multi-player interactive system according to some embodiments. [Figure 4A] FIG. 4A is a schematic diagram of a multi-player interactive system according to some embodiments. [Figure 4B] FIG. 4B is a schematic diagram of a multi-player interactive system according to some embodiments. [Diagram 5] FIG. 5 is a block diagram of a system for implementing a multi-player interactive system according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0004] The following disclosure provides many different embodiments, or examples, for implementing different features of the provided subject matter. Specific examples of components, values, operations, materials, arrangements, and the like are described below to simplify the disclosure. Of course, these are merely illustrative and not intended to be limiting. Other components, values, operations, materials, arrangements, and the like are contemplated. For example, forming a first feature over or on a second feature in the following description can include embodiments in which the first feature and the second feature are formed in direct contact, and can also include embodiments in which an additional feature may be formed between the first feature and the second feature such that the first feature and the second feature are not in direct contact. Furthermore, the disclosure may repeat reference numerals and / or letters in various examples. This repetition is for simplicity and clarity, and does not in itself dictate a relationship between the various embodiments and / or configurations discussed.
[0005] Additionally, spatially relative terms such as "beneath," "below," "lower," "above," "upper," and the like may be used herein to describe the relationship of one element or feature to another element(s) or feature(s) as illustrated in the figures for ease of description. The spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation depicted in the figures. The device may be in other orientations (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein may likewise be interpreted accordingly.
[0006] Single-user interactive systems limit the user's ability to improvise and create new experiences. Single-user interactive systems also do not allow users to communicate with friends while playing. In contrast, multiplayer interactive systems allow users to act and react as they wish, rather than being limited to pre-set movements and reactions. This increased flexibility enriches the user's experience and increases their level of enjoyment.
[0007] Augmented reality (AR) and virtual reality (VR) allow users to perceive the presence of objects and people that are not physically close to them. By utilizing AR and VR in multiplayer interactive systems, users can see and interact with friends and associates who are actually in distant locations. By incorporating virtual objects (VO), users can enjoy games and sports with their friends, further enhancing the enjoyment of the users.
[0008] A head mounted display (HMD) is worn by the users to allow them to see each other's VO. In an AR implementation, the HMD has a transparent or partially transparent display. In a VR implementation, the HMD has a non-transparent display. The multiplayer interactive system tracks the movement of the users within the area so that the users can manipulate the VO. For example, a first user can see the VO using the HMD. The first user then moves a part of his body, such as his foot, to touch the VO. The VO then moves based on the contact from the first user, and the second user has an opportunity to interact with the VO. Although the term "contact" is used above, those skilled in the art should recognize that no physical contact occurs. Instead, contact is determined by the detected position of the first user's foot matching the position of the VO calculated by the multiplayer interactive system. Both users can see the first user move toward the VO, touch the VO, and the subsequent movement of the VO. In this way, the users can interact with each other. In some embodiments, an image of the first user including the first user's movements is displayed at the second user's location on a display seen without the use of an HMD. Similarly, in some embodiments, an image of the second user including the second user's movements is displayed at the first user's location on a display seen without the use of an HMD.
[0009] The following description includes examples of AR technology for implementing a multiplayer interactive system. Those skilled in the art will recognize that VR technology can also be used to realize a multiplayer interactive system. The following description includes an example in which the VO is a soccer ball. Those skilled in the art will recognize that other types of VO can also be used in a multiplayer system.
[0010] Figure 1 is a flow chart of a method 100 of implementing a multi-player interactive system. In some embodiments, the multi-player interactive system is implemented using hardware, such as computers, sensors, projectors, HMDs, or other suitable hardware. Some examples of hardware are described below.
[0011] In operation 105, the user's location is ascertained. The user's location is ascertained using sensors that track the user's movements within a detection area. In some embodiments, ascertaining the user's location includes ascertaining the location of the user's body parts, such as hands, feet, arms, legs, head, etc. The output of the sensors is used to determine the user's location, including the user's various body parts.
[0012] In some embodiments, the sensors track the user's location using visible or infrared (IR) light. In some embodiments, the sensors use structured light or time of flight calculations to determine the user's location. In some embodiments, multiple sensors are used to ascertain the user's location. In some embodiments, each sensor monitors a designated portion of the detection area. In some embodiments, the areas monitored by the sensors overlap. In some embodiments, information from an HMD worn by the user is also used in determining the user's location. In some embodiments, an additional controller held by or attached to the user aids in determining the user's location.
[0013] In some embodiments, if a portion of the user's body is outside the detection region, that portion of the user's body is not utilized in subsequent operations of the method 100.
[0014] Operation 105 is performed for each user in the multiplayer interactive system, i.e., the location of each user is determined. For each user, the locations of the other users are displayed. The locations of the other users are displayed in a manner similar to the display of the ball, which will be described later.
[0015] In operation 110, a ball is displayed on a display or using an HMD. The ball is an example of a VO. If the ball is calculated to be near the second user, the ball is displayed on the display. If the ball is calculated to be near the user, the ball is displayed using an HMD. Calculation of the ball's position is described in more detail below.
[0016] In some embodiments, when the ball is displayed on the display, an image of the ball is projected onto the display using a projector. A signal indicative of the position of the ball is sent to the projector. In some embodiments, the display includes a reflective display screen, and the image of the ball is displayed by projecting an image onto the display screen using a projector. In some embodiments, the display includes a liquid crystal display (LCD), a light emitting diode (LED) display, an organic LED (OLED) display, or other suitable type of display, and the image of the ball is displayed by the display device itself.
[0017] In some embodiments where the ball is displayed using an HMD, a signal is sent to the HMD indicating the position of the ball within the detection region. Based on the indicated position of the ball within the detection region, the HMD sends an image to the user's eyes. In some embodiments, the HMD includes a transmissive or partially transmissive display, such as smart glasses. In some embodiments, the HMD includes a non-transmissive display. Non-transmissive display HMDs provide a more immersive experience, but non-transmissive display HMDs are often heavy and can impair the user's ability to see objects in the real world. In some embodiments, the image of the ball is displayed using a stereoscopic image, creating a three-dimensional image for the user. In some embodiments, the HMD includes audio equipment, such as speakers or microphones, to facilitate voice communication between users and / or to provide environmental sounds to enhance the immersiveness of the experience. For example, crowd sounds in a stadium or sounds of a park can be used to simulate a desired environment for the user. In some embodiments, the audio equipment is located separately from the HMD.
[0018] In operation 115, the location of the ball is ascertained. The location of the ball is determined using a processor. In some embodiments, the processor used to determine the location of the ball is the same processor used to transmit the image of the ball to the HMD or projector. The location of the ball is determined based on the velocity of the ball and the interaction between the ball and a virtual or real world object. For example, if a virtual tree is present in the image displayed by the projector or HMD and the ball hits the virtual tree, the location of the ball changes based on this interaction. Similarly, if there is a virtual hill, the velocity of the ball changes depending on the orientation of the virtual hill. Contact with real world objects such as a part of the user's body or an article held by the user is also used to determine the location of the ball. As described above, contact is determined based on the overlap between the detected location of the part of the user's body or the article and the calculated location of the ball.
[0019] In operation 120, the ball is displayed on a screen or HMD. Operation 120 is similar to operation 115 and is used to display an updated position of the ball based on its movement and / or interactions with real-world or virtual objects.
[0020] In operation 125, a determination is made as to whether the ball has been hit or contacted. This determination includes determining whether the ball contacts either another VO, such as a virtual tree, or a real-world object, such as a body part of the user or an object held by the user. Contact with the VO is determined based on the calculated position and movement of the ball and the position of the VO in the virtual world. In some embodiments, the position and movement of the user are not used in determining whether the ball contacts another VO. In some embodiments, the VO is a virtual object controlled by the user, such as a virtual tennis racket or a virtual bat. In some embodiments where the VO is controlled by the user, the movement of the user is used to determine contact between the ball and the VO. Contact with a real-world object, such as a body part of the user or an object held by the user, is determined based on the overlap of the detected position of the body part of the user or the object with the calculated position of the ball.
[0021] In some embodiments, the VO is contacted by the user by the user catching a ball, such as a baseball or a frisbee, where a frisbee is used instead of a ball as the VO. In some embodiments, the VO is contacted by the user by the user picking up a ball from a container of balls.
[0022] In response to a determination that the ball has not been hit or contacted, method 100 returns to operation 120. In some embodiments where the user attempts to hit or contact the ball but fails (misses), a virtual wall, virtual fence, or virtual hill is placed on the opposite side of the user from the display to redirect the ball toward the user. In some embodiments where the user attempts to hit or contact the ball but fails, a new ball is introduced and the user is notified of the new ball's location. In some embodiments, the notification includes an audio signal or a visual display of the new ball. In some embodiments, such as a baseball or tennis simulation, a virtual container of balls is available and the user can retrieve another ball from the virtual container.
[0023] In response to determining that the ball has been hit or contacted, method 100 proceeds to operation 130 where the velocity of the ball is determined. Determining the velocity of the ball includes determining both the velocity and direction of the ball after the hit or contact. The velocity of the ball after the hit or contact is determined based on the velocity of the ball before the hit or contact and the velocity and direction of the object that contacts or hits the ball. For example, if the ball is a soccer ball, the velocity of the ball is determined by the initial velocity of the ball and the velocity and direction of the movement of the user's foot at the time the user's foot contacts the ball. In another example, if the ball is a baseball, the velocity of the ball is determined by the initial velocity of the ball and the velocity and direction of the movement of a bat or virtual bat held by the user. The velocity of the ball is determined using a processor.
[0024] In some embodiments where the contact is a catch, the velocity of the ball is zero until the ball is thrown to another user, who sees the ball being caught on the display. In some embodiments where the contact is a pick-up of the ball from a ball bin, the velocity of the ball is determined by the movement of the user's hand until the ball is thrown to the other user.
[0025] The ball is displayed on a screen or HMD in act 135. Act 135 is similar to act 115 and is used to display an updated position of the ball based on the movement of the ball after contact or hit.
[0026] In operation 140, a determination is made as to whether the ball has hit the display. As described above, images of the other users are displayed to the user. The determination in operation 140 is whether the velocity and position of the ball is sufficient for the ball to reach a transition point between the detection area and the display where the other users are displayed. In some embodiments where the other users are displayed using an HMD, there is no physical screen or display, but the position of the other users is still known. A determination is made as to whether the ball will reach the other users to allow them to interact with the ball.
[0027] In some examples, in response to determining that the direction of the ball calculated in operation 130 indicates a direction in which the ball will miss the display, i.e., to the right or left of the display, it is determined that the ball will not hit the display.
[0028] In response to a determination that the ball does not hit the display, method 100 proceeds to operation 145 where a determination is made as to whether the ball has come to a stop. The determination as to whether the ball has come to a stop is made based on whether the calculated velocity of the ball has reached zero. That is, a determination is made as to whether the ball has slowed to a stop due to calculated friction to the ball's motion. The calculated friction is based on a surface of the virtual world, such as grass, turf, dirt, or other types of surfaces.
[0029] In response to determining that the ball has stopped, method 100 returns to operation 120, where the new position of the ball is displayed. In some embodiments where the ball is too close to the display, a new ball is displayed in operation 120, similar to the description above for when the user misses the ball. The ball is determined to be too close to the display if the proximity between the ball and the display is small enough that a user attempting to hit or contact the ball at the stopped position would likely hit or damage the display. In some embodiments where the ball is far enough away from the display, the user may try to hit or contact the ball again. In some embodiments, the user is prompted using a visual or audio signal to try to hit or contact the ball again.
[0030] In response to determining that the ball is not stationary, method 100 returns to operation 130, where the user is given another opportunity to strike or contact the ball and a new velocity of the ball is calculated.
[0031] In response to determining that the display has been struck by the ball, method 100 proceeds to operation 150. At operation 150, the ball is displayed on the display to the user, similar to the embodiment described above, and other users whose displays are shown on the screen where the ball was struck can view an image of the displayed ball using an HMD worn by the other users.
[0032] In operation 155, method 100 is repeated until the program or simulation is stopped. By repeating method 100, the ball can be moved between users multiple times. Each time the ball approaches another user, the ball is displayed on the display. Each time the ball approaches a user, the ball is displayed using the HMD and the user has the opportunity to hit or make contact with the ball.
[0033] At operation 160, a determination is made as to whether the program or simulation has been stopped. In some embodiments, the program or simulation is stopped based on input received from a user through a controller, verbal or audio input, etc. In some embodiments, the program or simulation is stopped based on a time limit. In some embodiments, the program or simulation is stopped in response to detection of a user moving in an unsafe manner. In some embodiments, a notification is provided to each user prior to stopping the program or simulation.
[0034] In response to determining that the program or simulation has stopped, the method 100 ends.
[0035] In response to determining that the program or simulation has not stopped, the method 100 returns to operation 155 and the program or simulation continues to run.
[0036] FIG. 2 is a schematic diagram of an implementation of a multiplayer interactive system 200 according to some embodiments. In some embodiments, the implementation of the multiplayer interactive system 200 is realized using the method 100 (FIG. 1). A first user 210 is at a first location. A second user 220 is at a second location. The first location is separate from the second location. In some embodiments, the first location is in a different building than the second location. A display 250 is used to represent a display that can be seen by each of the first user 210 and the second user 220. The first user 210 can see the second user 220 using the first display, and the second user 220 can see the first user 210 using a second display that is different from the first display. The display 250 is a conceptual representation of the first display and the second display. Near the second user 220 is a VO 260. The VO 260 is shown as a soccer ball. In some embodiments, the VO 260 is a different type of ball, frisbee, or other object. In some embodiments, instead of a display or screen, the first user 210 uses an HMD to view the second user 220.
[0037] The first user 210 can see the second user 220 on the first display. In some embodiments, the second user 220 can control the appearance of the image displayed on the first display. For example, in some embodiments, the second user 220 can select a favorite team uniform or other clothing to be displayed to the first user 210. In some embodiments, the second user 220 can be displayed as an avatar to the first user 210. In some embodiments, the second user 220 can control the appearance to the first user 210 through a user of a controller. In some embodiments, the second user 220 can control the appearance to the first user 210 based on pre-set preferences associated with the second user 220. Similarly, the first user 210 can control the appearance of the first user 210 displayed to the second user 220 on the second display.
[0038] In some embodiments, at least one of the first user 210 or the second user 220 can control the virtual surroundings displayed on the display 250. For example, in some embodiments, the display 250 displays the surroundings of a park, stadium, or other venue. In some embodiments, only one of the first user 210 or the second user 220 can control the virtual surroundings. In some embodiments, both the first user 210 and the second user 220 can control the virtual surroundings.
[0039] Figure 3 is a schematic diagram of an implementation of a multiplayer interactive system 300. The implementation of Figure 3 is similar to the implementation of Figure 2. Compared to Figure 2, the implementation of Figure 3 has more than two users. A first user 310 is at a first location A, a second user 320 is at a second location B, a third user 330 is at a third location C, and a fourth user 340 is at a fourth location D.
[0040] In some embodiments, each user has the ability to view three displays, and each other user is displayed on a corresponding one of the three displays. In some embodiments, each user has a single display, and two of the other users are displayed on the same display. For example, a display visible to the first user 310 displays the third user 330 and the fourth user 340, and a display visible to the third user 330 displays the first user 310 and the second user 320. When the first user 310 touches the VO 360, the velocity of the VO 360 calculated by the processor determines whether the third user 330 or the fourth user 340 sees the VO 360 coming towards them. For the user who sees the VO 360 coming towards them, the VO 360 transitions from the display to the HMD image within the user's position. In some embodiments, instead of a display or screen, the users see each other using the HMD.
[0041] FIG. 4A is a schematic diagram of a multiplayer interactive system 400 according to some embodiments. FIG. 4A includes a first user 410 and a second user 420, although the users themselves are not part of the multiplayer interactive system 400. The multiplayer interactive system 400 can implement the method 100 (FIG. 1). The multiplayer interactive system 400 can also implement the features described with respect to FIGS. 2 and 3. FIG. 4A is from the perspective of the first user 410. Those skilled in the art will appreciate that a similar system is used by the second user 420 during interaction between the two users.
[0042] The multiplayer interactive system 400 includes a detection area 405 in which the movement of the first user 410 can be detected. The HMD 415 is wearable by the first user 410. The display 450 is visible to the first user 410 through the HMD 415. In some embodiments in which the HMD 415 includes a non-transparent display, the display 450 is omitted. An image of the second user 420 is displayed on the display 450. A VO 460 is present in the detection area 405. The VO 460 is a virtual object and does not exist in the real world. The location of the VO 460 is determined by the processor 490. A proximity line 465 indicates a distance that the first user 410 should maintain from the display 450 to minimize the risk of damaging the display 450. In some embodiments, the proximity line 465 is visible to the first user 410 in the real world or through the HMD 415. The first imaging device 470a, the second imaging device 470b, and the third imaging device 470c are collectively referred to as imaging devices 470. Each of the imaging devices 470 is independently selected as a sensor for detecting the movement of the first user 410 or for displaying information on the display 450. In some embodiments, a single imaging device 470 is used in the multi-player interactive system. In some embodiments, more than three or less than three imaging devices 470 are used in the multi-player interactive system 400. The processor 490 is configured to exchange information with the imaging device 470 and the HMD 415. Using information from the imaging device 470 and the HMD 415, the processor 490 can be used to determine the position and movement of the VO 460 and control the information seen by the first user 410 on either the display 450 or the HMD 415.
[0043] The detection area 405 is an area in which movement of the first user 410 is detectable by the imaging device 470. The size of the detection area 405 is determined by the imaging device 470, which is positioned to define the detection area 405 based on the type of interaction expected between the first user 410 and the second user 420. In some embodiments, the multiplayer interactive system 400 is capable of a number of different interactions, and the imaging device 470 is positioned based on the interaction expected to use the most space. In some embodiments, the detection area 405 is visible to the first user 410 without the use of the HMD 415. In some embodiments, the detection area 405 is visible to the first user 410 using only the HMD 415. In some embodiments, the processor 490 provides a notification to the first user 410 when a portion of the first user 410 moves outside of the detection area 405. In some embodiments, the notification is auditory or visual.
[0044] The HMD 415 allows the first user 410 to see the VO 460. In some embodiments, the HMD 415 also allows the first user 410 to see the second user 420. In some embodiments, the display 450 is omitted and the first user 410 can see the second user 420 using the HMD 415 without the display 450. In some embodiments, the HMD 415 includes audio equipment for providing audio information to the first user 410 and receiving audio information from the first user 410. In some embodiments, the audio equipment includes at least one of a speaker or a microphone. In some embodiments, the audio equipment is provided separately from the HMD 415 but near the detection area 405. In some embodiments, the HMD 415 includes a transmissive or partially transmissive display. In some embodiments, the HMD 415 includes a non-transmissive display. In some embodiments, the HMD 415 provides a stereoscopic image to the first user 410. In some embodiments, the HMD 415 includes smart glasses. In some embodiments, the HMD 415 surrounds the head of the first user 410. In some embodiments, the HMD 415 communicates wirelessly with the processor 490.
[0045] The display 450 is configured to allow the first user 410 to see the second user 420. In some embodiments, the display 450 includes a reflective screen configured to receive a projected image from one of the image devices 470. In some embodiments, the display 450 includes a display panel that generates an image of the second user 420. In some embodiments, the display 450 is omitted in cases where the first user 410 can see the second user 420 using the HMD 415 without the need for the display 450.
[0046] The VO 460 is an image that can be viewed using the HMD 415. In some embodiments, the VO 460 is a ball, such as a soccer ball or a baseball. In some embodiments, the VO 460 is something other than a ball, such as a disc or bubbles. The position and movement of the VO 460 are determined by the processor 490 based on the interaction between the first user 410 and the second user 420 and the VO 460. In some embodiments, the processor 490 is configured to generate a new VO 460 for each of the first user 410 and the second user 420 in response to the VO 460 being directed outside the detection region 405. In some embodiments, the processor 490 is configured to include additional virtual objects that can be viewed using the HMD 415 as part of the surrounding virtual environment. In some embodiments, the movement and position of the VO 460 are determined based on the interaction between the VO 460 and the additional virtual objects.
[0047] In some embodiments, the first user 410 holds a real article, and the movement and position of the VO 460 are determined based on an interaction between the real article and the VO 460. For example, in some embodiments where the VO 460 is a baseball, the first user 410 holds a bat and attempts to hit the VO 460 pitched by the second user 420. In some embodiments, the processor 490 determines the interaction between the real article and the VO 460 based on information received from the imaging device 470.
[0048] In some embodiments, the processor 490 is configured to generate a virtual article held by the first user 410. The position of the virtual article is determined based on the detected position of the hand of the first user 410. For example, a virtual bat or a virtual tennis racket is located near the detected hand of the first user 410. In some embodiments, an additional controller or object is placed in the hand of the first user 410 to assist in detecting the hand movement. When the hand of the first user 410 moves, the virtual article moves according to the detected movement. In some embodiments, the movement and position of the VO 460 is determined based on the interaction with the virtual article held by the first user 410.
[0049] In some embodiments, the processor 490 is configured to adjust the appearance of the second user 410 viewable by the first user 410 based on the input received from the second user 420. Items that can be changed to change the appearance of the second user 420 include clothing, background, or body style in some embodiments. In some embodiments, the second user 420 can be displayed as an avatar viewable by the first user 410 in place of a real image of the second user 420.
[0050] The proximity line 465 is used to help minimize the risk of damage to the display 450. In some embodiments, the proximity line 465 is visible by the first user 410 not using the HMD 415. In some embodiments, the proximity line 465 is visible by the first user 410 using the HMD 415. In some embodiments, the proximity line 465 is invisible to the first user 410. In some embodiments, the processor 490 sends a notification to the first user 410 when the first user 410 crosses the proximity line 465 or comes within a predetermined distance of the proximity line 465. In some embodiments, the location of the proximity line 465 is set based on the type of interaction between the first user 410 and the second user 420. For example, in some embodiments where the interaction is kicking a soccer ball, the distance between the proximity line 465 and the display 450 is smaller than if the interaction is hitting a baseball. In some embodiments, the processor 490 is configured to generate a new VO 460 in response to the VO 460 stopping between the proximity line 465 and the display 450 based on calculations performed by the processor 490.
[0051] The imaging devices 470 are configured to detect the movement of the first user 410 in the detection area 405. In some embodiments, the imaging devices 470 also project an image of the second user 420 onto the display 450. In some embodiments, each of the imaging devices 470 is the same type of device. For example, in some embodiments, each of the imaging devices 470 is a structured light sensor. In some embodiments, at least one of the imaging devices 470 is different from another of the imaging devices 470. For example, in some embodiments, the first imaging device 470a is a structured light sensor, the second imaging device 470b is a time-of-flight sensor, and the third imaging device 470c is an image projector. In some embodiments, all of the imaging devices 470 operate simultaneously. In some embodiments, at least one of the imaging devices 470 serves as a backup device when another of the imaging devices 470 fails to function. In some embodiments, the imaging devices 470 communicate with the processor 490 by a wired connection. In some embodiments, the imaging devices 470 communicate with the processor 490 wirelessly.
[0052] The processor 490 is configured to receive information related to the movements of the first user 410 and the second user 420. The processor 490 uses the received information to generate an image of the second user 420 that is viewable by the first user 410. The processor 490 also uses the received information to determine the location and movements of the VO 460 by determining whether and how each of the first user 410 and the second user 420 interacts with the VO 460. In some embodiments, the processor 490 is also configured to receive information from the first user 410 and / or the second user 420, e.g., via a mobile device, to determine a desired appearance of the corresponding user that is used to generate an image of that user. The processor 490 can communicate with a complementary processor (not shown) at the location of the second user 420 to accurately display the second user 420 on the display 450 and communicate the movements of the first user 410 for display at the location of the second user 420. In some embodiments, the processor 490 communicates with the complementary processor using a wired connection. In some embodiments, the processor 490 communicates with the complementary processor wirelessly.
[0053] FIG. 4B is a schematic diagram of a multi-player interactive system 400 according to some embodiments. FIG. 4B is similar to FIG. 4A. In comparison to FIG. 4A, FIG. 4B includes a third user 430 co-located with the first user 410. FIG. 4B is a view from the perspectives of the first user 410 and the third user 430. Those skilled in the art will appreciate that a similar system is used by the second user 420 during the interaction between the two users. The HMD 435 wearable by the third user 430 is similar to the HMD 415 described above. FIG. 4B includes a connection between the processor 490 and the HMD 435. The connection between the processor 490 and the HMD 415 has been omitted for clarity of the drawing.
[0054] 4B includes two detection areas 405a and 405b. The first detection area 405a is used to track the movements of a first user 410. The second detection area 405b is used to track the movements of a third user 430. In some embodiments, a separate imaging device 470 is associated with each of the detection areas 405a and 405b. In some embodiments, the same imaging device 470 is used to track movements in both the first detection area 405a and the second detection area 405b.
[0055] A separation line 480 is provided between the first detection area 405a and the second detection area 405b. The separation line 480 is used to help minimize the risk of the first user 410 and the third user 430 coming into contact with each other. In some embodiments, the separation line 480 is visible to the first user 410 not wearing the HMD 415 and / or the third user 430 not wearing the HMD 435. In some embodiments, the separation line 480 is visible to the first user 410 using the HMD 415 and / or the third user 430 using the HMD 435. In some embodiments, the separation line 480 is invisible to the first user 410 or the third user 430. In some embodiments, the processor 490 sends a notification to the first user 410 or the third user 430 when the first user 410 or the third user 430 crosses the separation line 480 or comes within a predetermined distance of the separation line 480. In some embodiments, the location of the separation line 480 is set based on the type of interaction between the users. For example, in some embodiments where the first user 410 is trying to hit the VO 460 with a bat and the third user 430 is trying to catch the VO 460 pitched by the second user 420, the separation line 480 is moved closer to the first user 410 to reduce the area over which the first user 410 moves to reduce the risk of contact between the first user 410 and the third user 430.
[0056] FIG. 5 is a block diagram of a system for implementing a multiplayer interactive system 500 according to some embodiments. The system 500 includes a hardware processor 502 and a non-transitory computer readable storage medium 504 encoded, i.e., stored, with computer program code 506, i.e., a set of executable instructions. The computer readable storage medium 504 is also encoded with instructions 507 for interfacing with sensors, such as the imaging device 470 (FIG. 4A) or the HMD 415 (FIG. 4A), and other processors, such as the complementary processors mentioned above. The processor 502 is electrically coupled to the computer readable storage medium 504 via a bus 508. The processor 502 is also electrically coupled to an I / O interface 510 by the bus 508. A network interface 512 is also electrically connected to the processor 502 via the bus 508. The network interface 512 is connected to a network 514, allowing the processor 502 and the computer readable storage medium 504 to connect to external elements via the network 514. The processor 502 is configured to execute computer program code 506 encoded on the computer-readable storage medium 504 to enable the system 500 to perform some or all of the operations described in the method 100 or as described with respect to Figures 2 to 4B.
[0057] In some embodiments, the processor 502 is a central processing unit (CPU), a multiprocessor, a distributed processing system, an application specific integrated circuit (ASIC), and / or other suitable processing unit.
[0058] In some embodiments, the computer readable storage medium 504 is an electronic, magnetic, optical, electromagnetic, infrared, and / or semiconductor system (or apparatus or device). For example, the computer readable storage medium 504 includes a semiconductor or solid-state memory, a magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk, and / or an optical disk. In some embodiments using an optical disk, the computer readable storage medium 504 includes a compact disk read-only memory (CD-ROM), a compact disk read / write (CD-R / W), and / or a digital video disk (DVD). In some embodiments, the computer readable storage medium 504 is part of a cloud storage system.
[0059] In some embodiments, the storage medium 504 stores computer program code 506 configured to cause the system 500 to perform the processes described with respect to the method 100 or Figures 2-4B. In some embodiments, the storage medium 504 also stores information necessary to perform the processes described with respect to the method 100 or Figures 2-4B, as well as information generated during the performance of the processes described with respect to the method 100 or Figures 2-4B, such as user position parameters 516, VO position parameters 518, VO velocity parameters 520, article library parameters 522, and / or sets of executable instructions for performing operations of the processes described with respect to the method 100 or Figures 2-4B.
[0060] In some embodiments, the storage medium 504 stores instructions 507 for interfacing with external devices. The instructions 507 enable the processor 502 to generate images for display to a user of the system 500.
[0061] System 500 includes an I / O interface 510. I / O interface 510 is coupled to external circuitry. In some embodiments, I / O interface 510 includes a keyboard, a keypad, a mouse, a trackball, a trackpad, a touch screen, and / or cursor direction keys for communicating information and commands to processor 502.
[0062] The system 500 also includes a network interface 512 coupled to the processor 502. The network interface 512 enables the system 500 to communicate with a network 514 to which one or more other computer systems are connected. The network interface 512 includes a wireless network interface, such as BLUETOOTH, WIFI, WIMAX, GPRS, or WCDMA, or a wired network interface, such as ETHERNET, USB, or IEEE-1394. In some embodiments, the processes described with respect to the method 100 or Figures 2-4B are implemented in more than one system 500, and information is exchanged between the different systems 500 via the network 514.
[0063] The system 500 is configured to receive information related to a user's position via a sensor, such as the imaging device 470 (FIG. 4A), and / or via the I / O interface 510 or the network interface 512. The information is transferred to the processor 502 via the bus 508 to determine the user's position. The user's position is then stored in the computer-readable medium 504 as a user position parameter 516. The system 500 is configured to receive information related to a VO's position via a sensor, such as the imaging device 470 (FIG. 4A), and / or via the I / O interface 510 or the network interface 512. The information is stored in the computer-readable medium 504 as a VO position parameter 518. The system 500 is configured to receive information related to a VO's velocity via a sensor, such as the imaging device 470 (FIG. 4A), and / or via the I / O interface 510 or the network interface 512. The information is stored in the computer-readable medium 504 as a VO velocity parameter 520. System 500 is configured to receive, via I / O interface 510 or network interface 512, information related to images viewed by other users and articles available or wearable by the user in the surrounding virtual environment. This information is stored in computer-readable medium 504 as article library parameters 522.
[0064] One aspect of the present disclosure relates to a method, the method including receiving information related to a first user. The method further includes instructing a first display to display an image related to the first user to a second user based on the received information. The method further includes generating an image of a virtual object. The method further includes instructing a second display to display the image of the virtual object. The method further includes detecting a movement of the second user. The method further includes determining a velocity of the virtual object in response to determining that the second user contacts the virtual object based on the detected movement of the second user. The method further includes generating a moving image of the virtual object based on the determined velocity of the virtual object. The method further includes instructing the second display to display the moving image of the virtual object. In some embodiments, the method further includes determining whether the virtual object contacts the first display based on the determined velocity. In some embodiments, the method further includes instructing the first display to display the virtual object in response to determining that the virtual object contacts the first display, and instructing the second display to stop displaying the virtual object in response to determining that the virtual object contacts the first display. In some embodiments, instructing the second display to display an image of the virtual object includes instructing a head mounted display (HMD). In some embodiments, instructing the first display to display an image associated with the first user includes instructing a projector to display an image associated with the first user on a screen. In some embodiments, the method further includes generating an image associated with the first user based on the received information, the received information including information associated with the garment stored in a non-transitory computer readable medium.In some embodiments, generating an image of the virtual object includes generating an image of the virtual object based on the received information. In some embodiments, the method further includes instructing the first display to stop displaying the image of the virtual object in response to instructing the second display to display the image of the virtual object. In some embodiments, determining a velocity of the virtual object includes determining that the second user has contacted the virtual object in response to a detected movement of the second user indicating that a portion of the second user overlaps with the calculated position of the virtual object. In some embodiments, the method further includes generating an image of the virtual article based on the detected position of the second user, and determining a velocity of the virtual object includes determining whether the virtual article contacts the virtual object.
[0065] One aspect of the present disclosure relates to a system. The system includes a non-transitory computer-readable medium configured to store instructions, and a processor coupled to the non-transitory computer-readable medium. The processor is configured to execute instructions for receiving information related to a first user. The processor is further configured to execute instructions for directing a first display to display an image related to the first user to a second user based on the received information. The processor is further configured to execute instructions for generating an image of a virtual object. The processor is configured to execute instructions for directing a second display to display an image of the virtual object. The processor is further configured to execute instructions for determining a velocity of the virtual object in response to determining that the second user contacts the virtual object based on a detected movement of the second user. The processor is further configured to execute instructions for generating a motion image of the virtual object based on the determined velocity of the virtual object. The processor is configured to execute instructions for directing a second display to display the motion image of the virtual object. In some embodiments, the system further includes a head mounted display (HMD), the HMD configured to function as the second display. In some embodiments, the system further comprises a sensor, the sensor configured to detect a movement of the second user. In some embodiments, the system further comprises a projector, the projector configured to function as a first display for projecting an image related to the first user onto a screen. In some embodiments, the processor is further configured to send a notification to the second user in response to determining that the second user is too close to the first display. In some embodiments, the processor is configured to execute instructions for determining whether the virtual object contacts the first display based on the determined velocity.In some embodiments, the processor is configured to execute instructions for instructing the first display to display the virtual object in response to determining that the virtual object contacts the first display, and instructions for instructing the second display to stop displaying the virtual object in response to determining that the virtual object contacts the first display. In some embodiments, the processor is configured to execute instructions for generating an image of the virtual object by generating an image of the virtual object based on the received information. In some embodiments, the processor is configured to execute instructions for instructing the first display to stop displaying the image of the virtual object in response to instructing the second display to display the image of the virtual object.
[0066] One aspect of the present disclosure relates to a system. The system includes a first sensor configured to detect a movement of a first user. The system further includes a second sensor configured to detect a movement of a second user. The system further includes a first display configured to display a first image associated with the detected movement of the first user, the first display being viewable by the second user. The system further includes a second display configured to display a second image associated with the detected movement of the second user, the second display being viewable by the first user. The system further includes at least one processor configured to determine a movement of a virtual object based on the detected movement of the first user and the detected movement of the second user. The processor is configured to instruct the first display to display an image of the virtual object based on the determined movement of the virtual object, and instruct the second display to stop displaying the image of the virtual object in response to instructing the first display to display the image of the virtual object.
[0067] The features of some embodiments have been outlined above to enable those skilled in the art to better understand the aspects of the present disclosure. Those skilled in the art should understand that the present disclosure may be readily used as a basis for designing or modifying other processes and structures for carrying out the same purpose and / or achieving the same advantages as the embodiments presented herein. Those skilled in the art should also understand that such equivalent structures do not depart from the spirit and scope of the present disclosure, and that various changes, substitutions, and alterations may be made herein without departing from the spirit and scope of the present disclosure.
Claims
1. 1. A method comprising: Receiving information related to a first user; directing a first display to display an image associated with the first user to a second user based on the received information; generating an image of a virtual object; directing a second display to display an image of the virtual object; Detecting a movement of a second user; determining a velocity of the virtual object in response to a determination that the second user contacts the virtual object based on the detected movement of the second user; and generating a moving image of the virtual object based on the determined velocity of the virtual object; instructing the second display to display the motion image of the virtual object; determining whether the virtual object touches the first display; instructing the second display to stop displaying the virtual object in response to determining that the virtual object contacts the first display; The method includes:
2. The method of claim 1 , wherein determining whether the virtual object contacts the first display is based on the determined velocity.
3. instructing the first display to display the virtual object in response to determining that the virtual object contacts the first display; The method of claim 1 further comprising:
4. The method of claim 1 , wherein instructing the second display to display the image of the virtual object comprises instructing a head mounted display (HMD).
5. 2. The method of claim 1, wherein instructing the first display to display the image associated with the first user comprises instructing a projector to display the image associated with the first user on a screen.
6. 10. The method of claim 1, further comprising generating the image associated with the first user based on the received information, the received information including information associated with a garment stored in a non-transitory computer readable medium.
7. The method of claim 1 , wherein generating the image of the virtual object comprises generating the image of the virtual object based on the received information.
8. 8. The method of claim 7, further comprising instructing the first display to stop displaying the image of the virtual object in response to instructing the second display to display the image of the virtual object.
9. 2. The method of claim 1 , wherein determining the velocity of the virtual object comprises determining that the second user has contacted the virtual object in response to detected movement of the second user indicating that a portion of the second user overlaps with a calculated position of the virtual object.
10. 2. The method of claim 1 , further comprising: generating an image of a virtual object based on the detected position of the second user, and wherein determining the velocity of the virtual object comprises determining whether the virtual object contacts the virtual object.
11. 1. A system comprising: a non-transitory computer-readable medium configured to store instructions; a processor coupled to the non-transitory computer readable medium; A first projector is provided, The processor, Receiving information related to a first user; directing a first display to display an image associated with the first user to a second user based on the received information; Generate an image of a virtual object; directing a second display to display an image of the virtual object; determining a velocity of the virtual object in response to determining that the second user contacts the virtual object based on the detected movement of the second user; generating a moving image of the virtual object based on the determined velocity of the virtual object; directing the second display to display the motion image of the virtual object; determining whether the virtual object touches the first display based on the determined velocity of the virtual object; instructing the first display to display the virtual object in response to determining that the virtual object contacts the first display; configured to execute instructions to instruct a second display to stop displaying the virtual object in response to determining that the virtual object contacts the first display; the first projector is configured to function as the first display for projecting the image related to the first user onto a screen; system.
12. The system of claim 11 , further comprising a head mounted display (HMD), the HMD configured to function as the second display.
13. The system of claim 11 , further comprising a sensor, the sensor configured to detect movement of the second user.
14. 13. The system of claim 12, wherein the processor is further configured to execute instructions to direct the second display to display a proximity line or a separation line, the proximity line indicating a distance the second user should maintain from the first display and the separation line indicating a line used to minimize a risk of the second user and a third user contacting each other.
15. The system of claim 11 , wherein the processor is further configured to send a notification to the second user in response to determining that the second user is too close to the first display.
16. The system of claim 11 , wherein the processor is configured to execute instructions for generating the image of the virtual object by generating the image of the virtual object based on the received information.
17. 17. The system of claim 16, wherein the processor is configured to execute instructions for instructing the first display to stop displaying the image of the virtual object in response to instructing the second display to display the image of the virtual object.
18. 1. A system comprising: a first sensor configured to detect a movement of a first user; a second sensor configured to detect a movement of a second user; a first display configured to display a first image associated with the detected movement of the first user, the first display being viewable by the second user; a second display configured to display a second image associated with the detected movement of the second user, the second display being viewable by the first user; at least one processor configured to determine a movement of a virtual object based on the detected movement of the first user and the detected movement of the second user; The processor, instructing the first display to display an image of the virtual object based on the determined movement of the virtual object; configured to instruct the second display to stop displaying the image of the virtual object in response to instructing the first display to display the image of the virtual object. system.
Citation Information
Patent Citations
Composite image output device and composite image output processing program
JP2009088729A
Systems and methods for augmented and virtual reality
JP2015503141A
System, method, and program for sharing game experience, and recording medium
JP2016202686A
Image rendering responsive to user actions in head mounted display
JP2017146607A
Viewer control of view positions in a virtual reality environment
JP2019526104A