program
The program integrates AR technology into healthcare by generating a virtual space for exercise games, enhancing user engagement and motivation through real-time calorie tracking and adjustable difficulty, addressing the lack of AR applications in this field.
Patent Information
- Application Number
- JP2024033737
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2024-03-06
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2038-12-05
AI Technical Summary
Augmented Reality (AR) technology has not been widely utilized in the healthcare field, limiting its potential applications in enhancing user engagement and motivation for exercise.
A program for a device with position detection and display capabilities, enabling the generation of a virtual space on a horizontal plane below the device, displaying a pressable start button and determining the target direction based on device tilt, allowing users to engage in AR-based exercise games that track calorie burn and adjust difficulty based on user movement.
AR is effectively applied in healthcare for enhancing user engagement and motivation through exercise games, providing real-time calorie tracking and adjusting game difficulty to suit individual physical characteristics.
Smart Images

Figure 0007794485000001 
Figure 0007794485000002 
Figure 0007794485000003
Abstract
Description
[Technical Field]
[0001] The present invention relates to a program. [Background technology]
[0002] The technology that adds, removes, emphasizes, or attenuates information in the real environment and expands the real world as perceived by humans is sometimes called Augmented Reality (AR).
[0003] For example, a space that combines a virtual space generated by a computer with a real space is called an AR space, and an image of an AR space (an image that combines real space and virtual space) is called an AR image (synthetic image).
[0004] The position coordinates of the virtual space in the AR space are set in correspondence with the reference position coordinates in the real space. The generated AR image, for example, follows the movement of the user viewing it and changes as needed. This allows the user to feel as if the virtual object is actually present in the real space.
[0005] The technology relating to AR is described in the following Patent Document 1. [Prior art documents] [Patent documents]
[0006] [Patent Document 1] Patent Publication No. 2013-59573 Summary of the Invention [Problem to be solved by the invention]
[0007] AR is being used in the gaming field, for example. By using AR in games, users can feel a sense of reality, allowing them to concentrate and become more immersed in the game. While AR is being used in a wide range of fields, there are still some areas where it has not yet been used.
[0008] Therefore, one aspect of the present disclosure is to provide a program that utilizes AR in the healthcare field. [Means for solving the problem]
[0009] A program possessed by a device having a position detection function for the device itself and a display unit for displaying images, the program causing a processor possessed by the device to execute a process for generating a virtual space in which the ground is set on a horizontal plane a predetermined distance below the position of the device, and a determination process for displaying a pressable start button when the tilt of the device is within a tilt threshold, and determining the direction in which a target is located in the virtual space when it is detected that the start button has been pressed. [Effects of the Invention]
[0010] AR can be used in the healthcare field. [Brief explanation of the drawings]
[0011] [Figure 1] FIG. 1 is a diagram illustrating an example of the configuration of a device 100. As shown in FIG. [Figure 2] FIG. 2 is a diagram showing an example of a processing flowchart of the health care processing S10. [Figure 3] FIG. 3 is a diagram showing an example of the main screen. [Figure 4] FIG. 4 is a diagram showing an example of a game screen displayed in the game processing S104. [Figure 5] FIG. 5 is a diagram showing an example of a game screen in which the user moves while following the target T1. [Figure 6] FIG. 6 is a diagram showing an example of a user's actions when the game screen in FIG. 5 is displayed. [Figure 7] FIG. 7 is a diagram showing an example of a processing flowchart of the game processing S104. [Figure 8] FIG. 8 is a diagram showing an example of an AR image when an obstacle exists in the real space. [Figure 9] FIG. 9 is a diagram showing an example of a screen displayed when the game ends. [Figure 10] FIG. 10 is a diagram showing an example of a processing flowchart of the virtual space ground position determination processing S1030. [Figure 11] FIG. 11 is a diagram showing an example of a processing flowchart of the target start position determination processing S1031. [Figure 12]FIG. 12 is a diagram showing an example of a processing flowchart of the foul play determination process S105. [Figure 13] FIG. 13 is a diagram showing an example in which a target in the virtual space moves to an area where it is not displayed. [Figure 14] FIG. 14 is a diagram showing an example in which the game process is aerobics. [Figure 15] FIG. 15 is a diagram showing an example including a display object other than the target T1. [Figure 16] FIG. 16 shows an example of a game in which targets are avoided. DETAILED DESCRIPTION OF THE INVENTION
[0012] [First embodiment] A first embodiment will be described.
[0013] <Device configuration example> 1 is a diagram illustrating an example of the configuration of a device 100. The device 100 is a device that performs healthcare, such as a smartphone.
[0014] The device 100 includes a CPU (Central Processing Unit) 110, a storage 120, It includes a memory 130 , a display device 150 , a position detection device 140 , and a camera 160 .
[0015] The storage 120 is an auxiliary storage device that stores programs and data, such as a flash memory, a hard disk drive (HDD), or a solid state drive (SSD). The storage 120 stores a healthcare program 121 and a position detection program 124.
[0016] The memory 130 is an area into which the programs stored in the storage 120 are loaded. The memory 130 is also used as an area into which the programs store data.
[0017] The display device 150 is a monitor that displays still images and moving images, and is, for example, a liquid crystal display or an organic electroluminescence (EL) display. The display device 150 displays images, for example, in accordance with a program being executed. The display device 150 also functions as an operation unit through which a user (an operator of the device 100) operates the device. The user can operate the device by touching a predetermined position on the display device (for example, a displayed button). The operations performed by the user can also be recognized by each program.
[0018] The position detection device 140 is a device having a position detection function for detecting (measuring) the position and tilt of the device 100, and is, for example, a gyro sensor or a GPS (Global Positioning System) The position of the device 100 detected by the position detection device 140 is, for example, 0 is located (for example, above sea level), latitude, longitude, etc. The position detection device 140 may also measure the amount of change in the position of the device 100 from the last time the position was measured.
[0019] The tilt of the device detected by the position detection device 140 is, for example, the tilt of the device 100 from the reference attitude in the forward direction (e.g., toward the screen of the display device 150) and the tilt of the device 100 in the lateral direction (e.g., perpendicular to the screen of the display device 150).
[0020] The position and orientation of the device 100 in real space are determined based on the position and tilt detected by the position detection device 140. Hereinafter, the position of the device 100 in real space may be referred to as a real position (Xn, Yn, Zn) (n is an integer). n indicates the measurement timing, with n=0 being the initial measurement timing. Furthermore, the real position (Xn, Yn, Zn) indicates the amount of change in the X component (e.g., latitude), Y component (e.g., longitude), and Z component (e.g., height) from the real position (Xn-1, Yn-1, Zn-1). Furthermore, the real position (Xn, Yn, Zn) may be an absolute numerical value instead of the amount of change in the X component, Y component, and Z component.
[0021] The camera 160 is a photographing device that photographs an image of the surrounding environment (image of the real space). The camera 160 photographs, for example, still images and videos. The photographed still images are used, for example, as AR images.
[0022] The CPU 110 is a processor that loads programs stored in the storage 120 into the memory 130, executes the loaded programs, and realizes various processes.
[0023] The CPU 110 performs healthcare processing by executing the healthcare program 121. The healthcare processing is processing for managing the user's health by having the user of the device 100 exercise by executing a game and displaying the calories burned and accumulated through the exercise. A game provided in the healthcare processing is, for example, a game in which the user moves the device 100 to capture a moving target displayed on an AR screen.
[0024] The CPU 110 executes the game module 122 to perform game processing. The game processing is a game in which the user exercises by moving the device 100. For example, the game processing is processing for executing a game in which a target present in a virtual space is changed (e.g., moved) and the user moves the device 100 to capture the changing target. The game processing includes processing for generating a composite space that combines the virtual space and the real space, and generating and displaying an image of the composite space (an AR image that combines an image of the virtual space with an image of the real space). The game processing also includes processing for displaying a target that changes in the virtual space. The game processing also includes processing for setting a hit range (hit box) indicating a predetermined range in the virtual space according to the position to which the device 100 has moved, and processing for determining whether the target is located within the hit box. The game processing also includes processing for determining a time (e.g., a movement time) and a distance (e.g., a movement distance) for the target according to the amount of exercise desired for the user (the amount of exercise required of the user).
[0025] In the first embodiment, the change of the target will be described below as the case where the target moves from a movement origin point to a movement destination point.
[0026] The CPU 110 performs a foul play determination process by executing the foul play determination submodule 1221. The foul play determination process is a process of imposing some kind of penalty if the distance between the starting position of the target and the position of the device 100 in the virtual space is within a predetermined range. The foul play determination process includes a process of calculating the distance.
[0027] The CPU 110 performs a virtual space ground position determination process by executing the virtual space ground position determination submodule 1222. The virtual space ground position determination process is a process for determining the position of the ground in the virtual space based on the position of the device 100 when generating a virtual space.
[0028] The CPU 110 performs a target start position determination process by executing the target start position determination submodule 1223. The target start position determination process is a process for determining a position (start point) from which the movement of the target starts, and determines the start position based on the tilt of the device 100 and a user operation.
[0029] CPU 110 performs calorie-related processing by executing calorie-related module 123. The calorie-related processing is processing for calculating the calorie consumption, calculating the accumulated calories, and displaying the calculated calories. The calorie-related processing includes an accumulated calorie display process and a determination process.
[0030] The CPU 110 performs a cumulative calorie display process by executing the cumulative calorie display submodule 1231. The cumulative calorie display process calculates the cumulative calories consumed during a predetermined time (counting time) and displays the cumulative calories for each counting time, including past results.
[0031] The CPU 110 performs a calorie consumption display process by executing the calorie consumption display submodule 1232. The calorie consumption display process is a process that calculates the calories consumed during one game run and displays the calculated calories consumed when the game ends.
[0032] The CPU 110 executes the position detection program 124 to perform position detection processing. The position detection processing is processing for detecting the position of the device 100, and includes, for example, receiving data output by the position detection device 140 and converting the received data into a format used in healthcare processing. The device position detection processing also controls the position detection device 140 to output the position of the device 100 as necessary.
[0033] <Healthcare processing> 2 is a diagram showing an example of a processing flowchart of the health care processing S10. The health care processing S10 is processing that is executed when the user of the device 100 starts a health care program. The health care processing is processing that causes the user to exercise by playing a game, and displays the calories that the user has burned through the exercise.
[0034] Although the AR space in the first embodiment is accompanied by AR images, the AR space may be configured, for example, by sound. For example, when the AR space is configured by sound, the sound emitted by an object in the virtual space is emitted from a position in the real space corresponding to the position of the object in the virtual space. This allows the user to hear the sound emitted in the real space and recognize that the object in the virtual space is located in the direction from which the sound is emitted.
[0035] When the device 100 detects a user action, such as the user tapping on an icon of a healthcare program displayed on the display unit (operation unit), the device 100 executes the healthcare program and starts healthcare processing S10 (S100).
[0036] When the healthcare process S10 is started, the device 100 displays a main screen on the display unit (S101). The main screen displays a graph of the calories consumed by the user in the past.
[0037] 3 is a diagram showing an example of the main screen. The main screen (cumulative calorie display image) displays a calorie graph P1, today's calorie consumption P2, and a start button P3. The calorie graph P1 is, for example, a graph of calories consumed for each day, and displays the calories consumed for the past few days, including today.
[0038] Today's calorie consumption P2 is the total number of calories consumed by the user today (cumulative calories). Note that in the health care processing S10, one day (24 hours) is considered to be from midnight to the next midnight, and the reference timing for today is, for example, the start time of the game processing, the end time of the game processing, or the display time of the main screen.
[0039] The start button P3 is a button for starting the game process. When the start button P3 is tapped, the game process starts.
[0040] The main screen is the screen that is always displayed from the time the game is launched until it is executed. By displaying the accumulated calories on the main screen, the user always has the opportunity to see the accumulated calories from the past when starting the game, which has the effect of further increasing the motivation to exercise.
[0041] Returning to the processing flowchart of FIG. 2, the device 100 waits for the start button to be pressed (No in S102). When the device 100 detects that the start button has been pressed (Yes in S102), it performs virtual space ground position determination processing S1030, which is pre-processing for game processing. The virtual space ground position determination processing S1030 is processing for determining the ground in the virtual space. In the virtual space ground position determination processing S1030, the device 100 determines the ground in the virtual space of an infinite or predetermined range. Details of the virtual space ground position determination processing S1030 will be described later.
[0042] After executing the virtual space ground position determination process S1030, the device 100 performs target start position determination process S1031, which is pre-processing for game processing. The target start position determination process S1031 is a process for determining the start position (initial position: movement origin point) of the target in the virtual space and simultaneously determining the game field. For example, in the case of a soccer game described below, the target is a soccer ball and the game field is a soccer court. Furthermore, the initial position of the target in the virtual space is the point where the ball is placed before being kicked in a penalty kick. Details of the target start position determination process S1031 will be described later.
[0043] When the initial position of the target is determined, the device 100 executes game processing S104. The game processing S104 is, for example, a game for making the user exercise. The game executed in the game processing S104 is, for example, a game in which a target moves from a certain point (a source point) to another point (a destination point). In the game, the user moves the device 100 to follow the moving target or move to the destination point. In this way, the user exercises. The game will be described in detail later.
[0044] When the game process S104 ends, the device 100 displays the main screen again (S101). The calorie graph on the main screen displays the calories burned the previous time the game process was performed, adding the calories burned. Thereafter, each process is repeated until the health care program is ended.
[0045] <Game Processing> FIG. 4 is a diagram showing an example of a game screen executed in the game processing S104. The game is, for example, a soccer game. The game screen transitions from FIG. 4(A), FIG. 4(B), and FIG. 4(C) as time passes. Note that FIG. 4 shows a screen image of a user holding the device 100. This is an example of a screen when the user does not move in real space (the user's position does not change).
[0046] The game simulates a penalty kick in soccer, where a kicker kicks a soccer ball (target), and the user acts as a goalkeeper and moves the device 100 to catch the kicked soccer ball.
[0047] When the game starts, the ground in the virtual space, the starting position of the target, and the game field have already been constructed. In addition, the direction of movement of the target and its destination (destination point) may also be determined.
[0048] In FIG. 4(A), line L1 indicates the horizon, the area above line L1 (hereinafter sometimes referred to as the background area) is an image showing the background and the sky, and the area below line L1 (hereinafter sometimes referred to as the ground area) is an image showing the ground. For example, in FIG. 4(A), the background area displays an image actually captured by the camera of device 100, and the ground area displays the ground and game field in the virtual space. Furthermore, person H1 is a kicker for a penalty kick in soccer. Furthermore, target T1 is a soccer ball, and in FIG. 4(A) is located at the initial position (start point).
[0049] After a predetermined time has elapsed, the screen changes to that shown in FIG. 4(B). In FIG. 4, it is assumed that the user is not moving, so the images of the background and the ground are the same. The target T1 kicked out by the person H1 flies, for example, from the back of the virtual space toward the upper right in front of the user (destination point). Therefore, the target T1 is positioned at the upper right and displayed slightly larger than in FIG. 4(A).
[0050] After a predetermined time has elapsed, the screen changes to that shown in Figure 4(C). The target T1 continues to move in the virtual space, and is positioned further up and to the right compared to Figure 4(B), and is displayed larger.
[0051] In this way, the target T1 is displayed as if it were moving in front of the user in the upper right direction in the virtual space.
[0052] Fig. 5 is a diagram showing an example of a game screen in which a user moves while following a target T1. Fig. 6 is a diagram showing an example of a user's action when the game screen in Fig. 5 is displayed. Figs. 5 and 6 will be described below.
[0053] FIG. 5(A) shows the game screen at the start of the game, and is the same as FIG. 4(A). At this time, the user is in the state shown in FIG. 6(A). According to FIG. 6(A), the user U1 is holding the device 100 with both hands. The device 100 is positioned approximately in front of the face of the user U1. It is assumed that the user starts the game in the state shown in FIG. 6(A).
[0054] After a predetermined time has elapsed, the game screen transitions to that shown in FIG. 5(B), and the user enters the state shown in FIG. 6(B). User U1 recognizes that a target ball is flying in the upper right direction in front of him / her, so he / she follows the movement of the ball and moves device 100 slightly to the upper right as shown in FIG. 6(B). Furthermore, since device 100 is moved slightly to the upper right by the user, it may tilt diagonally as shown in FIG. 6(B). At this time, as shown in FIG. 5(B), the line L1 on the game screen tilts diagonally or moves up and down depending on the tilt of device 100 and its position after movement. Furthermore, as shown in FIG. 5(B), the position of target T1 on the game screen at this time moves depending on the position of device 100.
[0055] After a predetermined time has elapsed, the screen transitions to that shown in Fig. 5(C). As shown in Fig. 5(C), the game screen further moves the position of the line L1 and the position of the target in accordance with the movement of the device 100. The user U1 further moves the device 100 to the upper right, as shown in Fig. 6(C).
[0056] 6(A) to 6(C), the user U1 may stand in the same position and move the device 100 by moving only his / her hands, or may move the device 100 by moving his / her hands while moving the position of his / her whole body (standing position). Whether or not to move the position is determined, for example, by the distance the target moves to the left or right, and if the moving distance is large, the user performs an exercise that involves moving his / her own standing position. In this way, the user can be made to exercise by playing a game.
[0057] Furthermore, the device 100 determines the position of the destination (destination point) of the target according to the amount of exercise that the user is desired to perform (it is assumed that the amount of exercise increases as the amount of movement of the device increases) (an example of process S104-0 in FIG. 7). For example, the device 100 can increase the distance that the user moves the device 100 and increase the amount of exercise of the user by moving the destination (destination point) of the target in the game farther leftward or upward than the initial position (starting point). In other words, the amount of exercise of the user can be adjusted by changing the destination of the target.
[0058] Furthermore, the device 100 determines the travel time of the target from the origin point to the destination point according to the amount of exercise the user is desired to perform (it is considered that the amount of exercise increases as the moving speed of the device increases). For example, the device 100 can increase the amount of exercise of the user by moving the target at a high speed and thereby moving the user (device 100) faster.
[0059] Furthermore, when device 100 moves multiple targets consecutively or simultaneously, it may determine the timing at which the targets start moving (the timing at which the soccer ball is kicked in a soccer game) and the destination positions of the consecutive targets according to the amount of exercise desired for the user (the amount of exercise required of the user). That is, the device determines the time (interval time) from when the first target finishes moving to when the second target starts moving, the position at which the first target arrives (destination point of the first target: first destination point), and the position at which the second target arrives (destination point of the second target: second destination point) according to the amount of exercise desired for the user. For example, when device 100 wants the user to perform more exercise, it shortens the interval time, or lengthens the distance between the first destination point and the second destination point (point-to-point distance), or performs both. Furthermore, for example, if the device 100 wants the user to exercise less, it may increase the interval time, or shorten the distance between the first destination point and the second destination point (point-to-point distance), or do both.
[0060] Furthermore, device 100 may also take into account physical characteristics of the user, such as height and weight. For example, it can be assumed that a tall user will exercise less than a short user even if they move the same distance. Therefore, for example, device 100 may set a destination position of the target for a tall user that is farther left or right than the destination position of the target for a short user. This allows device 100 to provide target changes that are suited to the user's physical characteristics, such as tallness or shortness.
[0061] FIG. 7 is a diagram showing an example of a processing flowchart of the game processing S104. The device 100 determines a change in the target based on the requested amount of exercise (S104-0). For example, the device 100 requests the user who uses the device 100 to change the target. Based on the amount of exercise required (the amount of exercise the user is desired to exercise, or the amount of exercise the user wishes to exercise), the amount of change in the target, the timing of the start and end of the change, or the positions of the target before and after the change are determined. In the first embodiment, the device 100 determines the destination point and origin point of the target, and when multiple targets are sent, the interval between target sending and the destination point of each target. In addition to the amount of exercise required of the user, the device 100 may also take into account the user's physical characteristics.
[0062] In the game processing S104, the device 100 detects the device position (S104-1). The device position is, for example, the tilt of the device 100 or the real position of the device 100 (Xn, Yn, Zn).
[0063] The device 100 calculates the calories burned based on the device location (S104-2). The calories burned are calculated, for example, using the following formula (1).
[0064] Sn=Dn×C...Equation (1)
[0065] Sn indicates the calories burned when the position detection timing is n. Dn indicates the distance traveled by the device 100 from timing n-1 to timing n. C indicates a coefficient. The calories burned is calculated by multiplying the distance traveled by the device by the coefficient.
[0066] In step S104-2, the calories burned from timing n-1 to timing n are calculated, but the total calories burned from timing 0 to timing n (the sum of the calories burned between each timing) may also be calculated. When calculating the total calories burned in step S104-2, it is not necessary to calculate the total calories burned in step S104-12, which will be described later.
[0067] The device 100 generates a virtual space image according to the device position (S104-3). When the device 100 moves, the user's viewpoint also changes, so the device 100 generates a virtual space image according to the video captured by the camera.
[0068] The device 100 also generates a target image according to the device position (S104-4).
[0069] Furthermore, the device 100 analyzes the real space using an image captured by the camera of the device 100 (S104-5). The analysis of the real space, for example, involves analyzing objects present in the real space from an image of the real space and identifying the objects present in the real space as the analysis results. Furthermore, based on the results of the analysis of the real space, it is a process of determining whether an object will be an obstacle that will affect the movement or action of the user. For example, the device 100 determines that a chair or desk present in the real space, or a person other than the user, is an obstacle. The device 100 may also determine whether an object present in the real space is an obstacle based on its size, movement, shape, or a combination of these. For example, the device 100 determines that an object is an obstacle if its height is equal to or greater than a predetermined height.
[0070] The analysis of the real space may be performed not only using the image of the real space described above, but also using other sensors, etc. For example, if the device 100 is equipped with a sensor that acquires information such as the shape, size, and material of an object in the real space using infrared rays, radar, etc., the analysis of the real space may be performed based on the information acquired by the sensor.
[0071] Then, the device 100 generates an AR image based on the analysis result (S104-6). The device 100, for example, combines the generated image of the virtual space, the target image, and the captured image. The device 100 generates an image by combining the images. Then, the device 100 reflects the object determined as an obstacle as a result of the analysis in the combined image in a format that the user can understand as an obstacle, and generates an AR image. The format that the user can understand as an obstacle is an image that highlights the obstacle or an image of a virtual object that the user can recognize as a danger. The format that the user can understand as an obstacle may also be a display of a warning message to prevent the user from moving toward the obstacle.
[0072] FIG. 8 is a diagram showing an example of an AR image (synthetic image) when an obstacle exists in real space. FIG. 8(A) is an image (video) of real space. For example, the device 100 recognizes a chair located at the right end (present within range X1) as an obstacle. Then, as shown in FIG. 8(B), the device 100 moves (kicks) the target T1 in the direction of arrow A2 to prevent the user from moving into range X1. The device 100 may also display a message on the display unit informing the user that there is an obstacle in range X1 or urging the user not to move into range X1.
[0073] The device 100 generates a hit box in the virtual space according to the device position (S104-7). The hit box is an area in which the user can secure a target, and is, for example, an area surrounded by a rectangular parallelepiped or a sphere.
[0074] In the first embodiment, the user is made to recognize the AR space through an AR image. However, the user may be made to recognize the AR space by other means. The device 100 may express the AR space using audio. For example, instead of displaying an AR image in which a target moves in the upper right direction, the device 100 may instruct the user to move in the upper right direction by outputting audio through an audio output unit (e.g., a speaker, earphones, etc.: not shown) included in the device 100. The device 100 may also output audio so that it sounds like it is coming from the upper right direction, so that the user knows that the target is located (or moving) in the upper right direction. For example, outputting audio so that it sounds like it is coming from the upper right direction may be achieved by actually outputting audio from the upper right direction, or by specially processing the audio (e.g., processing the volume or frequency of the audio, or by combining multiple audio output units to create an effect).
[0075] The device 100 determines whether or not the target is located within the hit box (S104-8). For example, the device 100 determines whether or not the center position of the target in the virtual space is located within the range of the coordinates of the hit box.
[0076] If the device 100 determines that the target is located within the hit box (Yes in S104-8), it determines that the hit is successful (S104-9). Success indicates, for example, that the user has successfully captured the target, such as when a goalkeeper in a soccer game has successfully caught the soccer ball.
[0077] On the other hand, if the device 100 determines that the target is not located within the hit box (No in S104-8), it determines whether a failure condition is met (S104-10). The failure condition is a condition that must be met when the user fails to capture the target. The failure condition is a condition that cannot be changed to success in the future, such as the passage of a predetermined time (third time) or the target passing through a predetermined position (point, planar area, or three-dimensional area) (for example, a vertical plane described below).
[0078] In the soccer game, for example, the device 100 sets the destination point to a vertical plane including the device 100, or a vertical plane behind the device 100 (the destination point is on either side of the device 100 from the source point). A vertical plane is a plane that is 90 degrees from the horizontal plane, and is the plane facing the front of the device 100. A characteristic of soccer games (especially penalty kicks) is that the user (the goalkeeper) does not move forward, but moves up, down, left, and right. By setting the destination point on the above-mentioned vertical plane, device 100 can more appropriately anticipate the user's destination and prompt the user to move left, right, up, or down.
[0079] If the device 100 determines that the failure condition is met (Yes in S104-10), it determines that the game has failed (S104-11). A failure indicates, for example, that the user failed to capture the target, such as when a goalkeeper fails to catch the soccer ball in a soccer game, allowing the opponent to score a goal.
[0080] On the other hand, if the device 100 determines that the failure condition is not met (No in S104-10), it detects the device's position again, calculates the calories burned (S104-2), and regenerates the AR image (processes S104-3 to S104-7). In this way, the device 100 repeats the calculation of the calories burned and the regeneration of the AR image until success or failure is determined. This repetitive process is performed a predetermined number of times (e.g., 30 times) per second, for example.
[0081] When success or failure is determined, the device 100 calculates the total number of calories burned, displays it on the screen (S104-12), and ends the game processing S104. The total number of calories burned calculated here is the calories burned during one game execution.
[0082] FIG. 9 shows an example of a screen displayed when a game ends. FIG. 9(A) is a success screen indicating that the game has been successful. The success screen (determination result image) displays, for example, "GOOD!" to indicate that the central portion of the game has been successful. FIG. 9(B) is a failure screen indicating that the game has been unsuccessful. The failure screen (determination result image) displays, for example, "MISS" to indicate that the central portion of the game has been unsuccessful. In addition, on both the success screen and the failure screen, the calories burned by the user while playing the game are displayed in the upper right corner.
[0083] <Virtual space ground position determination processing> 10 is a diagram showing an example of a processing flowchart of the virtual space ground position determination processing S1030. In the virtual space ground position determination processing S1030, the device 100 performs device position detection (S1030-1). The device position detection is a process for detecting the position and inclination of the device 100, and is the same as, for example, the process S104-1 in the game processing S104.
[0084] The device 100 generates (sets) the ground of the virtual space on a horizontal plane located a predetermined distance (for example, 130 cm) below the detected position of the device 100 (S1030-2), and ends the virtual space ground position determination process S1030. The ground of the virtual space generated at this time may have an infinite range (no range of the ground is set), or may have a range calculated based on the distance the user can travel in real space within a predetermined time.
[0085] One example of a process for generating (setting) the ground surface of a virtual space is to perform a plane recognition process to detect the actual ground surface or floor, and then use the detected ground surface or floor as the ground surface of the virtual space. However, plane recognition generally takes time, and depending on the condition of the ground surface, it may not be possible to detect the ground surface or floor even after a certain amount of time has passed.
[0086] When generating a ground surface in a virtual space by plane recognition processing in healthcare processing, the user may be unable to start the game or it may take a long time for the game to start, resulting in a decrease in usability. Therefore, in this embodiment, the device 100 generates the ground surface in the virtual space in the virtual space ground position determination processing S1030, thereby enabling the ground surface in the virtual space to be generated early and preventing a decrease in usability.
[0087] The predetermined distance below the predetermined distance is the distance when the device 100 is positioned in front of the user. This is the distance that is assumed to be the length of the user from below the eyes to the feet, assuming that the user is standing at the same height as the ground surface or floor in the real world. By changing the predetermined distance according to the user's height, for example, it is possible to generate the ground surface in the virtual space at a position closer to the ground surface or floor in the real world.
[0088] <Target start position determination process> 11 is a diagram showing an example of a processing flowchart of the target start position determination processing S1031. In the target start position determination processing S1031, the device 100 performs device position detection (S1031-1). The device position detection is a process for detecting the position and tilt of the device 100, and is the same as, for example, the process S104-1 in the game processing S104.
[0089] The device 100 checks whether the tilt of the device 100 is within a threshold (tilt threshold) (S1031-2). If the tilt of the device 100 is greater than the threshold (No in S1031-2), the device 100 determines that the user has not brought the device 100 in front of the user and is not viewing the game screen of the device 100, and waits for the tilt of the device 100 to become within the threshold without starting the game.
[0090] On the other hand, when the tilt of the device 100 falls within the threshold value (Yes in S1031-2), the device 100 determines that the user is ready to start the game, and makes the start button pressable and displays it on the screen (S1031-3).
[0091] Then, the device 100 waits for the start button to be pressed (No in S1031-4). When the device 100 detects that the start button has been pressed (Yes in S1031-4), it determines the start position of the target to be the front position of the device 100 at the time the start button was pressed (or the current position) (S1031-5). That is, by determining the front direction of the device, the device 100 can determine the direction (orientation) in which the target is located in the virtual space.
[0092] In other words, by generating a game space based on the device position at the time the start button is pressed, the device 100 can determine the starting point and degree of change in the target, such as the starting position of the target, the position of the target when the target does not move, or the range of movement of the target.
[0093] Then, the device 100 generates and displays objects other than the ground in the virtual space (S1031-6), and ends the target start position determination process. For example, in the case of a soccer game, the objects other than the ground in the virtual space are an image of the real space that serves as the background, a soccer ball, a kicker, and a soccer field (such as a penalty kick line). In addition, a message announcing the start of the game may be displayed.
[0094] One method for determining the target start position is, for example, to perform the process simultaneously with the generation of the ground of the virtual space. However, when the ground of the virtual space is generated, the direction in which the user will face when starting the game has not yet been determined, and the target start position may be set at a position different from the intended position of the game. Therefore, in the target start position determination process S1031, the device 100 prevents the start button from being pressed until the tilt of the device 100 is within a threshold, thereby preventing the game from starting until the device 100 is facing somewhat directly in front of the user. Furthermore, by not determining the target start position until the user presses the start button, the device 100 can reliably determine the target start position at a timing when the user is ready to start the game. That is, the user can preview a location or direction that is uncomfortable for the user to play the game, for example, when it is too bright to face the setting sun, or when starting play in a narrow space horizontally, and the user may bump into a wall. You can avoid this and choose a more comfortable gaming environment.
[0095] [Second embodiment] Next, a second embodiment will be described.
[0096] In the second embodiment, the game processing S104 further includes a foul play determination processing S105. The foul play determination processing S105 is a processing that is executed, for example, from before the game starts (before the target starts moving) to the start of the game (when the target starts moving), and is a processing that imposes some kind of penalty when the distance between the device 100 and the target is shorter than a predetermined distance.
[0097] <Foul play judgment processing> 12 is a diagram showing an example of a processing flowchart of the foul play determination process S105. In the foul play determination process S105, the device 100 detects the device position (S105-1). The device position detection is a process for detecting the position and tilt of the device 100, and is the same as, for example, process S104-1 in the game process S104.
[0098] The device 100 calculates the distance between the device 100 and the target start position (start point) (S105-2). For example, the device 100 subtracts the X, Y, and Z components of the coordinates of the target start position from the X, Y, and Z components of the coordinates in the virtual space of the device 100, squares the subtracted values, adds the squared values, and calculates the square root of the sum as the distance.
[0099] The device 100 determines whether the calculated distance is within a threshold (second threshold) (S105-3). If the calculated distance is within the threshold (Yes in S105-3), the device 100 imposes a penalty (S105-4) and repeats the process from device position detection S105-1 again. The penalty is a control that imposes a disadvantageous effect on the user, such as not starting to move the target or causing the device 100 to fail to capture the target regardless of the position of the device 100. The reason for imposing a penalty when the distance is within the threshold is that once the device 100 gets close to the target to a certain extent, the user can capture the target without moving the device 100, which means that the user will almost certainly succeed in capturing the target, and the fun of the game will be lost.
[0100] On the other hand, if the calculated distance is not within the threshold value (No in S105-3), the device 100 cancels the penalty (S105-5) and repeats the process from device position detection S105-1 again.
[0101] [Other embodiments] Next, other embodiments will be described.
[0102] FIG. 13 is a diagram showing an example in which a target in a virtual space moves to an area where it is not displayed. In FIG. 13, an area V1 surrounded by a dotted line is a synthetic space. There is a limit to the range that can be displayed on the display unit 150, and if the target moves significantly, the target may not be displayed within the display unit 150 as shown in FIG. 12. In this case, the device 100 displays an arrow A1 in a part of the AR image as shown in FIG. 12. The arrow A1 indicates the position of the target that is not displayed. By displaying the arrow A1, the device 100 allows the user to follow the target even if the target is no longer displayed on the display unit.
[0103] 14 is a diagram showing an example in which the game process is aerobics. In this embodiment, the target moves from the back to the front of the virtual space, but it may also move in various directions, such as up, down, left, and right, or rotate within the virtual space. For example, as shown in FIG. 14, the device 100 may use an arrow A3 as the target and prompt the user to move the device 100 in the direction of the arrow or in the direction of the arrow by changing the direction of the arrow A3 or moving the arrow A3. The target may also be used to instruct the user to rotate their entire body (or waist) or turn backward. Note that in FIG. 14, a part of the arrow A3 is located outside the range of the display unit 150, but the user can move the device 100 to display the arrow A3 outside the range of the display unit on the display unit.
[0104] The target may also be the picture of a musical note M1 in FIG. 14. The picture of a musical note M1 is displayed for a predetermined time and then deleted (hidden). The user performs exercise by moving the device 100 in the direction of the picture of the musical note while it is displayed. The picture of a musical note M13 is an example of a target and is not limited to a picture of a musical note. The picture of a musical note M1 may, for example, change to a specific color for a predetermined time or may have a special effect such as glowing. The user can perform exercise by moving the device 100 in the direction of the picture of the musical note while the picture of the musical note M1 is the specific color or has the special effect. The timing when the display of the target starts may be referred to as the display start timing, and the timing when the display of the target ends and the target is hidden may be referred to as the display end timing.
[0105] Furthermore, the position where the musical note picture M1 appears may be determined in relation to the positions of other musical note pictures M1 based on the amount of exercise required of the user. For example, the device 100 increases the distance (inter-position distance) between the position of a musical note picture (first position) and the position of another musical note picture (second position) as the amount of exercise required of the user increases. For example, the device 100 decreases the distance (inter-position distance) between the position of a musical note picture (first position) and the position of another musical note picture (second position) as the amount of exercise required of the user decreases.
[0106] In addition, by adjusting the timing of displaying (start of color change) and hiding (end of color change) the musical note picture M1, it is possible to encourage the user to move faster or slower, thereby adjusting the amount of exercise the user is doing.
[0107] FIG. 15 is a diagram showing an example including a display object other than target T1. In FIG. 15, target T1 is defender DF1. Defender DF1 is, for example, a defender in a soccer game. The user moves device 100 in the opposite direction to defender DF1 or in a direction that will not collide with defender DF1. The example of target T1 described in the first embodiment is a soccer ball. Since the user performs the movements of a goalkeeper, a success is determined when target T1 is located within the hit box. However, if defender DF1 is targeted, a failure is determined when defender DF1 is located within the hit box. The success / failure determination may be made in a game in which the objective is to capture a target or a game in which the objective is to avoid a target. Furthermore, if there are multiple targets, the success / failure determination may be made differently for each target.
[0108] FIG. 16 is a diagram illustrating an example of a game in which a player avoids a target. For example, the target is a ghost G1. The ghost G1 moves around in a virtual space, and the user moves (escapes) in a real space corresponding to the virtual space so as not to collide with the ghost G1. In this case, if the target is located within a hit box, a failure determination may be made (the player is determined to have been caught by the ghost). Furthermore, if the moving speed of the device 100 is equal to or greater than a predetermined speed, the device 100 may determine that the ghost G1 has found the device 100, and the ghost G1 may chase the device 100. In this way, the device 100 can prompt the user to move the device 100 slowly (slower than the predetermined speed) so as not to be chased by the ghost G1.
[0109] 16, for example, if the target is located at ghost G2, a special sound may be emitted from the direction of the ghost G2's position in real space that corresponds to the ghost G2's position in virtual space, thereby informing the user of the location of the ghost G2 aurally. Also, as shown in FIG. 13, an arrow or the like indicating the location of ghost G2 may be displayed.
[0110] Furthermore, when expressing ghosts disappearing and appearing, ghost G1 may be hidden. In this case, as in the example of ghost G2, the location of ghost G1 may be notified to the user by using a special sound.
[0111] Also, when multiple users are playing the game at the same time, when another user is captured by ghost G1, the user may be notified that the other user has been captured by ghost G1 by playing a special sound from the direction of the position of ghost G1 in real space that corresponds to the position of ghost G1 in virtual space.
[0112] Furthermore, in the first embodiment, the game processing ends when a success or failure determination is made once, but the success or failure determination may be made multiple times. For example, in a game in which the device 100 follows an arrow as described above, it may be determined that the device is successful (or is currently following successfully) while it is following the arrow, and that the device is currently failing (or is currently failing to follow) while it is not following the arrow. In this case, the condition for ending the game may be, for example, the passage of a predetermined time, or a continuation of failure for a predetermined time or more.
[0113] In the first embodiment, a soccer ball is used as an example of a target, but the target may be, for example, an irregularly moving object such as a balloon. Also, the target may be, for example, a boxing glove, and the user may regard the device as a boxing mitt.
[0114] In the first embodiment, the game ends after one success or failure, but the game may be played multiple times. For example, the game may be repeated until N (e.g., 5) failures have occurred. Furthermore, for example, the game may be repeated a total of M times, regardless of success or failure.
[0115] Furthermore, for example, the results of the game may be scored based on the success or failure of the game, and the scores may be managed collectively on a server, allowing users to compete against each other for the highest score. Also, for example, the same AR space (including AR images and targets) may be shared using short-range communication using infrared or Bluetooth (registered trademark). Furthermore, the same AR space may be shared remotely via a server. This may increase users' motivation to play the game and encourage them to exercise more. Instead of scores, users may compete based on calories burned or accumulated calories. [Explanation of symbols]
[0116] 100: Device 110:CPU 120: Storage 121: Healthcare Program 122: Game Module 1221: Foul play detection submodule 1222: Virtual space ground position determination submodule 1223: Target start position determination submodule 123: Calorie-related module 1231: Accumulated calorie display submodule 1232: Calorie consumption display submodule 124: Location detection program 130: Memory 140: Position detection device 150:Display device (display section) 160: Camera
Claims
1. A program for encouraging a user to exercise, the program being included in a device having a position detection function of the device itself and a display unit that displays images, A process of generating the virtual space by setting the ground in the virtual space on a horizontal plane that is a predetermined distance below the position of the device; a determination process of displaying a pressable start button on the display unit when the tilt of the device is within a tilt threshold, and determining a direction in which a target is located in the virtual space when it is detected that the start button has been pressed; A process of generating a composite space by combining the virtual space and the real space based on the setting; a process of making the target appear in the synthetic space and changing the target based on the determined direction in which the target is located in the virtual space, and prompting the user to move the device in accordance with the change in the target; A program to be executed by a processor possessed by the device.
2. The program according to claim 1 , wherein the predetermined distance is determined based on the height of the user who uses the device.
Citation Information
Patent Citations
Program, information memory medium and game apparatus
JP2013059573A
Display control system, display control apparatus, display control program, and display control method
JP2014219948A
Rehabilitation support device, and rehabilitation report
JP2015132957A
Control device
JP2016174893A
Program and ar experience provision device
JP2017176635A