Aller au contenu

« Réunion du 07-12-2021 » 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_2021-12-07 = Introduction = <pre> [11:02] Ubit Umarov : bonjour [11:03] Selby.Evans @grid.kitely.com:8002 : Salut Jamie [11:04] Gavin.Hird @grid.xmir.org:8002 : Salut Jamie [11:04] Jamie.Jordan @grid.kitely.com:8002 : Salut tout le monde [11:04] Selby.Evans @grid.kitely.com:8002 : Salut Jamie [11:07] Ubit Umarov : Eh bien, Andrew semble un peu en retard. [11:08] Vincent.Sylvester @hg.zetaworlds.... »
 
Balise : Révocation manuelle
 
Ligne 1 : Ligne 1 :
Source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2021-12-07
= Modélisation du terrain  dans [https://www.blender.org/ Blender 3D] =
= Introduction =  
<br>
<pre>
<big><big>Tout au long du tutoriel, dans Blender 3D,  
[11:02] Ubit Umarov : bonjour
* 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.
[11:03] Selby.Evans @grid.kitely.com:8002 : Salut Jamie
* sauvegarder souvent le fichier blender.</big></big>
[11:04] Gavin.Hird @grid.xmir.org:8002 : Salut Jamie
<br>
[11:04] Jamie.Jordan @grid.kitely.com:8002 : Salut tout le monde
== Utiliser l'add-on A.N.T.Landscape ==
[11:04] Selby.Evans @grid.kitely.com:8002 : Salut Jamie
=== Add-on A.N.T.Landscape ===
[11:07] Ubit Umarov : Eh bien, Andrew semble un peu en retard.
* 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:08] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je vais lui jeter des cacahuètes
</pre>
= Sortie de la version 0.9.2.0 le 05-12-2021 =
[http://opensimulator.org/wiki/0.9.2.0_Release Notes de version 0.9.2.0]
<pre>
[11:08] Ubit Umarov : comme vous le savez certainement, dimanche dernier, la version 0.9.2.0 est sortie.
[11:08] Gavin.Hird @grid.xmir.org:8002 : /clap
[11:09] Gavin.Hird @grid.xmir.org:8002 : quand est-ce que la soirée de lancement aura lieu ?
[11:09] Vincent.Sylvester @hg.zetaworlds.com:8002 : Ubit Umarov est en train de le regarder lol
[11:09] Ubit Umarov : ouais lol
[11:09] Ubit Umarov : http://opensimulator.org/wiki/0.9.2.0_Release
[11:10] Ubit Umarov : la version de développement est maintenant 0.9.2.1 Dev
[11:10] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le Changelog est assez long comparé au précédent, si long que même après avoir parcouru l'historique git, je n'ai toujours pas trouvé tout ce qui vaut la peine d'être mentionné.
[11:10] Ubit Umarov : comme déjà sur ces régions
[11:10] Gavin.Hird @grid.xmir.org:8002 : aussi festif que le booster covide
[11:10] Ubit Umarov : oups
[11:10] Ubit Umarov : la version devel est maintenant 0.9.2.1 Yeti Dev.
[11:10] Ubit Umarov : :)
[11:10] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai éliminé quelques bogues qui traînaient depuis des années.
[11:11] Vincent.Sylvester @hg.zetaworlds.com:8002 : L'une des versions les plus productives, je dirais.
[11:11] Ubit Umarov : presque deux ans depuis la 0.9.1.1.
[11:11] Gavin.Hird @grid.xmir.org:8002 : Il y travaille jour et nuit (avec de l'aide bien sûr).
[11:12] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il y a aussi beaucoup d'anticipation dans les arrières plans alors que les choses évoluent vers de nouveaux standards, ce qui est toujours utile pour réduire les coûts et éviter que certaines choses ne fonctionnent plus.
[11:13] Vincent.Sylvester @hg.zetaworlds.com:8002 : YEngine devient la valeur par défaut et fournit une base de référence bien plus agréable pour les scripts.
[11:13] Ubit Umarov: :)
[11:13] Ubit Umarov : bien sûr, vous le savez tous déjà.
[11:13] Ubit Umarov : vous l'utilisez ou un dérivé.
[11:14] Ubit Umarov : comme zeta et kitely
[11:14] Ubit Umarov : ou xmir :)
[11:14] Gavin.Hird @grid.xmir.org:8002 : xmir est entièrement en Y
[11:14] Gavin.Hird @grid.xmir.org:8002 : pas de changement ici, seulement quelques omissions.
[11:14] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai inondé la boîte de messagerie d'Ubits de correctifs récemment qui devraient, je l'espère, apporter des changements utiles pour la prochaine version, une fois qu'il les aura lus.
[11:15] Ubit Umarov : oh je parlais de la version 0.9.2.0.
[11:15] Gavin.Hird @grid.xmir.org:8002 : 0.9.2.0 sans EEP
[11:15] Ubit Umarov : :)
[11:16] Gavin.Hird @grid.xmir.org:8002 : donc si quelqu'un veut une version dé-eep-isée...
[11:16] Ubit Umarov : zeta suit habituellement Dev.
[11:16] Ubit Umarov : kitely attend habituellement une version, mais cette fois-ci, la version 0.9.2.0 a été incorporée il y a quelque temps.
[11:16] Ubit Umarov : parce que c'est nécessaire pour les nouveaux viewers.
[11:17] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je compile les patchs directement sur le noyau pour ne pas avoir à fusionner chaque changement, ce qui me rendait fou.
[11:17] Ubit Umarov : merci à tous pour votre aide :)
[11:18] Vincent.Sylvester @hg.zetaworlds.com:8002 : D'après les changements apportés aux notes de publication, il semble que le plan consiste à publier plus régulièrement des versions maintenant ?
[11:18] Gavin.Hird @grid.xmir.org:8002 : hehe - ce n'était pas aussi le plan la dernière fois ?
[11:19] Ubit Umarov : J'avais prévu de sortir la version 0.9.2.0 l'année dernière.
[11:19] Ubit Umarov : donc... nous verrons bien :)
</pre>


