Texture presentation device, texture presentation method, and program

The texture presentation device addresses high computational costs in virtual reality by controlling virtual object deformation based on real-space interactions, allowing for the simulation of multiple textures like rigidity and elasticity efficiently.

WO2025177543A1PCT designated stage Publication Date: 2025-08-28NT T INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/006582
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-02-22
Publication Date
2025-08-28

AI Technical Summary

Technical Problem

Existing techniques for simulating textures in virtual reality using physical calculations are computationally expensive and limited to presenting the sensation of hardness only.

Method used

A texture presentation device that controls the position and deformation of virtual objects in virtual space based on the position of body parts in real space, manipulating the distribution of deformation to simulate various textures such as rigidity and elasticity with low computational cost.

Benefits of technology

Enables the perception of diverse textures with reduced computational overhead by adjusting the distribution of deformation in virtual objects, aligning with human experience of real-space interactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024006582_28082025_PF_FP_ABST
    Figure JP2024006582_28082025_PF_FP_ABST
Patent Text Reader

Abstract

This texture presentation device controls the position of a virtual operation object in a virtual space in accordance with the position of a body part in a real space, and controls the deformation amount of a virtual target that is deformed into a concave shape and / or a convex shape in accordance with the relative position of the virtual operation object with respect to the virtual target in the virtual space. At this time, the texture presentation device controls the breadth of the distribution in the virtual space range of the deformation amount, on the basis of the degree of the texture to be perceived by the virtual target.
Need to check novelty before this filing date? Find Prior Art

Description

Texture presentation device, texture presentation method, and program

[0001] The present invention relates to an information presentation technique for presenting information to humans, and more particularly to a technique for providing an illusory perception of the texture of an object.

[0002] In the field of computer graphics, physical calculations are sometimes performed to simulate the physical behavior of virtual objects in a virtual space (virtual reality space) (see, for example, Non-Patent Document 1). This makes it possible to make the texture of objects presented on computer graphics closer to that of real space (the real world).

[0003] However, presenting textures using physical calculations has the problem of high computational costs. To address this issue, a technique is known in which the ratio of the amount of movement of the actual user's hand to the amount of movement of the virtual hand is manipulated when a virtual button is pressed by a virtual hand in a virtual space that moves in response to the movement of the user's hand in the real space, thereby changing the sense of hardness perceived by the user (see, for example, Non-Patent Document 2).

[0004] Stam, J., "Real-time fluid dynamics for games", In Proceedings of the game developer conference, Vol. 18, p. 25, March 2003.Nunez, OJA, Zenner, A., Steinicke, F., Daiber, F. & Kruger, A. Holitouch, "Conveying Holistic Touch Illusions by Combining Pseudo-Haptics With Tactile and Proprioceptive Feedback "During Virtual Interaction With 3DUIs", Frontiers Virtual Real 3, 879845, June 2022.

[0005] However, the technology of Non-Patent Document 2 can only present the sensation of hardness when a rigid object such as a button is pressed.

[0006] The present invention provides a technique for perceiving various textures of an object at low computational cost.

[0007] In a first aspect, the texture presentation device controls the position of a virtual object in a virtual space in accordance with the position of a body part in a real space, and controls the amount of deformation of the virtual object, which deforms concavely and / or convexly, in accordance with the relative position of the virtual object with respect to the virtual object in the virtual space, and at this time, the texture presentation device controls the width of the distribution of the amount of deformation in the virtual space range based on the degree of texture to be perceived by the virtual object.

[0008] In a second aspect, the texture presentation device controls the position of the virtual object in the virtual space in accordance with the position of the body part in the real space, and controls the amount of deformation of the virtual object that deforms concavely in the direction of movement of the virtual object when the virtual object moves toward the virtual target in the virtual space, and / or controls the amount of deformation of the virtual object that deforms convexly in the direction of movement of the virtual object when the virtual object moves away from the virtual target in the virtual space, where the width of the distribution of the amount of deformation in the virtual space when the virtual object is intended to be perceived as a first stiffness is wider than the width of the distribution of the amount of deformation in the virtual space when the virtual object is intended to be perceived as a second stiffness, and the first stiffness is higher than the second stiffness.

[0009] In a third aspect, the texture presentation device controls the position of the virtual object in the virtual space according to the position of the body part in the real space, and controls the amount of deformation of the virtual object that deforms convexly in the direction of movement of the virtual object when the virtual object moves away from the virtual object in the virtual space. In this case, the texture presentation device cancels the convex deformation of the virtual object when the duration of the convex deformation of the virtual object exceeds a reference time and / or when the relative distance of the reference position of the virtual object to the reference position of the virtual object in the convex deformation state exceeds a reference distance.

[0010] In a fourth aspect, the texture presentation device controls the position of the virtual object in the virtual space in accordance with the position of the body part in the real space. In this case, when the virtual object is positioned within a predetermined range from a reference position of the virtual object in the virtual space, even if the direction of movement of the virtual object corresponding to the direction of movement of the body part is a direction away from the virtual object, the texture presentation device either maintains the position of the virtual object or delays the movement of the virtual object relative to the movement of the body part until the duration during which the virtual object continues to move away from the virtual object exceeds a reference time.

[0011] In a fifth aspect, the texture presentation device controls the position of the virtual object in the virtual space according to the position of the body part in the real space, and when the virtual object is positioned within a predetermined range from the reference position of the virtual object in the virtual space, the texture presentation device sets a first value as the ratio or relative speed of the movement speed of the virtual object to the movement speed of the body part, and otherwise sets a second value greater than the first value as the ratio or relative speed.

[0012] In a sixth aspect, the texture presentation device controls the position of the virtual object in the virtual space in accordance with the position of the body part in the real space, and controls the amount of deformation of the first virtual object and / or the second virtual object, which deforms concavely and / or convexly, in accordance with the relative position of the virtual object with respect to the first virtual object and / or the second virtual object in the virtual space, and in this case, controls the width of the distribution of the amount of deformation in the virtual space based on the degree of texture to be perceived by the combination of the first virtual object and the second virtual object.

[0013] In a seventh aspect, the texture presentation device controls the position of the virtual object in the virtual space according to the position of the body part in the real space, and when the virtual object is positioned within a predetermined range from the reference position of the first virtual object in the virtual space, the texture presentation device sets a third value as the ratio or relative speed of the movement speed of the virtual object to the movement speed of the body part, and when the virtual object is positioned within a predetermined range from the reference position of the second virtual object in the virtual space, the texture presentation device sets a fourth value different from the third value as the ratio or relative speed of the movement speed of the virtual object to the movement speed of the body part.

[0014] As a result, various textures of an object can be perceived with low computational cost.

[0015] FIG. 1 is a block diagram illustrating the functional configuration of a texture presentation system according to an embodiment. FIG. 2 is a block diagram illustrating the functional configuration of a texture presentation device according to an embodiment. FIGS. 3A to 3F are diagrams illustrating the appearance of a virtual manipulator and a virtual object according to an embodiment. Here, FIGS. 3A, 3C, and 3E are front views of the virtual manipulator and the virtual object according to an embodiment (viewed from the y-axis direction in a Cartesian coordinate system consisting of the x-axis, y-axis, and z-axis). Also, FIGS. 3B, 3D, and 3F are plan views of FIGS. 3A, 3C, and 3E, respectively (viewed from the z-axis direction in a Cartesian coordinate system consisting of the x-axis, y-axis, and z-axis). FIGS. 4A to 4F are diagrams illustrating the appearance of a virtual manipulator and a virtual object according to an embodiment. Here, FIGS. 4A, 4C, and 4E are front views of the virtual manipulator and the virtual object according to an embodiment (viewed from the y-axis direction). 4B, 4D, and 4F are plan views (viewed from the z-axis direction) of FIGS. 4A, 4C, and 4E, respectively. FIGS. 5A to 5F are diagrams illustrating the appearance of the virtual manipulation object and virtual object of the embodiment. Here, FIGS. 5A, 5C, and 5E are front views (viewed from the y-axis direction) of the virtual manipulation object and virtual object of the embodiment. Also, FIGS. 5B, 5D, and 5F are plan views (viewed from the z-axis direction) of FIGS. 5A, 5C, and 5E, respectively. FIGS. 6A to 6F are diagrams illustrating the appearance of the virtual manipulation object and virtual object of the embodiment. Here, FIGS. 6A, 6C, and 6E are front views (viewed from the y-axis direction) of the virtual manipulation object and virtual object of the embodiment. Also, FIGS. 6B, 6D, and 6F are plan views (viewed from the z-axis direction) of FIGS. 6A, 6C, and 6E, respectively. 7A to 7F are diagrams illustrating the appearance of the virtual manipulation object and virtual object of the embodiment. Here, FIGS. 7A, 7C, and 7E are front views (viewed from the y-axis direction) of the virtual manipulation object and virtual object of the embodiment. Also, FIGS. 7B, 7D, and 7F are plan views (viewed from the z-axis direction) of FIGS. 7A, 7C, and 7E, respectively.8A to 8F are diagrams illustrating the appearance of the virtual manipulator and virtual object of the embodiment. Here, FIGS. 8A, 8C, and 8E are front views (viewed from the y-axis direction) of the virtual manipulator and virtual object of the embodiment. Also, FIGS. 8B, 8D, and 8F are plan views (viewed from the z-axis direction) of FIGS. 8A, 8C, and 8E, respectively. FIGS. 9A to 9F are diagrams illustrating the appearance of the virtual manipulator and virtual object of the embodiment. Here, FIGS. 9A, 9C, and 9E are front views (viewed from the y-axis direction) of the virtual manipulator and virtual object of the embodiment. Also, FIGS. 9B, 9D, and 9F are plan views (viewed from the z-axis direction) of FIGS. 9A, 9C, and 9E, respectively. FIGS. 10A to 10F are diagrams illustrating the appearance of the virtual manipulator and virtual object of the embodiment. Here, FIGS. 10A, 10C, and 10E are front views (viewed from the y-axis direction) of the virtual manipulation object and virtual target of the embodiment. Also, FIGS. 10B, 10D, and 10F are plan views (viewed from the z-axis direction) of FIGS. 10A, 10C, and 10E, respectively. FIGS. 11A to 11F are diagrams illustrating the appearance of the virtual manipulation object and virtual target of the embodiment. Here, FIGS. 11A, 11C, and 11E are front views (viewed from the y-axis direction) of the virtual manipulation object and virtual target of the embodiment. Also, FIGS. 11B, 11D, and 11F are plan views (viewed from the z-axis direction) of FIGS. 11A, 11C, and 11E, respectively. FIG. 12 is a block diagram illustrating the functional configuration of the texture presentation device of the embodiment. 13A, 13C, and 13E are diagrams illustrating front views (viewed from the y-axis direction) of the virtual interface and virtual object of the embodiment. 13B, 13D, and 13F are diagrams illustrating hand movements in real space corresponding to the movements of the virtual interface in FIGS. 13A, 13C, and 13E, respectively (viewed from the y-axis direction in a Cartesian coordinate system consisting of the x-, y-, and z-axes). 14 is a block diagram illustrating the functional configuration of the texture presentation device of the embodiment.15A and 15C are diagrams illustrating front views (viewed from the y-axis direction) of the virtual manipulator and virtual object of the embodiment. 15B and 15D are diagrams (viewed from the y-axis direction) illustrating hand movements in real space corresponding to the movements of the virtual manipulator in FIGS. 15A and 15C. 16A to 16D are diagrams illustrating front views (viewed from the y-axis direction) of the virtual manipulator and virtual object of the embodiment. 17A and 17B are diagrams illustrating front views (viewed from the y-axis direction) of the virtual manipulator and virtual object of the embodiment. 18 is a block diagram illustrating the hardware configuration of the texture presentation device of the embodiment.

[0016] Hereinafter, embodiments of the present invention will be described with reference to the drawings. [First Embodiment] In the first embodiment, a texture presentation device controls the position of a virtual object in a virtual space according to the position of a body part in real space (the real world), and controls the amount of deformation of the virtual object, which deforms concavely and / or convexly, according to the relative position of the virtual object relative to the virtual object in virtual space (virtual reality space). In this case, the texture presentation device controls the distribution of the deformation of the virtual object within the virtual space based on the degree of texture to be perceived by the virtual object. By presenting a virtual object that deforms in accordance with the movement of the virtual object to the user in this manner, the user can perceive a desired texture (e.g., rigidity or elasticity). For example, the wider the distribution of the deformation of the virtual object within the virtual space, the higher the rigidity perceived by the virtual object. In other words, the narrower the distribution of the deformation of the virtual object within the virtual space, the higher the elasticity perceived by the virtual object. This perception of different textures depending on the distribution of the deformation of the virtual object within the virtual space is based on human experience in real space. For example, in real space, if both ends of an object made of a hard material (such as a plastic writing pad) are fixed and a force is applied from above, the stress is distributed relatively evenly, causing the entire object to deform. On the other hand, if both ends of an object made of a softer material (such as a thin silicone membrane) are fixed and a force is applied from above, the stress is not distributed evenly, and only the pressed position and its surroundings deform significantly. Thus, in real space, an object with high rigidity (an object with low elasticity) has a wider range of deformation (a range of deformation beyond a predetermined amount) when a force is applied than an object with low rigidity (an object with high elasticity). Based on this real-space experience, for example, a user perceives a virtual object with a wider distribution of deformation amounts in the virtual space as having high rigidity (low elasticity), and a narrower distribution as having low rigidity (high elasticity). Furthermore, the computational cost for such virtual object deformation is low.

