Movement amount calculation device, mobile system, movement amount calculation method, movement control method, and program

The system calculates movement amounts based on distance to the target in virtual spaces, reducing the number of inputs required and preventing overshooting, enhancing navigation comfort.

JP2025139610APending Publication Date: 2025-09-29NEC CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2024038539
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-13
Publication Date
2025-09-29

AI Technical Summary

Technical Problem

Existing methods for moving an avatar or object in a virtual space require multiple inputs to reach a target and often result in overshooting due to ineffective adjustment of step size, with Patent Document 1 suggesting reducing movement as the target approaches but not specifying how much.

Method used

A system that calculates the distance between a user and a target point in a virtual space and determines a corresponding movement amount for a single operation, adjusting the movement amount based on this distance to ensure the user reaches the target without overshooting.

Benefits of technology

Enables the user to move to a target with a small number of inputs and without overshooting, providing a more natural and comfortable navigation experience in virtual spaces.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025139610000001_ABST
    Figure 2025139610000001_ABST
Patent Text Reader

Abstract

To provide a technology for moving an operation object in a virtual space to a target with a small number of inputs without passing the target.SOLUTION: A movement amount calculation device has means for calculating a distance between a user and a target point in a virtual space, and means for calculating a movement amount corresponding to the distance with respect to the movement amount of the user in a single operation for moving the user to the target point.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to a movement amount calculation device, a movement system, a movement amount calculation method, a movement control method, and a program. [Background technology]

[0002] As shown in Figure 1, one method for moving an avatar or other controlled object in a virtual space is "step movement," which means "moving one step at a time in response to one input (e.g., button press)." This movement method is also adopted by services such as VRChat (registered trademark), a major metaverse platform, and is the mainstream method of movement in virtual spaces. However, as shown in Figure 2, multiple inputs are required to reach the target, and as shown in Figure 3, if the movement amount per step is set too large, the target may be overshot. Regarding the issue of overshooting the target due to ineffective adjustment of the step size, Patent Document 1 states that "it is also possible to control the amount of linear movement to decrease as the target approaches the gaze point PV." However, simply reducing the movement amount as the target approaches cannot reduce the number of inputs required to reach the target when the target is far away. Furthermore, Patent Document 1 only states that the movement amount should be reduced as the target is approached, but does not specify how much to reduce it. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Publication No. 2019-040555 Summary of the Invention [Problem to be solved by the invention]

[0004] To provide a method for moving an operation target to a target in a virtual space with a small number of inputs without passing the target. [Means for solving the problem]

[0005] According to one aspect of the present disclosure, a movement amount calculation device includes a means for calculating a distance between a user and a target point in a virtual space, and a means for calculating a movement amount of the user in a single operation for moving the user to the target point, the movement amount corresponding to the distance.

[0006] According to one aspect of the present disclosure, there is provided a movement amount calculation method that calculates a distance between a user and a target point in a virtual space, and calculates a movement amount of the user in a single operation to move the user to the target point, the movement amount corresponding to the distance.

[0007] According to one aspect of the present disclosure, the program causes a computer to execute a process of calculating the distance between a user and a target point in a virtual space, and calculating the amount of movement of the user in a single operation to move the user to the target point, the amount of movement corresponding to the distance. [Effects of the Invention]

[0008] According to the present disclosure, in a virtual space, an operation target can be moved to a target with a small number of inputs without passing over the target. [Brief explanation of the drawings]

