FR3137770A1 - Systèmes et procédés pour le rendu interactif d'un environnement virtuel sur un dispositif utilisateur ayant une capacité de calcul limitée - Google Patents

Systèmes et procédés pour le rendu interactif d'un environnement virtuel sur un dispositif utilisateur ayant une capacité de calcul limitée Download PDF

Info

Publication number
FR3137770A1
FR3137770A1 FR2307198A FR2307198A FR3137770A1 FR 3137770 A1 FR3137770 A1 FR 3137770A1 FR 2307198 A FR2307198 A FR 2307198A FR 2307198 A FR2307198 A FR 2307198A FR 3137770 A1 FR3137770 A1 FR 3137770A1
Authority
FR
France
Prior art keywords
virtual environment
user device
server
avatar
software component
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.)
Pending
Application number
FR2307198A
Other languages
English (en)
Inventor
Christian Holger Loclair
Thomas Johann Lorenz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Journee Tech GmbH
Journee Technologies GmbH
Original Assignee
Journee Tech GmbH
Journee Technologies GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US18/106,596 external-priority patent/US11995787B2/en
Application filed by Journee Tech GmbH, Journee Technologies GmbH filed Critical Journee Tech GmbH
Publication of FR3137770A1 publication Critical patent/FR3137770A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • A63F13/525Changing parameters of virtual cameras
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/53Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game
    • A63F13/537Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen
    • A63F13/5375Controlling the output signals based on the game progress involving additional visual information provided to the game scene, e.g. by overlay to simulate a head-up display [HUD] or displaying a laser sight in a shooting game using indicators, e.g. showing the condition of a game character on screen for graphically or textually suggesting an action, e.g. by displaying an arrow indicating a turn in a driving game
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional [3D], e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/20Three-dimensional [3D] animation
    • G06T13/40Three-dimensional [3D] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating three-dimensional [3D] models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/024Multi-user, collaborative environment

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)

Abstract

La présente invention concerne un dispositif utilisateur pour le rendu d’images d’un environnement virtuel comprenant un affichage. Une application de navigateur est destinée à établir une connexion à un serveur pour recevoir des données d’image de diffusion continue afin de restituer des vues d’un environnement virtuel en tant que première couche d’un affichage. Des instructions de commande initiées par un utilisateur sur le dispositif utilisateur sont transmises au serveur. En réponse, le dispositif utilisateur reçoit des données d’image de diffusion continue mises à jour pour mettre à jour la première couche affichée. Lors de la détection d’une occurrence d’un événement prédéterminé lié aux monde virtuel/instructions de commande, le dispositif utilisateur transmet une demande avec un identifiant d’événement correspondant à un système de gestion de contenu (CMS), l’application de navigateur et le CMS maintenant des listes correspondantes d’identifiants d’événement. Le CMS transmet ensuite au dispositif utilisateur des informations d’affichage supplémentaires externes à l’environnement virtuel, que le dispositif utilisateur restitue en tant que seconde couche partiellement transparente recouvrant la première couche.

Description

SYSTÈMES ET PROCÉDÉS POUR LE RENDU INTERACTIF D'UN ENVIRONNEMENT VIRTUEL SUR UN DISPOSITIFUTILISATEUR AYANT UNE CAPACITÉ DE CALCUL LIMITÉE RENVOI À DES DEMANDES DE BREVET CONNEXES
Cette demande revendique une priorité sur la demande de brevet en Irlande No. S2022/0111, déposée le 6 juillet 2022, qui est incorporée ici en référence dans son intégralité.
DOMAINE DE L’INVENTION
La présente invention concerne un système, un support lisible par ordinateur et un procédé pour le rendu interactif d’un monde tridimensionnel sur un dispositif utilisateur.
ARRIÈRE-PLAN TECHNOLOGIQUE DE L’INVENTION
Dans ce qui suit, il convient de comprendre que les termes monde virtuel, environnement virtuel, expérience virtuelle et réalité virtuelle peuvent être utilisés de manière interchangeable dans le but de la présente invention.
La réalité virtuelle (RV) a connu un développement important au cours de la dernière décennie. La réalité virtuelle permet à un utilisateur d’expérimenter et d’interagir avec un environnement virtuel, généré par ordinateur, qui peut être similaire ou complètement différent du monde réel. Une caractéristique centrale de la réalité virtuelle est qu’un sentiment d’immersion est suscité chez l’utilisateur, où l’immersion peut être définie comme la perception de l’utilisateur d’être physiquement présent dans l’environnement virtuel. Par conséquent, la RV fournit à l’utilisateur un environnement virtuel.
Les domaines d’application de la réalité virtuelle sont largement répandus et comportent, par exemple, le divertissement, les jeux, les affaires et l’éducation. En raison de la grande variété de contextes dans lesquels des environnements virtuels sont utilisés aujourd’hui, il existe une demande toujours croissante de compatibilité de ces environnements virtuels avec des applications externes.
En particulier, il existe un besoin accru de combiner l’environnement virtuel avec des possibilités de communication avec d’autres utilisateurs, à la fois à l’intérieur et à l’extérieur de l’environnement virtuel ou de permettre aux utilisateurs d’effectuer des commandes et/ou des paiements.
En outre, il existe un besoin d’incorporer d’autres applications dans l’environnement virtuel de manière aisée. L’utilisateur peut vraiment vouloir accéder ou utiliser des applications externes tout en restant dans le monde virtuel, au lieu d’avoir à quitter le monde virtuel pour le faire, car cela nuit au sentiment d’immersion dans l’environnement virtuel. En particulier, il serait souhaitable d’offrir une possibilité d’intégration de sites Web externes, de canaux de communication, d’accès de contacts, de plateformes de commerce électronique, de réseaux de paiement et analogues.
Cependant, de nombreuses applications comme celles citées ci-dessus qui sont les plus intéressantes pour la combinaison avec l’environnement virtuel impliquent le transfert de données personnelles hautement sensibles. Ainsi, il existe le problème supplémentaire de s’assurer que des tiers ne peuvent pas facilement accéder à ces informations personnelles, lorsque l’utilisateur navigue dans l’environnement virtuel. Puisque l’utilisation de tels environnements virtuels devient omniprésente, il existe une demande accrue d’une grande variété de dispositifs utilisateurs qui sont capables de permettre l’accès à de tels environnements virtuels. Par dispositif utilisateur, on entend tout moyen informatique pouvant être connecté à Internet via une application Navigateur. Des exemples de tels dispositifs utilisateur incluent des ordinateurs personnels, des ordinateurs portables, des tablettes, des téléphones cellulaires et des consoles de jeux vidéo.
De plus, afin de fournir une expérience immersive à l’utilisateur, il est nécessaire que le rendu du monde virtuel se produise à des fréquences de trame élevées et avec une haute résolution, afin de ne pas impacter négativement l’expérience de l’utilisateur. Actuellement, la plupart des dispositifs utilisateurs qui ne sont pas spécifiquement conçus pour des applications de jeu haut de gamme ne sont pas en mesure de restituer de manière détaillée de tels environnements virtuels tridimensionnels. En outre, des dispositifs utilisateurs qui sont capables d’un tel rendu ont tendance à être très coûteux et immobiles.
C’est par conséquent un objectif de la présente invention de fournir une solution qui permette la présentation homogène d’environnements tridimensionnels et à haute résolution (par exemple, de qualité HD ou 4K) sur un dispositif utilisateur générique. En particulier, il est souhaitable que le rendu du monde virtuel puisse être combiné à d’autres applications de manière aisée, permettant une expérience plus immersive pour l’utilisateur, tout en offrant une sécurité contre la perte d’informations sensibles vers des tiers, permettant à l’utilisateur d’interagir librement avec d’autres utilisateurs ou applications depuis l’environnement virtuel, sans craindre la perte d’informations sensibles vers des tiers. En outre, l’objectif de la présente invention est de fournir un cadre pour le rendu d’environnements virtuels qui est compatible avec une large gamme de dispositifs utilisateurs possibles.
Ce problème est résolu en particulier par un système comprenant :
un dispositif utilisateur (portable) exécutant une application de navigateur et au moins un serveur configuré pour
  1. recevoir des instructions de commande en provenance du dispositif utilisateur ;
  2. restituer des vues d’un monde virtuel en fonction des instructions de commande en tant que données d’image ; et
  3. transmettre un flux des données d’image au dispositif utilisateur,