[0017] Here, a body part refers to a body part of a user in real space. Examples of body parts include fingers, hands, arms, legs, head, and torso. A virtual controller and a virtual object are objects or objects in a virtual space. The virtual controller and the virtual object may be, for example, an image, retinal projection information, information for directly providing visual information to the brain, or other information for allowing a person to perceive an object in a virtual space.

[0018] The position of the virtual object in the virtual space corresponds to the position of the body part in the real space. That is, the position of the virtual object in the virtual space changes depending on the position of the body part in the real space. For example, suppose that the position in the real space is represented by a Cartesian coordinate system consisting of three axes: X, Y, and Z, and the position in the virtual space is represented by a Cartesian coordinate system consisting of three axes: X, Y, and Z. In this case, for example, if the X-coordinate value of the body part in the real space increases, the x-coordinate value of the virtual object in the virtual space also increases, and if the X-coordinate value of the body part in the real space decreases, the x-coordinate value of the virtual object in the virtual space also decreases. For example, if the Y-coordinate value of the body part in the real space increases, the y-coordinate value of the virtual object in the virtual space also increases, and if the Y-coordinate value of the body part in the real space decreases, the y-coordinate value of the virtual object in the virtual space also decreases. For example, if the Z coordinate value of a body part in real space increases, the Z coordinate value of the virtual object in virtual space also increases, and if the Z coordinate value of a body part in real space decreases, the Z coordinate value of the virtual object in virtual space also decreases. The coordinates of the virtual object in virtual space are a function value of the coordinates of the position of the body part in real space. For example, the coordinates of the virtual object in virtual space are a linear function value of the coordinates of the position of the body part in real space. For example, (x, y, z) = α(X, Y, Z), where α is a real constant.

[0019] For example, the texture presentation device may control the amount of deformation of the virtual object that deforms concavely in the direction of movement of the virtual control object when the virtual control object moves toward the virtual target in the virtual space (push deformation), or may control the amount of deformation of the virtual object that deforms convexly in the direction of movement of the virtual control object when the virtual control object moves away from the virtual target in the virtual space (rise deformation).

[0020] For example, the texture presentation device may not deform the virtual object until the virtual object contacts the virtual target in the virtual space. After the virtual object moves toward the virtual object and contacts the virtual object, the virtual object may be deformed into a concave shape in the direction of movement of the virtual object. For example, the virtual object may be depressed in the direction of movement of the virtual object toward the virtual object. In this case, the amount of concave deformation of the virtual object may vary depending on the amount of pressure applied by the virtual object after contacting the virtual object. For example, the greater the amount of movement of the virtual object toward the virtual object after contacting the virtual object, the greater the amount of concave deformation of the virtual object. In other words, the smaller the amount of movement of the virtual object toward the virtual object, the smaller the amount of concave deformation of the virtual object. For example, when the virtual object contacts the virtual object and further moves toward the virtual object, the virtual object may press a portion of the virtual object into a concave shape. In this case, it is desirable that the tip of the virtual object (the tip toward the virtual object) be positioned approximately at the center of the inner wall surface of the concave depression in the virtual object. For example, with the tip of the virtual manipulator in contact with approximately the center or near the center of the inner wall surface of the concave depression of the virtual object, the virtual manipulator may be pushed into the concave depression of the virtual object, and the amount of deformation of the concave shape of the virtual object may be determined depending on the amount of movement of the virtual manipulator toward the virtual object.

[0021] For example, the texture presentation device may not deform the virtual object until the virtual object contacts the virtual target in the virtual space, and after the virtual object contacts the virtual object, when the virtual object moves away from the virtual object, the virtual object may protrude convexly in the direction of movement of the virtual object. For example, the virtual object may deform convexly in the direction of movement of the virtual object away from the virtual object. In this case, the amount of convex deformation of the virtual object may change depending on the amount of distance the virtual object moves away from the virtual object after contacting the virtual object. For example, the greater the distance the virtual object moves away from the virtual object after contacting the virtual object, the greater the amount of convex deformation of the virtual object. In other words, the smaller the distance the virtual object moves away from the virtual object, the smaller the amount of convex deformation of the virtual object. Note that the amount of distance away is, for example, the amount of movement from the position where the virtual object first contacts the virtual object to the position where the virtual object moves away from the virtual object. For example, when a virtual object comes into contact with a virtual target and then moves away from the virtual target, the virtual object may raise a portion of the virtual target in a convex shape. In this case, it is desirable that the tip of the virtual object (the tip on the virtual target side) is positioned approximately at the center of the outer wall surface of the convex protrusion of the virtual object. For example, when the tip of the virtual object comes into contact with approximately the center of the outer wall surface of the convex protrusion of the virtual object or its vicinity, the virtual object may raise a portion of the virtual object in a convex shape, and the amount of deformation of the convex shape of the virtual object may be determined depending on the distance the virtual object moves away from the virtual target.

[0022] Here, the distribution of the deformation amount in the virtual space range when the first stiffness is perceived by the virtual object is wider than the distribution of the deformation amount in the virtual space range when the second stiffness is perceived by the virtual object. The first stiffness is higher than the second stiffness. In other words, the wider the distribution of the deformation amount of the virtual object in the virtual space range, the higher the stiffness perceived by the virtual object. In other words, the narrower the distribution of the deformation amount of the virtual object in the virtual space range, the higher the elasticity perceived by the virtual object. Furthermore, when the virtual object is deformed by rising, it is possible to make it feel sticky or viscous.

[0023] The width of the distribution of the deformation amount of a virtual object in a virtual space range refers to the width of the distribution of the deformation amount of the virtual object in the virtual space. The wider the distribution, the wider the range (virtual space range) in which the virtual object deforms by more than a predetermined value. For example, if the amount of pressure applied after a virtual controller contacts the virtual object is the same, the wider the distribution of the deformation amount of the virtual object, the wider the virtual space range in which the virtual object deforms concavely by more than a predetermined value. For example, if the amount of movement of the virtual controller in a direction away from the virtual object after contacting the virtual object is the same, the wider the distribution of the deformation amount of the virtual object, the wider the virtual space range in which the virtual object deforms convexly by more than a predetermined value. The distribution of the deformation amount of the virtual object in the virtual space range is, for example, a distribution in which the deformation amount is greatest at the center of the virtual space range and decreases as the distance from the center of the virtual space range increases. If the virtual space is two-dimensional, the virtual space range is one-dimensional. If the virtual space is three-dimensional, the virtual space is two-dimensional. The distribution of the deformation amounts of the virtual object in the virtual space range can be expressed, for example, using a Gaussian distribution (normal distribution). For example, if the virtual space is two-dimensional, the distribution of the deformation amounts of the virtual object in the virtual space range can be expressed using a one-dimensional Gaussian distribution. In this case, the center of the distribution of the deformation amounts of the virtual object in the virtual space range can be expressed by the average of the one-dimensional Gaussian distribution, and the width of the distribution of the deformation amounts of the virtual object in the virtual space range (one-dimensional virtual space range) can be expressed by the variance and standard deviation of the one-dimensional Gaussian distribution. For example, if the virtual space is three-dimensional, the distribution of the deformation amounts of the virtual object in the virtual space range (two-dimensional virtual space range) can be expressed by a two-dimensional Gaussian distribution. In this case, the center of the distribution of the deformation amounts of the virtual object in the virtual space range can be expressed by the average of the two-dimensional Gaussian distribution, and the width of the distribution of the deformation amounts of the virtual object in the virtual space range can be expressed by the variance and standard deviation of the two-dimensional Gaussian distribution. The larger the variance and standard deviation, the wider the distribution of the deformation amounts of the virtual object in the virtual space range.However, this is just one example, and any distribution can be expressed as long as it is, for example, a bell-shaped function (a convex function) and the spatial range (virtual space range) in which the function value is equal to or greater than a predetermined value can be arbitrarily controlled. For example, if the virtual space is two-dimensional, the distribution of the deformation amount of the virtual object in the virtual space range can be expressed as a one-dimensional beta distribution or a one-dimensional binomial distribution, or as a one-dimensional sine wave (cosine wave). For example, if the virtual space is three-dimensional, the distribution of the deformation amount of the virtual object in the virtual space range can be expressed as a two-dimensional beta distribution or a two-dimensional binomial distribution, or as a two-dimensional sine wave (cosine wave). This will be explained in detail below.

[0024] <Configuration> As shown in FIG. 1, the texture presentation system 1 of this embodiment includes a texture presentation device 11, a real space information acquisition device 12, and a virtual space information output device 13.

[0025] 2 , the texture presentation device 11 of this embodiment includes a control unit 1101, a memory 1102, storage units 1103 and 1112, a texture setting unit 1104, a virtual operation object generation unit 1105, a real space position acquisition unit 1106, a virtual position acquisition unit 1107, a virtual operation object position control unit 1108 (position control unit), a relative position calculation unit 1109, a contact determination unit 1110, a virtual object transformation control unit 1111 (transformation control unit), a virtual object generation unit 1113, and a synthesis unit 1114. The texture presentation device 11 executes each process under the control of the control unit 1101. Information input to the texture presentation device 11 and information obtained by each unit of the texture presentation device 11 is stored in the memory 1102 one by one, and is read out as needed and used in each process.

[0026] The real space information acquisition device 12 is a device for acquiring the positions of body parts of the user 1000 that exist in real space. It is desirable that the real space information acquisition device 12 acquires the positions of body parts without contact, but it may also acquire the positions of body parts through contact. Examples of the real space information acquisition device 12 include a camera, a motion tracking sensor, a hand tracking device, a touch screen, a mouse, etc. For example, a camera provided in a smartphone terminal device can be used as the real space information acquisition device 12. Examples of body parts include fingers, hands, arms, legs, head, torso, etc.

[0027] The virtual space information output device 13 is a device that outputs information (virtual space information) that allows the user 1000 to perceive objects in a virtual space. The virtual space information output device 13 may be a device that outputs video, a device that outputs retinal projection information, a device that directly provides visual information to the brain, or any other device that allows the user 1000 to perceive objects in a virtual space.

[0028] <Pre-processing> As described above, in this embodiment, the position of the virtual object in the virtual space is controlled according to the position of the body part in the real space, and a virtual object that deforms concavely and / or convexly as the virtual object moves is presented to the user. In this case, the distribution width of the deformation amount of the virtual object in the virtual space range is controlled based on the degree of texture to be perceived by the virtual object. This allows the user to perceive the desired texture. To perform this control, a deformation ratio dataset (DS) is stored in the memory unit 1103 of the texture presentation device 11 ( FIG. 2 ) in the pre-processing. The deformation ratio DS is a dataset that represents the relationship between an index representing the degree of the texture to be perceived and an index representing the distribution width of the deformation amount of the virtual object in the virtual space range for perceiving that texture. For example, the deformation ratio DS represents the relationship between an index representing the degree of multiple textures and an index representing the distribution width of the deformation amount of the virtual object in the virtual space range for perceiving those textures. For example, the deformation ratio DS is a data set that represents the relationship between an index representing the stiffness to be perceived and an index representing the breadth of distribution in the virtual space range of the deformation amount of the virtual object for perceiving the stiffness. Alternatively, for example, the deformation ratio DS is a data set that represents the relationship between an index representing the elasticity to be perceived and an index representing the breadth of distribution in the virtual space range of the deformation amount of the virtual object for perceiving the elasticity. An example of an index representing the stiffness or elasticity to be perceived is an elastic modulus such as Young's modulus. An example of an index representing the breadth of distribution in the virtual space range of the deformation amount of the virtual object is the variance or standard deviation of a two-dimensional Gaussian distribution. The larger the variance or standard deviation, the wider the distribution in the virtual space range of the deformation amount of the virtual object. The deformation ratio DS may be a table or a function, as long as it represents such a relationship.

[0029] The storage unit 1112 also stores a texture dataset (DS) that represents physical information of the virtual object generated by the virtual object generation unit 1113. The physical information is, for example, information about the surface characteristics (e.g., texture and gloss), mechanical characteristics (e.g., viscosity and elasticity), and overall shape characteristics of the virtual object. For example, the physical information is linked to the name of the virtual object, etc.

[0030] <Setting Process> Texture information T, which represents the degree of texture to be presented to the user 1000, is input to the texture setting unit 1104 of the texture presentation device 11 ( FIG. 2 ). For example, the texture information T may be information representing rigidity or elasticity. For example, the texture information T may be information input by the user 1000, information input by another person, information input from another device, or information read from a storage unit. The texture setting unit 1104 obtains an index representing the degree of texture represented by the input texture information T and sends it to the virtual object deformation control unit 1111. For example, the texture setting unit 1104 obtains an index representing the rigidity or elasticity represented by the input texture information T and sends it to the virtual object deformation control unit 1111 (step S1104).

[0031] <Texture Presentation Processing> Next, the texture presentation processing of this embodiment will be described.