[0009] [Figure 1] FIG. 1 is a first diagram showing an example of step movement in a virtual space. [Figure 2] FIG. 2 is a second diagram showing an example of step movement in virtual space. [Figure 3] FIG. 2 is a second diagram showing an example of step movement in virtual space. [Figure 4] FIG. 1 is a diagram illustrating an example of a mobile system according to an embodiment. [Figure 5] FIG. 1 is a diagram illustrating an example of a controller input device according to an embodiment. [Figure 6] FIG. 1 is a diagram illustrating an example of an HMD-equipped device according to an embodiment. [Figure 7]FIG. 10 is a diagram illustrating a method for calculating a distance to a target according to the embodiment. [Figure 8] FIG. 2 is a diagram illustrating an example of a movement amount calculation server according to the embodiment. [Figure 9] FIG. 10 is a diagram illustrating an example of a movement amount calculation function according to the embodiment. [Figure 10] 10 is a flowchart illustrating an example of the operation of the controller input device according to the embodiment. [Figure 11] 5 is a flowchart showing an example of the operation of the HMD-equipped device according to the embodiment. [Figure 12] 10A and 10B are diagrams illustrating the relationship between the user's moving direction and gaze direction according to an embodiment. [Figure 13] 10 is a flowchart illustrating an example of an operation of the movement amount calculation server according to the embodiment. [Figure 14] FIG. 10 is a diagram illustrating an example of step movement according to the embodiment. [Figure 15] FIG. 10 is a diagram showing an example of a change in the gaze point for each step according to the embodiment. [Figure 16] 10 is a second flowchart showing an example of the operation of the HMD-equipped device according to the embodiment. [Figure 17] 10 is a second flowchart showing an example of the operation of the controller input device according to the embodiment. [Figure 18] FIG. 1 illustrates an example of a movement amount calculation device according to an embodiment. [Figure 19] 10 is a flowchart illustrating an example of a movement amount calculation method according to the embodiment. [Figure 20] FIG. 1 is a diagram illustrating an example of a hardware configuration of a mobile system according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0010] Hereinafter, the technology for automatically calculating the amount of movement in a virtual space according to each embodiment of the present disclosure will be described with reference to the drawings. In the drawings used in the following description, the description of parts that are not related to the present disclosure may be omitted or not shown. The same or equivalent parts in all drawings will be assigned the same reference numerals, and common descriptions may be omitted.

