Mapping Various Large Virtual Spaces to Small Real Spaces: A Novel Redirected Walking Method for Immersive VR Navigation

Real-walking techniques such as redirected walking can provide users with a highly immersive presence in virtual environments. However, different space sizes or boundary shapes of virtual and real spaces limit the performance of real-walking techniques. This article proposes a novel redirected walking method supporting users continuously navigating in various large virtual spaces by real-walking in small real spaces. Herein, we present a Voronoi-based method to generate paths called the skeleton graph consisting of navigable paths and way-points. To map the skeleton graph of the virtual space to the real space, we propose a static graph mapping method adopting relocation and curvature adjustment. Additionally, a global optimization with boundary constraints is applied to minimize the total curvature of all paths, resulting in the complete convergence of the mapped paths in real space. By applying both virtual and mapped skeleton graphs in the roaming, our method provides users with a continuous walking experience without any interruptions. The experimental results show that unlike the existing methods that are only effective for specific virtual spaces, our method enables effective real-walking roaming in various large virtual spaces, that have polygon-shaped floor plans, and successfully reduces the number of collisions and perceptual distortion in the virtual scenes.


I. INTRODUCTION
With the rapid development of virtual reality (VR) in both hardware and software, users can now freely navigate through virtual spaces. Real-walking with VR devices, such as projected rooms (CAVEs) and head-mounted displays (HMDs), has been shown to provide a more natural user experience, in terms of presence and immersion, than walking-in-place and joystick-based locomotion [1], [2]. For example, [3], [4] allow users to physically walk in a well-designed virtual space that shares the same size and shape as the real space. However, real-walking requires sufficiently large real spaces, that almost always have different (usually smaller) sizes and shapes from the corresponding virtual spaces. Thus, proper The associate editor coordinating the review of this manuscript and approving it for publication was Luigi De Russis . mapping between the two spaces is necessary to offer a believable presence in the virtual space and feasible navigation in the real space. Solving this problem remains an important issue in VR navigation.
To allow users to walk through virtual spaces larger than the real space, a variety of techniques, such as space manipulation [5]- [7], planar mapping [8], [9] and redirected walking [10]- [12], have been proposed to preserve the feeling of moving naturally through virtual spaces while simultaneously keeping the user physically constrained within the real space. Among these, the space manipulation technique [6] adopts self-overlapping virtual architectural layouts to effectively compress large interior virtual spaces into smaller real spaces. However, this technique is not sufficiently general to provide navigation guidance because it is only suitable for a specific kind of virtual space (e.g. rooms or corridors). In the planar mapping technique [8], a smooth mapping from a given virtual space to a custom real space is computed. Although this technique avoids breaking up the flow of the user experience, the mapping procedure of this technique may strongly distort the geometric structure of the mapped virtual space, reducing both visual and locomotion fidelity to users.
Compared with space manipulation and planar mapping techniques, redirected walking [11] builds upon the principle that the brain considers visual cues to dominate the natural movement of the human body. Therefore, this technique introduces subtle differences between motions in the real world and what is perceived in the virtual world. Since redirected walking only manipulates the user's motion state (position and rotation), it can be applied to more kinds of virtual spaces, while providing undistorted visual artifacts of the virtual space. However, redirected walking does not provide general methods to map between a given pair of virtual and real spaces. In addition, to prevent users from colliding with the boundaries of the real space, redirected walking often interrupts users and requires them to reset their rotation.
Therefore, we propose a novel redirected walking method supporting continuous user navigation in various large virtual spaces by real walking in a given small real space. In this article, we represent both virtual and real spaces as floor plans, and adopt an HMD as the VR device to allow free navigation. The virtual spaces under consideration in this work are those for which the floor plans satisfy simple polygonal shapes (polygons without inner holes) such as indoor or polygonal constrained areas of outdoor virtual spaces. Our method consists of the pre-computing stage and the real-time updating stage. For a given virtual space, our method automatically generates the skeleton graph of the virtual space, including way-points and straight line paths, and calculates the mapped skeleton graph by mapping the virtual skeleton graph to the real space, in the pre-computing stage. By applying position inverse mapping and proper rotation redirection during the real-time updating stage, our method effectively guides the users to navigate with the mapped skeleton graph in the real space while perceiving walking along the virtual skeleton graph in the virtual space. Fig. 1 shows an overview of our system. Both skeleton graph generation and skeleton graph mapping have been studied in redirected walking methods. However, our redirected walking method has several innovative features that differ from the prior art. Previous skeleton graph generation of redirected walking methods [13], [14] only adopt the navigation mesh or Voronoi diagram that contain redundant way-points and paths for VR navigation, as the skeleton graph of the virtual space. By contrast, our method further optimizes the Voronoi diagram of the virtual space by density-based spatial clustering and hierarchical Voronoi diagram strategy in order to reduce the redundancy of the generated skeleton graph. Previous redirected walking methods that support skeleton graph mapping such as FORCE [15] and MPCRed [16] dynamically choose and weight different redirection techniques to steer users to navigate along a series of given paths and way-points in the virtual space. However, these existing methods apply reset techniques [17] to reorienting users away from the boundaries of the real space, resulting in frequent interruptions. By contrast, our method maps the entire virtual skeleton graph to the real space in the pre-computing stage, thus establishing the mapping relations between virtual and real spaces. In this manner, our method only applies curvature gains (a continuous rotation applied while the user is walking forwards) [18] and does not adopt the reset technique, providing users with a continuously immersive experience.
In summary, the main contributions of this article include the following: (1) We propose a novel redirected walking method that allows users to navigate in various large virtual spaces by real walking in small real spaces. This method is suitable in many different virtual spaces that are satisfied simple polygonal shapes; (2) A static graph mapping method using global optimization is proposed to map all of the way-points and paths of the skeleton graph from the virtual space to the real space by relocation and appropriate curvature adjustment. It provides users with a continuous walking experience, making the navigation very smooth; (3) To increase robustness and usability, our method extends all of the way-points and paths of the skeleton graphs in both virtual and real spaces. In this manner, our method VOLUME 8, 2020 can allow users to appropriately leave the skeleton graph in navigation, expanding the reachable areas of the virtual space.
The remainder of this article is organized as follows: Section II reviews the literature related to real-walking techniques, Section III describes our novel redirected walking method supporting users navigating in various virtual spaces by walking in the small real space, Section IV shows the results from a user study, and Section V summarizes the contributions of this work in addition to proposing the limitations and future enhancements.