[0032] The virtual object generation unit 1113 of the texture presentation device 11 ( FIG. 2 ) generates a virtual object in a virtual space. The virtual object is, for example, an image. For example, the virtual object may be a two-dimensional image or a three-dimensional image. Examples of the virtual object include rigid or elastic bodies such as resin or rubber in the virtual space. The virtual control object may be generated from an image of the real space captured using a camera (e.g., a meshed image of the real space), or may be generated using a method commonly used in the field of computer graphics. Furthermore, in some cases, the virtual object generation unit 1113 may perform physical calculations to change the appearance of the virtual object based on the physical information represented by the texture DS stored in the memory unit 1112. This process may be performed using a method commonly used in the field of computer graphics. The generated virtual object is sent to the virtual object transformation control unit 1111 (step S1113).

[0033] The virtual control object generator 1105 generates a virtual control object in the virtual space. The virtual control object is, for example, an image. For example, the virtual control object may be a two-dimensional image or a three-dimensional image. The virtual control object is used to control a virtual object in the virtual space. For example, the virtual control object is a virtualized version of a tool used by a person to touch an object in the real space, such as a virtual hand, a virtual cane, or virtual chopsticks. The virtual control object may be generated from an image of the real space captured with a camera, or may be generated using a method commonly used in the field of computer graphics. The virtual control object is sent to the virtual control object position controller 1108 (step S1105).

[0034] The following process is performed continuously or intermittently. The real space information acquisition device 12 (FIG. 1) acquires information representing the positions of the body parts of the user 1000 in real space, and sends the information representing the positions of the body parts to the texture presentation device 11. For example, the real space information acquisition device 12 captures an image of the body parts of the user 1000 in real space, and transmits the image thus obtained as information representing the positions of the body parts Vin (t) is sent to the texture presentation device 11. Here, t represents time. That is, information V representing the position of the body part is in (t) is time-series information (step S12).

[0035] The real space position acquisition unit 1106 of the texture presentation device 11 (FIG. 2) acquires information V representing the position of the body part sent from the real space information acquisition device 12. in Using (t), the coordinates of the reference position of a body part (e.g., a hand) in real space are acquired. For example, the real space position acquisition unit 1106 acquires the coordinates (X, Y, Z) of the reference position of the body part in real space expressed in an orthogonal coordinate system consisting of three axes: X, Y, and Z. This orthogonal coordinate system may be, for example, a global coordinate system, a local coordinate system, or a camera coordinate system. The reference position of the body part may be any position as long as it is predetermined. An example of the reference position of the body part is the position of the tip of the hand. A well-known algorithm may be used for this acquisition. The coordinates of the body part position are sent to the virtual position acquisition unit 1107 (step S1106).

[0036] The virtual position acquisition unit 1107 acquires the coordinates of the reference position of the virtual object in virtual space corresponding to the coordinates of the reference position of the body part in real space sent. For example, the virtual position acquisition unit 1107 acquires the coordinates (x, y, z) of the reference position of the virtual object in virtual space expressed in a Cartesian coordinate system consisting of three axes, i.e., the x-axis, y-axis, and z-axis, corresponding to the coordinates (X, Y, Z) of the reference position of the body part in real space sent. The coordinates of the reference position of the virtual object in virtual space are function values ​​of the coordinates of the reference position of the body part in real space. For example, the coordinates of the reference position of the virtual object in virtual space are linear function values ​​of the coordinates of the reference position of the body part in real space. For example, (x, y, z) = α(X, Y, Z), where α is a real constant. The reference position of the virtual object may be any position as long as it is predetermined. An example of the reference position of the virtual object is the position of the tip of the virtual object. The coordinates of the reference position of the virtual object in the virtual space are sent to the virtual object position control section 1108 and the relative position calculation section 1109 (step S1107).

[0037] The virtual object position control unit 1108 sets the coordinates of the reference position in virtual space of the virtual object sent from the virtual object generation unit 1105 to the coordinates sent from the virtual position acquisition unit 1107. In other words, the virtual object position control unit 1108 (position control unit) controls the position of the virtual object in virtual space in accordance with the position of the body part in real space. The virtual object with the reference position coordinates set is sent to the synthesis unit 1114 (step S1108).

[0038] The relative position calculation unit 1109 obtains the relative position of the virtual manipulation object with respect to the virtual target in the virtual space using the coordinates of the reference position of the virtual manipulation object in the virtual space sent from the virtual position acquisition unit 1107. In this embodiment, the coordinates of the reference position of the virtual target in the virtual space are predetermined. For example, the coordinates of the reference position of the virtual target in the virtual space may be set in advance or may be determined based on other processing. An example of the reference position of the virtual target is a specific position on the surface of the virtual target. Information on the relative position of the virtual manipulation object with respect to the virtual target is sent to the contact determination unit 1110 (step S1109).

[0039] The contact determination unit 1110 determines whether the virtual object is in contact with the virtual object in the virtual space, using information on the relative position of the virtual object with respect to the virtual target in the virtual space sent from the relative position calculation unit 1109. The contact determination unit 1110 sends contact information indicating whether the virtual object is in contact with the virtual target and information on the relative position of the virtual object with respect to the virtual target in the virtual space to the virtual object transformation control unit 1111 (step S1110).

[0040] The virtual object deformation control unit 1111 references the deformation ratio DS stored in the storage unit 1103 and obtains an index representing the width of distribution in the virtual space range of the deformation amounts of the virtual object, which index corresponds to the index representing the degree of texture represented by the texture information T sent from the texture setting unit 1104. For example, when the deformation ratio DS is a table, the virtual object deformation control unit 1111 obtains an index representing the width of distribution in the virtual space range of the deformation amounts of the virtual object, which is associated with an index representing the degree of texture that is closest to the degree of texture (e.g., rigidity or elasticity) represented by the texture information T, from among the indexes representing the width of distribution in the virtual space range of the deformation amounts of the virtual object included in the deformation ratio DS. For example, when the deformation ratio DS is a function, the virtual object deformation control unit 1111 inputs an index representing the degree of texture represented by the texture information T into the function and obtains an index representing the width of distribution in the virtual space range of the deformation amounts of the virtual object corresponding to the input. The virtual object deformation control unit 1111 controls the amount of deformation of the virtual object sent from the virtual object generation unit 1113 using the acquired index representing the distribution width of the deformation amount of the virtual object within the virtual space range, the contact information sent from the contact determination unit 1110, and the relative position information. That is, the virtual object deformation control unit 1111 (deformation control unit) controls the amount of deformation of the virtual object, which deforms concavely and / or convexly depending on the relative position of the virtual operation object with respect to the virtual object in virtual space. In this case, the distribution width of the deformation amount within the virtual space range is controlled based on the degree of texture that is to be perceived by the virtual object. An example of a method for controlling the deformation amount of the virtual object is given below.

[0041] (Example of a method for controlling the amount of deformation of a virtual object) When the virtual operation object is not in contact with the virtual object: The virtual object deformation control unit 1111 does not deform the virtual object.

[0042] When the virtual controller is in contact with the virtual object and is moving toward the virtual object, the virtual object deformation control unit 1111 deforms the virtual object into a concave shape in the direction of movement of the virtual controller (push deformation). For example, the virtual object deformation control unit 1111 depresses the virtual object into a concave shape in the direction of movement of the virtual controller toward the virtual object. In this case, the amount of concave deformation of the virtual object may change depending on the amount of push after the virtual controller contacts the virtual object. For example, the greater the amount of movement of the virtual controller toward the virtual object after contacting the virtual object, the greater the amount of concave deformation of the virtual object. In other words, the smaller the amount of movement of the virtual controller toward the virtual object, the smaller the amount of concave deformation of the virtual object. For example, when the virtual controller contacts the virtual object and further moves toward the virtual object, the virtual controller may push a portion of the virtual object into a concave shape. In this case, it is desirable that the tip of the virtual controller (the tip on the virtual object side) be positioned approximately in the center of the inner wall surface of the concave depression of the virtual object. For example, the virtual object may be pushed into the concave recess of the virtual object while the tip of the virtual object is in contact with approximately the center of or near the inner wall surface of the concave recess of the virtual object, and the amount of concave deformation of the virtual object may be determined according to the amount of movement of the virtual object toward the virtual object. Furthermore, the virtual object deformation control unit 1111 controls the amount of deformation of the virtual object so that the distribution width of the deformation amount of the concavely deformed virtual object in the virtual space range matches the distribution width represented by the received index. As described above, the distribution width of the deformation amount in the virtual space range when the virtual object is intended to perceive a first stiffness is wider than the distribution width of the deformation amount in the virtual space range when the virtual object is intended to perceive a second stiffness. The first stiffness is higher than the second stiffness. In other words, the wider the distribution width of the deformation amount of the virtual object in the virtual space range, the higher the stiffness perceived by the virtual object. For example, the virtual object deformation control unit 1111 sets the amount of concave deformation d1 of the virtual object in the virtual space range according to the following equation (1):This also determines the deformation speed of the virtual object. d1 = c1 × m1 (1) Here, c1 represents the distribution (e.g., a two-dimensional Gaussian distribution) of the deformation amount of the concavely deformed virtual object within the virtual space range. The center of distribution c1 (e.g., the mean of the two-dimensional Gaussian distribution) corresponds, for example, to the position of the tip of the virtual object (the position where the virtual object is pushed by the virtual object). Distribution c1 within the virtual space range (e.g., a two-dimensional virtual space range) is, for example, a value between 0 and 1. m1 represents the amount of movement of the tip of the virtual object toward the virtual object from the position where it first contacts the virtual object to the position where it is pushed toward the virtual object. m1 is a scalar value. For example, m1 = 0 at the position where the tip of the virtual object first contacts the virtual object, and m1 is a positive value at the position where the tip of the virtual object is further pushed toward the virtual object. This allows distribution c1 to be mapped to the virtual object. d1 represents the amount of deformation at each position within the virtual space range. For example, if the virtual space range is one-dimensional, d1 can be expressed as a vector whose elements are the amount of deformation at each one-dimensional position, and if the virtual space range is two-dimensional, d1 can be expressed as a matrix whose elements are the amount of deformation at each two-dimensional position. For example, it is desirable that the peak value of the amount of deformation d1 is approximately the same as the amount of movement m1. This makes it possible to realize a natural deformation of the virtual object in accordance with the amount of movement m1 (amount of depression) by the virtual control object.

[0043] When the virtual object is in contact with the virtual object and is moving away from the virtual object, the virtual object deformation control unit 1111 deforms the virtual object into a convex shape in the direction of movement of the virtual object (a convex deformation). For example, the virtual object may be deformed into a convex shape in the direction of movement of the virtual object away from the virtual object. In this case, the amount of convex deformation of the virtual object may change depending on the amount of distance the virtual object moves away from the virtual object after contacting the virtual object. For example, the greater the distance the virtual object moves away from the virtual object after contacting the virtual object, the greater the amount of convex deformation of the virtual object. In other words, the smaller the distance the virtual object moves away from the virtual object, the smaller the amount of convex deformation of the virtual object. For example, when the virtual object comes into contact with the virtual object and then moves away from the virtual object, the virtual object may protrude in a convex shape, lifting up a portion of the virtual object. In this case, it is desirable for the tip of the virtual object (the tip on the virtual object side) to be positioned approximately in the center of the outer wall surface of the convex protrusion of the virtual object. For example, when the tip of the virtual object is in contact with approximately the center of or near the center of the outer wall surface of the convex protrusion of the virtual object, the virtual object may raise a portion of the virtual object in a convex shape, and the amount of convex deformation of the virtual object may be determined depending on the distance the virtual object moves away from the virtual object. Furthermore, the virtual object deformation control unit 1111 controls the amount of deformation of the virtual object so that the distribution width of the deformation amount of the convexly deformed virtual object in the virtual space range matches the distribution width represented by the received indicator. As described above, the distribution width of the deformation amount in the virtual space range when the virtual object is intended to perceive a first stiffness is wider than the distribution width of the deformation amount in the virtual space range when the virtual object is intended to perceive a second stiffness. The first stiffness is higher than the second stiffness. In other words, the wider the distribution width of the deformation amount of the virtual object in the virtual space range, the higher the stiffness perceived by the virtual object.For example, the virtual object deformation control unit 1111 sets the convex deformation amount d2 of the virtual object within the virtual space range according to the following equation (2). This also determines the deformation speed of the virtual object: d2 = c2 × m2 (2) Here, c2 represents the distribution (e.g., a two-dimensional Gaussian distribution) of the deformation amount of the convexly deformed virtual object within the virtual space range. The center of distribution c2 (e.g., the mean of the two-dimensional Gaussian distribution) corresponds, for example, to the position of the tip of the virtual controller (the position where the virtual controller pulls the virtual object up). Distribution c2 within the virtual space range (e.g., a two-dimensional virtual space range) is, for example, a value between 0 and 1. m2 represents the distance the virtual controller moves away from the virtual object. m2 is a scalar value. For example, at the position where m1 = 0 mentioned above, m2 = 0, and at a position where the virtual controller moves further away from the virtual object, m2 becomes a positive value. This allows distribution c2 to be mapped to the virtual object. Note that d2 represents the amount of deformation at each position within the virtual space range. For example, if the virtual space range is one-dimensional, d2 can be expressed as a vector whose elements are the amount of deformation at each one-dimensional position. If the virtual space range is two-dimensional, d2 can be expressed as a matrix whose elements are the amount of deformation at each two-dimensional position. For example, it is desirable that the peak value of the amount of deformation d2 be approximately the same as the amount of movement m1. This makes it possible to achieve a natural deformation of the virtual object in accordance with the amount m2 of the virtual object moving away from the virtual object.

