« PBR - Les miroirs » : différence entre les versions

De OSWiki
Aller à la navigation Aller à la recherche
(52 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
Ce tutoriel décrit la création de miroirs dans OpenSim 0.9.3 avec le viewer Firestorm 7.1.9, optimisé pour utiliser les fonctionnalités [[Lexique_des_réunions#PBR|PBR]]. Les miroirs peuvent ajouter un élément intéressant à vos mondes virtuels, bien que leur utilisation puisse être limitée par les exigences matérielles. Ce tutoriel vous guidera à travers les étapes pour intégrer des miroirs dans vos créations. Bonne lecture et bonne exploration !
Ce tutoriel décrit la création de miroirs dans OpenSim 0.9.3 avec le viewer Firestorm 7.1.9, optimisé pour utiliser les fonctionnalités [[Lexique_des_réunions#PBR|PBR]]. Les miroirs peuvent ajouter un élément intéressant à vos mondes virtuels, bien que leur utilisation puisse être limitée par les limites de votre matériel et de celui de vos visiteurs. Ce tutoriel vous guidera pour intégrer des miroirs dans vos créations. C'est le résultat de tests qui ont été faits sur une standalone, Sqlite, système d'exploitation Ubuntu 22.04. Il est possible que les miroirs réagissent différemment dans d'autres conditions. Ce tutoriel est un début. Faites vos tests. Bonne lecture et bonne exploration !
= Pré-requis=
= Pré-requis=
== Pour tout le monde ==
== Pour tout le monde ==


=== Le viewer ===
=== Le viewer ===
* Pour suivre ce tutoriel il faudra utliser la '''version [[Lexique_des_réunions#PBR | PBR]] du [[Lexique_des_réunions#Viewer_Firestorm |viewer Firestorm]] c'est à dire la version 7.1.9 ou supérieure'''.
* Pour suivre ce tutoriel il faudra utliser la '''version [[Lexique_des_réunions#PBR | PBR]] du [[Lexique_des_réunions#Viewer_Firestorm |viewer Firestorm]] c'est à dire la version 7.1.9 ou supérieure'''. Si vous utilisez une version moins récente, vous ne verrez ni les matériaux et les terrains PBR ni les miroirs.
* Si vous utilisez une version plus récente, vous ne verrez ni les matériaux et les terrains PBR ni les miroirs.
<gallery>
<gallery>
File:Tuto_Miroir_020_001_002.jpg |Firestorm PBR
File:Tuto_Miroir_020_001_002.jpg |Firestorm PBR
File:Tuto_Miroir_021_002.png |Firestorm non PBR
File:Tuto_Miroir_021_002.png |Firestorm non PBR
</gallery>
</gallery>
* Activez les miroirs :  
* '''Activer les miroirs dans Firestorm''' :  
Pour cela, ouvrez les préférences du viewer ('''Edit/préférences'''). Puis sous l'onglet '''"Graphiques"''' sous '''"Shaders"''' cochez la case '''"Miroirs"'''. (Voir l'image ci-dessous).
Pour cela, ouvrez les préférences du viewer ('''Edit/préférences'''). Puis sous l'onglet '''"Graphiques"''' sous '''"Shaders"''' cochez la case '''"Miroirs"'''. (Voir l'image ci-dessous).
<gallery>
<gallery>
Ligne 19 : Ligne 18 :
=== Optimisation matérielle éventuelle  ===
=== Optimisation matérielle éventuelle  ===
<ul>
<ul>
<li> La version PBR de Firestorm demande plus de ressources matérielles que les versions antérieures. Si vous disposez d'une machine trop ancienne, il se peut que vous ne pourrez pas l'utiliser.</li>
<li> La version PBR de Firestorm demande plus de ressources matérielles que les versions antérieures. Si vous disposez d'une '''machine trop ancienne''', il se peut que vous ne puissiez pas l'utiliser.</li>
<li> Le système d'exploitation aussi risque de poser quelques problèmes. Sur mon ordinateur j'ai installé deux systèmes '''Ubuntu''' (Linux) , une version 20.04 et une version 22.04. Firestorm PBR ne fonctionne que sur la version '''22.04'''. Actuellement, je n'ai pas d'information pour Windows. Il faudra tester.</li>
<li> '''Le système d'exploitation''' aussi risque de poser quelques problèmes. Par exemple, Firestorm PBR ne fonctionne pas sur Ubuntu 20.04 mais sur ''' Ubuntu 22.04''' (versions Ubuntu plus récentes, Microsoft et Mac non testées). </li>
<li> Pour limiter le lag, deux paramètres du viewer sont importants (voir  l'image des préférences ci-dessus).Adaptez ces deux paramètres à votre matériel :  
<li> Pour limiter le lag, deux paramètres du viewer sont importants (voir  l'image des préférences ci-dessus).Adaptez ces deux paramètres à votre matériel :  
<ul>
<ul>
Ligne 49 : Ligne 48 :
==Administrateur de région  ==
==Administrateur de région  ==
=== Opensimulator ===
=== Opensimulator ===
* '''Pour utiliser les fonctionnalités PBR  il faut utliser la version 0.9.3 d'Opensimulato'''r. Au jour où ce tutoriel est écrit 0.9.3 est la version de développement d'OpenSim. Ainsi, vous ne pouvez pas la télécharger aussi facilement que la version courante. Référez vous à [[Lexique_des_réunions#Télécharger_OpenSim|cette page ]] pour savoir comment télécharger la version de développement d'OpenSimulator.
* '''La version 0.9.3 d'Opensimulator''' vous permettra d'utiliser [[Lexique_des_réunions#PBR|PBR]] et de créer des miroirs. À la date de création de ce tutoriel OpenSim 0.9.3 est la version de développement. Référez-vous à [[Lexique_des_réunions#Télécharger_OpenSim|'''cette page''' ]] pour télécharger cette version.
* Il faut savoir que sur GNU/Linux on ne peut plus utiliser Mono. Il faudra installer [[Lexique_des_réunions#dotnet |'''dotnet 8''']] et quelques autres paquets . Par exemple, sur Ubuntu 22.04 lancez ces commandes :  
* Sur GNU/Linux, depuis OpenSim 0.9.3  il n'est  plus possible d'utiliser Mono [https://fr.wikipedia.org/wiki/Mono_(logiciel)] pour lancer un simulateur. Il faudra installer [[Lexique_des_réunions#dotnet |'''dotnet 8''']] et quelques autres paquets. Par exemple, sur Ubuntu 22.04 lancez ces commandes :  
  sudo apt install -y apt-utils libgdiplus libc6-dev
  sudo apt install -y apt-utils libgdiplus libc6-dev
  sudo apt install -y dotnet-runtime-8.0
  sudo apt install -y dotnet-runtime-8.0
* Plus d'informations ici : http://opensimulator.org/wiki/Dependencies
* Vous trouverez plus d'informations ici : http://opensimulator.org/wiki/Dependencies
* '''On me dit dans mon oreillette qu' OpenSim 0.9.2.2 permet aussi la création de miroirs. Je testerai et vous tiendrai au courant.''' 😀 : alors j'ai testé, je n'ai pas réussi à avoir un miroir avec reflet de l'avatar sur une région 0.9.2.2. On voit un reflet, mais ce n'est pas le vrai miroir.


=== Configuration de Firestorm ===
=== Configuration de Firestorm ===
* Activez '''"Sélectionner les sondes de réflexion"''' depuis le menu '''"Construire/Options"''' (Voir l'image ci-dessous).
* Activez '''"Sélectionner les sondes de réflexion"''' depuis le menu '''"Construire/Options"''' (Voir l'image de droite).
<gallery>
[[File: tuto_miroir_002.png |thumb|150px|right|Activer les sondes de réflexion]]
File: tuto_miroir_002.png  
</gallery>


= Étapes de création d'un miroir PBR =
= Étapes de création d'un miroir PBR =
== Création du miroir ==
== Création du miroir ==
Créez une '''surface brillante''' en PBR ou en texture classique . L'image ci-dessous montre comment créer une surface brillante classique dans le nouvel éditeur de FireStorm.  
Créez une '''surface brillante''' en PBR ou en texture classique . L'image de droite montre comment créer une surface brillante classique dans le nouvel éditeur d'objets de FireStorm.  
 
[[File: tuto_miroir_003.png|thumb|150px|right|Créer un miroir]]
Dans l'outil d'édition des textures vous verrez 3 onglets : PBR, Blinn Phong et Média.
Dans l'outil d'édition des textures vous verrez '''3 onglets''' : PBR, Blinn Phong et Média.


* Comme vous pouvez vous en douter PBR permet d'appliquer un matériau PBR sur un objet.
* Comme vous pouvez vous en douter PBR permet d'appliquer un matériau PBR sur un objet.
Ligne 71 : Ligne 69 :
* Média permet de créer un MOAP (Média On A Prim).
* Média permet de créer un MOAP (Média On A Prim).


Définissez une texture blanche, une normal map par défaut et une
Cliquez sur l'onglet '''Blinn Phong''' et choisissez des '''textures diffuse et spéculaire blanches et une normale map par défaut'''.
<br>Définissez '''la brillance et l'environnement à 255'''.


== Sondes de réflexion ==
== Sondes de réflexion ==
=== Activation ===
<gallery>
File:tuto_miroir_004.png | Créer une sonde
File:tuto_miroir_005.png | Orienter la sonde
File: tuto_miroir_006.png |Ajustement de la sonde
File: tuto_miroir_007.png | Plusieurs miroirs
</gallery>
=== Création de la sonde ===
=== Création de la sonde ===
* Rezzez un cube.
* Dans l'éditeur d'objet dans '''"Attributs"''' cochez la case '''"Sonde de réflexion".'''
* Sélectionnez le mode de mise à jour '''"Miroir (tout)"'''.
=== Ajustement de la sonde pour le miroir ===
=== Ajustement de la sonde pour le miroir ===
* Choisir l'axe de grille '''"Local"''' pour positionner les objets dans l'éditeur.
* Orientez la sonde comme sur la deuxième image ci-dessus. '''La flèche bleue''' qui représente l'axe des Z doit être '''perpendiculaire à la surface brillante du miroir''' et orientée dans le '''sens miroir -> extérieur'''.
* Étirez '''la sonde'''  et déplacez-la de telle façon qu'elle '''enveloppe le miroir''' comme sur la troisième image ci-dessus.
* '''Il est possible d'ajouter d'autres miroirs''' et de les englober dans la sonde de réflexion. Mais tous les miroirs ajoutés doivent être placés '''sur la même ligne''' comme sur la 4ème image.
= Résumé  rapide =
# '''Activer les miroirs''' dans Préférences/Graphique et ajuster la résolution et le rythme de mise à jour du miroir.
# '''Activer la Sélection de la sonde''' de réflexion dans "Construction/Options"
# '''Créer le miroir ''' :  primitive avec une surface brillante  Blinn-Phong ou PBR.
# Rezzer un cube et cocher '''"Sonde de réflexion"''' dans les attributs de l'éditeur d'objets. Sélectionnez le mode de mise à jour '''"Miroir (tout)"'''
# Choisir l'axe de grille '''"Local"''' pour positionner les objets.
# Étirer et déplacer la sonde pour '''envelopper le miroir''' .
# Il est possible de créer '''plusieurs miroirs dans la même sonde''' de réflexion mais, sur la même ligne.


= Expériences Pratiques : Réussites et Limitations =
= Expériences Pratiques : Réussites et Limitations =
== Fonctionnalités stables ==
== Fonctionnalités stables testées ==
<gallery>
File:Tuto_Miroir_019.png |Transparence
File:Tuto_Miroir_016.png |Particules
File:Tuto_Miroir_020_001_001.jpg|Environnement
File:Tuto_Miroir_020_007.jpg|Effet métal coloré
File:Tuto_Miroir_020_008.jpg|Avec glow et couleur
File:Tuto_Miroir_020_009.jpg|Effet vitre (environnement 180 + transparence)
File:Tuto_Miroir_020_010.jpg|Fenêtre
File:Tuto_Miroir_020_012.jpg|Plateau miroir
File:Tuto_Miroir_020_006.jpg|Sur un mesh
</gallery>
 
Les nouveaux miroirs dans OpenSim reflètent :
* les avatars, les primitives, les meshes, le mouvement des avatars
* les '''animeshes''' et leur mouvement,
* les '''éclairages''',
* la '''transparence''' des objets,
* les '''particules''',
* les '''environnements EEP'''
* les captures d'écran montrent d'autres utilisations testées.
 
== Éléments à prendre en considération==
== Éléments à prendre en considération==
<gallery>
File:Tuto_Miroir_009.png |Bug du glow
File:Tuto_Miroir_014.png |Bug de l'eau
File:Tuto_Miroir_015.png |Bord de sonde
File:Tuto_Miroir_0017.png |Miroirs en vis-à-vis
File:Tuto_Miroir_018.png |Éloignement
</gallery>
* Le '''glow''' et '''full brightness''' ne sont pas reflétés.
* Pendant le déplacement de l'avatar on voit un '''effet étrange dans l'eau''' lorsqu'il y a un miroir proche de l'avatar.
* Si '''deux sondes sont trop proches''' l'une de l'autre le viewer ne sait pas à quelle sonde se référer et il y a '''conflit'''. Les reflets peuvent être altérés.
* On ne peut pas mettre de miroir en vis-à-vis, '''pas de mise en abyme''', le reflet du miroir sera déformé et laid.
* Si un des bords de la sonde de réflexion est trop proche de la surface brillante du miroir alors le reflet près de ce bord sera déformé. Donc '''il faut bien faire dépasser la sonde de tous cotés'''.
= Ressources Complémentaires =
= Ressources Complémentaires =
* [[Lexique_des_réunions#PBR|PBR]]
* [http://opensimulator.org/wiki/GlTF_PBR PBR sur le wiki officiel d'OpenSim]
* [https://wiki.secondlife.com/wiki/Category:GlTF PBR sur Second Life]

Version du 17 juillet 2024 à 14:16

Ce tutoriel décrit la création de miroirs dans OpenSim 0.9.3 avec le viewer Firestorm 7.1.9, optimisé pour utiliser les fonctionnalités PBR. Les miroirs peuvent ajouter un élément intéressant à vos mondes virtuels, bien que leur utilisation puisse être limitée par les limites de votre matériel et de celui de vos visiteurs. Ce tutoriel vous guidera pour intégrer des miroirs dans vos créations. C'est le résultat de tests qui ont été faits sur une standalone, Sqlite, système d'exploitation Ubuntu 22.04. Il est possible que les miroirs réagissent différemment dans d'autres conditions. Ce tutoriel est un début. Faites vos tests. Bonne lecture et bonne exploration !

Pré-requis

Pour tout le monde

Le viewer

  • Pour suivre ce tutoriel il faudra utliser la version PBR du viewer Firestorm c'est à dire la version 7.1.9 ou supérieure. Si vous utilisez une version moins récente, vous ne verrez ni les matériaux et les terrains PBR ni les miroirs.
  • Activer les miroirs dans Firestorm :

Pour cela, ouvrez les préférences du viewer (Edit/préférences). Puis sous l'onglet "Graphiques" sous "Shaders" cochez la case "Miroirs". (Voir l'image ci-dessous).

Optimisation matérielle éventuelle

  • La version PBR de Firestorm demande plus de ressources matérielles que les versions antérieures. Si vous disposez d'une machine trop ancienne, il se peut que vous ne puissiez pas l'utiliser.
  • Le système d'exploitation aussi risque de poser quelques problèmes. Par exemple, Firestorm PBR ne fonctionne pas sur Ubuntu 20.04 mais sur Ubuntu 22.04 (versions Ubuntu plus récentes, Microsoft et Mac non testées).
  • Pour limiter le lag, deux paramètres du viewer sont importants (voir l'image des préférences ci-dessus).Adaptez ces deux paramètres à votre matériel :
    • La résolution du miroir qui va de 256 à 2048. Plus la résolution est élevée plus l'image est nette.
    • Le rythme de mise à jour du miroir.
      Vous aurez le choix entre  :
      • toutes les images ,
      • toutes les 2 images,
      • toutes les 3 images ou
      • toutes les 4 images.

      À partir de 2 images le rendu de la scène est saccadé.

Administrateur de région

Opensimulator

  • La version 0.9.3 d'Opensimulator vous permettra d'utiliser PBR et de créer des miroirs. À la date de création de ce tutoriel OpenSim 0.9.3 est la version de développement. Référez-vous à cette page pour télécharger cette version.
  • Sur GNU/Linux, depuis OpenSim 0.9.3 il n'est plus possible d'utiliser Mono [1] pour lancer un simulateur. Il faudra installer dotnet 8 et quelques autres paquets. Par exemple, sur Ubuntu 22.04 lancez ces commandes :
sudo apt install -y apt-utils libgdiplus libc6-dev
sudo apt install -y dotnet-runtime-8.0
  • Vous trouverez plus d'informations ici : http://opensimulator.org/wiki/Dependencies
  • On me dit dans mon oreillette qu' OpenSim 0.9.2.2 permet aussi la création de miroirs. Je testerai et vous tiendrai au courant. 😀 : alors j'ai testé, je n'ai pas réussi à avoir un miroir avec reflet de l'avatar sur une région 0.9.2.2. On voit un reflet, mais ce n'est pas le vrai miroir.

Configuration de Firestorm

  • Activez "Sélectionner les sondes de réflexion" depuis le menu "Construire/Options" (Voir l'image de droite).
Activer les sondes de réflexion

Étapes de création d'un miroir PBR

Création du miroir

Créez une surface brillante en PBR ou en texture classique . L'image de droite montre comment créer une surface brillante classique dans le nouvel éditeur d'objets de FireStorm.

Créer un miroir

Dans l'outil d'édition des textures vous verrez 3 onglets : PBR, Blinn Phong et Média.

  • Comme vous pouvez vous en douter PBR permet d'appliquer un matériau PBR sur un objet.
  • L'onglet Blinn Phong correspond aux textures classiques.
  • Média permet de créer un MOAP (Média On A Prim).

Cliquez sur l'onglet Blinn Phong et choisissez des textures diffuse et spéculaire blanches et une normale map par défaut.
Définissez la brillance et l'environnement à 255.

Sondes de réflexion

Création de la sonde

  • Rezzez un cube.
  • Dans l'éditeur d'objet dans "Attributs" cochez la case "Sonde de réflexion".
  • Sélectionnez le mode de mise à jour "Miroir (tout)".

Ajustement de la sonde pour le miroir

  • Choisir l'axe de grille "Local" pour positionner les objets dans l'éditeur.
  • Orientez la sonde comme sur la deuxième image ci-dessus. La flèche bleue qui représente l'axe des Z doit être perpendiculaire à la surface brillante du miroir et orientée dans le sens miroir -> extérieur.
  • Étirez la sonde et déplacez-la de telle façon qu'elle enveloppe le miroir comme sur la troisième image ci-dessus.
  • Il est possible d'ajouter d'autres miroirs et de les englober dans la sonde de réflexion. Mais tous les miroirs ajoutés doivent être placés sur la même ligne comme sur la 4ème image.

Résumé rapide

  1. Activer les miroirs dans Préférences/Graphique et ajuster la résolution et le rythme de mise à jour du miroir.
  2. Activer la Sélection de la sonde de réflexion dans "Construction/Options"
  3. Créer le miroir  : primitive avec une surface brillante Blinn-Phong ou PBR.
  4. Rezzer un cube et cocher "Sonde de réflexion" dans les attributs de l'éditeur d'objets. Sélectionnez le mode de mise à jour "Miroir (tout)"
  5. Choisir l'axe de grille "Local" pour positionner les objets.
  6. Étirer et déplacer la sonde pour envelopper le miroir .
  7. Il est possible de créer plusieurs miroirs dans la même sonde de réflexion mais, sur la même ligne.

Expériences Pratiques : Réussites et Limitations

Fonctionnalités stables testées

Les nouveaux miroirs dans OpenSim reflètent :

  • les avatars, les primitives, les meshes, le mouvement des avatars
  • les animeshes et leur mouvement,
  • les éclairages,
  • la transparence des objets,
  • les particules,
  • les environnements EEP
  • les captures d'écran montrent d'autres utilisations testées.

Éléments à prendre en considération

  • Le glow et full brightness ne sont pas reflétés.
  • Pendant le déplacement de l'avatar on voit un effet étrange dans l'eau lorsqu'il y a un miroir proche de l'avatar.
  • Si deux sondes sont trop proches l'une de l'autre le viewer ne sait pas à quelle sonde se référer et il y a conflit. Les reflets peuvent être altérés.
  • On ne peut pas mettre de miroir en vis-à-vis, pas de mise en abyme, le reflet du miroir sera déformé et laid.
  • Si un des bords de la sonde de réflexion est trop proche de la surface brillante du miroir alors le reflet près de ce bord sera déformé. Donc il faut bien faire dépasser la sonde de tous cotés.

Ressources Complémentaires