Aller au contenu

« Réunion du 25-01-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-01-25 =Introduction= <pre> [11:02] Selby.Evans @grid.kitely.com:8002 : Salut Michael [11:02] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il est là [11:02] Michael.Christopher @cc.opensimulator.org:8002 : comment allez-vous ? [11:02] Selby.Evans @grid.kitely.com:8002 : Salut Andrew [11:02] Gavin.Hird @grid.xmir.org:8002 : Bonjour Andrew [11:02] Andrew Hellershanks : Bonjour à tous. [11:02... »
 
Balise : Révocation manuelle
 
Ligne 1 : Ligne 1 :
Source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2022-01-25 
= 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] Selby.Evans @grid.kitely.com:8002 : Salut Michael
* 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:02] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il est là
* sauvegarder souvent le fichier blender.</big></big>
[11:02] Michael.Christopher @cc.opensimulator.org:8002 : comment allez-vous ?
<br>
[11:02] Selby.Evans @grid.kitely.com:8002 : Salut Andrew
== Utiliser l'add-on A.N.T.Landscape ==
[11:02] Gavin.Hird @grid.xmir.org:8002 : Bonjour Andrew
=== Add-on A.N.T.Landscape ===
[11:02] Andrew Hellershanks : Bonjour à tous.
* Suivre [[Terrain_en_mesh_et_height_map#Utiliser_l'add-on_A.N.T.Landscape_dans_Blender3D |le tutoriel '''Utiliser l'add-on A.N.T.Landscape dans Blender3D''']].
[11:02] Andrew Hellershanks : Michael, je suis occupé :)
[11:03] Michael.Christopher @cc.opensimulator.org:8002 : J'aimerais être moins occupé certains jours lol
[11:04] Andrew Hellershanks : Je vois ce que tu veux dire, Michael.
</pre>
= Viewers : Cache des objets  (suite)=
* [[Chat_log_from_the_meeting_on_2022-01-18/fr#Bogue_du_cache_des_objets|Bogue_du_cache_des_objets]]
* [https://fr.wikipedia.org/wiki/VMware VMware] : par extension c'est le nom d'une gamme de logiciels de virtualisation.  
* [https://doc.ubuntu-fr.org/virtualisation Virtualisation]
* [https://fr.wikipedia.org/wiki/Xeon Xeon : microprocesseur fabriqué par Intel]
{|
|https://imgs.xkcd.com/comics/compiling.png 
||<small>L'excuse n°1 des programmeurs pour se relâcher légitimement :
"Mon code est en train de se compiler"


- Hé, remettez-vous au travail !
=== Options de l'add-on ===


- Je compile !
* 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>


- Oh. Continuez.</small>
== 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''' .
<pre>
* 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:05] Vincent.Sylvester @hg.zetaworlds.com:8002 : Gavin comment se passe le truc du cache objet maintenant, les viewers  sont bien corrigés ?
* Extruder une fois ces sommets vers le bas avec '''la touche E puis Z''' (2 ou trois carreaux de la grille).
[11:06] Gavin.Hird @grid.xmir.org:8002 : La version macOS est corrigée, mais la dernière mise à jour de Windows 10 a détruit mon environnement de compilation.
* Égaliser la hauteur des sommets : '''S puis Z puis 0'''
[11:06] Gavin.Hird @grid.xmir.org:8002 : donc je ne suis même pas sûr que je puisse raisonnablement compiler une version Windows.
* Divisier la hauteur des bords avec '''CTRL + R''' et faire 6 boucles avec la '''molette''' de la souris.
[11:06] Gavin.Hird @grid.xmir.org:8002 : c'est-à-dire que je peux la compiler mais pas le tester.
* En '''mode Object''' sélectionner le terrain et appliquer les modifications du mesh : CTRL + A  et sélectionner All Transforms.
[11:07] Michael.Christopher @cc.opensimulator.org:8002 : ... il faut aimer Windows.
<gallery>
[11:07] Vincent.Sylvester @hg.zetaworlds.com:8002 : Comme c'est la tradition avec Windows, je te souhaite bonne chance pour cela.
Fichier:Terrain phase 001 H.jpg|Utiliser H
[11:08] Gavin.Hird @grid.xmir.org:8002 : c'est une combinaison malheureuse, des évolution chez Windows, des pilotes vmware en retard à cause du passage à  Apple Silicon.
Fichier:Terrain phase 001 periph.jpg|Périphérie
[11:08] Vincent.Sylvester @hg.zetaworlds.com:8002 : Si tout va bien, je peux faire un test cette semaine, je touche du bois pour que rien ne m'en empêche.
Fichier:Terrain phase 001 extruder.jpg | E + Z
[11:09] Gavin.Hird @grid.xmir.org:8002 : Je travaillais déjà avec une version développeur de VMware qu'ils n'ont pas publié car ils ont cassé OpenGL plus tôt cet automne.
Fichier:Terrain phase 001 egaliser.png | S puis Z puis 0
[11:09] Michael.Christopher @cc.opensimulator.org:8002 : gavin - virtualiser ton environnement de test Windows ?
Fichier:Terrain phase 001 decoupage.jpg | CTRL + R et molette
[11:09] Gavin.Hird @grid.xmir.org:8002 : Je ne pense pas que je vais investir les 3000 € nécessaires pour obtenir un environnement Windows raisonnable pour compiler et tester le viewer.
Fichier:Terrain phase 001 modif.jpg |Modifications appliquées
[11:10] Gavin.Hird @grid.xmir.org:8002 : il est compilé dans vmware sur un Mac Pro.
</gallery>
[11:10] Michael.Christopher @cc.opensimulator.org:8002 : sympa.
[11:10] Gavin.Hird @grid.xmir.org:8002 : Je ne possède pas de machines natives Windows
[11:10] Ubit Umarov : ohh je pense qu'on peut le faire avec 300$.
[11:11] Michael.Christopher @cc.opensimulator.org:8002: ok
[11:11] Gavin.Hird @grid.xmir.org:8002 : oui, essaie d'obtenir un GPU pour 300$.
[11:11] Ubit Umarov : avec un petit atome pour cpu... un petit gpu...
[11:11] Ubit Umarov: oh un cpu interne
[11:11] Michael.Christopher @cc.opensimulator.org:8002: lol
[11:12] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai une machine de rechange que tu peux utiliser avec assez de puissance, il faut juste arriver à installer Windows dessus.
[11:12] Ubit Umarov : les compilations prendront juste un peu plus de temps et les viewers feront des fpm et non des fps.
[11:12] Gavin.Hird @grid.xmir.org:8002: lol Ubit
[11:12] Ubit Umarov : ( frames par minute )
[11:12] Michael.Christopher @cc.opensimulator.org:8002 : rofl @ubit (roulé par terre)
[11:12] Gavin.Hird @grid.xmir.org:8002 : Je sais.
[11:12] Gavin.Hird @grid.xmir.org:8002 : la machine de compilation actuelle a un Xeon 12 cœurs et la recompilation d'un visualiseur prend 1 heure et demie.
[11:13] Ubit Umarov : 11 cœurs qui jouent au poker, un seul fonctionne.
[11:13] Andrew Hellershanks: ouch
[11:13] Michael.Christopher @cc.opensimulator.org:8002 : hey, j'ai un système de l'ère windows xp dans l'autre pièce qui peut toujours faire tourner Firestorm ou opensimulator...
[11:13] Vincent.Sylvester @hg.zetaworlds.com:8002 : Debug ou release config ?
[11:13] Gavin.Hird @grid.xmir.org:8002 : 12 cœurs 24 threads
[11:13] Gavin.Hird @grid.xmir.org:8002 : release
[11:13] Vincent.Sylvester @hg.zetaworlds.com:8002 : Mince alors
[11:14] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je ne peux pas dire que je suis surpris, étant donné le désordre dans lequel se trouvent les Viewers à bien des égards.
[11:14] Gavin.Hird @grid.xmir.org:8002 : juste le tri des icludes...
[11:14] Gavin.Hird @grid.xmir.org:8002 : si vous ouvrez le projet de compilation dans VS, il trie plus de 230000 includes.
[11:14] Ubit Umarov : les includes sont juste une chose énorme dans le c++ actuel.
[11:15] Vincent.Sylvester @hg.zetaworlds.com:8002 : Obtenir la bonne version de python puis la configuration correcte de l'environnement m'a pris deux heures, c'est fou...
[11:15] Ubit Umarov : des tonnes et des tonnes et des tonnes de fichiers à ouvrir
[11:15] Gavin.Hird @grid.xmir.org:8002 : c'est vrai.
[11:15] Gavin.Hird @grid.xmir.org:8002 : c'est très fragile tout ça.
[11:15] Kayaker Magic : J'aime plaisanter en disant que le makefile de beaucoup de ces projets contient plus de code que le code source réel des projets.
[11:16] Vincent.Sylvester @hg.zetaworlds.com:8002 : Cela tue vraiment le développement, pas d'itérations rapides à ce niveau de vitesse de compilation.
[11:16] Michael.Christopher @cc.opensimulator.org:8002 : mais est-ce une blague de Kayaker ?
[11:16] Gavin.Hird @grid.xmir.org:8002 : si vous avez de la chance, un petit changement prendra 7 minutes à compiler.
[11:16] Kayaker Magic : Le fait que vous ne riez pas rend la chose encore plus drôle !
[11:17] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est un peu fou que ce niveau de désordre soit accepté et que rien ne semble être fait en termes de remaniement de ces choses.
[11:17] Gavin.Hird @grid.xmir.org:8002 : Je n'ai pas encore décidé de ce que je vais en faire.
[11:17] Gavin.Hird @grid.xmir.org:8002 : 1,5 million de lignes de code.
[11:18] Gavin.Hird @grid.xmir.org:8002 : en excluant les bibliothèques.
[11:18] Vincent.Sylvester @hg.zetaworlds.com:8002 : Pas étonnant alors qu'il ne puisse pas gérer 60 fps la plupart du temps, même avec le matériel le plus récent, mais nous le savions déjà.
[11:19] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je me demande surtout s'il n'y aurait pas une meilleure façon de compiler et de tester, je sponsoriserais le matériel, mais l'expédition d'ordinateurs à travers l'Europe en ces temps, je me demande s'il arrivera à destination.
[11:19] Ubit Umarov : plusieurs années, plusieurs développeurs... bien sûr, c'est complexe.
[11:19] Ubit Umarov: complexe
[11:20] Gavin.Hird @grid.xmir.org:8002 : Je n'ai pas encore pris ma décision
[11:20] Gavin.Hird @grid.xmir.org:8002 : LL semble aussi être un peu désespéré en essayant de faire fonctionner le viewer macOS dans vine.
[11:21] Gavin.Hird @grid.xmir.org:8002 : ou plutôt la visionneuse Windows dans vine sous macOS.
[11:21] Ubit Umarov : pas assez de vin (wine) ?
[11:21] Ubit Umarov: cofff coff ;)
[11:21] Vincent.Sylvester @hg.zetaworlds.com:8002 : Ces blagues s'écrivent toutes seules lol
[11:21] Gavin.Hird @grid.xmir.org:8002 : pleurniche (whine)
[11:21] Ubit Umarov : :)
[11:22] Kayaker Magic : Qui est le pleurnichard (whinemaker) maintenant ?
[11:22] Gavin.Hird @grid.xmir.org:8002 : :-)
[11:22] Ubit Umarov : ces choses que les développeurs ne peuvent pas aider ? je suppose que c'est un gros bogue.
[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le bon côté des choses, c'est qu'au moins la correction a été rapide et c'est une autre goutte d'eau dans l'océan pour qu'OpenSim apprenne à LL une fois de plus comment il faut faire.
[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je suis donc heureux que cela ait été résolu, au moins je ne pense plus que je vois des choses.
[11:23] Ubit Umarov : nahh tu vois des choses... juste d'autres choses maintenant.
</pre>
= Script fantôme avec HDD : la solution un SDD =
* [https://fr.wikipedia.org/wiki/Disque_dur HDD : Disque dur]
* [https://fr.wikipedia.org/wiki/SSD Disque SDD]
* [[OpenSim.ini]]
* [https://fr.wikipedia.org/wiki/IBM_Ramac_305 IBM RAMAC 305]
<pre>
[11:23] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le script fantôme est une nouvelle chose, pour laquelle j'ai reçu un e-mail samedi.
[11:23] Vincent.Sylvester @hg.zetaworlds.com:8002 : Apparemment en raison d'un HDD très lent
[11:23] Andrew Hellershanks : Script fantôme ?
[11:24] Ubit Umarov : script quoi ?
[11:24] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le script doit donc apporter des modifications à une prim et cela entraîne une mise à jour de la base de données, qui est trop lente pour réagir.
[11:24] Vincent.Sylvester @hg.zetaworlds.com:8002 : Quelque chose d'étrange se passe avec le verrouillage et la synchronisation quelque part
[11:25] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le script vérifie si la prim a une nouvelle taille, une nouvelle couleur et toutes sortes d'autres choses, mais voit toujours les anciennes données.
[11:25] Michael.Christopher @cc.opensimulator.org:8002: hmm
[11:25] Vincent.Sylvester @hg.zetaworlds.com:8002 : Après avoir déplacé le tout sur SSD, les problèmes ont disparu.
[11:25] Ubit Umarov : la plupart des changements de prim stockés sont différés dans le temps.
[11:25] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je le pensais aussi, j'ai cherché partout pour essayer de trouver s'il utilise la base de données au lieu des données locales, mais non...
[11:25] Ubit Umarov : même pour quelques minutes.
[11:26] Gavin.Hird @grid.xmir.org:8002 : N'y a-t-il pas un délai par défaut de 30+ secondes pour le transfert vers la base de données ?
[11:26] Ubit Umarov : il y a même un un délai de roulement
[11:26] Gavin.Hird @grid.xmir.org:8002 : c'est exact.
[11:26] Vincent.Sylvester @hg.zetaworlds.com:8002 : Vraiment bizarre, il se peut que quelque chose aille mal avec le disque, qui sait ? Maintenant que c'est déplacé de toute façon.
[11:26] Ubit Umarov : ( jusqu'à un délai maximum dont je ne me souviens pas bien sûr )
[11:26] Andrew Hellershanks : Les données n'ont peut-être pas encore été stockées dans la base de données mais, je me serais attendu à ce qu'il connaisse l'état actuel des prims dans la scène locale.
[11:26] Michael.Christopher @cc.opensimulator.org:8002 : donc le problème ne se produisait qu'en utilisant un disque dur, le passage à un SSD l'a résolu ?
[11:27] Gavin.Hird @grid.xmir.org:8002 : Je pense que le délai maximum est d'environ 300 sec
[11:27] Gavin.Hird @grid.xmir.org:8002 : à moins que vous l'ayez modifié.
[11:27] Gavin.Hird @grid.xmir.org:8002 :Je fais un flush toutes les 10 secondes sur mes simulateurs.
[11:27] Ubit Umarov : il y a longtemps que je n'ai pas touché à ça.
[11:27] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est vraiment étrange, je n'ai jamais vu ça pendant toutes ces années.
[11:27] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je soupçonne qu'il y a eu un problème avec le disque, mais il est trop tard pour le vérifier maintenant.
[11:27] Michael.Christopher @cc.opensimulator.org:8002 : oh ok
[11:28] Michael.Christopher @cc.opensimulator.org:8002 : c'est toujours un problème très intéressant à voir.
[11:28] Ubit Umarov : évidemment, une chose qui a un impact sur le disque ce sont les logs.
[11:28] Ubit Umarov : nous en avons trop.
[11:28] Ubit Umarov : mais dans ce cas, je pense qu'il faut plus et mieux déboguer.
[11:29] Ubit Umarov : en supposant que le cas lui-même est déjà défini.
[11:29] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je pourrais avoir le temps d'essayer de limiter les iops ou autre chose.
[11:29] Vincent.Sylvester @hg.zetaworlds.com:8002 : Mais il y a beaucoup de variables que je ne peux pas simuler.
[11:30] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je viens de parcourir le code de mise à jour des scènes et ainsi de suite pour voir s'il y a quelque chose qui ne réutilise pas seulement les données locales.
[11:30] Gavin.Hird @grid.xmir.org:8002 : Dans OpenSim.ini
[11:30] Gavin.Hird @grid.xmir.org:8002 :    ;# {MinimumTimeBeforePersistenceConsidered} {} {Temps avant qu'un objet inchangé puisse devenir persistant} {} 60
    ;; Les objets seront considérés persistants au prochain balayage s'ils n'ont
    ;; pas été modifiés pendant ce nombre de secondes.
    ; MinimumTimeBeforePersistenceConsidered = 60


    ;# {MaximumTimeBeforePersistenceConsidered} {} {Temps avant qu'un objet modifié puisse devenir persistant ?} {} 600
= Dessiner les coutures du terrain =
    ;; Les objets seront toujours considérés persistants au prochain balayage
== Coutures des bords ==
    ;; si le premier changement est survenu depuis ce nombre de secondes.
* 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.  
    ; MaximumTimeBeforePersistenceConsidered = 600
* Marquer la couture depuis le menu '''Edge''' avec '''Mark Seam'''.
[11:30] Gavin.Hird @grid.xmir.org:8002 : les valeurs par défaut sont 60 et 600 secondes.
* Sélectionner les arêtes des 4 angles des bords du terrain avec le raccourci clavier '''SHIFT + MAJ''' vu précédemment.
[11:31] Ubit Umarov : en supposant que les commentaires correspondent au code :)
* Marquer la couture depuis le menu '''Edge'''  avec '''Mark Seam'''.  
[11:31] Gavin.Hird @grid.xmir.org:8002: lol
<gallery>
[11:31] Gavin.Hird @grid.xmir.org:8002 : Je pense que c'est le cas
Fichier:Terrain phase 002 selection.jpg|Sélection
[11:31] Ubit Umarov : la sauvegarde le fait.
Fichier:Terrain phase 002 bord sup.jpg | Ligne supérieure
[11:31] Kayaker Magic : Mais je pensais que le code était la documentation !
Fichier:Terrain_phase_002_arete.jpg | Angle
[11:31] Ubit Umarov : l'arrêt le fait aussi
Fichier:Terrain phase 002 coutures.png | Coutures
[11:32] Ubit Umarov : tous les objets en attente de stockage sont stockés...
</gallery>
[11:32] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le truc bizarre, c'est qu'il a échoué au premier "auto-test", mais quelques secondes plus tard, le script signalait que tout allait bien, donc je soupçonne un timing ou un verrouillage dans le code, ce qui, étant donné la nature asynchrone, est toujours un potentiel...
[11:32] Ubit Umarov : mais de vieilles choses
[11:32] Ubit Umarov : je pense que cela n'a pas changé depuis la version 0.9.0.0.
[11:32] Vincent.Sylvester @hg.zetaworlds.com:8002 : En fin de compte, juste une raison de plus d'utiliser les SSD plutôt que les disques lents pour moi.
[11:33] Vincent.Sylvester @hg.zetaworlds.com:8002 : Plus vous traitez de données, plus cela devient clair du point de vue de la latence.
[11:33] Ubit Umarov : regarder le script  pourrait nous aider.
[11:33] Gavin.Hird @grid.xmir.org:8002 : même le disque le plus lent ne vous donne pas un délai de 60 secondes avant d'être envoyé sur le suport :-)
[11:34] Ubit Umarov : certains ont même de la monnaie (cash) écrite :p
[11:34] Gavin.Hird @grid.xmir.org:8002 : peut-être si vous avez le RAMAC original de 5 MB.
[11:34] Vincent.Sylvester @hg.zetaworlds.com:8002 : Oui, c'est le point de blocage pour moi aussi, mais si d'autres données sont mises en file d'attente aussi...
[11:35] Gavin.Hird @grid.xmir.org:8002 : tous les disques ont un cache en écriture.
[11:35] Ubit Umarov : mais je pense qu'avant de passer au disque, il faut mieux déboguer.
[11:35] Gavin.Hird @grid.xmir.org:8002 : de 32 Mb+.
[11:35] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est l'autre hypothèse que j'ai faite, mauvais cache d'écriture.
[11:35] Ubit Umarov : comme regarder ce que fait le script.
[11:35] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai fait un test rapide, je ne sais pas s'il vérifie bien cela, je n'ai pas fait de long test.
[11:36] Ubit Umarov : je suis presque sûr qu'un mauvais disque apparaîtrait sur beaucoup plus de choses qu'un simple script.
[11:36] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai vu des cochons voler aussi, je n'ai plus confiance en rien.
[11:36] Vincent.Sylvester @hg.zetaworlds.com:8002 : Rien que je n'ai pas cassé de mes propres mains.
</pre>
=Tom Tomson a besoin d'aide =
* [[Firewall Settings/fr]]
* [[NAT Loopback Routers/fr]]
* [[0.9.2.0 Release/fr]]
* [https://www.osgrid.org/download.php Télécharger les fichiers d'installation pour Osgrid]
* [[IRC/fr]]
<pre>
[11:35] Tom Tomson : Puis-je avoir de l'aide pour configurer et me connecter à un réseau local ici ?
[11:36] Gavin.Hird @grid.xmir.org:8002 : Salut Tom
[11:36] Tom Tomson : bonjour Gavin
[11:36] Andrew Hellershanks : Bonjour Tom.
[11:36] Gavin.Hird @grid.xmir.org:8002 : quels sont les problèmes que tu rencontres ?
[11:37] Ubit Umarov : c'est plus pour le développement d'opensim que pour l'aide à l'utilisation :(
[11:37] Andrew Hellershanks : Kayaker, le code est la documentation mais les commentaires qu'il contient ne reflètent pas toujours les changements qui ont pu être apportés au code.
[11:37] Gavin.Hird @grid.xmir.org:8002 : Je suis sûr que nous pouvons aborder quelques questions
[11:38] Tom Tomson : en gros : Connexion échouée, région non trouvée. Ubit, je suis nouveau, quelqu'un au centre d'accueil m'a suggéré de venir ici.
[11:38] Michael.Christopher @cc.opensimulator.org:8002 : quelle viewer utilises-tu Tom ?
[11:38] Andrew Hellershanks : Assieds-toi, Tom.
[11:38] Gavin.Hird @grid.xmir.org:8002 : système d'exploitation installé, quelle version d'opensim ?
[11:39] Tom Tomson : OS est windows 7, opensim 0.9.2.0
[11:40] Andrew Hellershanks : Tom, à quelle grille essaies-tu d'accéder ? Quelle viewer tu utilises ?
[11:40] Gavin.Hird @grid.xmir.org:8002 : juste un standalone Tom ?
[11:40] Tom Tomson : J'utilise FirestormOS, et j'essaie d'accéder à un standalone.
[11:40] Gavin.Hird @grid.xmir.org:8002 : ok, est-il nécessaire d'ouvrir des ports dans le FW d'un standalone sous Windows ?
[11:41] Tom Tomson : Qu'est-ce qu'un FW ?
[11:41] Gavin.Hird @grid.xmir.org:8002 : pare-feu
[11:41] Andrew Hellershanks : Pare-feu.
[11:41] Tom Tomson : ok
[11:41] Ubit Umarov : tom
[11:41] Tom Tomson : oui ?
[11:41] Andrew Hellershanks : Si c'est une standalone local, le problème est probablement plus un problème de bouclage que de pare-feu.
[11:41] Ubit Umarov : as-tu ajouté le nom de la région dans les flags de région aussi ?
[11:42] Ubit Umarov : comme indiqué dans les notes de version 0.9.2.0 ?
[11:43] Tom Tomson : J'ai ajouté le nom de la région quand OpenSim.exe me l'a demandé, je n'ai pas vu les notes de version.
[11:43] Ubit Umarov : ohh bien sûr que non.
[11:43] Ubit Umarov : Eh bien va les voir :p
[11:43] Andrew Hellershanks :Tom, est-ce que le standalone fonctionne sur le même ordinateur que la viewer que vous utilisez ?
[11:43] Gavin.Hird @grid.xmir.org:8002 : Faut-il l'ajouter ailleurs sur un standalone standard ?
[11:43] Tom Tomson : @Andrew, oui c'est ça
[11:44] Ubit Umarov : oui, il y a une étape supplémentaire maintenant.
[11:44] Ubit Umarov : sur 0.9.2.0
[11:44] Gavin.Hird @grid.xmir.org:8002 : ouch
[11:44] Ubit Umarov : et c'est sur la note de version.
[11:44] Ubit Umarov : notes
[11:44] Tom Tomson : @Ubit, où puis-je trouver les notes de version ?
[11:44] Gavin.Hird @grid.xmir.org:8002 : il est probable que cela soit aussi indiqué dans les instructions d'installation.
[11:44] Ubit Umarov: http://opensimulator.org/wiki/0.9.2.0_Release
[11:45] Ubit Umarov : 0.9.2.1 aura cet ajustement sur les standalones, pas robuste.
[11:45] Andrew Hellershanks : Tom, as-tu vu du texte rouge dans la console de la Standalone lorsqu'elle a démarré ?
[11:45] Ubit Umarov: Sur les nouveaux simulateurs Standalones, assurez-vous d'ajouter votre région dans la section [GridService] de config-include/StandaloneCommon.ini. Par exemple, pour la région "Ma Region", il devrait y avoir Region_Ma_Region = "DefaultRegion, FallbackRegion" ( c'est-à-dire qu'il faut commencer par Region_ et remplacer les espaces dans le nom par _ ).Sur les grilles, assurez-vous que vous avez au moins une région avec les flags DefaultRegion, DefaultHGRegion (pas nécessairement les mêmes régions) sur des entrées similaires dans la section [GridService] de Robust.ini.
[11:45] Ubit Umarov : ceci
[11:46] Ubit Umarov : il n'y a pas de rouge là-dessus.
[11:46] Ubit Umarov : juste une région non trouvée
[11:47] Ubit Umarov : quel est le nom de ta région Tom ?
[11:47] Andrew Hellershanks : Ubit, devrait peut-être afficher un texte en rouge si le simulateur ne peut pas trouver les informations de la région par défaut.
[11:48] Ubit Umarov : le système ini, et les régions init ont plusieurs défauts.
[11:49] Ubit Umarov : cette histoire de nom est l'une d'entre eux.
[11:50] Andrew Hellershanks : Tom, je te suggère également de vérifier l'adresse IP que tu spécifies pour le standalone. J'utilise l'adresse IP réelle attribuée à ma machine au sein de mon réseau local. Je n'utiliserais pas 127.0.0.1.
[11:50] Ubit Umarov : la décision de ne rien dire au mode région, juste changer les dlls actives (déjà chargées) en est une autre.
[11:55] Ubit Umarov : (c'est réparé Tom ?)
[11:58] Tom Tomson : ok, j'ai ajouté ma région dans le fichier
[11:59] Tom Tomson : J'ai aussi décommenté la ligne " MapTileDirectory = "./maptiles"".
[12:00] Ubit Umarov : (puis le démarrer et tester tom)
[12:03] Kayaker Magic : Tom : Configurer robust et Opensim à partir de zéro est difficile, vous pourriez envisager de connecter une région à OSGrid d'abord, où les fichiers INI sont en grande partie configurés pour vous.
[12:04] Motoko.Karu @login.digiworldz.com:8002 : il semble que Tom soit parti.
[12:07] Andrew Hellershanks : Si Tom n'a pas résolu son problème, j'espère qu'il saura utiliser IRC ou la liste de diffusion.
</pre>


= Changements dans le code OpenSim cette semaine =  
== Dessiner 36 carrés sur le terrain ==
* [https://visualstudio.microsoft.com/vs/ Virtual Studio 2022 (vs2022)] lien Microsoft en anglais.
* 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 +.  
* SL-16699 : numerotation de bogue du Viewer Second Life.
* Masquer les bords avec la '''touche H'''.  
* [https://en.wikipedia.org/wiki/NUnit NUnit est un framework de test unitaire open-source pour le .NET Framework et Mono.][https://jab.developpez.com/tutoriels/dotnet/nunit/ Tutoriel en français sur ]
* Passer en vue du dessus avec  '''NUM 7''' (touche 7 du pavé numérique) et en sélection par point.
* [https://fr.wikipedia.org/wiki/Jenkins_(logiciel) Jenkins aide à automatiser les parties du développement ][https://alexandre-laurent.developpez.com/tutoriels/initiation-ci-jenkins/ Tutoriel en français]
* 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).  
<pre>
* 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:37] Ubit Umarov : et à ce propos, pas grand chose la semaine dernière dans le nouveau code.
* 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:38] Ubit Umarov : je n'ai fait qu'un commit pour inverser celui que j'ai fait quelques jours plus tôt.
* 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:39] Andrew Hellershanks : Ubit, il y a eu un autre petit changement dans le code lié à prebuild.
* Continuez ainsi pour obtenir 6 subdivisions de 22 lignes chacune sur la largeur du terrain.  
[11:39] Ubit Umarov : j'ai inversé une pénalité de temps que j'avais ajouté à objectMessage et aux pièces jointes.
* 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:39] Gavin.Hird @grid.xmir.org:8002 : SL-16699 a augmenté la taille du cache par défaut à 4Go
<gallery>
[11:39] Gavin.Hird @grid.xmir.org:8002: lol
Fichier:Terrain phase 003 base.png |Sélection par face
[11:39] Vincent.Sylvester @hg.zetaworlds.com:8002 : Ouais ms vs 2022 qui apparemment a encore des tonnes de bogues dans celui-ci
Fichier:Terrain_phase_003_selection.jpg | CTRL + NUM +
[11:39] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je n'ai même pas pu l'installer hier.
Fichier:Terrain phase 003 selection complete.jpg |Sélection
[11:40] Ubit Umarov : ceux qui ont eu  un impact négatif sur certains petits jeux d'action que nous avons sous la main.
Fichier:Terrain phase 003 bords masques.png |Masquer avec H
[11:40] Ubit Umarov : Ohh c'était cette semaine ?
Fichier:Terrain phase 004 bord gauche.png |Bord gauche
[11:40] Ubit Umarov : oui, j'ai ajouté la détection de vs2022 dans le runprebuild.bat.
Fichier:Terrain phase 004 22 lignes.png |23 lignes
[11:41] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je ne vois pas l'utilité de changer pour le moment de toute façon, les bogues sont nombreux, comme d'habitude avec les versions précédentes.
Fichier:Terrain phase 004 ligne 22 marquee.jpg |Couture
[11:42] Vincent.Sylvester @hg.zetaworlds.com:8002 : Nous devrons voir ce qui vient ensuite et le fait de ne pas pouvoir l'installer sur autant de systèmes est un peu un problème. Plus les quelques plugins utiles pour faire du debug OpenSim, aucune idée s'ils sont déjà mis à jour.
Fichier:Terrain phase 004 selection suite.jpg | Repérage suite
[11:42] Vincent.Sylvester @hg.zetaworlds.com:8002 : Non pas que les tests nunit locaux en dehors de Jenkins aient jamais bien fonctionné au départ.
Fichier:Terrain phase 004 divisions horizontales.jpg |Subdivisions horizontales
[11:43] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai eu un peu de succès en écrivant ceux ce qui concernent les tests de conformité pour les deux moteurs de script, peut-être qu'un jour ce code sera intégré, si Ubit se souvient de l'endroit où il a mis mes e-mails.
Fichier:Terrain phase 004 selection horizontale.jpg | Sélection horizontale
</pre>
Fichier:Terrain phase 004 36 carres.jpg | 36 carrés.
= GPU Crypto-monnaie et NFT =
</gallery>
* [https://fr.wikipedia.org/wiki/Nvidia Nvidia : entreprise américaine spécialisée dans la conception de processeurs, cartes et puces graphiques.]
* [https://fr.wikipedia.org/wiki/Architecture_ARM Les processeurs ARM sont aujourd'hui dominants dans le domaine de l'informatique embarquée.]
* [https://fr.wikipedia.org/wiki/Intel : entreprise américaine qui fabrique des microprocesseurs ]
* [https://fr.wikipedia.org/wiki/Crypto-monnaie Crypto-monnaie : monnaie numérique]
* [https://fr.wikipedia.org/wiki/Non-fungible_token NFT : JNT = Jeton non Fongique] [Ndlr : Ils poussent quand même comme des champignons. 😉]
Un Jeton cryptographique représente quelque chose d’unique. Ils sont utilisés pour créer des éléments numériques uniques et vérifiables.
* [https://www.hypergridbusiness.com/2022/01/why-nfts-and-blockchain-are-critical-to-success-of-metaverse/ Hypergridbusiness.com: Les NFT et la blockchain sont la clé de l'avenir des métavers, affirment les défenseurs de la crypto.]
* [https://fr.wikipedia.org/wiki/Processeur_graphique GPU : processeur graphique]
* [https://fr.wikipedia.org/wiki/Met_Office MetOffice :  le service national britannique de météorologie]
* [https://fr.wikipedia.org/wiki/Minage_de_cryptomonnaie Minage de cryptomonnaie] : fournir un service au réseau de la dite monnaie en échange d'une récompense pécuniaire.
* [ML = Machine Learning : L'Apprentissage automatique]est un champ d'étude de l'intelligence artificielle qui se fonde sur des approches mathématiques et statistiques pour donner aux ordinateurs la capacité d'« apprendre » à partir de données.
* [https://fr.wikipedia.org/wiki/Hunter_Biden Hunter Biden ],Fils du  président des États-Unis Joe Biden.
<pre>
[11:47] Gavin.Hird @grid.xmir.org:8002 : Bonne nouvelle : Nvidia se retire probablement de l'acquisition d'Arm après avoir échoué à obtenir l'approbation des autorités réglementaires.
[11:47] Gavin.Hird @grid.xmir.org:8002: Good news: Nvidia Likely Pulling Out of Arm Acquisition After Failing to Win Regulatory Approval
[11:48] Vincent.Sylvester @hg.zetaworlds.com:8002 : hehe
[11:48] Vincent.Sylvester @hg.zetaworlds.com:8002 : Bruit
[11:48] Vincent.Sylvester @hg.zetaworlds.com:8002 : Maintenant, il faut juste qu'Intel se ressaisisse et sorte quelques GPU et nous pourrions avoir un marché à nouveau pour les consommateurs et non contre eux.
[11:49] Gavin.Hird @grid.xmir.org:8002 : le marché des GPU est fou.
[11:50] Jamie.Jordan @grid.kitely.com:8002 : fou est un euphémisme.
[11:51] Jamie.Jordan @grid.kitely.com:8002 : Je ne l'ai jamais vu comme ça.
[11:51] Ubit Umarov : oh maria a donné un grand coup de pied dans les crypto-monnaies.
[11:51] Ubit Umarov : sur les commentaires de cet article.
[11:52] Gavin.Hird @grid.xmir.org:8002: JNT (NFT)
[11:52] Ubit Umarov : plus sur les raisons pour lesquelles les JNT ne sont PAS utiles.
[11:52] Gavin.Hird @grid.xmir.org:8002 chuchote : les gens n'abandonnent-ils pas déjà les JNT ?
[11:52] Ubit Umarov: Ouais
[11:53] Vincent.Sylvester @hg.zetaworlds.com:8002 : les JNT et la blockchain sont aussi utiles qu'une blessure par balle.
[11:53] Ubit Umarov : mais les cryptos ont dépensé des $$ pour des GPU.
[11:53] Ubit Umarov : il faut les utiliser maintenant :p
[11:53] Michael.Christopher @cc.opensimulator.org:8002 : Je n'ai pas vraiment vu l'intérêt de JNT
[11:53] Gavin.Hird @grid.xmir.org:8002 : La capacité de Maria à prévoir le marché a été pire que les prévisions saisonnières du MetOffice britannique.
[11:53] Ubit Umarov: :)
[11:54] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'était plus piquant que le steak au poivre que j'ai mangé tout à l'heure.
[11:54] Michael.Christopher @cc.opensimulator.org:8002 : pas vrai ?
[11:54] Ubit Umarov : il était temps de voir plus de gens dire à quel point ces choses sont mauvaises et inutiles.
[11:55] Vincent.Sylvester @hg.zetaworlds.com:8002 : Le marché des crypto-monnaies qui monte et descend est tellement bizarre étant donné que toute l'idée était l'indépendance, donc dépendre d'autres marchés pour définir sa propre valeur est un défaut conceptuel si grand qu'il pourrait couler le Titanic deux fois plus vite.
[11:56] Gavin.Hird @grid.xmir.org:8002 : Un mineur de crypto ici a reçu une facture d'électricité supplémentaire de 200 000 $ pour le mois de décembre, annulant ainsi toutes les économies réalisées.
[11:56] Selby.Evans @grid.kitely.com:8002 : Je me demande s'il existe un JNT pour le pont de Brooklyn.
[11:56] Andrew Hellershanks : Je ne peux même pas lire cette page. Trop de choses à désactiver pour le site.
[11:56] Ubit Umarov: :)
[11:57] Ubit Umarov : Je pense que les gens ne comprennent pas que la valeur d'une monnaie dépend en fin de compte de la puissance des forces armées de son pays.
[11:57] Andrew Hellershanks : Gavin, c'est l'un des gros problèmes du minage de crypto-monnaies.
[11:57] Vincent.Sylvester @hg.zetaworlds.com:8002 : crypto et machine learning tuent les gpus, au moins ML a quelques utilisations même si un tas de gens l'utilisent juste pour générer des images qui ressemblent à de la diarrhée sur la toile.
[11:57] Gavin.Hird @grid.xmir.org:8002: oui
[11:58] Vincent.Sylvester @hg.zetaworlds.com:8002 : "vous pouvez utiliser l'apprentissage automatique pour cela" - je peux aussi écrire un bon code moi-même.
[11:58] Gavin.Hird @grid.xmir.org:8002 : tu veux dire une œuvre d'art de Hunter Biden, Vincent ?
[12:00] Vincent.Sylvester @hg.zetaworlds.com:8002 : J'ai essayé deux de ces moteurs de dessin auxquels on peut donner des mots et qui créent quelque chose, mais on dirait que Van Gogh a eu une attaque et qu'il s'est réhabitué à son déjeuner.
[12:00] Vincent.Sylvester @hg.zetaworlds.com:8002 : Cela me donne envie de me jeter dans le soleil lol.
[12:01] Michael.Christopher @cc.opensimulator.org:8002: lol
[12:02] Ubit Umarov : mais il n'y a pas que le marché des GPU qui est fou.
[12:02] Ubit Umarov : c'est tout...
[12:02] Gavin.Hird @grid.xmir.org:8002 : il suffit de le signer avec Hunter Biden et il se vendra à 1/2 million de dollars.
</pre>
= Autres nouvelles d'OpenSim : bientôt OpenSim 0.9.2.1=
* [https://fr.wikipedia.org/wiki/DOS DOS ] Jusqu'au début des années 1990, DOS était le type de système le plus utilisé sur compatibles PC.  
* [https://fr.wikipedia.org/wiki/Lotus_1-2-3 Lotus 1-2-3]
<pre>
[12:02] Ubit Umarov : bien et opensimulator ? d'autres nouvelles ?
[12:03] Ubit Umarov : avant qu'andrew ne regarde l'horloge ;)
[12:03] Michael.Christopher @cc.opensimulator.org:8002 : rien d'autre cette semaine ?
[12:03] Gavin.Hird @grid.xmir.org:8002 : pas grand chose.
[12:03] Michael.Christopher @cc.opensimulator.org:8002 : :))) Je pensais la même chose lol
[12:03] Ubit Umarov : je prévois de sortir la version 0.9.2.1.
[12:03] Ubit Umarov : pas grand chose en fait.
[12:04] Ubit Umarov : le problème de tom sera résolu dans le cas des standalones.
[12:05] Ubit Umarov : définir ces régions sera nécessaire pour Robust, les standalones retourneront à nouveau toute région non trouvée.
[12:05] Andrew Hellershanks : Pas beaucoup de nouvelles sur l'OS aujourd'hui comme nous l'avons déjà mentionné. Juste quelques commits.
[12:05] Ubit Umarov :Diva, a eu le temps de publier certaines choses pour la version 0.9.2.1
[12:06] Ubit Umarov : et nous serons sur 0.9.2.1.1
[12:06] Ubit Umarov: ;)
[12:07] Gavin.Hird @grid.xmir.org:8002 : c'est cruel :-))
[12:07] Andrew Hellershanks: héhé
[12:07] Gavin.Hird @grid.xmir.org:8002 : un cas du bon vieux "DOS ain't done till Lotus won't run." ?
</pre>


=Conclusion=
= Générer les UVMap =
<pre>
== UVMap des bords ==
[12:09] Selby.Evans @grid.kitely.com:8002 : Je dois y aller -- bye tout le monde
* En mode Edit, faire réapparaître les bords avec '''ALT + H'''.
[12:09] Andrew Hellershanks : Nous venons de passer l'heure. Y a-t-il d'autres commentaires, questions ou réflexions concernant l'OS pour aujourd'hui ?
* Sélectionner uniquement le plateau en inversant la sélection avec '''CTRL + I'''.
[12:09] Michael.Christopher @cc.opensimulator.org:8002 : On dirait que je dois y aller, passez une bonne semaine !
* Masquer le plateau avec '''la touche H'''.
[12:09] Andrew Hellershanks : ok, Selby. tc
* Sélectionner l'ensemble des bords du terrain avec la touche '''A en mode Edit'''.
[12:09] Ubit Umarov : cya Selby.Evans
* 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.
[12:09] Andrew Hellershanks : ok, Michael. A la semaine prochaine.
<gallery>
[12:10] Jamie.Jordan @grid.kitely.com:8002 : Bonne réunion, merci à tous.
Fichier:Terrain phase 005 afficher bords.jpg| Bords affichés
[12:10] Ubit Umarov : :)
Fichier:Terrain phase 005 selection plateau.jpg |Plateau sélectionné
[12:10] Andrew Hellershanks : oui, Jamie.
Fichier:Terrain phase 005 plateau masque.png | Masquer avec H
[12:10] Andrew Hellershanks : Il est temps de conclure avant que beaucoup d'autres personnes ne doivent partir.
Fichier:Terrain phase 005 selection bords.png |Sélection avec A
[12:11] Andrew Hellershanks : Merci à tous d'être venus. Nous vous reverrons la semaine prochaine.
Fichier:Terrain phase 005 UVMap bords.jpg | UVMap des bords
[12:11] Ubit Umarov : :)
</gallery>
</pre>
 
== 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>
 
= 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>
 
== 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'''.
 
<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>
 
= 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

  • 🏗️