Aller au contenu

« Réunion du 16-08-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-08-16 = Accueil sur Outreach = * [http://opensimulator.org/viewgit/?a=shortlog&p=opensim Journal des commits OpenSim] [10:58] '''Andrew Hellershanks''' : Bonjour à tous. [10:59] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Voyons, cette semaine nous avons eu un peu plus de Ubit dans la soumission hehe. [11:00] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Il en reste beaucou... »
 
Balise : Révocation manuelle
 
Ligne 1 : Ligne 1 :
Source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-08-16
= Modélisation du terrain dans [https://www.blender.org/ Blender 3D] =
<br>
<big><big>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.</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''']].


= Accueil sur Outreach =  
=== Options de l'add-on ===
* [http://opensimulator.org/viewgit/?a=shortlog&p=opensim Journal des commits OpenSim]


[10:58] '''Andrew Hellershanks''' : Bonjour à tous.
* 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>


[10:59] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Voyons, cette semaine nous avons eu un peu plus de Ubit dans la soumission hehe.
== 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:00] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Il en reste beaucoup ?
= 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>


[11:00] '''Ubit Umarov'''  : bien sûr.
== 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.
<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:00] '''Ubit Umarov'''  : c'était une chose mineure.
= 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:01] '''Ubit Umarov'''  : changements du type "changements inutiles" uff
== 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:01] '''Ubit Umarov'''  : regarder le code, gain de temps évident
= 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:01] '''Ubit Umarov'''  : en cours d'utilisation... bahh
== 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:02] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Pas totalement inutile si cela rend les choses plus faciles à lire.
<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:02] '''Ubit Umarov'''  : il y avait une O(n^2) maintenant il y a O(nlogn) à la place.
= 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 -->


= Réunion déplacée sur  Hurliman Plaza =
=== 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>


La réunion a été déplacée sur Hurliman Plaza en raison d'un problème avec la région ou sa machine hôte.
== Peindre le plateau du terrain ==
== Problème de machine ==
=== Nouvelles textures ===
[11:09] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Cette expérience OpenSim  vous a été présentée par l'année 2010.
* 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:09] '''Vincent.Sylvester @hg.zetaworlds.com:8002''': lol
=== 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:10] '''Andrew Hellershanks''' : :)
=== 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:10] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Ça me rappelle des souvenirs
= 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:11] '''Ubit Umarov''' : Eh bien, même hier, Dan a dit qu'il envisageait de ne pas renouveler la location de cette machine.
== Importer le terrain et les textures dans OpenSim ==
* 🏗️


[11:11] '''Ubit Umarov''' : mais aujourd'hui, la région des réunions de développement[http://opensimulator.org/wiki/Office_hours/fr], lbsa [https://opensimworld.com/hop/75039] etc. étaient dessus.
= Installer le terrain dans OpenSim =
== Appliquer les textures sur le mesh ==
* 🏗️
== Placer le terrain ==
* 🏗️


[11:11] '''Ubit Umarov'''  : ils disent qu'ils ont un mauvais routeur.
= Interêt d'utiliser un mesh =
* 🏗️


[11:11] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Cela arrivait souvent à l'époque où je pouvais encore atteindre mes orteils.
= Problèmes possibles =
 
* 🏗️
[11:11] '''Ubit Umarov'''  : et ils vont continuer à faire comme ça pendant à peu près 2 mois.
 
[11:12] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Qui fournit cette machine, vous savez ?
 
[11:12] '''Ubit Umarov'''  : j'ai oublié :)
 
[11:13] '''Ubit Umarov'''  : je vais lancer lbsa sur une autre machine.
 
== Fournisseurs d'accès internet -- Hébergement de serveurs ==
 
[11:13] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Je n'ai pas trouvé un seul fournisseur en Amérique du Nord qui soit décent, la plupart d'entre eux semblent être gérés par quelques gars dans un sous-sol, du moins c'est l'impression qu'ils donnent.
 
[11:13] '''Andrew Hellershanks'''  : J'ai utilisé des serveurs (''in NAm'') gérés par OVH [https://fr.wikipedia.org/wiki/OVHcloud] et je n'ai pas eu de problème avec eux.
 
[11:13] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Oui, ils sont les seuls à valoir quelque chose dans cette gamme de prix.
 
[11:14] '''Ubit Umarov'''  : C'est un fournisseur d'accès moins cher.
 
[11:14] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Pour un pays qui compte aussi la Silicon Valley[https://fr.wikipedia.org/wiki/Silicon_Valley], on pourrait penser qu'il y aurait plus d'options décentes.
 
[11:14] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : La plupart sont beaucoup plus chers et vous n'obtenez pratiquement aucun matériel dans des configurations utilisables pour une charge de type OpenSim.
 
== C'était l'bon temps ==
[11:15] '''Jagga.Meredith @login.aviworlds.com:8002''' : je ne peux pas me connecter en tant que moi-même. Je suis ici avec mon avatar Aviworlds [https://aviworlds.com/].
 
[11:15] '''Andrew Hellershanks'''  acquiesce.
 
[11:15] '''Andrew Hellershanks'''  : pas de problème, Jagga.
 
[11:15] '''Ubit Umarov'''  : rien de tel qu'un TP pour changer de sexe :p
 
[11:15] '''Ubit Umarov'''  : Ouais :p
 
[11:15] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : mdr
 
[11:16] '''Ubit Umarov'''  : rappelez-vous en 2007, sur SL, nous nous voyons en homme, et tous les autres nous voyaient en femme avec une barbe ?
 
[11:16] '''Ubit Umarov'''  : tellement énervant :)
 
[11:16] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : C'était le bon temps
 
[11:16] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : C'est comme si c'était hier
 
[11:16] '''Ubit Umarov'''  : Oui.
 
[11:17] '''Ubit Umarov'''  : il est possible que ce soit de nouveau le cas.
 
[11:17] '''Ubit Umarov'''  : Oui, c'est de retour.
 
[11:17] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : J'ai eu une région qui m'a mangé les cheveux la semaine dernière parce qu'elle tournait sur une ancienne version de 7.x, c'était amusant à restaurer.
 
[11:18] '''Andrew Hellershanks''' : hehe
 
== Machine accessible -- la réunion ne bouge pas ==
[11:19] '''Ubit Umarov'''  : Je dois déplacer outreach sur une autre machine.
 
[11:19] '''Ubit Umarov''' : uff
 
[11:19] '''Andrew Hellershanks'''  : Nous pourrions aussi bien rester ici pour gagner du temps.
 
[11:19] '''Ubit Umarov'''  : Ouais, faisons ça.
 
[11:19] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : J'ai sérieusement envisagé d'implémenter quelque chose pour bloquer l'hypergrid[http://opensimulator.org/wiki/Hypergrid/fr] sur une différence de version majeure afin d'empêcher le flot de tickets envoyés par l'inventaire cassé.
 
[11:19] '''Ubit Umarov'''  : les habitués sont là :)
 
[11:19] '''Andrew Hellershanks'''  : J'ai envoyé des messages instantanés à Selby et Kayaker.
 
[11:20] '''Selby.Evans @grid.kitely.com:8002'''  : Je suis là
 
[11:20] '''Ubit Umarov'''  : la machine est à nouveau inaccessible.
 
[11:20] '''Andrew Hellershanks'''  : Bienvenue, Selby.
 
[11:20] '''Ubit Umarov'''  : et voici le kayaker.
 
[11:20] '''Andrew Hellershanks'''  : Bonjour, Kayaker.
 
[11:21] '''Kayaker Magic'''  : Bonjour à tous !
 
= Changements de la semaine =
== Rappel du début de réunion ==
* [http://opensimulator.org/viewgit/?a=shortlog&p=opensim Journal des commits OpenSim]
* [http://opensimulator.org/mantis/my_view_page.php Mantis : suivi de bogues]
*  ubOde : dans l'archive d'OpenSim  dossier --> OpenSim/Region/PhysicsModules/ubOde
 
[11:21] '''Andrew Hellershanks'''  : Avant le changement forcé de lieu, nous avions commencé à discuter des récents changements apportés au code. Principalement les changements concernant ubODE.
 
[11:21] '''Ubit Umarov'''  : bien sûr la machine était bien... mais j'ai perdu la communication quand je disais des choses très importantes.
 
[11:21] '''Ubit Umarov'''  : que j'ai oublié maintenant.
 
[11:21] '''Ubit Umarov'''  : :)
 
[11:22] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Je me demande s'il y a encore beaucoup de choses à commiter [https://git-scm.com/docs/git-commit/fr] ou si je dois faire un pull[https://git-scm.com/docs/git-pull/fr] des changements et commencer à tester.
 
[11:22] '''Andrew Hellershanks'''  : Ubit, tu parlais de changements pour être plus clair et pour gagner du temps. Tu as mentionné un changement de O(n^2) à O(nlogn).
 
[11:22] '''Ubit Umarov''' : :)
 
[11:23] '''Ubit Umarov'''  : la semaine dernière des changements de code encore du genre "changements inutiles".
 
[11:23] '''Kayaker Magic'''  : Cela ressemble à quelque chose dont llCastRay [https://wiki.secondlife.com/wiki/LlCastRay] a besoin !
 
[11:23] '''Ubit Umarov'''  : j'essaye de sauver quelques nanosecondes  ici et là
 
== Collision avatar/avatar : mais pas pour les avatars assis ==
 
[11:23] '''Ubit Umarov'''  : cette fois sur les collisions[https://jeux.developpez.com/tutoriels/theorie-des-collisions/formes-3d-simples/] avatar/avatar.
 
[11:24] '''Ubit Umarov'''  : maintenant je fais la phase de haut débit dans le Managed code [https://fr.wikipedia.org/wiki/Managed_code].
 
[11:24] '''Ubit Umarov'''  : c'est à dire les vérifications des boîtes AABB [https://fr.abcdef.wiki/wiki/Minimum_bounding_box].
 
[11:25] '''Ubit Umarov'''  : comme je l'ai dit l'algo qui était là avant était même un O(n * n)
 
[11:25] '''Ubit Umarov'''  : maintenant c'est un O(n * log n)
 
[11:25] '''Ubit Umarov'''  : il y a aussi moins de croisements de codes non gérés/gérés qui sont un peu lourds.
 
[11:26] '''Ubit Umarov'''  : bien sûr, le code que nous avons n'est pas du tout utilisé, les avatars assis ne le comprennent pas LOL.
 
[11:26] '''Ubit Umarov'''  : si vous regardez, le temps physique par image est de 2μs (micro seconde) ici :)
 
[11:27] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : On dit que les collisions et la physique[https://fr.wikipedia.org/wiki/Moteur_physique] sont lentes de nos jours. Je testais le passage d'objets et j'ai lancé des milliers de prims d'une région à l'autre sans trop de problèmes. Je suppose qu'à ces échelles, cela pourrait même devenir mesurable. héhé
 
[11:27] '''Ubit Umarov'''  : les avatars assis n'ont pas de physique, donc la physique ici ne fait rien :)
 
[11:28] '''Ubit Umarov'''  : quelle est la relation entre les collisions et les croisements ?
 
[11:28] '''Ubit Umarov'''  : duhh :p
 
[11:28] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Eh bien, les prims entrent en collision l'une avec l'autre avant et pendant le croisement apparemment, les prims sphèriques volant partout hehe.
 
[11:28] '''Ubit Umarov'''  : donc comme je l'ai dit, les changements que j'ai fait ne concernent que les collisions entre avatars,
 
[11:29] '''Ubit Umarov'''  : qui ont la physique, donc, avatars debout.
 
[11:29] '''Ubit Umarov'''  : les prims réagissent comme avant...
 
= Commit "ubode: essayer de rendre mono heureux à nouveau" =
* [https://fr.wikipedia.org/wiki/Compilation_%C3%A0_la_vol%C3%A9e JIT] : Compilation[https://fr.wikipedia.org/wiki/Compilateur] à la volée
* [ https://fr.wikipedia.org/wiki/Compilation_anticip%C3%A9e AOT] : Compilation anticipée
* [https://www.geeksforgeeks.org/what-is-aot-and-jit-compiler-in-angular/ Comparaison entre Ahead of Time (AOT) et Just in Time (JIT)]
 
[11:29] '''Ubit Umarov'''  : il y a eu quelques changements ces dernières semaines,
 
[11:29] '''Ubit Umarov'''  : des changements du code de la dll[https://fr.wikipedia.org/wiki/Dynamic_Link_Library]
 
[11:30] '''Ubit Umarov'''  : ces derniers changements sont différents, car au lieu de changer le code de la dll, je l'ai déplacé dans le code géré.
 
[11:30] '''Ubit Umarov'''  : car avec un peu de soin, JIT fait du bon code.
 
[11:31] '''Ubit Umarov'''  : mais un changement qui était ok sous windows, a rendu mono [https://fr.wikipedia.org/wiki/Mono_(logiciel)] plus de 20x plus lent.
 
[11:31] '''Ubit Umarov'''  : et voilà !
 
[11:31] '''Ubit Umarov'''  : une situation qui utilisait 10μs (0.00001 secondes) pour la physique est passée à près de 300μs (0.0003 secondes).
 
[11:32] '''Ubit Umarov'''  : fou
 
[11:32] '''Andrew Hellershanks'''  : ouch
 
[11:32] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Ce n'est pas la première fois que JIT se comporte de manière stupide
 
[11:32] '''Ubit Umarov'''  : le changement de code pour le corriger correspond au commit
 
[11:32] '''Ubit Umarov''' : 2ba53faa5c688c9378e21b108da97e8583089890 [http://opensimulator.org/viewgit/?a=commit&p=opensim&h=2ba53faa5c688c9378e21b108da97e8583089890]
 
* ubode: try ot make mono happy again (ubode: essayer de rendre mono heureux à nouveau).
 
[11:32] '''Ubit Umarov''' : bahh
 
[11:33] '''Andrew Hellershanks'''  : Je me souviens avoir vu ce message de commit.
 
[11:33] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' :cela a tendance à augmenter massivement à chaque fois que ça plante.
 
[11:34] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Ubit a mis quelques scripts aot [https://fr.wikipedia.org/wiki/Compilation_anticip%C3%A9e] là-dedans il y a quelque temps, pour ceux qui veulent contourner entièrement Jit pour une raison quelconque.
 
=Avatars : utilisation de code  ray =
[11:34] '''Ubit Umarov'''  : Ouais, l'utilisation des rayons pour les avatars sera peut être la prochaine chose que je vais changer pour la gestion seulement.
 
[11:35] '''Ubit Umarov'''  : les avatars ne sont pas plus simples.
 
[11:35] '''Ubit Umarov'''  : à cause de la façon dont les viewers travaillent, ils sont toujours verticaux.
 
[11:35] '''Ubit Umarov'''  : même lorsque nous volons et que nous les voyons à l'horizontale, la physique est toujours une capsule verticale.
 
[11:36] '''Ubit Umarov'''  : pour que l'avatar n'aient pas besoin de  pivoter en cas de collisions.
 
[11:36] '''Ubit Umarov'''  : pour économiser un peu de cpu[https://fr.wikipedia.org/wiki/Processeur] aussi
 
[11:36] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : C'est bon à savoir
 
[11:36] '''Ubit Umarov'''  : bien sûr pour l'instant ils tournent tous...
 
[11:37] '''Ubit Umarov'''  : mais dans le code ray que je peux ajouter, cette rotation sera supprimée.
 
[11:37] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Au cours des dernières années, l'utilisation de la mémoire a massivement diminué, mais la charge du processeur reste un facteur important, donc chaque petit geste compte.
 
[11:37] '''Ubit Umarov'''  : la charge du processeur est aussi le coût en opérations de la grille.
 
[11:37] '''Ubit Umarov'''  : a de l'importance
 
[11:38] '''Ubit Umarov'''  : contrairement à ce que les codeurs ont dit dans les années 2010.
 
[11:38] '''Ubit Umarov'''  : spécialement les enseignants.
 
[11:38] '''Ubit Umarov'''  : beaucoup ont écrit qu'une amélioration de 10% des performances est inutile.
 
[11:38] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Le profil de ressources d'OpenSim est assez différent de la plupart des autres utilisations, donc trouver des machines adaptées à ce profil peut être difficile et coûteux.
 
[11:38] '''Andrew Hellershanks'''  : Une charge CPU élevée indique peut-être que vous procédez d'une façon incorrecte.
 
[11:39] '''Ubit Umarov'''  : amusant comment nous sommes tous si malheureux avec 10% de perte.
 
[11:39] '''Ubit Umarov'''  : bahh
 
[11:39] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Il est logique qu'avec moins de mémoire, le processeur ait moins de choses à déplacer, donc il s'est aussi amélioré grâce à cela.
 
[11:39] '''Ubit Umarov'''  : peu importe ... autre chose 10& :)
 
[11:40] '''Ubit Umarov'''  : mais amusant... puis google a commencé à s'inquiéter de la performance.
 
[11:40] '''Ubit Umarov'''  : expliquant comment xml[https://fr.wikipedia.org/wiki/Extensible_Markup_Language] est une merde totale...
 
[11:40] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Il y a une forme de fuite de processeur, si cela existe, que j'ai observée il y a quelques mois, la charge moyenne du processeur sur cette région a augmenté de 3% comme une horloge au cours d'une journée.
 
[11:40] '''Ubit Umarov'''  : et puis tout le monde commence à dire que les performances sont importantes.
 
[11:41] '''Ubit Umarov'''  : les gens ne sont-ils pas si ... bien peu importe ?
 
[11:41] '''Ubit Umarov'''  : :)
 
[11:41] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : le xml dans certains cas dans OpenSim est structuré à 90%.
 
[11:41] '''Ubit Umarov'''  : le moteur physique est un domaine où les performances sont toujours importantes.
 
[11:41] '''Ubit Umarov'''  : Je n'ai toujours pas obtenu ce menu.
 
[11:41] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Landtool [https://github.com/justincc/opensimulator-helper] par exemple, juste un seul mot clé de référence et des tonnes de structures inutiles autour de lui.
 
[11:42] '''Ubit Umarov'''  : les nouveaux matériaux utiliseront JSON.[https://fr.wikipedia.org/wiki/JavaScript_Object_Notation]
 
[11:42] '''Andrew Hellershanks'''  fait un signe de tête à Vincent.
 
[11:42] '''Ubit Umarov'''  : comme si c'était une grande amélioration :)
 
[11:42] '''Ubit Umarov'''  : Microsoft a aussi changé pour json.
 
[11:43] '''Ubit Umarov'''  : à propos des choses de .net[https://fr.wikipedia.org/wiki/.net]
 
=Notecards vides et autres assets=
[11:43] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Je serais tenté de demander que l'on modifie l'enregistrement des notecards tout en effectuant les changements nécessaires pour que les notecards vides cessent d'occuper de nouveaux assets[http://opensimulator.org/wiki/Assets] à chaque création. Mais, bien sûr, cela serait assez difficile à rendre compatible.
 
[11:44] '''Jagga.Meredith @login.aviworlds.com:8002''' : peut-on faire en sorte que la notecards vide soit un pointeur vers un asset ?
 
[11:45] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Une notecard vide a un horodatage dans la description, qui fait partie des données, donc une nouvelle ressource est créée.
 
[11:45] '''Jagga.Meredith @login.aviworlds.com:8002''': ah
 
[11:45] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Idéalement, nous devrions sauvegarder cette partie dans la table des assets plutôt que dans les données physiques sur le disque dans le cas de fsassets[http://opensimulator.org/wiki/FSAssets_Service/fr] afin qu'elle puisse effectivement pointer sur un seul asset.
 
[11:45] '''Jagga.Meredith @login.aviworlds.com:8002''' : vous devriez aussi regarder la boîte par défaut.
 
[11:45] '''Ubit Umarov'''  : Eh bien ! c'est plus bête que cela
 
[11:45] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Mais, faire ce changement casserait la compatibilité.
 
[11:46] '''Ubit Umarov'''  : pour faire une notecard nous devons en créer une nouvelle.
 
[11:46] '''Ubit Umarov'''  : cela crée un nouvel asset avec des données vides.
 
[11:46] '''Ubit Umarov'''  : quand nous éditons et ajoutons quelque chose, bien sûr une nouvelle ressource est créée.
 
[11:46] '''Ubit Umarov'''  : nous ne pouvons pas changer cela... les viewers fonctionnent comme cela.
 
[11:47] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : J'ai nettoyé plus de 30 millions de notecards des assets,  un script les créait.
 
[11:47] '''Ubit Umarov'''  : ( la même chose se produit avec les  landmarks, etc
 
[11:47] '''Ubit Umarov'''  : c'est une mauvaise conception du viewer.
 
[11:47] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Les gens semblent oublier qu'il est possible d'enregistrer des données dans la description des prims au lieu d'utiliser des notecards.
 
[11:48] '''Ubit Umarov'''  : bon, nous pouvons considérer cela comme une option LOL.
 
[11:48] '''Jagga.Meredith @login.aviworlds.com:8002''' : et on peut lire/écrire la description de la prim via un programme.
 
[11:48] '''Ubit Umarov'''  : bien sûr, les nouveaux scripts dans l'inventaire font la même chose.
 
[11:48] '''Ubit Umarov'''  : aussi dans les prims.
 
[11:48] '''Ubit Umarov'''  : mais dans les prims, ces assets ne restent que plus longtemps dans la région.
 
[11:49] '''Ubit Umarov'''  : mais pas les scripts.
 
[11:49] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Oui, mais la plupart ne sont pas aussi fous que moi en écrivant une fonction osMakeScript, donc le plus problématique est toujours osMakeNotecard[http://opensimulator.org/wiki/OsMakeNotecard], heureusement.
 
[11:51] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : J'ai pensé à ajouter un gestionnaire de flux ou quelque chose comme ça pour demander à une région de trouver des assets et s'ils ne peuvent pas les trouver, et qu'ils n'existent pas non plus dans l'inventaire, alors ces assets sont virtuellement orphelins et peuvent être supprimés.
 
[11:51] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Les routines de nettoyage de ce type pourraient fonctionner, mais elles sont complexes à mettre en œuvre et lentes, sans compter les coûts indirects liés à l'utilisation permanente de ces routines dans les comms de la région.
 
[11:52] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : La plupart des gens ne sont pas conscients de ces choses et ne nettoient jamais leurs bases de données ou leurs assets et se demandent ensuite pourquoi ils prennent des proportions énormes.
 
[11:52] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : La gestion des grilles est un plaisir...
 
[11:53] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : ''But fixing, if even possible, notecards is something for whenever we break hg protocol or something''
 
= Documentation des fonctions de script=
* Wiki Second Life : https://wiki.secondlife.com/wiki/LlParticleSystem/fr
* Wiki OpenSim : http://opensimulator.org/wiki/Main_Page
 
[11:58] '''Jagga.Meredith @login.aviworlds.com:8002''' : Y a-t-il eu des changements majeurs dans llParticleSystem[https://wiki.secondlife.com/wiki/LlParticleSystem/fr] depuis la dernière mise à jour du Wiki par SL ?  Je suis en train de construire un tutoriel.
 
[11:59] '''Ubit Umarov'''  : aucune idée.
 
[11:59] '''Ubit Umarov'''  : sl met à jour son wiki.
 
[11:59] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : La fonction devrait fonctionner conformément aux spécifications, la dernière fois que j'ai vérifié, c'était il y a environ un an.
 
[11:59] '''Jagga.Meredith @login.aviworlds.com:8002''' : la semaine dernière, le sujet de la documentation a été abordé.  J'ADORE écrire de la documentation.  Que faut-il faire ?
 
[11:59] '''Ubit Umarov'''  : je peux comparer avec l'ancien.
 
[11:59] '''Jagga.Meredith @login.aviworlds.com:8002''': ok
 
[12:00] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Il y a une liste sur le wiki opensim sur les fonctions qui sont implémentées ou non [http://opensimulator.org/wiki/LSL_Status/Functions] , qui a besoin d'être vérifiée et modifiée en fonction de ce qui fonctionne actuellement.
 
[12:00] '''Jagga.Meredith @login.aviworlds.com:8002''': ok
 
[12:01] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Cela pourrait aussi être un bon moyen de voir s'il y a des changements à faire ou des choses qui ne fonctionnent pas correctement.
 
[12:01] '''Jagga.Meredith @login.aviworlds.com:8002''': yup
 
[12:02] '''Andrew Hellershanks'''  : Nous sommes à la fin de l'heure. Comme nous avons commencé en retard à cause du problème de la région, je vais prolonger un peu cette réunion.
 
[12:02] '''Andrew Hellershanks'''  : Jagga, tu as quelques questions.
 
[12:02] '''Jagga.Meredith @login.aviworlds.com:8002''' : elles sont déjà posées.
 
[12:03] '''Andrew Hellershanks''' : :)
 
= Particules et modification du rendu dans les viewers =
* ALM = Advanced Lighting Model : Modèle d'éclairage avancé
[12:04] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : En parlant de système de particules, cela me rappelle que j'essayais de créer un moyen de faire apparaître des particules dans un rayon et de les faire se déplacer vers une cible sans changer leur trajectoire.
 
[12:04] '''Andrew Hellershanks'''  : Jagga, j'ai remarqué dans le passé quelques problèmes avec le comportement des particules. Certains effets ne s'affichent pas de la même manière que par le passé. Je ne sais pas si cela a quelque chose à voir avec le code de la grille ou si c'est plutôt un problème de viewer.
 
[12:05] '''Jagga.Meredith @login.aviworlds.com:8002''' : J'ai remarqué quelques incohérences.
 
[12:05] '''Jagga.Meredith @login.aviworlds.com:8002''' : d'où ma question.
 
[12:05] '''Ubit Umarov'''  : les régions ne font que stocker des choses.
 
[12:05] '''Ubit Umarov'''  : souvent, on ne regarde même pas ce que c'est.
 
[12:05] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Eh bien, les particules dépendent principalement du viewer, donc oui, même en faisant des changements pour les forcer le long du vecteur de l'origine à la cible, elles bougent toujours, parce que c'est le rendu du viewer.
 
[12:06] '''Ubit Umarov'''  : je suppose que pour les particules c'est le cas, donc cela peut fonctionner dans sl.
 
[12:06] '''Ubit Umarov'''  : mais le rendu du viewer a beaucoup changé.
 
[12:06] '''Ubit Umarov'''  : surtout récemment.
 
[12:06] '''Ubit Umarov'''  : puisque ALM est obligatoire maintenant.
 
[12:07] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Avant, on pouvait fabriquer des téléviseurs à particules pour lire les médias, mais je crois que c'est aussi terminé maintenant.
 
[12:07] '''Jagga.Meredith @login.aviworlds.com:8002''' : Je vais vérifier.
 
[12:08] '''Ubit Umarov'''  : les derniers viewers ont aussi bénéficié d'un effort d'amélioration des performances.
 
[12:08] '''Ubit Umarov'''  : deux fois plus d'images par seconde.
 
[12:08] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : heh ouais cinq ans trop tard, mais au moins ça arrive enfin.
 
[12:08] '''Ubit Umarov'''  : cela peut signifier que certaines choses seront différentes.
 
[12:08] '''Jagga.Meredith @login.aviworlds.com:8002''': yup
 
[12:08] '''Andrew Hellershanks'''  acquiesce.
 
[12:09] '''Ubit Umarov'''  : et beaucoup plus de changements avec PBR [https://fr.wikipedia.org/wiki/Rendu_physique_r%C3%A9aliste].
 
[12:09] '''Ubit Umarov'''  : mais je n'ai pas encore de viewer avec cela.
 
= Matériaux =
 
[12:09] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Probablement la meilleure partie de tout cela étant donné l'aspect "plat" du monde, maintenant nous avons seulement besoin de matériaux sur les textures de terrain et de quelques résolutions plus élevées.
 
[12:10] '''Ubit Umarov'''  : fs[https://www.firestormviewer.org/] beta [https://fr.wikipedia.org/wiki/Version_d'un_logiciel#Version_b%C3%AAta] contient certains des changements de performance.
 
[12:10] '''Ubit Umarov'''  : bon, les matériaux[https://fr.wikipedia.org/wiki/Rendu_physique_r%C3%A9aliste#Param%C3%A8tres_disponibles_pour_les_mat%C3%A9riaux] ont besoin d'une usine à gaz pour fonctionner.
 
[12:10] '''Ubit Umarov'''  : chacun est un nouvel asset complet.
 
[12:11] '''Ubit Umarov'''  : 4 textures de plus par face ...
 
[12:11] '''Ubit Umarov'''  : amusant amusant
 
[12:11] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Le fait d'être retravaillé pourrait enfin signifier qu'ils cessent de disparaître aléatoirement, ce dont je n'arrive toujours pas à trouver la cause.
 
[12:11] '''Ubit Umarov'''  : je ne sais pas pourquoi mais une prim peut avoir 14 matériaux.
 
[12:12] '''Ubit Umarov'''  : je suppose que c'est pour les avatars.
 
[12:13] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : On aura besoin de ce détail quand on regardera l'arrière de notre avatar toute la journée.
 
[12:13] '''Andrew Hellershanks'''  : hehe
 
[12:14] '''Ubit Umarov'''  : alors que tous les utilisateurs de SL pleuraient pour ces matériaux.
 
[12:14] '''Ubit Umarov'''  : la plupart d'entre eux n'ont aucune idée de ce qu'est un matériau, mais puisque tous les jeux ont maintenant une option PBR, SL doit en avoir une aussi.
 
[12:14] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Les mots à la mode sont une drogue d'enfer
 
[12:15] '''Ubit Umarov'''  : Bien, voyons quel code, s'il y en a, apparaît sur les viewers pour opensim.
 
[12:16] '''Ubit Umarov'''  : oh salut neovo
 
[12:16] '''Neovo Geesink''' : Bonjour Ubit, et tout le monde :-)
 
[12:16] '''Ubit Umarov'''  : osgrid [https://www.osgrid.org/] a une réunion ici ?
 
[12:16] '''Neovo Geesink''' : Non, je suis entré parce que j'ai vu pas mal d'Avatars ici :-)
 
[12:17] '''Ubit Umarov''' : ok
 
[12:17] '''Andrew Hellershanks''' : pas de problème. :)
 
[12:17] '''Neovo Geesink''': :-)
 
[12:17] '''Ubit Umarov'''  : c'est la région de sauvegarde de notre réunion.
 
[12:17] '''Ubit Umarov'''  : la machine de plaza14 est de nouveau hors service.
 
[12:17] '''Neovo Geesink''' : Ah, c'est pour ça. Dev Outreach a planté ?
 
[12:17] '''Jagga.Meredith @login.aviworlds.com:8002''' : est-ce que ça marche pour les NFT[https://fr.wikipedia.org/wiki/Jeton_non_fongible] ?
 
[12:17] '''Ubit Umarov''' : lbsa aussi :p
 
[12:17] '''Ubit Umarov'''  : Je l'ai déplacée.
 
[12:17] '''Neovo Geesink''' : Oups....Lbsa fait encore des siennes.
 
[12:17] '''Jagga.Meredith @login.aviworlds.com:8002''': (PBR [https://fr.wikipedia.org/wiki/Rendu_physique_r%C3%A9aliste])
 
[12:18] '''Ubit Umarov'''  : Eh bien, la région était aussi sur la machine plaza14...
 
[12:18] '''Neovo Geesink''': :-)
 
[12:18] '''Neovo Geesink''' : Alors Sandbox Plaza III et Event Plaza sont également affectés.
 
[12:18] '''Andrew Hellershanks'''  : Quelqu'un devrait définir PBR car je suis sûr que cela ne veut pas dire Pabst Blue Ribbon [https://fr.wikipedia.org/wiki/Pabst_Blue_Ribbon]  en relation avec OpenSim :)
 
[12:18] '''Ubit Umarov'''  : c'est possible aussi.
 
[12:18] '''Ubit Umarov'''  : j'ai seulement déplacé lbsa
 
[12:19] '''Neovo Geesink''' : :-)
 
[12:19] '''Selby.Evans @grid.kitely.com:8002'''  : au revoir à tous.
 
[12:19] '''Ubit Umarov'''  : bon lancé sur l'autre machine...
 
[12:19] '''Andrew Hellershanks'''  : Au revoir, Selby.
 
[12:19] '''Ubit Umarov'''  : salut Selby.Evans
 
[12:19] '''Neovo Geesink''' : Salut Selby
 
[12:19] '''Andrew Hellershanks'''  :Cela fait une heure que nous avons commencé ici. Des questions/commentaires de dernière minute avant de conclure la réunion d'aujourd'hui ?
 
[12:19] '''Jagga.Meredith @login.aviworlds.com:8002''' : (reformulation) Est-ce que le mouvement vers les RBP est une tentative d'implémentation des NFT's ?
 
[12:19] '''Ubit Umarov''' : nft ?
 
[12:20] '''Jagga.Meredith @login.aviworlds.com:8002''' : jeton non fongible
 
[12:20] '''Andrew Hellershanks'''  : Jetons non fongibles ?
 
[12:20] '''Jagga.Meredith @login.aviworlds.com:8002''' : oui.
 
[12:20] '''Andrew Hellershanks'''  : Berk ( ?)
 
[12:20] '''Ubit Umarov'''  : Je suppose que c'est juste une meilleure façon de représenter comment la lumière et les matériaux interagissent.
 
[12:20] '''Jagga.Meredith @login.aviworlds.com:8002''' : oh, ok
 
[12:20] '''Ubit Umarov'''  : les modèles précédents étaient en quelque sorte "empiriques".
 
[12:21] '''Jagga.Meredith @login.aviworlds.com:8002''': ah
 
[12:21] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : PBR  signifie rendu physique réaliste, c'est l'application d'un matériau à une texture pour créer des choses comme des briques ou des tapis sans avoir à créer de polygones.
 
[12:21] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Comme les bump maps[https://fr.wikipedia.org/wiki/Placage_de_relief] et les normal maps [https://fr.wikipedia.org/wiki/Normal_mapping] sur les objets.
 
[12:21] '''Ubit Umarov'''  : Le rendu PBR basé sur la physique d'OpenSim essaie d'utiliser des propriétés physiques.
 
[12:21] '''Jagga.Meredith @login.aviworlds.com:8002''' : kewl
 
[12:21] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Les NFTs sont... une absurdité
 
[12:21] '''Andrew Hellershanks'''  : Vincent, merci. Cela aide ceux qui pourraient lire la retranscription de cette réunion à savoir de quoi on parle.
 
[12:21] '''Ubit Umarov'''  : Bien, plus de jeu avec la lumière et les ombres pour améliorer la sensation 3D.
 
[12:22] '''Ubit Umarov'''  : de la même façon qu'un peintre utilise les ombres dans un papier 2d pour donner une impression 3d.
 
[12:22] '''Neovo Geesink''' : Je pars maintenant... Je ne peux pas ajouter de la valeur puisque c'est bien au-dessus de mes connaissances.
 
[12:22] '''Jamie.Jordan @grid.kitely.com:8002''' : Bonne semaine à tous
 
[12:22] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : La PBR est la chose que tout le monde utilise maintenant pour faciliter la création d'environnements et d'objets de belle apparence en enchaînant simplement différents modificateurs dans quelque chose comme le logiciel Substance Painter[https://substance3d.adobe.com/documentation/spdoc/substance-painter-20316164.html].
 
[12:22] '''Ubit Umarov''' : :)
 
[12:22] '''Andrew Hellershanks'''  : ok, pas de problème Neovo. Enchanté davoir fait ta connaissance.
 
[12:23] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : C'est couramment utilisé dans la plupart des moteurs de jeux populaires car le coût est plus bas que celui de la géométrie réelle et il peut être facilement réduit pour les systèmes moins performants.
 
[12:23] '''Ubit Umarov'''  : alors c'est une autre chose qui n'est pas pour les amateurs.
 
[12:23] '''Ubit Umarov'''  : c'est maintenant une chose simple.
 
[12:24] '''Ubit Umarov'''  : comme 4 ou 6 textures par face...
 
[12:24] '''Ubit Umarov'''  : hmm 4 ?
 
[12:24] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : Oh, c'est une douleur  pour comprendre ce système et la plupart des programmes qui peuvent les créer sont des logiciels payants, il n'existe qu'une poignée de logiciels gratuits.
 
[12:24] '''Ubit Umarov'''  : si on utilise cela, on submerge simplement la région.
 
[12:24] '''Ubit Umarov'''  : il faut savoir comment et quand les utiliser.
 
[12:25] '''Ubit Umarov'''  : pour la plupart des gens, il est tout simplement PRÉFÉRABLE d'utiliser un mesh de plus haute résolution que d'utiliser une bump map.
 
[12:25] '''Vincent.Sylvester @hg.zetaworlds.com:8002''' : L'avantage est que nous n'avons qu'à les charger, le viewer s'occupe du rendu, au moins nous n'avons pas à maintenir le code du shader[https://fr.wikipedia.org/wiki/Shader].
 
[12:26] '''Ubit Umarov'''  : cela signifie qu'on doit comprendre ce qu'est un matériau Linden Lab.
 
[12:26] '''Ubit Umarov'''  : parce  qu'il ne sera pas comme celui d'Autodesk.
 
[12:26] '''Ubit Umarov''' : ou blender..
 
[12:27] '''Andrew Hellershanks'''  acquiesce.
 
[12:27] '''Ubit Umarov'''  : c'est-à-dire un rendu similaire...
 
[12:27] '''Ubit Umarov'''  : sl ne peut pas rendre les cieux de la même manière.
 
[12:27] '''Ubit Umarov'''  : bahh
 
[12:28] '''Kayaker Magic'''  : Comment sont stockées les maps bump et specular [https://community.secondlife.com/knowledgebase/english/materials-normal-and-specular-mapping-r1352/](en)  maintenant ? Sont-elles intégrées dans l'Extra blob[https://fr.wikipedia.org/wiki/Binary_large_object] ?
 
[12:29] '''Ubit Umarov'''  : bon, opensim a aussi fait un matériau supplémentaire.
 
[12:29] '''Ubit Umarov'''  : mais ils sont stockés comme des extensions de textures chez sl.
 
[12:29] '''Kayaker Magic'''  : Est-ce que c'est une structure LL ? Ou le gars qui l'a écrit pour opensim ne sait pas comment faire les bases de données relationnelles [https://fr.wikipedia.org/wiki/Base_de_donn%C3%A9es_relationnelle]?
 
[12:30] '''Ubit Umarov'''  : les nouvelles seront sur l'Extra blob .
 
[12:30] '''Ubit Umarov''' : ''ir the uuids''
 
= Conclusion =
[12:31] '''Andrew Hellershanks'''  : Sur cette note, nous allons mettre fin à cette réunion.
 
[12:32] '''Andrew Hellershanks'''  : Nous nous réunirons à l'endroit habituel la semaine prochaine, sauf si nous avons un problème avec la région comme aujourd'hui. Merci à tous d'être venus. Nous vous 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

  • 🏗️