• Nos produits
  • Nos réalisations
  • Interactivité
  • Documentation (current)
  • fr (change language)
    fr
    en
  • Introduction
  • Tutoriels
    • Introduction
    • Premiers pas
    • Connexion avec un nano-routeur
    • Connexion filaire directe
    • Transférer du contenu
    • Utiliser l'API de contrôle
  • Guides techniques
    • Introduction
    • Modifier la playlist
    • Les règles de la création d'hologrammes
    • Guide d'utilisation de Holusion content manager
    • Guide d'installation et d'utilisation de Holusion Companion
    • Inverser une caméra sur Unity 3D
  • Références
    • Introduction
    • organisation
    • controle de playlist
  • Manuels produits
    • Introduction
    • Manuel Iris 22
    • Manuel Iris 32
    • Manuel Iris 46
    • Manuel d'assemblage Iris 46
    • Manuel Prism
    • Manuel Opal
    • Assemblage stèle Iris 22
    • Assemblage stèle Iris 32
    • Manuel Hélices holographiques
  • Documents
    • Introduction
    • eCorpus
    • eThesaurus
    • Maquettes holographiques
    • Musées et Culture
    • Produits techniques
    • Guide d'intégration

Inverser une caméra sur Unity 3D

Miroir horizontal de caméra sur Unity 3D

Pour pouvoir utiliser Unity3D sur les produits Holusion, la première étape est généralement d’inverser la caméra. Elle doit afficher l’image comme vue à travers un miroir.

Deux méthodes sont possibles: En utilisant le hook OnPreCull de la caméra, ou via un Post Process Volume (>5.6 uniquement).

Note : Sur certains produits, cette inversion peut aussi être réalisée directement via la configuration du serveur X dans le contrôleur.

Méthode PostProcessing

Depuis la version 5.6, Unity propose un module de post-processing. Il permet la mise en place d’effets visuels divers : flou de mouvement, color grading, etc… Il est possible de réaliser un shader d’inversion de l’image :

Dans un premier temps, installez le package Post Processing v2 via le Package Manager d’Unity, puis téléchargez le package CameraFlop via Unity. Pour que le Shader aie un effet, il faut ajouter un composant Post Process Layer et un composant Post Process Volume et lui ajouter l’effet Camera Flop. De plus ajoutez le Shader dans Edit > Project settings > Gaphics > Always included Shaders, augmentez l’option Size si nécessaire.

Méthode sans PostProcessing

Pour ce faire, attachez le script suivant à chaque caméra de la scène : (Téléchargez le script ici)

    using UnityEngine;
    using System.Collections;

    [RequireComponent (typeof (Camera))]
    public class HSymmetry : MonoBehaviour {

    	void OnPreCull () {
    		Matrix4x4 scale;
    		if(camera.aspect >2){
    			scale = Matrix4x4.Scale (new Vector3 (-1, 1, 1));
    		}else{
    			 scale = Matrix4x4.Scale (new Vector3 (1, -1, 1));
    		}
    		camera.ResetWorldToCameraMatrix ();
    		camera.ResetProjectionMatrix ();
    		camera.projectionMatrix = camera.projectionMatrix * scale;
    	}
    	void OnPreRender () {
    		GL.SetRevertBackfacing (true);
    	}
    	void OnPostRender () {
    		GL.SetRevertBackfacing (false);
    	}
    }

Ce script inverse horizontalement les cameras. Attention, il n’est pas protégé contre les cameras aux aspects/ratio spéciaux et peut nécessiter quelques modifications.

Contact

  • contact@holusion.com
  • +33 (0)9 70 66 77 96
  • 111, avenue Jean Lebas
    59100 Roubaix, France

Holusion

  • Qui sommes-nous ?
  • Conditions générales de vente
  • Politique de confidentialité

Nous Suivre

 
 
 
 
 
Holusion © 2015 - 2025 CC. Attribution ShareAlike CC.BySa