Aller au contenu

« Réunion du 26-04-2022 » et « Modéliser un terrain en 37 Textures pour OpenSim » : différence entre les pages

De OSWiki
(Différence entre les pages)
Page créée avec « Source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-04-26 = Introduction= * [https://fr.wikipedia.org/wiki/Rendu_physique_r%C3%A9aliste PBR] (Rendu physique réaliste) : regroupe un ensemble de techniques de rendu de scène 3D, qui imitent les modèles physiques décrivant le comportement de la lumière dans le monde réel * [https://modemworld.me/2022/04/23/2022-ccug-tpvd-meetings-week-16-summary-pbr/ 2022 CCUG + TPVD réunions semaine #16 r... »
 
Balise : Révocation manuelle
 
Ligne 1 : Ligne 1 :
Source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-04-26
= Modélisation du terrain  dans [https://www.blender.org/ Blender 3D] =
= Introduction=
<br>
* [https://fr.wikipedia.org/wiki/Rendu_physique_r%C3%A9aliste PBR] (Rendu physique réaliste) : regroupe un ensemble de techniques de rendu de scène 3D, qui imitent les modèles physiques décrivant le comportement de la lumière dans le monde réel
<big><big>Tout au long du tutoriel, dans Blender 3D,  
* [https://modemworld.me/2022/04/23/2022-ccug-tpvd-meetings-week-16-summary-pbr/ 2022 CCUG + TPVD réunions semaine #16 résumé (PBR)] (en):  […] LL a proposé une approche en deux étapes pour passer à une prise en charge "complète" des matériaux PBR (Physically Based Rendering) afin de donner une grande fidélité au rendu de SL lorsque des matériaux PBR sont utilisés.[…]
* ne pas oublier de placer le pointeur de la souris dans l'éditeur concerné par les commandes envoyées par une ou plusieurs touches du clavier ou par des boutons de la souris.
* sauvegarder souvent le fichier blender.</big></big>
<br>
== Utiliser l'add-on A.N.T.Landscape ==
=== Add-on A.N.T.Landscape ===
* Suivre [[Terrain_en_mesh_et_height_map#Utiliser_l'add-on_A.N.T.Landscape_dans_Blender3D |le tutoriel '''Utiliser l'add-on A.N.T.Landscape dans Blender3D''']].


[11:02 AM PT] '''Andrew Hellershanks''' : Bonjour à tous.
=== Options de l'add-on ===


[11:03 AM PT] '''Ubit Umarov''' : Alors, quelles sont les nouvelles que vous avez ?
* Utiliser le modèle prédéfini, par exemple '''"river"''', pour cela tout en haut de la fenêtre des options de l'add-on, ouvrez le menu déroulant '''"Opérator Presets"'''.
* Un peu plus bas dans cette fenêtre, définissez les subdivisions X et subdivisions Y à 133.
<gallery>
Fichier:Options landscape.jpg| Options
Fichier:Terrain phase 001.png| Terrain river
</gallery>


[11:04 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : J'essaie de corriger la bibliothèque opensim et la façon dont les viewers la supportent. Quelques corrections sur le comportement du mouvement et sa stabilité, étant donné les problèmes que nous avons eu la dernière fois. Mise en place de plus d'options que les viewers peuvent supporter.
== Pourtour du terrain ==
* En '''mode object''', délectionner le plan qui simule le niveau de l'eau et le masquer à l'aide de '''la touche H''' .
* En '''mode Edit''', sélectionner les sommets de la périphérie du terrain. Pour chaque côté, placez le pointeur de la souris près du bord et en pressant sur les touchez SHIFT + ALT faire un clique gauche. La ligne de sommets devait se sélectionner en une seule fois. Faire cela sur les 4 côtés.
* Extruder une fois ces sommets vers le bas avec '''la touche E puis Z''' (2 ou trois carreaux de la grille).
* Égaliser la hauteur des sommets : '''S puis Z puis 0'''
* Divisier la hauteur des bords avec '''CTRL + R''' et faire 6 boucles avec la '''molette''' de la souris.
* En '''mode Object''' sélectionner le terrain et appliquer les modifications du mesh : CTRL + A  et sélectionner All Transforms.
<gallery>
Fichier:Terrain phase 001 H.jpg|Utiliser H
Fichier:Terrain phase 001 periph.jpg|Périphérie
Fichier:Terrain phase 001 extruder.jpg | E + Z
Fichier:Terrain phase 001 egaliser.png | S puis Z puis 0
Fichier:Terrain phase 001 decoupage.jpg | CTRL + R et molette
Fichier:Terrain phase 001 modif.jpg |Modifications appliquées
</gallery>


[11:04 AM PT] '''Kayaker Magic''' : J'ai entendu une rumeur selon laquelle LL va ajouter des fonctionnalités PBR (physical based rendering) au viewer. Qu'est-ce qui devra changer dans OpenSim pour cela ?
= Dessiner les coutures du terrain =
== Coutures des bords ==
* En mode Edit, sélectionner la première ligne de sommets au-dessus des bords avec  '''SHIFT + MAJ''' et en faisant un '''clic gauche''' tout près de la ligne. Faire cela sur les 4 côtés. En cas d'erreur supprimer la dernière action avec '''CTRL + Z'''. On '''zoome''' avec la '''molette de la souris''' pour être plus précis.
* Marquer la couture depuis le menu '''Edge''' avec '''Mark Seam'''.
* Sélectionner les arêtes des 4 angles des bords du terrain avec le raccourci clavier '''SHIFT + MAJ''' vu précédemment.
* Marquer la couture depuis le menu '''Edge'''  avec '''Mark Seam'''.
<gallery>
Fichier:Terrain phase 002 selection.jpg|Sélection
Fichier:Terrain phase 002 bord sup.jpg | Ligne supérieure
Fichier:Terrain_phase_002_arete.jpg | Angle
Fichier:Terrain phase 002 coutures.png | Coutures
</gallery>


= Départ de Gavin=
== Dessiner 36 carrés sur le terrain ==
*udODE : moteur physique
*  Sélectionner les bords du terrain. Pour cela, passer en sélection par face et sélectionner la ligne inférieure des faces avec '''SHIFT + MAJ'''. Les 4 côtés devraient être sélectionnés en une fois. Ensuite,  enfoncer la touche '''CTRL et presser la touche + de clavier numérique''' pour sélectionner une ligne supplémentaire. Presser sur la touche + pour sélectionner l'ensemble des bords du terrain. Pour désélectionner une ligne, utiliser la '''touche - du pavé numérique''' à la place de la touche +.
* [https://www.dayturn.com/viewer/index.php Dayturn Viewer]
* Masquer les bords avec la '''touche H'''.
* Passer en vue du dessus avec  '''NUM 7''' (touche 7 du pavé numérique) et en sélection par point.
* Sélectionner le bord gauche du plateau du terrain avec '''SHIFT + ALT''' et '''clic gauche''' de la souris (toujours zoomer pour se mettre proche du bord cible).
* Utiliser la technique de '''la touche NUM + avec CTRL''' 22 fois pour sélectionner 22 lignes supplémentaires. (Rappel : enfoncer la touche CTRL et utiliser la touche + du pavé numérique pour sélectionner les autres lignes. )
* Repérer la dernière ligne sélectionnée. Désélectionner tout avec '''ALT + A''' et, sélectionner cette dernière ligne  avec '''SHIFT + ALT et clic''' et la marquer depuis le menu '''Edge''' avec '''Mark Seam.'''
* Laisser cette ligne sélectionnée et utiliser la combinaison '''CTRL + NUM+''' 22 fois pour repérer la prochaine ligne de couture à marquer avec '''Mark Seam'''. Attention les lignes à gauche de la ligne de départ vont aussi être sélectionnées. Seules les lignes de droite nous intéressent ici.
* Continuez ainsi pour obtenir 6 subdivisions de 22 lignes chacune sur la largeur du terrain.
* Subdiviser le terrain de la même façon en partant de la ligne horizontale du dessus pour obtenir 6 subdivisions verticales du terrain. Ainsi la grille obtenue forme 36 carrés.
<gallery>
Fichier:Terrain phase 003 base.png |Sélection par face
Fichier:Terrain_phase_003_selection.jpg | CTRL + NUM +
Fichier:Terrain phase 003 selection complete.jpg |Sélection
Fichier:Terrain phase 003 bords masques.png |Masquer avec H
Fichier:Terrain phase 004 bord gauche.png |Bord gauche
Fichier:Terrain phase 004 22 lignes.png |23 lignes
Fichier:Terrain phase 004 ligne 22 marquee.jpg |Couture
Fichier:Terrain phase 004 selection suite.jpg | Repérage suite
Fichier:Terrain phase 004 divisions horizontales.jpg |Subdivisions horizontales
Fichier:Terrain phase 004 selection horizontale.jpg | Sélection horizontale
Fichier:Terrain phase 004 36 carres.jpg | 36 carrés.
</gallery>


[11:05 AM PT] '''Ubit Umarov''' : comme vous l'avez remarqué, Gavin a quitté la dernière réunion apparemment contrarié parce que j'ai dit le mot "firestorm" un peu trop de fois à son goût.
= Générer les UVMap =
== UVMap des bords ==
* En mode Edit, faire réapparaître les bords avec '''ALT + H'''.
* Sélectionner uniquement le plateau en inversant la sélection avec '''CTRL + I'''.
* Masquer le plateau avec '''la touche H'''.
* Sélectionner l'ensemble des bords du terrain avec la touche '''A en mode Edit'''.
* Dans l'espace de travail '''UV Editing''', génerer l'UVMap des bords depuis le '''menu UV'''. Utiliser '''Unwrap Angle Bassed''' (avec Unwrap Minimum Stretch, le modificateur Decimate déforme le texture des bords, voir [[#Exporter_le_terrain_au_format_Collada |Exporter le terrain au format Colla]]  . L'UVMap des bords s'affiche dans la fenêtre de l'éditeur UV.
<gallery>
Fichier:Terrain phase 005 afficher bords.jpg| Bords affichés
Fichier:Terrain phase 005 selection plateau.jpg |Plateau sélectionné
Fichier:Terrain phase 005 plateau masque.png | Masquer avec H
Fichier:Terrain phase 005 selection bords.png |Sélection avec A
Fichier:Terrain phase 005 UVMap bords.jpg | UVMap des bords
</gallery>


[11:06 AM PT] '''Ubit Umarov''' : Ce qui est triste, c'est que pendant que nous étions ici, il a bloqué mon accès à sa machine, où je faisais une simulation de test.
== UVMAP du plateau ==
* Afficher le plateau du terrain avec la combinaison de touches '''ALT + H'''.
* Déselectionner le plateau avec '''ALT + A'''. Sélectionner chaque côté du bord du terrain en plaçant ''la souris sur une zone délimitée par des coutures'' et utiliser la '''toucher L'''. Il y a 4 zones, une par côté.
* Masquer les bords avec la '''touche H'''.
* '''Le but''' ici est de maximiser la taille et le nombre d'images à importer dans OpenSim afin d'obtenir une texture aussi nette que possible. Il sera donc nécessaire de générer l'UVMap pour chacune des 36 zones carrées délimitées par des coutures sur le plateau du terrain, et ce, successivement, afin qu'elles occupent le maximum d'espace. Je n'ai pas trouvé d'autre solution, mais peut-être en existe-t-il d'autres. Dans tous les cas, cela nécessitera de répéter cette opération 36 fois.
* Dans l'espace de travail UV Editing, dans la vue 3D, se placer en vue du dessus '''NUM 7'''.Par convention, les carrés seront numérotés de gauche à droite et de haut en bas.
* En mode Édition et en mode sélection par face, placer le curseur de la souris sur la zone 1 et appuyer sur la touche L pour sélectionner cette zone.
* Générer l'UVMap de cette zone depuis le menu UV et choisir '''Unwrap Minimum Stretch''' si la version de Blender est supérieure ou égale à 4.3 ; sinon, choisir '''Unwrap Angle Based'''.
* Sélectionner chaque zone une par une pour générer son UVMap comme indiqué ci-dessus. Veiller à ce qu'une seule zone soit sélectionnée. Pour désélectionner la zone précédente, il suffit de cliquer dans la nouvelle zone.
* Il est préférable de vérifier rapidement si toutes les UVMaps ont été générées. Pour cela, une petite routine très rapide peut être utilisée : cliquer sur une zone, appuyer sur L, l'UVMap de la zone s'affiche dans l'éditeur UV, cliquer sur la zone suivante, appuyer sur L, etc. Si une UVMap ne s'affiche pas, c'est qu'elle n'a pas été générée, il faudra le faire.
<gallery>
Fichier:Terrain phase 005 selection plateau.jpg | ALT + H
Fichier:Terrain phase 006 selection par zone.png | Sélection par zone avec L
Fichier:Terrain phase 005 afficher bords.jpg| Bords sélectionnés
Fichier:Terrain phase 006 plateau.jpg | Bords masqués
Fichier:Terrain phase 006 36 carres num.jpg | Numérotation
Fichier:Terrain phase 006 selection de zone.jpg |Sélection par zone avec  L
Fichier:Terrain phase 006 uvmap carre.jpg | UVMap d'une zone
</gallery>


[11:06 AM PT] '''Andrew Hellershanks''' : Je ne pense pas que ce soit les nombreuses références à Firestorm. Je pense que c'est le commentaire qui donne l'impression que firestorm est le viewer officiel d'OpenSim.
= Créer les matériaux =
== Matériau des bords ==
* En '''mode Edit''', afficher et sélectionner les bords du terrain comme vu précédemment.
* Ouvrir le '''panneau des propriétés des matériaux''' (petite icône orange) dans l'éditeur des propriétés.
* Appuyer sur le bouton '''"New"'''. Nommer le matériau, par exemple "Terrain_Bords". Appuyer sur le bouton '''"Assign"''' pour attribuer le nouveau  materiau à la sélection, c'est à dire ici à l'ensemble des bords du terrain.
* Il est possible de modifier la couleur dans '''Base Color'''.
* Attention, pour l'instant, un seul matériau a été créé. Même si ce matériau est assigné à une partie du mesh, il est appliqué sur '''l'ensemble du mesh'''.
<gallery>
Fichier:Terrain phase 005 afficher bords.jpg| Bords sélectionnés
Fichier:Terrain phase 007 proprietes materiaux.jpg|Matériaux
Fichier:Terrain phase 007 materiau bords.jpg | Configuration
Fichier:Terrain phase 007 materiau vert.jpg | Ensemble du mesh
</gallery>


[11:06 AM PT] '''Ubit Umarov''' : après la réunion, je n'ai même pas pu sortir un oar de la région de test.
== Matériaux des carrés ==
=== Créer les matériaux ===
* Créer un matériau de base qui sera copié pour chacune des 36 zones carrées du plateau du terrain. Pour cela,  dans le panneau des propriétés des matériaux,  appuyer sur '''le bouton +''' en haut à droite. Appuyer sur '''New''' et nommer le nouveau matériau créé, par exemple, '''"Terrain_carre_modele"'''.
* Aller dans l'espace de travail '''Shading'''. Dans l''''éditeur de Shader''' le matériau que nous venons de créer est représenté sous la forme d'un '''Système de Nœuds'''.
* Dans Blender, le terme '''nœud''' est utilisé pour désigner les éléments du système de création de matériaux. Bien que ce terme ne soit pas toujours intuitif, il fait référence à des points de connexion qui '''modifient le signal''' final, allant '''d'une source à un émetteur'''. Chaque nœud représente une fonction ou un processus, et les connexions entre eux déterminent comment les données sont traitées pour créer le matériau final.
* Avec '''SHIFT + A'''  faire apparaître le menu '''Add''' qui permet d'ajouter un nouveau nœud . Cliquer sur  '''Search''' et cherchez le nœud '''Image Texture'''. Cliquer sur ce nœud et le placer dans l'éditeur de shader. Ce nœud va permettre d'assigner une texture au matériau.
* Relier le point '''Color''' du nœud '''Image Texture''' au point '''Base Color''' du nœud '''Principal BSDF''' : cliquer avec le bouton gauche sur le premier point, maintenir le bouton enfoncé, tirer jusqu'au deuxième point et relâcher.
* Créer une nouvelle image en appuyant sur '''New''' dans le nœud '''Image Texture'''. Donner un nom à l'image comme par exemple, "Terrain_Texture". Définir les dimensions de l'image : 2048 pour la largeur (Width)  et 2048  pour la hauteur (Height). À noter : Si on indique 1024*2, Blender 3D  effectuera automatiquement l'opération et affichera 2048. Appuyer sur le bouton '''New Image''' pour terminer.
* Générer 36 matériaux à partir matériau de base qui vient d'être créé. Pour chaque matériau :
# Dans l'éditeur de propriété des matériaux appuyer sur le '''bouton +'''.
# À gauche du bouton New, déplier la liste des matériaux disponibles et sélectionner "Terrain_carre_modele".
# Créer un nouveau matériau en cliquant sur l''''icône New material''' à gauche du nom du materiau. Un numero est ajouté au nom. Le nom du dernier matériaux généré devrait être '''Terrain_carre_036'''.


[11:06 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Ce qui n'est pas le cas pour être clair.
<gallery>
Fichier:Terrain phase 008 ajouter materiau.jpg | Nouveau matériau
Fichier:Terrain phase 008 materiau base.jpg | Matériau de base
Fichier:Terrain phase 008 système de noeuds.jpg | Système de nœuds
Fichier:Terrain phase 008 Menu Add.png | Menu Add
Fichier:Terain phase 008 Image texture.jpg | Nœud Image Texture
Fichier:Tarrain phase 008 connexion Image texture.jpg |Connexion
Fichier:Terrain phase 008 creer Image.jpg | Créer une image
Fichier:Terrain phase 008 materiau carré.jpg | Panneau des matériaux
Fichier:Terrain phase 008 meme materiau.jpg | Matériau copié
Fichier:Terrain phase 008 materiaux.jpg | Plusieurs matériaux
</gallery>
=== Assigner les matériaux ===
* Dans l''''espace de travail Shading''', en '''mode Edit''' et vue du dessus ('''NUM 7''') , sélectionner un des carrés du plateau du terrain avec la '''touche L'''.
* Sélectionner le matériaux correspondant au numéro du carré (carré N, matériau Terrain_carre_modele_N) dans l''''éditeur de shader''' ou dans l''''éditeur de propriété des matériaux'''.
* Assigner le matériau à la sélection en appuyant sur le '''bouton Assign''' dans l''''éditeur de propriété des matériaux'''.
* Dans l''''éditeur de shader''' créer une nouvelle texture sur la base de la texture créée dans le premier matériau, en cliquant sur '''le numéro''' à droite du nom de l'image dans le '''nœud Image Texture'''. La texture à son tour prend un numéro comme le matériau, signe que la texture n'est plus liée à la texture de base et qu'elle pourra être modifiée indépendamment.
* Procéder ainsi pour les 36 carrés du plateau du terrain.
<gallery>
Fichier:Terrain phase 009 selection avec L.jpg | Sélection
Fichier:Terrain phase 009 selection materiau.jpg | Matériau
Fichier:Terrain phase 009 assigner.jpg | Assigner
Fichier:Terrain phase 009 Image texture.png | Icône numérotée
Fichier:Terrain phase 009 texture dissociee.jpg | Nouvelle texture
Fichier:Terrain phase 009 selection en cours.jpg | Assignation en cours
Fichier:Terrain phase 009 materiaux assignes.png | Matériaux assignés
</gallery>


[11:06 AM PT] '''Ubit Umarov''' : Malheureusement, il a juste bloqué l'utilisation de la machine, sans même le dire.
= Peinture des 37 textures =
== Apprendre à peindre dans Blender : les bords du terrain ==
=== Créer une image ===
* Se placer dans l'espace de travail '''Shading''' et sélectionner '''Terrain_bords''' (le matériau des bords) dans la liste des '''Slots'''.
* Avec '''SHIFT + A'''  faire apparaître le menu '''Add''' qui permet d'ajouter un nouveau nœud . Cliquer sur  '''Search''' et cherchez le nœud '''Image Texture'''. Cliquer sur ce nœud et le placer dans l'éditeur de shader. Ce nœud va permettre d'assigner une texture au matériau.
* Relier le point '''Color''' du nœud '''Image Texture''' au point '''Base Color''' du nœud '''Principal BSDF''' : cliquer avec le bouton gauche sur le premier point, maintenir le bouton enfoncé, tirer jusqu'au deuxième point et relâcher.
* Créer une nouvelle image en appuyant sur '''New''' dans le nœud '''Image Texture'''. Donner un nom à l'image comme par exemple, "Bords_Texture". Définir les dimensions de l'image : 2048 pour la largeur (Width)  et 2048  pour la hauteur (Height). Appuyer sur le bouton '''New Image'''.
<gallery>
Fichier:Terrain phase 010 Slots.png | Slots
Fichier:Terrain phase 008 Menu Add.png | Menu Add
Fichier:Terain phase 008 Image texture.jpg | Nœud Image Texture
Fichier:Tarrain phase 008 connexion Image texture.jpg |Connexion
Fichier:Terrain phase 010 bords texture.png  |Texture des bords.
</gallery>
=== Masquer une partie du maillage ===
* Se placer dans l''''espace de travail Texture Paint'''.
* En peignant les bords, il est possible de peindre involontairement et de manière peu soignée le plateau du terrain. Ce tutoriel explique comment '''protéger une partie d'un mesh''' des projections de peinture indésirables.
* Pour cela, dans la vue 3D sélectionner en '''mode Edit''' les bords du mesh avec la '''touche L''' puis inverser la sélection avec '''CTRL + I'''.
* Enfin, masquer le plateau avec la '''touche H'''. Passer en '''mode object'''.
* Seuls les bords sont visibles et pourront être peints.
<gallery>
Fichier:Terrain phase 010 Bords.jpg| Bords à peindre
</gallery>
=== Découvrir l'espace de travail Texture Paint ===
* Dans ce tutoriel, la texture des bords aura l'apparence de la roche, mais il est également possible d'assurer une continuité avec celle du plateau. La capture d'écran intitulée '''Texture Paint''' dans la '''galerie d'images''' ci-dessous facilite la compréhension de ce tutoriel.
* Sélectionner la '''texture des bords''' dans l''''éditeur d'images''' et dans la '''vue 3D''' comme indiqué sur la capture d'écran.
* Déplier  le '''panneau latéral''' de la vue 3D en appuyant sur la '''touche N''' puis ouvrir l'onglet '''Tool''' (outils) où sont regroupés les outils et options spécifiques pour peindre directement sur les textures des objets, permettant de sélectionner des pinceaux, de régler leur taille, leur force, et d'appliquer divers effets de peinture.
<gallery>
Fichier:Terrain phase 010 Texture Paint.jpg | Texture Paint
</gallery>
=== Test de peinture dans Blender 3D ===
* Pour vérifier que tout est bien en place, faire un '''test de peinture''' sur le mesh avec une simple couleur. Pour cela, en mode '''Texture Paint''', sélectionner '''une couleur''' dans le sélecteur de couleur ('''Color Picker''') dans les outils de peinture du panneau latéral. Vérifier que l''''icône Brush''' (le petit pinceau en haut à gauche de la vue 3D, est bien sélectionnée. Si c'est le cas, '''le curseur de la souris est un cercle''' avec une croix à l'intérieur. La taille du cercle reflète la taille du pinceau. Appuyer sur '''la touche F''' permet de modifier rapidement la taille du pinceau. Une fois la touche enfoncée, il suffit de déplacer la souris pour ajuster la taille selon les besoins.
* '''Avertissement 1 ''': si le pinceau est trop grand, l'ordinateur devra gérer la modification de surfaces étendues, ce qui demande beaucoup de ressources. Selon la puissance de la machine, cela peut entraîner un '''risque de plantage''' sans possibilité de retour en arrière.
* '''Avertissement 2''' : '''les modifications apportées à la texture ne sont pas enregistrées automatiquement'''. Si Blender est fermé sans avoir enregistré le fichier, ces modifications seront perdues. Pour éviter cela, activez l'option File > External Data > automatically packs  et assurez-vous d'enregistrer votre fichier Blender et vos textures aussi souvent que possible.
* '''Le test''' : réduire le pinceau, dessiner sur le mesh. Le dessin devrait apparaître sur la texture de l'éditeur d'images. Inversement, dessiner sur la texture dans l'éditeur d'images. Les modifications devraient apparaître sur le mesh.
<gallery>
Fichier:Terrain phase 010 test peinture.jpg | Test de peinture
</gallery>
=== Trouver une texture  avec BlenderKit ===
* Il est possible d'utiliser une texture ou une image pour peindre sur le mesh, comme une texture de roche. Cela peut être n'importe quelle texture : une texture stockée sur  ordinateur, une texture téléchargée depuis un site quelconque ou un site spécialisé comme [https://ambientcg.com/list?q=rock&sort=popular '''ambientcg.com]'''. Voyons comment trouver facilement des '''textures de bonne qualité et gratuites avec BlenderKit'''.
* '''BlenderKit''' est un add-on pour Blender 3D qui permet aux utilisateurs d'accéder à une bibliothèque en ligne de modèles 3D, de matériaux, de brosses et d'autres ressources. Il facilite l'importation de ces éléments directement dans les projets Blender. BlenderKit propose à la fois des ressources gratuites et payantes.
* Depuis le menu '''Edit>Preferences> Get Extensions''', rechercher BlenderKit. Appuyer sur le bouton '''Install''' placé à côté du nom de l'add-on '''BlenderKit [FREE]'''. Fermer la fenêtre des préférences. La '''barre de menu BlenderKit''' s'affiche en haut et au centre de la vue 3D.
* Dans l'espace de travail Layout, dans l'éditeur de propriété des matériaux, sélectionner le matériau Terrain_carre_modele.
* Depuis le champ de recherche de BlenderKit, '''chercher "coast rock material"'''. Faire un '''clic droit''' sur le deuxième matériau  proposé (voir l'image de la galerie). Le matériaux doit apparaître dans la liste des matériaux dans le panneau des propriétés des matériaux.
* Passer dans l''''espace de travail Shading'''. '''Le système de nœuds''' du matériau téléchargé s'affiche dans l''''éditeur de shader'''.
* Cliquer sur '''le nœud Base Color''', qui est un nœud Image Texture. La texture '''Albedo''' (définissant la couleur de base du matériau) s'affiche dans l'éditeur d'image. En cliquant sur d'autres nœuds Image Texture, d'autres textures s'affichent, comme la normal map par exemple. Cependant, seule la texture du nœud Base Color sera utilisée ici.
* Pour enregistrer la texture, cliquer sur '''menu hamburger''' (trois traits horizontaux) puis aller dans Image> Save as ... '''Enregistrer''' la texture sur l'ordinateur.
<gallery>
Fichier:Terrain phase 011 BlenderKit.jpg |BlenderKit
Fichier:Tableau phase 011 barre blenderKit.jpg | Barre BlenderKit
Fichier:Terrain phase 012 charger materiau.jpg | Charger un matériau
Fichier:Terrain phase 012 enregistrer texture.jpg | Afficher une texture
Fichier:Tarrain phase 012 enregistrer texture roche.png | Enregistrer
</gallery>
<!-- https://ambientcg.com/list?q=rock&sort=popular, coast rock material -->


[11:07 PT] '''Andrew Hellershanks''' : Vincent, je le sais mais, ce n'est pas comme ça que ça a été perçu par Gavin.
=== Peindre avec une texture ===
* Passer dans l'espace de travail '''Texture Paint'''. Dans l''''éditeur de propriétés''' à droite, cliquer sur l'icône des textures pour ouvrir l''''éditeur de propriétés des textures'''.
* Appuyer sur le '''bouton New''' puis sur le '''bouton Open''' pour ouvrir la texture qui vient d'être enregistrée. '''Nommer''' la texture "Roche".
* Ouvrir le '''panneau latéral''' avec '''la touche N''' et accéder aux outils ('''onglet Tool'''). Sous le menu déroulant '''Texture''', la texture récemment ouverte devrait apparaître. Si ce n'est pas le cas, cliquer sur le carré de prévisualisation des textures. Une fenêtre s'ouvre avec les textures du projet (il ne devrait y en avoir qu'une). Cliquer sur la texture de roche.
* Sous le même menu Texture, cocher la '''case Random''' pour que l'orientation de la texture change à chaque application, ce qui donnera une apparence '''plus réaliste''' à la texture créée.
* Sélectionner du '''blanc''' dans '''Color Picker''' en passant le curseur de droite du noir au blanc.
* Sélectionner la texture des bords (Bords_texture pour ce tuto)  dans l'éditeur d'image et dans la vue 3D (voir l'image Texture Paint).
*  Peindre le bord comme dans le test avec la couleur. Cette fois, il faut '''tapoter''' pour appliquer des plages de textures sur les bords, en veillant à '''varier la taille du pinceau''' pour éviter que le motif ne se répète trop. '''Se placer bien en face''' de la partie à peindre. Ici comme c'est un carré, peindre chaque côté l'un après l'autre en utilisant les touche du '''pavé numérique NUM 3, CTRL + NUM 3 , NUM 1 et CTRL + NUM 1''' pour se placer.
* '''Enregistrer la texture''' depuis le '''menu Image > Save As''' de l'éditeur d'images. Préférer un '''format jpg'''.
<gallery>
Fichier:Terrain phase 013 proprietes textures.jpg|Propriétés des textures
Fichier:Terrain phase 013 ouvrir image.jpg| Ourvir une image
Fichier:Terrain phase 013 panneau lateral.jpg| Panneau latéral
Fichier:Terrain phase 010 Texture Paint.jpg | Texture Paint
Fichier:Terrain phase 013 peindre avec texture.png|Peindre
Fichier:Terrain phase 013 bords peints.jpg
</gallery>


[11:07 AM PT] '''Ubit Umarov''' : Il a donc mis fin à l'aide qu'il apportait au développement d'opensim.
== Peindre le plateau du terrain ==
=== Nouvelles textures ===
* Pour peindre l'herbe, charger une '''nouvelle texture''' depuis le panneau des '''propriétés des textures'''. Rechercher '''"Grass material"''' dans '''BlenderKit''' et procéder comme pour la texture de roche dans l''''espace de travail Shading''' avec le '''système de nœuds'''. Penser à créer  un nouveau matériau non assigné. Le sélectionner dans la vue 3D et dans l'éditeur d'image, pour éviter de modifier le matériau d'une partie du mesh . Il est également possible d'utiliser une autre texture d'herbe que celles de BlenderKit.
* Quand le texture d'herbe est prête, dans le panneau des propriétés des textures, appuyer  sur l''''icône New Texture''' à droite du nom de la texture "Roche". Une nouvelle texture "Roche.001" est créée. La renommer  "Herbe".
* Dans le menu déroulant '''Image > Setting'''  des propriétés des textures,  cliquer sur la '''petite croix''' à droite de l'adresse de la texture "Herbe". Utiliser '''Open''' pour charger une nouvelle texture d'herbe. 
* '''Attention''' : (parfois) lorsque l'on enregistre un projet Blender et qu'on le recharge, les textures utilisées pour peindre disparaissent et doivent être rechargées si nécessaire. En revanche, la liste des textures utilisées pendant la peinture reste disponible durant toute la session de travail, permettant de passer d'une texture à l'autre depuis le panneau des outils de peinture.
* Préparer une troisième texture pour '''le lit de la rivière'''. Chercher par exemple '''Gravel material''' dans '''BlenderKit'''. Ensuite, il est possible d'utiliser de nombreuses textures comme des petites fleurs, plusieurs types d'herbes ou de roche, de la terre, etc.
<gallery>
Fichier:Terrain phase 014 meteriau herbe.png | Matériau herbe
Fichier:Terrain phase 014 texture herbe.png | Texture herbe
Fichier:Terrain phase 014 charger texture.jpg | Nouvelle texture
Fichier:Terrain phase 014 texture gravier.png | Texture gravier
</gallery>


[11:08 AM PT] '''Andrew Hellershanks''' : Je reviens tout de suite. J'ai quelqu'un qui vient chercher un paquet sous peu. J'ai besoin de scotcher la boîte.
=== Préparer l'espace de travail ===
* Rester dans l'espace de travail '''Texure Paint'''.
* Afficher uniquement le plateau du terrain. Pour cela, dans la vue 3D utiliser le '''mode Edit''' et le mode '''sélection par face'''. Si  le maillage des bords est sélectionné, le désélectionner avec '''ALT + A'''.  Faire réapparaître le plateau avec '''ALT + H.''' Inverser la sélection avec '''CTRL + I'''. Masquer les bords avec la '''touche H'''.
* Repasser en '''mode Texture Paint''' dans la vue 3D.  
* Se placer en vue du dessus avec '''NUM 7'''.
<gallery>
Fichier:Texture phase 015 espace de travai.jpg |Organisation
</gallery>


[11:08 AM PT] '''Ubit Umarov''' : Alors... n'oublions pas de le remercier pour le soutien qu'il nous a apporté pendant, semble-t-il, trois ans...
=== Peinture du plateau ===
* La peinture se fait sur l''''ensemble du plateau''', donc simultanément sur les 36 textures de 2048x2048. Dans l''''éditeur d'images''', afficher chaque texture pour visualiser le résultat pendant la peinture.
* Régulièrement, '''enregistrer les textures''' depuis le menu de l'éditeur d'images '''Image> Save All Images'''.
* Pour peindre l'herbe, sélectionner la '''texture d'herbe''' dans le panneau latéral des '''outils de peinture''' de la vue 3D dans l''''espace de travail Texture Paint.'''  Procéder comme pour la peinture des bords. Ne pas oublier de cocher la case '''Random''' sous le menu Texture des outils de peinture. Voir l'image Herbe de la gallerie d'image ci-dessous.
* '''Peindre les montagnes''' de chaque côté de la vallée avec la texture Roche. Sélectionner la texture Roche sous le menu Texture des outils de peinture du panneau latéral de la vue 3D et peindre les montagnes. Pour créer une transition en douceur entre la peinture de la roche et celle de l'herbe sur la texture, diminuer la force  de la texture d'herbe (définir '''Strength''' à 0.330 au dessus de la vue 3D ) et peindre le long de la limite entre les deux textures.
* Pour peindre le lit de la rivière, afficher le plan qui simule le niveau de l'eau pour avoir un repère. Pour cela, dans la vue 3D, passer en mode objet. L'ensemble du terrain s'affiche. Utiliser la combinaison de touche '''ALT + H'''  pour afficher le plan de l'eau. 
* Le plan de l'eau est opaque ; il faut le '''rendre légèrement transparent''' pour mieux diriger et maîtriser la peinture sur le mesh.
* Aller dans l'espace de '''travail Shading.''' Dans la '''vue 3D''' passer en mode objet et sélectionner le plan de l'eau. Dans l''''éditeur de nœuds''', en dessous, appuyer sur le bouton '''New''' pour créer un nouveau matériau pour le plan de l'eau. Dans le nœud '''Principal BSDF''', repérer '''Alpha''' et réduire l'opacité du plan à l'aide du '''curseur''' pour  que l'eau soit encore visible mais qu'on puisse aussi voir le terrain en dessous. Pour voir l'eau transparente l faut passer en mode '''Viewport Shading'''.
* '''Peindre le lit de la rivière''' avec la texture de '''gravier''' dans l'espace de travail Texture paint en mode Texture paint. Marquer les transitions de textures comme ci-dessus.
* Pour '''les finitions''',  peindre des petits plages d'herbes dans la montagne ou au fond de la rivière, assombrir ou éclaircir des zones, utiliser d'aurtes brosses, ajouter d'autres textures comme de très très petites fleurs. Attention aux échelles de grandeur, le  mesh s'étendra sur toute la région.  
<gallery>
Fichier:Terrain phase 015 herbe peinte.jpg | Herbe
Fichier:Terrain phase 016 herbe perspective.jpg |Perspective
Fichier:Terrain phase 016 herbe zoom.jpg |Zoom.
Fichier:Terrain phase 016 Transition roche herbe.jpg |Transition
Fichier:Terrain phase 016 plan eau.jpg | Eau opaque
Fichier:Terrain phase 017 rivière.jpg | Espace de travail Shading
Fichier:Terrain phase 017 rivière transparante.jpg | Eau transparente
Fichier:Terrain phase 018 texture finale.jpg | Aperçu
</gallery>


[11:08 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Apparemment, ce n'est pas le cas, il a posté sur son forum et j'ai répondu pour m'assurer que l'intention du projet OpenSim est de soutenir le protocole et de le gérer du mieux possible, en travaillant avec tout développeur de viewer pour résoudre les problèmes, tout comme nous l'avons fait cette semaine en essayant de trouver une solution pour la bibliothèque.
= Exporter et importer le terrain =
== Exporter le terrain au format Collada ==
* Passer dans l''''espace de travail Layout''', en '''mode object'''. '''Sélectionner le terrain''' , attention de ne pas sélectionner le niveau d'eau.
* Ouvrez le '''panneau des propriétés des Modifiers''' (modificateurs) en appuyant sur l'icône avec une petite icône de clé anglaise bleue.  
* Ajouter un modificateur '''Decimate''' en appyant sur  '''Add Modifier > Generate > Decimate'''. Le modificateur '''Decimate'''  permet de réduire le nombre de sommets/faces d’un maillage avec un minimum de changements de forme. Avec ce modifier, le terrain sera plus facile à importer dans OpenSimulator. Définir '''Ratio''' à 0.3.
* '''Créer un dossier''' sur l'ordinateur, il contiendra le terrain en mesh au format Collada et les 37 textures.
* '''Exporter le terrain''' en mesh au format Collada depuis le menu '''File > Export > Collada (.dae) (Legacy).'''
* Une fenêtre s'ouvre. À droite de la fenêtre, déplier le menu  '''Operator Presets''' et sélectionner '''sl+open sim static'''. Sous '''Texture Options''', vérifier que '''Copy''' est bien coché. En haut de la fenêtre, '''chercher le chemin  du dossier''' qui a été créé  pour contenir le mesh et les textures exportés. En bas, vérifier et éventuellement corriger '''le nom du mesh'''. Enfin, appuyer sur le bouton '''Export COLLADA'''.
* Le mesh du terrain et toutes ses textures devraient apparaître dans le dossier d'exportation.
* '''Fermer Blender 3D'''.  
<gallery>
Fichier:Terrain phase 019 modificateur decimate.png |Decimate
Fichier:Terrain phase 19 config decimate.jpg | Configuration
Fichier:Terrain phase 019 Menu Export.png | Menu Export
Fichier:Terrain phase 019 fenetre exportation.png | Fenêtre Export
Fichier:Terrain phase 019 dossier.jpg | Élements exportés
</gallery>


[11:08 AM PT] '''Ubit Umarov''' : souvenez-vous de lui et remerciez-le.
== Importer le terrain et les textures dans OpenSim  ==
* 🏗️


[11:09 AM PT] '''Michael.Christopher @cc.opensimulator.org:8002''' : hello :)
= Installer le terrain dans OpenSim =
== Appliquer les textures sur le mesh ==
* 🏗️
== Placer le  terrain ==
* 🏗️


[11:09 AM PT] '''Ubit Umarov''' : Il a aussi fourni de l'aide, par exemple en compilant ubOde pour les macs, et en testant et en corrigeant le code pgslq [https://www.postgresql.org/].
= Interêt d'utiliser un mesh =
* 🏗️


[11:09 AM PT] '''Ubit Umarov''' : apparemment, il a aussi arrêté cela.
= Problèmes possibles =
 
* 🏗️
[11:09 AM PT] '''Ubit Umarov''' : le temps nous le dira.
 
[11:10 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : J'avais de grands espoirs pour Dayturn en tant que viewer plus axé sur OpenSim que sur SL, mais l'objectif n'est pas clair maintenant.
 
[11:10 AM PT] '''Ubit Umarov''' : Nous parlerons toujours moins de n'importe quelle viewer que de celui que la plupart des gens utilisent actuellement.
 
=Utilisation des différents viewers =
* [http://opensimulator.org/wiki/Compatible_Viewers Viewers compatibles avec OpenSim]
* [https://downloads.infinitemetaverse.org/index.php SceneGate]
* [https://www.alchemyviewer.org/ Alchemy (site oblsolète)] [https://git.alchemyviewer.org/alchemy/alchemy-next/-/packages Achemy (git)] [https://git.alchemyviewer.org/alchemy/alchemy-next/-/packages/472]
* [https://www.firestormviewer.org/choose-your-platform/ Firestorm Viewer (FS)]
* [http://sldev.free.fr/ Cool VL Viewer]
* [http://www.singularityviewer.org/ Singularity] (Obsolète)
 
 
[11:10 AM PT] '''Ubit Umarov''' : il y a aussi SceneGate qui est 100% pour opensim.
 
[11:11 AM PT] '''Ubit Umarov''' : nous l'avons même référencé moins que Dayturn ici.
 
[11:11 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : L'utilisation de FS est en train de diminuer selon mes logs, donc le temps nous le dira. FS a actuellement quelques problèmes qui doivent être résolus et manque de support pour certaines choses aussi, le statut RSS [https://fr.wikipedia.org/wiki/RSS] de la grille  vient à l'esprit, ce bouton ne fonctionne toujours pas.
 
[11:12 AM PT] '''Ubit Umarov''' : nous n'avons jamais envoyé aux viewers les informations nécessaires pour que cela fonctionne.
 
[11:12 AM PT] '''Ubit Umarov''' : nous le faisons maintenant...
 
[11:12 AM PT] '''Ubit Umarov''' : La semaine dernière, j'ai collaboré avec Rye d'Alchemy.
 
[11:13 AM PT] '''Ubit Umarov''' : ces dernières semaines, il a testé et amélioré Alchemy pour opensim.
 
[11:13 AM PT] '''Ubit Umarov''' : Il m'a questionné à propos de 2 Caps que j'avais essayé d'ajouter en 2018, et que j'ai abandonné, parce que les viewers les ignoraient.
 
[11:14 AM PT] '''Ubit Umarov''' : il a modifié alch pour qu'elles ne soient plus ignorées, et m'a donc demandé de les ajouter.
 
[11:14 AM PT] '''Ubit Umarov''' : et je l'ai fait.
 
[11:14 AM PT] '''Andrew Hellershanks''' : Je suis de retour.
 
[11:14 AM PT] '''Michael.Christopher @cc.opensimulator.org:8002''' : comment ça s'est passé ?
 
[11:15 AM PT] '''Michael.Christopher @cc.opensimulator.org:8002''' : wb
 
[11:15 AM PT] '''Ubit Umarov''' : FetchLIb2 et FetchLibDescendents2 sont maintenant en place.
 
[11:15 AM PT] '''Ubit Umarov''' : pour l'instant, seul le viewer de test Alchemy les utilise.
 
[11:15 AM PT] '''Michael.Christopher @cc.opensimulator.org:8002''' : ok
 
[11:15 AM PT] '''Ubit Umarov''' : avec le temps, d'autres personnes pourront utiliser ses modifications de code et  utiliser ces caps également.
 
[11:16 AM PT] '''Andrew Hellershanks''' : Bonjour, Michael
 
[11:16 AM PT] '''Ubit Umarov''' : elles ne sont pas si importantes, surtout du côté des viewers.
 
[11:16 AM PT] '''Ubit Umarov''' : La bibliothèque peut être récupérée depuis l'inventaire principal comme auparavant.
 
[11:16 AM PT] '''Andrew Hellershanks''' : Vincent, si l'utilisation de FS diminue d'après tes fichiers journaux, qu'est-ce qui prend sa place ?
 
[11:16 AM PT] '''Ubit Umarov''' : mais côté région, cela peut simplifier un peu les choses.
 
[11:17 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Singularity est là, Cool VL et Alchemy pour la plupart.
 
[11:17 AM PT] '''Ubit Umarov''' : la semaine dernière, j'ai ajouté ces 2 caps :)
 
[11:17 AM PT] '''Ubit Umarov''' : Le projet Singu est mort.
 
[11:17 AM PT] '''Ubit Umarov''' : la dernière version est très obsolète.
 
[11:17 AM PT] '''Ubit Umarov''' : alchemy est censé être son remplaçant.
 
[11:18 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Je n'arrête pas de le dire aux gens, mais ils s'énervent quand je le bloque.
 
[11:18 AM PT] '''Andrew Hellershanks''' : Vincent, ok. Je suis un peu surpris d'entendre que Sing est là, même si je l'utilise encore de temps en temps.
 
[11:18 AM PT] '''Ubit Umarov''' : Rye me l'a dit, et il devrait le savoir puisqu'il s'agit de la même équipe :).
 
[11:19 AM PT] '''Ubit Umarov''' : singu est resté longtemps avec sa propre interface utilisateur, mais il a le même code interne qu'Alchemy.
 
[11:19 AM PT] '''Ubit Umarov''' : il semble que ce ne soit plus le cas...
 
= Viewer Achemy, Caps et bogue de viewer =
* [http://opensimulator.org/viewgit/?a=shortlog&p=opensim Journal des commits OpenSim]
* [http://opensimulator.org/wiki/Capabilities/fr Capabilities] : Les capacités font partie du protocole de communication entre un client et la région. Elles correspondent à une URL HTTP qu'un client utilisera pour effectuer une action particulière, par exemple obtenir des données de texture.
* Commandes de console : help Comms, show caps list , show caps stats by cap [<cap-name>], show caps stats by user [<first-name> <last-name>]
 
[11:20 AM PT] '''Ubit Umarov''' : Donc une partie de la semaine dernière a été consacrée à tester Alch avec ces caps, et à créer un code de test pour la région.
 
[11:20 AM PT] '''Ubit Umarov''' : parce que malheureusement Alch avait un petit bug qui n'était visible qu'avec les nouvelles caps.
 
[11:20 AM PT] '''Ubit Umarov''' : cela a pris un peu de temps pour déboguer, et ensuite être corrigé par Rye.
 
[11:21 AM PT] '''Ubit Umarov''' : Il a fait du code SIMD [https://fr.wikipedia.org/wiki/Single_instruction_multiple_data] optimisé même pour convertir les UUIDs [https://fr.wikipedia.org/wiki/Universal_Unique_Identifier] en hexa [https://fr.wikipedia.org/wiki/Syst%C3%A8me_hexad%C3%A9cimal] et inversement.
 
[11:22 AM PT] '''Ubit Umarov''' : hachage [https://fr.wikipedia.org/wiki/Hachage] plus rapide, etc etc.
 
[11:22 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : J'ai aussi fini par tester les caps viewerasset et getasset, qui sont censés dire au viewer d'obtenir les assets directement depuis le serveur d'assets plutôt que de passer par le simulateur, mais jusqu'à présent cela n'a pas fonctionné. Il essaie de récupérer les assets, mais d'une manière ou d'une autre, les téléchargements échouent. Je ne sais pas encore pourquoi, je vais devoir
faire des tests plus tard.
 
[11:22 AM PT] '''Ubit Umarov''' : et un petit bug se cachait quelque part dans ce code SIMD "facile à lire" :)
 
[11:22 AM PT] '''Ubit Umarov''' : viewerAsset ne pose aucun problème.
 
[11:23 AM PT] '''Michael.Christopher @cc.opensimulator.org:8002''' : est-il possible que les autorisations d'accès soient limitées au simulateur et que les viewers des utilisateurs soient bloqués par une mauvaise adresse IP ?
 
[11:23 AM PT] '''Ubit Umarov''' : utiliser d'autres url pour les servir, c'est en dehors du noyau :p
 
[11:24 AM PT] '''Ubit Umarov''' : La région lors de l'enregistrement peut fournir une url différente pour n'importe quel cap, selon les paramètres ini.
 
[11:24 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Le problème vient soit du serveur qui ne fournit pas le bon format, soit du viewer  qui ne le comprend pas, il faudra le tester davantage. Gavin m'a dit il y a un certain temps que c'était un peu cassé, mais je ne me souviens pas pourquoi.
 
[11:24 AM PT] '''Ubit Umarov''' : si cela se produit, la région ne prend plus part au cap.
 
[11:24 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Les viewers ne disent pas pourquoi le téléchargement échoue, ce qui complique un peu le débogage.
 
[11:25 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Nous allons devoir essayer d'intercepter et d'examiner les données ou quelque chose comme ça.
 
[11:25 AM PT] '''Ubit Umarov''' : les assets de SL sont gérés par RDC [https://fr.wikipedia.org/wiki/Content_delivery_network].
 
[11:25 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Je ne sais pas encore comment aborder ce sujet.
 
[11:25 AM PT] '''Ubit Umarov''' : cela doit être simple.
 
[11:25 AM PT] '''Ubit Umarov''' : en fait, certains forks d'opensim l'utilisent également.
 
[11:25 AM PT] '''Andrew Hellershanks''' : Je viens de regarder le site web d'Alchemy viewer et j'ai trouvé qu'il est pour Windows seulement. J'ai regardé le site web de Dayturn et il est pour Mac[https://fr.wikipedia.org/wiki/MacOS] et Raspberry Pi[https://fr.wikipedia.org/wiki/Raspberry_Pi]. J'utilise Linux [https://fr.wikipedia.org/wiki/GNU/Linux]  donc je ne peux pas essayer ces deux viewers.
 
[11:25 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Cela devrait être oui, mais je pense que la simple redirection 301  [https://fr.wikipedia.org/wiki/HTTP_301] que j'ai configurée sert les données dans le mauvais format, peut-être faut-il que tous les xml[https://fr.wikipedia.org/wiki/Extensible_Markup_Language] soient encore encodés en base64 [https://fr.wikipedia.org/wiki/Base64].
 
[11:26 AM PT] '''Ubit Umarov''' : le site est obsolète.
 
[11:26 AM PT] '''Ubit Umarov''' : https://git.alchemyviewer.org/alchemy/alchemy-next/-/packages
 
[11:26 AM PT] '''Ubit Umarov''' : les versions bêta sont là.
 
[11:27 AM PT] '''Ubit Umarov''' : https://git.alchemyviewer.org/alchemy/alchemy-next/-/packages/472
 
[11:27 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Pour le moment, je n'ai pas vraiment vu beaucoup de chargement de réseau sur mes systèmes donc je me demande s'il y a même un besoin de servir les assets directement étant donné que même les plus grandes régions n'en ont que 200 Mo et que sur la plupart des connexions modernes, cela ne prend pas beaucoup de temps à télécharger.
 
[11:27 AM PT] '''Ubit Umarov''' : il y a Windows, Mac et Linux.
 
[11:28 AM PT] '''Ubit Umarov''' : à propos des caps, note qu'il n'y a même pas de http redir sur ces cas.
 
[11:28 AM PT] '''Andrew Hellershanks''' : Merci. Le site Alchemy ne mentionne pas de version Linux sur sa page principale.
 
[11:28 AM PT] '''Ubit Umarov''' : le viewer est informé directement de l'url fournie.
 
[11:29 AM PT] '''Ubit Umarov''' : et la région ne joue plus aucun rôle.
 
[11:29 AM PT] '''Ubit Umarov''' : comme je l'ai dit, le site alch est obsolète.
 
[11:29 AM PT] '''Ubit Umarov''' : le travail sur ce gitlab [https://fr.wikipedia.org/wiki/GitLab] est toujours en cours.
 
[11:29 AM PT] '''Andrew Hellershanks''' : Alors quel est le site officiel d'Alchemy ?
 
[11:29 AM PT] '''Ubit Umarov''' : je suppose que c'est ça :)
 
[11:29 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Il s'agit de versions de test, Andrew, pas encore de versions.
 
[11:30 AM PT] '''Ubit Umarov''' : pas de nouvelles versions... juste le travail de la version bêta [https://fr.wikipedia.org/wiki/Version_d%27un_logiciel#Version_b%C3%AAta].
 
[11:30 AM PT] '''Andrew Hellershanks''' : Vincent, je m'en rends compte. Je m'attendais juste à voir un site web sur le projet et pas seulement un dépôt de code.
 
[11:30 PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Ils ont un site web, mais il n'est vraiment mis à jour que lorsque des versions sont publiées.
 
[11:30 AM PT] '''Ubit Umarov''' : bien plus de changements de code.
 
[11:31 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : De plus, les versions de test ne sont que cela, des tests, alors les diffuser dans la nature aux utilisateurs, connus pour casser tout ce qui n'est pas résistant, n'est probablement pas une bonne idée.
 
[11:31 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Il faut d'abord que ces choses soient testées et fonctionnent.
 
= OpenSim : Bogue de déplacement corrigé =
[11:31 AM PT] '''Ubit Umarov''' : j'ai corrigé un petit bug que j'avais fait et qui avait un impact négatif sur cette région, en utilisant firestorm.
 
[11:31 AM PT] '''Ubit Umarov''' : les autres viewers  n'avaient pas ce problème
 
[11:31 AM PT] '''Ubit Umarov''' : et cinq sur toutes les autres régions...
 
[11:32 AM PT] '''Ubit Umarov''' : Cette région fonctionne à 47fps [https://fr.wikipedia.org/wiki/Frames_per_second].
 
[11:32 AM PT] '''Michael.Christopher @cc.opensimulator.org:8002''' : n'est-ce pas Vincent ? C'est pourquoi je n'ai rien publié, montrer quelque chose trop tôt est généralement contre-productif.
 
[11:32 AM PT] '''Ubit Umarov''' : ou plus précisément, sa pulsation  est d'environ 47fps.
 
[11:32 AM PT] '''Ubit Umarov''' : cela a révélé mon bug :p
 
[11:33 AM PT] '''Ubit Umarov''' : je ne comprends pas pourquoi d'autres viewers, comme Old Suingu et Alch, n'ont pas eu de problèmes visibles.
 
[11:33 AM PT] '''Ubit Umarov''' : Et bien, FS, nous ne pouvions tout simplement pas marcher.
 
[11:33 AM PT] '''Ubit Umarov''' : avec...
 
[11:33 AM PT] '''Ubit Umarov''' :  ou presque...
 
[11:34 AM PT] '''Ubit Umarov''' : donc c'est réparé.
 
[11:34 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : C'est aussi bizarre que cela aggrave les choses quand on essaie de marcher et de faire tourner l'avatar.
 
[11:35 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : La seule fois où j'ai vu quelque chose comme ça, c'était à l'époque où il y avait des problèmes avec lludp qui autorisait trop de paquets en même temps.
 
= OpenSim : mouvement de l'avatar =
 
[11:35 AM PT] '''Ubit Umarov''' : j'ai fait apparaître la texture du soleil dans la bibliothèque :)
 
[11:35 AM PT] '''Ubit Umarov''' : quelques changements dans le code de la bibliothèque, en plus de la prise en charge des nouvelles caps.
 
[11:36 AM PT] '''Ubit Umarov''' : quelques changements supplémentaires sur le mouvement de l'avatar, pour essayer  de réduire l'utilisation du processeur.
 
[11:36 AM PT] '''Ubit Umarov''' : comme je l'ai dit, c'est assez compliqué
 
[11:37 AM PT] '''Ubit Umarov''' :  de contrôler les viewers, mais je peux envoyer 90 mises à jour par seconde.
 
[11:37 AM PT] '''Ubit Umarov''' : ...faire ...
 
[11:37 AM PT] '''Michael.Christopher @cc.opensimulator.org:8002''' : est-ce que quelqu'un d'autre a entendu parler d'un viewer fonctionnel pour oculus autre que le travail en cours mentionné sur le blog d'Austin Tate [https://blog.inf.ed.ac.uk/atate/2022/02/20/vr-viewers/] ?
 
[11:38 AM PT] '''Ubit Umarov''' : si on considère le mouvement réel sans contrôle, cela signifie 90* nombre d'avatars, paquets envoyés.
 
[11:38 AM PT] '''Ubit Umarov''' : comme 9000 paquets avec 100 avatars dans une région :)
 
[11:38 AM PT] '''Ubit Umarov''' : par seconde...
 
[11:39 AM PT] '''Ubit Umarov''' : donc une forte limitation est nécessaire.
 
[11:40 AM PT] '''Ubit Umarov''' : c'est une zone de code à visiter et à revisiter :(
 
= Scripts : encombrement des files d'attentes =
* [http://opensimulator.org/mantis/my_view_page.php Rapporte de bogue - Mantis]
 
[11:40 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Aussi pour le bien de la file d'attente de mise à jour de la scène, qui semble être la cible principale de certains scripteurs ces jours-ci. J'ai vu pas mal de régions "arrêter de répondre" à cause de scripts qui envoyaient tellement de mises à jour de scène que la file d'attente [https://techlib.fr/definition/queue.html] s'interrompait.
 
[11:41 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Cela ne se rétablit pas automatiquement comme les pulsations, une fois mort, vous devez redémarrer le simulateur.
 
[11:41 AM PT] '''Ubit Umarov''' : Eh bien une mantis sur cela, pourrait aider.
 
[11:41 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Il n'y a rien à réparer, je pense, c'est juste une surcharge.
 
[11:41 AM PT] '''Ubit Umarov''' : avec des détails sur la façon de repo, bien sûr.
 
[11:42 AM PT] '''Ubit Umarov''' : opensim n'avait aucune idée de la nécessité d'un ralentissement dans de nombreux domaines.
 
[11:42 AM PT] '''Ubit Umarov''' : il est certain que certains en ont besoin.
 
[11:42 AM PT] '''Ubit Umarov''' : voyez le cas simple de llSay [https://wiki.secondlife.com/wiki/LlSay]...
 
[11:42 AM PT] '''Ubit Umarov''' : il n'y a pas de contrôle.
 
[11:43 AM PT] '''Ubit Umarov''' : un script très basique pourrait rendre une région inutile juste avec ça.
 
[11:43 AM PT] '''Ubit Umarov''' : llemail[https://wiki.secondlife.com/wiki/LlEmail] n'avait pas de restriction...
 
[11:44 AM PT] '''Andrew Hellershanks''' : Vincent, quand j'ai regardé l'une des files d'attente d'événements, il m'a semblé que les paquets [https://techlib.fr/definition/packet.html] étaient abandonnés quand plus d'une quantité spécifique était déjà dans la file d'attente. Cela pourrait tuer un script qui aurait besoin d'une réponse à quelque chose qui a été abandonné dans la file d'attente. Cela ne signifie pas que le système de file d'attente est mort mais cela pourrait très bien faire attendre un script sur un événement qui ne se produira jamais.
 
[11:44 AM PT] '''Ubit Umarov''' : il ne parlait pas des files d'attente pour les événements.
 
[11:44 AM PT] '''Andrew Hellershanks''' : Non, mais je n'avais aucune raison de penser que les autres files d'attente seraient traitées différemment.
 
[11:45 AM PT] '''Ubit Umarov''' : Bien sûr, toutes les autres sont traitées différemment.
 
[11:45 AM PT] '''Ubit Umarov''' : même les files d'attente ont leurs propres règles...
 
[11:45 AM PT] '''Andrew Hellershanks''' : Donc les autres files d'attente n'imposent pas de limite à leur taille ?
 
[11:45 AM PT] '''Ubit Umarov''' : vous vous souvenez du "opensim has no limits" (OpenSim n'a pas de limite) ?
 
[11:46 AM PT] '''Andrew Hellershanks''' : S'il n'y a pas de limite, pourquoi certaines files d'attente tombent-elles sous une charge donnée ?
 
[11:46 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Une fois que la file d'attente de mise à jour de la scène [https://fr.wikipedia.org/wiki/Sc%C3%A8ne_3D] est surchargée, aucun script ne fonctionne, les avatars peuvent rester bloqués ou les animations s'arrêter. C'est un échec dur une fois que la file d'attente est surchargée, le système entier arrête de fonctionner. Je soupçonne qu'il produit des erreurs internes, mais elles sont masquées. Je n'ai rien trouvé qui dise "scene update queue full" (File d'attente de mise à jour de la scène pleine)  ou quelque chose comme ça. Habituellement, cela est causé par des scripts qui font trop de choses à la fois ou, eh bien, les scripts suspects sont généralement d'un type similaire, il est donc assez facile de supprimer tout ce qui est de ces auteurs et les choses fonctionnent bien.
 
[11:47 AM PT] '''Ubit Umarov''' : parce qu'il n'y a pas de limites là où il faut des limites.
 
[11:47 AM PT] '''Ubit Umarov''' : lol
 
[11:47 AM PT] '''Ubit Umarov''' : :p
 
[11:47 AM PT] '''Andrew Hellershanks''' : Cela implique que les files d'attente ont des limites. S'il n'y a pas de limite, je m'attends à un décalage important pendant que le code rattrape les données dans une file d'attente.
 
[11:47 AM PT] '''Ubit Umarov''' : cette "règle" était juste une des absurdités qu'opensim a toujours dans le code.
 
[11:47 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Je n'ai pas pris la peine d'examiner ce problème car ce ne sont que des régions spécifiques qui surchargent et une fois que ces scripts et objets sont supprimés, tout fonctionne bien, donc je classe cela dans la catégorie mauvaise utilisation plutôt que bug.
 
[11:48 AM PT] '''Ubit Umarov''' : le problème a été corrigé, lentement et au cas par cas.
 
[11:48 AM PT] '''Andrew Hellershanks''' acquiesce.
 
[11:48 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Je soupçonne qu'il s'agit d'une sorte de tableau (https://fr.wikipedia.org/wiki/Tableau_(structure_de_donn%C3%A9es)  ou de list (https://wiki.secondlife.com/wiki/Category:LSL_List/fr) et qu'une fois que vous essayez d'ajouter quelque chose au-dessus de la taille maximale de l'entier, toute la construction s'effondre et se perd dans le code suivant.
 
[11:49 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Vérifier si la liste est plus longue que 0 quand elle est ''"rolled over"'' int -2 milliard.
= Les notecards =
* [http://opensimulator.org/wiki/Assets Assets]
* [https://wiki.secondlife.com/wiki/Category:LSL_Notecard Notecard sur le wiki SL](en)
* [http://opensimulator.org/wiki/OSSL_Implemented  OSSL](en).
 
[11:49 AM PT] '''Ubit Umarov''' : rappelez-vous comment certaines fonctions ossl ont même été ajoutés pour passer les mécanisations NÉCESSAIRES
 
[11:49 AM PT] '''Ubit Umarov''' : comme le code stupide des notecards OSSL
 
[11:49 AM PT]  '''Ubit Umarov''': qui ignorait que les notecards sont des assets
 
[11:49 AM PT] '''Ubit Umarov''' : à travers le web, plusieurs fois.
 
[11:50 AM PT] '''Ubit Umarov''' : donc contourner les mécanismes du DataServer, c'était... stupide, c'est le mot.
 
[11:50 AM PT] '''Ubit Umarov''' : correct également
 
[11:50 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Le problème avec les notescards est que les informations sur la date et l'auteur de leur création font partie de leurs données et sont hachées, donc chaque notecard, même si elle est vide, a un hachage différent et donc des informations complètes d'assets, totalisant quelques ko à chaque fois, ce qui s'additionne rapidement.
 
[11:51 AM PT]  '''Ubit Umarov''': maintenant, pour réparer cela, il faudrait un data serveur caché et plus complexe
 
[11:51 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : La seule façon de résoudre ce problème est de traiter le contenu de la notecard comme un asset uniquement et de sauvegarder l'heure de création et les autres descriptions dans la table des assets, où ils se réfèrent en tant qu'asset vide au même asset.
 
[11:51 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Mais réécrire les assets à ce point n'est pas facile et pourrait ne pas être converti non plus.
 
[11:51 AM PT] '''Kayaker Magic''' : Rendre les notecards modifiables ?
 
[11:52 AM PT]  '''Ubit Umarov''': les assets "materials" sont amusant
 
[11:52 AM PT] '''Ubit Umarov''' : un nouvel asset à chaque clic de la molette de la souris qui change une valeur numérique comme un masque.
 
[11:52 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Non, créer des notecards en soi, c'est bien, si c'est fait de manière responsable, osMakeNotecard [http://opensimulator.org/wiki/OsMakeNotecard](en) est un bon complément. Les gens ne semblent pas comprendre qu'on ne les utilise pas pour stocker des données de fonctionnement toutes les 5 secondes.
 
[11:52 AM PT] '''Ubit Umarov''' : comme au moins 10 nouveaux assets par seconde.
 
[11:53 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Il y a une façon parfaitement raisonnable de stocker des données, Prim Description
 
[11:53 AM PT] '''Ubit Umarov''' : Dans la mesure où nous le pouvons, nous essayons d'améliorer les choses.
 
[11:54 AM PT] '''Ubit Umarov''' : dans certains cas, un mantis avec des étapes de repo, peut bien sûr aider.
 
[11:54 AM PT] '''Ubit Umarov''' : mais comme je l'ai dit, opensim était cassé dès sa conception, sur ce point... donc pas de solutions faciles.
 
[11:55 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Corriger une chose, quelque chose d'autre se casse, rincer et répéter.
 
[11:55 AM PT] '''Andrew Hellershanks''' : Je me suis souvent interrogé sur la gestion des NC et des scripts.
 
[11:57 AM PT] '''Ubit Umarov''' : Je pense que j'ai fait quelques changements de code supplémentaires, mais mineurs.
 
[11:57 AM PT] '''Ubit Umarov''' : Alors, quelles nouvelles avez-vous ?
 
[11:57 AM PT] '''Ubit Umarov''' : :)
 
[11:58 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Ce qui pourrait avoir du sens, c'est un événement on_derez (voir on_rez [https://wiki.secondlife.com/wiki/On_rez]) déclenché à l'arrêt du simulateur qui pourrait indiquer aux scripts qu'ils doivent écrire leurs données sur une notecard afin que les données d'exécution ne soient pas perdues lorsque les données du moteur de script sont effacées, lors d'un changement de binaire par exemple. Certains ont conservé les mêmes données entre les versions binaires, mais je ne suis pas sûr que ce soit une bonne idée.
 
[11:59 AM PT] '''Ubit Umarov''' : Oui et une région qui ne s'arrête jamais et qui tourne en boucle autour de tout ça.
 
[11:59 AM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : lol ouais c'est l'inconvénient de cela
 
[11:59 AM PT] '''Andrew Hellershanks''' : Pour en revenir à la situation avec Gavin et le viewer Dayturn, j'ai regardé le site web de Dayturn et j'ai trouvé un fil de discussion de sa part qui résulte de la réunion de la semaine dernière. Il contient également des commentaires de Tampa. Il est long et je ne l'ai pas encore lu en entier. Si vous voulez le lire, jetez un coup d'œil à la page Web à l'adresse https://www.dayturn.com/viewer/index.php?threads/opensim-apparently-is-for-firestorm-only.377/.
 
= Processus tués pendant qu'ils travaillent  =
 
[11:59 AM PT] '''Ubit Umarov''' : des gens tuent déjà le processus alors que la pauvre chose est en train de faire une sauvegarde normale.
 
[11:59 AM PT] '''Ubit Umarov''' : allez tuer...
 
[12:00 PM PT] '''Andrew Hellershanks''' : Nous sommes à la fin de l'heure. D'autres sujets de dernière minute pour aujourd'hui ?
 
[12:00 PM PT] '''Michael.Christopher @cc.opensimulator.org:8002''' : pas ici.
 
[12:00 PM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : En fin de compte, il faudrait un délai d'attente pour lui donner une période de grâce de disons 10 secondes ou plus pour exécuter des choses et ensuite il procéderait simplement à l'arrêt, ce qui n'est pas idéal.
 
[12:01 PM PT] '''Andrew Hellershanks''' : Tu t'en vas, Kayaker ?
 
[12:01 PM PT] '''Kayaker Magic''' : Je dois y aller. A la semaine prochaine !
 
= OpenSim : bogue de suppression de prim =
[12:01 PM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Je vais peut-être regarder ça, mais je suis plus préoccupé par la suppression de prim de la mantis que j'ai déposée l'autre jour.
 
[12:01 PM PT] '''Andrew Hellershanks''' : Kayaker, ok.tc. On se revoit la semaine prochaine.
 
[12:01 PM PT] '''Michael.Christopher @cc.opensimulator.org:8002''' : salut kayaker !
 
[12:01 PM PT] '''Ubit Umarov''' : bon, sur la suppression de prims, c'est plus troublant de ne pas les voir sur la région.
 
[12:02 PM PT] '''Ubit Umarov''' : mais il y a toujours des collisions avec elles.
 
[12:02 PM PT] '''Ubit Umarov''' : parce que les objets ne sont pas vraiment supprimés tant que la mise à la corbeille n'est pas effectuée.
 
[12:02 PM PT] '''Ubit Umarov''' : on demande simplement aux viewers de ne pas les montrer.
 
[12:03 PM PT] '''Selby.Evans @grid.kitely.com:8002''' : Je dois y aller -- Au revoir à tous
 
[12:03 PM PT] '''Michael.Christopher @cc.opensimulator.org:8002''' : au revoir !
 
[12:03 PM PT] '''Ubit Umarov''' : salut !
 
[12:03 PM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Même un simple dump de tous les uuids "à supprimer" à l'arrêt serait utile, quelque chose qui me permettrait de savoir que des choses sont toujours là.
 
[12:04 PM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Ou même un "show delete queue", je peux retarder l'arrêt manuellement s'il y a des éléments.
 
[12:04 PM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Juste quelque chose pour dire "hey, le truc est toujours en cours".
 
[12:04 PM PT] '''Ubit Umarov''' : :)
 
[12:05 PM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Comme pour l'arrêt, puisque je conditionne toutes les commandes, je fais un show users [http://opensimulator.org/wiki/Server_Commands/fr], si cela indique que des personnes sont toujours là, cela envoie une alerte d'abord et s'arrête ensuite.
 
[12:06 PM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Donc un "show delete queue" disant "Items to be deleted : 5" (items qui doivent être supprimés : 5) Je peux facilement récupérer le journal et dire à l'arrêt de s'arrêter jusqu'à ce qu'il dise 0.
 
[12:06 PM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Pas vraiment élégant, mais mieux que des objets qui reviennent d'entre les morts.
 
[12:06 PM PT] '''Ubit Umarov''' : mettre à la corbeille est gênant.
 
[12:07 PM PT] '''Andrew Hellershanks''' : Ma première pensée à ce sujet est de retarder l'arrêt jusqu'à ce que la file d'attente de suppression soit vide.
 
[12:07 PM PT] '''Ubit Umarov''' : J'ai juste réglé les choses sur temporaire.
 
[12:07 PM PT] '''Ubit Umarov''' : donc ils sont vraiment partis.
 
[12:07 PM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Le problème est que la suppression est une touche de raccourci du clavier, mais pas le réglage temporaire.
 
[12:07 PM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Littéralement le bouton supprimer
 
[12:08 PM PT] '''Ubit Umarov''' : Oui.
 
[12:08 PM PT] '''Ubit Umarov''' : C'est bien d'avoir une corbeille.
 
[12:09 PM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Retarder l'arrêt est problématique, il peut se bloquer lorsque la prise d'inventaire échoue, le mieux serait de simplement les vider sur le disque ou de les marquer pour que la suppression puisse se faire après le redémarrage, peut-être un drapeau dans la table des prims ?
 
[12:09 PM PT] '''Ubit Umarov''' : juste les objets sur la région sont particulièrement compliqués à gérer.
 
[12:09 PM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Je serais heureux de pouvoir simplement vérifier s'il y a toujours une file d'attente.
 
[12:11 PM PT] '''Ubit Umarov''' : bien sûr, certains d'entre eux peuvent être composés de 1000  prims, chacune avec 1000 éléments dans leur contenu :p
 
[12:11 PM PT] '''Ubit Umarov''' : ou même plus, puisque "opensim n'a pas de limites".
 
[12:12 PM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : Eh bien, avoir un moyen de vérifier ouvrirait des avenues pour écrire une fonction de suppression forcée pour tous ceux qui le désirent.
 
[12:13 PM PT] '''Vincent.Sylvester @hg.zetaworlds.com''' : L'ajout de commandes est assez facile, le gros problème est d'interagir avec cette file d'attente et de comprendre ce qu'elle contient, ce que je n'ai pas encore réussi à faire.
 
[12:13 PM PT] '''Ubit Umarov''' : "Déplacement complet de la Primitive sur la place Lbsa".
 
[12:13 PM PT] '''Ubit Umarov''' : joli surnom :)
 
[12:15 PM PT] '''Andrew Hellershanks''' : :)
= Conclusion =
 
[12:15 PM PT] '''Andrew Hellershanks''' : S'il n'y a rien de plus à faire aujourd'hui, je vais conclure la réunion.
 
[12:16 PM PT] '''Andrew Hellershanks''' : Merci à tous d'être venus. Nous nous reverrons la semaine prochaine.

Version du 7 juillet 2025 à 16:31

Modélisation du terrain dans Blender 3D


Tout au long du tutoriel, dans Blender 3D,

  • ne pas oublier de placer le pointeur de la souris dans l'éditeur concerné par les commandes envoyées par une ou plusieurs touches du clavier ou par des boutons de la souris.
  • sauvegarder souvent le fichier blender.


Utiliser l'add-on A.N.T.Landscape

Add-on A.N.T.Landscape

Options de l'add-on

  • Utiliser le modèle prédéfini, par exemple "river", pour cela tout en haut de la fenêtre des options de l'add-on, ouvrez le menu déroulant "Opérator Presets".
  • Un peu plus bas dans cette fenêtre, définissez les subdivisions X et subdivisions Y à 133.

Pourtour du terrain

  • En mode object, délectionner le plan qui simule le niveau de l'eau et le masquer à l'aide de la touche H .
  • En mode Edit, sélectionner les sommets de la périphérie du terrain. Pour chaque côté, placez le pointeur de la souris près du bord et en pressant sur les touchez SHIFT + ALT faire un clique gauche. La ligne de sommets devait se sélectionner en une seule fois. Faire cela sur les 4 côtés.
  • Extruder une fois ces sommets vers le bas avec la touche E puis Z (2 ou trois carreaux de la grille).
  • Égaliser la hauteur des sommets : S puis Z puis 0
  • Divisier la hauteur des bords avec CTRL + R et faire 6 boucles avec la molette de la souris.
  • En mode Object sélectionner le terrain et appliquer les modifications du mesh : CTRL + A et sélectionner All Transforms.

Dessiner les coutures du terrain

Coutures des bords

  • En mode Edit, sélectionner la première ligne de sommets au-dessus des bords avec SHIFT + MAJ et en faisant un clic gauche tout près de la ligne. Faire cela sur les 4 côtés. En cas d'erreur supprimer la dernière action avec CTRL + Z. On zoome avec la molette de la souris pour être plus précis.
  • Marquer la couture depuis le menu Edge avec Mark Seam.
  • Sélectionner les arêtes des 4 angles des bords du terrain avec le raccourci clavier SHIFT + MAJ vu précédemment.
  • Marquer la couture depuis le menu Edge avec Mark Seam.

Dessiner 36 carrés sur le terrain

  • Sélectionner les bords du terrain. Pour cela, passer en sélection par face et sélectionner la ligne inférieure des faces avec SHIFT + MAJ. Les 4 côtés devraient être sélectionnés en une fois. Ensuite, enfoncer la touche CTRL et presser la touche + de clavier numérique pour sélectionner une ligne supplémentaire. Presser sur la touche + pour sélectionner l'ensemble des bords du terrain. Pour désélectionner une ligne, utiliser la touche - du pavé numérique à la place de la touche +.
  • Masquer les bords avec la touche H.
  • Passer en vue du dessus avec NUM 7 (touche 7 du pavé numérique) et en sélection par point.
  • Sélectionner le bord gauche du plateau du terrain avec SHIFT + ALT et clic gauche de la souris (toujours zoomer pour se mettre proche du bord cible).
  • Utiliser la technique de la touche NUM + avec CTRL 22 fois pour sélectionner 22 lignes supplémentaires. (Rappel : enfoncer la touche CTRL et utiliser la touche + du pavé numérique pour sélectionner les autres lignes. )
  • Repérer la dernière ligne sélectionnée. Désélectionner tout avec ALT + A et, sélectionner cette dernière ligne avec SHIFT + ALT et clic et la marquer depuis le menu Edge avec Mark Seam.
  • Laisser cette ligne sélectionnée et utiliser la combinaison CTRL + NUM+ 22 fois pour repérer la prochaine ligne de couture à marquer avec Mark Seam. Attention les lignes à gauche de la ligne de départ vont aussi être sélectionnées. Seules les lignes de droite nous intéressent ici.
  • Continuez ainsi pour obtenir 6 subdivisions de 22 lignes chacune sur la largeur du terrain.
  • Subdiviser le terrain de la même façon en partant de la ligne horizontale du dessus pour obtenir 6 subdivisions verticales du terrain. Ainsi la grille obtenue forme 36 carrés.

Générer les UVMap

UVMap des bords

  • En mode Edit, faire réapparaître les bords avec ALT + H.
  • Sélectionner uniquement le plateau en inversant la sélection avec CTRL + I.
  • Masquer le plateau avec la touche H.
  • Sélectionner l'ensemble des bords du terrain avec la touche A en mode Edit.
  • Dans l'espace de travail UV Editing, génerer l'UVMap des bords depuis le menu UV. Utiliser Unwrap Angle Bassed (avec Unwrap Minimum Stretch, le modificateur Decimate déforme le texture des bords, voir Exporter le terrain au format Colla . L'UVMap des bords s'affiche dans la fenêtre de l'éditeur UV.

UVMAP du plateau

  • Afficher le plateau du terrain avec la combinaison de touches ALT + H.
  • Déselectionner le plateau avec ALT + A. Sélectionner chaque côté du bord du terrain en plaçant la souris sur une zone délimitée par des coutures et utiliser la toucher L. Il y a 4 zones, une par côté.
  • Masquer les bords avec la touche H.
  • Le but ici est de maximiser la taille et le nombre d'images à importer dans OpenSim afin d'obtenir une texture aussi nette que possible. Il sera donc nécessaire de générer l'UVMap pour chacune des 36 zones carrées délimitées par des coutures sur le plateau du terrain, et ce, successivement, afin qu'elles occupent le maximum d'espace. Je n'ai pas trouvé d'autre solution, mais peut-être en existe-t-il d'autres. Dans tous les cas, cela nécessitera de répéter cette opération 36 fois.
  • Dans l'espace de travail UV Editing, dans la vue 3D, se placer en vue du dessus NUM 7.Par convention, les carrés seront numérotés de gauche à droite et de haut en bas.
  • En mode Édition et en mode sélection par face, placer le curseur de la souris sur la zone 1 et appuyer sur la touche L pour sélectionner cette zone.
  • Générer l'UVMap de cette zone depuis le menu UV et choisir Unwrap Minimum Stretch si la version de Blender est supérieure ou égale à 4.3 ; sinon, choisir Unwrap Angle Based.
  • Sélectionner chaque zone une par une pour générer son UVMap comme indiqué ci-dessus. Veiller à ce qu'une seule zone soit sélectionnée. Pour désélectionner la zone précédente, il suffit de cliquer dans la nouvelle zone.
  • Il est préférable de vérifier rapidement si toutes les UVMaps ont été générées. Pour cela, une petite routine très rapide peut être utilisée : cliquer sur une zone, appuyer sur L, l'UVMap de la zone s'affiche dans l'éditeur UV, cliquer sur la zone suivante, appuyer sur L, etc. Si une UVMap ne s'affiche pas, c'est qu'elle n'a pas été générée, il faudra le faire.

Créer les matériaux

Matériau des bords

  • En mode Edit, afficher et sélectionner les bords du terrain comme vu précédemment.
  • Ouvrir le panneau des propriétés des matériaux (petite icône orange) dans l'éditeur des propriétés.
  • Appuyer sur le bouton "New". Nommer le matériau, par exemple "Terrain_Bords". Appuyer sur le bouton "Assign" pour attribuer le nouveau materiau à la sélection, c'est à dire ici à l'ensemble des bords du terrain.
  • Il est possible de modifier la couleur dans Base Color.
  • Attention, pour l'instant, un seul matériau a été créé. Même si ce matériau est assigné à une partie du mesh, il est appliqué sur l'ensemble du mesh.

Matériaux des carrés

Créer les matériaux

  • Créer un matériau de base qui sera copié pour chacune des 36 zones carrées du plateau du terrain. Pour cela, dans le panneau des propriétés des matériaux, appuyer sur le bouton + en haut à droite. Appuyer sur New et nommer le nouveau matériau créé, par exemple, "Terrain_carre_modele".
  • Aller dans l'espace de travail Shading. Dans l'éditeur de Shader le matériau que nous venons de créer est représenté sous la forme d'un Système de Nœuds.
  • Dans Blender, le terme nœud est utilisé pour désigner les éléments du système de création de matériaux. Bien que ce terme ne soit pas toujours intuitif, il fait référence à des points de connexion qui modifient le signal final, allant d'une source à un émetteur. Chaque nœud représente une fonction ou un processus, et les connexions entre eux déterminent comment les données sont traitées pour créer le matériau final.
  • Avec SHIFT + A faire apparaître le menu Add qui permet d'ajouter un nouveau nœud . Cliquer sur Search et cherchez le nœud Image Texture. Cliquer sur ce nœud et le placer dans l'éditeur de shader. Ce nœud va permettre d'assigner une texture au matériau.
  • Relier le point Color du nœud Image Texture au point Base Color du nœud Principal BSDF : cliquer avec le bouton gauche sur le premier point, maintenir le bouton enfoncé, tirer jusqu'au deuxième point et relâcher.
  • Créer une nouvelle image en appuyant sur New dans le nœud Image Texture. Donner un nom à l'image comme par exemple, "Terrain_Texture". Définir les dimensions de l'image : 2048 pour la largeur (Width) et 2048 pour la hauteur (Height). À noter : Si on indique 1024*2, Blender 3D effectuera automatiquement l'opération et affichera 2048. Appuyer sur le bouton New Image pour terminer.
  • Générer 36 matériaux à partir matériau de base qui vient d'être créé. Pour chaque matériau :
  1. Dans l'éditeur de propriété des matériaux appuyer sur le bouton +.
  2. À gauche du bouton New, déplier la liste des matériaux disponibles et sélectionner "Terrain_carre_modele".
  3. Créer un nouveau matériau en cliquant sur l'icône New material à gauche du nom du materiau. Un numero est ajouté au nom. Le nom du dernier matériaux généré devrait être Terrain_carre_036.

Assigner les matériaux

  • Dans l'espace de travail Shading, en mode Edit et vue du dessus (NUM 7) , sélectionner un des carrés du plateau du terrain avec la touche L.
  • Sélectionner le matériaux correspondant au numéro du carré (carré N, matériau Terrain_carre_modele_N) dans l'éditeur de shader ou dans l'éditeur de propriété des matériaux.
  • Assigner le matériau à la sélection en appuyant sur le bouton Assign dans l'éditeur de propriété des matériaux.
  • Dans l'éditeur de shader créer une nouvelle texture sur la base de la texture créée dans le premier matériau, en cliquant sur le numéro à droite du nom de l'image dans le nœud Image Texture. La texture à son tour prend un numéro comme le matériau, signe que la texture n'est plus liée à la texture de base et qu'elle pourra être modifiée indépendamment.
  • Procéder ainsi pour les 36 carrés du plateau du terrain.

Peinture des 37 textures

Apprendre à peindre dans Blender : les bords du terrain

Créer une image

  • Se placer dans l'espace de travail Shading et sélectionner Terrain_bords (le matériau des bords) dans la liste des Slots.
  • Avec SHIFT + A faire apparaître le menu Add qui permet d'ajouter un nouveau nœud . Cliquer sur Search et cherchez le nœud Image Texture. Cliquer sur ce nœud et le placer dans l'éditeur de shader. Ce nœud va permettre d'assigner une texture au matériau.
  • Relier le point Color du nœud Image Texture au point Base Color du nœud Principal BSDF : cliquer avec le bouton gauche sur le premier point, maintenir le bouton enfoncé, tirer jusqu'au deuxième point et relâcher.
  • Créer une nouvelle image en appuyant sur New dans le nœud Image Texture. Donner un nom à l'image comme par exemple, "Bords_Texture". Définir les dimensions de l'image : 2048 pour la largeur (Width) et 2048 pour la hauteur (Height). Appuyer sur le bouton New Image.

Masquer une partie du maillage

  • Se placer dans l'espace de travail Texture Paint.
  • En peignant les bords, il est possible de peindre involontairement et de manière peu soignée le plateau du terrain. Ce tutoriel explique comment protéger une partie d'un mesh des projections de peinture indésirables.
  • Pour cela, dans la vue 3D sélectionner en mode Edit les bords du mesh avec la touche L puis inverser la sélection avec CTRL + I.
  • Enfin, masquer le plateau avec la touche H. Passer en mode object.
  • Seuls les bords sont visibles et pourront être peints.

Découvrir l'espace de travail Texture Paint

  • Dans ce tutoriel, la texture des bords aura l'apparence de la roche, mais il est également possible d'assurer une continuité avec celle du plateau. La capture d'écran intitulée Texture Paint dans la galerie d'images ci-dessous facilite la compréhension de ce tutoriel.
  • Sélectionner la texture des bords dans l'éditeur d'images et dans la vue 3D comme indiqué sur la capture d'écran.
  • Déplier le panneau latéral de la vue 3D en appuyant sur la touche N puis ouvrir l'onglet Tool (outils) où sont regroupés les outils et options spécifiques pour peindre directement sur les textures des objets, permettant de sélectionner des pinceaux, de régler leur taille, leur force, et d'appliquer divers effets de peinture.

Test de peinture dans Blender 3D

  • Pour vérifier que tout est bien en place, faire un test de peinture sur le mesh avec une simple couleur. Pour cela, en mode Texture Paint, sélectionner une couleur dans le sélecteur de couleur (Color Picker) dans les outils de peinture du panneau latéral. Vérifier que l'icône Brush (le petit pinceau en haut à gauche de la vue 3D, est bien sélectionnée. Si c'est le cas, le curseur de la souris est un cercle avec une croix à l'intérieur. La taille du cercle reflète la taille du pinceau. Appuyer sur la touche F permet de modifier rapidement la taille du pinceau. Une fois la touche enfoncée, il suffit de déplacer la souris pour ajuster la taille selon les besoins.
  • Avertissement 1 : si le pinceau est trop grand, l'ordinateur devra gérer la modification de surfaces étendues, ce qui demande beaucoup de ressources. Selon la puissance de la machine, cela peut entraîner un risque de plantage sans possibilité de retour en arrière.
  • Avertissement 2 : les modifications apportées à la texture ne sont pas enregistrées automatiquement. Si Blender est fermé sans avoir enregistré le fichier, ces modifications seront perdues. Pour éviter cela, activez l'option File > External Data > automatically packs et assurez-vous d'enregistrer votre fichier Blender et vos textures aussi souvent que possible.
  • Le test : réduire le pinceau, dessiner sur le mesh. Le dessin devrait apparaître sur la texture de l'éditeur d'images. Inversement, dessiner sur la texture dans l'éditeur d'images. Les modifications devraient apparaître sur le mesh.

Trouver une texture avec BlenderKit

  • Il est possible d'utiliser une texture ou une image pour peindre sur le mesh, comme une texture de roche. Cela peut être n'importe quelle texture : une texture stockée sur ordinateur, une texture téléchargée depuis un site quelconque ou un site spécialisé comme ambientcg.com. Voyons comment trouver facilement des textures de bonne qualité et gratuites avec BlenderKit.
  • BlenderKit est un add-on pour Blender 3D qui permet aux utilisateurs d'accéder à une bibliothèque en ligne de modèles 3D, de matériaux, de brosses et d'autres ressources. Il facilite l'importation de ces éléments directement dans les projets Blender. BlenderKit propose à la fois des ressources gratuites et payantes.
  • Depuis le menu Edit>Preferences> Get Extensions, rechercher BlenderKit. Appuyer sur le bouton Install placé à côté du nom de l'add-on BlenderKit [FREE]. Fermer la fenêtre des préférences. La barre de menu BlenderKit s'affiche en haut et au centre de la vue 3D.
  • Dans l'espace de travail Layout, dans l'éditeur de propriété des matériaux, sélectionner le matériau Terrain_carre_modele.
  • Depuis le champ de recherche de BlenderKit, chercher "coast rock material". Faire un clic droit sur le deuxième matériau proposé (voir l'image de la galerie). Le matériaux doit apparaître dans la liste des matériaux dans le panneau des propriétés des matériaux.
  • Passer dans l'espace de travail Shading. Le système de nœuds du matériau téléchargé s'affiche dans l'éditeur de shader.
  • Cliquer sur le nœud Base Color, qui est un nœud Image Texture. La texture Albedo (définissant la couleur de base du matériau) s'affiche dans l'éditeur d'image. En cliquant sur d'autres nœuds Image Texture, d'autres textures s'affichent, comme la normal map par exemple. Cependant, seule la texture du nœud Base Color sera utilisée ici.
  • Pour enregistrer la texture, cliquer sur menu hamburger (trois traits horizontaux) puis aller dans Image> Save as ... Enregistrer la texture sur l'ordinateur.

Peindre avec une texture

  • Passer dans l'espace de travail Texture Paint. Dans l'éditeur de propriétés à droite, cliquer sur l'icône des textures pour ouvrir l'éditeur de propriétés des textures.
  • Appuyer sur le bouton New puis sur le bouton Open pour ouvrir la texture qui vient d'être enregistrée. Nommer la texture "Roche".
  • Ouvrir le panneau latéral avec la touche N et accéder aux outils (onglet Tool). Sous le menu déroulant Texture, la texture récemment ouverte devrait apparaître. Si ce n'est pas le cas, cliquer sur le carré de prévisualisation des textures. Une fenêtre s'ouvre avec les textures du projet (il ne devrait y en avoir qu'une). Cliquer sur la texture de roche.
  • Sous le même menu Texture, cocher la case Random pour que l'orientation de la texture change à chaque application, ce qui donnera une apparence plus réaliste à la texture créée.
  • Sélectionner du blanc dans Color Picker en passant le curseur de droite du noir au blanc.
  • Sélectionner la texture des bords (Bords_texture pour ce tuto) dans l'éditeur d'image et dans la vue 3D (voir l'image Texture Paint).
  • Peindre le bord comme dans le test avec la couleur. Cette fois, il faut tapoter pour appliquer des plages de textures sur les bords, en veillant à varier la taille du pinceau pour éviter que le motif ne se répète trop. Se placer bien en face de la partie à peindre. Ici comme c'est un carré, peindre chaque côté l'un après l'autre en utilisant les touche du pavé numérique NUM 3, CTRL + NUM 3 , NUM 1 et CTRL + NUM 1 pour se placer.
  • Enregistrer la texture depuis le menu Image > Save As de l'éditeur d'images. Préférer un format jpg.

Peindre le plateau du terrain

Nouvelles textures

  • Pour peindre l'herbe, charger une nouvelle texture depuis le panneau des propriétés des textures. Rechercher "Grass material" dans BlenderKit et procéder comme pour la texture de roche dans l'espace de travail Shading avec le système de nœuds. Penser à créer un nouveau matériau non assigné. Le sélectionner dans la vue 3D et dans l'éditeur d'image, pour éviter de modifier le matériau d'une partie du mesh . Il est également possible d'utiliser une autre texture d'herbe que celles de BlenderKit.
  • Quand le texture d'herbe est prête, dans le panneau des propriétés des textures, appuyer sur l'icône New Texture à droite du nom de la texture "Roche". Une nouvelle texture "Roche.001" est créée. La renommer "Herbe".
  • Dans le menu déroulant Image > Setting des propriétés des textures, cliquer sur la petite croix à droite de l'adresse de la texture "Herbe". Utiliser Open pour charger une nouvelle texture d'herbe.
  • Attention : (parfois) lorsque l'on enregistre un projet Blender et qu'on le recharge, les textures utilisées pour peindre disparaissent et doivent être rechargées si nécessaire. En revanche, la liste des textures utilisées pendant la peinture reste disponible durant toute la session de travail, permettant de passer d'une texture à l'autre depuis le panneau des outils de peinture.
  • Préparer une troisième texture pour le lit de la rivière. Chercher par exemple Gravel material dans BlenderKit. Ensuite, il est possible d'utiliser de nombreuses textures comme des petites fleurs, plusieurs types d'herbes ou de roche, de la terre, etc.

Préparer l'espace de travail

  • Rester dans l'espace de travail Texure Paint.
  • Afficher uniquement le plateau du terrain. Pour cela, dans la vue 3D utiliser le mode Edit et le mode sélection par face. Si le maillage des bords est sélectionné, le désélectionner avec ALT + A. Faire réapparaître le plateau avec ALT + H. Inverser la sélection avec CTRL + I. Masquer les bords avec la touche H.
  • Repasser en mode Texture Paint dans la vue 3D.
  • Se placer en vue du dessus avec NUM 7.

Peinture du plateau

  • La peinture se fait sur l'ensemble du plateau, donc simultanément sur les 36 textures de 2048x2048. Dans l'éditeur d'images, afficher chaque texture pour visualiser le résultat pendant la peinture.
  • Régulièrement, enregistrer les textures depuis le menu de l'éditeur d'images Image> Save All Images.
  • Pour peindre l'herbe, sélectionner la texture d'herbe dans le panneau latéral des outils de peinture de la vue 3D dans l'espace de travail Texture Paint. Procéder comme pour la peinture des bords. Ne pas oublier de cocher la case Random sous le menu Texture des outils de peinture. Voir l'image Herbe de la gallerie d'image ci-dessous.
  • Peindre les montagnes de chaque côté de la vallée avec la texture Roche. Sélectionner la texture Roche sous le menu Texture des outils de peinture du panneau latéral de la vue 3D et peindre les montagnes. Pour créer une transition en douceur entre la peinture de la roche et celle de l'herbe sur la texture, diminuer la force de la texture d'herbe (définir Strength à 0.330 au dessus de la vue 3D ) et peindre le long de la limite entre les deux textures.
  • Pour peindre le lit de la rivière, afficher le plan qui simule le niveau de l'eau pour avoir un repère. Pour cela, dans la vue 3D, passer en mode objet. L'ensemble du terrain s'affiche. Utiliser la combinaison de touche ALT + H pour afficher le plan de l'eau.
  • Le plan de l'eau est opaque ; il faut le rendre légèrement transparent pour mieux diriger et maîtriser la peinture sur le mesh.
  • Aller dans l'espace de travail Shading. Dans la vue 3D passer en mode objet et sélectionner le plan de l'eau. Dans l'éditeur de nœuds, en dessous, appuyer sur le bouton New pour créer un nouveau matériau pour le plan de l'eau. Dans le nœud Principal BSDF, repérer Alpha et réduire l'opacité du plan à l'aide du curseur pour que l'eau soit encore visible mais qu'on puisse aussi voir le terrain en dessous. Pour voir l'eau transparente l faut passer en mode Viewport Shading.
  • Peindre le lit de la rivière avec la texture de gravier dans l'espace de travail Texture paint en mode Texture paint. Marquer les transitions de textures comme ci-dessus.
  • Pour les finitions, peindre des petits plages d'herbes dans la montagne ou au fond de la rivière, assombrir ou éclaircir des zones, utiliser d'aurtes brosses, ajouter d'autres textures comme de très très petites fleurs. Attention aux échelles de grandeur, le mesh s'étendra sur toute la région.

Exporter et importer le terrain

Exporter le terrain au format Collada

  • Passer dans l'espace de travail Layout, en mode object. Sélectionner le terrain , attention de ne pas sélectionner le niveau d'eau.
  • Ouvrez le panneau des propriétés des Modifiers (modificateurs) en appuyant sur l'icône avec une petite icône de clé anglaise bleue.
  • Ajouter un modificateur Decimate en appyant sur Add Modifier > Generate > Decimate. Le modificateur Decimate permet de réduire le nombre de sommets/faces d’un maillage avec un minimum de changements de forme. Avec ce modifier, le terrain sera plus facile à importer dans OpenSimulator. Définir Ratio à 0.3.
  • Créer un dossier sur l'ordinateur, il contiendra le terrain en mesh au format Collada et les 37 textures.
  • Exporter le terrain en mesh au format Collada depuis le menu File > Export > Collada (.dae) (Legacy).
  • Une fenêtre s'ouvre. À droite de la fenêtre, déplier le menu Operator Presets et sélectionner sl+open sim static. Sous Texture Options, vérifier que Copy est bien coché. En haut de la fenêtre, chercher le chemin du dossier qui a été créé pour contenir le mesh et les textures exportés. En bas, vérifier et éventuellement corriger le nom du mesh. Enfin, appuyer sur le bouton Export COLLADA.
  • Le mesh du terrain et toutes ses textures devraient apparaître dans le dossier d'exportation.
  • Fermer Blender 3D.

Importer le terrain et les textures dans OpenSim

  • 🏗️

Installer le terrain dans OpenSim

Appliquer les textures sur le mesh

  • 🏗️

Placer le terrain

  • 🏗️

Interêt d'utiliser un mesh

  • 🏗️

Problèmes possibles

  • 🏗️