This patent application claims priority to Indian provisional patent application no: 202141023773 filed on May 28, 2021, the complete disclosures of which, in their entirety, are hereby incorporated by reference.
The embodiments herein generally relate to a virtual reality (VR) system, and more particularly to a system and method for generating a limitless path in the VR environment for continuous locomotion.
Continuous locomotion in a virtual reality (VR) environment is a bounded activity because of space constraints in a physical environment. It is a challenging task to set a user to navigate in a large virtual environment set up in a limited physical space. A virtual reality scene is usually oriented around the user and gives a bounded experience, thereby disallowing the user to experience limitlessness in terms of navigating across the virtual reality environment. Due to this, there may not be able to produce an unbounded experience for the user in the virtual reality environment.
In existing approaches, various techniques like walking on a treadmill, gesture-based walk-in-place methods, redirected walking, Non-Euclidian virtual environments and flexible space generation are used to produce the unbounded experience in various ways. These existing approaches have challenges like dependency on additional hardware, inability to adopt different room sizes, delays in scene phase shifting, etc., thereby compromising a scene quality. Further, the existing approaches make the VR setup immobile and expensive to use for VR applications, which require endless locomotion of the users.
For example, in the redirected walking-based approach, a system manipulates an orientation of the user's surroundings in the virtual environment in such a way that the system creates a perception of walking continuously in a straight line while the user is walking a curved path in the physical space. However, there is a visual distortion in scenes when reorientation of the environment is happening. One of the solutions to reduce the visual distortion is to use more computing resources. This redirected walking-based approach may also cause nausea to the user due to the unintuitive sensory inputs. In the Non-Euclidian virtual environments-based approach, Non-Euclidean spaces are either built in a hyperbolic space or are composed of portals. This approach allows to fit a vast virtual environment into a small physical space and allows the user to walk long distances within a finite space. However, there is a challenge to visualize and edit, as this approach follows complex mathematical functions and requires high-processing systems for rendering.
Moreover, the existing approaches use additional hardware, for example, a haptic device in addition to VR Head-Mounted-Device (HMD) to produce the unbounded experience. Further, the existing approaches advocate the HMD to be tied to one location for the continuous locomotion in the virtual environment. External hardware for the HMD is resource-heavy for unlimited location in virtual environments.
Accordingly, there remains a need to address the aforementioned technical drawbacks in existing technologies in creating the continuous locomotion with the unbounded experience in the virtual reality environment.
In view of the foregoing, an embodiment herein provides a processor-implemented method for generating a limitless path in a virtual reality environment (VR) for a continuous locomotion within a real physical space using a Head-Mounted-Display (HMD) device associated with a user. The method includes determining a line segment (Li) between an initial point (P0) to a second point (P1) by analyzing input data that corresponds to an initial path travelled by the user in the real physical space from the initial point (P0). The input data is obtained from the HMD associated with the user. In some embodiments, the line segment is determined by Li=
In some embodiments, the input data includes (i) the initial point (P0) and head-yaw (β0) of the HMD at the initial point (ii) dimensions of boundary of the real physical space D (x, z), and (iii) path properties that include segment length (l) and path width (w).
In some embodiments, the shift angle is determined by γj=βi−1−π/2+((π/j)*k), where k is in range {0, j}; j>0 and the shift angle ranges between βi−1−π/2, βi−1+π/2.
In some embodiments, the environmental properties include at least one of information regarding assets placed in the virtual reality environment, information about textures, or placement of assets in the virtual reality environment.
In some embodiments, points in the VR environment is determined by Pi+1(x)=1*sin βi+Pi(x), and Pi+1(z)=1*cos βi+Pi(z).
In some embodiments, the head-yaw (βi) at ith point ranges from βi−1−π/2, βi−1+π/2.
In some embodiments, the method includes generating the path using the line and path walls without an intersection of the path walls by maintaining the ratio of the width of the path to the length of the path at a constant to avoid the intersection of the walls in the virtual reality environment.
In some embodiments, the method includes generating the limitless path in the virtual environment with parallel walls of the path by correlating the width of the path at the turns with the angle of the turn.
In some embodiments, the method includes generating dynamic path segments based on a random length unit value between the length of the fixed path segment and the proximity distance, thereby utilizing the real physical space efficiently.
In one aspect, there is provided one or more non-transitory computer-readable storage medium storing the one or more sequence of instructions, which when executed by the one or more processors, causes to perform a method for generating a limitless path in a virtual reality environment (VR) for a continuous locomotion within a real physical space using a Head-Mounted-Display (HMD) device associated with a user. The method includes determining a first line segment (L0) between an initial point (P0) to a second point (P1) by analyzing input data that corresponds to an initial path travelled by the user in the real physical space from the initial point (P0), wherein the line segment (L0) is determined by an equation Li=
In another aspect, there is provided a system for generating a limitless path in a virtual reality environment (VR) for a continuous locomotion within a real physical space using a Head-Mounted-Display (HMD) device associated with a user. The system includes a memory that stores a database and a set of modules, a processor in communication with the memory. The processor retrieves executing machine-readable program instructions from the memory which, when executed by the processor, enable the processor to (i) determine a first line segment (L0) between an initial point (P0) to a second point (P1) by analyzing input data that corresponds to an initial path travelled by the user in the real physical space from the initial point (P0), wherein the input data is obtained from the HMD device associated with the user; (ii) detect a boundary of the VR environment using a third point (P2) to generate a second line segment (L2) from an end of the first line segment (L0) by projecting a plurality of rays from the second point (P1) in different directions using a shift angle, wherein the shift angle is an angle between the first line segment of the initial path and the second line segment (L2) of an upcoming path; (iii) generate a third line segment (L3) using the equation Li=
In some embodiments, the input data includes (i) the initial point (P0) and head-yaw (β0) of the HMD at the initial point (ii) dimensions of boundary of the real physical space D (x, z), and (iii) path properties that include segment length (l) and path width (w).
In some embodiments, the shift angle is determined by γj=βi−1−π/2+((π/j)*k), where k is in range {0, j}; j>0 and the shift angle ranges between βi−1−π/2, βi−1+π/2.
In some embodiments, the environmental properties comprise at least one of information regarding assets placed in the virtual reality environment, information about textures, or placement of assets in the virtual reality environment.
In some embodiments, points in the VR environment are determined by Pi+1(x)=l*sin βi+Pi(x), and Pi+1(z)=1*cos βi+Pi(z).
In some embodiments, the head-yaw (βi) at ith point ranges from βi−1−π/2, βi−1+π/2.
In some embodiments, the processor is configured to generate the path using the line and path walls without an intersection of the path walls by maintaining the ratio of the width of the path to the length of the path at a constant to avoid the intersection of the walls in the virtual reality environment.
In some embodiments, the processor is configured to generate the limitless path in the virtual environment with parallel walls of the path by correlating the width of the path at the turns with the angle of the turn.
In some embodiments, the processor is configured to generate dynamic path segments based on a random length unit value between the length of the fixed path segment and the proximity distance, thereby utilizing the real physical space efficiently.
The system and/or method is used to generate a limitless path in a virtual reality environment (VR) for a continuous locomotion. Additionally, generate dynamic path segments based on a random length unit value between the length of the fixed path segment and the proximity distance. The system or method may expedite the process of produce an unlimited experience for the user in terms of navigating across the virtual reality environment, thereby utilizing the real physical space efficiently. The system facilitates the user to walk continuously in the virtual reality environment within a bounded real physical space. The system creates a path that does not collide with the boundaries of the real physical space, thereby creating a limitless locomotion experience for the user when rendered. That is, the system ensures the path that remains within the real physical space and does not intersect or overlap, as the system detects the path's proximity with the virtual environment's boundaries. These facilities the continuous locomotion experience and avoids cross path generation. The system further allows the user to walk naturally, hence providing haptic feedback naturally. The system is adaptable to varied physical space (i.e., play area) sizes with room-scale tracking and consumes fewer resources compared to existing limitless locomotion systems. The system can work only with the Head-mounted display device without any additional hardware support. The system is independent of hardware and is applicable for all Head-Mounted devices with 6 Degrees of Freedom (DOF) support. The system is independent of all virtual reality game engines and can be implemented with any virtual reality game engine. The system is mathematical in realization. Thus, the system holds true for all fundamental laws of physics.
These and other aspects of the embodiments herein will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following descriptions, while indicating preferred embodiments and numerous specific details thereof, are given by way of illustration and not of limitation. Many changes and modifications may be made within the scope of the embodiments herein without departing from the spirit thereof, and the embodiments herein include all such modifications.
The embodiments herein will be better understood from the following detailed description with reference to the drawings, in which:
The embodiments herein and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the embodiments herein. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
As mentioned, there remains a need for a system for creating a continuous locomotion in a limitless path with an unbounded experience in a virtual reality environment without a need of additional hardware support. Various embodiments disclosed herein provide a system and method for generating a continuous path in the virtual reality environment using only Head-Mounted-Device (HMD) with 6-Degrees-Of-Freedom for the continuous locomotion with the unbounded experience. Referring now to the drawings, and more particularly to
The user 102 may employ the HMD 104 to experience the virtual reality environment that is rendered visually by the HMD 104. The user 102 can explore, navigate, and move within the virtual reality environment rendered by the HMD 104 by moving within a real physical space.
The HMD 104 is associated with the user 102 and is communicatively connected with the virtual environment continuous locomotion generating server 108 through a network 106. In some embodiments, the network 104 includes, but not limited to, a wireless network, a wired network, a combination of the wired network and the wireless network or Internet and the like.
The HMD 104 associated with the user 102 is configured to obtain input data from the real physical space, when the user 102 is present in the real physical space. In some embodiments, the input data includes HMD position information, head position information, and dimensions data of the real physical space. The HMD 104 may include at least one sensor to obtain the input data. The HMD position information may include coordinates of the user's position and orientation in the real physical space. The head position information may include HMD head-yaw in the virtual reality environment. The dimensions data of the real physical space may include boundary information of the real physical space. In some embodiments, the HMD 104 has 6-Degrees-Of-Freedom (6-DoF) tracking capability to track the orientation and position of the user 102 in the real physical space. In some embodiments, the input data includes (i) the initial point (P0) and head-yaw (β0) of the HMD 104 at the initial point (ii) dimensions of boundary of the real physical space D (x, z), and (iii) path properties that include segment length (l) and path width (w).
The virtual environment continuous locomotion generating server 108 receives the input data from the HMD 104 and outputs a path based on the input data and path properties. In some embodiments, the path is a list of 2D points or line segments representing a line. The virtual environment continuous locomotion generating server 108 generates the generated path and renders the generated path into the virtual reality environment using environmental properties. The environmental properties may include information regarding assets placed in the virtual reality environment, information about textures, placement of assets in the VR environment, etc. The path properties and the environmental properties are metadata that may be provided by a designer for generating the VR environment with the desired configuration to achieve a use case and may be stored in the database.
The virtual environment continuous locomotion generating server 108 determines a line segment (Li) between an initial point (P0) to a terminal point (P1) by analyzing the input data that corresponds to an initial path travelled by the user in the real physical space from the initial point (P0). The initial path may include a set number of 2D points (or line segments). The initial path may be rendered into the virtual reality environment by the virtual environment continuous locomotion generating server 108. For example, the first line segment may be represented as: L0=
The virtual environment continuous locomotion generating server 108 detects a boundary of the VR environment using a new point to generate a next line segment from an end of the line segment by projecting one or more rays in different directions using a shift angle. The virtual environment continuous locomotion generating server 108 generates a new line segment and adds the new line segment to the end of the initial path when the user 102 moves forward on the initial path at a certain distance using the shift angle. To detect the boundary for generating a path, the virtual environment continuous locomotion generating server 108 uses ‘j’ value that equally divides a 180° range into multiple possible rays. If a new point Pi+1 is generated for generating the new line segment by the virtual environment continuous locomotion generating server 108, then the virtual environment continuous locomotion generating server 108 projects j+1 number of rays in multiple directions with certain angle γ as follows:
γj=βi−1−π/2+((π/j)*k),
where k is in range {0, j}; j>0 and a range of angle is βi−1−π/2, βi−1+π/2.
For example, if the value of j=4, the virtual environment continuous locomotion generating server 108 projects j+1 rays i.e. 5 rays at equal angles between βi−1−π/2, βi−1+π/2 such as γ0, γ1, γ2, γ3, γ4. The source of the rays is Pi and length is equal to path length+path width/2.
The virtual environment continuous locomotion generating server 108 generates a new line segment using Li=
The virtual environment continuous locomotion generating server 108 configures to output the updated path as a list of two-dimensional points to render the updated path into the virtual reality environment using environmental properties. The virtual environment continuous locomotion generating server 108 removes the line segment from the updated path when the user moves forward to cover half of the path in the virtual reality environment, thereby continuously generating new line segments, updating the initial path by adding each new line segment at the end of the initial path and removing line segment from beginning of the initial path to enable the continuous locomotion in the virtual reality environment through the HMD 104 associated to the user 102.
The virtual environment continuous locomotion generating server 108 may be configured to generate (i) a path with multiple path options and (ii) a path in a reverse direction. The user 102 may choose at least one path that goes in different directions each turn. The user 102 may choose the path in the reverse direction, if the user 102 moves in a backward direction. The system 100 may be implemented with at least one bicycle, treadmill, controller, or any other external hardware.
The system 100 may be integrated with at least one of (i) an obstacle avoidance system, (ii) redirection techniques, and (iii) translation gains. The obstacle avoidance system may allow the virtual environment continuous locomotion generating server 108 to generate the path in the real physical space with obstacles. The redirection techniques and translation gains may allow the virtual environment continuous locomotion generating server 108 to generate the path larger than the real physical space.
The input data receiving module 204 is communicatively connected with the HMD 104 associated with the user 102 and is configured to receive input data. The input data may include HMD position information, head position information, and dimensions data of the real physical space from the HMD 104. The HMD position information may include coordinates of the user's position and orientation in a real physical space. The head position information may include HMD head-yaw in the virtual reality environment. The dimensions data of the real physical space may include boundary information of the real physical space.
The line segment determining module 206 determines a line segment (Li) between an initial point (P0) to a terminal point (P1) by analyzing the input data that corresponds to an initial path travelled by the user in the real physical space from the initial point (P0). In some embodiments, the initial path is a line that consists of successive line segments connected at different angles (i.e., a set number of 2D points). In some embodiments, the input data includes (i) the initial point (P0) and head-yaw (β0) of the HMD at the initial point (ii) dimensions of boundary of the real physical space D (x, z), and (iii) path properties that include segment length (l) and path width (w). In some embodiments, points in the VR environment are determined by Pi+1(x)=1*sin βi+Pi(x), and Pi+1(z)=1*cos βi+Pi(z). In some embodiments, the head-yaw (βi) at ith point ranges from βi−1−π/2, βi−1+π/2.
The boundary detecting module 206 detects a boundary of the VR environment using a new point to generate a next line segment from an end of the line segment by projecting a plurality of rays in different directions using a shift angle. In some embodiments, the shift angle is an angle between the line segment of the initial path and the next line segment of an upcoming path. In some embodiments, the shift angle is determined by γj=βi−1−π/2+((π/j)*k), where k is in range {0, j}; j>0 and the shift angle ranges between βi−1−π/2, βi−1+π/2.
The new line segment adding module 210 generate a new line segment using Li=
The updated path generating module 212 generate an updated path by adding the new line segment in a direction at the angle of the shift angle to the direction of the next line segment. The updated path outputting module 212 configure to output the updated path as a list of two-dimensional points to render the updated path into the virtual reality environment using environmental properties. In some embodiments, the environmental properties comprise at least one of information regarding assets placed in the virtual reality environment, information about textures, or placement of assets in the virtual reality environment. The environmental properties may be stored in the database 202.
The line segment generating module 206 the line segment from the updated path when the user moves forward to cover half of the path in the virtual reality environment, thereby continuously generating new line segments, updating the initial path by adding each new line segment at the end of the initial path and removing line segment from beginning of the initial path to enable the continuous locomotion in the virtual reality environment through the HMD 104 associated to the user 102 until the system 100 is terminated externally by the user 102.
As shown in
L0=
Li=
In the real physical space, coordinates of the user's position (Pi+1) are calculated using the following equations:
Pi+1(x)=l*sin βi+Pi(x)
Pi+1(z)=l*cos βi+Pi(z),
where 0<=i<total number of segments generated at the start; x and z are the limits of the boundary in a plane along x-axis and z-axis and βi is head-yaw of the user (i.e. HMD's orientation along the y-axis in virtual reality environment). Using the coordinates of the user's position (Pi+1), the line segment generating module 206 generates the initial path in a defined boundary of D (x, z).
The virtual environment continuous path generating server 108 generates an upcoming Pi to generate a new line segment (Li) by detecting the proximity of Pi−1 to the boundary. When Pi−1 is not close to the boundary, the line generating module 206 uses βi value that is set to a random value in range {βi−1−π/2, βi−1+π/2} for generating the new line segment Li for a given position Pi at the boundary.
To detect the boundary 408 for generating a path, the boundary detecting module 208 uses ‘j’ value that equally divides a 1800 range into multiple possible rays 402A-E as shown in
γj=βi−1−π/2+((π/j)*k),
where k is in range {0, j}; j>0 and a range of angle is βi−1−π/2, βi−1+π/2.
For example, if the value of j=4, the boundary detecting module 208 projects j+1 rays i.e. 5 rays 402A-E at equal angles between βi−1−π/2, βi−1+π/2 such as γ0, γ1, γ2, γ3, γ4 as shown in
The boundary detecting module 208 uses one of γi direction out of 5 rays to generate the path with the new line segment Li, if none of the rays 402A-E hit the boundary 408 as shown in
As shown in
The updating of the current path continues as shown in
Ptw=Pw/(sin(θ/2)), where θ=180−angle of turn.
Hence, narrow walled paths may be avoided while generating limitless navigation in virtual environment.
dPl=RAND(Pl,bd)
The user 102 navigates in the virtual environment by advancing further with unequal path segment lengths with less frequent turns. The path segments are dynamic in length, a random length unit value between fixed path segment length and boundary distance. Using the above equation, the underutilized physical room space can be avoided to a greater extent while developing virtual environment scenes.
In some embodiments, the input data includes (i) the initial point (P0) and head-yaw (β0) of the HMD at the initial point (ii) dimensions of boundary of the real physical space D(x, z), and (iii) path properties that include segment length (l) and path width (w).
In some embodiments, the shift angle is determined by γj=βi−1−π/2+((π/j)*k), where k is in range {0, j}; j>0 and the shift angle ranges between βi−1−π/2, βi−1+π/2.
In some embodiments, the environmental properties comprise at least one of information regarding assets placed in the virtual reality environment, information about textures, or placement of assets in the virtual reality environment.
In some embodiments, points in the VR environment is determined by Pi+1(x)=1*sin βi+Pi(x), and Pi+1(z)=1*cos βi+Pi(z).
In some embodiments, the head-yaw (βi) at ith point ranges from βi−1−π/2, βi−1+π/2.
In some embodiments, the method includes generating the path using the line and path walls without an intersection of the path walls by maintaining the ratio of the width of the path to the length of the path at a constant to avoid the intersection of the walls in the virtual reality environment.
In some embodiments, the method includes generating the limitless path in the virtual environment with parallel walls of the path by correlating the width of the path at the turns with the angle of the turn.
In some embodiments, the method includes generating dynamic path segments based on a random length unit value between the length of the fixed path segment and the proximity distance, thereby utilizing the real physical space efficiently.
A representative hardware environment for practicing the embodiments herein is depicted in
The foregoing description of the specific embodiments will so fully reveal the general nature of the embodiments herein that others can, by applying current knowledge, readily modify and/or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments herein have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments herein can be practiced with modification within the spirit and scope of the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
202141023773 | May 2021 | IN | national |
Number | Name | Date | Kind |
---|---|---|---|
10388053 | Carter, Jr. | Aug 2019 | B1 |
20090295809 | Girard | Dec 2009 | A1 |
20110012903 | Girard | Jan 2011 | A1 |
20140225900 | Girard | Aug 2014 | A1 |
20210319624 | Kawabe | Oct 2021 | A1 |
Number | Date | Country | |
---|---|---|---|
20220382367 A1 | Dec 2022 | US |