[0044] The method for calculating the deformation amounts d1 and d2 of a virtual object within a virtual space range is disclosed in, for example, Non-Patent Document 2. A feature of this embodiment is that different stiffnesses and elasticities are perceived depending on the width of the distribution of the deformation amounts of the virtual object within the virtual space range. That is, the wider the distribution of the deformation amounts of the virtual object within the virtual space range, the higher the stiffness perceived by the virtual object. In other words, the width of the distribution of the deformation amounts within the virtual space range when a first stiffness is perceived by the virtual object is wider than the width of the distribution of the deformation amounts within the virtual space range when a second stiffness is perceived by the virtual object. The first stiffness is higher than the second stiffness.

[0045] When the virtual object is not to be deformed, the virtual object deformation control unit 1111 sends the virtual object sent from the virtual object generation unit 1113 to the synthesis unit 1114. On the other hand, when the virtual object is to be deformed, the virtual object deformation control unit 1111 sends the changed virtual object to the synthesis unit 1114 (step S1111).

[0046] The synthesis unit 1114 receives the virtual manipulation object, for which the coordinates of the reference position have been set, sent from the virtual manipulation object position control unit 1108, and the virtual object, for which the coordinates of the reference position have been set, sent from the virtual object transformation control unit 1111. The synthesis unit 1114 synthesizes the virtual manipulation object, for which the coordinates of the reference position have been set, and the virtual object, to generate virtual space information (for example, video) V. OUT (t) is output. OUT (t) is time-series information. As described in step S1109, the coordinates of the reference position of the virtual object in the virtual space are determined. Therefore, the virtual space information V OUT The relative position of the virtual object relative to the virtual target in the virtual space represented by (t) varies depending on the coordinates of the reference position of the virtual object. OUT (t) is sent to the virtual space information output device 13 (FIG. 1) (step S1114).

[0047] The virtual space information output device 13 (FIG. 1) outputs virtual space information V OUT Based on (t), the virtual space information output device 13 allows the user 1000 to perceive the virtual object and the virtual target. For example, the virtual space information output device 13 presents images of the virtual object and the virtual target to the user 1000. This allows the user 1000 to perceive the texture (for example, rigidity, elasticity, stickiness, or viscosity) represented by the texture information T (step S13).

[0048] <Examples of Presented Virtual Control Object and Virtual Object> The following provides examples of the virtual control object and virtual object presented to the user 1000 as described above. As illustrated in FIG. 3A, the virtual object 1012 does not deform in virtual space until the virtual control object 1011 contacts the virtual object 1012. As illustrated in FIGS. 3C to 3F and 4A to 4F, the virtual control object 1011 moves in the direction D1 toward the virtual object 1012, and after contacting the virtual object 1012, the virtual space region 1012a of the virtual object 1012 deforms concavely in the direction D1. The amount of deformation is determined by Equation (1). As illustrated in FIGS. 3E, 3F, and 4A to 4F, the greater the movement amount m1 of the virtual control object 1011, the greater the amount of deformation in the direction D1 of the virtual space region 1012a of the virtual object 1012.

[0049] Furthermore, in the example of Figures 5A to 5F, the distribution c1 of the deformation amount of the virtual object 102 in the virtual space range 1012a is wider than in the examples of Figures 3A to 3F and 4A to 4F. In this case, too, the larger the movement amount m1 of the virtual interface 1011, the larger the deformation amount of the virtual object 1012 in the D1 direction of the virtual space region 1012a. Furthermore, in the example of Figures 5A to 5F, even if the movement amount m1 of the virtual interface 1011 is the same as in the examples of Figures 3A to 3F and 4A to 4F, the distribution c1 of the deformation amount of the virtual object 102 in the virtual space range 1012a is wider. As a result, the virtual object 102 in the example of Figures 5A to 5F can be perceived as having higher rigidity than the virtual object 102 in the examples of Figures 3A to 3F and 4A to 4F.

[0050] Furthermore, in the example of Figures 6A to 6F, the distribution c1 of the deformation amount of the virtual object 102 in the virtual space range 1012a is narrower than in the examples of Figures 3A to 3F and 4A to 4F. In this case, too, the greater the movement amount m1 of the virtual interface 1011, the greater the deformation amount of the virtual object 1012 in the D1 direction of the virtual space region 1012a. Furthermore, in the example of Figures 5A to 5F, even though the movement amount m1 of the virtual interface 1011 is the same as in the examples of Figures 3A to 3F and 4A to 4F, the distribution c1 of the deformation amount of the virtual object 102 in the virtual space range 1012a is narrower. As a result, the virtual object 102 in the example of Figures 5A to 5F can be perceived as having lower rigidity than the virtual object 102 in the examples of Figures 3A to 3F and 4A to 4F.

[0051] As illustrated in Figures 7B to 7F and 8A to 8F, when the virtual object 1011 comes into contact with the virtual target 1012 and then moves in direction D2, which is a direction away from the virtual target 1012, the virtual space region 1012a of the virtual target 1012 deforms convexly in the direction D2. The amount of deformation is determined by equation (2). As illustrated in Figures 7E, 7F, and 8A to 8F, the greater the amount of movement m2 of the virtual object 1011, the greater the amount of deformation in the direction D2 of the virtual space region 1012a of the virtual target 1012. This allows the user to perceive a sticky or viscous sensation.

[0052] Furthermore, in the example of Figures 9A to 9F, the distribution c2 of the deformation amount of the virtual object 102 in the virtual space range 1012a is narrower than in the examples of Figures 7A to 7F and 8A to 8F. In this case, too, the larger the movement amount m2 of the virtual interface 1011, the larger the deformation amount of the virtual object 1012 in the D2 direction of the virtual space region 1012a. Furthermore, in the example of Figures 9A to 9F, even if the movement amount m2 of the virtual interface 1011 is the same as in the examples of Figures 7A to 7F and 8A to 8F, the distribution c2 of the deformation amount of the virtual object 102 in the virtual space range 1012a is narrower. As a result, the virtual object 102 in the example of Figures 9A to 9F can be perceived as having lower rigidity (higher elasticity) than the virtual object 102 in the examples of Figures 7A to 7F and 8A to 8F.

[0053] <Features of the First Embodiment> In the first embodiment, the position of the virtual object in the virtual space is controlled according to the position of a body part in the real space, and the amount of deformation of the virtual object, which deforms concavely and / or convexly, is controlled according to the relative position of the virtual object relative to the virtual object in the virtual space. In this case, a desired texture can be presented by controlling the distribution of the deformation amount within the virtual space based on the degree of texture to be perceived by the virtual object. For example, the amount of deformation of the virtual object, which deforms concavely in the direction of movement of the virtual object when the virtual object moves toward the virtual object in the virtual space, is controlled, or the amount of deformation of the virtual object, which deforms convexly in the direction of movement of the virtual object when the virtual object moves away from the virtual object in the virtual space, is controlled. In this case, the distribution of the deformation amount within the virtual space when a first stiffness is to be perceived by the virtual object is wider than the distribution of the deformation amount within the virtual space when a second stiffness is to be perceived by the virtual object. This allows the user to perceive differences in stiffness. As a result, the textures of rigid objects such as buttons and non-rigid objects such as rubber can be presented. Furthermore, when the virtual object rises and deforms, it can be perceived as sticky or viscous.

[0054] [First Modification of the First Embodiment] In the first embodiment, an example was shown in which the virtual object is deformed into a concave shape (push deformation) or a convex shape (rise deformation) depending on the relative position of the virtual operation object with respect to the virtual object in the virtual space. However, only either the push deformation or the rise deformation may be performed.

[0055] [Variation 2 of First Embodiment] In the first embodiment, the deformation ratio DS represents the relationship between, for example, an index representing the degree of texture to be perceived and an index representing the width of distribution in the virtual space of the deformation amounts of the virtual object for perceiving that texture. However, the deformation ratio DS may represent only an index representing the width of distribution in the virtual space of the deformation amounts of the virtual object. In this case, the texture setting unit 1104 may be omitted, and the virtual object deformation control unit 1111 may obtain the index representing the width of distribution in the virtual space of the deformation amounts of the virtual object from the deformation ratio DS stored in the storage unit 1103, and perform other processing in step S1111.

[0056] [Third Modification of the First Embodiment] In the first embodiment, the distribution of the deformation amount of the virtual object in the virtual space range was illustrated as a center-isotropic distribution, such as a Gaussian distribution. When the distribution of the deformation amount of the virtual object in the virtual space range is isotropic, the deformation amount of the virtual object depends on the distance from the center of the virtual space range (e.g., the position where the virtual object is pushed or pulled up) but not on the direction. In other words, the virtual object deforms isotropically. However, the distribution of the deformation amount of the virtual object in the virtual space range does not have to be isotropic. In other words, the distribution of the deformation amount of the virtual object in the virtual space range may be anisotropic. In other words, even in real space, isotropic deformation does not always occur, and anisotropic deformation may occur depending on the material. For example, if a finger or the like is pressed into a rectangular piece of paper and bends it, the deformation occurs along the short or long side, not isotropically. To reproduce such non-isotropic deformation in virtual space, it is necessary to treat the distribution of the deformation amount of the virtual object in the virtual space range as a non-isotropic distribution and set an index representing the extent of such non-isotropic distribution as the deformation ratio DS. Such a non-isotropic distribution can be expressed by a pair of indices representing the breadth of the distribution and the direction. The deformation ratio DS is a dataset that represents the relationship between an index representing the degree of the texture to be perceived and an index representing the breadth of the distribution of the deformation amounts of the virtual object in the virtual space range for perceiving that texture. In the case of a non-isotropic distribution, the index representing the breadth of the distribution of the deformation amounts of the virtual object in the virtual space range is, for example, a pair of indices representing the breadth of the distribution and an index representing the direction. For example, when the virtual space is a three-dimensional space, such a non-isotropic distribution can be expressed by a pair of two indices representing components of the breadth of the distribution on each of two axes (e.g., the x-axis and the y-axis) and an angle representing the direction (e.g., the rotation angle from the x-axis). Therefore, when the virtual space is a three-dimensional space, each of the indices representing the breadth of the distribution of the deformation amounts of the virtual object in the virtual space range of the deformation ratio DS is a pair of two indices representing components of the breadth of the distribution on each of the two axes and an angle representing the direction.

[0057] [Variation 4 of First Embodiment] In the first embodiment, the distribution width in the virtual space range of the deformation amount of the virtual object when the virtual object is deformed concavely (pressure deformation) is the same as the distribution width in the virtual space range of the deformation amount of the virtual object when the virtual object is deformed convexly (upward deformation). However, the distribution width in the virtual space range of the deformation amount of the virtual object when the virtual object is deformed convexly does not have to be the same as the distribution width in the virtual space range of the deformation amount of the virtual object when the virtual object is deformed upward. For example, the distribution width in the virtual space range of the deformation amount of the virtual object when the virtual object is deformed convexly and the distribution width in the virtual space range of the deformation amount of the virtual object when the virtual object is deformed upward may be controlled independently. For example, a deformation ratio DS for pressurization deformation and a deformation ratio DS for upward deformation may be prepared independently and stored in the storage unit 1103. In this example, the virtual object deformation control unit 1111 may use different deformation ratios DS depending on whether the deformation is pressurization or upward deformation to control the deformation amount of the virtual object. For example, the width of the distribution in the virtual space range of the deformation amount of a virtual object when it undergoes a push-in deformation is not the same as the width of the distribution in the virtual space range of the deformation amount of a virtual object when it undergoes a bulge deformation, but a specific relationship may be defined between them.

[0058] Second Embodiment The second embodiment is a modification of the first embodiment. Hereinafter, the same reference numbers will be used to simplify the description of matters already described. If the above-described convex deformation becomes too large, it may give the impression that the surface of the virtual object is convex regardless of the movement of the virtual object, rather than a sticky or viscous feeling. Therefore, it is desirable to terminate the convex deformation based on some criteria. For example, the convex deformation of the virtual object may be terminated (the virtual object may be returned to its undeformed state) when the duration of the convex deformation exceeds a reference time. Alternatively, the convex deformation of the virtual object may be terminated when the amount of deformation or the amount of receding movement of the convex deformation exceeds a reference distance. That is, in this embodiment, the position of the virtual object in virtual space is controlled according to the position of the body part in real space, and the amount of deformation of the virtual object that deforms convexly toward the direction of movement of the virtual object is controlled when the virtual object moves away from the virtual object in virtual space. However, the convex deformation of the virtual object is terminated when a termination condition is met. Here, the termination condition may be satisfied when the duration of the virtual object in a convexly deformed state exceeds a reference time, when the relative distance of the reference position of the virtual manipulation object from the reference position of the virtual object in a convexly deformed state exceeds a reference distance, or when both of these conditions are satisfied. This allows the user to perceive the stickiness or viscosity more clearly.

[0059] Furthermore, the stickiness or viscosity of an object that a user approaches can be controlled by the reference time or reference distance. For example, the longer the reference time or reference distance, the greater the stickiness or viscosity that can be presented. For example, the reference time when a first viscosity is perceived by a virtual object may be a first time, and the reference time when a second viscosity is perceived by a virtual object may be a second time that is shorter than the first time. For example, the reference distance when a first viscosity is perceived by a virtual object may be a first distance, and the reference distance when a second viscosity is perceived by a virtual object may be a second distance that is shorter than the first distance. However, the first viscosity is higher than the second viscosity. This will be described in detail below.