II. RELATED WORK A. REAL WALKING
Typical immersive VR systems include walking-in-place and real-walking [1]. Previous studies [1], [19] prove that realwalking provides a more immersive experience compared to walking-in-place [20]- [22] or other indirect navigation methods. To support real walking in smaller real spaces to experience the larger virtual spaces, many methods have been proposed such as redirected walking [10], space manipulation [6] and planar mapping [8]. Below we review the first category, i.e., redirected walking technique.

B. REDIRECTED WALKING
The redirected walking (RDW) technique is originally proposed by Razzaque et al. [10]. Generally, this technique steers users walking along a pre-defined virtual path through the application of imperceptible locomotion gains to the user's natural motion, while in fact users are moving around within the tracked-space. According to [23], [24], different types of locomotion gains have been generalized, including rotation gain, curvature gain, and translation gain. Furthermore, Steinicke et al. evaluated detection thresholds for different locomotion gains [25], [26]. By combining different locomotion gains, a variety of RDW techniques have been proposed in recent years. According to [27], there are three categories for RDW techniques:

1) REACTIVE RDW
The main principle of reactive RDW [11] technique is to use subtle continuous manipulations to guide users toward a certain physical place or pattern regardless of a user's future virtual travel. In general, prior works [11], [28]- [30] described three generalized methods: steer-to-center (S2C), which focuses on guiding users towards the center of real space; steer-to-multiple-waypoints (S2W), which always guides users to a set of points; and steer-to-orbit (S2O), which guides users along a circular path around the center. Although these methods are flexible to redirect users in the virtual space, they cannot guarantee that a user remains safely within the real space. Therefore, the reorientation reset technique [12], [17], which effectively prevents users from colliding with a nearby real space boundary, is generally adopted in reactive RDW technique to keep users inside the real space. Compared with other RDWs, the reactive RDW works effectively in any real space. However, this technique usually ignores user's future virtual motions and causes frequent interruptions in presence, causing negative impacts.

