FR3062731A1 - METHOD AND SYSTEM FOR MOVING A VIRTUAL CHARACTER IN A VIRTUAL ENVIRONMENT - Google Patents
METHOD AND SYSTEM FOR MOVING A VIRTUAL CHARACTER IN A VIRTUAL ENVIRONMENT Download PDFInfo
- Publication number
- FR3062731A1 FR3062731A1 FR1750969A FR1750969A FR3062731A1 FR 3062731 A1 FR3062731 A1 FR 3062731A1 FR 1750969 A FR1750969 A FR 1750969A FR 1750969 A FR1750969 A FR 1750969A FR 3062731 A1 FR3062731 A1 FR 3062731A1
- Authority
- FR
- France
- Prior art keywords
- virtual
- movement
- real
- controller
- speed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/80—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
- A63F2300/8082—Virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Une méthode de déplacement d'un personnage virtuel dans un environnement virtuel suite à un mouvement d'un utilisateur réel (UR), ledit environnement virtuel étant généré par au moins un calculateur informatique (1) et modifié au moins au moyen d'un contrôleur (3) tenu à la main par ledit utilisateur réel (UR), la méthode comprenant : - une étape de mouvement réel dudit contrôleur (3) par ledit utilisateur réel (UR) selon une direction et un sens donnés et - une étape de déplacement virtuel dudit personnage virtuel selon la même direction que le mouvement réel mais dans un sens opposé de manière à reproduire le mouvement d'un bras d'un utilisateur réel (UR) lors d'un déplacement réel.A method of moving a virtual character in a virtual environment following a movement of a real user (UR), said virtual environment being generated by at least one computing computer (1) and modified at least by means of a controller (3) hand held by said real user (UR), the method comprising: - a step of real movement of said controller (3) by said real user (UR) in a given direction and direction and - a moving step virtual of said virtual character in the same direction as the real movement but in an opposite direction so as to reproduce the movement of an arm of a real user (UR) during a real movement.
Description
ii
METHODE ET SYSTEME DE DEPLACEMENT D’UN PERSONNAGE VIRTUEL DANS UN ENVIRONNEMENT VIRTUELMETHOD AND SYSTEM FOR MOVING A VIRTUAL CHARACTER IN A VIRTUAL ENVIRONMENT
DOMAINE TECHNIQUE GENERAL ET ART ANTERIEURGENERAL TECHNICAL AREA AND PRIOR ART
La présente invention concerne le domaine de la réalité virtuelle et, notamment, le déplacement d’un personnage virtuel dans un environnement virtuel suite à un mouvement d’un utilisateur réel.The present invention relates to the field of virtual reality and, in particular, the movement of a virtual character in a virtual environment following a movement of a real user.
De manière connue, pour vivre une expérience virtuelle, un utilisateur réel dispose d’un système informatique de réalité virtuelle qui comprend :As is known, to have a virtual experience, a real user has a virtual reality computer system which includes:
un casque pour afficher des images d’un environnement virtuel, un ou plusieurs contrôleurs équipés d’actionneurs (bouton, pavé tactile, manette, gâchette, etc.) et un calculateur informatique relié au casque et aux contrôleurs de manière à modifier les images affichées en fonction du mouvement ou des actions des contrôleurs.a helmet to display images of a virtual environment, one or more controllers equipped with actuators (button, touchpad, joystick, trigger, etc.) and a computer calculator connected to the helmet and controllers so as to modify the images displayed depending on the movement or actions of the controllers.
Un tel système informatique de réalité virtuelle est connu de l’homme du métier, notamment, dans le domaine des jeux vidéo de manière à permettre à un utilisateur réel de vivre une expérience immersive. Le calculateur informatique génère un environnement virtuel avec lequel un personnage virtuel peut interagir à l’aide des contrôleurs. La réalité virtuelle reproduit artificiellement une expérience sensorielle, qui peut inclure la vue, le toucher, l'ouïe et l'odorat.Such a virtual reality computer system is known to those skilled in the art, in particular, in the field of video games so as to allow an actual user to have an immersive experience. The computer calculator generates a virtual environment with which a virtual character can interact using the controllers. Virtual reality artificially reproduces a sensory experience, which can include sight, touch, hearing and smell.
Plusieurs technologies ont été développées pour permettre à un personnage virtuel de se déplacer dans un environnement virtuel. Tout d’abord, il a été proposé d’utiliser un contrôleurque l’utilisateurréel pointe dans une direction de l’environnement virtuel. Puis, l’utilisateur réel actionne un actionneur du contrôleur afin de déplacer le personnage virtuel dans un lieu différent de l’environnement virtuel selon la direction pointée, à la manière, d’une téléportation. Un tel mode de déplacement est pratique dans l’environnement virtuel mais perturbe l’oreille interne de l’utilisateurréel étant donné que ses yeux perçoivent un déplacement alors que son corps ne se déplace pas. Cette perturbation de l’oreille interne est un des principaux freins qui retardent l’expansion de la réalité virtuelle auprès du grand public.Several technologies have been developed to allow a virtual character to move around in a virtual environment. First, it was proposed to use a controller that the real user points in a direction of the virtual environment. Then, the real user actuates an actuator of the controller in order to move the virtual character to a different place from the virtual environment according to the pointed direction, in the manner, of a teleportation. Such a mode of movement is practical in the virtual environment but disturbs the inner ear of the real user since his eyes perceive movement while his body does not move. This disruption of the inner ear is one of the main obstacles that delay the expansion of virtual reality to the general public.
Pour éliminer cet inconvénient, il a été proposé un système informatique de réalité virtuelle comportant un tapis roulant multidirectionnel afin de permettre à l’utilisateur réel de réaliser des mouvements réels de déplacement. Les mouvements réels de déplacement sont mesurés par le tapis roulant multidirectionnel puis fournis au calculateur informatique afin de pouvoir modifier l’affichage du casque et permettre un déplacement du personnage virtuel. Bien qu’une telle solution soit séduisante, un tapis roulant multidirectionnel présente un coût et un encombrement très importants. Une telle solution ne peut malheureusement pas convenir au grand public.To eliminate this drawback, a virtual reality computer system has been proposed comprising a multidirectional treadmill in order to allow the real user to carry out real movements of movement. The actual movement movements are measured by the multidirectional treadmill and then supplied to the computer so that the display of the helmet can be modified and the virtual character can be moved. Although such a solution is attractive, a multidirectional treadmill has a very large cost and size. Unfortunately, such a solution cannot suit the general public.
Aussi, il existe un besoin pour une méthode et système de déplacement d’un personnage virtuel dans un environnement virtuel qui soit confortable, naturel et pratique afin de conserver le sentiment d’immersion de l’utilisateursans perturbation de son oreille interne.Also, there is a need for a method and system for moving a virtual character in a virtual environment that is comfortable, natural and practical in order to maintain the feeling of immersion of the user without disturbing his inner ear.
L’invention est née dans le domaine des jeux vidéo mais il va de soi que l’invention s’applique à toute application de la réalité virtuelle, notamment, le divertissement, la formation et l’apprentissage d’opérateurs, etc.The invention was born in the field of video games but it goes without saying that the invention applies to any application of virtual reality, in particular, entertainment, operator training and learning, etc.
PRESENTATION GENERALE DE L’INVENTIONGENERAL PRESENTATION OF THE INVENTION
A cet effet, l’invention concerne une méthode de déplacement d’un personnage virtuel dans un environnement virtuel suite à un mouvement d’un utilisateur réel, ledit environnement virtuel étant généré par au moins un calculateur informatique et modifié au moins au moyen d’un contrôleur tenu à la main par ledit utilisateur réel, la méthode comprenant :To this end, the invention relates to a method of moving a virtual character in a virtual environment following a movement of a real user, said virtual environment being generated by at least one computer calculator and modified at least by means of a controller held by hand by said real user, the method comprising:
une étape de mouvement réel dudit contrôleur par ledit utilisateur réel selon une direction et un sens donnés et une étape de déplacement virtuel dudit personnage virtuel selon la même direction que le mouvement réel mais dans un sens opposé de manière à reproduire le mouvement d’un bras d’un utilisateur réel lors d’un déplacement réel.a step of real movement of said controller by said real user in a given direction and direction and a step of virtual displacement of said virtual character in the same direction as the real movement but in an opposite direction so as to reproduce the movement of an arm of a real user during a real trip.
Grâce à l’invention, le mouvement réel du contrôleur permet de mimer un déplacement réel, ce qui évite avantageusement toute perturbation de l’oreille interne lors d’un déplacement virtuel. Un tel déplacement est immersif et permet à un utilisateur de rester concentré sur l’environnement virtuel sans ressentir un inconfort. Dans le monde virtuel, le mouvement du contrôleur est interprété par le calculateur comme une modification de l’environnement virtuel. En pratique, le personnage virtuel à l’impression de tirer la scène virtuelle vers lui lors d’un déplacement en avant, ce qui maintient l’illusion d’un déplacement alors que l’utilisateur réel ne bouge pas ses jambes. L’étape de déplacement virtuel est réalisée en temps réel suite à l’étape de mouvement réel. Ainsi, l’utilisateur à l’impression de se déplacer dans l’environnement virtuel de manière naturelle.Thanks to the invention, the real movement of the controller makes it possible to mimic a real movement, which advantageously avoids any disturbance of the inner ear during a virtual movement. Such movement is immersive and allows a user to stay focused on the virtual environment without feeling discomfort. In the virtual world, the movement of the controller is interpreted by the computer as a modification of the virtual environment. In practice, the virtual character has the impression of pulling the virtual scene towards him during a forward movement, which maintains the illusion of a displacement while the real user does not move his legs. The virtual movement step is performed in real time following the real movement step. Thus, the user has the impression of moving in the virtual environment in a natural way.
Selon un aspect préféré, la vitesse de déplacement virtuel est fonction de la vitesse de mouvement réel dudit contrôleur. Ainsi, le mouvement réel est directement fonction du déplacement virtuel, ce qui donne l’impression à l’utilisateur réel qu’il réalise réellement les déplacements virtuels du personnage virtuel.According to a preferred aspect, the virtual movement speed is a function of the real movement speed of said controller. Thus, the actual movement is a direct function of the virtual movement, which gives the impression to the real user that he is actually carrying out the virtual movements of the virtual character.
De manière préférée, la vitesse de déplacement virtuel est également fonction de la vitesse intrinsèque du personnage virtuel dans l’environnement virtuel. Ainsi, le mouvement réel du contrôleur permet de modifier la vitesse intrinsèque du personnage virtuel dans la scène virtuelle. En effet, le personnage virtuel peut posséder une vitesse virtuelle intrinsèque qui est liée à la scène virtuelle, par exemple, une glissade ou un entraînement par un véhicule virtuel ou un autre personnage virtuel.Preferably, the speed of virtual movement is also a function of the intrinsic speed of the virtual character in the virtual environment. Thus, the real movement of the controller makes it possible to modify the intrinsic speed of the virtual character in the virtual scene. Indeed, the virtual character can have an intrinsic virtual speed which is linked to the virtual scene, for example, a slide or training by a virtual vehicle or another virtual character.
De préférence, le contrôleur comprenant un actionneur de voyage, le mouvement réel est mesuré lorsque l’actionneur de voyage est actionné. Ainsi, cela permet de réaliser un déplacement virtuel uniquement lorsque l’utilisateur réel le décide. De plus, cela permet à l’utilisateur réel d’utiliser le contrôleur pour une autre fonction lorsque l’actionneur de voyage n’est pas actionné, par exemple, pour réaliser un tir pour une application dans un jeu vidéo de tir à la première personne.Preferably, the controller comprising a travel actuator, the actual movement is measured when the travel actuator is actuated. Thus, this makes it possible to perform a virtual movement only when the real user so decides. In addition, it allows the real user to use the controller for another function when the travel actuator is not actuated, for example, to shoot for an application in a shooting video game at first. person.
De préférence encore, la position du contrôleur étant mesurée de manière périodique, le mouvement réel dudit contrôleur définit un vecteur de mouvement entre deux mesures consécutives de la position dudit contrôleur, le vecteur de mouvement définissant la direction et le sens du mouvement réel. De manière avantageuse, la position du contrôleur est suivie de manière à interpréter le mouvement désiré par l’utilisateur (direction du mouvement et vitesse du mouvement). Le type de déplacement virtuel peut ainsi être choisi de manière précise et pratique par l’utilisateur réel, ce qui renforce l’immersion dans l’environnement virtuel. Selon la direction et l’environnement virtuel, l’utilisateur peut marcher, sauter, nager, grimper, etc.More preferably still, the position of the controller being measured periodically, the actual movement of said controller defines a motion vector between two consecutive measurements of the position of said controller, the motion vector defining the direction and direction of the actual movement. Advantageously, the position of the controller is followed so as to interpret the movement desired by the user (direction of movement and speed of movement). The type of virtual movement can thus be chosen in a precise and practical way by the real user, which reinforces the immersion in the virtual environment. Depending on the direction and the virtual environment, the user can walk, jump, swim, climb, etc.
De manière préférée, l’utilisateur virtuel étant équipé d’un casque affichant des images de l’environnement virtuel à une fréquence d’affichage donnée, la position du contrôleur est mesurée à la fréquence d’affichage dudit casque.Preferably, the virtual user being equipped with a helmet displaying images of the virtual environment at a given display frequency, the position of the controller is measured at the display frequency of said helmet.
De manière préférée, si la position verticale du contrôleur est supérieure à une hauteur seuil prédéterminée lors du mouvement réel, la composante verticale du vecteur de mouvement est annulée pour définir le déplacement virtuel. Autrement dit, si l’utilisateur réel réalise un déplacement en quart de cercle (de l’avant vers le bas), seule la composante horizontale et la composante latérale sont prises en compte pour faire avancer le personnage virtuel. Le personnage virtuel n’est pas déplacé vers le haut. Une telle étape permet à un personnage virtuel de se déplacer de manière pratique dans le plan horizontal (plan transversal à l’axe vertical) sans imposer à l’utilisateur réel de déplacer son bras exactement dans le plan horizontal, ce qui pourrait être fatiguant et éloigné d’un mouvement naturel.Preferably, if the vertical position of the controller is greater than a predetermined threshold height during the actual movement, the vertical component of the movement vector is canceled to define the virtual displacement. In other words, if the real user moves in a quarter of a circle (from the front to the bottom), only the horizontal component and the lateral component are taken into account to advance the virtual character. The virtual character is not moved up. Such a step allows a virtual character to move in a practical manner in the horizontal plane (plane transverse to the vertical axis) without requiring the real user to move his arm exactly in the horizontal plane, which could be tiring and away from a natural movement.
De manière préférée, la méthode comprend une étape de calcul d’une nouvelle vitesse de déplacement virtuel (Vn+i) à partir de la vitesse de déplacement virtuel précédente (Vn) de manière à permettre une décélération du déplacement virtuel lorsque l’actionneur de voyage n’est plus actionné. La décélération virtuelle permet de simuler la présence de la gravité et des frottements de l’air sur le personnage virtuel lors d’un déplacement initié par un mouvement réel. Le personnage virtuel et ainsi freiné de manière analogue à un utilisateur réel, ce qui renforce le sentiment d’immersion. Le relâchement de l’actionneur de voyage permet à l’utilisateur de freiner de manière progressive.Preferably, the method comprises a step of calculating a new virtual displacement speed (V n + i) from the previous virtual displacement speed (V n ) so as to allow a deceleration of the virtual displacement when the travel actuator is no longer actuated. Virtual deceleration simulates the presence of gravity and air friction on the virtual character during a movement initiated by a real movement. The virtual character and thus slowed down in a similar way to a real user, which reinforces the feeling of immersion. Releasing the travel actuator allows the user to brake gradually.
De préférence, si la vitesse de déplacement virtuel précédente (Vn) est supérieure à un seuil prédéterminé haut, la nouvelle vitesse de déplacement virtuel (Vn+i) est calculée selon une première loi. L’utilisation d’un seuil haut permet de paramétrer la décélération du personnage virtuel en fonction d’un seuil de vitesse qui est, de préférence, prédéterminé. Ainsi, toute vitesse importante est limitée pour permettre à l’utilisateur réel de garder le contrôle du personnage virtuel.Preferably, if the previous virtual displacement speed (V n ) is greater than a predetermined high threshold, the new virtual displacement speed (V n + i) is calculated according to a first law. The use of a high threshold makes it possible to configure the deceleration of the virtual character as a function of a speed threshold which is preferably predetermined. Thus, any significant speed is limited to allow the real user to keep control of the virtual character.
De manière préférée, la première loi est du type Vn+i=Vn - Q(Vn) dans laquelle la fonction Q est une fonction croissante. Une telle première loi permet d’imposer un freinage qui est proportionnel à la vitesse virtuelle. Plus le personnage virtuel se déplace vite, plus la décélération subie sera importante. Cela permet à l’utilisateurréel de pouvoir facilement contrôler le personnage virtuel suite à un déplacement virtuel à vive allure. Ainsi, l’utilisateur réel peut aisément enchaîner des déplacements virtuels sans ressentir d’inconfort ou de gêne liée à son oreille interne.Preferably, the first law is of the type V n + i = V n - Q (V n ) in which the function Q is an increasing function. Such a first law makes it possible to impose braking which is proportional to the virtual speed. The faster the virtual character moves, the greater the deceleration suffered. This allows the real user to be able to easily control the virtual character after a virtual movement at high speed. Thus, the real user can easily chain virtual movements without feeling discomfort or discomfort linked to his inner ear.
De préférence, si la vitesse de déplacement virtuel précédente (Vn) est inférieure à un seuil prédéterminé bas, la nouvelle vitesse de déplacement virtuel (Vn+i) est calculée selon une deuxième loi. L’utilisation d’un seuil bas permet de paramétrer la décélération du personnage virtuel afin d’éviter toute sensation de déplacement à très basse vitesse qui n’est pas naturelle. De manière préférée, la deuxième loi annule la nouvelle vitesse de déplacement virtuel (Vn+i). L’impression de glissement du personnage virtuel est avantageusement éliminée, ce qui renforce le sentiment d’immersion.Preferably, if the previous virtual displacement speed (V n ) is less than a low predetermined threshold, the new virtual displacement speed (V n + i) is calculated according to a second law. The use of a low threshold makes it possible to configure the deceleration of the virtual character in order to avoid any sensation of displacement at very low speed which is not natural. Preferably, the second law cancels the new virtual displacement speed (V n + i). The impression of sliding of the virtual character is advantageously eliminated, which reinforces the feeling of immersion.
De manière avantageuse, si la vitesse de déplacement virtuel précédente (Vn) est comprise entre le seuil prédéterminé bas et seuil prédéterminé haut, la nouvelle vitesse de déplacement virtuel (Vn+i) est calculée selon une troisième loi. Ainsi, la troisième loi permet de lisser le déplacement virtuel afin de ralentir le personnage virtuel de manière progressive de la haute vitesse à la basse vitesse. Le personnage virtuel demeure ainsi contrôlable tout en conservant un déplacement immersif.Advantageously, if the previous virtual displacement speed (V n ) is between the low predetermined threshold and high predetermined threshold, the new virtual displacement speed (V n + i) is calculated according to a third law. Thus, the third law makes it possible to smooth the virtual displacement in order to slow down the virtual character in a progressive manner from high speed to low speed. The virtual character thus remains controllable while maintaining an immersive movement.
De manière préférée, la troisième loi est une loi de décélération linéaire. Ainsi, le degré de décélération est inférieur à la première loi mais supérieur à la deuxième loi pour permettre une décélération progressive.Preferably, the third law is a law of linear deceleration. Thus, the degree of deceleration is less than the first law but greater than the second law to allow progressive deceleration.
De préférence, le personnage virtuel est entouré d’une capsule virtuelle lors d’un déplacement virtuel, la capsule virtuelle n’étant pas visible en l’absence de déplacement. De manière préférée, la capsule virtuelle est fixe par rapport audit personnage virtuel. De manière avantageuse, la capsule virtuelle est attachée au personnage virtuel et demeure fixe par rapport à ce dernier, ce qui forme un point fixe qui aide l’oreille interne à assimiler le fait que le corps de l’utilisateur réel ne se déplace pas alors que la vue de l’utilisateur réel perçoit le déplacement du personnage virtuel. Les perturbations de l’oreille interne sont alors réduites.Preferably, the virtual character is surrounded by a virtual capsule during a virtual displacement, the virtual capsule not being visible in the absence of displacement. Preferably, the virtual capsule is fixed relative to said virtual character. Advantageously, the virtual capsule is attached to the virtual character and remains fixed relative to the latter, which forms a fixed point which helps the inner ear to assimilate the fact that the body of the real user does not move then that the view of the real user perceives the displacement of the virtual character. The disturbances of the inner ear are then reduced.
De préférence, la capsule virtuelle se présente sous la forme d’une pluralité de zones élémentaires espacées selon la direction verticale. Une telle capsule virtuelle n’obstrue pas le champ de vision de l’utilisateur réel mais permet de rester visible indépendamment du lieu où l’utilisateur réel oriente son regard. La capsule virtuelle n’entrave ainsi pas l’expérience de l’utilisateur réel.Preferably, the virtual capsule is in the form of a plurality of elementary zones spaced apart in the vertical direction. Such a virtual capsule does not obstruct the field of vision of the real user but makes it possible to remain visible regardless of where the real user directs his gaze. The virtual capsule does not interfere with the experience of the real user.
De préférence, chaque zone élémentaire se présente sous la forme d’un cercle. Une telle zone occupe avantageusement un espace périphérique autour de l’utilisateur pour capter son regard indépendamment de sa direction.Preferably, each elementary area is in the form of a circle. Such a zone advantageously occupies a peripheral space around the user to capture his gaze regardless of his direction.
De préférence encore, au moins une zone élémentaire comporte une portion crénelée. Une portion crénelée présente l’avantage de fixer le regard, ce qui facilite son interprétation par l’oreille interne. Une portion crénelée permet de définir une pluralité de points ou d’angles qui fixent le regard à la différence d’un cercle continu. La portion crénelée permet de mettre en avant le fait que la zone élémentaire n’appartient pas à l’environnement virtuel mais est rattachée au personnage virtuel.More preferably, at least one elementary zone has a crenellated portion. A crenellated portion has the advantage of fixing the gaze, which facilitates its interpretation by the inner ear. A crenellated portion makes it possible to define a plurality of points or angles which fix the gaze unlike a continuous circle. The crenellated portion makes it possible to highlight the fact that the elementary zone does not belong to the virtual environment but is attached to the virtual character.
L’invention concerne également une méthode de déplacement d’un personnage virtuel dans un environnement virtuel suite à un mouvement d’un utilisateur réel, ledit environnement virtuel étant généré par au moins un calculateur informatique et modifié au moins au moyen d’un contrôleur tenu à la main par ledit utilisateur réel, la méthode comprenant une étape d’affichage d’une capsule virtuelle autour du personnage virtuel lors d’un déplacement virtuel dans l’environnement virtuel, la capsule virtuelle n’étant pas visible en l’absence de déplacement.The invention also relates to a method of moving a virtual character in a virtual environment following a movement of a real user, said virtual environment being generated by at least one computer calculator and modified at least by means of a held controller. by hand by said real user, the method comprising a step of displaying a virtual capsule around the virtual character during a virtual movement in the virtual environment, the virtual capsule not being visible in the absence of displacement.
L’invention concerne également un système de déplacement d’un personnage virtuel par un utilisateur réel, le système de déplacement comportant :The invention also relates to a system for moving a virtual character by a real user, the movement system comprising:
au moins un calculateur informatique configuré pour générer un environnement virtuel, au moins un casque adapté pour afficher l’environnement virtuel généré par le calculateur informatique, au moins un contrôleur, relié audit calculateur informatique, configuré pour modifier l’environnement virtuel, le contrôleur comportant un dispositif de détection de la position dudit contrôleur dans l’espace, le calculateur informatique est configuré pour mesurer un mouvement réel dudit contrôleur par ledit utilisateur réel selon une direction et un sens donnés ; le calculateur informatique est configuré pour commander un déplacement virtuel dudit personnage virtuel selon la même direction que le mouvement réel mais dans un sens opposé de manière à reproduire le mouvement d’un bras d’un utilisateur réel lors d’un déplacement réel.at least one computer computer configured to generate a virtual environment, at least one helmet adapted to display the virtual environment generated by the computer computer, at least one controller, connected to said computer computer, configured to modify the virtual environment, the controller comprising a device for detecting the position of said controller in space, the computer is configured to measure an actual movement of said controller by said real user in a given direction and direction; the computer is configured to control a virtual movement of said virtual character in the same direction as the real movement but in an opposite direction so as to reproduce the movement of an arm of a real user during a real movement.
Un tel système de déplacement permet à un utilisateur réel de vivre une expérience immersive dans laquelle les déplacements de son personnage virtuel sont naturels et confortables étant donné que le contrôleur simule le mouvement d’un bras lors du déplacement.Such a movement system allows an actual user to live an immersive experience in which the movements of his virtual character are natural and comfortable since the controller simulates the movement of an arm during movement.
PRESENTATION DES FIGURESPRESENTATION OF THE FIGURES
L’invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple, et se référant aux dessins annexés sur lesquels :The invention will be better understood on reading the description which follows, given solely by way of example, and referring to the appended drawings in which:
la figure 1 est une représentation schématique d’un système informatique de génération d’un environnement virtuel selon une forme de réalisation de l’invention ;FIG. 1 is a schematic representation of a computer system for generating a virtual environment according to an embodiment of the invention;
la figure 2 est une représentation schématique des mouvements des bras d’un utilisateur réel lors d’un déplacement du personnage virtuel ; la figure 3 est une représentation schématique du mouvement du contrôleur tenu à la main ;Figure 2 is a schematic representation of the movements of the arms of a real user when moving the virtual character; Figure 3 is a schematic representation of the movement of the hand-held controller;
la figure 4 est une courbe représentant la chute de la vitesse virtuelle V au cours du temps T suite à un déplacement virtuel ; etFIG. 4 is a curve representing the fall in virtual speed V over time T following a virtual displacement; and
Ια figure 5 est une représentation schématique d’un utilisateur virtuel et d’une capsule virtuelle.Ια Figure 5 is a schematic representation of a virtual user and a virtual capsule.
Il faut noter que les figures exposent l’invention de manière détaillée pour mettre en œuvre l’invention, lesdites figures pouvant bien entendu servir à mieux définir l’invention le cas échéant.It should be noted that the figures show the invention in detail to implement the invention, said figures can of course be used to better define the invention if necessary.
DESCRIPTION D’UN OU PLUSIEURS MODES DE REALISATION ET DE MISE EN OEUVREDESCRIPTION OF ONE OR MORE MODES OF IMPLEMENTATION AND IMPLEMENTATION
En référence à la figure 1, il est représenté un système informatique de déplacement d’un personnage virtuel PV dans un environnement virtuel, qui sera désigné par la suite, système informatique S par souci de concision. Un tel système informatique S est configuré pour créer un environnement virtuel immersif dans lequel un utilisateur réel, c’est-à-dire une personne humaine, est représenté dans l’environnement virtuel par un personnage virtuel pouvant être humain ou autre. Dans la réalité virtuelle, l’utilisateur réel ressent des sensations par l’intermédiaire de son personnage virtuel qui le représente.Referring to Figure 1, there is shown a computer system for moving a virtual character PV in a virtual environment, which will be designated later, computer system S for the sake of brevity. Such a computer system S is configured to create an immersive virtual environment in which a real user, that is to say a human person, is represented in the virtual environment by a virtual character that can be human or other. In virtual reality, the real user experiences sensations through his virtual character who represents him.
Comme illustré à la figure 1, le système informatique S comporte un calculateur informatique 1, un casque 2, placé sur la tête de l’utilisateur réel UR et deux contrôleurs 3 qui sont respectivement placés dans les deux mains de l’utilisateur réel UR.As illustrated in FIG. 1, the computer system S comprises a computer computer 1, a helmet 2, placed on the head of the real user UR and two controllers 3 which are respectively placed in the two hands of the real user UR.
Dans cet exemple, le casque 2 comporte un écran d’affichage destiné à être porté à proximité des yeux de l’utilisateur réel, le casque 2 est relié au calculateur informatique 1 par une liaison sans fil, notamment, par infrarouge ou par liaison radio. Le casque 2 reçoit des images de l’environnement virtuel qui sont créées par le calculateur 1. Le casque 2 permet d’afficher des images de l’environnement virtuel à une fréquence d’affichage donnée.In this example, the helmet 2 includes a display screen intended to be worn close to the eyes of the real user, the helmet 2 is connected to the computer 1 by a wireless link, in particular, by infrared or by radio link. . The helmet 2 receives images of the virtual environment which are created by the computer 1. The helmet 2 makes it possible to display images of the virtual environment at a given display frequency.
Dans cette forme de réalisation, le calculateur informatique 1 est déporté de l’utilisateur réel UR et se présente sous la forme d’une console de jeux ou d’un ordinateur personnel.In this embodiment, the computer 1 is deported from the real user UR and is in the form of a game console or a personal computer.
Un tel casque 2 et un tel calculateur informatique 1 sont connus de l’homme du métier et ne seront pas présentés plus en détails par la suite.Such a helmet 2 and such a computer 1 are known to those skilled in the art and will not be presented in more detail below.
Néanmoins, il va de soi que le calculateur informatique 1 pourrait être également porté par ledit utilisateur réel UR, notamment, dans le casque 2. Selon un aspect de l’invention, le casque 2 comporte un téléphone intelligent comportant un écran d’affichage formant l’écran d’affichage du casque 2 et une carte imprimée équipée d’un processeur qui forme le calculateur informatique 1 du système informatique S.Nevertheless, it goes without saying that the computer 1 could also be worn by said real user UR, in particular in the helmet 2. According to one aspect of the invention, the helmet 2 comprises a smart phone comprising a display screen forming the display screen of the helmet 2 and a printed card equipped with a processor which forms the computer 1 of the computer system S.
Dans cet exemple, les deux contrôleurs 3 sont identiques. Aussi, par souci de clarté et de concision, uniquement un contrôleur 3 va être dorénavant présenté en détails. Néanmoins, il va de soi que les contrôleurs 3 pourraient être différents, par exemple, afin de réaliser des fonctions différentes et/ou s’adapter à la morphologie de la main droite et de la main gauche de l’utilisateur réel UR.In this example, the two controllers 3 are identical. Also, for the sake of clarity and conciseness, only one controller 3 will now be presented in detail. Nevertheless, it goes without saying that the controllers 3 could be different, for example, in order to perform different functions and / or adapt to the morphology of the right hand and the left hand of the real user UR.
II va de soi que le système informatique S pourrait ne comprendre qu’un unique contrôleur 3 pour permettre le déplacement. L’utilisation de deux contrôleurs 3 de manière simultanée ou séquentielle permet de varier le type de mouvements virtuels et ainsi enrichir l’immersion de l’utilisateur réel UR.It goes without saying that the computer system S could comprise only a single controller 3 to allow movement. The use of two controllers 3 simultaneously or sequentially makes it possible to vary the type of virtual movements and thus enrich the immersion of the real user UR.
Chaque contrôleur 3 comporte des actionneurs et un dispositif de détection de la position de manière à détecter le mouvement réel du contrôleurs (réalisé par l’utilisateur réel UR) dans l’espace réel. Dans cet exemple, les actionneurs de chaque contrôleur 3 se présentent sous la forme de boutons, d’une tige orientable connue sous sa désignation anglaise « joystick », d’une gâchette et d’un pavé tactile. II va de soi que la nature des actionneurs peut varier en fonction de l’application souhaitée.Each controller 3 includes actuators and a position detection device so as to detect the actual movement of the controller (performed by the real user UR) in real space. In this example, the actuators of each controller 3 are in the form of buttons, an adjustable rod known by its English designation "joystick", a trigger and a touchpad. It goes without saying that the nature of the actuators can vary depending on the desired application.
De manière préférée, le dispositif de détection de la position dans l’espace réel se présente sous la forme d’un dispositif à balayage laser, un dispositif de repérage optique (du type stéréoscopique ou non) ou analogue. De manière connue, le dispositif de détection permet de déterminer une position avec une composante horizontale, une composante verticale et une composante latérale.Preferably, the device for detecting the position in real space is in the form of a laser scanning device, an optical tracking device (of the stereoscopic type or not) or the like. In known manner, the detection device makes it possible to determine a position with a horizontal component, a vertical component and a lateral component.
Dans cet exemple, chaque contrôleur 3 comporte un actionneur de voyage 30 qui peut évoluer entre un état activé correspondant à une volonté de déplacement de l’utilisateur réel UR et un état désactivé correspondant à une volonté d’arrêt de l’utilisateur réel UR. De manière préférée, l’actionneur de voyage 30 se présente sous la forme d’un bouton poussoir qui est appuyé à l’état activé et relâché à l’état désactivé.In this example, each controller 3 includes a travel actuator 30 which can change between an activated state corresponding to a desire to move the real user UR and a deactivated state corresponding to a desire to stop the real user UR. Preferably, the travel actuator 30 is in the form of a push button which is pressed in the activated state and released in the deactivated state.
Selon l’invention, le calculateur informatique 1 est configuré pour mesurer un mouvement réel dudit contrôleur 3 par ledit utilisateur réel UR selon une direction et un sens donnés. Comme cela sera présenté par la suite avec les exemples de mise en œuvre, le mouvement réel du contrôleur 3 est obtenu par le dispositif de position dudit calculateur 1.According to the invention, the computer 1 is configured to measure an actual movement of said controller 3 by said real user UR in a given direction and direction. As will be presented hereinafter with the examples of implementation, the real movement of the controller 3 is obtained by the position device of said computer 1.
De plus, le calculateur informatique 1 est configuré pour commander un déplacement virtuel dudit personnage virtuel selon la même direction que le mouvement réel mais dans un sens opposé de manière à reproduire le mouvement d’un bras d’un utilisateur réel UR lors d’un déplacement réel. Autrement dit, le mouvement réel du contrôleurs est transmis au calculateur informatique 1 qui modifie en conséquence l’environnement virtuel par rapport au personnage virtuel. En d’autres termes, du point de vue du personnage virtuel, celui-ci reçoit une pluralité de nouvelles images dans son casque 2, ce qui lui donne l’impression de se déplacer dans l’environnement virtuel. En pratique, pour avancer dans l’environnement virtuel, l’utilisateur réel a l’impression de tirer vers lui l’environnement virtuel qu’il voit à travers son casque 2.In addition, the computer 1 is configured to control a virtual movement of said virtual character in the same direction as the real movement but in an opposite direction so as to reproduce the movement of an arm of a real user UR during a actual displacement. In other words, the actual movement of the controllers is transmitted to the computer 1 which consequently modifies the virtual environment in relation to the virtual character. In other words, from the point of view of the virtual character, he receives a plurality of new images in his helmet 2, which gives him the impression of moving in the virtual environment. In practice, to advance in the virtual environment, the real user has the impression of pulling towards him the virtual environment that he sees through his helmet 2.
Comme illustré à la figure 2, le mouvement réel réalisé par le bras de l’utilisateur réel UR tenant le contrôleur 3 est proche de celui d’une personne qui se déplace en marchant (balancement des mains). Le déplacement est donc naturel, ce qui renforce l’immersion.As illustrated in FIG. 2, the real movement carried out by the arm of the real user UR holding the controller 3 is close to that of a person who moves while walking (swinging of the hands). The displacement is therefore natural, which reinforces the immersion.
II va être dorénavant présenté plusieurs déplacements réels d’un ou plusieurs contrôleurs 3 pour réaliser différents mouvements virtuels dans l’environnement virtuel. Comme cela sera présenté en détails par la suite, la corrélation entre les déplacements réels et les mouvements virtuels est optimale afin d’éviter tout dysfonctionnement de l’oreille interne, ce qui limite l’apparition de nausées ou de maux de tête.It will now be presented several real movements of one or more controllers 3 to perform different virtual movements in the virtual environment. As will be discussed in detail later, the correlation between actual movements and virtual movements is optimal in order to avoid any dysfunction of the inner ear, which limits the onset of nausea or headache.
A titre d’exemple, il va être présenté un mouvement de marche, de course, de saut, de nage et de grimpe. II va de soi que ces mouvements sont donnés uniquement à titre d’exemple et que d’autres mouvements pourraient être mise en œuvre.As an example, a movement of walking, running, jumping, swimming and climbing will be presented. It goes without saying that these movements are given only by way of example and that other movements could be implemented.
Le mouvement de marche va être présenté de manière détaillée, notamment, en ce qui concerne les aspects relatifs à la décélération. Les autres mouvements virtuels seront présentés de manière plus concise de manière à mettre en avant les différences avec le mouvement de marche.The walking movement will be presented in detail, in particular, with regard to the aspects relating to deceleration. The other virtual movements will be presented in a more concise manner so as to highlight the differences with the walking movement.
Pour réaliser un déplacement virtuel, l’utilisateur réel UR utilise un ou plusieurs contrôleursTo carry out a virtual movement, the real UR user uses one or more controllers
3. Dans les exemples qui vont suivre, l’utilisateur réel UR est équipé, dans chaque main, d’un contrôleur 3 qui comporte un actionneur de voyage 30.3. In the examples which follow, the real user UR is equipped, in each hand, with a controller 3 which includes a travel actuator 30.
Pour réaliser un déplacement virtuel de marche vers l’avant, l’utilisateur réel UR réalise une étape de déplacement réel dudit contrôleur 3 de l’avant vers l’arrière tout en maintenant l’actionneur de voyage 30 appuyé (état activé). Lorsque l’actionneur de voyage 30 est activé par l’utilisateur réel UR, cela détermine une position de départ. Lorsque l’actionneur de voyage 30 est relâché (état désactivé) par l’utilisateur réel, cela détermine une position d’arrivée à partir de laquelle une décélération virtuelle peut être appliquée.To carry out a virtual forward movement, the real user UR performs a step of real movement of said controller 3 from the front to the rear while keeping the travel actuator 30 pressed (state activated). When the travel actuator 30 is activated by the real user UR, this determines a starting position. When the travel actuator 30 is released (deactivated state) by the real user, this determines an arrival position from which a virtual deceleration can be applied.
De manière périodique, en particulier, à la fréquence d'affichage du casque 2, la position du contrôleur 3 avec l’actionneur de voyage 30 appuyé est mesurée de manière à définir un vecteur de mouvement K entre la position précédente Pn-i et la position actuelle Pn. Le vecteur de mouvement K comprend une direction, une orientation et une amplitude. Le vecteur de mouvement K est déterminé grâce au dispositif de détection de position dudit contrôleur 3. Le vecteur de mouvement K comporte une composante horizontale, une composante verticale et une composante latérale.Periodically, in particular, at the display frequency of the helmet 2, the position of the controller 3 with the travel actuator 30 pressed is measured so as to define a motion vector K between the previous position P n -i and the current position P n . The motion vector K comprises a direction, an orientation and an amplitude. The motion vector K is determined by the position detection device of said controller 3. The motion vector K has a horizontal component, a vertical component and a lateral component.
En référence à la figure 3, il est représenté de manière schématique le déplacement d’un contrôleur 3 entre une position précédente Pn-i et une position actuelle Pn et le vecteur de mouvement K qui en résulte. De manière incidente, le vecteur de mouvement K est indépendant du chemin du mouvement réel dans l’espace.Referring to Figure 3, there is shown schematically the movement of a controller 3 between a previous position P n -i and a current position P n and the resulting motion vector K. Incidentally, the motion vector K is independent of the path of real motion in space.
De manière avantageuse, le déplacement virtuel est réalisé selon la direction du vecteur de mouvement K mais orienté dans le sens opposé. Autrement dit, lorsque le vecteur de mouvement K est orienté de l’avant vers l’arrière, le personnage virtuel PV se déplace vers l’avant. Cela est particulièrement avantageux étant donné que cela permet au bras de l’utilisateur réel de faire un mouvement analogue à celui réalisé lors d’une marche vers l’avant. L’oreille interne perçoit un déplacement vers l’avant grâce à sa vue et grâce au mouvement de son bras. Aussi, l’oreille interne n’est pas perturbée et l’utilisateur n’est pas sujet à des nausées ou maux de tête.Advantageously, the virtual displacement is carried out in the direction of the motion vector K but oriented in the opposite direction. In other words, when the motion vector K is oriented from front to back, the virtual character PV moves forwards. This is particularly advantageous since it allows the arm of the actual user to make a movement analogous to that performed when walking forward. The inner ear perceives a movement forward thanks to its sight and thanks to the movement of its arm. Also, the inner ear is not disturbed and the user is not prone to nausea or headache.
La vitesse virtuelle est fonction de l’amplitude du vecteur de mouvement K. Ainsi, plus la vitesse réelle est importante, plus la vitesse virtuelle est importante.The virtual speed is a function of the amplitude of the motion vector K. Thus, the greater the actual speed, the greater the virtual speed.
De manière préférée, si la position verticale du contrôleur 3 est supérieure à une hauteur seuil prédéterminée lors du mouvement réel, la composante verticale du vecteur de mouvement K est annulée pour définir le déplacement virtuel. Autrement dit, si l’utilisateur réel réalise un déplacement en quart de cercle (de l’avant vers le bas), seule la composante horizontale et la composante latérale sont prises en compte pour faire avancer le personnage virtuel. Le personnage virtuel n’est pas déplacé vers le haut. Une telle étape permet à un personnage virtuel de se déplacer de manière pratique dans le plan horizontal (plan transversal à l’axe vertical) sans imposer à l’utilisateur réel de déplacer son bras dans le plan horizontal.Preferably, if the vertical position of the controller 3 is greater than a predetermined threshold height during the actual movement, the vertical component of the motion vector K is canceled to define the virtual displacement. In other words, if the real user moves in a quarter of a circle (from the front to the bottom), only the horizontal component and the lateral component are taken into account to advance the virtual character. The virtual character is not moved up. Such a step allows a virtual character to move in a practical manner in the horizontal plane (plane transverse to the vertical axis) without requiring the real user to move his arm in the horizontal plane.
De manière préférée, la hauteur seuil est déterminée pour distinguer lorsque l’utilisateur réel est en position debout ou en position baissée. En position debout, c’est-à-dire lorsque la position verticale du contrôleur 3 est supérieure à la hauteur seuil, la composante verticale est filtrée car l’utilisateur réel ne souhaite pas réaliser un mouvement vertical en position debout. Comme cela sera présenté par la suite, la composante verticale est utilisée pour le saut et requiert que l’utilisateur soit baissé afin de simuler l’impulsion d’un saut.Preferably, the threshold height is determined to distinguish when the real user is in a standing position or in a lowered position. In the standing position, that is to say when the vertical position of the controller 3 is greater than the threshold height, the vertical component is filtered because the real user does not wish to perform a vertical movement in the standing position. As will be discussed below, the vertical component is used for the jump and requires the user to be lowered to simulate the pulse of a jump.
En pratique, la hauteur seuil est égale à 40 cm pour un utilisateur réel dont la taille est de 1,80 m. Il va de soi que la hauteurde seuil pourrait être déterminée de manière différente, en particulier, par apprentissage ou lors de l’initialisation.In practice, the threshold height is equal to 40 cm for an actual user whose size is 1.80 m. It goes without saying that the threshold height could be determined differently, in particular, by learning or during initialization.
Dans l’environnement virtuel, le déplacement virtuel est également optimal étant donné que le calculateur informatique 1 génère un affichage dans lequel l’environnement virtuel situé vers l’avant est rapproché de l’utilisateur virtuel. Autrement dit, l’utilisateur réel UR à l’impression d’attraper avec sa main l’environnement virtuel situé vers l’avant et le tirer vers lui (mouvement du contrôleur 3 de l’arrière vers l’avant lors de l’activation de l’actionneur de voyage 30). Aussi, l’immersion de l’utilisateur réel UR n’est pas affectée par le déplacement qui reste naturel.In the virtual environment, virtual movement is also optimal since the computer 1 generates a display in which the virtual environment located towards the front is brought closer to the virtual user. In other words, the real UR user has the impression of grabbing with his hand the virtual environment located towards the front and pulling it towards him (movement of the controller 3 from back to front during activation travel actuator 30). Also, the immersion of the real user UR is not affected by the displacement which remains natural.
Lorsque l’utilisateur réel UR réalise un mouvement ample avec son bras tenant le contrôleur 3, une pluralité de vecteurs de mouvement K sont calculés afin de modifier de manière périodique la vitesse et la direction du déplacement virtuel. La liberté de mouvement est grandement optimisée.When the real user UR performs a wide movement with his arm holding the controller 3, a plurality of motion vectors K are calculated in order to periodically modify the speed and direction of the virtual movement. Freedom of movement is greatly optimized.
Afin de conserver une immersion optimale tout en ne perturbant pas l’oreille interne, il est également important de gérer la décélération du déplacement virtuel de manière optimale. La décélération est activée dès que l’actionneur de voyage 30 est relâché.In order to maintain optimal immersion while not disturbing the inner ear, it is also important to optimally manage the deceleration of the virtual displacement. Deceleration is activated as soon as the travel actuator 30 is released.
De manière préférée, une vitesse de déplacement virtuel V est calculée à partir de l’amplitude et de la vitesse du dernier vecteur de mouvement K fournis par le contrôleurPreferably, a virtual displacement speed V is calculated from the amplitude and the speed of the last motion vector K supplied by the controller
3.3.
Puis, la vitesse de déplacement virtuel V est diminuée de manière à permettre une décélération et un arrêt du personnage virtuel PV dans l’environnement virtuel. A cet effet, une nouvelle vitesse de déplacement virtuel Vn+i est calculée de manière périodique à partir de la vitesse de déplacement virtuel précédente Vn.Then, the virtual movement speed V is reduced so as to allow the virtual character PV to decelerate and stop in the virtual environment. To this end, a new virtual displacement speed V n + i is calculated periodically from the previous virtual displacement speed V n .
Vn+l=F(Vn)Vn + l = F (Vn)
Selon un aspect préféré, la vitesse de déplacement virtuel initiale permet avantageusement l’initialisation.According to a preferred aspect, the initial virtual displacement speed advantageously allows initialization.
Dans cet exemple, on détermine plusieurs seuils de vitesse : un seuil haut Si et un seuil bas S2. II va de soi qu’un unique seuil ou plus de deux seuils pourraient convenir. L’utilisation de deux seuils Si, S2 est un bon compromis pour assurer une immersion suffisante sans nécessiter une puissance de calcul importante.In this example, several speed thresholds are determined: a high threshold Si and a low threshold S2. It goes without saying that a single threshold or more than two thresholds may be suitable. The use of two thresholds Si, S2 is a good compromise to ensure sufficient immersion without requiring significant computing power.
En référence à la figure 4 représentant la valeur de la vitesse de déplacement V au cours du temps T suite à un déplacement virtuel, si la vitesse de déplacement virtuel précédente Vn est supérieure au seuil prédéterminé haut Si, la nouvelle vitesse de déplacement virtuel Vn+i est calculée selon une première loi Fl dite « haute vitesse». Si la vitesse de déplacement virtuel précédente Vn est inférieure au seuil prédéterminé bas S2, la nouvelle vitesse de déplacement virtuel Vn+i est calculée selon une deuxième loi F2 dite « moyenne vitesse ». Si la vitesse de déplacement virtuel précédente Vn est comprise entre le seuil prédéterminé bas S2 et le seuil prédéterminé haut Si, la nouvelle vitesse de déplacement virtuel Vn+i est calculée selon une troisième loi F3 dite « basse vitesse ». Ainsi, les différentes lois permettent de déterminer une décélération à haute vitesse, une décélération à moyenne vitesse et une décélération à basse vitesse.With reference to FIG. 4 representing the value of the speed of movement V during time T following a virtual movement, if the previous virtual movement speed V n is greater than the predetermined high threshold Si, the new virtual speed of movement V n + i is calculated according to a first law F1 called "high speed". If the previous virtual displacement speed V n is less than the low predetermined threshold S2, the new virtual displacement speed V n + i is calculated according to a second law F2 called “medium speed”. If the previous virtual displacement speed V n is between the low predetermined threshold S2 and the high predetermined threshold Si, the new virtual displacement speed V n + i is calculated according to a third law F3 called "low speed". Thus, the different laws make it possible to determine a deceleration at high speed, a deceleration at medium speed and a deceleration at low speed.
Dans cet exemple, la première loi «haute vitesse» Fl est adaptée pour obtenir une décélération décroissante. Autrement dit, la diminution est proportionnelle à la valeur de la vitesse de déplacement virtuel précédent Vn. A titre d’exemple, la première loi « haute vitesse » Fl peut s’énoncer comme suit :In this example, the first “high speed” law F1 is adapted to obtain a decreasing deceleration. In other words, the decrease is proportional to the value of the previous virtual displacement speed V n . By way of example, the first “high speed” law F1 can be stated as follows:
(Fl) Vn+l=Vn - Q(Vn) dans laquelle la fonction Q est une fonction croissante(Fl) Vn + l = Vn - Q (Vn) in which the function Q is an increasing function
Une telle première loi « haute vitesse » Fl permet de diminuer la décélération de manière progressive afin de permettre à l’oreille interne de conserver un repère dans l’espace malgré la sensation de vitesse. La fonction Q est choisie en fonction de l’application virtuelle désirée.Such a first “high speed” law F1 makes it possible to decrease the deceleration gradually so as to allow the inner ear to maintain a reference in space despite the sensation of speed. The Q function is chosen according to the desired virtual application.
Dans cet exemple, la deuxième loi « basse vitesse » F2 est adaptée pour annuler la vitesse si cette dernière est inférieure au seuil bas S2.In this example, the second “low speed” law F2 is adapted to cancel the speed if the latter is less than the low threshold S2.
(F2) Vn+l=0.(F2) Vn + l = 0.
La deuxième loi « basse vitesse » F2 permet d’éviter le phénomène de « glissement » ou de « dérive» à basse vitesse du personnage virtuel PV à basse vitesse. En effet, l’oreille interne d’un être humain n’est pas adaptée pour percevoir un mouvement à très basse vitesse, ce qui entraîne des nausées et, par ailleurs nuit à l’immersion, ce déplacement n’étant pas considéré comme réel.The second "low speed" law F2 avoids the phenomenon of "sliding" or "drift" at low speed of the virtual character PV at low speed. Indeed, the inner ear of a human being is not adapted to perceive a movement at very low speed, which causes nausea and, moreover harms immersion, this displacement not being considered as real. .
Dans cet exemple, la troisième loi « moyenne vitesse » F3 est adaptée pour obtenir une décélération linéaire. Autrement dit, la diminution est progressive. A titre d’exemple, la troisième loi « moyenne vitesse » F3 peut s’énoncer comme suit :In this example, the third “medium speed” law F3 is adapted to obtain a linear deceleration. In other words, the decrease is gradual. As an example, the third "medium speed" law F3 can be stated as follows:
(F3) Vn+i=Vn - Y dans laquelle Y est une valeur constante.(F3) Vn + i = V n - Y in which Y is a constant value.
La troisième loi « moyenne vitesse » F3 permet d’amortir la décélération importante subie par le personnage virtuel parla première loi « haute vitesse » Fl. Une décélération linéaire permet en outre de réduire la sensation d’inertie qui est incohérente avec celle ressentie par l’oreille interne de l’utilisateur réel UR.The third “medium speed” law F3 makes it possible to damp the significant deceleration suffered by the virtual character by the first “high speed” law F1. A linear deceleration also makes it possible to reduce the feeling of inertia which is incoherent with that felt by the inner ear of the real UR user.
A titre d’exemple, le seuil haut Si et le seuil bas S2 sont définis par essais en fonction de l’application virtuelle souhaitée afin d’obtenir un compromis entre le confort de l’utilisateur et le sentiment d’immersion.For example, the high threshold Si and the low threshold S2 are defined by tests according to the desired virtual application in order to obtain a compromise between the comfort of the user and the feeling of immersion.
Selon une forme de réalisation de l’invention, le seuil haut Si et le seuil bas S2sont égaux. Aussi, seules la première loi « haute vitesse » Fl et la deuxième loi « basse vitesse » F2 sont mises en œuvre.According to an embodiment of the invention, the high threshold Si and the low threshold S2 are equal. Also, only the first “high speed” law F1 and the second “low speed” law F2 are used.
Selon une autre forme de réalisation, lorsqu’un mouvement réel est réalisé par le déplacement d’un ou plusieurs contrôleurs 3, une décélération ne survient que lorsqu’aucun des actionneurs de voyage 30 est actionné.According to another embodiment, when an actual movement is carried out by the displacement of one or more controllers 3, a deceleration occurs only when none of the travel actuators 30 is actuated.
De manière préférée, le déplacement virtuel débute dès que le contrôleur 3 est déplacé par un mouvement réel de l’utilisateur réel UR avec l’actionneur de voyage 30 activé. Autrement dit, il n’est pas nécessaire de relâcher l’actionneur de voyage 30 pour débuter un déplacement virtuel. Cela est particulièrement avantageux étant donné que le mouvement du personnage virtuel PV est réalisé en temps réel, ce qui facilite l’immersion. Le relâchement de l’actionneur de voyage 30 permet de débuter la décélération telle que présentée précédemment.Preferably, the virtual movement begins as soon as the controller 3 is moved by a real movement of the real user UR with the travel actuator 30 activated. In other words, it is not necessary to release the travel actuator 30 to start a virtual movement. This is particularly advantageous since the movement of the virtual character PV is performed in real time, which facilitates immersion. The release of the travel actuator 30 makes it possible to start the deceleration as presented above.
Afin d’éviter toute perturbation de l’oreille interne, la calculateur informatique 1 est configuré pour afficher une capsule virtuelle 4 autour dudit personnage virtuel PV lors d’un déplacement virtuel comme illustré à la figure 5.In order to avoid any disturbance of the inner ear, the computer 1 is configured to display a virtual capsule 4 around said virtual character PV during a virtual movement as illustrated in FIG. 5.
Ladite capsule virtuelle 4 enveloppe le personnage virtuel PV de manière à être toujours visible parce dernier lors d’un déplacement. En effet, une telle capsule virtuelle 4 permet de former un repère géographique lié au personnage virtuel PV et fixe par rapport audit personnage virtuel PV. Ainsi, l’oreille interne de l’utilisateur réel UR peut s’appuyer sur la vision de la capsule virtuelle 4 pour appréhender un déplacement dans l’environnement virtuel tout en gardant un repère fixe qui répond à la sensation de non-déplacement perçu par le corps de l’utilisateur réel UR. La présence d’une telle capsule virtuelle 4 permet de tromper l’oreille interne en lui donnant une impression d’immobilisme malgré un déplacement virtuel.Said virtual capsule 4 envelops the virtual character PV so as to be always visible because it is the last during a displacement. Indeed, such a virtual capsule 4 makes it possible to form a geographical reference linked to the virtual character PV and fixed relative to said virtual character PV. Thus, the inner ear of the real user UR can rely on the vision of the virtual capsule 4 to apprehend a displacement in the virtual environment while keeping a fixed reference which responds to the sensation of non-displacement perceived by the body of the actual UR user. The presence of such a virtual capsule 4 makes it possible to deceive the inner ear by giving it an impression of immobility despite a virtual displacement.
De manière préférée, la capsule virtuelle 4 se présente sous la forme d’une pluralité de zones élémentaires 40 espacées selon la direction verticale comme illustré à la figure 5 de manière à demeurer visible, indépendamment de la direction du regard du personnage virtuel PV. De manière préférée, chaque zone élémentaire 40 se présente sous la forme d’un cercle afin de limiter l’impact visuel tout en restant visible.Preferably, the virtual capsule 4 is in the form of a plurality of elementary zones 40 spaced apart in the vertical direction as illustrated in FIG. 5 so as to remain visible, independently of the direction of gaze of the virtual character PV. Preferably, each elementary area 40 is in the form of a circle in order to limit the visual impact while remaining visible.
Ainsi, les zones élémentaires 40 permettent de délimiter une enveloppe globale autour du personnage virtuel PV. De préférence, au moins une zone élémentaire 40 comporte une portion crénelée de manière à fixer l’attention de l’utilisateur réel lorsqu’il est dans l’environnement virtuel. En effet, une portion crénelée comporte des discontinuités et saillies qui attirent le regard de l’utilisateur. De préférence encore, les zones élémentaires 40 comportent toutes des portions crénelées.Thus, the elementary zones 40 make it possible to delimit an overall envelope around the virtual character PV. Preferably, at least one elementary area 40 has a crenellated portion so as to fix the attention of the real user when he is in the virtual environment. Indeed, a crenellated portion has discontinuities and projections which catch the eye of the user. More preferably, the elementary zones 40 all have crenellated portions.
L’utilisation conjointe de la méthode de déplacement et d’une capsule virtuelle 4 permet d’éviter toute perturbation de l’oreille interne tout en conservant un sentiment d’immersion important.The joint use of the displacement method and a virtual capsule 4 avoids any disturbance of the inner ear while maintaining a significant feeling of immersion.
De manière préférée, le mouvement de course est réalisé par répétition d’un mouvement de marche avec un contrôleur 3 ou plusieurs contrôleurs 3 de manière alternée. A la manière d’une course réelle, l’utilisateur réel UR doit répéter des balancements de bras, c’est-à-dire du contrôleur 3, pour permettre de faire avancer à grande vitesse son personnage virtuel PV. La cadence répétée des mouvements de bras permet d’avancer à une vitesse élevée en s’affranchissant des effets de la décélération.Preferably, the running movement is carried out by repeating a walking movement with a controller 3 or more controllers 3 alternately. Like a real race, the real UR user must repeat arm swings, that is to say controller 3, to allow his virtual character PV to be advanced at high speed. The repeated cadence of the arm movements makes it possible to advance at a high speed while being freed from the effects of deceleration.
De manière analogue, le mouvement de saut est réalisé par un mouvement rapide du ou des contrôleurs 3 vers le bas. On entend par mouvement rapide vers le bas, un mouvement réel dont la vitesse verticale est supérieure à 3 m/s, de préférence, supérieure à 4 m/s. Dans cet exemple, l’utilisateur réel UR doit se baisser pour simuler l’impulsion d’un saut et permettre au personnage virtuel PV de réaliser un saut. Autrement dit, la position verticale du contrôleur 3 doit être inférieure à la hauteur seuil prédéterminée pour que la composante verticale du vecteur de mouvement K soit prise en compte.Similarly, the jump movement is achieved by a rapid movement of the controller (s) 3 downwards. The term rapid downward movement is understood to mean an actual movement whose vertical speed is greater than 3 m / s, preferably greater than 4 m / s. In this example, the real user UR must bend down to simulate the impulse of a jump and allow the virtual character PV to make a jump. In other words, the vertical position of the controller 3 must be less than the predetermined threshold height for the vertical component of the motion vector K to be taken into account.
De préférence, le mouvement de saut est réalisé à l’aide des deux contrôleurs 3, ce qui permet de mimer le mouvement réel des bras lors d’un saut vertical. De manière analogue à précédemment, l’actionneur de voyage 30 des contrôleurs 3 doit être activé lors du saut.Preferably, the jump movement is performed using the two controllers 3, which makes it possible to mimic the real movement of the arms during a vertical jump. Similarly to previously, the travel actuator 30 of the controllers 3 must be activated during the jump.
De tels mouvements réels peuvent être également interprétés de manière différente en fonction de la position du personnage virtuel dans la scène virtuelle. A titre d’exemple, si le personnage virtuel se situe dans un bassin rempli d’eau de l’environnement virtuel, le mouvement réel des contrôleurs 3 lui permet de nager dans ledit bassin afin de se déplacer.Such real movements can also be interpreted differently depending on the position of the virtual character in the virtual scene. For example, if the virtual character is located in a basin filled with water from the virtual environment, the real movement of the controllers 3 allows him to swim in said basin in order to move.
De même, si le personnage virtuel se situe à proximité d’une surface supérieure pouvant être escaladée dans l’environnement virtuel, le mouvement de saut est interprété comme un déplacement d’escalade qui permet au personnage virtuel de grimper sur ladite surface supérieure. De manière préférée, on détermine une hauteur seuil supérieure afin de pouvoir prendre en compte la composante verticale du vecteur de mouvement K lors d’une grimpe.Similarly, if the virtual character is located near an upper surface which can be climbed in the virtual environment, the jump movement is interpreted as a climbing movement which allows the virtual character to climb on said upper surface. Preferably, a higher threshold height is determined in order to be able to take into account the vertical component of the motion vector K during a climb.
Comme indiqué précédemment, l’invention est née dans le domaine des jeux vidéo mais il va de soi que l’invention s’applique à toute application de la réalité virtuelle, notamment, le divertissement, la formation et l’apprentissage d’opérateurs, etc.As indicated previously, the invention was born in the field of video games but it goes without saying that the invention applies to any application of virtual reality, in particular, entertainment, training and operator training, etc.
Claims (10)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1750969A FR3062731B1 (en) | 2017-02-06 | 2017-02-06 | METHOD AND SYSTEM FOR MOVING A VIRTUAL CHARACTER IN A VIRTUAL ENVIRONMENT |
PCT/EP2018/052702 WO2018141928A1 (en) | 2017-02-06 | 2018-02-02 | Method and system for moving a virtual character in a virtual environment |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR1750969A FR3062731B1 (en) | 2017-02-06 | 2017-02-06 | METHOD AND SYSTEM FOR MOVING A VIRTUAL CHARACTER IN A VIRTUAL ENVIRONMENT |
FR1750969 | 2017-02-06 |
Publications (2)
Publication Number | Publication Date |
---|---|
FR3062731A1 true FR3062731A1 (en) | 2018-08-10 |
FR3062731B1 FR3062731B1 (en) | 2019-03-15 |
Family
ID=58992985
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR1750969A Expired - Fee Related FR3062731B1 (en) | 2017-02-06 | 2017-02-06 | METHOD AND SYSTEM FOR MOVING A VIRTUAL CHARACTER IN A VIRTUAL ENVIRONMENT |
Country Status (2)
Country | Link |
---|---|
FR (1) | FR3062731B1 (en) |
WO (1) | WO2018141928A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112000228B (en) * | 2020-09-04 | 2024-04-05 | 河北大学 | Method and system for controlling movement in immersive virtual reality |
CN116501175B (en) * | 2023-06-25 | 2023-09-22 | 江西格如灵科技股份有限公司 | Virtual character moving method, device, computer equipment and medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120200497A1 (en) * | 2011-02-04 | 2012-08-09 | Invensense, Inc. | High fidelity remote contoller device for digital living room |
US20140118244A1 (en) * | 2012-10-25 | 2014-05-01 | Pointgrab Ltd. | Control of a device by movement path of a hand |
-
2017
- 2017-02-06 FR FR1750969A patent/FR3062731B1/en not_active Expired - Fee Related
-
2018
- 2018-02-02 WO PCT/EP2018/052702 patent/WO2018141928A1/en active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120200497A1 (en) * | 2011-02-04 | 2012-08-09 | Invensense, Inc. | High fidelity remote contoller device for digital living room |
US20140118244A1 (en) * | 2012-10-25 | 2014-05-01 | Pointgrab Ltd. | Control of a device by movement path of a hand |
Also Published As
Publication number | Publication date |
---|---|
WO2018141928A1 (en) | 2018-08-09 |
FR3062731B1 (en) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11782501B2 (en) | System and method for presenting virtual reality content to a user based on body posture | |
KR102370445B1 (en) | Reduced Current Drain in AR/VR Display Systems | |
US10733781B2 (en) | Virtual reality | |
US10311638B2 (en) | Anti-trip when immersed in a virtual reality environment | |
US10621792B2 (en) | Focus control for virtual objects in augmented reality (AR) and virtual reality (VR) displays | |
EP3936981A1 (en) | Data processing apparatus and method | |
US20170176748A1 (en) | Text enhancements for head-mounted displays | |
RU2017102195A (en) | LOOKING BASED PLACEMENT OF OBJECTS IN A VIRTUAL REALITY | |
WO2018141928A1 (en) | Method and system for moving a virtual character in a virtual environment | |
EP3714313B1 (en) | Mitigating binocular rivalry in near-eye displays | |
WO2011032937A2 (en) | Method for simulating specific movements by haptic feedback, and device implementing the method | |
CA3001824A1 (en) | Device for testing the visual behavior of a person, and method for determining at least one optical design parameter of an ophthalmic lens using such a device | |
KR102205691B1 (en) | Method and apparatus for motion sickness decrease in vr motion platform | |
CN116137801A (en) | Eye tracking using alternating sampling | |
WO2017064442A1 (en) | Method for determining a visual behavior parameter of a person, and related testing device | |
WO2023147996A1 (en) | Orientation assistance system comprising means for acquiring a real or virtual visual environment, non-visual human-machine interface means and means for processing the digital representation of said visual environment. | |
FR2957265A1 (en) | Method for implementing remote control apparatus e.g. Iphone type cellular telephone used to remotely control helicopter, involves activating control command based on analysis results | |
WO2023057916A1 (en) | Proprioception system for a driving simulator | |
EP4052116A1 (en) | Method for interaction with a user of an immersive system and device for implementing such a method | |
EP2407818A1 (en) | Device for simulating the environment configuration of an activity and method for helping the selection of a progressive lens | |
FR3147034A1 (en) | System and method for reducing cyber-discomfort | |
WO2018130643A1 (en) | Augmented reality visualisation device | |
FR2987155A1 (en) | METHOD FOR DISPLAYING AT LEAST ONE MOVING ELEMENT IN A SCENE AS WELL AS A PORTABLE DEVICE OF INCREASED REALITY USING SAID METHOD | |
FR3020153A1 (en) | NATURAL EGOCENTRIC ROTATION IN A VIRTUAL ENVIRONMENT |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PLFP | Fee payment |
Year of fee payment: 2 |
|
PLSC | Publication of the preliminary search report |
Effective date: 20180810 |
|
ST | Notification of lapse |
Effective date: 20191006 |