[0060] <Configuration> As shown in FIG. 1, the texture presentation system 2 of this embodiment includes a texture presentation device 21 , a real space information acquisition device 12 , and a virtual space information output device 13 .

[0061] 2 , the texture presentation device 21 of this embodiment includes a control unit 1101, a memory 1102, storage units 1103, 1112, and 2103, a texture setting unit 2104, a virtual operation object generation unit 1105, a real-space position acquisition unit 1106, a virtual position acquisition unit 1107, a virtual operation object position control unit 1108 (position control unit), a relative position calculation unit 1109, a contact determination unit 1110, a virtual object transformation control unit 2111 (transformation control unit), a virtual object generation unit 1113, and a synthesis unit 1114. The texture presentation device 11 executes each process under the control of the control unit 1101. Information input to the texture presentation device 11 and information obtained by each unit of the texture presentation device 11 is stored in the memory 1102 one by one, and is read out as needed and used in each process.

[0062] <Pre-processing> The storage unit 2103 stores a termination condition dataset (DS) that indicates a criterion for terminating the above-described protruding deformation. The termination condition DS indicates the reference time and / or reference distance described above. For example, the termination condition DS is a dataset including indices representing multiple levels of stickiness or viscosity to be perceived, and a reference time and / or reference distance for presenting the stickiness or viscosity. For example, the termination condition DS may be a dataset including indices representing the levels of stickiness or viscosity, and a reference time for presenting the stickiness or viscosity. For example, the termination condition DS may be a dataset including indices representing the levels of stickiness or viscosity, and a reference distance for presenting the stickiness or viscosity. For example, the termination condition DS may be a dataset including indices representing the levels of stickiness or viscosity, and a reference time and reference distance for presenting the stickiness or viscosity. For example, the termination condition DS may be a dataset including indices representing the levels of stickiness or viscosity, and a reference time and reference distance for presenting the stickiness or viscosity. An example of an index representing the level of stickiness or viscosity is viscosity. The termination condition DS may be a table or a function as long as it represents such a relationship. The reference time when the virtual object is to perceive a first viscosity may be a first time, and the reference time when the virtual object is to perceive a second viscosity may be a second time shorter than the first time. Alternatively, the reference distance when the virtual object is to perceive a first viscosity may be a first distance, and the reference distance when the virtual object is to perceive a second viscosity may be a second distance shorter than the first distance. The first viscosity is higher than the second viscosity. The rest is the same as the pre-processing of the first embodiment.

[0063] <Setting Process> Texture information T, which indicates the degree of texture to be presented to the user 1000, is input to the texture setting unit 2104 of the texture presentation device 11 ( FIG. 2 ). The difference from the texture information T of the first embodiment is that the texture information T also indicates an index (for example, viscosity) indicating the degree of stickiness or stickiness. The texture setting unit 2104 obtains an index indicating the degree of texture represented by the input texture information T and sends it to the virtual object deformation control unit 2111. The rest of the process is the same as the setting process of the first embodiment, except that the texture setting unit 1104 is replaced with the texture setting unit 2104 and the virtual object deformation control unit 1111 is replaced with the virtual object deformation control unit 2111 (step S2104).

[0064] <Texture Presentation Processing> Next, the texture presentation processing of this embodiment will be described. Instead of the texture presentation device 11, the texture presentation device 21 (FIG. 2) executes the processing of steps S1113 and S1105.

[0065] The following processing is performed continuously or intermittently. The real-space information acquisition device 12 executes the processing of step S12. Furthermore, the texture presentation device 21 ( FIG. 2 ), instead of the texture presentation device 11, executes the processing of steps S1106, S1107, S1108, S1109, and S1110. Furthermore, instead of the virtual object deformation control unit 1111, the virtual object deformation control unit 2111 references the deformation ratio DS stored in the memory unit 1103 and acquires an index representing the width of distribution of the deformation amount of the virtual object in the virtual space range, which corresponds to an index representing the degree of texture (e.g., rigidity or elasticity) represented by the texture information T sent from the texture setting unit 1104. Furthermore, the virtual object deformation control unit 2111 references the termination condition DS stored in the memory unit 2103 and acquires a reference time and / or a reference distance corresponding to an index representing the degree of stickiness or viscosity represented by the texture information T. For example, if the termination condition DS is a table, the virtual object deformation control unit 2111 acquires, from among the reference times and / or reference distances included in the termination condition DS, a reference time and / or reference distance associated with an index representing a stickiness or viscosity that is closest to the stickiness or viscosity represented by the texture information T. For example, if the termination condition DS is a function, the virtual object deformation control unit 2111 inputs an index representing the degree of stickiness or viscosity represented by the texture information T into the function to acquire a reference time and / or reference distance corresponding to the input. The virtual object deformation control unit 2111 controls the amount of deformation of the virtual object sent from the virtual object generation unit 1113 using the index representing the distribution width of the acquired virtual object's deformation amount in the virtual space range, the reference time and / or reference distance, the contact information sent from the contact determination unit 1110, and the relative position information. That is, the virtual object deformation control unit 2111 (deformation control unit) controls the amount of deformation of the virtual object, which is deformed concavely and / or convexly, depending on the relative position of the virtual control object with respect to the virtual object in virtual space. In this case, the virtual object deformation control unit 2111 controls the distribution width of the deformation amount in the virtual space range based on the degree of texture to be perceived by the virtual object. Furthermore, the virtual object deformation control unit 2111 cancels the convex deformation of the virtual object when a termination condition is satisfied.For example, the virtual object deformation control unit 2111 may cancel the convexly deformed state of the virtual object when the duration exceeds a reference time, or may cancel the convexly deformed state of the virtual object when the relative distance exceeds a reference distance, or may cancel the convexly deformed state of the virtual object when the duration exceeds a reference time and the relative distance exceeds a reference distance. An example of a method for controlling the deformation amount of a virtual object is described below.

[0066] (Example of a method for controlling the amount of deformation of a virtual object) When the virtual operation object is not in contact with the virtual object: The virtual object deformation control unit 2111 does not deform the virtual object.

[0067] When the virtual object is in contact with the virtual target and is moving toward the virtual target, the virtual object deformation control unit 2111 deforms the virtual target into a concave shape in the direction of the movement of the virtual object (push deformation). This process is the same as in the first embodiment, except that the virtual object deformation control unit 1111 is replaced with the virtual object deformation control unit 2111.

[0068] When the virtual object is in contact with the virtual object and is moving away from the virtual object: The virtual object deformation control unit 2111 deforms the virtual object into a convex shape in the direction of movement of the virtual object (a convex deformation). However, when the aforementioned termination condition is met, the virtual object deformation control unit 2111 cancels the convex deformation of the virtual object (returns the virtual object to its pre-deformation state). For example, when the termination condition is not met, the virtual object deformation control unit 2111 sets the convex deformation amount d2 of the virtual object within the virtual space range as shown in the aforementioned equation (2), and when the termination condition is met, sets the convex deformation amount d2 of the virtual object within the virtual space range to zero. The rest is the same as in the first embodiment, except that the virtual object deformation control unit 1111 is replaced with the virtual object deformation control unit 2111 (step S2111).

[0069] Furthermore, the texture presentation device 21 (FIG. 2) executes the process of step S1114 instead of the texture presentation device 11. Furthermore, the virtual space information output device 13 executes the process of step S13. This allows the user 1000 to perceive the texture (for example, rigidity, elasticity, stickiness, or viscosity) of the degree represented by the texture information T.

[0070] <Examples of Presented Virtual Manipulation Object and Virtual Object> The following provides examples of the virtual manipulation object and virtual object presented to the user 1000 as described above. As illustrated in FIGS. 10A to 10D , after the virtual manipulation object 1011 comes into contact with the virtual object 1012, if the virtual manipulation object 1011 moves in direction D2, which is a direction away from the virtual object 1012, the virtual space region 1012a of the virtual object 1012 is deformed convexly in direction D2. The amount of deformation is determined by equation (2). On the other hand, as illustrated in FIGS. 10E and 10F , when the duration of the convexly deformed state of the virtual object 1012 exceeds a reference time and / or when the amount of receding motion d2 (the relative distance between the reference position of the virtual manipulation object and the reference position of the virtual object when the virtual object 1012 is deformed convexly) exceeds a reference distance L, the amount of convex deformation of the virtual object 1012 in the virtual space region 1012a becomes zero. That is, when the termination condition is satisfied, the virtual space range 012a of the virtual object 1012 returns to the state before the deformation.

[0071] The examples in Figures 11A to 11F are examples in which the reference time and reference distance L are shorter than those in Figures 10A to 10F. As illustrated in Figure 11A, after the virtual interface 1011 comes into contact with the virtual object 1012, if the virtual interface 1011 moves in direction D2, which is a direction away from the virtual object 1012, the virtual space region 1012a of the virtual object 1012 is deformed convexly in the direction D2. The amount of deformation is determined by equation (2). On the other hand, as illustrated in Figures 11C and 11F, when the duration of the virtual object 1012 in a convexly deformed state exceeds the reference time and / or when the amount of receding movement d2 (the relative distance d2 of the reference position of the virtual interface 1011 with respect to the reference position of the virtual object when the virtual object 1012 is deformed convexly) exceeds the reference distance L, the amount of convex deformation in the virtual space region 1012a of the virtual object 1012 becomes zero. In other words, when the termination condition is satisfied, the virtual space range 012a of the virtual object 1012 returns to its pre-deformation state. Thus, in the examples of Figures 11A to 11F, the reference time and reference distance L are shorter than those in the examples of Figures 10A to 10F. Therefore, in the examples of Figures 11A to 11F, the stickiness and viscosity are perceived to be lower than in the examples of Figures 10A to 10F.

[0072] <Features of the Second Embodiment> In the second embodiment, the position of the virtual object in the virtual space is controlled according to the position of the body part in the real space, and when the virtual object moves away from the virtual object in the virtual space, the amount of deformation of the virtual object that deforms convexly in the direction of movement of the virtual object is controlled. In this case, the convex deformation of the virtual object is released when the duration of the virtual object's convex deformation exceeds a reference time and / or when the relative distance between the reference position of the virtual object and the reference position of the virtual object in the convex deformation state exceeds a reference distance. This allows the user to clearly perceive a sticky or viscous sensation.

[0073] Preferably, the reference time when the virtual object is to perceive a first viscosity is a first time, and the reference time when the virtual object is to perceive a second viscosity is a second time that is shorter than the first time, and / or the reference distance when the virtual object is to perceive a first viscosity is a first distance, and the reference distance when the virtual object is to perceive a second viscosity is a second distance that is shorter than the first distance, and the first viscosity is higher than the second viscosity. In this way, by controlling the reference time and the reference distance, the stickiness and viscosity perceived by the user 1000 can be controlled.

[0074] [Variation 1 of Second Embodiment] In the second embodiment, an example was shown in which the virtual object is deformed into a concave shape (push deformation) or a convex shape (rise deformation) depending on the relative position of the virtual operation object with respect to the virtual object in virtual space. However, only the rise deformation may be performed.

[0075] [Variation 2 of Second Embodiment] As in Variation 1 of the first embodiment, the deformation ratio DS may represent only an index representing the width of distribution of the deformation amount of a single virtual object in the virtual space range. In this case, the texture setting unit 1104 may be omitted, and the virtual object deformation control unit 2111 may acquire an index representing the width of distribution of the deformation amount of the virtual object in the virtual space range from the deformation ratio DS stored in the storage unit 1103, and execute other processes in step S2111. Furthermore, the width of distribution of the deformation amount in the virtual space range may be set arbitrarily.

[0076] [Variation 3 of Second Embodiment] The termination condition DS in the second embodiment represents, for example, the relationship between indices representing the levels of multiple stickinesses or viscosities to be perceived and the reference time and / or reference distance for presenting those stickinesses or viscosities. However, the termination condition DS may represent only the reference time and / or reference distance for presenting the stickiness or viscosity. In this case, the texture setting unit 2104 may not perform the process of obtaining an index representing the level of texture represented by the input texture information T, and the virtual object deformation control unit 2111 may acquire the reference time and / or reference distance stored in the termination condition DS stored in the memory unit 2103 and perform other processes in step S2111.

[0077] [Fourth Modification of the Second Embodiment] In the second embodiment as well, the distribution of the deformation amount of the virtual object within the virtual space range may or may not be isotropic.