2) PREDICTIVE RDW
The predictive RDW technique analyzes the virtual and real spaces to predict users' future motions to manipulate redirection. Some predictive RDW techniques [18], [31], [32] use the characteristics of human walking behavior to determine the steering strategies. Others [15], [16] adopt planning method to select proper locomotion gains, to dynamically calculate optimal physical locations, which are used to steer the user toward, by a series of pre-computed navigable paths and decision points. The FORCE method [15] employs probabilistic planning and adopts a terminal state evaluation function to determine feasible gains that have to be used. The MPCRed technique [16] treats different redirected walking techniques, including basic locomotion gains and resetting technique, as actions and provides state update function for these actions to optimize space and minimize costs. However, both FORCE and MPCRed use a manually defined skeleton graph to properly plan the redirection, while the applied resetting technique of the two methods may cause breaks in presence.

3) RESETTING RDW
To prevent the user from leaving the real space, the resetting RDW technique [12], [17] is applied to reorient users away from a nearby real space boundary. The resetting RDW technique requires users to continuously rotate in-place to readjust users towards the center of real space. To reset the users' orientation, Williams et al. developed several approaches [12]: the overt 2:1 turn, freeze-turn, and visual distractors. These studies prove that resetting RDW can work effectively in any size real space. However, frequent interruptions inevitably increase as the size of the real space diminishes, seriously affecting user experience.

III. METHODOLOGY
Generally, the proposed method provides users with a skeleton graph that is automatically generated in the virtual space, and allows them to navigate through the mapped skeleton graph in real space. With proper mapping, the method can effectively keep users inside the real space, and cause less perceptual distortion during navigation. Our method is split into two stages: the pre-computing stage and the real-time updating stage.
The procedure of our method is shown in Fig. 2. In the precomputing stage, given the 2D floor plans for the virtual space S v and real space S r , our method first computes a simplified Voronoi skeleton graph of S v (see Section III-A). Then, a static graph mapping method is implemented to map the skeleton graph (the user's paths) from S v to S r (see Section III-B). Moreover, our method expands the waypoints and paths of both skeleton graphs to extend the reachable areas of the virtual space. Fig. 3 illustrates several pre-computing results for different inputs. In the real-time FIGURE 2. The procedure of our method. In the pre-computing stage, our method first computes a simplified Voronoi skeleton graph of the virtual space. Then, a static graph mapping method is conducted to map the skeleton graph from the virtual space to real space. In the real-time updating stage, the user's virtual position and rotation are dynamically calculated by the tracked information of the user in the real space. updating stage, the user's virtual position and rotation are determined by the tracked information in real space using position inverse mapping and proper rotation redirection (see Section III-C). To improve real-time performance, most computations including automatic skeleton graph generation and static graph mapping are conducted in the pre-computing stage.

A. AUTOMATIC SKELETON GRAPH GENERATION
In this step, our method automatically generates a skeleton graph that contains way-points and paths to represent the skeleton of S v . An overview of the graph generation method is shown in Fig. 4.

1) INPUTS
Our method takes S v as input to generate the skeleton graph. To simplify the computation, the representations of S v are planar 2D polygonal shapes. In practice, these shapes are extracted from floor plans or design figures of virtual spaces, as shown in Fig. 3(b).

