Aller au contenu

« Réunion du 21-12-2021 » et « Modéliser un terrain en 37 Textures pour OpenSim » : différence entre les pages

De OSWiki
(Différence entre les pages)
m Acryline a déplacé la page Réunion dU 21-12-2021 vers Réunion du 21-12-2021 sans laisser de redirection
 
Balise : Révocation manuelle
 
Ligne 1 : Ligne 1 :
Source : http://opensimulator.org/wiki/Chat_log_from_the_meeting_on_2021-12-21
= 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 : bonjour à tous.
* 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] Gavin.Hird @grid.xmir.org:8002 : Salut Selby, Andrew, Motoko
* sauvegarder souvent le fichier blender.</big></big>
[11:03] Motoko.Karu @login.digiworldz.com:8002 : Bonjour ^_^
<br>
[11:03] Andrew Hellershanks : Bonjour à tous.
== Utiliser l'add-on A.N.T.Landscape ==
[11:05] Motoko.Karu @login.digiworldz.com:8002 : Hihi Andrew
=== Add-on A.N.T.Landscape ===
[11:05] Kayaker Magic : Bonjour Andrew, et tous les autres.
* 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:05] Andrew Hellershanks : Bonjour, Jamie.
[11:05] Gavin.Hird @grid.xmir.org:8002 : Salut Kayaker, Jamie
[11:06] Jamie.Jordan @grid.kitely.com:8002 : Salut tout le monde
</pre>
=Quoi de neuf dans le code OpenSim ? DTL monney -- MariaDB=
* [http://www.nsl.tuis.ac.jp/xoops/modules/xpwiki/?OpenSim%2FMoneyServer DTL/NSL Money Server] - Ce serveur de monnaie est une version modifiée de "DTL Currency Processing" pour Linux/Unix par NSL.


MariaDB :
=== Options de l'add-on ===
*[https://fr.wikipedia.org/wiki/MariaDB MariaDB]
*[http://opensimulator.org/wiki/Configuration#Database Configuration de la base de données]
<pre>
[11:07] Andrew Hellershanks : Pas beaucoup de nouvelles concernant les changements de code de OS effectués la semaine dernière. La plupart des changements concernaient des nettoyages de code et des mises à jour de certains fichiers dll.
[11:08] Ubit Umarov: brb
[11:08] Vincent.Sylvester @hg.zetaworlds.com:8002 : Ce qui a fini  par casser certaines choses avec DTL monney, ce qui nécessite une recompilation avec un nouvel OpenSim comme base, sinon le connecteur mysql correspondant ne fonctionne pas.
[11:08] Selby.Evans @grid.kitely.com:8002 : salut Jamie, Kayaker
[11:09] Jamie.Jordan @grid.kitely.com:8002 : Salut Selby
[11:09] Kayaker Magic : Hmmm, je recompile toujours DTL à chaque fois avec OpenSim de toute façon.....
[11:10] Andrew Hellershanks: Bon retour, Ubit.
[11:10] Motoko.Karu @login.digiworldz.com:8002: Bon retour ubit
[11:10] Vincent.Sylvester @hg.zetaworlds.com:8002 : Mariadb 10.7 est prêt à entrer dans l'avant-dernière phase de test avant sa sortie prochaine, ce qui apportera enfin un type UUID, qui pourrait être très utile car il pourrait réduire la taille de la base de données et les temps d'accès, car il y aura environ 20% d'octets en moins à envoyer en comparaison avec les varchars.
[11:10] Ubit Umarov: Merci
[11:10] Ubit Umarov : mon viewer faisait des choses :)
[11:10] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je pense que nous avons eu une discussion à ce sujet sur irc il n'y a pas longtemps.
[11:10] Gavin.Hird @grid.xmir.org:8002 : J'espère que ce n'est pas le mien...
[11:11] Ubit Umarov: oups
[11:11] Ubit Umarov : Non Gavin, ce n'est le tiens :)
[11:11] Gavin.Hird @grid.xmir.org:8002 : tu vois ? :-)
</pre>


=Les viewers : cache d'objets -- capture 360° -- LIDAR=
* 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"'''.
[https://www.dayturn.com/viewer Nouvelle version du Viewer Dayturn]
* 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>


[https://releasenotes.secondlife.com/viewer/6.5.1.566335.html Note de version du viewer Linden Lab du 15-12-2021 -- Publication combinée de DRTVWR-519 (Cache simplifié) et de DRTVWR-534 (Capture 360).]
== Pourtour du terrain ==
== Nouvelles versions ==
* 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:11] Gavin.Hird @grid.xmir.org:8002 : à propos, une nouvelle version [de Dayturn] a été publiée vendredi à l'adresse https://www.dayturn.com/viewer
* Extruder une fois ces sommets vers le bas avec '''la touche E puis Z''' (2 ou trois carreaux de la grille).
[11:12] Ubit Umarov: merci
* Égaliser la hauteur des sommets : '''S puis Z puis 0'''
[11:12] Andrew Hellershanks : Gavin, j'allais justement te demander si tu avais des nouvelles sur le front des viewers :)
* Divisier la hauteur des bords avec '''CTRL + R''' et faire 6 boucles avec la '''molette''' de la souris.
[11:12] Gavin.Hird @grid.xmir.org:8002 : et Linden Lab a sorti un viewer avec un nouveau cache et la caméra panoramique 360°.
* En '''mode Object''' sélectionner le terrain et appliquer les modifications du mesh : CTRL + A  et sélectionner All Transforms.
</pre>
<gallery>
== Nouveau cache d'objets==
Fichier:Terrain phase 001 H.jpg|Utiliser H
<pre>
Fichier:Terrain phase 001 periph.jpg|Périphérie
[11:13] Vincent.Sylvester @hg.zetaworlds.com:8002 : L'ensemble du cache objet a explosé jusqu'à LL, j'ai l'impression d'avoir marché sur une mine.
Fichier:Terrain phase 001 extruder.jpg | E + Z
[11:13] Gavin.Hird @grid.xmir.org:8002 : Je vais donc devoir implémenter le nouveau cache pour la sortie de l'année prochaine.
Fichier:Terrain phase 001 egaliser.png | S puis Z puis 0
[11:13] Gavin.Hird @grid.xmir.org:8002 : pour le panorama 360, IDK - il faut d'abord le tester.
Fichier:Terrain phase 001 decoupage.jpg | CTRL + R et molette
[11:13] Kayaker Magic : L'année prochaine n'est que dans quelques semaines !
Fichier:Terrain phase 001 modif.jpg |Modifications appliquées
[11:14] Motoko.Karu @login.digiworldz.com:8002: :)
</gallery>
[[11:14] Gavin.Hird @grid.xmir.org:8002 : Je pense que les modifications pour le cache demandera moins de 50 commits.
[11:14] Gavin.Hird @grid.xmir.org:8002: donc ...
[11:15] Kayaker Magic : auparavant, LL avait déjà publié puis retiré le " cache simplifié ", était-ce à ce moment-là que vous aviez eu des problèmes Vincent ? Ou plus récemment ?
[11:15] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je ne peux pas voir les tickets LL sur leur tracker donc aucune idée de l'état d'avancement, mais j'espère que cela sera corrigé.
[11:16] Gavin.Hird @grid.xmir.org:8002 : oui, mais pas cette année.
[11:17] Vincent.Sylvester @hg.zetaworlds.com:8002 : Au moins, je ne suis pas juste en train d'imaginer des choses et c'est en fait un bug, bien qu'étant donné la façon relativement simple de le provoquer, il est surprenant qu'on ait mis autant de temps pour être trouvé.
[11:17] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je pensais qu'avec tous les utilisateurs de SL, quelqu'un aurait rencontré ce problème à un moment ou à un autre.
[11:26] Ubit Umarov : le problème que vincent a rapporté sur mantis à propos du cache d'objets du viewer a été reproduit par Firestorm chez sl.
[11:26] Ubit Umarov : et même avec le viewer SL
[11:26] Ubit Umarov : donc Firestorm vient de passer le problème à Linden Lab.
[11:26] Ubit Umarov : je suppose que Gavin va aussi attendre la correction :)
[11:26] Gavin.Hird @grid.xmir.org:8002 : certainement :-)
[11:27] Gavin.Hird @grid.xmir.org:8002 : Je vais arrêter tout autre développement en attendant cette correction.
[11:27] Ubit Umarov : évidemment
</pre>
==Capture 360°==
<pre>
[11:17] Ubit Umarov : je ne suis pas sûr que le truc des 360° fonctionne ici.
[11:17] Ubit Umarov : c'est une idée très stupide.
[11:18] Andrew Hellershanks : Ubit, ce n'est pas exactement une première pour LL.
[11:18] Ubit Umarov : contraire à ce que l'on veut en terme de gestion des intérêts.
[11:18] Ubit Umarov : peut-être ok pour les petites régions avec pas plus de 20k prims.
[11:18] Ubit Umarov : mais quand même...
[11:18] Gavin.Hird @grid.xmir.org:8002 : J'ai vu tellement d'implémentations de 360 depuis QuickTime en 1994, et ils sont tous waouh immédiatement, mais l'utilisation disparaît presque instantanément.
[11:19] Ubit Umarov : c'est un non-sens.
[11:19] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est censé servir à quoi ? Faire des vidéos ? VR ?
[11:19] Ubit Umarov : c'est censé être de la 3d (sur 2d), c'est déjà fait.
[11:20] Gavin.Hird @grid.xmir.org:8002 : c'est pour les panoramas en 2D.
[11:20] Ubit Umarov : oui, je ne suis pas sûr... pour exporter des snapshots 360 ?
[11:20] Gavin.Hird @grid.xmir.org:8002 : oui quelque chose comme ça
[11:21] Vincent.Sylvester @hg.zetaworlds.com:8002 : Donc, il suffit d'allumer l'enregistreur, de faire tourner l'avatar et d'utiliser Imagick pour séparer les images individuelles.
[11:21] Ubit Umarov : Je suppose que quelqu'un a proposé de faire du buzz à ce sujet, et ils ont accepté :)
[11:21] Gavin.Hird @grid.xmir.org:8002 : beaucoup de temps de développement perdu si vous voulez mon avis, mais...
[11:21] Ubit Umarov : j'ai lu quelque part qu'ils ont dû faire des changements côté région pour le supporter.
[11:22] Ubit Umarov : donc ... peut ne pas fonctionner ici
[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : Si c'était une photographie VR complète, ça pourrait être sympa pour créer un genre de streetview, mais en fait, ça ressemble plutôt à  une sorte de vidéo 3D complète pour certaines attractions de régions particulièrement jolies.
[11:22] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je peux voir ça comme une chose assez cool pour promouvoir les mondes virtuels, mais au-delà de ça...
[11:25] Ubit Umarov : Je pensais que les viewers étaient déjà à 360... mais bon...
[11:25] Ubit Umarov : détails
</pre>
==LIDAR ==
[https://fr.wikipedia.org/wiki/Lidar Lidar]
<pre>
[11:26] Gavin.Hird @grid.xmir.org:8002 : la prochaine étape est d'implémenter le LIDAR dans le viewer, pour pouvoir tourner autour des objets et enregistrer des nuages de points.
[11:27] Vincent.Sylvester @hg.zetaworlds.com:8002 : Gavin raycast fait cela je pense, transformer la sortie de cela en un nuage de points ne serait pas difficile, juste très lourd en cpu.
[11:27] Selby.Evans @grid.kitely.com:8002 : Nous savons tous comment obtenir une vue à 360° avec n'importe quelle viewer.  Je ne vois aucun avantage supplémentaire.
[11:28] Gavin.Hird @grid.xmir.org:8002 : Sur le dernier iOS, Apple a lancé un programme et un support pour prendre des photos d'objets du monde réel et les convertir en fichiers objets avec textures et autres.
[11:28] Ubit Umarov : il semble que le nouveau viewer (ou une version beta) ait un problème encore plus grave.
[11:28] Ubit Umarov : les objets en rezzés ne sont pas affichés.
</pre>
= Log4J -- Log4Net=
<pre>
[11:28] Michael.Christopher @cc.opensimulator.org:8002 : je ne sais pas si cette question a été soulevée avant que je puisse venir ici, mais est-ce que le problème de log4J a déjà été discuté ?
[11:28] Gavin.Hird @grid.xmir.org:8002 : Je vais essayer d'importer quelque chose ici
[11:28] Ubit Umarov : nous n'avons pas eu de problème avec log4j.
[11:29] Ubit Umarov : c'est un problème spécifique à Java.
[11:29] Andrew Hellershanks : Cela a été discuté dans la liste de diffusion.
[11:29] Michael.Christopher @cc.opensimulator.org:8002: merci andrew.
[11:30] Michael.Christopher @cc.opensimulator.org:8002 : Je n'ai pas encore eu le temps de m'asseoir et de passer en revue toutes les dépendances.
[11:30] Ubit Umarov : en fait, la discussion portait sur un autre problème sur log4net.
[11:30] Ubit Umarov : pas lié à celui de log4j.
[11:30] Michael.Christopher @cc.opensimulator.org:8002: oh ok
[11:30] Vincent.Sylvester @hg.zetaworlds.com:8002 : Nous avons aussi tendance à ne pas discuter ouvertement des questions de sécurité pour des raisons évidentes.
[11:30] Michael.Christopher @cc.opensimulator.org:8002: smh duh
[11:30] Vincent.Sylvester @hg.zetaworlds.com:8002 : Il y avait quelques problèmes avec xmlrpc dans le passé, mais c'est réglé.
[11:30] Andrew Hellershanks : IIRC, quelqu'un a mentionné log4j sur la liste de diffusion et c'est devenu une discussion sur log4net car OS n'utilise pas log4j comme l'a dit Ubit.
</pre>
= XML -- JSON =


<pre>
= Dessiner les coutures du terrain =
[11:30] Ubit Umarov : normal, le non-sens du xml.
== Coutures des bords ==
[11:31] Ubit Umarov : c'est amusant de voir comment certains continuent à "aimer" le xml.
* 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:31] Michael.Christopher @cc.opensimulator.org:8002: lol
* Marquer la couture depuis le menu '''Edge''' avec '''Mark Seam'''.
[11:31] Andrew Hellershanks: :)
* 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 : c'était amusant de voir comment les gens ont commencé à "l'aimer" au début.
* Marquer la couture depuis le menu '''Edge''' avec '''Mark Seam'''.  
[11:32] Ubit Umarov : Malheureusement, cela inclut LL.
<gallery>
[11:32] Gavin.Hird @grid.xmir.org:8002 : Je pensais que l'engouement actuel était pour json.
Fichier:Terrain phase 002 selection.jpg|Sélection
[11:32] Ubit Umarov : et cela s'est aggravé lorsqu'ils ont commencé à migrer les choses vers http, en utilisant bien sûr une variante de xml.
Fichier:Terrain phase 002 bord sup.jpg | Ligne supérieure
[11:33] Ubit Umarov : oui, pour beaucoup, ce n'est pas json qui est la grande tendance.
Fichier:Terrain_phase_002_arete.jpg | Angle
[11:33] Ubit Umarov: mais ll n'est toujours pas disponible
Fichier:Terrain phase 002 coutures.png | Coutures
[11:33] Ubit Umarov: llsd xml est toujours leur amour
</gallery>
[11:34] Ubit Umarov : avec un hérétique de temps en temps qui utilise la notation llsd.
[11:34] Ubit Umarov : évidemment nous devions avoir du xml hardcore sur nos robustes, nos rames, etc.
[11:34] Gavin.Hird @grid.xmir.org:8002 : llsdjson
[11:35] Ubit Umarov : et bien sûr non seulement lisible par l'homme mais très verbeux donc tout est clair.
[11:35] Gavin.Hird @grid.xmir.org:8002 : le marché (leur) utilise json. Je vais supprimer complètement ce code
[11:36] Ubit Umarov : cela implique de nommées des choses  <SceneObjectGroup><<SceneObjectPart>...</SceneObjectGroup>.
[11:36] Ubit Umarov : on a besoin d'utiliser des noms longs pour les choses en série que seules les machines peuvent lire, non ?
</pre>
= HTTP/3=
* [https://fr.wikipedia.org/wiki/HTTP#HTTP/3 HTTP/3]
* [https://www.commentcamarche.net/faq/7294-tcp-udp-quelles-differences TCP / UDP : Quelles différences ? ]
** [https://fr.wikipedia.org/wiki/Transmission_Control_Protocol Protocole TCP]
** [https://fr.wikipedia.org/wiki/User_Datagram_Protocol Protocol UDP]
** [https://www.malekal.com/wp-content/uploads/udp-tcp.jpg Shéma Communication TCP vs UDP]
* [http://opensimulator.org/wiki/LLUDP_ClientStack/fr LLUDP_ClientStack/fr]
* [https://fr.wikipedia.org/wiki/AppleTalk AppleTalk]
* [https://fr.wikipedia.org/wiki/Time_to_Live TTL ]
* [https://fr.wikipedia.org/wiki/Secure_Sockets_Layer SSL]
<pre>
[11:36] Vincent.Sylvester @hg.zetaworlds.com:8002 : Je me documentais sur le nouveau http3 l'autre jour et sur la façon dont il implémente udp comme connexion "fiable" et tout ce qui me venait à l'esprit était lludp et sa réputation d'être si incroyablement fiable que nous n'avons jamais de problèmes de connexion. Je jure que nous tournons en rond d'une certaine manière avec tout ça ces derniers temps, en revenant aux mêmes mauvaises idées du siècle dernier...
[11:37] Ubit Umarov : http3 utilise juste un autre protocole fait au dessus de udp pour remplacer tcp.
[11:37] Ubit Umarov : lludp en était un, mais les petits ll l'ont cassé, au lieu de l'améliorer.
[11:38] Ubit Umarov : UDP a été utilisé juste parce qu'il était disponible.
[11:38] Ubit Umarov : le niveau le plus bas n'est pas utilisable.
[11:38] Gavin.Hird @grid.xmir.org:8002 : "le cloud" ne voulait rien avoir à faire avec udp.
[11:38] Ubit Umarov : ir le niveau IP sur la pile, si je me souviens bien.
[11:39] Ubit Umarov : eh bien google dit oui... donc tout le monde va l'utiliser tôt ou tard.
[11:39] Gavin.Hird @grid.xmir.org:8002 : à moins que le congrès ne le fractionnent avant.
[11:39] Ubit Umarov : le congrès n'a rien dit à ce sujet.
[11:39] Gavin.Hird @grid.xmir.org:8002: que le démantèlement de Google ?
[11:40] Gavin.Hird @grid.xmir.org:8002 : Je pense qu'ils le font
[11:40] Ubit Umarov : est-ce que c'est toujours un truc américain ?
[11:40] Michael.Christopher @cc.opensimulator.org:8002 : faisons-nous référence aux lois anti-monopole ?
[11:40] Ubit Umarov : et ils ne possèdent pas la moitié du congrès ? :P
[11:40] Ubit Umarov : la moitié même...
[11:40] Gavin.Hird @grid.xmir.org:8002 : aussi l'entreprise maintenant connue comme "la pire entreprise de 2021" pourrait être démantelée.
[11:40] Michael.Christopher @cc.opensimulator.org:8002: :))
[11:41] Ubit Umarov : tcp est un protocole orienté flux... il essaie de garder un "fil" connecté tout le temps.
[11:41] Ubit Umarov : http3 est une chose orientée connexion...
[11:42] Ubit Umarov : plus d'emphase sur la connexion/déconnexion rapide qui est une douleur sur tcp.
[11:42] Gavin.Hird @grid.xmir.org:8002 : bien sûr, mais certaines données peuvent être envoyées sans que personne ne se soucie de leur réception.
[11:42] Ubit Umarov : lludp est un protocole orienté message, supposément encore plus léger.
[11:42] Andrew Hellershanks : L'ordre des paquets n'est pas non plus garanti avec UDP.
[11:43] Ubit Umarov : regarde ils utilisent UDP parce qu'il n'y a rien d'autre dans le protocole.
[11:43] Ubit Umarov : et UDP ajoute seulement un peu de choses sur les paquets par rapport aux niveaux inférieurs de la pile.
[11:43] Ubit Umarov : donc c'est presque comme les paquets de base que tout le monde peut utiliser.
[11:43] Jagga Meredith : il y a Appletalok mais je ne pense pas qu'il soit routable.
[11:44] Ubit Umarov : il a une interface exposée au noyau.
[11:44] Gavin.Hird @grid.xmir.org:8002 : Appletalk ? - c'est le dernier millénaire
[11:44] Ubit Umarov : tout le monde peut créer un protocole pour remplacer tcp en l'utilisant.
[11:44] Ubit Umarov : et beaucoup l'ont fait
[11:44] Ubit Umarov : ce n'est  pas à google juste pour
[11:44] Ubit Umarov : et maintenant...
[11:45] Gavin.Hird @grid.xmir.org:8002 : et il pourrait être routé.
[11:45] Ubit Umarov :pareil que tcp
[11:45] Ubit Umarov : cela dépend de ce qui est ajouté.
[11:45] Ubit Umarov : les routeurs sont des choses de haut niveau.
[11:45] Ubit Umarov : qui connaissent le tcp.
[11:45] Gavin.Hird @grid.xmir.org:8002 : Je me souviens qu'en 1989, nos serveurs de messagerie Microsoft en Norvège ont commencé à se synchroniser avec les serveurs d'Anchorage parce que quelqu'un avait établi une route qui n'était pas du tout destinée à cet usage.
[11:46] Ubit Umarov : donc cela peut ne pas donner les accélérations (ou ralentissements) que les routeurs produisent pour tcp.
[11:46] Ubit Umarov : en fait les routeurs regardent même le niveau http.
[11:46] Gavin.Hird @grid.xmir.org:8002 : ces serveurs ne comprennent que Appletalk.
[11:46] Ubit Umarov: Oui
[11:47] Ubit Umarov : je suppose que certaines des accélérations de l'utilisation d'udp sont trompeuses.
[11:47] Ubit Umarov : pour commencer, les paquets UPD sont prioritaires sur tcp, afin de protéger la vidéo et l'audio.
[11:48] Ubit Umarov : donc ils s'appuient sur cela... possible avec un impact très négatif sur les choses "en temps réel" utilisant udp.
[11:48] Ubit Umarov : bien sûr, Google s'en moque... ils veulent juste que leurs serveurs soient plus rapides.
[11:49] Ubit Umarov : alors ils ont fait la même chose, juste quelques paquets au début de la connexion et à la fermeture.
[11:49] Ubit Umarov : en fait fermer tcp c'est plutôt mauvais.
[11:50] Ubit Umarov : les ressources doivent rester allouées pendant longtemps après la fermeture d'une connexion tcp.
[11:50] Ubit Umarov : comme ces sockets dans TIME_WAIT etc...
[11:50] Gavin.Hird @grid.xmir.org:8002 : Au cas où un paquet "tortue" arrive avec 5 minutes de retard ?
[11:51] Ubit Umarov: Oui
[11:51] Ubit Umarov: bc f multi path
[11:51] Vincent.Sylvester @hg.zetaworlds.com:8002 : C'est un cri de guerre contre le paiement de la bande passante parce que les grands opérateurs font des milliards sans vraiment mettre à niveau l'infrastructure vieillissante, parce qu'ils savent que la plupart n'ont pas le choix s'ils veulent rester sur Internet. Tous les grands opérateurs sont bloqués dans cette position depuis quelques années maintenant, et cela ne devient un problème que maintenant avec l'augmentation de 20% du trafic due aux confinements.
[11:51] Vincent.Sylvester @hg.zetaworlds.com:8002 : Plus toute la merde du cloud qui déplace des trucs d'un centre de données à un autre sans raison.
[11:52] Ubit Umarov : eh bien le code google augmente considérablement la bande passante en augmentant simplement le ttl de leurs entrées DNS.
[11:53] Ubit Umarov : les DNS sont une grande partie du trafic.
[11:53] Andrew Hellershanks : Nous sommes à moins de 10 minutes du début de l'heure. Quelqu'un d'autre a-t-il des questions relatives à OpenSimulator ?
[11:53] Ubit Umarov : ahh http3 permet aussi le ssl  bas niveau.
[11:53] Ubit Umarov : ssl est obligatoire avec lui
[11:54] Ubit Umarov : ( économise un ou deux paquets lors de la création d'une connexion sécurisée )
[11:54] Ubit Umarov : le fait que cela force un ssl lourd et inutile est un détail dont ils se moquent :p
[11:55] Ubit Umarov : je déteste le fait que tout le monde pense avoir besoin de connexions "sécurisées".
[11:56] Andrew Hellershanks : Est-ce que tu voulais demander quelque chose, Michael ? Je pensais t'avoir vu taper.
[11:56] Ubit Umarov : notre chat ici est même enregistré pour être mis sur un site public.
[11:56] Ubit Umarov : pourquoi utiliserions-nous des connexions "sécurisées" ?
[11:56] Ubit Umarov : :)
[11:56] Vincent.Sylvester @hg.zetaworlds.com:8002 : OpenSim a quelques structures de données obscures que vous pouvez joyeusement envoyer sur http parce que, à moins que vous ne sachiez comment décoder ce bazar, vous ne pouvez obtenir aucune information de ces données.
[11:57] Ubit Umarov : c'est une exigence xml bs.
[11:57] Ubit Umarov : on a toujours besoin de savoir ce que sont les données... peu importe la déclaration.
[11:58] Vincent.Sylvester @hg.zetaworlds.com:8002 : osUTF8 asciibytes Je n'ai même pas codé en base64 le bordel lol
[11:58] Ubit Umarov : ( et qui a dit que les humains ne lisaient pas le binaire ?? jezzz )
[11:58] Ubit Umarov: :p
[11:58] Michael.Christopher @cc.opensimulator.org:8002 : ubit - je peux comprendre pourquoi les utilisateurs finaux n'ont peu ou pas de raison d'avoir des connexions sécurisées, mais... je ne vois pas comment nous pourrions autoriser http pour certains tout en sécurisant seulement des parties (comme pour les entreprises) qui en ont besoin.
</pre>


= Voice -- slvoice.exe =
== Dessiner 36 carrés sur le terrain ==
[http://wiki.secondlife.com/wiki/Voice/Technical#Executables slvoice.exe]
*  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 +.  
* Enveloppe autour de Vivox SDK
* Masquer les bords avec la '''touche H'''.  
* Lancé lorsque la voix est activée dans OpenSim si Vivox est configuré.
* Passer en vue du dessus avec '''NUM 7''' (touche 7 du pavé numérique) et en sélection par point.
* Exécute un serveur TCP qui écoute et répond aux commandes et aux requêtes en utilisant un format XML.
* 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).
[https://fr.wikipedia.org/wiki/Session_Initiation_Protocol Protocole SIP] (Vivox)
* Utiliser la technique de '''la touche NUM + avec CTRL''' 22 fois pour sélectionner 22 lignes supplémentaires. (Rappel : enfoncer la touche CTRL et utiliser la touche + du pavé numérique pour sélectionner les autres lignes. )
* Repérer la dernière ligne sélectionnée. Désélectionner tout avec '''ALT + A''' et, sélectionner cette dernière ligne  avec '''SHIFT + ALT et clic''' et la marquer depuis le menu '''Edge''' avec '''Mark Seam.'''
* Laisser cette ligne sélectionnée et utiliser la combinaison '''CTRL + NUM+''' 22 fois pour repérer la prochaine ligne de couture à marquer avec '''Mark Seam'''. Attention les lignes à gauche de la ligne de départ vont aussi être sélectionnées. Seules les lignes de droite nous intéressent ici.
* Continuez ainsi pour obtenir 6 subdivisions de 22 lignes chacune sur la largeur du terrain.
* Subdiviser le terrain de la même façon en partant de la ligne horizontale du dessus pour obtenir 6 subdivisions verticales du terrain. Ainsi la grille obtenue forme 36 carrés.
<gallery>
Fichier:Terrain phase 003 base.png |Sélection par face
Fichier:Terrain_phase_003_selection.jpg | CTRL + NUM +
Fichier:Terrain phase 003 selection complete.jpg |Sélection
Fichier:Terrain phase 003 bords masques.png |Masquer avec H
Fichier:Terrain phase 004 bord gauche.png |Bord gauche
Fichier:Terrain phase 004 22 lignes.png |23 lignes
Fichier:Terrain phase 004 ligne 22 marquee.jpg |Couture
Fichier:Terrain phase 004 selection suite.jpg | Repérage suite
Fichier:Terrain phase 004 divisions horizontales.jpg |Subdivisions horizontales
Fichier:Terrain phase 004 selection horizontale.jpg | Sélection horizontale
Fichier:Terrain phase 004 36 carres.jpg | 36 carrés.
</gallery>


[http://opensimulator.org/wiki/Freeswitch_Module/fr Module Freeswitch ]
= 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://fr.wikipedia.org/wiki/Mumble Mumble]
== UVMAP du plateau ==
* [http://opensimulator.org/wiki/Mumble Mumble] : Dernière mise à jour mars 2012 en anglais
* Afficher le plateau du terrain avec la combinaison de touches '''ALT + H'''.
* [https://github.com/mumble-voip/mumble Source de Mumble]
* 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>


Qt
= Créer les matériaux =
* [https://fr.wikipedia.org/wiki/Qt  Wikipédia API orientée objet et développée en C++]
== Matériau des bords ==
* [https://doc.qt.io/ Documentation]
* En '''mode Edit''', afficher et sélectionner les bords du terrain comme vu précédemment.  
<pre>
* Ouvrir le '''panneau des propriétés des matériaux''' (petite icône orange) dans l'éditeur des propriétés.  
[11:58] Kayaker Magic : Gavin, pouvez-vous me donner un aperçu de ce que fait slvoice.exe ?
* 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.  
[11:58] Gavin.Hird @grid.xmir.org:8002: non
* Il est possible de modifier la couleur dans '''Base Color'''.  
[11:59] Kayaker Magic: LOL
* 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'''.
[11:59] Ubit Umarov: lol
<gallery>
[11:59] Gavin.Hird @grid.xmir.org:8002 : c'est une boîte noire.
Fichier:Terrain phase 005 afficher bords.jpg| Bords sélectionnés
[11:59] Andrew Hellershanks: hehe
Fichier:Terrain phase 007 proprietes materiaux.jpg|Matériaux
[11:59] Gavin.Hird @grid.xmir.org:8002 : seul LL possède le code.
Fichier:Terrain phase 007 materiau bords.jpg | Configuration
[11:59] Kayaker Magic : Je me demandais pourquoi vivox est nécessaire pour une communication vocale locale entre avatars voisins sur le même serveur.
Fichier:Terrain phase 007 materiau vert.jpg | Ensemble du mesh
[11:59] Michael.Christopher @cc.opensimulator.org:8002 : hum @kayaker/Gavin - si nous avions cela, nous aurions notre propre version améliorée.
</gallery>
[11:59] Gavin.Hird @grid.xmir.org:8002 : il se situe entre les serveurs vieer et vivox, mais ce qu'il fait exactement...
[12:00] Ubit Umarov : il fait aussi le sale boulot de contrôler le micro, et les choses de l'audio.
[12:00] Ubit Umarov: audio..
[12:00] Gavin.Hird @grid.xmir.org:8002: oui
[12:00] Ubit Umarov : c'est un essentiellement un téléphone logiciel.
[12:00] Ubit Umarov : sous le contrôle du viewer.
[12:01] Ubit Umarov : en fait, il est né comme un simple téléphone SIP.
[12:01] Ubit Umarov : et l'est toujours
[12:01] Gavin.Hird @grid.xmir.org:8002 : pourquoi est-ce nécessaire ? Je suppose que c'est configuré comme ça parce que Vivox vend des services supplémentaires qui peuvent être superposés à la voix.
[12:01] Ubit Umarov : pourquoi freeswitch fonctionne-t-il ?
[12:01] Gavin.Hird @grid.xmir.org:8002 : pour un chat vocal (qui ne fonctionne pas sur opensim) il établit juste la connexion, le reste est géré localement.
[12:02] Gavin.Hird @grid.xmir.org:8002 : ou plutôt peer to peer
[12:03] Vincent.Sylvester @hg.zetaworlds.com:8002 : Essentiellement, il génère quelque chose dans lequel le matériel audio peut s'accrocher, il ne le gère pas directement, il fait juste le pont entre les deux, mais il suffit de le casser avec un marteau pour voir ce qu'il fait en détail.
[12:03] Ubit Umarov : comme je l'ai dit, c'est un téléphone SIP modifié.
[12:04] Gavin.Hird @grid.xmir.org:8002 : Je pense qu'un développeur de viewer a le code de slvoice.exe, mais il ne veut pas s'en séparer.
[12:04] Ubit Umarov : et qui se soucie de ce code... il dépend de l'existence de comptes viviox.
[12:05] Ubit Umarov : la spécification originale est ouverte.
[12:05] Ubit Umarov : quelque part sur ll sites
[12:05] Gavin.Hird @grid.xmir.org:8002 : tout le monde peut l'avoir si vous payez.
[12:05] Ubit Umarov : vous avez vu leurs tarifs ? :)
[12:05] Gavin.Hird @grid.xmir.org:8002 : bien sûr.
[12:05] Ubit Umarov : et même aucune idée s'ils veulent de opensim maintenant.
[12:05] Gavin.Hird @grid.xmir.org:8002 : Je n'ai pas dit si vous pouvez vous permettre de payer ;-)
[12:06] Ubit Umarov : :)
[12:06] Ubit Umarov : le fait est que le besoin d'utiliser la nouvelle version est blabla.
[12:06] Vincent.Sylvester @hg.zetaworlds.com:8002 : Même si vous le faites, je doute que vous obteniez plus de bande passante ou des codecs plus élevés de toute façon.
[12:06] Ubit Umarov : SL utilise la même vieille version
[12:06] Vincent.Sylvester @hg.zetaworlds.com:8002 : Tu as écouté ça récemment, ça ressemble à des boîtes de conserve connectées par une ficelle.
[12:07] Ubit Umarov : vivox utilise des codecs payants.
[12:07] Ubit Umarov : ils pensent maintenant aux leurs.
[12:07] Vincent.Sylvester @hg.zetaworlds.com:8002 : Cela ressemble beaucoup à une variante de speex, étant donné le niveau de qualité que nous obtenons.
[12:08] Gavin.Hird @grid.xmir.org:8002 : ce vieux mumble ou ce qu'on appelle ainsi utilise une connexion 2.4ish kHz.
[12:08] Ubit Umarov : des personnes ont écrit dans le passé "...haute définition, libre de droits Siren 14 (G 722.1C) codec vocal".
[12:08] Ubit Umarov : en fait NON... ils ont utilisé la version payante fermée de Siren.
[12:08] Ubit Umarov : puis ils ont ajouté des fonctions 3d.
[12:09] Ubit Umarov : et personne n'a ce codec à part Vivox, bien sûr.
[12:09] Michael.Christopher @cc.opensimulator.org:8002: bien sûr.
[12:09] Kayaker Magic : Quelle est la relation entre vivox (ou tout autre code vocal) et la bibliothèque fmod ?
[12:09] Ubit Umarov : aucune.
[12:09] Gavin.Hird @grid.xmir.org:8002 : c'est pourquoi slvoice.exe est une boîte noire.
[12:09] Ubit Umarov : juste pour les deux parties de l'audio :)
[12:10] Ubit Umarov : mais sur les viewers fmod sert à  jouer des choses.
[12:10] Michael.Christopher @cc.opensimulator.org:8002 : kayaker, c'est toi qui m'a parlé à la dernière OSCC d'essayer de travailler sur freeswitch, ou je confond avec quelqu'un  d'autre ?
[12:10] Ubit Umarov : aucune relation avec la voix.
[12:10] Kayaker Magic: pas moi !
[12:10] Selby.Evans @grid.kitely.com:8002 : c'était IMA
[12:11] Selby.Evans @grid.kitely.com:8002 : Demande à Lisa
[12:11] Michael.Christopher @cc.opensimulator.org:8002: merci selby
[12:12] Gavin.Hird @grid.xmir.org:8002 : ajoutez un client vocal Telegraam dans lviewer si les gens veulent discuter en tête-à-tête ou en conférence.
[12:12] Ubit Umarov : bien sûr, les personnes qui ont fait fonctionner Mumble sur opensim à l'époque, ont fait un remplacement de Slvoice.exe.
[12:12] Gavin.Hird @grid.xmir.org:8002 : la seule objection est qu'il est géré via Dubaï et non via une société américaine.
[12:13] Ubit Umarov : des sources quelque part.
[12:13] Ubit Umarov : ima est en train de refaire ça.
[12:14] Andrew Hellershanks : Ceci semble être la source de Mumble -> https://github.com/mumble-voip/mumble
[12:15] Andrew Hellershanks : La dernière mise à jour du code date d'il y a deux jours.
[12:15] Ubit Umarov : duhh c'est le serveur principal.
[12:15] Andrew Hellershanks : Il est maintenant un quart de l'heure. Des derniers commentaires ou questions concernant OpenSimulator pour aujourd'hui ?
[12:16] Michael.Christopher @cc.opensimulator.org:8002 : pas pour aujourd'hui, mais pour la semaine prochaine :)
[12:16] Gavin.Hird @grid.xmir.org:8002 : ... alors que le serveur devrait fonctionner sur tout ce sur quoi Qt peut être installé.
[12:16] Gavin.Hird @grid.xmir.org:8002 : le bon vieux Qt.
[12:17] Ubit Umarov : oops je viens de faire un commit.
[12:17] Gavin.Hird @grid.xmir.org:8002: lol
[12:17] Andrew Hellershanks : Enlevez le mot mumble à la fin de cette URL et vous verrez beaucoup de projets liés.
[12:17] Michael.Christopher @cc.opensimulator.org:8002: :))
</pre>


= Conclusion -- fêtes de fin d'année =
== Matériaux des carrés ==
<pre>
=== Créer les matériaux ===
[12:17] Jamie.Jordan @grid.kitely.com:8002 : Merci à tous, passez une bonne semaine.
* 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:17] Gavin.Hird @grid.xmir.org:8002 : est-ce qu'il envoie un message de "joyeux Noël" à tous les utilisateurs ?
* 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:18] Michael.Christopher @cc.opensimulator.org:8002 : Joyeux Noël/Bonnes vacances !
* 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:18] Andrew Hellershanks : Le programme VLC affiche maintenant son icône avec un chapeau de Père Noël sur le dessus. :)
* 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:18] Jamie.Jordan @grid.kitely.com:8002 : Joyeux Noël
* 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:18] Andrew Hellershanks : Joyeux Noël à ceux d'entre vous qui célèbrent Noël. J'espère que vous profitez tous des fêtes. Merci à tous d'être venus. Nous nous reverrons la semaine prochaine.
* 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:19] Michael.Christopher @cc.opensimulator.org:8002 : Bonne semaine à tous !
* Générer 36 matériaux à partir matériau de base qui vient d'être créé. Pour chaque matériau :
[12:19] Ubit Umarov : Ohh c'est encore cette période de l'année.
# Dans l'éditeur de propriété des matériaux appuyer sur le '''bouton +'''.
[12:19] Motoko.Karu @login.digiworldz.com:8002 : Merci... Joyeux Noël à vous aussi...
# À gauche du bouton New, déplier la liste des matériaux disponibles et sélectionner "Terrain_carre_modele".
[12:19] Ubit Umarov : Joyeux Noël les amis :)
# 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:19] Kayaker Magic : au revoir à tous, et merci pour la discussion et les informations !
 
[12:19] Gavin.Hird @grid.xmir.org:8002 : Joyeux Noël à tous !
<gallery>
[12:19] Andrew Hellershanks : C'est bientôt la fin d'une nouvelle année.
Fichier:Terrain phase 008 ajouter materiau.jpg | Nouveau matériau
[12:19] Gavin.Hird @grid.xmir.org:8002 : ou Dieu Jul comme nous, vikings disons...
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
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

  • 🏗️