[0078] [Third Embodiment] In the first and second embodiments and their modified examples, the stickiness and viscosity were presented by deforming the virtual object into a convex shape (rising deformation). However, stickiness and viscosity can also be presented by manipulating the movement of the virtual object as it moves away from the surface of the virtual object, even without adding a rising deformation to the virtual object. That is, when the virtual object is positioned within a predetermined range from the reference position of the virtual object in virtual space, even if the movement direction of the virtual object corresponding to the movement direction of a body part is a direction away from the virtual object, the position of the virtual object is approximately maintained until the duration of the movement direction of the virtual object away from the virtual object exceeds a reference time (deviation duration). (The movement speed of the virtual object may be zero or nearly zero.) This allows the stickiness and viscosity to be presented. Furthermore, the longer the reference time, the greater the perceived stickiness and viscosity. Therefore, the perceived stickiness and viscosity may be controlled by the length of the reference time. That is, the reference time when the virtual object is to be perceived as a first viscosity may be a first time, and the reference time when the virtual object is to be perceived as a second viscosity may be a second time shorter than the first time. However, the first viscosity is higher than the second viscosity. The reference position of the virtual object is determined. The reference position of the virtual object may be set in advance or may be determined based on other processing. An example of the reference position of the virtual object is a specific position on the surface of the virtual object. A predetermined range from the reference position of the virtual object is also determined. This predetermined range may be set in advance or may be determined based on other processing. When the virtual object is located within a predetermined range from the reference position of the virtual object in the virtual space, for example, the virtual object is in contact with the reference position of the virtual object or is located near the reference position of the virtual object. This will be described in detail below.

[0079] <Configuration> As shown in FIG. 1, the texture presentation system 3 of this embodiment includes a texture presentation device 31 , a real space information acquisition device 12 , and a virtual space information output device 13 .

[0080] 12 , the texture presentation device 31 of this embodiment includes a control unit 1101, a memory 1102, storage units 3103 and 1112, a texture setting unit 3104, a virtual operation object generation unit 1105, a real space position acquisition unit 1106, a virtual position acquisition unit 1107, a virtual operation object position control unit 3108 (position control unit), a relative position calculation unit 1109, a contact determination unit 1110, a virtual object generation unit 1113, and a synthesis unit 1114. The texture presentation device 31 executes each process under the control of the control unit 1101. Information input to the texture presentation device 31 and information obtained by each unit of the texture presentation device 31 is stored in the memory 1102 one by one, and is read out as needed and used in each process.

[0081] <Pre-processing> In the pre-processing of this embodiment, a deviation condition dataset (DS) is stored in the storage unit 3103 instead of the deformation ratio DS of the first embodiment. The deviation condition DS is a dataset that represents the relationship between an index (e.g., viscosity) that represents the degree of stickiness or stickiness to be perceived and the reference time (deviation duration) described above for perceiving that stickiness or stickiness. The deviation condition DS may be a table or a function, as long as it represents such a relationship. The rest is the same as the pre-processing of the first embodiment.

[0082] <Setting Process> Texture information T representing the degree of stickiness or viscosity to be presented to the user 1000 is input to the texture setting unit 3104 of the texture presentation device 31 ( FIG. 2 ). For example, the texture information T may be information input by the user 1000, information input by another person, information input from another device, or information loaded from a storage unit. The texture setting unit 3104 obtains an index (e.g., viscosity) representing the degree of stickiness or viscosity represented by the input texture information T and sends it to the virtual operation object position control unit 3108 (step S3104).

[0083] <Texture Presentation Processing> Next, the texture presentation processing of this embodiment will be described. The texture presentation device 31 (FIG. 12) executes the processing of steps S1113 and S1105 instead of the texture presentation device 11. However, the virtual object obtained in step S1113 is sent to the synthesis unit 1114. The virtual operation object obtained in step S1105 is sent to the virtual operation object position control unit 3108.

[0084] The following processing is performed continuously or intermittently. The real-space information acquisition device 12 executes the processing of step S12. The texture presentation device 31 (FIG. 12) executes the processing of steps S1106, S1107, S1109, and S1110 in place of the texture presentation device 11. However, the coordinates of the reference position of the virtual interface object in the virtual space obtained by the virtual position acquisition unit 1107 in step S1107 are sent to the virtual interface object position control unit 3108 and the relative position calculation unit 1109. Furthermore, contact information indicating whether the virtual interface object is in contact with the virtual target obtained in step S1110 is sent to the virtual interface object position control unit 3108.

[0085] Furthermore, instead of the virtual interface position control unit 1108, the virtual interface position control unit 3108 controls the position of the virtual interface in the virtual space according to the position of the body part in the real space, as follows: The virtual interface position control unit 3108 receives the coordinates of the reference position of the virtual interface in the virtual space obtained by the virtual position acquisition unit 1107. The virtual interface position control unit 3108 then references the deviation conditions DS stored in the memory unit 3103 and acquires a reference time corresponding to an index representing the degree of stickiness or viscosity represented by the texture information T sent from the texture setting unit 3104. For example, if the deviation conditions DS are a table, the virtual interface position control unit 3108 acquires, from the reference times included in the deviation conditions DS, a reference time associated with an index representing the stickiness or viscosity that is closest to the stickiness or viscosity represented by the texture information T. For example, if the deviation condition DS is a function, the virtual interface position control unit 3108 inputs an index representing the degree of stickiness or viscosity represented by the texture information T into the function and obtains a reference time corresponding to the input. The virtual interface position control unit 3108 updates the coordinates of the reference position of the virtual interface in virtual space obtained by the virtual position acquisition unit 1107 based on the reference time. That is, when the virtual interface is positioned within a predetermined range from the reference position of the virtual object in virtual space (e.g., when the virtual interface is in contact with the virtual object), the virtual interface position control unit 3108 substantially maintains the coordinates (position) of the virtual interface until the reference time expires, even if the direction of movement of the virtual interface corresponding to the direction of movement of a body part is away from the virtual object. For example, substantially maintaining the coordinates (position) may mean restoring (updating) the coordinates to the previous coordinates even if the coordinates have changed, or may mean updating the coordinates so that the change in the coordinates is less than a predetermined value. The virtual operation object position control unit 3108 sets the coordinates of the reference position in the virtual space of the virtual operation object sent from the virtual operation object generation unit 1105 to the updated coordinates.That is, virtual interface position control unit 3108 substantially maintains the coordinates of the virtual interface's reference position in virtual space, regardless of the coordinates of the virtual interface's reference position in virtual space obtained by virtual position acquisition unit 1107. On the other hand, if the virtual interface is not located within a predetermined range from the reference position of the virtual object in virtual space, virtual interface position control unit 3108 sets the coordinates of the virtual interface's reference position in virtual space sent from virtual interface generation unit 1105 to the coordinates sent from virtual position acquisition unit 1107. Whether the virtual interface is located within a predetermined range from the reference position of the virtual object in virtual space is determined, for example, based on contact information sent from contact determination unit 1110. The virtual interface with the coordinates of its reference position set is sent to synthesis unit 1114 (step S3108).

[0086] Furthermore, the texture presentation device 31 (FIG. 12) executes the process of step S1114 instead of the texture presentation device 11. Furthermore, the virtual space information output device 13 executes the process of step S13. This allows the user 1000 to perceive the degree of stickiness or viscosity represented by the texture information T.

[0087] <Examples of Presented Virtual Interface and Virtual Object> The following provides examples of the virtual interface and virtual object presented to the user 1000 as described above. As shown in Figures 13B, 13D, and 13F, it is assumed that the body part (hand) 1001 of the user 1000 moves in the direction D3 in the real space. In this case, it is assumed that the virtual interface 1011 moves in the direction D2 in the virtual space, as shown in Figures 13A, 13C, and 13E. 13A and 13C , when the virtual interface 1011 comes into contact with the virtual object 1012 (when the virtual interface is positioned within a predetermined range from the reference position of the virtual object in the virtual space), even if the direction of movement D2 of the virtual interface 1011, corresponding to the direction of movement D3 of the body part 1001, is a direction away from the virtual object 1012, the position of the virtual interface 1011 is substantially maintained until the duration during which the direction of movement D2 of the virtual interface 1011 is moving away from the virtual object exceeds the reference time. On the other hand, as shown in FIG. 13E , when the duration during which the direction of movement D2 of the virtual interface 1011 is moving away from the virtual object exceeds the reference time, the virtual interface 1011 moves in the direction of movement D2. This allows the user 1000 to perceive a sticky or viscous sensation. Furthermore, the degree of this sticky or viscous sensation is controlled by the reference time. That is, the longer the reference time, the greater the stickiness or viscosity perceived by the user 1000.

[0088] In the third embodiment, the position of the virtual object in the virtual space is controlled according to the position of the body part in the real space. When the virtual object is positioned within a predetermined range from the reference position of the virtual object in the virtual space, even if the direction of movement of the virtual object corresponding to the direction of movement of the body part is away from the virtual object, the position of the virtual object is substantially maintained until the duration of the virtual object's movement away from the virtual object exceeds a reference time. This allows the user 1000 to perceive a sticky or viscous sensation.

[0089] The stickiness or viscosity can be controlled by a reference time, i.e., the reference time when the virtual object is to perceive a first viscosity is a first time, and the reference time when the virtual object is to perceive a second viscosity is a second time shorter than the first time, and the first viscosity is higher than the second viscosity.

[0090] [Variation 1 of the Third Embodiment] When a virtual interface object is positioned within a predetermined range from a reference position of a virtual object in a virtual space, even if the direction of movement of the virtual interface object corresponding to the direction of movement of a body part is a direction away from the virtual object, the movement of the position of the virtual interface object may be delayed relative to the movement of the position of the body part until the duration of the movement of the virtual interface object away from the virtual object exceeds a reference time (deviation duration). This also allows the appearance of stickiness or viscosity.

[0091] In this case, too, the longer the reference time, the greater the perceived stickiness or viscosity. Therefore, the perceived stickiness or viscosity may be controlled by the length of the reference time. That is, the reference time when a first viscosity is to be perceived by a virtual object is a first time, and the reference time when a second viscosity is to be perceived by a virtual object is a second time that is shorter than the first time, and the first viscosity is higher than the second viscosity. The magnitude of the delay is arbitrary, but needs to be set to a value smaller than the reference time. Furthermore, the longer the delay, the greater the perceived stickiness or viscosity. Therefore, the perceived stickiness or viscosity may be controlled by the magnitude of the delay.

[0092] [Variation 2 of the Third Embodiment] The third embodiment or variation 1 thereof may be combined with the first embodiment. That is, in the third embodiment, if the virtual interface object is not in contact with the virtual object, the virtual object may not be deformed, but if the virtual interface object is in contact with the virtual object and is moving toward the virtual object, the virtual interface object may be pushed and deformed.

[0093] [Third Modification of the Third Embodiment] In the third embodiment, the virtual interface position control unit 3108 determines whether the virtual interface is located within a predetermined range from the reference position of the virtual object in the virtual space based on the contact information sent from the contact determination unit 1110. However, the virtual interface position control unit 3108 may also determine whether the virtual interface is located within a predetermined range from the reference position of the virtual object in the virtual space based on the relative position of the virtual interface with respect to the virtual object in the virtual space obtained by the relative position calculation unit 1109.

[0094] [Fourth Embodiment] The ratio or relative speed of the virtual object's movement speed in virtual space to the movement speed of a body part in real space can be controlled according to the relative position of the virtual object relative to the virtual object, thereby giving the user an impression of the viscosity of a liquid. That is, when the virtual object is positioned within a predetermined range from the reference position of the virtual object in virtual space (e.g., when the virtual object is in contact with the virtual object in virtual space), the ratio of the virtual object's movement speed to the body part's movement speed is set to a first value; otherwise, the ratio is set to a second value. Alternatively, when the virtual object is positioned within a predetermined range from the reference position of the virtual object in virtual space, the relative speed of the virtual object's movement speed to the body part's movement speed is set to a first value; otherwise, the relative speed is set to a second value. Here, the second value is greater than the first value. For example, the second value is set to 1.0, and the first value is set to a positive value less than 1.0. As a result, even if the movement speed of the body part in the real space is the same, the movement speed of the virtual object when the virtual object is positioned within a predetermined range from the reference position of the virtual object in the virtual space (e.g., when the virtual object is in contact with the virtual object in the virtual space) is slower than the movement speed of the virtual object in other cases (e.g., when the virtual object is not positioned within the predetermined range from the reference position of the virtual object in the virtual space). As a result, the virtual object can be perceived as a viscous liquid. Note that the reference position of the virtual object may be set in advance or may be determined based on other processing. An example of the reference position of the virtual object is a specific position on the virtual object. A predetermined range from the reference position of the virtual object is also determined. This predetermined range may be set in advance or may be determined based on other processing. When the virtual object is positioned within a predetermined range from the reference position of the virtual object in the virtual space, for example, the virtual object is in contact with the reference position of the virtual object or is positioned near the reference position of the virtual object. This will be described in detail below.

[0095] <Configuration> As shown in FIG. 1, the texture presentation system 4 of this embodiment includes a texture presentation device 41, a real space information acquisition device 12, and a virtual space information output device 13.

[0096] 14 , the texture presentation device 41 of this embodiment includes a control unit 1101, a memory 1102, storage units 4103 and 1112, a texture setting unit 4104, a virtual operation object generation unit 1105, a real space position acquisition unit 1106, a virtual position acquisition unit 1107, a virtual operation object position control unit 4108 (position control unit), a relative position calculation unit 1109, a contact determination unit 1110, a virtual object generation unit 1113, and a synthesis unit 1114. The texture presentation device 41 executes each process under the control of the control unit 1101. Information input to the texture presentation device 41 and information obtained by each unit of the texture presentation device 41 is stored in the memory 1102 one by one, and is read out as needed and used in each process.