2) VORONOI DIAGRAM OPTIMIZATION
Since a Voronoi diagram (VD) has the characteristics of a maximum clearance circle and is often used for collision-free path planning [33], we adopt VD to generate the skeleton graph (SG) for a given S v . Each Voronoi edge of VD(S v ) can represent the path for navigation and each vertex can be treated as the way-point for the user to select the next path. However, the Voronoi vertices of VD(S v ) can remain locally intensive, as shown in the green box of Fig. 4(b), unnecessarily increasing computational cost in the subsequent process. To overcome this problem, we simplify VD(S v ) with a clustering method to reduce the number of Voronoi vertices.
Inspired by the prior density-based spatial clustering method [34], our clustering method computes the local density ρ i for each Voronoi vertex v i to facilitate analytical computation of clustering. The quantity ρ i is defined as where v j is the vertex that is directly connected to v i , d ij is the Euclidean distance between vertices v i and v j and d c is the cutoff distance. The value of d c is related to the radius of the way-point that is expanded to a circle region in Section III-B3. The function χ(x) satisfies: Since we aim to reduce the vertex density of VD(S v ), an iteration strategy is adopted to replace the clustered vertex sets with single vertex, as shown in Fig. 5. For each iteration, we first extract the vertex v max that has the maximum ρ max and its relevant clustering vertex set V max . By searching the edges from VD, we obtain an edge set E max for which the edges satisfy that the connected vertices are all covered by V max . Finally, we replace the set V max with the clustering center v max and remove E max from VD(S v ). To maintain the original topology of VD(S v ), the edges that connect to V max are reconnected to v max . All vertices of VD(S v ) are processed iteratively, until there are no ρ i > 1. The clustering result is shown in Fig. 4(c).

3) SKELETON GRAPH GENERALIZATION
After the clustering process, VD(S v ) can be simplified to an approximate Voronoi diagram AVD(S v ). Although the density of AVD(S v ) is simplified, unnecessary edges that are redundant for the skeleton graph remain. To further simplify AVD(S v ), we adopt a hierarchical Voronoi diagram strategy proposed by [35]. In our method, the hierarchical Voronoi diagram HVD(S v ) consists of two diagrams: a first level Voronoi diagram 1-VD(S v ) and a second level Voronoi , the Voronoi vertex with the value of 1 and its associated Voronoi edges are deleted in 1-VD(S v ) until the degree-1 Voronoi vertices are all removed. Finally, we take 2-VD(S v ) as the skeleton graph SG(S v ) (please refer to Fig. 4(d)).

B. STATIC GRAPH MAPPING
This step focuses on mapping the skeleton graph SG(S v ) of the virtual space to an optimized skeleton graph SG(S r ) of the real space. As pointed out by [28], the user who is directed along an arc path within real space has the potential to explore a longer straight-line path in virtual space. Therefore, compared with straight line paths, arc paths are easier to converge in real space. In this article, to fold SG(S v ) into S r , all paths (indicated by straight line segments) are transformed into arc paths by adjusting the curvature, while all way-points are relocated. The mapping procedure can be described as a search strategy that progressively maps all of the paths and way-points of SG(S v ). For a given SG(S v ), we first build a search tree to establish the search order of all paths and waypoints. Initially, the root way-point is directly translated to an initial position of S r . Then, the leaf paths and associated leaf way-points are simultaneously mapped to S r using a local mapping method. Following the similar step, the leaf paths and leaf way-points of a searched way-point can be mapped. The procedure is performed iteratively until all paths and way-points are properly mapped. During the mapping procedure, a global optimization with boundary constraints is applied to minimize the total curvature of all paths and realize complete convergence in real space. Fig. 6 illustrates the mapping procedure of a given SG(S v ).