= Version de développement 0.9.2.1  et première modification =  
=== Options de l'add-on ===
[http://opensimulator.org/wiki/0.9.2.1_Release Notes de version 0.9.2.1]


[http://opensimulator.org/wiki/0.9.2.1_Release/fr#Changements_et_corrections Paramètre AllowLoginFallbackToAnyRegion]
* 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>


<pre>
== Pourtour du terrain ==
[11:19] Ubit Umarov : comme pour la 0.9.1.1, la 0.9.2.1 sera bientôt disponible.
* En '''mode object''', délectionner le plan qui simule le niveau de l'eau et le masquer à l'aide de '''la touche H''' .
[11:20] Ubit Umarov : cela dépend du nombre de problèmes que les gens signaleront maintenant.
* 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.
[11:20] Ubit Umarov : j'ai déjà fait un changement à ce propos :)
* Extruder une fois ces sommets vers le bas avec '''la touche E puis Z''' (2 ou trois carreaux de la grille).
[11:21] Ubit Umarov : en 0.9.2.0, même les simples standalones doivent définir une région avec des flags par défaut.
* Égaliser la hauteur des sommets : '''S puis Z puis 0'''
[11:21] Ubit Umarov : cette information est seulement dans les notes de version.
* Divisier la hauteur des bords avec '''CTRL + R''' et faire 6 boucles avec la '''molette''' de la souris.
[11:21] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il y a toujours beaucoup de problèmes sur Mantis, mais beaucoup d'entre eux représentent des problèmes qu'il faut essayer de reproduire, donc ils sont là depuis des années, il faut vraiment plus de types de statut pour trier les choses comme étant périmées, nécessitant des tests, etc....
* En '''mode Object''' sélectionner le terrain et appliquer les modifications du mesh : CTRL + A  et sélectionner All Transforms.
[11:21] Ubit Umarov : donc en 0.9.2.1 ce ne sera plus nécessaire, en fonction d'une nouvelle option que j'ai ajoutée.
<gallery>
[11:23] Ubit Umarov : le truc c'est que si à la connexion aucune région "officielle" n'est trouvée pour envoyer l'utilisateur, le code envoie juste vers n'importe quelle région qu'il trouve en ligne.
Fichier:Terrain phase 001 H.jpg|Utiliser H
[11:23] Ubit Umarov : comme vous pouvez l'imaginer cela peut constituer une grande violation de la vie privée, etc...
Fichier:Terrain phase 001 periph.jpg|Périphérie
[11:23] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il peut également échouer si la région est mal configurée.
Fichier:Terrain phase 001 extruder.jpg | E + Z
[11:23] Ubit Umarov : donc la 0.9.2.0 ne permettra pas cela ...
Fichier:Terrain phase 001 egaliser.png | S puis Z puis 0
[11:24] Gavin.Hird @grid.xmir.org:8002 : ou un grand embarras selon...
Fichier:Terrain phase 001 decoupage.jpg | CTRL + R et molette
[11:24] Ubit Umarov : 0.9.2.1 le permet avec cette nouvelle option.
Fichier:Terrain phase 001 modif.jpg |Modifications appliquées
[11:24] Ubit Umarov : ouais
</gallery>
[11:24] Ubit Umarov : un vieux problème d'opensim
[11:24] Ubit Umarov : mais pour bloquer totalement l'option comme je l'ai fait en 0.9.2.0.
[11:25] Ubit Umarov : donc... j'ai ajouté l'option, avec la recommandation de ne la laisser à true que lorsque cela n'a pas d'importance.
[11:26] Ubit Umarov : donc c'est le premier code ajouté à la 0.9.2.1 :)
[11:26] Ubit Umarov : un jour et quelques bits après la sortie ;)
</pre>
= Cycle des versions dans OpenSimulator=
[http://opensimulator.org/wiki/Release_Cycle Cycle des versions pour OpenSimulator]


https://bitbucket.org/opensimulator/opensim/commits/
= Dessiner les coutures du terrain =
<pre>
== Coutures des bords ==
[11:26] Vincent.Sylvester @hg.zetaworlds.com:8002: post fixes partout
* 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.  
[11:26] Gavin.Hird @grid.xmir.org:8002 : Je pensais que l'incrémentation du numéro de version était la première étape.
* Marquer la couture depuis le menu '''Edge''avec '''Mark Seam'''.
[11:27] Ubit Umarov : bien j'arrête de poursuivre le nom postfixes sur les versions.
* Sélectionner les arêtes des 4 angles des bords du terrain avec le raccourci clavier '''SHIFT + MAJ''' vu précédemment.
[11:27] Ubit Umarov : un numéro mineur sur la version, signifie des petits changements ou des corrections de bugs.
* Marquer la couture depuis le menu '''Edge'''  avec '''Mark Seam'''.  
[11:27] Ubit Umarov : je n'ai jamais compris comment on pouvait avoir seulement une version xxx-postfixes.
<gallery>
[11:27] Ubit Umarov : un peu trop optimiste :p
Fichier:Terrain phase 002 selection.jpg|Sélection
[11:28] Ubit Umarov : comme vous l'avez remarqué, l'étape de la version candidate (release candidate) a aussi été arrêtée.
Fichier:Terrain phase 002 bord sup.jpg | Ligne supérieure
[11:28] Ubit Umarov : elles ne donnent pas retour supplémentaire.
Fichier:Terrain_phase_002_arete.jpg | Angle
[11:28] Ubit Umarov : donc c'est juste une perte de temps.
Fichier:Terrain phase 002 coutures.png | Coutures
[11:29] Gavin.Hird @grid.xmir.org:8002 : comment peut-on avoir une release candidate pour quelque chose qui est en beta ?
</gallery>
[11:29] Gavin.Hird @grid.xmir.org:8002: :-)
[11:29] Gavin.Hird @grid.xmir.org:8002 : ou est-ce alpha ?
[11:29] Ubit Umarov: http://opensimulator.org/wiki/Release_Cycle
[11:29] Ubit Umarov : eh bien, nous les avons eus.
[11:29] Ubit Umarov : même RC1, RC2... etc...
[11:30] Vincent.Sylvester @hg.zetaworlds.com:8002 : A ce stade, si vous voulez toujours l'appeler une alpha, alors je me demande ce qu'est Win11, car il fonctionne de manière beaucoup moins fiable.
[11:30] Ubit Umarov : les numéros de version simples et normaux suffisent.
[11:30] Gavin.Hird @grid.xmir.org:8002 : Win11 est un virus du secteur de démarrage
[11:30] Ubit Umarov : comme je l'ai dit, les chiffres mineurs signifient des changements mineurs etc...
[11:30] Ubit Umarov : comme la plupart des logiciels.
[11:31] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je considère comme une bêta quelque chose que vous pouvez exécuter et qui ne décidera pas aléatoirement d'exploser si vous le laissez seul.
[11:32] Ubit Umarov : comme vous pouvez le voir sur l'ancien cycle de publication, la version à publier a été même placé
[12] Ubit Umarov : sur une branche appelée... xxx.postfixes
[11:33] Ubit Umarov : comme brak 0.9.2.0 sur git a le code release.
[11:33] Ubit Umarov : branck
[11:33] Gavin.Hird @grid.xmir.org:8002 :J'appelle cela une bêta quand il ne prend pas encore conscience qu'il fonctionne dans une machine virtuelle, et vient avec toutes sortes de recommandations erronées basées sur le moment où le système fonctionne - comme le meilleur moment pour appliquer les mises à jour.
[11:33] Ubit Umarov : oui, je ne sais pas taper... branche 0.9.2.0 :)
[11:34] Ubit Umarov : et sur un point similaire du master, il y a le tag0.9.2.1Dev pour marquer le début du travail sur la 0.9.2.1.
[11:34] Ubit Umarov : Je pense que ceci est plus "propre", et vous ?
[11:35] Ubit Umarov: https://bitbucket.org/opensimulator/opensim/commits/
</pre>
= Mantis et attente de rapport de bogues : à vos tests ! =
[http://opensimulator.org/mantis/my_view_page.php Suivi des bogues : Mantis]


[http://opensimulator.org/wiki/Bugs Comment reporter un Bug? ]
== Dessiner 36 carrés sur le terrain ==
<pre>
*  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 +.  
[11:35] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'attends l'afflux de problèmes sur la mantis et d'autres personnes qui vont faire exploser le canal IRC. La sortie a été d'une certaines manière tellement calme que personne ne l'a remarquée jusquprésent.
* Masquer les bords avec la '''touche H'''.  
[11:36] Ubit Umarov : Beaucoup de gens ne regardent que la sortie d'une version.
* Passer en vue du dessus avec '''NUM 7''' (touche 7 du pavé numérique) et en sélection par point.
[11:36] Ubit Umarov : et il y a des gens avec d'autres cas d'utilisation, etc.
* 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).  
[11:36] Vincent.Sylvester @hg.zetaworlds.com:8002 : Mantis a besoin d'un peu d'amour je pense, un peu plus de balises d'état et la mise à jour des numéros de version.
* 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. )
[11:36] Ubit Umarov : il est donc normal de recevoir plus de rapports de bogues.
* 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.'''
[11:37] Vincent.Sylvester @hg.zetaworlds.com:8002 : Ce qui reste sur les problèmes non résolus a besoin d'une meilleure structure pour voir ce qui existe et pourquoi.
* 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.  
[11:37] Ubit Umarov : nous allons voir comment ça se passe et si nous avons besoin de sortir  une version même ce mois-ci lol.
* Continuez ainsi pour obtenir 6 subdivisions de 22 lignes chacune sur la largeur du terrain.  
[11:37] Ubit Umarov : si un problème majeur est trouvé (et que nous pouvons le résoudre).
* 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.
[11:38] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'aimerais juste une étiquette "needs testing"(besion de test)  pour signaler les problèmes à revoir, soit après avoir été corrigés, soit après avoir réalisé une tonne de travail.
<gallery>
[11:38] Ubit Umarov: sur mantis?
Fichier:Terrain phase 003 base.png |Sélection par face
[11:38] Vincent.Sylvester @hg.zetaworlds.com:8002: Oui
Fichier:Terrain_phase_003_selection.jpg | CTRL + NUM +
[11:38] Gavin.Hird @grid.xmir.org:8002 : les commentaires des utilisateurs sont nécessaires.
Fichier:Terrain phase 003 selection complete.jpg |Sélection
[11:38] Ubit Umarov : Eh bien, beaucoup de gens négligent tout cela.
Fichier:Terrain phase 003 bords masques.png |Masquer avec H
[11:39] Ubit Umarov : quelqu'un m'a dit qu'il ne voyait que les versions jusqu'à 0.9,1,1 à installer.
Fichier:Terrain phase 004 bord gauche.png |Bord gauche
[11:39] Ubit Umarov : j'ai ajouté 0.9.2.0 et 0.9.2.1Dev et je les vois.
Fichier:Terrain phase 004 22 lignes.png |23 lignes
[11:39] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je veux juste y apporter plus de structure pour qu'il soit plus facile de voir ce qui est encore un problème maintenant et pour que les gens qui cherchent à aider sachent clairement ce qu'ils peuvent faire pour aider.
Fichier:Terrain phase 004 ligne 22 marquee.jpg |Couture
[11:40] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il y a probablement quelques douzaines de problèmes enfouis dedans qui devraient être examinés, mais les trouver et les confirmer demande beaucoup de travail.
Fichier:Terrain phase 004 selection suite.jpg | Repérage suite
[11:40] Vincent.Sylvester @hg.zetaworlds.com:8002 : Comme tous les problèmes de freeswitch, reproduire cela est presque impossible maintenant que freeswitch devient de plus en plus difficile à configurer, semble-t-il.
Fichier:Terrain phase 004 divisions horizontales.jpg |Subdivisions horizontales
[11:40] Ubit Umarov : J'espère que tout va bien pour Andrew.
Fichier:Terrain phase 004 selection horizontale.jpg | Sélection horizontale
[11:40] Ubit Umarov : ou son chat.
Fichier:Terrain phase 004 36 carres.jpg | 36 carrés.
[11:41] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il s'est probablement endormi quelque part
</gallery>
[11:41] Vincent.Sylvester @hg.zetaworlds.com:8002 : l'hiver vous fait ça.
[11:43] Vincent.Sylvester @hg.zetaworlds.com:8002 : Avec le nettoyage que j'ai fait, j'ai enterré quelques problèmes importants qui ont été soumis, je dois les retrouver et les remettre en haut de la liste je pense.
[11:44] Gavin.Hird @grid.xmir.org:8002 : comme ?
</pre>
= Problème de cache d'objet =
[http://opensimulator.org/mantis/view.php?id=8934 issue 8934]


[https://www.youtube.com/watch?v=BvbwM_7ZGaM Vidéo montrant le bogue]
= 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>


[https://www.youtube.com/watch?v=pYmTDf76jcw Autre vidéo sur le bogue]
== UVMAP du plateau ==
<pre>
* Afficher le plateau du terrain avec la combinaison de touches '''ALT + H'''.
[11:44] Vincent.Sylvester @hg.zetaworlds.com:8002 : Surtout ce comportement bizarre du cache d'objet  qui devient ennuyeux quand il se produit.
* 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é.  
[11:44] Vincent.Sylvester @hg.zetaworlds.com:8002 :Je dois revenir aux tests, j'ai désactivé ce cap pour la région où cela se passait le plus mal pour voir si cela donne de meilleurs résultats.
* Masquer les bords avec la '''touche H'''.  
[11:45] Vincent.Sylvester @hg.zetaworlds.com:8002 : Désactiver le côté viewer semble aider, mais ce n'est pas idéal.
* '''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.
[11:45] Gavin.Hird @grid.xmir.org:8002 : Je ne vois jamais de mise en cache bizarre des objets
* 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.
[11:45] Gavin.Hird @grid.xmir.org:8002 :es-tu sûr que ce n'est pas un problème de viewer ?
* 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.
[11:45] Ubit Umarov : certaines options du côté de la viewer sont brisées.
* 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'''.
[11:45] Ubit Umarov : jamais utilisé chez SL, donc ignoré.
* 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.
[11:45] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je pense que c'est le viewer qui ne comprend pas les données qu'il reçoit.
* 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.
[11:46] Gavin.Hird @grid.xmir.org:8002 : ok, est-ce que ça enregistre quelque chose ?
<gallery>
[11:46] Ubit Umarov : voici Andrew le dormeur.
Fichier:Terrain phase 005 selection plateau.jpg | ALT + H
[11:46] Ubit Umarov : :)
Fichier:Terrain phase 006 selection par zone.png | Sélection par zone avec L
[11:46] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai un journal de débogage que je dois mettre et voir ce qu'il fait, mais je soupçonne qu'il dira que tout va bien tel quel.
Fichier:Terrain phase 005 afficher bords.jpg| Bords sélectionnés
[11:46] Gavin.Hird @grid.xmir.org:8002 : Bonjour Andrew
Fichier:Terrain phase 006 plateau.jpg | Bords masqués
[11:47] Andrew Hellershanks : Bonjour, tout le monde.
Fichier:Terrain phase 006 36 carres num.jpg | Numérotation
[11:47] Vincent.Sylvester @hg.zetaworlds.com:8002 : Soit l'appel est malformé en chemin vers le viewer, soit le viewer ne le comprend pas.
Fichier:Terrain phase 006 selection de zone.jpg |Sélection par zone avec  L
[11:47] Andrew Hellershanks : J'étais en train de travailler sur mon ordinateur portable et j'ai oublié quel jour on était.
Fichier:Terrain phase 006 uvmap carre.jpg | UVMap d'une zone
[11:47] Gavin.Hird @grid.xmir.org:8002 : mais que se passe-t-il ?
</gallery>
[11:47] Ubit Umarov: oups
[11:47] Ubit Umarov : j'ai oublié la réunion :)
[11:48] Vincent.Sylvester @hg.zetaworlds.com:8002 : En fait, ce qui se passe, c'est que les anciennes prims qui sont en cache dans le viewer peuvent être éditées sans problème du point de vue de la région.
[11:48] Gavin.Hird @grid.xmir.org:8002 : maintenant nous devons recommencer à zéro.
[11:48] Ubit Umarov : ok andrew peut faire un résumé de ce que nous avons dit :)
[11:48] Vincent.Sylvester @hg.zetaworlds.com:8002 : Mais quand on force le viewer à redessiner la prim, il utilise la version en cache qui montre toujours l'état précédent de la prim.
[11:48] Gavin.Hird @grid.xmir.org:8002 : forcer le viewer à redessiner le prim ?
[11:49] Vincent.Sylvester @hg.zetaworlds.com:8002 : Zoomer très loin et revenir en arrière
[11:49] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai posté une vidéo sur la façon de le reproduire sur Mantis qui montre ce qui se passe.
[11:49] Gavin.Hird @grid.xmir.org:8002 : à quelle fréquence faites-vous le flush des changements vers le stockage persistant ?
[11:50] Vincent.Sylvester @hg.zetaworlds.com:8002 : Sur la région, tout va bien, tu édites, ce changement est pris en compte lorsqu'on supprime le cache du viewer, tout semble correct, c'est certainement le cache du viewer qui est en cause.
[11:50] Andrew Hellershanks: merci, Ubit.
[11:50] Vincent.Sylvester @hg.zetaworlds.com:8002 : Ce qui est étrange, c'est qu'il semble y avoir du code pour dire au viewer de purger l'objet du cache.
[11:50] Vincent.Sylvester @hg.zetaworlds.com:8002 : Sans parler du fait que le viewer lui-même modifie la prim, il devrait donc savoir qu'il faut la purger du cache et récupérer une nouvelle copie à la place.
[11:50] Gavin.Hird @grid.xmir.org:8002 : pourquoi est-ce bizarre ?
[11:51] Gavin.Hird @grid.xmir.org:8002 : le cache peut être purgé ou invalidé à tout moment.
[11:52] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est probablement là pour s'assurer que les choses sont purgées, mais en ce qui concerne le test de ce problème, il est étrange que le viewer ne le fasse pas lui-même, sachant quelle prim est éditée et sachant qu'il ne devrait pas utiliser la version du cache local par la suite, mais il le fait quand même.
[11:52] Gavin.Hird @grid.xmir.org:8002 : si le changement n'a pas été écrit dans le stockage persistant et que vous faites quelque chose qui force le viewer à invalider le cache et à aller chercher dans le stockage persistant, tu perds les modifications.
[11:52] Gavin.Hird @grid.xmir.org:8002 : tu dois donc configurer ta région pour qu'elle écrive plus souvent les changements dans la base de données.
[11:53] Vincent.Sylvester @hg.zetaworlds.com:8002 : L'édition sur la région fonctionne correctement, ce n'est pas le problème, tu peux le vérifier en utilisant la physique.
[11:53] Gavin.Hird @grid.xmir.org:8002 : alors où est-ce que ça ne marche pas ?
[11:53] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai réduit l'échelle d'une prim pour révéler le terrain en dessous et quand j'ai fait redessiner la prim par le Viewer en montrant la taille originale, la partie que j'ai réduite est devenue fantôme.
[11:55] Vincent.Sylvester @hg.zetaworlds.com:8002: https://www.youtube.com/watch?v=pYmTDf76jcw
[11:56] Vincent.Sylvester @hg.zetaworlds.com:8002 : Ubit m'a dit de laisser le cache objet activé pour des raisons de performance, bien qu'en dehors des régions particulièrement lentes, je ne vois pas vraiment de différence, peut-être que je suis plus patient que d'autres quand il s'agit d'attendre qu'une région se charge.
[11:57] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est juste que ça me rend fou quand on fait des changements sur quelque chose, qu'on se retourne pour les annuler et qu'on doit vider le cache et se reconnecter à chaque fois.
[11:57] Ubit Umarov : je vois que la mise en cache fonctionne bien la plupart du temps.
[11:57] Gavin.Hird @grid.xmir.org:8002 : Je ne pense pas que cela ait été annulé dans ton exemple, parce que lorsque tu t'es promené après le zoom, tu es arrivé à l'endroit où tu t'es approché de la prim redimensionnée.
[11:58] Gavin.Hird @grid.xmir.org:8002 : il s'agit d'un problème de transcription dans la viewer.
[11:58] Vincent.Sylvester @hg.zetaworlds.com:8002 : Oui, comme je l'ai dit, sur la région elle-même, le montage colle parfaitement, mais le viewer ne suit pas parce qu'il prend la version en cache.
[11:58] Ubit Umarov : ouais bien sûr, ce clip est irritant
[11:58] Gavin.Hird @grid.xmir.org:8002 : mais je ne vois pas l'intérêt de ces zooms ?
[11:59] Vincent.Sylvester @hg.zetaworlds.com:8002 : forcer la mise à jour
[11:59] Gavin.Hird @grid.xmir.org:8002 : dans quel but ?
[11:59] Vincent.Sylvester @hg.zetaworlds.com:8002 : Donc, ce cela déclenche la récupération du cache
[11:59] Ubit Umarov : et ce n'est même pas le cache du viewer.
[11:59] Gavin.Hird @grid.xmir.org:8002: pourquoi ?
[11:59] Ubit Umarov: c'est lié à la mémoire
[11:59] Gavin.Hird @grid.xmir.org:8002 : exactement Ubit
[12:00] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est le souci, la désactivation du cache des objets du viewer directement dans le viewer supprime entièrement ce comportement.
[12:00] Gavin.Hird @grid.xmir.org:8002 : pourquoi veux-tu déclencher la récupération du cache ?
[12:00] Vincent.Sylvester @hg.zetaworlds.com:8002 : Après avoir fait cela, plus aucune prim n'avait se comporte.
[12:00] Gavin.Hird @grid.xmir.org:8002 : as-tu testé cela uniquement dans FS ?
[12:01] Gavin.Hird @grid.xmir.org:8002 : ou d'autres viewers se comportent-ils de la même façon ?
[12:01] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je n'ai pas encore testé avec d'autres viewers.
[12:01] Gavin.Hird @grid.xmir.org:8002 : ok, mais FS a une implémentation de cache très particulière.
[12:01] Gavin.Hird @grid.xmir.org:8002 : il pourrait donc s'agir d'un problème à ce niveau.
[12:02] Gavin.Hird @grid.xmir.org:8002 : je ne comprends toujours pas la nécessité de déclencher une récupération du cache.
[12:02] Vincent.Sylvester @hg.zetaworlds.com:8002 : Parce que lorsque vous travaillez sur quelque chose, il le fait aléatoirement pendant que vous ne regardez pas et ensuite vous vous retournez pour voir tous les changements que vous avez fait il y a une demi-heure apparemment annulés alors qu'ils ne le sont pas.
[12:03] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai douté de ma santé mentale les premières fois que j'ai vu ça.
[12:03] Gavin.Hird @grid.xmir.org:8002 : jamais, jamais expérimenté cela.
[12:03] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le ticket mantis existe simplement pour suivre ce problème du côté d'OpenSim et pour obtenir la vérification qu'OpenSim envoie bien les informations appropriées.
[12:03] Gavin.Hird @grid.xmir.org:8002 : quelle est la taille de la région sur laquelle tu travailles ?
[12:03] Vincent.Sylvester @hg.zetaworlds.com:8002 : var ou normal n'a pas d'importance, cela arrive sur les deux.
[12:04] Gavin.Hird @grid.xmir.org:8002: ok
[12:04] Gavin.Hird @grid.xmir.org:8002 : as-tu modifié les paramètres d'occlusion dans votre visionneuse ?
[12:04] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'en ai parlé aux développeurs de FS, mais je n'ai pas eu de réponse, je pense que je vais ouvrir un ticket de leur côté à ce sujet pour faire avancer les choses.
[12:05] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai désactivé l'occlusion ambiante
[12:05] Gavin.Hird @grid.xmir.org:8002 : ce n'est pas ce que je voulais dire.
[12:06] Gavin.Hird @grid.xmir.org:8002 : les objets hors caméra peuvent être occultés pour accélérer le rendu.
[12:06] Gavin.Hird @grid.xmir.org:8002 : typiquement les objets derrière vous
[12:06] Gavin.Hird @grid.xmir.org:8002 : mais aussi des objets cachés par d'autres personnes.
[12:07] Vincent.Sylvester @hg.zetaworlds.com:8002 : En dehors de la désactivation du cache des objets, je n'ai pas encore modifié les paramètres de débogage du viewer.
[12:07] Gavin.Hird @grid.xmir.org:8002: ok
[12:08] Gavin.Hird @grid.xmir.org:8002 : combien de mémoire GPU as-tu alloué pour le viewer ?
[12:08] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il y a un paramètre pour cela ?
[12:08] Gavin.Hird @grid.xmir.org:8002 : il y a de la mémoire pour les textures.
[12:09] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est réglé sur 512 mo
[12:09] Gavin.Hird @grid.xmir.org:8002: ok
[12:09] Gavin.Hird @grid.xmir.org:8002 : combien de mémoire GPU as-tu ?
[12:09] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je ne suis pas sûr que cela ait un rapport avec le problème, mais je pense que cela vaut la peine d'essayer.
[12:10] Vincent.Sylvester @hg.zetaworlds.com:8002 : Une Nvidia 1080 normale, donc pas tant que ça, et elle doit piloter 4 écrans, donc il lui reste probablement 2 à 4 Go pour jouer.
[12:11] Vincent.Sylvester @hg.zetaworlds.com:8002 : Comme je l'ai dit, j'ai simplement ouvert la mantis pour que nous puissions exclure OpenSim de la cause de ce problème s'il envoie effectivement une notification appropriée pour invalider un objet qui a été modifié.
[12:11] Gavin.Hird @grid.xmir.org:8002 : Je pense avoir entendu LL dire que le code du viewer n'est pas particulièrement heureux avec une mémoire GPU au-delà de 4 Go, mais je peux me tromper.
[12:12] Ubit Umarov : opensim a envoyé la bonne information, vous avez vu le changement de taille de la Prim.
[12:12] Ubit Umarov : et le zoom est de 100% du côté de l'utilisateur.
[12:12] Gavin.Hird @grid.xmir.org:8002 : oui, c'est bien ça.
[12:12] Vincent.Sylvester @hg.zetaworlds.com:8002 : Oui, en parcourant le code de support du cache objet, je n'ai rien trouvé qui puisse être une cause potentielle de ce problème s'il ne fonctionne pas correctement.
[12:13] Ubit Umarov : alors... vodoo
[12:13] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je vais prendre note de demander à FS via un ticket car je n'ai pas encore reçu de réponse à mon email.
[12:13] Ubit Umarov : je suppose qu'il n'est pas facile d'essayer de repo des circonstances similaires chez sl.
[12:13] Gavin.Hird @grid.xmir.org:8002 : Je pense que cela peut être dû au fait que le viewer n'invalide pas l'élément mis en cache lorsqu'il est persistant dans la région,
[12:14] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est ce que je pense aussi.
[12:14] Ubit Umarov : si tu te reconnectes, la prim est tel qu'elle a été éditée.
[12:14] Ubit Umarov : non ?
[12:14] Vincent.Sylvester @hg.zetaworlds.com:8002: Pas toujours, mais c'est le plus souvent le cas, si je supprime le cache, c'est toujours le cas car, il le récupère depuis la région.
[12:15] Gavin.Hird @grid.xmir.org:8002 : mais il y a du cache dans le viewer, mais aussi dans flotsam, non ?
[12:15] Ubit Umarov : donc la région a juste fait son truc...
[12:15] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai fait quelques expériences en laissant le cache et en désactivant simplement le système de mise en cache, les résultats sont mitigés et je ne sais pas non plus ce qui cause l'invalidation du cache.
[12:15] Ubit Umarov : rien à voir avec flotsam
[12:15] Ubit Umarov : les prims ne sont même pas dessus
[12:15] Gavin.Hird @grid.xmir.org:8002: ok
[12:16] Vincent.Sylvester @hg.zetaworlds.com:8002 : Ce problème existe depuis des années maintenant, j'ai vu cela la première fois en 2017 et depuis, tout le temps.
[12:16] Ubit Umarov : ( à moins que le rez depuis l'inventaire soit possible )
[12:16] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il doit s'agir d'une petite chose, juste une ligne manquante quelque part dans le code du viewer, mais les chances que je trouve cela dans la décennie sont minces.
[12:17] Gavin.Hird @grid.xmir.org:8002 : mais dans tous les cas, cela devrait être invalidé dans le cache du viewer dès qu'il y a persistance dans la région.
[12:17] Ubit Umarov : je me souviens qu'il y avait une option de cache du viewer qui affichait les prims. Si on s'éloignait et revenait... tout disparaissait jusqu'au relog :)
[12:18] Ubit Umarov : j'ai montré à un dev fs... la réponse était "pourquoi avez-vous mis cette option... elle n'est pas utilisée...".
[12:18] Ubit Umarov : fait :)
</pre>


= Problème de chargement de texture =  
= Créer les matériaux =
<pre>
== Matériau des bords ==
[12:18] Andrew Hellershanks : Comme vous parlez du comportement des viewer et de la mise en cache, je vais ajouter un commentaire/une question au cas où cela pourrait être lié.
* En '''mode Edit''', afficher et sélectionner les bords du terrain comme vu précédemment.
[12:19] Andrew Hellershanks : J'ai remarqué l'autre jour qu'après m'être connecté à une région, certaines textures étaient floues (parce qu'elles n'étaient pas encore complètement chargées ?). J'ai forcé un rafraîchissement de texture et elles se sont entièrement chargées et avaient l'air bien. Quelques instants plus tard, les textures sont redevenues floues, puis se sont chargées complètement et ont eu l'air correct.
* Ouvrir le '''panneau des propriétés des matériaux''' (petite icône orange) dans l'éditeur des propriétés.
[12:20] Andrew Hellershanks : C'est un peu bizarre qu'une texture complète se "décharge" et doive être chargée une deuxième fois.
* 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.  
[12:20] Gavin.Hird @grid.xmir.org:8002 : la texture est détruite.
* Il est possible de modifier la couleur dans '''Base Color'''.  
[12:20] Gavin.Hird @grid.xmir.org:8002 : trop peu de mémoire de texture probablement.
* 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'''.
[12:21] Vincent.Sylvester @hg.zetaworlds.com:8002 : Dayturn me faisait souvent ça, mais cela s'est arrêté il y a quelques versions.
<gallery>
[12:21] Andrew Hellershanks : Je n'avais pas bougé. C'était comme si une texture donnée n'était pas complètement chargée, puis chargée et affichée correctement, puis revenait à un état partiellement chargé, puis se stabilisait à un état complètement chargé.
Fichier:Terrain phase 005 afficher bords.jpg| Bords sélectionnés
[12:22] Andrew Hellershanks : La seule chose que je faisais pendant ce temps était d'utiliser Tex Refresh dans le viewer pour l'aider à charger une texture partiellement chargée.
Fichier:Terrain phase 007 proprietes materiaux.jpg|Matériaux
[12:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le viewer charge d'abord les objets proches, puis tout ce qui est plus éloigné, de sorte qu'elle peut éventuellement charger une prim de la région suivante, ce qui entraîne le remplissage de la mémoire de texture.
Fichier:Terrain phase 007 materiau bords.jpg | Configuration
[12:22] Gavin.Hird @grid.xmir.org:8002 : Il y a eu beaucoup de corrections sur l'allocation de la mémoire de texture, donc cela a permis de s'en débarrasser.
Fichier:Terrain phase 007 materiau vert.jpg | Ensemble du mesh
[12:23] Andrew Hellershanks : Vincent, ok. On dirait que c'est le côté viewer. J'utilise la dernière version de FS.
</gallery>
[12:23] Gavin.Hird @grid.xmir.org:8002 : de plus si vous avez des textures surdimensionnées, c'est à dire plus grandes que 1024x1024, ça devient fou.
 
[12:23] Ubit Umarov : regardez ce qui se passe.
== Matériaux des carrés ==
[12:23] Ubit Umarov : si une prim est vieille pour être cachable...
=== Créer les matériaux ===
[12:23] Andrew Hellershanks : Ce n'était pas ma région ou mes objets donc je n'ai aucune idée de la taille de la ou des textures.
* 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"'''.
[12:24] Ubit Umarov : ( simple boîte )
* 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'''.
[12:24] Ubit Umarov : on se connecte... on redimensionne... on dézoome complètement... le changement de taille disparaît...
* 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.
[12:24] Gavin.Hird @grid.xmir.org:8002 : les anciens objets peuvent avoir des textures 2048x2048 appliquées à eux.
* 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.  
[12:24] Ubit Umarov : fs montre la prim telle qu'elle était à la connexion, même dans l'onglet d'édition.
* 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.  
[12:25] Ubit Umarov : on se reconnecte et on va chercher la prim modifiée.
* 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.
[12:25] Ubit Umarov : donc... fs fait un peu n'importe quoi
* Générer 36 matériaux à partir matériau de base qui vient d'être créé. Pour chaque matériau :
[12:25] Ubit Umarov : Je ne peux pas tester su sl
# Dans l'éditeur de propriété des matériaux appuyer sur le '''bouton +'''.
[12:25] Gavin.Hird @grid.xmir.org:8002 : c'est toujours possible de le faire, mais il faut que la texture de cette taille soit téléchargée directement dans la base de données.
# À gauche du bouton New, déplier la liste des matériaux disponibles et sélectionner "Terrain_carre_modele".  
[12:25] Ubit Umarov : parce qu'on ne peut pas recharger une boîte pendant 30 minutes ou plus.
# 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'''.
[12:25] Ubit Umarov : ou alors...
 
[12:26] Ubit Umarov chuchote : tester un rez de cube sur sl et le laisser là pendant un certain temps ( 30min) ?
<gallery>
[12:26] Ubit Umarov : alors, il est marqué comme cachable.
Fichier:Terrain phase 008 ajouter materiau.jpg | Nouveau matériau
[12:27] Ubit Umarov : puis connectez-vous et répétez le changement de taille : zoom arrière, zoom avant...
Fichier:Terrain phase 008 materiau base.jpg | Matériau de base
</pre>
Fichier:Terrain phase 008 système de noeuds.jpg | Système de nœuds
= Conclusion=
Fichier:Terrain phase 008 Menu Add.png | Menu Add
[https://conference.opensimulator.org/ Programme des événements OSCC 2021]
Fichier:Terain phase 008 Image texture.jpg | Nœud Image Texture
<pre>
Fichier:Tarrain phase 008 connexion Image texture.jpg |Connexion
[12:04] Andrew Hellershanks : Permettez-moi de faire un petit rappel. La conférence de la communauté Open Simulator a lieu ce week-end. Consultez le site Web à l'adresse https://conference.opensimulator.org/ pour connaître le programme des événements.
Fichier:Terrain phase 008 creer Image.jpg | Créer une image
[12:29] Andrew Hellershanks : Nous sommes à environ une heure et demie. Est-ce que quelqu'un a d'autres questions à poser avant la fin de cette réunion ?
Fichier:Terrain phase 008 materiau carré.jpg | Panneau des matériaux
[12:30] Andrew Hellershanks : Je ne vois personne en train de taper, je vais donc considérer que c'est tout pour aujourd'hui.
Fichier:Terrain phase 008 meme materiau.jpg | Matériau copié
[12:30] Selby.Evans @grid.kitely.com:8002: https://www.reddit.com/r/metaverse/
Fichier:Terrain phase 008 materiaux.jpg | Plusieurs matériaux
[12:30] Andrew Hellershanks : J'espère voir certains d'entre vous à l'événement OSCC ce week-end.
</gallery>
[12:30] Jamie.Jordan @grid.kitely.com:8002 : grande réunion.
=== Assigner les matériaux ===
[12:31] Andrew Hellershanks : Profitez des événements de l'OSCC. Nous pourrons en parler mardi prochain.
* 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'''.
[12:31] Andrew Hellershanks : Merci à tous d'être venus. Nous vous reverrons la semaine prochaine.
* 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'''.
</pre>
* 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>
 
= 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 -->
 
=== 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>
 
== 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>
 
=== 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>
 
=== 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>
 
= 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>
 
== 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 =
* 🏗️

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

  • 🏗️