[0011] First Embodiment (System Configuration) FIG. 4 shows an example configuration of a movement system 100 according to an embodiment. As shown in FIG. 4, the movement system 100 includes a controller input device 1, an HMD (Head Mounted Display)-equipped device 2, and a movement distance calculation server 3. The controller input device 1 and the HMD-equipped device 2, and the HMD-equipped device 2 and the movement distance calculation server 3, are communicatively connected to each other. The controller input device 1 is an operation terminal used by an operator to perform an operation to move an operation target (such as an avatar) in a virtual space. Hereinafter, the operation target in the virtual space will be referred to as a user. The HMD-equipped device 2 is a device worn by the operator on the head, which controls the movement of the user in the virtual space based on an operation by the operator on the controller input device 1 and displays an image of the virtual space. The movement distance calculation server 3 calculates the distance from the user to a target (for example, a target position of the user's line of sight) in the virtual space.

[0012] An example of the configuration of the controller input device 1 according to this embodiment is shown in Fig. 5. As shown in Fig. 5, the controller input device 1 has a button detection device 11, a position detection device 12, a control device 13, and a communication device 14. When the user presses, for example, a cross button of the controller input device 1, the button detection device 11 outputs information on the input direction to the control device 13. The position detection device 12 detects the orientation and direction of the controller input device 1 and outputs information on the direction to the control device 13. The orientation of the position detection device 12 represents the orientation and direction of the user's body, and the input direction using the cross button indicates the movement direction relative to the direction indicated by the orientation of the position detection device 12. For example, if the user is facing south in the virtual space and presses the cross button once to the right, the user moves one step east while facing south. The control device 13 instructs the communication device 14 to transmit information on the button input direction obtained from the button detection device 11 and information on the direction of the controller input device 1 obtained from the position detection device 12. The communication device 14 transmits this information to the HMD-equipped device 2.

[0013] 6 shows an example of the configuration of the HMD-equipped device 2 according to the embodiment. As shown in FIG. 6, the HMD-equipped device 2 includes an eye gaze detection device 21, a position detection device 22, a control device 23, and a communication device 24. The gaze detection device 21 acquires information on the gaze direction of the user detected by a gaze sensor provided in the HMD-equipped device 2, and calculates position information of the point at which the user is gazing (point of gaze) in the virtual space. The gaze detection device 21 outputs the position information of the point of gaze to the control device 23. The position detection device 22 calculates position information of the user in the virtual space and outputs it to the control device 23. The functions of the gaze detection device 21 and the position detection device 22 are functions that are possessed by a general HMD. The control device 23 has a target distance calculation unit 231, and uses position information of the user's gaze point acquired from the gaze detection device 21 and position information of the user acquired from the position detection device 22 to calculate, as distance x, the length of a line formed by projecting a line connecting the user's position to the gaze point position onto the ground (the surface on which the user moves), as shown in FIG. 7. The communication device 24 transmits the distance x calculated by the target distance calculation unit 231 to the movement amount calculation server 3.

[0014] FIG. 8 shows an example of the configuration of the movement amount calculation server 3 according to the embodiment. As shown in FIG. 8, the movement amount calculation server 3 has a control device 31 and a communication device 32. The control device 31 has a movement amount calculation unit 311. The movement amount calculation unit 311 determines the amount of movement of the user using the distance x acquired from the HMD-equipped device 2. The movement amount calculation unit 311 calculates the amount of movement of the user by f(x) shown in the following equation (1). Note that a, b, and c in equation (1) represent arbitrary constants.

[0015]

number

[0016] Equation (1) is shown in FIG. 9. The vertical axis of FIG. 9 represents the movement amount f(x), and the horizontal axis represents the distance x. As shown in FIG. 9, for 0≦x≦c, the user's movement amount f(x) for one input increases in proportion to the distance x, but for x>c, the value of f(x) becomes a constant b. In this way, the user's movement amount achieved by one operation decreases as the distance x decreases and increases as the distance x increases, but is fixed at b when the distance x exceeds c. When the movement amount calculation unit 311 calculates the movement amount f(x), the control device 31 instructs the communication device 32 to transmit the calculated movement amount f(x). The communication device 32 transmits the movement amount f(x) to the HMD-equipped device 2.

[0017] (operation) Next, the operation of the movement system 100 will be described with reference to FIGS. 10 to 13. When the operator uses the controller input device 1 to instruct the user to move in the virtual space, the HMD-equipped device 2 receives the instruction, calculates the distance x, and requests the movement amount calculation server 3 to calculate the movement amount f(x). The movement amount calculation server 3 calculates the movement amount f(x) and sends the calculated movement amount f(x) as a response to the HMD-equipped device 2. The HMD-equipped device 2 receives the response, moves the user in the virtual space by the movement amount f(x), and displays the virtual space after movement on the HMD screen. The movement system 100 performs the above processing each time the operator operates the controller input device 1. In other words, each time the user takes one step, the following processing is repeated: detecting the point of gaze, checking the direction of the point of gaze, calculating the distance to the point of gaze, calculating the movement amount f(x) according to the distance x, and moving the user. The processing of each device 1 to 3 will be described in detail below.

[0018] 10 shows an example of the operation of the controller input device 1. The controller input device 1 detects a button input by the operator using the button detection device 11 (step S101). If no button input is detected (step S101; No), the controller waits until a button input is detected. If the button detection device 11 detects a button input (step S101; Yes), the control device 13 acquires button input direction information from the button detection device 11 and acquires directional information of the controller input device 1 from the position detection device 12 (step S102). The control device 13 instructs the communication device 14 to transmit the acquired button input direction information and directional information of the controller input device 1. The communication device 14 transmits the button input direction information and directional information of the controller input device 1 to the HMD-equipped device 2 (step S103).

[0019] FIG. 11 shows an example of the operation of the HMD-equipped device. The control device 23 of the HMD-equipped device 2 checks whether the communication device 24 has received the button input direction information and the direction information of the controller input device 1 transmitted from the controller input device 1 (step S201). If reception is not confirmed (step S201; No), the control device 23 waits until reception is confirmed. If reception of the button input direction information, etc. by the communication device 24 is confirmed (step S201; Yes), the control device 23 acquires the direction in which the user wants to move in the virtual space (travel direction information) from the button input direction information acquired from the controller input device 1 and the direction information of the controller input device 1 (step S202). The control device 23 calculates the direction indicated by the button input direction based on the direction information of the controller input device 1 as the direction in which the user wants to move. Next, the control device 23 acquires position information of the point at which the user is gazing (gazing point position information) from the gaze detection device 21 (step S203). The control device 23 compares the user's traveling direction in the virtual space with the direction of the gaze point as seen by the user. As shown in FIG. 12, if the error between these directions is within ±θ (θ is an arbitrary constant), the control device 23 determines that the user's traveling direction and the direction of the gaze point as seen from the user match. If the directions match (step S204; Yes), the object distance calculation unit 231 connects the user's position in the virtual space to the position of the gaze point and acquires the distance x when this is projected onto the ground, as shown in FIG. 7 (step S205). Next, the control device 23 instructs the communication device 24 to transmit the acquired distance x. The communication device 24 transmits the distance x from the user to the gaze point to the movement amount calculation server 3 (step S207).

[0020] Here, the operation of the movement amount calculation server 3 will be described. FIG. 12 shows an example of the operation of the movement amount calculation server 3. The control device 31 of the movement amount calculation server 3 checks whether the communication device 32 has received the distance x transmitted from the HMD-equipped device 2 (step S301). If reception cannot be confirmed (step S301; No), the control device 31 waits until reception can be confirmed. If reception of the distance x by the communication device 32 can be confirmed (step S301; Yes), the movement amount calculation unit 311 of the control device 31 calculates the movement amount f(x) from the above formula (1) (step S302). The control device 31 acquires the movement amount f(x) calculated by the movement amount calculation unit 311 and instructs the communication device 32 to transmit the acquired movement amount f(x). The communication device 32 transmits the user's movement amount f(x) to the HMD-equipped device 2 (step S303).

[0021] Returning to Fig. 11, the control device 23 of the HMD-equipped device 2 acquires the movement amount f(x) from the movement amount calculation server 3 via the communication device 24 (step S208). The control device 23 moves the position of the user in the virtual space in the direction acquired in step S202 by the movement amount f(x) acquired in step S208 (step S209).

[0022] On the other hand, if the direction in which the user wants to move does not match the direction of the point of gaze in step S204 (step S204; No), the control device 23 sets an arbitrary constant p as the amount of movement of the user (step S206), and moves the position of the user in the virtual space by the amount of movement p in the movement direction obtained in step S202 (step S209).

[0023] (effect) As described above, according to this embodiment, for each input, the object in the virtual space that the user is focusing on is acquired from the operator's gaze and electroencephalogram information, and the distance x between the focused object and the user is acquired. The greater the distance, the greater the amount of movement per step; the closer the distance, the smaller the amount of movement per step. This allows the user to move to a target in the virtual space with fewer inputs, as shown in FIG. 14 , and prevents the user from passing the target. More specifically, during stepwise movement in the virtual space, the distance x between the user and the point of gaze is calculated using gaze information detected by the gaze detection device 21 of the HMD-equipped device 2. For example, the length of the line formed by projecting a line connecting the object and the user onto the user's movement plane is acquired as the distance x. In other words, the vector from the user to the object is decomposed into a vector in the user's movement direction and a vector perpendicular to the vector, and the length of the resulting vector is acquired as the distance x between the object and the user. Then, the amount of movement f(x) per step is determined using equation (1) based on the distance x, and the user is moved by the determined amount of movement f(x). This allows the amount of movement per operation to correspond to the distance from the target (a movement amount that is positively correlated with distance). Compared to typical step movement at fixed intervals, this reduces the number of controller inputs required by the user, making movement in virtual space more comfortable. Furthermore, by setting the amount of movement per step to b when the distance between the user and the target is farther than c, the operator is forced to input the number of times corresponding to the distance when the user is at position P1, far from the target, and when the user is at position P2, even farther than P1. (This prevents a step at position P2 that is too large, for example, from passing position P1 and approaching the target with that step.) This makes the sense of distance in virtual space, such as the positional relationship between the target and the user, more natural than in the real world. Furthermore, since the gaze point is acquired with each input and the movement amount f(x) is changed according to the distance x between the gaze point and the user, even if the target is changed step by step, as shown in Figure 15, the operator can approach the target with a stride (movement amount f(x)) corresponding to the changed target.Furthermore, by keeping the stride constant when the user's line of sight and the user's direction of movement do not match, the amount of movement per step does not change unintentionally (for example, when moving in a direction perpendicular to the target (horizontal), if the amount of movement per step increases the further away from the target, it would feel strange and operability would deteriorate), allowing the user to move as intended. These features make it possible to move freely around the virtual space without feeling strange and comfortable.

[0024] (Second embodiment) In the first embodiment, the HMD-equipped device 2 detects the user's gaze direction using the gaze detection device 21. However, it is also possible to detect the gaze direction of the user based on the direction the user points with a laser or the like, without relying on the detection of the user's gaze direction. A laser is emitted in virtual space from the HMD-equipped device 2, the controller input device 1, or a 3D object held by the controller input device 1 (or the user may point in a direction with their finger or an object they are holding), and the intersection of the laser and the object is treated as the attention point, similar to the gaze point in the first embodiment. An example of the operation of the HMD-equipped device 2 in this case is shown in FIG. 16. The gist of the processing in FIG. 16 is similar to that in FIG. 11, so a description of the same processing as in FIG. 11 will be omitted.

[0025] The control device 23 checks whether it has received information such as the button input direction transmitted from the controller input device 1 (step S401). If reception cannot be confirmed (step S401; No), it waits until reception can be confirmed. If reception of information such as the button input direction is confirmed (step S401; Yes), the control device 23 acquires information on the user's traveling direction in the virtual space (step S402). The control device 23 acquires position information by laser pointing (step S403). The control device 23 calculates position information of the intersection (attention point) between the irradiated laser and the target in the virtual space. The control device 23 checks whether the user's traveling direction in the virtual space and the direction of the attention point as seen from the user match (step S404). If the error between these directions is within ±θ (θ is an arbitrary constant), the control device 23 determines that the user's traveling direction and the direction of the attention point as seen from the user match. If the directions match (step S404; Yes), the target distance calculation unit 231 acquires the distance x between the attention point and the user (step S405). Next, the communication device 24 transmits the distance x to the movement amount calculation server 3 (step S407). In the movement amount calculation server 3, the movement amount calculation unit 311 calculates a movement amount f(x) according to the distance x, and the communication device 32 transmits the movement amount f(x) to the HMD-equipped device 2. The control device 23 of the HMD-equipped device 2 acquires the movement amount f(x) from the movement amount calculation server 3 via the communication device 24 (step S408) and moves the user by the movement amount f(x) (step S409). On the other hand, if the directions do not match in step S404 (step S404; No), the control device 23 sets an arbitrary constant p to the movement amount of the user (step S406) and moves the position of the user in the virtual space by the movement amount p (step S409).

[0026] According to the second embodiment, the gaze detection device 21 of the HMD-equipped device 2 becomes unnecessary, and therefore the present invention can be applied to devices that do not have a gaze detection device.

[0027] (Third embodiment) In the first embodiment, it is assumed that the controller input device 1 has buttons such as a cross button. However, the controller input device 1 may have a joystick instead of or in addition to buttons. An example of the operation of the controller input device 1 when the controller input device 1 has a joystick (hereinafter referred to as a stick) is shown in FIG.

[0028] The controller input device 1 detects a stick input by the operator using the button detection device 11 (step S501). If no stick input is detected (step S501; No), the controller waits until a stick input is detected. If the button detection device 11 detects a stick input (step S501; Yes), the control device 13 acquires stick direction information (the direction in which the stick was tilted) from the button detection device 11, and acquires direction information of the controller input device 1 from the position detection device 12 (step S502). The control device 13 transmits the acquired stick direction information and direction information of the controller input device 1 to the HMD-equipped device 2 via the communication device 14 (step S503).

[0029] According to the third embodiment, instead of a cross button that can only input in four directions, a stick that can input in various directions is used, allowing the user to make more accurate inputs in the direction they want to move.

[0030] Second Embodiment FIG. 18 is a diagram illustrating an example of a movement amount calculation device according to an embodiment. The movement amount calculation device 800 includes a distance calculation means 801 that calculates the distance between the user and a target point in virtual space, and a movement amount calculation means 802 that calculates a movement amount of the user in a single operation to move the user to the target point, based on the distance. The target distance calculation unit 231 is an example of the distance calculation means 801. The movement amount calculation unit 311 is an example of the movement amount calculation means 802. The attention point and the gaze point are examples of a target point. In this step movement, in which "one input corresponds to one step of movement," the distance between the target point in virtual space that the user is aware of and the user himself is obtained for each input, and the movement amount for one step based on that distance is calculated. This allows the user to move to the target in virtual space with fewer inputs without passing the target.

[0031] FIG. 19 is a flowchart illustrating an example of a movement amount calculation method according to the embodiment. The distance calculation means 801 calculates the distance between the user and the target point in the virtual space (step S801). Next, the movement amount calculation means 802 calculates a movement amount corresponding to the distance for the movement amount of the user in one operation for moving the user to the target point (step S802). The movement amount corresponding to the distance is a movement amount that has a positive correlation with the distance.

[0032] FIG. 20 is a diagram illustrating an example of a hardware configuration of a mobile system according to the embodiment. The computer 900 includes a CPU 901, a main storage device 902, an auxiliary storage device 903, an input / output interface 904, and a communication interface 905. The above-described controller input device 1, HMD-equipped device 2, movement amount calculation server 3, and movement amount calculation device 800 are implemented in the computer 900. The above-described functions are stored in the auxiliary storage device 903 in the form of a program. The CPU 901 reads the program from the auxiliary storage device 903, loads it into the main storage device 902, and executes the above-described processing in accordance with the program. The CPU 901 also allocates a storage area in the main storage device 902 in accordance with the program. The CPU 901 also allocates a storage area in the auxiliary storage device 903 for storing data being processed in accordance with the program.

[0033] Note that a program for implementing all or part of the functions of the controller input device 1, the HMD-equipped device 2, the movement amount calculation server 3, and the movement amount calculation device 800 may be recorded on a computer-readable recording medium, and the program may be loaded into a computer system and executed to perform processing by each functional unit. The term "computer system" as used herein includes hardware such as an OS and peripheral devices. Furthermore, if a WWW system is used, the term "computer system" also includes a homepage provision environment (or display environment). Furthermore, the term "computer-readable recording medium" refers to portable media such as CDs, DVDs, and USBs, as well as storage devices such as hard disks built into the computer system. Furthermore, if the program is distributed to the computer 900 via a communication line, the computer 900 that receives the program may load the program into the main storage device 902 and execute the above-described processing. Furthermore, the program may be for implementing part of the above-described functions, or may be capable of implementing the above-described functions in combination with a program already stored in the computer system.

[0034] Although one embodiment of the present disclosure has been described in detail above with reference to the drawings, the specific configuration is not limited to the above, and various design modifications are possible within the scope of the gist of the present invention. Furthermore, one aspect of the present disclosure may be modified in various ways within the scope of the claims, and embodiments obtained by appropriately combining the technical means disclosed in different embodiments are also included in the technical scope of the present disclosure. Furthermore, configurations in which elements described in the above embodiments and variations are substituted with elements that achieve the same effect are also included. Furthermore, each embodiment may be combined with other embodiments as appropriate.

[0035] Some or all of the above embodiments can be described as, but are not limited to, the following supplementary notes.

[0036] (Appendix 1) The movement amount calculation device includes: a means for calculating the distance between a user and a target point in a virtual space; and a means for calculating a movement amount of the user in a single operation for moving the user to the target point, the movement amount having a positive correlation with the distance.

[0037] (Appendix 2) The target point is a position that the user is looking at before the user moves toward the target point, and the means for acquiring the distance detects the target point each time the user moves and calculates the distance between the newly detected target point and the user, in the movement amount calculation device described in Appendix (1).

[0038] (Appendix 3) The means for acquiring the distance is a movement amount calculation device described in Supplementary Note (1) to Supplementary Note (2), which calculates the distance as the length of a line formed by projecting a line connecting the user and the target point onto a surface on which the user is moving.

[0039] (Appendix 4) The means for calculating the movement amount is a movement amount calculation device according to Supplementary Note (1) to Supplementary Note (3), which sets the movement amount to 0 when x < 0 and calculates the movement amount as ax + b when x ≥ 0, where x is the distance and a and b are arbitrary constants.

[0040] (Supplementary Note 5) The means for calculating the movement amount is a movement amount calculation device according to Supplementary Note (1) to Supplementary Note (4), which sets the movement amount to 0 when x < 0, calculates the movement amount as ax + b when 0 ≤ x ≤ c, and sets the movement amount to b when c < x, where x is the distance and a, b, and c are arbitrary constants.

[0041] (Supplementary Note 6) The means for calculating the movement amount is a movement amount calculation device according to Supplementary Note (1) to Supplementary Note (5), which sets the movement amount to a predetermined constant when the movement direction of the user is different from the direction from the user to the target point.

[0042] (Supplementary Note 7) A movement system having: means for acquiring the position of the user in the virtual space; means for acquiring the position of the target point of the user based on the line-of-sight direction of the user or the direction indicated by the user; the movement amount calculation device according to Supplementary Note (1) to Supplementary Note (6); means for receiving an input of a movement instruction to the user; and means for reflecting the movement amount calculated by the movement amount calculation device in the virtual space based on the movement instruction.

[0043] (Supplementary Note 8) The means for acquiring the position of the target point of the user based on the line-of-sight direction of the user or the direction indicated by the user is a function for detecting the line of sight of the operator who operates the user, which the HMD has, and is a movement system according to Supplementary Note (7).

[0044] (Supplementary Note 9) In the mobile system described in appendix (7) to appendix (8), the means for acquiring the position of the user's target point based on the user's line of sight or the direction the user is pointing is a function for detecting the position illuminated by a laser carried by the user in the virtual section.

[0045] (Appendix 10) In the movement system according to any one of appendices (7) to (9), the means for accepting input of movement instructions from the user is a controller having a cross button or a joystick.

[0046] (Appendix 11) A movement amount calculation method that calculates the distance between a user and a target point in a virtual space, and calculates a movement amount of the user in a single operation to move the user to the target point that has a positive correlation with the distance.

[0047] (Appendix 12) A movement control method that receives input of a movement instruction for a user in a virtual space, acquires the position of the user in the virtual space, acquires the position of a target point for the user based on the user's line of sight or the direction the user is pointing, calculates the distance between the user and the target point, calculates a movement amount of the user in a single operation to move the user to the target point according to the distance, and moves the user by the calculated movement amount in the virtual space based on the movement instruction.

[0048] (Appendix 13) This is a program that causes a computer to execute a process of calculating the distance between a user and a target point in a virtual space, and calculating a movement amount of the user in a single operation to move the user to the target point that has a positive correlation with the distance.

[0049] (Appendix 14) This is a program that causes a computer to receive input of movement instructions for a user in a virtual space, acquire the position of the user in the virtual space, acquire the position of the user's target point based on the user's line of sight or the direction the user is pointing, calculate the distance between the user and the target point, calculate a movement amount of the user in a single operation to move the user to the target point based on the distance, and move the user by the calculated movement amount in the virtual space based on the movement instruction. [Explanation of symbols]

[0050] 100 Mobile System 1. Controller input device 11. Button detection device 12. Position detection device 13. Control device 14. Communication equipment 2. HMD-equipped device 21. Line of sight detection device 22 Position detection device 23. Control device 231....Target distance calculation unit 24. Communication equipment 3. Travel amount calculation server 31. Control device 311....Movement amount calculation unit 32. Communication equipment 800...Movement amount calculation device 801....Distance calculation means 802: Movement amount calculation means 900···Computer 901 CPU 902...Main memory 903...Auxiliary storage device 904 Input / Output Interface 905···Communication Interface

Claims

1. A means for calculating a distance between a user and a target point in a virtual space; a means for calculating a movement amount of the user in a single operation for moving the user to the target point, the movement amount having a positive correlation with the distance; A movement amount calculation device having the above.

2. The target point is a position at which the user is looking before the user moves toward the target point, the means for acquiring the distance detects the target point every time the user moves, and calculates the distance between the newly detected target point and the user; The movement amount calculation device according to claim 1 .

3. The means for acquiring the distance calculates, as the distance, the length of a line formed by projecting a line connecting the user and the target point onto a plane on which the user is moving. The movement amount calculation device according to claim 1 or 2.

4. The means for calculating the movement amount sets the movement amount to 0 when x<0, and calculates the movement amount as ax+b when x≧0, where x is the distance, a, and b are arbitrary constants. The movement amount calculation device according to claim 1 or 2.

5. The means for calculating the movement amount sets the movement amount to 0 when x<0, calculates the movement amount as ax+b when 0≦x≦c, and sets the movement amount to b when c<x, where x is the distance, a, b, and c are arbitrary constants. The movement amount calculation device according to claim 1 or 2.

6. the means for calculating the amount of movement sets the amount of movement to a predetermined constant when the direction of movement of the user is different from the direction of movement from the user to the target point; The movement amount calculation device according to claim 1 or 2.

7. A means for acquiring a user's position in a virtual space; means for acquiring the position of the user's target point based on the user's line of sight or the user's pointing direction; The movement amount calculation device according to claim 1 or 2; means for receiving an input of a movement instruction from the user; a means for reflecting the movement amount calculated by the movement amount calculation device in the virtual space based on the movement instruction; A mobile system having:

8. Calculate the distance between the user and the target point in the virtual space; calculating a movement amount of the user in a single operation for moving the user to the target point, the movement amount having a positive correlation with the distance; How to calculate the amount of movement.

9. Accepting input of movement instructions for a user in the virtual space; acquiring the user's position in the virtual space; Acquire the position of the user's target point based on the user's line of sight or the user's pointing direction; Calculating a distance between the user and the target point; calculating a movement amount of the user in a single operation for moving the user to the target point according to the distance; moving the user by the calculated movement amount in the virtual space based on the movement instruction; Movement control methods.

10. To the computer Calculate the distance between the user and the target point in the virtual space; a process of calculating a movement amount of the user in a single operation for moving the user to the target point, the movement amount having a positive correlation with the distance; A program that executes the following.

Citation Information

Patent Citations

  • Information processing apparatus, information processing method, and program

    JP2019040555A