1) SEARCH TREE
Given the starting way-point of SG(S v ) (i.e., the user's start position in S v ), a search tree that begins with the starting waypoint is constructed by the DFS algorithm [36]. In the search tree, each node corresponds to a way-point of SG(S v ), and each edge indicates a path of SG(S v ). Therefore, according to the search tree, we can determine a certain search order of all of the way-points and paths (see Fig. 6(b)).

2) LOCAL MAPPING
During the mapping procedure, the mapping results of a path and its terminal way-point depend on the starting waypoint of the path. Considering the mapping shown in Fig. 7, assuming that way-point x v0 is properly mapped to the real way-point x r0 , we now map the leaf way-point x ve and the leaf path between x v0 and x ve to the real way-point x re and the real path between x r0 and x re . The vector v v defines the magnitude and direction of the leaf path. Way-point x te and vector v t are the results of directly translating x ve and v v to x r0 . Clearly, v t defines the motion path when a user locates on x r0 and walks along the direction of v v . Hence, the point x t lies on v t and can be calculated by a linear function: where x v ∈ v v , while x v0 and x r0 are the starting points of v v and v t . Since the local mapping method maps a straight line path to an arc path, v t is used to compute the real path.
To maintain the continuity of SG(S r ), the real path shares the same starting point with v t , and its length l equals |v t |.
In addition, the start tangent vector of the real path shares the same direction with v t . The vector v ⊥ is perpendicular to v t . Considering the transformation between v t and the real path shown in Fig. 7(b), for point x t in v t , the mapped point x r is given by  where m, n are two affine vectors. Given the central angle θ of the real path x r0 x re (see Fig. 7(b)), the radius r can be easily calculated as r = l/θ . Using Equation 3, the current central angle θ of x r0 x r can be defined as θ = sθ. We then compute m, n: By applying m,n to Equation 4, the mapping relation between x v and x r can be formulated as Since the path mapping is completed, the associated leaf waypoint is located at the end of the real path. To provide suitable θ for each real path, a global optimization will be introduced in the following subsection.

3) WAY-POINT EXTENSION
In the current mapping procedure, the way-points are represented as single points. Thus, it is difficult for a user to know whether he has succeeded in reaching a certain waypoint during navigation. This issue significantly decreases the robustness of our method. Therefore, we adopt an effective method to solve this issue by redefining the way-points as circular regions. For both SG(S v ) and SG(S r ), each way-point is replaced by a circular region with fixed radius r e . With the increase in r e , the circular region is more likely to intersect the boundary. Therefore, a suitable value is highly necessary. Due the extension of the way-points, some changes to the local mapping method are necessary as shown in Fig. 8. For SG(S v ), the leaf path is reset to start with x v0 and end with x ve , where x v0 and x ve are the two intersections of the original line segment between x v0 and x ve . The same transformations are applied to the mapped way-point and the arc path in SG(S r ). With the extension of the way-points, users can freely walk around a way-point and easily reach the desired waypoint.

4) GLOBAL OPTIMIZATION WITH BOUNDARY CONSTRAINT
The procedure for correctly mapping SG(S v ) to SG(S r ) is explained above. However, a part of SG(S r ) may be located outside S r . To keep all points x r of SG(S r ) inside S r , a boundary constraint is provided for our mapping method. Since S r is constructed by a rectangular convex hull, we use a set of straight line functions Lj to indicate S r . Let o c be the center of S r ; x r is guaranteed to be inside S r as long as x r and o c are placed on the same sides of all L j . Therefore, a series of linear constraints ( x r Lj T o c Lj > 0) are applied during the mapping procedure. The goal of the optimization is to minimize an energy function that captures the undesirable outcomes [37] and satisfies the boundary constraint. According to the mapping procedure, we first fix an initial position u h of the real space S r and a root way-point w k of SG(S v ) to generate the basic energy function. Let θp i be the central angle of an arc path p i , where p i ∈ P, P is the set of all arc paths of SG(S r ). Previous research [25] has revealed that a lower VOLUME 8, 2020 redirection rate indicates less perceptual distortion. However, the arc path with a large θp i causes a large redirection rate. Therefore, the basic energy function with constraint can be summarized as: However, E(u h ) may vary as u h changes. Thus, we perform stratified sampling with each stratum containing 4% of the area of S r to generate a set of all possible initial positions U . A sampling example is shown in Fig. 9. The optimal basic energy function can be written as follows: By combining all of these optimizations and constraints with the mapping procedure, an optimal skeleton graph of S r can be calculated from an input skeleton graph of S v .

C. REAL-TIME UPDATING
In the pre-computing stage, the method generates the skeleton graph of the virtual space and maps the skeleton graph to the real space, as described in Sections III-A -III-B. However, an update from the current user's position and rotation in the real space to virtual space is necessary for VR navigation. To enable users to correctly navigate with the skeleton graph in virtual space, several procedures that dynamically adjust the user's position and rotation are applied and described bellow.