ainsi qu’un composant logiciel configuré pour fournir des informations supplémentaires.
Selon ce système, l’application de navigateur est configurée pour :
a) détecter l’occurrence d’au moins un événement lié au monde virtuel et/ou aux instructions de commande ;
b) lors de la détection du au moins un événement, envoyer une demande au composant logiciel ;
c) recevoir des informations supplémentaires du composant logiciel en réponse à la demande ;
d) afficher le flux d’images provenant du serveur dans une première couche et les informations supplémentaires reçues et/ou les éléments graphiques et/ou textuels dérivés des informations supplémentaires reçues dans une seconde couche (partiellement transparente), la seconde couche étant affichée en superposant la première couche.
Une caractéristique importante de la présente invention est que le « gros du travail » de calcul, c’est-à-dire le rendu de l’environnement tridimensionnel, est effectué par le serveur, puis transmis en continu au dispositif utilisateur. Le flux d’images, formant la première couche, et les informations supplémentaires reçues par le navigateur, formant la seconde couche, sont ensuite superposés uniquement sur le dispositif utilisateur, spécifiquement dans le navigateur. Cela permet non seulement à l’utilisateur de surmonter facilement les limitations de calcul du dispositif utilisateur, mais nécessite simplement une compatibilité du dispositif utilisateur avec le navigateur, en étant ainsi également applicable à une large gamme de dispositifs.
L’externalisation du rendu à un serveur atténue le problème de longue date, à savoir que le rendu à haute résolution d’un environnement tridimensionnel à des fréquences de trames élevées, c’est-à-dire 60 trames par seconde ou plus, est coûteux en termes de calcul, ce qui impose des exigences élevées quant aux capacités du matériel sur lequel le processus de rendu est exécuté. La capacité de traitement de la plupart des dispositifs utilisateurs n’est pas adaptée pour gérer de tels calculs, limitant ainsi sévèrement la fréquence de trames, la résolution ou les deux, lors de l’exécution directe d’un tel processus de rendu.
En outre, la combinaison de couches dans l’application de navigateur, dans laquelle un composant logiciel fournit des informations supplémentaires à afficher dans la seconde couche, permet une intégration directe du contenu et des applications externes dans le monde virtuel. La combinaison de couches dans l’application de navigateur simplifie davantage des problèmes de sécurité, car tous les composants héritent des informations d’identification et de l’autorisation d’une seule instance.
Il est important de noter qu’une superposition dans ce contexte peut correspondre à toute forme de combinaison et/ou fusion des données d’image avec les informations supplémentaires d’une manière telle que les informations supplémentaires sont perçues comme étant devant les données d’image, indépendamment de l’ordre réel des couches. HTML5 offre une possibilité directe pour la mise en œuvre d’une structure en couches selon l’invention.
Le composant logiciel peut être situé soit sur un second serveur supplémentaire (en particulier un serveur Web), soit sur le serveur fournissant les données d’image. En outre, il peut être avantageux que le composant logiciel soit situé à l’extérieur, par exemple dans le cloud ou un serveur différent.
Dans un mode de réalisation, un événement peut être défini par une liste de conditions. Les conditions correspondent de préférence à des paramètres ou des propriétés du monde virtuel ou des instructions de commande. Un événement peut être considéré comme s’étant produit, lorsque toutes les conditions définies sont remplies en même temps.
Les informations supplémentaires fournies par le composant logiciel peuvent contenir des informations textuelles, graphiques ou audio. Dans certains modes de réalisation, il peut être prévu des liens pour appeler d’autres applications, ou rediriger l’utilisateur vers d’autres contenus.
Selon un mode de réalisation de la présente invention, les instructions de commande changent une première position ou une première orientation d’un premier avatar dans le monde virtuel, ou amènent le premier avatar à effectuer une action dans le monde virtuel, et les vues rendues du monde virtuel correspondent à la première position, la première orientation et/ou l’action du premier avatar.
Selon ce mode de réalisation, l’utilisateur peut naviguer dans le monde virtuel et interagir avec des objets dans celui-ci. Un avantage de ce mode de réalisation est que l’application de navigateur ne doit traiter que l’entrée des instructions de commande et les transmettre au serveur, tandis que le serveur effectue le rendu du monde virtuel conformément aux instructions reçues. Ainsi, l’utilisateur peut interagir librement avec le monde virtuel, sans que le dispositif utilisateur ait à supporter de lourdes charges de calcul. Cela augmente le sentiment d’immersion dans l’environnement virtuel pour l’utilisateur.
Selon un (autre) mode de réalisation, le composant logiciel stocke des options de personnalisation quant à l’apparence du monde virtuel et/ou de l’avatar et est configuré pour recevoir une sélection d’une option de personnalisation par le navigateur, et lors de la réception, la sélection fournit des informations au serveur, amenant le serveur à restituer l’avatar et/ou le monde virtuel en correspondance avec la sélection.
Un effet avantageux de ce mode de réalisation est que le dispositif utilisateur et/ou le navigateur n’ont pas besoin de stocker des informations concernant l’apparence du monde virtuel. Cela réduit davantage les exigences concernant la puissance de calcul et la mémoire sur le dispositif utilisateur.
Il doit être compris qu’une option de personnalisation comprend toutes les options liées à la représentation visuelle du monde tridimensionnel, de l’avatar ou de la seconde couche superposée, telles que la couleur, l’apparence, les différentes peaux, etc.
Dans un autre mode de réalisation de l’invention, le serveur est connecté à un composant multijoueur, le composant multijoueur fournissant une deuxième position et une deuxième orientation d’au moins un second avatar, commandé par un second dispositif utilisateur, au serveur, et le serveur restitue une représentation du second avatar à la deuxième position avec la deuxième orientation dans le monde virtuel. En outre, le composant multijoueur est configuré pour assurer que le rendu du monde virtuel sur les premier et second dispositifs utilisateurs est synchronisé.
Ce mode de réalisation permet à plusieurs utilisateurs d’interagir avec le même monde virtuel et les uns avec les autres dans ledit monde. En particulier, le composant multijoueur peut être adapté pour se connecter à un second serveur, qui est commandé par le second dispositif utilisateur. Cela a pour effet avantageux que de multiples systèmes selon la présente invention peuvent être interconnectés directement, sans alourdir le dispositif utilisateur avec des charges de travail supplémentaires.
Le composant multijoueur n’est cependant pas limité à la connexion de différents serveurs. Une connexion peut également être établie entre le serveur commandé par le premier dispositif utilisateur et un élément de matériel personnel classique, adapté au rendu d’environnements tridimensionnels, tel que des lunettes RV, des consoles de jeux, des ordinateurs personnels, etc.
Dans un (autre) mode de réalisation de la présente invention, le serveur lui-même est adapté pour surveiller le mouvement du premier avatar pour détecter des conditions pour un événement, et pour transmettre au moins un identifiant au dispositif utilisateur à chaque fois que ces conditions sont satisfaites, et le composant logiciel comprend une base de données, la base de données stockant les informations supplémentaires associées à chaque identifiant.
Ainsi, selon un aspect de l’invention, la réception d’un tel identifiant par le navigateur constitue un événement. Cela peut être le cas, par exemple, lorsque l’avatar entre dans une certaine région de l’environnement virtuel. Cette détection indirecte d’événements par le navigateur a pour avantage que la charge de travail supplémentaire est écartée du dispositif utilisateur. En outre, la fourniture des informations supplémentaires par le composant logiciel est dans ce cas réduite à une procédure de consultation simple, dans laquelle l’identifiant reçu est comparé aux identifiants stockés et les informations dans la base de données concernant l’identifiant reçu sont ensuite transmises au dispositif de navigateur.
Selon un aspect supplémentaire de l’invention, les conditions de transmission du au moins un identifiant comprennent une proximité de la position de l’avatar par rapport à une position cible dans le monde virtuel et/ou une proximité de l’orientation de l’avatar par rapport à une troisième orientation dans le monde virtuel.
Cela permet de formuler directement des conditions pour des événements dans le monde virtuel, sur la base de l’emplacement de l’avatar. En particulier, cela permet aux utilisateurs non formés à la conception d’environnements tridimensionnels de prédéfinir des conditions pour des événements dans le monde tridimensionnel, en utilisant par exemple une interface de programmation d’application (API).
Il faut noter que le terme position ne se limite pas au point strict de la forme (x,y,z) dans le monde tridimensionnel, mais peut également faire référence à une certaine région du monde, telle qu’une salle ou un niveau ou un étage particulier ou tout type de zones ou de volume, qui est définie par exemple par plusieurs coordonnées. En particulier, la troisième position ne doit pas nécessairement être fixe, mais peut par exemple coïncider avec la deuxième position d’un second avatar ou d’un véhicule en mouvement ou de tout autre objet mobile ou déformable.
Les conditions pour la transmission de l’identifiant peuvent également être basées sur une minuterie et/ou satisfaire à la totalité d’une première liste de conditions prédéterminées, sur la base du premier emplacement et/ou de la première orientation et/ou de l’entrée d’instructions de commande et/ou d’une action effectuée par le premier ou le second avatar.
De cette manière, diverses conditions peuvent être combinées dans la définition d’un événement. Par exemple, la proximité d’une certaine troisième position dans le monde tridimensionnel peut seulement conduire à la détection d’un événement lorsqu’elle est combinée avec une certaine valeur de minuterie, ou est en combinaison avec une certaine orientation du premier avatar.
Un mode de réalisation supplémentaire du système selon la présente invention peut être réalisé, lorsque les informations supplémentaires reçues en provenance du composant logiciel permettent une intégration d’applications externes dans le monde virtuel.
Dans ce contexte, le terme intégration fait référence à l’affichage d’informations textuelles, visuelles ou audio reçues d’une autre application en cours d’exécution sur le dispositif utilisateur, et incorporées dans la seconde couche, pour être affichées devant le flux d’images.
Cela permet l’incorporation aisée de données fournies par des applications externes dans la seconde couche, pour être affichées devant le flux d’images. Notamment, cela permet à l’utilisateur d’accéder à d’autres applications sans avoir besoin de quitter le monde virtuel. De plus, les informations fournies par le logiciel supplémentaire lors de la détection d’un événement peuvent être utilisées pour inciter à l’incorporation de telles applications externes.
En particulier, les informations supplémentaires fournies par le composant logiciel et affichées dans la seconde couche peuvent comprendre des liens qui permettent à l’application de navigateur d’ouvrir d’autres applications. Dans ce cas, l’intégration de caractéristiques externes dans l’environnement virtuel hérite des caractéristiques de sécurité déjà fournies par l’application de navigateur.
Dans un mode de réalisation particulier, les informations supplémentaires reçues du composant logiciel établissent un canal de communication entre le dispositif utilisateur et le second dispositif utilisateur, en particulier une fonction de chat et/ou un canal audio et/ou une connexion vidéo.
En particulier dans des configurations multijoueur, cela permet une communication directe entre les différents utilisateurs, participant au monde tridimensionnel. Cela rend l’expérience multijoueur plus attrayante pour l’utilisateur, du fait que l’utilisateur peut communiquer ou coopérer facilement avec d’autres utilisateurs.
Dans un mode de réalisation supplémentaire, l’application de navigateur est dotée d’une autorisation pour inciter et commander l’exécution des applications externes sur le dispositif utilisateur.
Comme les informations supplémentaires sont affichées dans la seconde couche de l’application de navigateur, il est donc nécessaire de permettre à l’application de navigateur d’agir avec l’authentification et l’autorisation nécessaires pour initier et gérer l’exécution d’autres applications sur le dispositif utilisateur, conformément aux données reçues du serveur restituant le monde virtuel ou du composant logiciel.
Cela facilite également la sensation d’immersion du ressenti pour l’utilisateur, car il n’est pas nécessaire d’autoriser manuellement l’utilisation de certaines applications. Ceci est particulièrement utile pour des applications de commerce électronique. Dans un mode de réalisation particulier, l’application de navigateur peut faire appel à des systèmes de paiement en ligne établis en tant que plug-ins, pour faciliter un paiement simplifié dans l’environnement virtuel. Étant donné que l’application de navigateur ne nécessite pas d’autorisation distincte de la part de l’utilisateur pour initier des transactions pertinentes, encore une fois, les caractéristiques de sécurité pertinentes sont déléguées à l’environnement virtuel. Cela simplifie et accélère considérablement l’utilisation d’applications externes dans le monde virtuel.
Selon un aspect supplémentaire de l’invention, le composant logiciel consiste en un système de gestion de contenu (CMS), et les options de personnalisation peuvent être définies via une interface de programmation d’application (API).
Cela augmente davantage la convivialité utilisateur, lorsqu’il s’agit de la personnalisation du CMS, car cela permet à des utilisateurs non experts de manipuler les options de personnalisation avec une plus grande facilité. Dans un exemple particulier, le CMS est une application Web composée d’un serveur Web et d’un backend de base de données.
Dans ce cas, le CMS crée et maintient l’environnement virtuel, en enregistrant une configuration générée pour chaque dispositif utilisateur dans le backend de base de données. Selon ce mode de réalisation, l’application CMS commande l’environnement virtuel.
En outre, les problèmes mentionnés ci-dessus sont résolus par un procédé dans lequel
un dispositif utilisateur (portable) exécutant une application de navigateur établit une première connexion à au moins un serveur, le serveur reçoit des instructions de commande provenant du dispositif utilisateur et restitue des vues d’un monde virtuel en fonction desdites instructions de commande en tant que données d’image, transmettant un flux des données d’image et/ou audio au dispositif utilisateur ;
le navigateur détecte l’occurrence d’au moins un événement lié au monde virtuel et/ou aux instructions de commande et, lors de la détection du au moins un événement, envoie une demande à un composant logiciel, en réponse à la demande, le navigateur reçoit des informations supplémentaires provenant du composant logiciel ;
le navigateur affiche le flux d’images provenant du serveur dans une première couche et les informations supplémentaires reçues et/ou les éléments graphiques et/ou textuels dérivés des informations supplémentaires reçues dans une seconde couche (partiellement transparente), la seconde couche étant affichée en superposant la première couche.
Selon encore un autre aspect, la structure en couches de l’invention peut être modifiée dans une application tierce, de préférence une page Web tierce, de préférence hébergée sur un serveur tiers. Cela peut être obtenu en intégrant les première et seconde couches dans une trame parent, qui peut faire partie de l’application ou site Web tiers. Dans ce cas, la page Web rendue par l’application de navigateur peut être divisée en deux trames ou plus, dont l’une affiche le monde virtuel avec respectivement les première et seconde couches, qui peut être appelée la trame RV. Au moins une des autres trames peut afficher un contenu issu du serveur tiers et/ou de tout autre serveur, et peut donc être appelée trame tierce. Le contenu rendu dans la au moins une autre trame peut être celui d’une boutique en ligne ou, plus génériquement, d’une plateforme marchande.
Les trames auxquelles il est fait référence ci-dessus peuvent être mises en œuvre par toute technologie disponible, par exemple des itrames et/ou des modèles et/ou des sections de HTML5.
Selon un aspect de l’invention, il existe une communication entre la au moins une des couches (première et seconde couches du monde virtuel) et l’application tierce, par exemple, la page Web tierce, qui est établie. Plus précisément, des événements qui sont associés à la première et/ou à la seconde couche peuvent être transmis à l’application tierce et/ou au serveur tiers. De préférence, la communication est établie du côté client, par exemple entre la trame et facultativement transmise à un serveur, par exemple, le serveur tiers. Cela permet de générer une réponse immédiate à l’événement, par exemple par la page Web tierce/côté tiers.
Une fois que l’application de navigateur détecte un événement, une demande est envoyée au composant logiciel, qui renvoie des informations supplémentaires, qui sont ensuite affichées dans la seconde couche. En particulier, les informations supplémentaires peuvent comporter un lien ou un bouton, avec lequel l’utilisateur peut interagir avec les instructions de commande.
Une fois que l’application de navigateur enregistre l’ID associé à un événement dans la première et/ou la seconde couche, la trame parent peut en outre être incitée à transmettre des informations associées à l’ID d’événement à la au moins une autre trame tierce associée à l’application tierce et/ou au serveur tiers. En particulier, l’ID d’événement peut être associé, de préférence au moyen d’une table de transfert, à une action du côté tiers, comme le placement d’un article dans un panier de règlement. Ces informations peuvent ensuite être encore relayées par la trame parent à un composant de l’application tierce. En variante, les informations peuvent uniquement provoquer un changement local dans la trame tierce du navigateur/client, qui peut être présenté à l’application tierce ou au serveur tiers à un moment ultérieur.
Le terme « trame parent » est choisi pour souligner la structure conceptuelle du présent aspect de l’invention et peut ne pas se référer à une trame réelle, mais plutôt plus généralement au composant d’une application ou d’une page Web tierce, dans laquelle la trame RV et une ou plusieurs trames tierces sont intégrées.
Dans un aspect en variante, le navigateur peut transmettre les informations supplémentaires à l’application tierce et/ou au serveur tiers immédiatement après la détection de l’événement, sans les relayer auparavant à la trame tierce.
Dans tous les cas ci-dessus, le relais des informations associées à l’ID d’événement peut ou non être conditionnel à la saisie par l’utilisateur d’instructions de commande respectives, une fois que la représentation graphique est présentée dans la seconde couche. Ainsi, par exemple, l’utilisateur peut avoir à cliquer sur un bouton de la seconde couche, avant que la transmission d’informations associées ne soit initiée par la trame parent. En variante, pour certains ID d’événement, il peut être préférable d’initier immédiatement la transmission des informations associées par la trame parent, sans nécessiter de saisie supplémentaire de la part de l’utilisateur.
Cet aspect est particulièrement adapté, par exemple, aux applications de commerce électronique. Ici, l’événement peut être déclenché par une certaine action de l'avatar dans le monde virtuel, suscitant l’affichage d’informations supplémentaires sur la seconde couche. Ces informations supplémentaires peuvent, par exemple, inclure des informations sur le produit, ainsi qu’un bouton d’achat, qui peut inciter à l’achat de l’article affiché. Lorsque l’utilisateur saisit une instruction de commande correspondante (comme un clic sur le bouton d’achat), des informations associées peuvent être relayées de la manière décrite ci-dessus.
Cela permet par exemple de placer des articles, qui sont en vente sur le site Web tiers, dans un panier de règlement, par des actions dans le monde virtuel. La séparation des première et seconde couches et de la page Web tierce respectivement en des trames différentes permet à des parties de la page Web tierce de rester accessibles et visibles directement pour l’utilisateur tout en navigant dans le monde virtuel.
Avec le procédé selon l’invention, on peut obtenir les mêmes avantages que ceux qui ont déjà été décrits en association avec le système selon l’invention. Il est à noter que les caractéristiques décrites dans le contexte du système selon l’invention s’appliquent au procédé selon l’invention. De même, les caractéristiques du procédé selon l’invention sont transférables au système selon l’invention en configurant l’application de navigateur, le serveur ou le logiciel supplémentaire de manière à ce qu’il soit adapté à la mise en œuvre des caractéristiques de procédé correspondantes.
Dans ce qui suit, l’invention est également décrite en ce qui concerne d’autres détails, caractéristiques et avantages, qui sont expliqués de manière plus détaillée en référence aux figures. Les caractéristiques et combinaisons de caractéristiques décrites, comme représenté ci-après sur les figures décrites en référence aux figures, sont applicables non seulement dans la combinaison indiquée dans chaque cas, mais également dans d’autres combinaisons ou seules, sans pour autant sortir de la portée de l’invention.
Dans ce qui suit, des modes de réalisation de l’invention sont décrits en référence aux figures, sur lesquelles
La représente un système constitué d’une application de navigateur s’exécutant sur un dispositif utilisateur (non représenté), d’un composant logiciel et d’un serveur ;
La représente le système selon l’invention dans une configuration multijoueur, connecté à un autre dispositif utilisateur ;
La représente la détection d’un événement par la transmission d’un ID du serveur à l’application de navigateur ;
La représente la détection d’un événement via l’application de navigateur ;
La représente un mode de réalisation dans lequel le CMS comprend un serveur Web et une base de données de backend ;
La représente un exemple d’entrée de base de données pour la définition d’un événement ;
La représente un exemple d’entrée de base de données reliant l’ID d’événements aux informations supplémentaires ;
La représente un exemple de dispositif utilisateur selon le système de l’invention ;
La représente un exemple d’intégration de la réalité virtuelle dans une fenêtre client, établissant une communication avec un serveur tiers ;
Les figures 8A à 8E représentent un configurateur représentatif et des écrans d’affichage rendus pour associer et stocker dans le composant logiciel des exemples d’images selon l’invention ; et
Les figures 9A à 9D représentent un configurateur représentatif et des écrans d’affichage rendus pour associer et stocker dans le composant logiciel des exemples de vidéos selon l’invention.
DESCRIPTION DÉTAILLÉE
La illustre la configuration de base d’un système selon la présente invention. Lors de l’entrée dans le monde virtuel en accédant à une URL d’environnement, un affichage représentatif fourni par une application de navigateur 2 sur un affichage d’un dispositif utilisateur à capacité de calcul limitée (non représenté) établit une communication via une première connexion 8 avec un composant logiciel 4, exécuté sur un serveur séparé, pour exécuter des vérifications d’authentification initiales et à mettre en file d’attente par le composant logiciel 4 pour accéder à un serveur 3.
Des vérifications d’authentification représentatives peuvent comprendre, par exemple, un processus d’ouverture de session par lequel l’application de navigateur 2 transmet une demande de jeton numérique, telle qu’une demande HTTP POST, au composant logiciel 4 sur la première connexion 8. Le jeton numérique reçu correspondant par l’application de navigateur 2 permet l’accès à un tel monde virtuel, par exemple, par un service de file d’attente pour l’attribution d’un serveur, tel que le serveur 3, à partir d’un groupe de serveurs qui permettent l’accès à un tel monde virtuel. En outre, si l’accès au monde virtuel est protégé par mot de passe, la demande transmise peut comprendre un mot de passe valide, et/ou des identifiants d’authentification unique (SSO), si l’application de navigateur 2 ou le dispositif utilisateur comprend une fonctionnalité SSO correspondante. Il appartient en outre au dispositif utilisateur d’ouvrir une session avec l’adresse e-mail et le mot de passe de l’utilisateur, si un administrateur a déjà créé un compte pour cette adresse e-mail.
Le jeton numérique peut être un jeton JSON Web (« JWT ») signé cryptographiquement conformément à Internet Engineering Task Force (IETF) RFC 5741, qui peut être stocké en tant que cookie et/ou mémoire RAM du dispositif utilisateur, ou tout autre type de jeton numérique approprié. Une fois que le dispositif utilisateur a le jeton numérique, des requêtes ultérieures provenant de l’application de navigateur 2 peuvent entraîner une vérification d’authentification par le composant logiciel 4 pour déterminer si le dispositif utilisateur a un jeton valide, c’est-à-dire n’ayant pas expiré pour accéder au monde virtuel.
Il sera facilement compris que des serveurs de diffusion en continu dans le cloud typiques peuvent ne pas être immédiatement disponibles pour le provisionnement par le dispositif utilisateur, en particulier si la demande est élevée pour de tels serveurs, de sorte qu’il peut exister un retard dans l’attribution et l’accord d’accès à un serveur de diffusion en continu dans le cloud, tel que le serveur 3. Si la capacité de diffusion en continu dans le cloud exécutant le monde virtuel souhaité (/exécutable binaire) est déjà provisionnée et disponible, le dispositif utilisateur peut être rapidement redirigé vers le serveur 3. Dans le cas contraire, le dispositif utilisateur peut recevoir un « ticket » ensemble avec la position du ticket dans la file d’attente, et interroge périodiquement la file d’attente avec ce ticket. Avantageusement, le logiciel de gestion de file d’attente favorise souvent des serveurs situés à proximité du dispositif utilisateur pour réduire toute latence que le dispositif utilisateur peut rencontrer.
Le composant logiciel 4 établit une deuxième connexion 9 avec le serveur 3. En variante, le serveur 3 se connecte au composant logiciel 4 pour signaler sa présence et son état. En particulier, le composant logiciel 4 peut en outre être configuré pour sélectionner l’un d’une pluralité de serveurs accessibles selon des critères prédéterminés, tandis que l’application de navigateur 2 est mise en file d’attente. Ces critères peuvent, par exemple, dépendre de la géolocalisation ou de l’adresse IP de l’utilisateur, de la connexion, du nombre de serveurs disponibles ou des détails d’authentification. Via la deuxième connexion 9, le serveur 3 télécharge une liste des conditions d’événement (voir ) à partir du composant logiciel 4 et les stocke dans une carte d’adresses en mémoire, c’est-à-dire une carte de hachage ou une base de données sur le serveur. une copie d’une liste partielle ou complète des informations de conditions d’événement.
Le serveur est réservé pendant une durée prédéfinie, par exemple 10 secondes, pour le dispositif utilisateur et l’adresse de serveur (une URL) est envoyée à ce dispositif utilisateur pour être utilisée par l’application de navigateur 2. L’application de navigateur 2 se connecte ensuite et s’authentifie auprès de ce serveur 3, par exemple en utilisant une connexion de protocole WebSocket. Sur cette connexion WebSocket, un processus de négociation commence immédiatement et des candidats de norme WebRTC ICE (Établissement de la Connectivité Interactive) sont échangés. Des candidats ICE sont utilisés pour établir une troisième connexion 10, par exemple une connexion WebRTC, entre le serveur 3 et l’application de navigateur 2. Selon un autre aspect de la présente invention, des serveurs relais de norme TURN (protocole Traversal Using Relay around NAT) peuvent être utilisés. Après un établissement de liaison entre l’application de navigateur 2 et le serveur 3, le flux de données d’image et audio commence.
Sur la troisième connexion 10, les données d’image (vidéo) et/ou audio correspondant à l’environnement tridimensionnel sont transférées du serveur 3 à l’application de navigateur 2, où elles sont affichées dans la première couche 5.
Sur la même troisième connexion 10, les instructions de commande provenant de l’application de navigateur 2 sont envoyées au serveur 3. En fonction du type de dispositif utilisateur utilisé pour accéder à l’environnement tridimensionnel, les instructions de commande peuvent inclure : des événements de clic, des mouvements de souris, des entrées au clavier, des mouvements de joystick, des haptiques RV, des réponses d’écran tactile, des entrées d’accéléromètre, des mesures de gyroscope, des données de webcam et des instructions vocales, c’est-à-dire une entrée par microphone.
En outre, la troisième connexion 10 comprend un canal de données bidirectionnel pour l’échange d’informations supplémentaires entre le serveur 3 et l’application de navigateur 2.
Lorsque l’application de navigateur se déconnecte du serveur 3, le serveur 3 met à jour son état pour le composant logiciel 4 via la deuxième connexion 9 pour se déclarer lui-même à nouveau disponible.
Lorsqu’un événement est détecté par l’application de navigateur 2, l’application de navigateur envoie une demande (en fonction de la disponibilité des données requises dans l’application de navigateur) au composant logiciel 4 via la première connexion 8 et reçoit des informations supplémentaires concernant l’événement provenant du composant logiciel 4 via la même connexion. L’application de navigateur 2 affiche alors les informations supplémentaires reçues et/ou les éléments graphiques et/ou textuels dérivés des informations supplémentaires reçues 6 dans la seconde couche (partiellement transparente) 7, la seconde couche 7 étant affichée en superposant la première couche 5. Tel qu’utilisé ici, le terme « couche partiellement transparente » signifie, sans limitation, des régions semi-transparentes ou transparentes sur au moins une partie d’une telle couche, au moins d’autres parties de la couche ayant des images qui bloquent des images, ou fusionnent avec celles-ci, présentes dans la couche recouverte, c’est-à-dire la sous-couche, telle que la première couche 5. En variante, l’application de navigateur peut avoir téléchargé toutes les informations supplémentaires nécessaires pour exécuter l’événement au préalable à partir du composant logiciel 4. Les figures 8A à 8E, décrites ci-dessous, représentent un configurateur représentatif et des écrans d’affichage rendus pour associer et stocker dans le composant logiciel 4 des images en exemple pour l’affichage d’images contextuelles lorsque l'occurrence d’un événement de déclenchement associé est détectée. De même, les figures 9A à 9D représentent un configurateur représentatif et des écrans d’affichage pour associer et stocker dans le composant logiciel des vidéos en exemple pour l’affichage de vidéos lorsque l'occurrence d’un événement de déclenchement associé est détectée.
Lorsque le serveur 3 reçoit des instructions de commande provenant de l’application de navigateur 2 via la troisième connexion 10, la position et l’orientation du premier avatar 11 dans le monde virtuel sont mises à jour, et les données d’image transférées à l’application de navigateur 2 sont mises à jour en conséquence. En outre, le serveur 3 compare les nouvelles position et orientation de l’avatar avec la liste de positions et orientations correspondant à des conditions d’événement possibles, stockée dans la seconde base de données sur le serveur 3.
D’autres conditions d’événement possibles comprennent l’association d’un ID d’un acteur (élément) dans le jeu avec une vidéo, un temps absolu prévu (c’est-à-dire le temps réel), un temps écoulé depuis le début de la diffusion et autres.
La représente le système dans une configuration multijoueur. Le serveur 3 reçoit la position et l’orientation d’un second avatar 14 à partir d’un composant multijoueur 13. Le composant multijoueur 13 est connecté à au moins un second dispositif utilisateur 12, qui commande le mouvement d’un second avatar 14. Il est entendu que cette connexion à un second dispositif utilisateur peut également être une connexion indirecte via un autre serveur selon la présente invention. Dans ce cas, le second dispositif utilisateur doit être compris comme le système entier selon la présente invention. Lors de la réception de la deuxième position et de la deuxième orientation, le serveur 3 restitue un second avatar 14 en tant que partie des données d’image affichées dans la première couche 5.
La montre la détection indirecte de conditions d’événement dans le système, via le serveur 3 des figures 1 et 2. Pendant que le premier avatar se déplace dans l’environnement virtuel, le serveur surveille les propriétés des instructions d’entrée et du monde virtuel et vérifie si toutes les conditions d’un événement prédéfini sont remplies. Si c’est le cas, le serveur transmet un ID correspondant à l’événement qui a été détecté à l’application de navigateur. L’application de navigateur détecte ensuite la présence de l’ID dans le flux de données de la troisième connexion en tant qu’événement. L’application de navigateur envoie ensuite une demande au composant logiciel, contenant l’ID reçu, ou a déjà récupéré précédemment des données contenant un tel ID. Le composant logiciel compare ensuite l’ID reçu à une liste d’ID stockés dans la base de données. Une fois que l’ID correspondant dans la base de données est trouvé, le composant logiciel transmet les informations supplémentaires associées à l’ID reçu à l’application de navigateur dans le cas où les informations supplémentaires n’ont pas déjà été pré-récupérées. Enfin, le navigateur traite les informations supplémentaires reçues et les affiche dans la seconde couche, en superposant le flux de données d’image.
La montre la reconnaissance directe d’une condition d’événement par l’intermédiaire de l’application de navigateur 2 dans un mode de réalisation supplémentaire de l’invention. Dans ce cas, l’application de navigateur 2 surveille directement les instructions de commande et l’environnement virtuel. Lorsque toutes les conditions définissant un événement sont remplies, l’application de navigateur envoie la demande d’ID correspondant à l’événement pertinent au composant logiciel 4. Le composant logiciel 4 compare ensuite l’ID reçu à une liste d’ID stockés dans la base de données. Une fois que l’ID correspondant dans la base de données est trouvé, le composant logiciel transmet les informations supplémentaires associées à l’ID reçu à l’application de navigateur. Enfin, le navigateur traite les informations supplémentaires reçues et les affiche dans la seconde couche, en superposant le flux de données d’image.
La représente un mode de réalisation dans lequel le composant logiciel 4 est constitué d’un CMS. Le CMS est divisé en un serveur Web 15 et une base de données backend 16. Le CMS reçoit des options de personnalisation via la première connexion 8 et enregistre la configuration générée dans la base de données backend. En particulier, il surveille l’état de l’environnement virtuel via la deuxième connexion 9.
La représente la structure de données d’un événement, constituée de l’ID d’événement et d’une pluralité de conditions. Les conditions sont basées en partie sur les emplacements, les orientations et les actions possibles dans le monde virtuel, ainsi que sur les entrées d’instruction. Par exemple, une première condition peut être que le premier emplacement du premier avatar 11 est ou non dans une certaine région autour d’un troisième emplacement dans le monde virtuel. Une région peut être définie comme l’ensemble de tous les points situés à une distance prédéfinie du troisième emplacement, ou comme un ensemble prédéfini de points contenant le troisième emplacement (comme par exemple une salle dans laquelle le troisième emplacement est situé). Une seconde condition peut être par exemple la valeur d’une minuterie égale à une valeur prédéfinie. Dans cet exemple, un événement sera détecté, si l’emplacement du premier avatar 11 est dans la plage d’emplacements définis par la première condition ET si la valeur de minuterie est égale à la valeur prédéfinie.
La représente la structure de données selon laquelle les informations supplémentaires sont stockées dans le composant logiciel. Selon ce mode de réalisation, la base de données comprend une liste d’ID qui contient les ID de tous les événements configurés conjointement avec les informations supplémentaires correspondantes.
La représente un dispositif utilisateur 17 selon un mode de réalisation de la présente invention. L’application de navigateur 2 est exécutée par la CPU 19 du dispositif utilisateur, affichant la première couche 5 (non représentée) et la seconde couche 6 (non représentée) sur l’affichage du dispositif utilisateur 20. Les instructions de commande sont entrées via un clavier 18 du dispositif utilisateur.
La représente un client, tel qu’une application de navigateur 2 affichant une page Web tierce. La page Web, par exemple en utilisant des itrames, est séparée en une trame tierce 72 et une trame RV 74. Uniquement pour une facilité de référence, la fenêtre/trame contenant la trame tierce 72 et la trame VR 74 est appelée trame parent 75.
Dans le mode de réalisation, la trame tierce 72 est agencée à côté de la trame RV 74 qui contient au moins les première 5 et seconde 7 couches du monde virtuel comme déjà décrit, par exemple en référence à la . Dans le mode de réalisation de la , l’affichage d’une représentation graphique de parties des informations supplémentaires 6, qui a été déclenché par l’occurrence d’un événement, est représenté dans la seconde couche 7, peut comprendre l’affichage d’un bouton, par exemple qui permet d’ajouter un produit à une carte d’achat. L’utilisateur peut interagir avec la représentation graphique 6, par exemple le bouton, en amenant le navigateur 2 à communiquer via la trame parent 75 avec la trame tierce 72. Dans un mode de réalisation, une telle communication peut amener la page Web tierce à ajouter un article particulier à un panier d’achat, l’article particulier étant lié à ce qui est représenté dans la trame RV 74, par exemple dans la première et/ou la seconde couche 5,6.
En variante, le navigateur 2 et/ou la trame parent 75 peuvent communiquer les informations reçues de la trame RV 74 directement sur une quatrième connexion 73 à un serveur tiers externe 71.
Dans un mode de réalisation, la communication entre la trame RV 74 et la trame parent 75 utilise un protocole de message personnalisé. Cela signifie que la trame parent 75 lors de l’interaction – en cliquant sur le bouton – avec la représentation graphique 6 reçoit un message qui identifie un événement ou de préférence un article qui doit être ajouté au panier d’achat. Le type de représentation graphique 6, l’heure d’apparition, le comportement et tout ID identifiant un événement ou un article peuvent être configurés dans le composant logiciel 4. L’ID peut être transmis en tant que charge utile du message personnalisé à la trame parent 75 permettant à la page Web tierce de réagir lors de la réception de l’ID par tout moyen disponible, par exemple en déclenchant d’autres actions dans la page Web tierce.
Le message personnalisé peut être une chaîne JSON qui peut être générée et transmise de la manière suivante :
let postMessage = JSON.stringify({
"_ABC_action":"addtobag",
"skuBaseId": "11111",
"INCREMENT":1,
"QTY":1
});
if ('parentIFrame' in window) {
window.parentIFrame.sendMessage(postMessage);
}});
L’approche permet à l’utilisateur d’effectuer facilement des actions au sein de la réalité virtuelle qui affecteront le comportement de la page Web tierce. En répartissant le flux vidéo dans la première couche 5, la représentation graphique 6 dans la seconde couche 7 et en permettant la configuration de la représentation graphique 6, notamment l'ID qui sera transmis, l’invention permet une configuration très efficace du système. Par exemple, il est possible d’ajouter la possibilité d’acheter certains articles dans la réalité virtuelle sans avoir à modifier la réalité virtuelle. Dans un mode de réalisation, l’administrateur du système a juste besoin de configurer une nouvelle représentation graphique 6, l’ID respectif et un événement qui déclenche la représentation graphique. Toutes ces étapes peuvent être effectuées sur le composant logiciel 4.
Bien entendu, cette partie de l’invention ne se limite pas à l’achat d’articles et/ou de services. L’approche peut également être utilisée pour des formations et tout autre service éducatif.
Dans certains modes de réalisation, des CMS appropriés utilisables pour le composant logiciel 4 de la comprennent, par exemple, le logiciel de développement de jeux graphiques informatique Unreal Engine proposé par Epic Games, Inc. Les figures 8A à 8E sont des écrans de configurateur et d’affichage représentatifs pour associer et stocker dans un tel CMS une image contextuelle en exemple à présenter dans la couche 7 lors de l’occurrence d’un événement correspondant. La représente un exemple d’écran de configurateur contextuel permettant à un développeur de saisir dans les champs « Pop-up Slug » et « Title », un nom et un titre, respectivement, de l’image à joindre via le champ « image ». Dans cet exemple, le nom Pop-up Slug est « ArcticPopUp » pour l’image ajoutée du paysage arctique. Une description associée de l’image peut également être saisie dans le champ « Description ».
La représente un exemple d’écran de configuration de condition d’événement à utiliser par le développeur pour créer des conditions d’événement respectives basées sur les champs « Triggers » et « Actions » associés. Les figures 8C et 8D représentent des écrans de sous-configuration Trigger et Action accessibles à partir de l’écran de configuration de condition d’événement représenté sur la . Comme représenté sur la , « Trigger Type » de « Region » a été sélectionné, et sur la le « Action Type » sélectionné pour un tel déclencheur est « Open Pop-up » avec le nom d’image associé de « ArcticPopUp » pour l’image à afficher. La illustre l’image contextuelle affichée résultante de « ArcticPopUp » et la description associée lorsque l’avatar d’un utilisateur entre dans la région pour une condition d’événement déclenchée par la région.
De manière correspondante, les figures 9A à 9D sont des écrans de configurateur et d’affichage représentatifs pour associer et stocker dans un CMS 4 en exemple une URL d’une vidéo à afficher dans la couche 7 lors de l’occurrence d’un événement correspondant. En référence à la , un exemple d’écran d’affichage de configurateur est représenté pour entrer le nom de la vidéo en tant que « Unreal Slug », et un « Title » correspondant de la vidéo, qui sont tous deux « SampleVideo » dans cet exemple. De plus, l’écran d’affichage de configurateur de la comprend un bouton d’action pour ajouter les « videos », qui est étiqueté « + add. » En sélectionnant ce bouton, un écran d’affichage de sous-configurateur représenté sur la apparaîtrait pour permettre au développeur d’entrer « Title » de la vidéo respective et « Video URL » associée à partir de laquelle la vidéo serait diffusée. De plus, cet écran d’affichage de sous-configurateur permet également au développeur d’associer certains attributs de la vidéo à afficher, y compris si la vidéo est bouclée, c’est-à-dire répétée ou si elle doit être diffusée en direct.
Un autre écran de configurateur (non représenté) similaire à l’écran de configurateur de la peut être utilisé pour saisir les déclencheurs associés à la lecture de vidéos spécifiées à l’aide des écrans de configurateur des figures 9A et 9B. Voir, par exemple, les figures 9C et 9D, qui comprennent des déclencheurs de la lecture d’une vidéo lorsque l’avatar d’un utilisateur entre dans une région définie à proximité d’un écran d’affichage rendu dans l’environnement virtuel affichant dans une première couche d’affichage l’image statique « OPERATION #OCEAN DETOX » sur la . Lorsque l’avatar entre dans la région définie, une vidéo commence à être lue dans la seconde couche 7 qui superpose cette image statique, comme représenté sur la , avec l’écran de titre « THE OCEANS ARE FULL OF TRASH. »
Les déclencheurs et actions décrits en référence aux figures 8A-8E et 9A-9D sont à des fins d’illustration uniquement, et d’autres événements et actions de déclenchement en variante sont envisagés par l’invention, y compris, mais sans s’y limiter, des actions entreprises par l’avatar, des déclencheurs régionaux, des déclencheurs temporels, des positions et/ou des points de vue spécifiques de l’avatar, et d’autres tels que décrits ci-dessus. De plus, bien que ces figures étaient illustratives de déclencheurs et d’actions basés sur des occurrences dans l’environnement virtuel par l’avatar d’un utilisateur, il doit être facilement compris que des actions pour afficher un contenu dans la couche 7 peuvent en variante être déclenchées par des instructions de commande provenant du dispositif utilisateur.
Il sera compris que, bien que divers aspects de la présente divulgation aient été illustrés et décrits à titre d’exemple, l’invention décrite ici ne s’y limite pas, mais peut être sinon diversement mise en œuvre comme suggéré par la divulgation et comme indiqué dans la portée des revendications suivantes en exemple. Par exemple, malgré la divulgation concernant un système et un procédé pour le rendu d’une réalité virtuelle, un tel système ou procédé peut de plus être mis en œuvre dans un système de réalité augmentée ou holographique, ou analogue, conformément à l’invention décrite précédemment.
Liste des Références :
1 Système
2 Application de navigateur
3 Serveur
4 Composant logiciel
5 Première couche
6 Représentation graphique d’informations supplémentaires
7 Seconde couche
8 Première connexion
9 Deuxième connexion
10 Troisième connexion
11 Premier avatar
12 Second dispositif utilisateur
13 Composant multijoueur
14 Second avatar
15 Serveur Web
16 Base de données backend
17 Dispositif utilisateur
18 Clavier
19 CPU du dispositif utilisateur
20 Affichage du dispositif utilisateur
71 Serveur tiers
72 Trame tierce
73 Quatrième connexion
74 Trame RV
75 Trame/fenêtre parent

