Boutique Cinema 4D
Affichage des résultats 1 à 3 sur 3

Discussion: Chroma Key et Video Alpha sous Unity

  1. #1

    Chroma Key et Video Alpha sous Unity

    Double image with Alpha for Chroma Key in Unity 3D, by Yann Minh (Yannminh.org)

    Make a movie with both, the foreground and the alpha key image on the same picture.
    Import this movie in Unity3D

    create a shader with the script written by LouLou from the french forum http://www.unity3d-france.com

    Apply this shader to a material, and adjust the Tile and offset of the texture of this material to hide the white alpha image.



    FRANÇAIS

    Unity ne reconnait pas les movies ayant un alpha, et la suppression par script du vert n'a pas un rendu terrible, il y a des pixels et des liserés vert autour de la découpe.

    pour contourner le problème, il suffit d'intégrer l'alpha en fabriquant un fichier vidéo comportant l'image de foreground, et sa découpe dans la même image. comme ceci


    Ensuite, il faut fabriquer un shader de type alpha, qu'on ajuste avec l'offset et tiling.

    Loulou sur le forum http://www.unity3d-france.com a ma requête a proposé un script de shader qui fonctionne très bien
    http://www.unity3d-france.com/unity/....php?f=8&t=901

    Code:
    Shader "Custom/VideoAlpha" {
       Properties {
          _MainTex ("Base (RGB)", 2D) = "white" {}
          _AlphaOffsetX ("alpha offset x", float) = 0.5
          _AlphaOffsetY ("alpha offset y", float) = 0
          _Cutoff ("Cutoff", Range (0,1)) = .5
       }
       SubShader {
       AlphaTest Less [_Cutoff]
             CGPROGRAM
             #pragma surface surf Lambert
       
             sampler2D _MainTex;
             float _AlphaOffsetX;
             float _AlphaOffsetY;
       
             struct Input {
                float2 uv_MainTex;
             };
       
             void surf (Input IN, inout SurfaceOutput o) {
                half4 c = tex2D (_MainTex, IN.uv_MainTex);
                IN.uv_MainTex.x += _AlphaOffsetX;
                IN.uv_MainTex.y += _AlphaOffsetY;
                half4 d = tex2D (_MainTex, IN.uv_MainTex);
                o.Albedo = c.rgb;
                o.Alpha = (d.r*-1)+1;
             }
             ENDCG
          
       } 
       FallBack "Diffuse"
    }
    ça marche nickel,
    c'est beaucoup plus beau que d'utiliser la suppression du vert,
    qui laisse un liseré...
    et avec une séquence de 600 pixels en hauteur la qualité est très supportable.

    Ci joint un lien vers deux séquences que je viens de faire, pour tester,
    pour ceux qui voudraient expérimenter le truc...

    http://www.noomuseum.net/mov/YannSte...eAlpha_674.mov
    (le fichier .ogv pour Unity http://www.noomuseum.net/mov/YannSte...eAlpha_674.ogv


    Modele Soizic Hess http://soizic-hess.com/
    http://www.noomuseum.net/mov/SoizicDoubleAlpha-674.mov
    (le fichier .ogv pour Unity http://www.noomuseum.net/mov/SoizicR...y-2-800ogv.ogv



    1) Comment rendre la texture lumineuse, de type Unlit... ?

    ????

    2) comment faire pour que ça marche avec une texture en .ogv
    téléchargée depuis le net... ?

    La j'ai la réponse, il suffit de mettre un script de lecture de vidéo dans l'objet qui sert d'écran, et de mettre une image fixe similaire, dans la fenetre du matériaux.

    Par exemple :
    Code:
    private var url = "http://www.noomuseum.net/mov/YannSteadyDoubleAlpha_674.ogv";  // Lien de la video
    public var object:GameObject; // Objet sur lequel doit être afficher la video
    
    function Start () { 
    
    var www = new WWW(url);
    
    var movieTexture = www.movie;
    while (!movieTexture.isReadyToPlay)
    yield;
    
    object.renderer.material.mainTexture = movieTexture;
    
    
    audio.clip = movieTexture.audioClip;
    
    movieTexture.Play();
    movieTexture.Loop = true;
    audio.Play();
    }
    
    @script RequireComponent (AudioSource)
    Si vous préférez, plutôt que d'héberger le fichier vidéo .ogv, non pas sur le web, mais sur votre Mac ou Pc pour des versions stand alone, il faut enregistrer le fichier .ogv dans votre dossier "Users", et dans le script Unity, utiliser une adresse de ce type : file:///Users/YannSteadyDoubleAlpha_674.ogv
    l'url de type http étant remplacée par "file:///


    Si vous voulez voir ce que ça donne, j'ai mis en ligne une version du noobunker de cyberesthésie http://www.cyberesthesie.com avec deux videos incrustées à l'intérieur en démo. (les vidéos sont des .ogv hébergés sur le web.)
    http://www.cyberesthesie.com/cyberes...resthesia.html



    C'est une version multiplayer, faire "Heberger" puis "entrez dans les Noobunkers"

    C'est un niveau un peu lourd de 132 mega, car c'est la version du NooBunker qui est utilisée pendant les performances de cyberesthesie, en particulier celle de la demeure du Chaos qui est ici
    http://noozone.free.fr/noocrypte/vie...hp?f=16&t=1011

    ou celle de Souterrain porte VI qui est ici
    http://noozone.free.fr/noocrypte/vie...hp?f=16&t=1797

    Dans cette version du Noobunker sous Unity, les collisions avec les sphères envoient des datas vers OSC pour déclencher des E-Stims, et Teledildo.



    Yann, NooIncrusté...
    Dernière modification par yannminh ; 16/12/2011 à 10h21.

  2. #2
    Gourou Avatar de valkaari
    Date d'inscription
    mai 2009
    C4D version
    Autre
    OS
    OSX / windows
    Messages
    2 949
    intéressant, ton unity rame un truc de ouf mais intéressant.

  3. #3
    Oui c'est normal que ça rame, en fait il n'est pas fait pour tourner sur le web, mais en standalone pendant la performance..; :-)

    Yann NooStandaloneur...

Discussions similaires

  1. [Problème] Import objets C4D sous Unity
    Par skitoo dans le forum Unity
    Réponses: 2
    Dernier message: 03/12/2011, 12h51
  2. Faire une vidéo Alpha
    Par ZeTS dans le forum Nouveaux membres
    Réponses: 7
    Dernier message: 01/01/2010, 18h24
  3. Alpha sous maxwell ?
    Par Huv dans le forum Maxwell Render
    Réponses: 15
    Dernier message: 18/01/2007, 22h13
  4. Video Avec Alpha
    Par cream dans le forum Nouveaux membres
    Réponses: 4
    Dernier message: 24/03/2006, 01h04
  5. Réponses: 15
    Dernier message: 04/11/2002, 05h57

Les tags pour cette discussion

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  
Mediaworks - Logiciels 3D | Design Internet - Creation site internet