1) POSITION INVERSE MAPPING
Given the current user position x r (t) at time step t, our goal is to calculate the corresponding virtual position x v (t). Let t and x r (t − t) be the average frame rate and the last user position for each frame, respectively. Since user motion is continuous, the mapping of x r (t) is determined by x r (t − t). The user's real position satisfies the following three cases: (1). If x r (t − t) and x r (t) are both located on a way-point of SG(S r ), the mapping position x v (t) can be calculated by directly translating x r (t) to the corresponding way-point of SG(S v ). (2). If x r (t − t) is located on a way-point of SG(S r ) while x r (t) is outside, the path that x r (t) belongs to is selected by determining the distance between each associated path and x r (t). (3). If x r (t − t) and x r (t) are both located on the path of SG(S r ), we use the inverse function of Equation 6 to calculate the inverse mapping position x v (t).

2) PATH EXTENSION
We provide the position inverse mapping to calculate the virtual position in S v . However, this method may be inefficient if the user deviates from the real paths. To solve this problem, we apply a path extension for each real path as shown in Fig. 10. Let p i be the real path that the user walks on, and x r is the current user position in S r . Noticing that the user has left p i , we calculate an ideal position x r that lies on p i . At the same time, x r is collinear with x r and the center of the circle to which p i belongs. Thus, the vector v offset = x r − x r indicates the offset between x r and x r . Using the inverse of Equation 6, x r and v offset can be transformed to the corresponding virtual path of p i to generate the inverse mapping position of x r .

3) ROTATION REDIRECTION
Paths in SG(S v ) are represented by straight line segments but are indicated by arc segments in SG(S r ). Since we have established the mapping relation between virtual and real skeleton graphs, appropriate redirection gains are applied to user's real rotation δ r (t) in S r . Different from the reactive RDW technique [11], [28] and some predictive RDW [15], [16], we only add subtle continuous angle changes called curvature gains [18] to correct the user's virtual rotation δ v (t) when the user is walking along SG(S r ). The curvature gains depend on the tangent vectors that correspond to the current real position.
In summary, the entire procedure of the proposed method is summarized in Algorithm 1.

IV. EVALUATION
A user study is conducted to evaluate the performance and usability of our method. Calculate the virtual position x v (t) by the path extension method; 18: end if 19: Calculate the virtual rotation δ v (t) by applying subtle curvature gain to real rotation δ r (t); 20: return x v (t), δ v (t);

A. PARTICIPANTS
A total of 14 participants (9 male and 5 female) are recruited to participate in the user study. Their ages range from 24 to 29 (M = 26.14, SD = 1.61). Among these participants, 3 participants have no prior experience with HMDs while the rest have some basic knowledge of HMDs.

B. EXPERIMENTAL DESIGN
To evaluate the performance of our method, a comparative study is designed using a within-subjects design including three conditions: our method, steer-to-center (S2C) and steerto-orbit (S2O). These three methods are investigated in three virtual spaces with different sizes: small, medium, and large. The dimensions of all three virtual spaces that are illustrated in Fig. 11 are 6.5 m × 5.8 m, 7.7 m × 8.3 m, and 9.4 m × 9.5 m, respectively. The dependent variables include navigation time, collision numbers and redirection rate. During the experiment, we counterbalance the presentation order of the different methods.
Inspired by [38], we adopt a post-interview-based method to investigate the usability of our method after the experiment. We evaluate the simulator sickness caused by each method in different virtual space sizes.

C. IMPLEMENTATION
As shown in Fig. 1(d), the real space is fixed in a 2.5 m×2.5 m rectangular area without any internal obstacles and a Kinect V2 is used to track the participant's real position. To perceive the virtual space, the participant wears a cardboard HMD that is composed of a cardboard and a smart phone, and the phone's gyroscope sensor provides the participant's rotations for our system. Within the WLAN, the Kinect and the smart phone are connected to a PC that is used to process the position and rotation data. We adopt the Unity3D engine to render the virtual spaces. Due to the limitation of real space size (2.5 m × 2.5 m), we adopt an experience value (0.25m) to set the radius of all of the way-points in both virtual and real skeleton graphs for the way-point extension. For the comparison methods, S2C and S2O are realized in the experiment as proposed by [29], [30].