Claims (22)

  1. Procédé de rendu d'images d'un environnement virtuel sur un premier dispositif utilisateur, comprenant les étapes consistant à :
    exécuter une application de navigateur sur le premier dispositif utilisateur pour établir une première connexion, de préférence sur un réseau, entre le premier dispositif utilisateur et au moins un premier serveur et pour recevoir des données d'image de diffusion continue en provenance du premier serveur ;
    restituer en tant que première couche sur le premier dispositif utilisateur des vues d'un environnement virtuel sur la base des données d'image de diffusion continue reçues ;
    transmettre des instructions de commande du premier dispositif utilisateur au premier serveur et recevoir des données d'image de diffusion continue mises à jour correspondantes de l'environnement virtuel sur la base desdites instructions de commande ;
    lors de la détection de l'occurrence d'au moins un événement prédéterminé lié à l'environnement virtuel et/ou aux instructions de commande, transmettre une demande avec un identifiant d'événement à un second serveur exécutant un composant logiciel, dans lequel l'application de navigateur et le composant logiciel maintiennent des listes correspondantes d'identifiants d'événement prédéterminés ;
    recevoir des informations d'affichage supplémentaires provenant du composant logiciel en réponse à la demande, dans lequel ces informations d'affichage supplémentaires représentent un contenu généré à l'extérieur de l'environnement virtuel rendu ; et
    restituer en tant que seconde couche partiellement transparente sur le premier dispositif utilisateur des images dérivées des informations d'affichage supplémentaires reçues, dans lequel la seconde couche est affichée en recouvrant la première couche pour permettre l'affichage du contenu externe dans l'environnement virtuel rendu.
  2. Procédé selon la revendication 1, dans lequel les instructions de commande changent au moins l’une d’une première position ou d’une première orientation d’un premier avatar dans l’environnement virtuel, ou amènent le premier avatar à effectuer une action dans l’environnement virtuel, et dans lequel les vues rendues de l’environnement virtuel correspondent à la au moins une de la première position, de la première orientation ou de l’action du premier avatar.
  3. Procédé selon l'une des revendications précédentes, dans lequel le composant logiciel stocke des options de personnalisation quant à l’apparence d’au moins l’un de l’environnement virtuel ou du premier avatar et est configuré pour recevoir une sélection d’une option de personnalisation par le navigateur, et lors de la réception, la sélection fournit des informations au premier serveur, amenant le premier serveur à restituer au moins l’un de l’avatar ou de l’environnement virtuel en correspondance avec la sélection.
  4. Procédé selon l'une des revendications précédentes, dans lequel le au moins un serveur est connecté à un composant multijoueur, le composant multijoueur fournissant une deuxième position et une deuxième orientation d’au moins un second avatar, commandé par un second dispositif utilisateur, au au moins un serveur, et le premier serveur restitue une représentation du second avatar à la deuxième position avec la deuxième orientation dans l’environnement virtuel.
  5. Procédé selon l'une des revendications précédentes, dans lequel le premier serveur est adapté pour surveiller le mouvement du premier avatar pour détecter des conditions pour un événement, et pour transmettre au moins un identifiant d’évènement au premier dispositif utilisateur à chaque fois que ces conditions sont satisfaites, et le composant logiciel comprenant une base de données, la base de données stockant les informations supplémentaires associées à chaque identifiant d’évènement.
  6. Procédé selon l'une des revendications précédentes, en particulier la revendication 5, dans lequel les conditions de transmission du au moins un identifiant sont basées sur une proximité de la position du premier avatar par rapport à une troisième position dans l'environnement virtuel et/ou à une proximité de l’orientation du premier avatar par rapport à une troisième orientation dans l’environnement virtuel.
  7. Procédé selon l'une des revendications précédentes, en particulier la revendication 5, dans lequel les conditions de transmission de l'identifiant d'événement sont basées sur une minuterie et/ou satisfaisant à la totalité d'une première liste de conditions prédéterminées, sur la base d'au moins l'un du premier emplacement, de la première orientation, de l'entrée d'instructions de commande, ou d'une action effectuée par le premier ou le second avatar.
  8. Procédé selon l'une des revendications précédentes, dans lequel les informations d’affichage supplémentaires reçues en provenance du composant logiciel permettent une intégration d’applications externes dans l’environnement virtuel.
  9. Procédé selon l'une des revendications précédentes, en particulier la revendication 8, dans lequel les informations supplémentaires reçues en provenance du composant logiciel établissent un canal de communication entre le premier dispositif utilisateur et le second dispositif utilisateur pour activer au moins l'un d'une fonction de chat, d'un canal audio, ou d'une connexion vidéo.
  10. Procédé selon l'une des revendications précédentes, en particulier la revendication 9, dans lequel l’application de navigateur est dotée d’une autorisation pour initier et commander l’exécution des applications externes sur le premier dispositif utilisateur.
  11. Procédé selon l'une des revendications précédentes, en particulier la revendication 3, dans lequel le composant logiciel comprend un système de gestion de contenu, et les options de personnalisation peuvent de plus être définies par l'intermédiaire d'une interface de programmation d'application.
  12. Système de rendu d'images d'un environnement virtuel sur un premier dispositif utilisateur comprenant :
    un premier dispositif utilisateur configuré pour :
    exécuter une application de navigateur,
    recevoir des instructions de commande entrées par un utilisateur et transmettre ces instructions de commande, de préférence sur un réseau, à au moins un premier serveur, dans lequel le au moins un premier serveur est configuré pour (i) créer des données d'image indicatives de vues rendues d'un environnement virtuel sur la base, en partie, des instructions de commande reçues, et (ii) transmettre un flux des données d'image au premier dispositif utilisateur,
    recevoir le flux de données d'image transmis au premier dispositif utilisateur, et
    recevoir d'un second serveur des informations d'image supplémentaires produites par un composant logiciel s'exécutant sur ledit second serveur, lesdites informations d'image supplémentaires représentant un contenu généré à l'extérieur de l'environnement virtuel rendu ; et
    dans lequel l’application de navigateur est configurée pour :
    restituer en tant que première couche des vues de l’environnement virtuel sur la base des données d'image de diffusion continue reçues,
    détecter l'occurrence d’au moins un événement lié à l’environnement virtuel et/ou aux instructions de commande,
    lors de la détection du au moins un événement, transmettre une demande au second serveur exécutant le composant logiciel pour produire les informations d'image supplémentaires, et
    restituer en tant que seconde couche partiellement transparente des images dérivées des informations d'affichage supplémentaires reçues, dans lequel la seconde couche est affichée en recouvrant au moins une partie de la première couche pour permettre l'affichage du contenu externe dans l'environnement virtuel rendu.
  13. Système selon la revendication 12, dans lequel les instructions de commande changent au moins l’une d’une première position ou d’une première orientation d’un premier avatar dans l’environnement virtuel, ou amènent le premier avatar à effectuer une action dans l’environnement virtuel, et dans lequel les vues rendues de l’environnement virtuel correspondent à la au moins l’une de la première position, de la première orientation et/ou de l’action du premier avatar.
  14. Système selon l'une des revendications 12 et 13, dans lequel le composant logiciel stocke des options de personnalisation quant à l’apparence de l’environnement virtuel et/ou du premier avatar et est configuré pour recevoir une sélection d’une option de personnalisation par le navigateur, et lors de la réception, la sélection fournit des informations au premier serveur, amenant le premier serveur à restituer le premier avatar et/ou l’environnement virtuel en correspondance avec la sélection.
  15. Système selon l'une des revendications 12 à 14, dans lequel le au moins un serveur est connecté à un composant multijoueur, le composant multijoueur fournissant une deuxième position et une deuxième orientation d’au moins un second avatar, commandé par un second dispositif utilisateur, au au moins un serveur, et le serveur restitue une représentation du second avatar à la deuxième position avec la deuxième orientation dans l’environnement virtuel.
  16. Système selon l'une des revendications 12 à 15, en particulier la revendication 13, dans lequel le serveur est adapté pour surveiller le mouvement du premier avatar pour détecter des conditions pour un événement, et pour transmettre au moins un identifiant d’évènement au premier dispositif utilisateur à chaque fois que ces conditions sont satisfaites, et le composant logiciel comprenant une base de données, la base de données stockant les informations supplémentaires associées à chaque identifiant d’évènement.
  17. Système selon l'une des revendications 12 à 16, en particulier la revendication 16, dans lequel les conditions de transmission du au moins un identifiant sont basées sur une proximité de la position du premier avatar par rapport à une troisième position dans l'environnement virtuel ou sur une proximité de l’orientation du premier avatar par rapport à une troisième orientation dans l’environnement virtuel.
  18. Système selon l'une des revendications 12 à 17, en particulier la revendication 15, dans lequel les conditions de transmission de l'identifiant d'événement sont basées sur au moins une minuterie ou satisfaisant à la totalité d'une première liste de conditions prédéterminées, sur la base d'au moins l'un du premier emplacement, de la première orientation, de l'entrée d'instructions de commande, ou d'une action effectuée par le premier ou le second avatar.
  19. Système selon l'une des revendications 12 à 18, dans lequel les informations d’affichage supplémentaires reçues en provenance du composant logiciel permettent une intégration d’applications externes dans l’environnement virtuel.
  20. Système selon l'une des revendications 12 à 19, en particulier la revendication 19, dans lequel les informations d’affichage supplémentaires reçues en provenance du composant logiciel établissent un canal de communication entre le premier dispositif utilisateur et le second dispositif utilisateur pour activer une fonction de chat, un canal audio, ou une connexion vidéo.
  21. Système selon l'une des revendications 12 à 20, en particulier la revendication 20, dans lequel l'application de navigateur est dotée d'une autorisation pour initier et commander l'exécution des applications externes sur le premier dispositif utilisateur.
  22. Système selon l'une des revendications 12 à 21, en particulier la revendication 14, dans lequel le composant logiciel comprend un système de gestion de contenu, et les options de personnalisation peuvent en outre être définies par l'intermédiaire d'une interface de programmation d'application.