[0097] <Pre-Processing> In the pre-processing of this embodiment, a velocity data set (DS) is stored in the storage unit 4103 instead of the deformation ratio DS of the first embodiment. For example, the velocity DS is a data set that represents the relationship between an index (e.g., viscosity) indicating the degree of viscosity of the liquid to be perceived and the above-mentioned ratio (the ratio of the movement speed of the virtual object in virtual space to the movement speed of the body part in real space) for perceiving the viscosity of the liquid. For example, the higher the viscosity of the liquid to be perceived, the smaller the ratio of the movement speed of the virtual object in virtual space to the movement speed of the body part in real space. As long as the velocity DS represents such a relationship, it may be a table or a function. This ratio may be based on physical information (e.g., viscosity) represented by the texture DS (e.g., proportional to the dynamic viscosity coefficient), or it may be independent of the physical information represented by the texture DS. The rest is the same as the pre-processing of the first embodiment.

[0098] <Setting Process> Texture information T representing the degree of viscosity of the liquid to be presented to the user 1000 is input to the texture setting unit 4104 of the texture presentation device 41 (FIG. 14). For example, the texture information T may be information input by the user 1000, information input by another person, information input from another device, or information read from a storage unit. The texture setting unit 4104 obtains an index representing the degree of viscosity of the liquid represented by the input texture information T and sends it to the virtual operation object position control unit 4108 (step S4104).

[0099] <Texture Presentation Processing> Next, the texture presentation processing of this embodiment will be described. The texture presentation device 41 (FIG. 14) executes the processing of steps S1113 and S1105 instead of the texture presentation device 11. However, the virtual object obtained in step S1113 is sent to the synthesis unit 1114. The virtual operation object obtained in step S1105 is sent to the virtual operation object position control unit 4108.

[0100] The following processing is performed continuously or intermittently. The real-space information acquisition device 12 executes the processing of step S12. The texture presentation device 41 (FIG. 14) executes the processing of steps S1106, S1107, S1109, and S1110 in place of the texture presentation device 11. However, the coordinates of the reference position of the virtual interface object in virtual space obtained by the virtual position acquisition unit 1107 in step S1107 are sent to the virtual interface object position control unit 4108 and the relative position calculation unit 1109. Furthermore, contact information indicating whether the virtual interface object is in contact with the virtual target obtained in step S1110 is sent to the virtual interface object position control unit 4108.

[0101] Furthermore, instead of the virtual interface position control unit 1108, the virtual interface position control unit 4108 controls the position of the virtual interface in virtual space according to the position of the body part in real space, as follows. The virtual interface position control unit 4108 receives the coordinates of the reference position of the virtual interface in virtual space obtained by the virtual position acquisition unit 1107. The virtual interface position control unit 4108 then references the speed DS stored in the memory unit 3103 and acquires a ratio corresponding to an index representing the degree of viscosity of the liquid represented by the texture information T sent from the texture setting unit 4104. For example, if the speed DS is a table, the virtual interface position control unit 4108 acquires, from among the ratios included in the speed DS, a ratio corresponding to an index representing the viscosity closest to the viscosity represented by the texture information T. For example, if the speed DS is a function, the virtual interface position control unit 4108 inputs an index representing the degree of viscosity of the liquid represented by the texture information T into the function and acquires a ratio corresponding to the input. The value of the ratio acquired in this manner is referred to as a "first value." The virtual operation object position control unit 4108 controls the speed of the virtual operation object as follows based on the ratio whose value is the first value, the coordinates of the reference position of the virtual operation object in the virtual space obtained by the virtual position acquisition unit 1107, and the contact information obtained by the contact determination unit 1110.

[0102] (Example of controlling the speed of a virtual control object) When a virtual control object is positioned within a predetermined range from the reference position of a virtual object in a virtual space (for example, when the virtual control object is in contact with a virtual object): The virtual control object position control unit 4108 sets the movement speed of the virtual control object so that the ratio of the movement speed of the virtual control object in the virtual space to the movement speed of the body part in the real space becomes a first value.

[0103] In other cases, the virtual object position control unit 4108 sets the moving speed of the virtual object so that the ratio of the moving speed of the virtual object in the virtual space to the moving speed of the body part in the real space is a second value greater than the first value. Here, the second value may be set in advance or may be determined based on other processing.

[0104] The virtual operation object with the set moving speed is sent to the synthesis unit 1114 (step S4108).

[0105] Furthermore, the texture presentation device 41 (FIG. 12) executes the process of step S1114 instead of the texture presentation device 11. Furthermore, the virtual space information output device 13 executes the process of step S13. This allows the user 1000 to perceive the degree of viscosity of the liquid represented by the texture information T.

[0106] <Examples of Presented Virtual Interface and Virtual Object> The following provides examples of the virtual interface and virtual object presented to the user 1000 as described above. Assume that the user's 1000 body part (hand) 1001 moves in the direction D5 in real space, as illustrated in FIGS. 15B and 15D. Based on this, the virtual interface 1011 moves in the direction D4 in virtual space, as illustrated in FIGS. 15A and 15C. Here, in the state illustrated in FIG. 15A, the virtual interface 1011 is not in contact with the virtual object 1012. On the other hand, in the state illustrated in FIG. 15C, the virtual interface 1011 is in contact with the virtual object 1012. In this case, even if the moving speed of the user's 1000 body part 1001 in real space is the same, the moving speed of the virtual interface 1011 in the virtual space illustrated in FIG. 15B is slower than the moving speed of the virtual interface 1011 in the virtual space illustrated in FIG. 15A. Due to this difference in the degree of movement, the user 1000 perceives the virtual object 1012 as having the viscosity of a liquid. Note that, in the above description, instead of the ratio of the speed of the virtual object in virtual space to the speed of the body part in real space, the relative speed of the virtual object in virtual space to the speed of the body part in real space may be used. In this case, the ratio is replaced with the speed of movement.

[0107] <Features of the Fourth Embodiment> In the fourth embodiment, the position of a virtual object in a virtual space is controlled according to the position of a body part in a real space. When the virtual object is positioned within a predetermined range from the reference position of the virtual object in the virtual space, the ratio or relative speed of the movement speed of the virtual object to the movement speed of the body part is set to a first value. In other cases, the ratio or relative speed is set to a second value greater than the first value. This allows the user to perceive the viscosity of a liquid. Furthermore, by adjusting the first value, different viscosities can be presented. For example, the smaller the first value, the higher the perceived viscosity.

[0108] [Variation 1 of the Fourth Embodiment] In the fourth embodiment, the speed DS represents, for example, the relationship between an index indicating the degree of viscosity of the liquid to be perceived and the ratio or relative speed of the moving speed of the virtual object in virtual space to the moving speed of the body part in real space for perceiving the viscosity of the liquid. However, the speed DS may represent only the ratio or relative speed of the moving speed of the virtual object in virtual space to the moving speed of the body part in real space for perceiving the viscosity of the liquid. In this case, the texture setting unit 4104 may be omitted, and the virtual object position control unit 4108 may obtain the ratio or relative speed from the speed DS stored in the memory unit 4103 and perform other processing in step S4108.

[0109] [Fifth Embodiment] Any of the first to fourth embodiments and their modifications may be combined. Furthermore, the virtual object generation unit 1113 may generate only one virtual object, or multiple virtual objects. Any of the processes of the first to fourth embodiments and their modifications may be executed on the single or multiple virtual objects thus generated. For example, a virtual object B, such as a liquid, may be placed on a base virtual object A. In this situation, the virtual object A may be subjected to the indentation deformation or bulge deformation described in the first and second embodiments or their modifications, or the process of the third embodiment or its modifications, to present textures such as rigidity or elasticity. Furthermore, the process of the fourth embodiment or its modifications may be executed on the virtual object B to present an impression of liquid viscosity. Furthermore, the behavior of the liquid may be added to the virtual object B by physical calculation. Such behavior of the liquid may be performed, for example, based on a texture database stored in the storage unit 1112.

[0110] A virtual object B, such as a liquid, may be placed on a base virtual object A. When the processing of the fourth embodiment or its modified example is performed on the virtual object B, a situation in which the virtual object B penetrates the virtual object A may be reproduced using physical calculations. This may change the thickness of the virtual object B, thereby changing whether the virtual object contacts the virtual object B. This may change the ratio or relative speed of the movement speed of the virtual object relative to the movement speed of the body part, thereby presenting the user with an impression of the viscosity of the liquid. For example, in the example of FIGS. 16A and 16B , a virtual object 4012, such as a liquid, is placed on a base virtual object 5012, and the processing of the fourth embodiment or its modified example is performed on the virtual object 4012. Here, in FIG. 16A , the virtual object 1011 is in contact with the virtual object 4012, while in FIG. 16B , the virtual object 4012 penetrates the virtual object 5012, and the virtual object 1011 is not in contact with the virtual object 4012. In this case, the ratio or relative speed of the moving speed of the virtual object 1011 to the moving speed of the body part changes between Figures 16A and 16B, thereby providing the user with an impression of the viscosity of the liquid.

[0111] It is also possible to reproduce a situation in which the rigidity or elasticity of virtual object A changes as a result of virtual object B penetrating into virtual object A. For example, when virtual object A is deformed by pushing or bulging, the distribution of the deformation amount of virtual object A within the virtual space range may be different between virtual object A not penetrated by virtual object B and virtual object A penetrated by virtual object B.

[0112] A virtual object B, such as a liquid, may be placed on a base virtual object A. When the processing of the fourth embodiment or its modified example is performed on the virtual object B, the volatilization of the virtual object B may be reproduced using physical calculations. This may change the thickness of the virtual object B, thereby changing whether the virtual object contacts the virtual object B. This may change the ratio or relative speed of the movement speed of the virtual object relative to the movement speed of the body part, thereby presenting the user with an impression of the viscosity of the liquid. For example, in the examples of FIGS. 16C and 16D , a virtual object 4012, such as a liquid, is placed on a base virtual object 5012, and the processing of the fourth embodiment or its modified example is performed on the virtual object 4012. Here, in FIG. 16C , the virtual object 1011 is in contact with the virtual object 4012, but in FIG. 16D , the virtual object 4012 volatilizes, and the virtual object 1011 is not in contact with the virtual object 4012. In this case, the ratio or relative speed of the moving speed of the virtual manipulation object 1011 to the moving speed of the body part changes between Figures 16C and 16D, thereby providing the user with an impression of the viscosity of the liquid.

[0113] A situation may be reproduced in which virtual objects A and B, which are individuals with different coefficients of friction, are arranged. For example, if the coefficient of friction of virtual object A is higher than the coefficient of friction of virtual object B, the speed at which the virtual object moves while in contact with the surface of virtual object B will be faster than the speed at which the virtual object moves while in contact with the surface of virtual object A. To reproduce such a situation, the fourth embodiment or its modified example can be applied. In this case, for example, in the pre-processing of the fourth embodiment, an index (e.g., friction coefficient) representing the degree of friction (individual friction) of virtual objects A and B to be perceived and a speed DS representing the relationship between the speed of movement of the virtual object in virtual space and the speed of movement of a body part in real space for perceiving the friction are stored in the memory unit 4103 of the texture presentation device 41 ( FIG. 14 ). Here, the ratio of the speed of movement of the virtual object in virtual space to the speed of movement of a body part in real space for perceiving the friction of virtual object A (first virtual object) is referred to as a “third value.” Furthermore, the ratio of the moving speed of the virtual object in virtual space to the moving speed of the body part in real space for perceiving the frictional force of virtual object B (second virtual object) is represented as a "fourth value." In the setting process of the fourth embodiment, texture information T representing the degree of frictional force (individual frictional force) of virtual objects A and B to be presented to the user 1000 is input to the texture setting unit 4104 of the texture presentation device 41 (FIG. 14). This texture information T represents the degree of frictional force of multiple individuals to be reproduced in virtual objects A and B, respectively. The texture setting unit 4104 obtains an index representing the degree of frictional force of virtual objects A and B represented by the input texture information T and sends it to the virtual object position control unit 4108. In step S1110 of the texture presentation process of the fourth embodiment, the contact determination unit 1110 sends contact information indicating whether the virtual manipulation object is in contact with either virtual object A or B, and information on the relative position of the virtual manipulation object with respect to the virtual objects A and B in the virtual space, to the virtual object transformation control unit 1111. If the virtual manipulation object is in contact with either virtual object A or B, the contact information includes information identifying the virtual object O∈{A, B} that is in contact with the virtual object.The virtual interface position control unit 4108 controls the position of the virtual interface in virtual space according to the position of the body part in real space, as follows: The virtual interface position control unit 4108 receives the coordinates of the reference position of the virtual interface in virtual space obtained by the virtual position acquisition unit 1107. The virtual interface position control unit 4108 also references the speed DS stored in the memory unit 3103 and obtains a ratio (third value, fourth value) corresponding to an index representing the degree of friction between virtual objects A and B represented by the texture information T sent from the texture setting unit 4104. The virtual interface position control unit 4108 controls the speed of the virtual interface as follows, based on the ratio (third value, fourth value), the coordinates of the reference position of the virtual interface in virtual space obtained by the virtual position acquisition unit 1107, and the contact information obtained by the contact determination unit 1110.

[0114] (Example of controlling the speed of a virtual control object) When the virtual control object is positioned within a predetermined range from the reference position of virtual object A in the virtual space (for example, when the virtual control object is in contact with virtual object A): The virtual control object position control unit 4108 sets the movement speed of the virtual control object so that the ratio of the movement speed of the virtual control object in the virtual space to the movement speed of the body part in the real space becomes a third value.