D. PROCEDURE AND TASK
To accustom the participants with each method, the participants are asked to navigate in a simple training virtual space using the above three methods before starting the formal experiment. When participants finish their training, the formal experiment begins.
In the formal experiment, all of the virtual spaces are assigned to similar search tasks. For each virtual space, the search task is to find all of the target objects that are preset in the virtual space. The target objects of each search task are located on fixed positions and appropriately scaled to be convenient for searching. To avoid repeating the search for a certain target, the target object is treated as ''searched'' and becomes invisible when participants move close to it. The search task is performed until all of the target objects are searched. For each search task, the number of targets is 8. During the experiment, S2C and S2O adopt reorientation resets if the participants move close to the boundaries of the real space. When starting the reorientation reset, the system displays a warning tip that is represented as a UI element in the upper right of the participants' visions. The warning tip remains visible until the reorientation reset is completed. In our method, a collision may occur if the participant deviates too far away from the paths. To guide the participants back to the paths, the system displays the same warning tip for VOLUME 8, 2020 the participant who leaves the path and possibly collides with the boundaries of the real space. The warning tip becomes invisible when the participant returns back to current path.
Each participant is required to complete each search task using all three methods in a random order. During the experiment, we ask the participants to complete the tasks as fast as possible. After completing a search task by each method, the participant is required to immediately answer the simulator sickness questionnaire (SSQ) [39].

E. MEASURES
The measures used to investigate the performance include: navigation time, collision numbers and redirection rate. The navigation time is a major factor for investigating the efficiency of these methods. It is measured by the time for a participant to finish one search task with the assigned method. The collision numbers is used to evaluate the effectiveness of the method. This factor is measured by the numbers of the reorientation reset in S2C and S2O. For our method, we use the numbers of warning tips that occur to measure this factor. The redirection rate is the factor to estimate the perceptual distortion. The user feels more perceptual distortion as this factor increases. This factor is defined as the mean of the absolute redirection rotation per second for a single navigation through virtual space. For the usability of our method, we evaluate the simulator sickness. The simulator sickness is measured by the mean SSQ scores of each method in different virtual spaces at the end of experiment. Fig. 12 shows the mean navigation time of each method in different virtual spaces. We conduct Paired-samples T tests to investigate the differences between our method and other two methods. In the small virtual space, the mean navigation time of our method is significantly lower than S2C (t = 12.39, p < 0.01) and S2O (t = 12.11, p < 0.01  14±23.26 s). Therefore, our method can significantly reduce mean navigation time (for S2C, t = 21.53, p < 0.01; for S2O, t = 16.09, p < 0.01).   show that our method significantly reduces mean collision numbers comparing with S2C (t = 25.58, p < 0.01) and S2O (t = 25.02, p < 0.01). For the medium virtual space, our method (2.21±0.69) provides smaller collision numbers than S2C (17.93±1.69) and S2O (19.14±2.28). The results of T tests reveal that our method performs better in term of mean collision numbers than S2C (t = 28.08, p < 0.01), and S2O (t = 21.89, p < 0.01). For the large virtual space, S2C (29.28±2.43) and S2O (31.07±2.99) lead to higher collision numbers than our method (2.8±0.70). Therefore, our method produces fewer collisions than S2C (t = 34.32, p < 0.01) and S2O (t = 32.17, p < 0.01). The results of T tests reveal significant differences between our method and S2C (t = 8.55, p < 0.01), S2O (t = 8.94, p < 0.01). In the medium virtual space, the mean redirection rate: our method (6.91 deg/s ± 0.62), S2C (9.79 deg/s ± 1.01) and S2O (8.94 deg/s ± 0.99). The results of T test show that our method significant reduces redirection rate compared with S2C (t = 8.20, p < 0.001) and S2O (t = 6.71, p < 0.01). The mean redirection rate of our method (7.62±0.61 deg/s) is smaller than S2C (11.79±1.42 deg/s) and S2O (10.72±0.96 deg/s) in the large virtual space. We find that our method can significantly reduce the redirection rate compared to S2C (t = 8.94, p < 0.01) and S2O (t = 7.93, p < 0.01).