FR2307198A 2022-07-06 2023-07-06 Systèmes et procédés pour le rendu interactif d'un environnement virtuel sur un dispositif utilisateur ayant une capacité de calcul limitée Pending FR3137770A1 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
IES2022/0111 2022-07-06
IES20220111 2022-07-06
US18/106,596 2023-02-07
US18/106,596 US11995787B2 (en) 2022-07-06 2023-02-07 Systems and methods for the interactive rendering of a virtual environment on a user device with limited computational capacity

Publications (1)

Publication Number Publication Date
FR3137770A1 true FR3137770A1 (fr) 2024-01-12

Family

ID=89387062

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2307198A Pending FR3137770A1 (fr) 2022-07-06 2023-07-06 Systèmes et procédés pour le rendu interactif d'un environnement virtuel sur un dispositif utilisateur ayant une capacité de calcul limitée

Country Status (3)

Country Link
DE (1) DE102023117678A1 (fr)
FR (1) FR3137770A1 (fr)
WO (1) WO2024008791A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20250371538A1 (en) * 2024-05-31 2025-12-04 Tmrw Foundation Ip S.Àr.L. Systems and methods for integrating three-dimensional virtualization systems with transaction systems

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9064023B2 (en) * 2008-12-29 2015-06-23 Avaya Inc. Providing web content in the context of a virtual environment