[0115] When the virtual object is located within a predetermined range from the reference position of virtual object B in the virtual space (e.g., when the virtual object is in contact with virtual object B): The virtual object position control unit 4108 sets the moving speed of the virtual object so that the ratio of the moving speed of the virtual object in the virtual space to the moving speed of the body part in the real space is a fourth value. As a result, even if the moving speed of the body part 1001 of the user 1000 in the real space is the same, the moving speed of the virtual object differs depending on whether the virtual object is located within a predetermined range from the reference position of virtual object A (e.g., whether the virtual object is in contact with virtual object A) or whether the virtual object is located within a predetermined range from the reference position of virtual object B (e.g., whether the virtual object is in contact with virtual object B). Due to this difference in the degree of movement, the user 1000 perceives virtual object A and virtual object B as having different frictional forces.

[0116] In addition, instead of the ratio of the speed of movement of the virtual interface in virtual space to the speed of movement of the body part in real space for perceiving the frictional force, the relative speed of the speed of movement of the virtual interface in virtual space to the speed of movement of the body part in real space for perceiving the frictional force may be used, in which case the ratio is replaced with the speed of movement.

[0117] That is, the position of the virtual object in the virtual space is controlled according to the position of the body part in the real space, and when the virtual object is positioned within a predetermined range from the reference position of virtual object A (first virtual object) in the virtual space, the ratio or relative speed of the movement speed of the virtual object to the movement speed of the body part is set to a third value, and when the virtual object is positioned within a predetermined range from the reference position of virtual object B (second virtual object) in the virtual space, the ratio or relative speed of the movement speed of the virtual object to the movement speed of the body part is set to a fourth value different from the third value. This allows the user to perceive virtual object A and virtual object B as having different frictional forces.

[0118] <Examples of Presented Virtual Interface and Virtual Object> The following provides examples of the virtual interface and virtual object presented to the user 1000 as described above. In the state of FIG. 17A , the virtual interface 1011 is moving in the direction D6 while in contact with the virtual object 1012a. In this case, the ratio of the moving speed of the virtual interface 1011 to the moving speed of the body part is set to a third value. On the other hand, in the state of FIG. 17B , the virtual interface 1011 is moving in the direction D6 while in contact with the virtual object 1012b. The ratio of the moving speed of the virtual interface 1011 to the moving speed of the body part is set to a fourth value different from the third value. In this case, even if the moving speeds of the body parts are the same, the moving speed of the virtual interface 1011 in the state of FIG. 17A is different from the moving speed of the virtual interface 1011 in the state of FIG. 17B . This is also true when the relative speed of the virtual object 1011 relative to the speed of the body part is used instead of the ratio of the speed of the virtual object 1011 relative to the speed of the body part, which allows the user to perceive that the virtual object 1012a and the virtual object 1012b have different frictional forces.

[0119] <Features of the Fifth Embodiment> A variety of textures can be presented by combining any of the first to fourth embodiments and their modifications. Note that, although the fifth embodiment shows an example in which two virtual objects A and B are used, the same applies to the case in which three or more virtual objects are used.

[0120] [Hardware Configuration] The functions performed by the components described herein may be implemented in circuitry or processing circuitry, including general-purpose processors, application-specific processors, integrated circuits, ASICs (Application Specific Integrated Circuits), a CPU (a Central Processing Unit), conventional circuits, and / or combinations thereof, programmed to perform the described functions. A processor includes transistors and other circuits and is considered to be circuitry or processing circuitry. A processor may also be a programmed processor that executes a program stored in a memory.

[0121] In this specification, a circuitry, unit, or means is hardware that is programmed to realize or performs the described functions, which may be any hardware disclosed herein or any hardware known to be programmed to realize or perform the described functions.

[0122] If the hardware is a processor considered to be a type of circuitry, the circuitry, means, or unit is a combination of the hardware and software used to configure the hardware and / or processor.

[0123] For example, the texture presentation devices 11, 21, 31, and 41 in each embodiment are devices configured by a general-purpose or dedicated computer having a processor (hardware processor) such as a central processing unit (CPU) and memories such as random-access memory (RAM) and read-only memory (ROM) executing a predetermined program. That is, the texture presentation devices 11, 21, 31, and 41 in each embodiment have, for example, a processing circuit configured to implement each of the components. This computer may have one processor and memory, or multiple processors and memories. This program may be installed on the computer or may be pre-recorded in a ROM or the like. Furthermore, some or all of the processing units may be configured using electronic circuits that independently realize processing functions, rather than electronic circuits that realize functional configurations by loading programs like a CPU. Furthermore, the electronic circuits constituting one device may include multiple CPUs.

[0124] FIG. 18 is a block diagram illustrating the hardware configuration of the texture presentation devices 11, 21, 31, and 41 according to the respective embodiments. As illustrated in FIG. 18 , the texture presentation devices 11, 21, 31, and 41 of this example include a central processing unit (CPU) 10a, an input unit 10b, an output unit 10c, a random access memory (RAM) 10d, a read-only memory (ROM) 10e, an auxiliary storage device 10f, a communication unit 10h, and a bus 10g. The CPU 10a of this example includes a control unit 10aa, a calculation unit 10ab, and a register 10ac, and executes various calculation processes according to various programs loaded into the register 10ac. The input unit 10b includes an input terminal, keyboard, mouse, touch panel, or the like through which data is input. The output unit 10c includes an output terminal, display, or the like through which data is output. The communication unit 10h includes a LAN card or the like controlled by the CPU 10a that has loaded a predetermined program. The RAM 10d is a static random access memory (SRAM), dynamic random access memory (DRAM), or the like, and has a program area 10da where predetermined programs are stored and a data area 10db where various data are stored. The auxiliary storage device 10f is a hard disk, magneto-optical disc (MO), semiconductor memory, or the like, and has a program area 10fa where predetermined programs are stored and a data area 10fb where various data are stored. The bus 10g connects the CPU 10a, input unit 10b, output unit 10c, RAM 10d, ROM 10e, communication unit 10h, and auxiliary storage device 10f so that information can be exchanged. The CPU 10a writes the program stored in the program area 10fa of the auxiliary storage device 10f to the program area 10da of RAM 10d in accordance with the loaded OS (Operating System) program. Similarly, the CPU 10a writes various data stored in the data area 10fb of the auxiliary storage device 10f to the data area 10db of the RAM 10d. The addresses in the RAM 10d where the programs and data are written are then stored in the register 10ac of the CPU 10a.The control unit 10aa of the CPU 10a sequentially reads out these addresses stored in the register 10ac, reads out programs and data from the areas on the RAM 10d indicated by the read addresses, causes the calculation unit 10ab to sequentially execute the calculations indicated by the programs, and stores the calculation results in the register 10ac. With this configuration, the functional configuration of the texture presentation devices 11, 21, 31, and 41 is realized.

[0125] The program describing this processing can be recorded on a computer-readable recording medium. Examples of computer-readable recording media are non-transitory recording media. Examples of such recording media include magnetic recording devices, optical disks, magneto-optical recording media, and semiconductor memories.

[0126] The program may be distributed by, for example, selling, transferring, lending, etc. portable recording media such as DVDs and CD-ROMs on which the program is recorded. Furthermore, the program may be stored in a storage device of a server computer, and then transferred from the server computer to other computers via a network, thereby distributing the program.

[0127] A computer that executes such a program may first temporarily store the program recorded on a portable recording medium or transferred from a server computer in its own storage device. Then, when executing a process, the computer reads the program stored on its own recording medium and executes the process in accordance with the read program. Alternatively, the computer may read the program directly from a portable recording medium and execute the process in accordance with the program. Furthermore, the computer may execute the process in accordance with the program each time a program is transferred from a server computer to the computer. Alternatively, the server computer may not transfer the program to the computer, but may instead execute the process through a so-called ASP (Application Service Provider) service, which realizes the processing function by issuing an execution instruction and obtaining the results. Furthermore, the server computer may execute the process at the terminal using a so-called SaaS (Software as a Service) service, which allows users to use part of a server computer along with the program. In this embodiment, the program includes information used for processing by an electronic computer that is equivalent to a program (such as data that is not a direct instruction to a computer but has properties that dictate computer processing).

[0128] Furthermore, in this embodiment, the device is configured by executing a predetermined program on a computer, but at least a part of the processing contents may be realized by hardware.

[0129] [Other Modifications] The present invention is not limited to the above-described embodiments. For example, the various processes described above may not only be executed in chronological order as described, but may also be executed in parallel or individually depending on the processing capabilities of the devices that execute the processes or as needed. Needless to say, other modifications are possible within the scope of the present invention.

[0130] The above-described technology allows users to perceive textures such as rigidity, elasticity, softness, stickiness, viscosity, and friction. For example, it allows users to perceive the texture of various objects, including not only rigid bodies but also sticky, liquid-like, and soft objects. It also allows users to perceive the texture of operations such as pushing a virtual object into a virtual object, releasing the pushing force and pulling the virtual object away from the virtual object, and stirring (agitating) a virtual object that resembles a liquid. These techniques enable realistically conveying the texture of various rigid and non-rigid products, such as rubber, plastic, cloth, cushions, jelly, and liquids, in online shopping, for example. For example, when a user interacts with a person or animal remotely in a virtual space, they can perceive the texture of the other person's skin. For example, it is possible to present the texture of paint being applied to a virtual object in a virtual space. For example, it is possible to provide users with an experience that makes them feel as if they are touching objects and materials in a virtual world presented on a virtual reality goggle or smartphone screen.

[0131] 11, 21, 31, 41 Texture presentation device 1108, 3108, 4108 Virtual operation object position control unit (position control unit) 1111, 2111 Virtual object transformation control unit (transformation control unit) 1011 Virtual operation object 1012, 1012a, 1012b Virtual object

Claims

1. A texture presentation device comprising: a position control unit that controls the position of a virtual object in a virtual space according to the position of a body part in the real space; and a deformation control unit that controls the amount of deformation of the virtual object, which deforms into a concave and / or convex shape according to the relative position of the virtual object with respect to the virtual object in the virtual space, wherein the deformation control unit controls the width of the distribution of the amount of deformation within the virtual space range based on the degree of texture that is to be perceived by the virtual object.

2. A texture presentation device comprising: a position control unit that controls the position of a virtual object in a virtual space according to the position of a body part in the real space; and a deformation control unit that controls the amount of deformation of the virtual object that deforms concavely in the direction of movement of the virtual object when the virtual object moves toward the virtual target in the virtual space, and / or controls the amount of deformation of the virtual object that deforms convexly in the direction of movement of the virtual object when the virtual object moves away from the virtual target in the virtual space, wherein the width of the distribution of the deformation within the virtual space range when the virtual object is intended to be perceived as a first rigidity is wider than the width of the distribution of the deformation within the virtual space range when the virtual object is intended to be perceived as a second rigidity, and the first rigidity is higher than the second rigidity.

3. A texture presentation device comprising: a position control unit that controls the position of a virtual manipulator in a virtual space according to the position of a body part in the real space; and a deformation control unit that controls the amount of deformation of the virtual object that deforms convexly in the direction of movement of the virtual manipulator when the virtual manipulator moves in the virtual space away from the virtual object, wherein the deformation control unit cancels the convexly deformed state of the virtual object when the duration of the convexly deformed state of the virtual object exceeds a reference time and / or when the relative distance of the reference position of the virtual manipulator to the reference position of the virtual object in the convexly deformed state of the virtual object exceeds a reference distance.

4. A texture presentation device having a position control unit that controls the position of a virtual manipulator in a virtual space according to the position of a body part in a real space, wherein when the virtual manipulator is positioned within a predetermined range from a reference position of a virtual object in the virtual space, the position control unit either substantially maintains the position of the virtual manipulator or delays the movement of the position of the virtual manipulator relative to the movement of the position of the body part, even if the movement direction of the virtual manipulator corresponding to the movement direction of the body part is a direction away from the virtual object, until the duration during which the movement direction of the virtual manipulator is a direction away from the virtual object exceeds a reference time.

5. A texture presentation device having a position control unit that controls the position of a virtual object in a virtual space according to the position of a body part in a real space, wherein the position control unit sets the ratio or relative speed of the movement speed of the virtual object to the movement speed of the body part to a first value when the virtual object is positioned within a predetermined range from a reference position of a virtual object in the virtual space, and sets the ratio or relative speed to a second value greater than the first value in other cases.

6. A texture presentation device having a position control unit that controls the position of a virtual manipulator in a virtual space according to the position of a body part in the real space, wherein the position control unit sets the ratio or relative speed of the movement speed of the virtual manipulator to the movement speed of the body part to a third value when the virtual manipulator is placed within a predetermined range from the reference position of a first virtual object in the virtual space, and sets the ratio or relative speed of the movement speed of the virtual manipulator to the movement speed of the body part to a fourth value different from the third value when the virtual manipulator is placed within a predetermined range from the reference position of a second virtual object in the virtual space.

7. A texture presentation method using the texture presentation device, which performs processing by the texture presentation device of any one of claims 1 to 6.

8. A program for causing a computer to function as the texture presentation device according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Game program

    JP2017148257A

  • Texture presentation method, texture presentation program, image processing apparatus, and texture presentation system

    JP2020052839A

  • Systems and methods of providing haptic-like feedback in three-dimensional (3D) sensory space

    US20150227203A1