G. DISCUSSION
To estimate the performance of our method, two RDW methods namely S2C and S2O are compared to our method in the experiment. Summarizing the results, our method produces significant improvements. For a given virtual space that satisfies a simple polygonal shape, participants take less time to finish a search task using our method. By contrast, the participants spend more time on the resets when they are using S2C and S2O. Furthermore, the results prove that compared with S2C and S2O, our method can effectively prevent participants from colliding with the real space boundaries. With increasing size of the virtual space, the number of collision for S2C and S2O increases significantly. By contrast, the results of our methods show a slight increase in the number of collisions with increasing virtual space size, indicating that our method is more effective. Moreover, we find that our method provides the minimal redirection rate among these three methods. The main reason for this is that almost any head rotation can cause redirections in both S2C and S2O. By contrast, our method only applies the redirections on the paths. Therefore, it can be summarized that users perceive less perceptual distortion using in our method than when S2C and S2O are used. Moreover, we measure the SSQ score in different virtual spaces to understand the simulator sickness that can occur in the three methods. The result shows that compared to using S2C and S2O participants experience less simulator sickness adopting our method in each virtual space condition. In addition to the simulator sickness, the human perception of redirected walking methods on spatial cognition and performance is an important work. Investigating the effect of our method on spatial cognition and performance is left for the future work.
A significant advantage of our method is that the skeleton graphs of both the virtual and real spaces are pre-computed, effectively keeping users walking inside the real space. This advantage is proven in the evaluation. Since our method has no resets that cause breaks in the presence, another advantage of our method is that it provides users with a continuous walking experience. By contrast, S2C and S2O frequently produce resets to keep the participants away from the boundaries of the real space.

V. CONCLUSION
In this article, we present a novel redirected walking method that supports continuous real-walking experience in a small real space while perceiving various large virtual spaces with an HMD. By using the skeleton graph generation method, our method can provide suitable skeleton graphs for various virtual spaces that have simple polygon-shaped floor plans. Based on the static graph mapping method, our system can establish the mapping relation between virtual and real skeleton graphs. During VR navigation, the proposed system adopts the mapping relation to effectively guide users to walk along the mapped skeleton graph while perceiving to navigate along the virtual skeleton graph without any interruptions. The proposed method is evaluated within a user study and compared with the existing RDW methods. The results indicate that our method has the potential to effectively avoid collisions with the real space boundaries and significantly reduces perceptual distortion during VR navigation.
Limitations and future work. Since skeleton graphs can provide proper paths for the virtual spaces that are under consideration in our method, our work provides an efficient Voronoi-based skeleton graph generation method. To expand the reachable areas of the virtual space, we extend all waypoints and paths of both virtual and real skeleton graphs in an appropriate manner. Thus, our method allows users to appropriately leave the skeleton graph in the navigation, providing users with a certain extent of free walking. However, a limitation of our method is that the pre-computed paths cannot provide the user with completely free walking in the virtual space. In the future, we expect to improve the static mapping method to increase the extent of free walking in our method.
Our method adopts global optimization to iteratively improve the mapping results. Therefore, another limitation of our method is that the global optimization increases the computational cost of the pre-computing stage. In our method, the global optimization requires O(n 2 ) time for the iteration procedure and is primarily affected by the number of the waypoints in the virtual skeleton graph. Table 1 provides performance measurements of the global optimization by testing three virtual spaces that are illustrated in Section IV-B. The results indicate that the number of iteration and processing time significantly increase with increasing number of waypoints. In future study, we expect to achieve further improvements for the global optimization to reduce the processing time of the pre-computing stage.
Furthermore, the proposed method currently supports a single user walking in the virtual space. Previous work [40] shows the potential to allow multiple users perceiving different virtual spaces while moving in a common real space. Considering a fixed real space, our method can provide different real paths for users who are exploring different virtual scenes. By adopting reasonable path arrangement strategy [40], it is possible to allow multi-users to walk along different real paths which are generated by our method in a real space. Therefore, our next effort is to realize a multi-user VR experience in a single real space. In addition, we would like enhance our method to further support the virtual spaces with complex polygonal shapes (polygons with inner holes).