Also Published As

Publication number Publication date
WO2024008791A1 (fr) 2024-01-11
DE102023117678A1 (de) 2024-01-11

Similar Documents

Publication Publication Date Title
CN104769627B (zh) 用于对端辅助购物的方法和装置
US11363329B2 (en) Object discovery and exploration in video content
US11222479B2 (en) Object customization and accessorization in video content
US9892556B2 (en) Real-time exploration of video content
US11995787B2 (en) Systems and methods for the interactive rendering of a virtual environment on a user device with limited computational capacity
US20240361837A1 (en) Ephemeral Artificial Reality Experiences
EP2511842B1 (fr) Consultation de maquettes numériques à partir de postes légers
JP2022184842A (ja) コンピュータプログラム、方法、及び、サーバ装置
US20250378204A1 (en) Unlockable content creation portal
US12361658B2 (en) Video processing with preview of AR effects
US20150020020A1 (en) Multi-dimensional content platform for a network
FR3137770A1 (fr) Systèmes et procédés pour le rendu interactif d'un environnement virtuel sur un dispositif utilisateur ayant une capacité de calcul limitée
FR3055079A1 (fr) Systeme de composition ou de modification de sequences de realite virtuelle, procede de composition et systeme de lecture desdites sequences
US20250365261A1 (en) Rule-based messaging and user interaction system
US10939175B2 (en) Generating new video content from pre-recorded video
WO2025049497A1 (fr) Partage de collections d'éléments de contenu dans un dialogue en ligne
US20240404005A1 (en) High resolution synthesis using shaders
US12088544B2 (en) Saving ephemeral media to a conversation thread
US20240045987A1 (en) Data privacy preserving age gating service
FR3084498A1 (fr) Systemes et procedes pour une interaction amelioree dans une application de realite augmentee
WO2020128206A1 (fr) Procédé d'interaction d'un utilisateur avec un environnement de réalité virtuelle
GB2622668A (en) Systems and methods for the interactive rendering of a virtual environment on a user device with limited computational capacity
US20260046264A1 (en) Quotable stories and stickers for messaging applications
US20260037608A1 (en) User interface for improving user security in virtual reality environments
CN120676213A (zh) 一种资源显示方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLFP Fee payment

Year of fee payment: 3