Brevet FR2903793A1 — publié le 20080118

PROCEDE DE CREATION DE SCENES EN TROIS DIMENSIONS La présente invention concerne un procédé de création de scènes et/ou de vues en trois dimensions (3D) ou en relief. Une scène 3D est composée d'un paysage ou terrain dans 5 lequel sont disposés des éléments en trois dimensions. La notion d'élément sera détaillée plus loin. Un tel procédé est utilisé pour la création d'images ou de scènes, tant par des amateurs que par des professionnels tels que des paysagistes, des architectes ou encore des 10 graphistes. Ces métiers requièrent l'utilisation d'un outil de création permettant de créer des images de simulation ayant le plus de réalisme possible, afin de pouvoir être exploitées au mieux. Il est connu, pour la création d'images ou de paysages 15 en trois dimensions, d'utiliser des produits logiciels permettant de sélectionner des éléments 3D à partir d'une bibliothèque d'éléments, et de répartir ces éléments sur un terrain. Dans les versions les plus évoluées de ces produits 20 logiciels, il est possible de régler certains paramètres des éléments 3D en fonction de l'environnement, par exemple de l'altitude,de la pente du terrain, ou encore du type de terrain. 2903793 2 Bien que fournissant des images très réalistes, les produits logiciels existants présentent l'inconvénient de ne pas être très intuitifs au niveau de l'utilisation, puisque les éléments 3D sont disposés de manière automatique sur des zones de formes géométriques bien déterminées. L'objectif de la présente invention est de remédier à cet inconvénient en fournissant un procédé permettant aux utilisateurs de créer des scènes en trois dimensions par un processus proche d'une création manuelle, et qui permet donc d'obtenir des images très réalistes et très proches des objectifs des utilisateurs. L'invention peut être utilisée pour la création de scènes en tant que telles, mais également pour d'autres applications telles que, par exemple, la simulation et/ou la création d'environnements pour des jeux. Dans le cadre de l'invention, on désignera par élément 3D tout élément pouvant être disposé sur un terrain, tel que, par exemple, un arbre, un bâtiment, un véhicule, un personnage, un animal, une roche. L'invention propose un procédé de création de scènes 3D, comprenant une étape de peuplement de la scène par des éléments 3D, appelés instances. Cette étape consiste en la sélection d'un type d'instances dans une bibliothèque d'éléments 3D, puis la répartition automatique d'une ou plusieurs instances de ce type dans une zone de largeur déterminée, cette zone étant située de part et d'autre d'un trait défini par l'utilisateur par le biais d'une interface. Dans une réalisation, la répartition des instances dans la zone de largeur déterminée est aléatoire ou pseudo aléatoire. Dans une autre réalisation, la répartition des instances dans la zone de largeur déterminée est déterministe. 2903793 3 Selon les réalisations, l'interface utilisateur est, par exemple, une tablette graphique munie d'un stylet, ou une souris. Une tablette graphique permet à l'utilisateur de 5 contrôler parfaitement la répartition des éléments sur la scène, puisque le choix de la zone est effectué par le dessin d'un trait au stylet, de la même façon qu'un utilisateur dessinerait un trait au crayon sur une feuille. Dans une réalisation, la largeur de la zone est 10 déterminée par l'utilisateur. Ainsi, lorsque l'utilisateur trace un trait, avec le stylet ou par le biais d'une autre interface, des instances du type choisi sont réparties dans toute la zone autour du trait, sur la largeur déterminée. 15 Certaines tablettes graphiques existant dans le commerce offrent de multiples fonctionnalités permettant de rendre certains paramètres d'une application dépendants d'actions sur le stylet. De manière plus précise, on peut, par exemple, décider que le stylet est relié à une fonction faisant 20 varier un paramètre en fonction d'une action effectuée sur le stylet, ou de paramètres physiques du stylet. De la même façon, il est possible de configurer une souris munie d'un ou plusieurs bouton(s) de commande et/ou d'une molette de commande de façon que des actions sur le (s) bouton(s) 25 et/ou la molette aient des conséquences sur le réglage de certains paramètres présents dans une application installée sur un ordinateur relié à ladite souris. Ainsi, dans une réalisation de l'invention, 30 l'utilisateur choisit un paramètre qui est destiné à être réglé via l'interface utilisateur, par exemple la tablette graphique muni d'un stylet. Ce paramètre est choisi dans le groupe comprenant entre autres la densité des instances, la taille des instances, la couleur des instances, la forme des instances et l'orientation des instances dans l'image 3D. 2903793 4 Dans un exemple, ces paramètres réglables peuvent également être tout paramètre ayant une influence sur la forme d'une instance. Ainsi, dans le cas où l'élément 3D est une plante, des paramètres tels que l'âge de la plante, l'exposition 5 au soleil ou encore la fertilité du terrain peuvent être réglés par l'utilisateur. Dans une réalisation, dans laquelle l'interface utilisateur est une tablette graphique munie d'un stylet, le 10 procédé est tel que l'utilisateur agit sur un de ces paramètres via une variation de pression sur le stylet. Par exemple, l'utilisateur décide que, plus il appuie sur le stylet au moment de la définition du trait, plus la taille des instances placées aux abords du et/ou sur le trait est grande. 15 Toujours dans le cas où l'interface utilisateur est une tablette graphique munie d'un stylet, de la même façon, le procédé est tel que l'utilisateur agit sur le (les) paramètre(s) via une variation de l'orientation du stylet. 20 Lorsque l'interface utilisateur est une souris munie d'au moins un bouton, le procédé est tel que, dans une réalisation, l'utilisateur agit sur le(s) paramètre(s) sélectionnés via une variation du temps d'appui sur l'un ou 25 l'autre des boutons. Dans une réalisation de l'invention, le plan dans lequel sont créées les instances est choisi par l'utilisateur. A cet effet, l'utilisateur choisit une vue de la scène 3D, et les 30 instances sont créées en fonction de ce choix. Ainsi, si la vue choisie est une vue de dessus, lorsque l'utilisateur trace un trait, les instances sont créées dans un plan horizontal de la scène 3D, par exemple sur le sol. De la même façon, si l'utilisateur choisit une vue 35 latérale, les instances seront plutôt créées de manière 2903793 5 verticale. Ce choix est particulièrement pertinent dans le cas, par exemple, où l'utilisateur souhaite ajouter des plantes sur un mur vertical ou une falaise. 5 Parmi les paramètres réglables par l'utilisateur se trouve la densité des instances. L'utilisateur peut décider de créer des instances avec une densité fixe. Toutefois, notamment dans le cas où la répartition des instances est aléatoire, il n'est pas toujours judicieux de fixer ce paramètre. Pour garder 10 un contrôle de la densité dans le cas où elle n'est pas fixée, le procédé comprend, dans une réalisation, l'étape pour l'utilisateur de fixer une valeur limite de densité des instances dans la zone de largeur déterminée à ne pas dépasser. Dans une réalisation, le procédé est tel que lorsque 15 cette limite de densité est atteinte, on fait varier d'autres paramètres des instances, par exemple la taille des instances. Dans un processus de création, un utilisateur peut avoir besoin de modifier des instances après qu'elles aient été 20 créées. L'invention permet cela puisque les instances qui sont créées sont indépendantes les unes des autres, même si elles sont créées au cours d'une même étape de peuplement. Ainsi, lorsqu'un utilisateur crée une rangée d'arbres de même taille et de même forme, il peut choisir ultérieurement de modifier 25 uniquement certains de ces arbres et pas les autres. En outre, dans une scène 3D créée par l'utilisateur, certaines instances sont le résultat d'une étape de peuplement telle que décrite précédemment, mais d'autres peuvent également 30 avoir été créées par un procédé autre que celui décrit ici. Il est utile, afin d'offrir le plus de possibilités possibles à un utilisateur, de permettre la modification de ces autres instances. Par ailleurs, l'utilisateur peut choisir de modifier 35 les instances de manière locale, c'est à dire en les 2903793 6 sélectionnant une par une, ou alors de modifier globalement l'ensemble des instances se trouvant dans une zone. A cet effet, il est utile de pouvoir sélectionner des 5 instances se trouvant dans une scène. Ainsi, dans une réalisation, le procédé comprend une étape de sélection d'instances réparties dans une image 3D, cette étape consistant en : - le choix d'une largeur de zone, 10 - la définition d'une zone de la largeur choisie, répartie de part et d'autre d'un trait défini par l'utilisateur au moyen de l'interface, et -la sélection de toutes les instances présentes dans la zone ainsi déterminée. 15 A cet effet, dans une réalisation, le procédé comprend une étape de modification de la scène 3D, cette étape consistant en : - la sélection d'une ou plusieurs instance(s) déjà 20 répartie(s) dans la scène 3D, certaines de ces instances étant le résultat d'un procédé de création différent de l'invention, et - le choix et l'application d'une modification à cette (ces) instances. 25 Selon la réalisation, la modification des instances est choisie dans le groupe comprenant un déplacement dans la scène, une modification de taille, une modification de couleurs, une modification de densité, une modification de forme, une 30 modification d'orientation, et une modification de tout paramètre ayant une influence, immédiate ou différée, sur la forme et/ou la couleur des instances. Un exemple de paramètre ayant une influence sur la forme et la couleur d'une plante serait, par exemple, une 35 quantité d'engrais qu'on répand dans un terrain. En effet, selon 2903793 7 cette quantité, les plantes grandissent plus ou moins vite, et ont une couleur qui peut virer au jaune. Ces modifications n'interviennent pas immédiatement au moment de la dispersion de l'engrais, mais plus tard au cours du temps. 5 Ainsi, la modification à un instant donné d'une quantité d'engrais à une conséquence différée sur les plantes. Pour les mêmes raisons que celles évoquées précédemment, un utilisateur peut avoir besoin d'effacer 10 certaines instances de la scène 3D. Cet effacement peut se faire de différentes façons : La première solution consiste à effacer les instances indépendamment les unes des autres. Ainsi, dans une réalisation, 15 le procédé comprend une étape de dépeuplement de la scène 3D, cette étape consistant en : - la sélection d'une ou plusieurs instance(s) déjà répartie(s) dans la scène 3D, et - l'effacement de cette (ces) instance(s) 20 sélectionnée(s). De la même façon que pour l'étape de modification, l'utilisateur peut, au cours de cette étape de dépeuplement, effacer des instances présentes dans la scène 3D, mais ayant été créées par un procédé différent de l'invention. 25 Une autre possibilité est d'utiliser, pour le dépeuplement, le même principe que celui utilisé pour le peuplement, à savoir la définition d'une zone par l'utilisateur. A cet effet, dans une réalisation, le procédé comprend une étape 30 de dépeuplement de la scène 3D, cette étape consistant en : - le choix d'une largeur de zone, - la définition d'une zone de la largeur choisie, répartie de part et d'autre d'un trait défini par l'utilisateur au moyen de l'interface, et 2903793 8 - l'effacement de toutes les instances présentes dans la zone ainsi déterminée. Cette solution est particulièrement adaptée dans le cas où l'interface utilisateur est une tablette graphique munie 5 d'un stylet. En effet, la plupart des stylets existant dans le commerce ont une fonction gomme , c'est à dire que lorsqu'un utilisateur retourne le stylet et le déplace sur la tablette graphique, il efface les éléments se trouvant virtuellement aux emplacements parcourus. Ainsi, par exemple, dans le cas de 10 l'invention, l'utilisateur définit une largeur de gomme, et déplace le stylet sur la tablette graphique, cette tablette graphique étant configurée de façon telle que toutes les instances se trouvant dans la zone de gommage ainsi définie sont effacées. 15 D'autres caractéristiques et avantages de l'invention apparaîtront avec la description de certains de ses modes de réalisation, cette description étant effectuée à titre non limitatif à l'aide des figures sur lesquelles : - la figure 1 représente un système de création utilisant un procédé conforme à l'invention, - la figure 2 représente une partie d'une interface utilisateur permettant le peuplement d'une scène selon un procédé conforme à l'invention, - la figure 3 représente une vue d'une scène dans laquelle ont été créées des instances, - la figure 4 représente une partie d'interface utilisateur permettant la sélection d'instances, - les figures 5 et 6 représentent des vues de scènes en cours de modification selon un procédé conforme à l'invention, la figure 7 représente une scène en trois dimensions créée par un procédé selon l'invention. 20 25 30 35 2903793 9 La figure 1 présente un système permettant à un utilisateur 10 de créer des scènes en trois dimensions. Pour cela, l'utilisateur dispose d'un ordinateur personnel 16, par exemple de type PC, sur lequel est installé un 5 produit logiciel 18 utilisant un procédé conforme à l'invention. Pour créer une scène en trois dimensions, l'utilisateur choisit, via une interface utilisateur, un type de paysage afin de servir de base pour la scène. Ensuite il choisit un type d'instances destinées à être réparties dans la scène. 10 Pour répartir ces instances, l'utilisateur dispose d'un stylet 12 relié à une tablette graphique 14, elle-même reliée à l'ordinateur 16. Le stylet est utilisé comme un stylo, pour venir peindre sur la tablette graphique les emplacements où l'on souhaite disposer des instances, ces 15 emplacements correspondant à des emplacements virtuels dans la scène en trois dimensions. La figure 2 représente une interface permettant à un utilisateur de créer des instances dans une scène en trois 20 dimensions. Cette interface donne accès à plusieurs fonctionnalités. Le choix de la fonction mise en oeuvre est effectué via le choix d'un bouton dans la zone 20 de l'interface. Ces boutons permettent de choisir entre la création 25 d'une instance unique (20a) , la création de plusieurs instances (20b), l'effacement d'instances (20c), ou la modification de la couleur et/ou de la taille d'instances (20d). Par ailleurs, dans le cas où l'utilisateur souhaite créer plusieurs instances à la fois, c'est à dire dans le cas où 30 le bouton 20b est activé, il est possible de choisir une option aérosol , permettant de créer les instances de manière aléatoire dans la zone déterminée par l'utilisateur. Cette option est mise en oeuvre via la sélection du bouton 20e. 2903793 10 Lorsqu'on est dans le cas de la création d'une ou plusieurs instances, l'interface permet de choisir et/ou régler certains paramètres. Tout d'abord, l'utilisateur choisit le type 5 d'instances qu'il souhaite créer. Ce choix se fait en utilisant la zone 23 de l'interface. Cette zone présente une liste d'instances 24a, 24b, 24c parmi lesquelles il peut choisir. L'utilisateur peut, s'il le souhaite, choisir de peindre tous les types d'instances en même temps. Pour cela, il sélectionne 10 le bouton 26a dans la zone 26. Sinon, il sélectionne le bouton 26b, et dans ce cas seuls les types d'instances sélectionnés dans la liste 24a, 24b, 24c seront créées. Ainsi qu'expliqué précédemment, dans un procédé 15 conforme à l'invention, les instances sont créées dans une zone de largeur déterminée autour d'un trait défini par l'utilisateur. Pour déterminer la largeur de cette zone, l'utilisateur utilise une commande 22a située dans la zone 22. Cette commande correspond à un diamètre de brosse servant à 20 créer les instances. L'utilisateur choisit également, à l'aide du curseur 22b, la densité des instances dans la zone de création. Par ailleurs, la zone 22 de l'interface permet de régler certaines caractéristiques des instances ; ainsi, 25 l'utilisateur choisit la taille et la couleur des instances, en utilisant respectivement les curseurs 22c et 22d. Dans le cas où l'utilisateur dessine par le biais d'une tablette graphique munie d'un stylet, il est possible de 30 relier certains de ces paramètres à la tablette de manière que les réglages des paramètres dépendent d'actions effectuées par l'utilisateur sur le stylet. Cette solution offre l'avantage d'être plus intuitive et plus ergonomique pour l'utilisateur. 2903793 11 La création d'instances est illustrée sur la figure 3. Cette figure représente une image 30, correspondant à une scène 3D, sur laquelle ont été créées des instances 32. Pour cela, l'utilisateur définit, via un stylet, ou une souris, ou tout 5 autre moyen, un trait autour duquel sont créées les instances. Ce trait 32 est représenté sur cette figure à titre d'illustration, puisqu'en réalité il n'apparaît pas dans la scène. La définition du trait 32 étant effectuée par le biais 10 d'un stylet ou d'une souris, cela permet à l'utilisateur de créer les instances en se rapprochant d'une démarche de création manuelle. Les instances sont créées autour du trait 32 ainsi défini. La largeur de la zone de création est représentée par le 15 cercle 34. Les instances 36 sont donc créées dans une zone de cette largeur tout au long du trait, ainsi qu'on peut le voir sur l'image. Les instances ainsi créées ont les caractéristiques définies au préalable par le biais de l'interface décrite 20 précédemment à l'aide de la figure 3. Un procédé selon l'invention permet également, après la création d'instances, une modification d'une ou plusieurs de ces instances. 25 Cette modification est, par exemple, effectuée par l'utilisateur via une interface telle que celle représentée sur la figure 4. Cette interface permet, dans un premier temps, de choisir la fonctionnalité qui doit être activée, ce choix se 30 faisant par l'activation d'un des boutons 40, 41 ou 42, correspondant respectivement à la sélection d'instances, la désélection d'instances et la manipulation d'instances. La sélection d'instances peut être réalisée soit de manière individuelle, c'est à dire instance par instance, soit 2903793 12 de manière groupée, c'est à dire qu'on sélectionne toutes les instances se trouvant dans une zone donnée. La sélection groupée utilise le même principe que la création d'instances. En effet, l'utilisateur définit, en 5 utilisant le curseur 44, la taille de la zone de sélection, puis il dessine un trait qui sert de base à la création de la zone de sélection. Comme pour le peuplement de la scène, le dessin du trait est, par exemple, effectué en utilisant une tablette graphique munie d'un stylet et/ou une souris. 10 L'interface présentée sur la figure 4 comporte également un bouton 43 permettant de désélectionner toutes les instances sélectionnées en une seule action. Ceci permet de rendre cette étape plus rapide et plus ergonomique pour l'utilisateur. Par ailleurs, l'interface permet de visualiser, 15 sur la ligne 45, le nombre d'instances sélectionnées. Dans l'exemple illustré ici, 230 instances sont sélectionnées. Cette opération de sélection et de modification est illustrée par la figure 5. 20 Sur cette figure est représentée une image telle que celle de la figure 3, contenant les instances ayant été créées au préalable, et qui sont en cours de modification. Les instances se trouvant dans la zone 54 ont subi une modification de couleur, cette modification est représentée par 25 des cercles noirs sur la figure. Les instances se trouvant dans la zone 56 apparaissent tachetées de noir car elles sont sélectionnées, en vue d'une modification future. Le cercle 58 représente l'outil de sélection, que l'utilisateur déplace sur l'image, représentant 30 une scène, afin de sélectionner les instances se trouvant à l'intérieur. Après avoir sélectionné certaines instances, l'utilisateur a le choix entre différentes modifications. Ainsi 35 que décrit à l'aide de la figure 5, il peut modifier les 2903793 13 couleurs, mais il peut également choisir de déplacer les instances. Ainsi, sur la figure 6, on voit que toutes les instances sélectionnées dans l'image de la figure 5, c'est à 5 dire les instances se trouvant dans la zone 56, ont été déplacées et se trouvent maintenant dans une zone 60. Pour effectuer des déplacements relativement précis, l'utilisateur dispose de deux axes, horizontal et vertical, 62. Par ailleurs, lorsque l'utilisateur choisit le mode manipulation 10 dans l'interface présentée en figure 4, un ensemble de boutons 64 apparaît sur l'image afin d'offrir de manière ergonomique différentes fonctionnalités à l'utilisateur. Parmi ces fonctionnalités se trouvent une fonction de rotation, une fonction de grossissement et/ou de diminution. 15 L'image représentée sur les figures 3, 5 et 6 est une vue de dessus d'une scène en trois dimensions créée à l'aide d'un procédé conforme à l'invention. La figure 7 est un exemple d'une vue en trois 20 dimensions de la scène. Sur cette image on voit apparaître les instances créées. Les instances situées dans la zone 74 n'ont pas été modifiées. Les instances dans la zone 72 ont subi une modification de couleur, ainsi qu'expliqué précédemment. 25 Les instances présentes dans la zone 70 apparaissent tachetées de noir car elles sont sélectionnées. 30 REVENDICATIONS 1. Procédé de création d'une image représentant une scène en trois dimensions (30, 50), destiné à être mis en oeuvre par un produit logiciel, le procédé comprenant une étape de peuplement de la scène (30, 50) par des éléments trois dimensions, appelés instances (36, 52, 74), cette étape consistant en : - la sélection d'un type d'instances dans une bibliothèque (23) d'éléments 3D (24a, 24b, 24c), - la répartition automatique d'une ou plusieurs instances (36, 52, 74) de ce type dans une zone de largeur déterminée(34, 58), cette zone étant située de part et d'autre d'un trait (32) défini par l'utilisateur (10) par le biais d'une interface. 2. Procédé selon la revendication 1 dans lequel la largeur de la zone (34, 58) est déterminée par l'utilisateur. 3. Procédé selon la revendication 1 ou 2 dans lequel la répartition des instances (36, 52, 74) dans la zone est aléatoire ou pseudo aléatoire. 4. Procédé selon l'une des revendications précédentes dans lequel la répartition des instances (36, 52, 74) dans la zone est déterministe. 5. Procédé selon l'une des revendications précédentes dans lequel l'interface utilisateur est une tablette graphique (14) munie d'un stylet (12) et/ou une souris. 6. Procédé selon l'une des revendications précédentes comprenant l'étape pour l'utilisateur de sélectionner au moins un paramètre(s) dans le groupe comprenant : la densité des instances (22a), la taille des instances (22c), la 2903793 15 couleur des instances, la forme des instances et l'orientation des instances dans la scène 3D ; ce(s) paramètre(s) étant destiné(s) à être réglé(s) via l'interface utilisateur. 7. Procédé selon la revendication 5 comprenant l'étape pour l'utilisateur de fixer une valeur limite de densité des instances (22b) dans la zone de largeur déterminée (34, 58). 10 8. Procédé selon la revendication 4 dans lequel l'interface utilisateur est une tablette graphique (14) munie d'un stylet (12), et le procédé étant tel que l'utilisateur (10) agit, via une variation de pression sur le stylet, sur le(s) paramètre(s) sélectionné(s). 15 9. Procédé selon la revendication 4 ou 5 dans lequel l'interface utilisateur est une tablette graphique (14) munie d'un stylet (12), et le procédé étant tel que l'utilisateur (10) agit, via une variation de l'orientation 20 du stylet, sur le(s) paramètre(s) sélectionné(s). 10. Procédé selon la revendication 4 dans lequel l'interface utilisateur est une souris munie d'au moins un bouton de commande, et le procédé étant tel que 25 l'utilisateur (10) agit, via une variation du temps d'appui sur un bouton, sur le(s) paramètre(s) sélectionné(s). 11. Procédé selon l'une des revendications précédentes comprenant une étape de sélection d'instances 30 réparties dans une image 3D, cette étape consistant en : - le choix d'une largeur de zone (34, 58), - la définition d'une zone de la largeur choisie, répartie de part et d'autre d'un trait (32) défini par l'utilisateur au moyen de l'interface, 35 et 5 2903793 16 - la sélection de toutes les instances présentes dans la zone ainsi déterminée. 12. Procédé selon l'une des revendications 5 précédentes comprenant une étape de modification de la scène 3D, cette étape consistant en : - le choix d'une modification, - le choix d'une largeur de zone (34, 58), - la définition d'une zone de la largeur choisie, 10 répartie de part et d'autre d'un trait (32) défini par l'utilisateur au moyen de l'interface, et - l'application de la modification choisie à toutes les instances présentes dans la zone ainsi 15 déterminée. 13. Procédé selon la revendication 10 ou 11 dans lequel la modification d'une ou plusieurs instances est choisie dans le groupe comprenant : un déplacement dans la 20 scène, une modification de taille, une modification de couleurs, une modification de densité, une modification de forme, une modification d'orientation, et la modification de tout paramètre ayant une influence, immédiate ou différée, sur la forme et/ou la couleur des instances. 25 14. Procédé selon l'une des revendications précédentes comprenant une étape de dépeuplement de la scène 3D, cette étape consistant en : - le choix d'une largeur de zone (34, 58), - la définition d'une zone de la largeur choisie, répartie de part et d'autre d'un trait (32) défini par l'utilisateur au moyen de l'interface, et - l'effacement de toutes les instances présentes dans la zone ainsi déterminée. 35