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

Discussion: Ecrans videos WWW pour Unity...

  1. #1

    Ecrans videos WWW pour Unity...

    Bonjour,

    Voici un ensemble de scripts qui ont été réalisés pour les bornes vidéo du musée de la SCAM
    http://www.scam3d.fr

    et qui peuvent être utiles à ceux qui voudraient installer des écrans vidéo dans leurs projets.

    Le package de l'écran vidéo simple peut-être téléchargé ici
    http://www.noomuseum.net/noomuseum/S...itypackage.zip


    Scripts créés, adaptés, améliorés par Eric Wenger (le créateur de Bryce) http://www.metasynth.com/ERICWENGER/ et Edwige Lelièvre http://www.armaghia.fr/ pour le Noomuseum scam3d http://www.scam3d.com/ de Yann Minh http://www.yannminh.org en avril 2010 et sont diffusés avec leur accord. (merci de conserver leurs références dans les codes :-)

    Ces scripts permettent de créer un lecteur video avec boutons Play, Pause, Stop, pour diffuser sur un écran une video en format .ogv hébergée sur le web.
    http://noozone.free.fr/noocrypte/vie....php?f=6&t=923


    http://noozone.free.fr/noocrypte/vie...php?f=16&t=925



    Mettre ce script nommé videocontroller dans un object qui fera office d'écran vidéo.



    Code:
    // VIDEOCONTROLLER  Script développé en mai 2011 à partir des scripts UNITY, par Eric Wenger http://www.metasynth.com/ERICWENGER/  et  Edwige Lelièvre http://www.armaghia.fr/
    // pour le musée 3D de la SCAM de Yann Minh, http://www.scam3d.fr/   http://www.noomuseum.net/
    // ce script permet, associé à 3 autres scripts pour les boutons play, pause, stop, de pouvoir déclencher la lecture de media vidéo au format OGV stockés sur un serveur web distant.
    // mettre ce script "videocontroller" dans le game object qui sert d'écran
    // mettre les autres scripts : "videobutton_pause", "videobutton_play", "videobutton_stop", dans les game objects faisant office de boutons.
    
    //VIDEOCONTROLLER  Script written in May 2011 from the  unity scripts, by Eric Wenger  http://www.metasynth.com/ERICWENGER/   and Edwige Lelièvre for the SCAM'S 3D museum of Yann Minh. (http://www.scam3d.fr/   http://www.noomuseum.net/)
    // this script, with 3 others scripts for the buttons play, pause, stop, allow to play OGV video from a distant server on the web.
    // Put the script "videocontroller" in the screen game object
    // put the others scripts : "videobutton_pause", "videobutton_play", "videobutton_stop" in the buttons's game objects.
    
    
    
    var url = "http://www.yannminh.org/ShortFilms/NooGenesis-512.ogg";  //lien vers le film (format ogg, ou ogv)
    //public var object:GameObject; // Ecran sur lequel la video est affichee
    public var isplaying=0;	//1 when loading 2 when playing 3 when paused
    private var waitimage : Texture;
    var www : WWW;
    var m : MovieTexture;
    var asize : Vector3;
    
    function Awake()
    {	waitimage=renderer.material.GetTexture("_MainTex");
     	this.enabled=false;	
    }
    
    function reveilleVideo()//fonction appellee par videobutton_play.js
    {
    	this.enabled=true;	
     	asize=transform.localScale;
    }
    //------------//
    
    function startmovie () {
       
       renderer.material.color =Color.white;
       renderer.material.mainTexture= m;
     //resize object
    	renderer.material.SetVector ("_Datas", Vector4(m.width,m.height,0,0));
      	var fs=renderer.material.GetVector("_Datas");
     	transform.localScale=Vector3(asize.x,asize.y*(fs.y/fs.x),asize.z);   
     	
       audio.clip = m.audioClip;
       m.Play(); 
       audio.Play();	
       isplaying=2; //playing
    }
    
    //------------//
    
    function stopmovie () {
    	print("Stop recieved");
    	if(m!="") m.Stop(); 
    	audio.Stop();	
    	isplaying=0; 
    	transform.localScale=asize;//restore size
    	renderer.material.color =Color.black;
    	renderer.material.mainTexture=waitimage;
    	
    }
    
    //------------//
    function loadmovie() { 
     	
    	if(isplaying>0){ stopmovie ();}
    	
    	isplaying=1; //loading
    	renderer.material.mainTexture=waitimage;
    	//renderer.material.SetVector ("_Datas", Vector4(1,1,Time.time*4.0,www.progress));
    
    	www = new WWW(url);
        m= www.movie;   //yield www;
    //let update play when ready
    	}
    //------------//
    
    function Start () {
       renderer.material.SetVector ("_Datas", Vector4(1,1,0,-1));
       
       MovieController(1); //comme la fonction start n'est activee que lorsqu'on a appuye sur play, alors on joue automatiquement la video une fois que le chargement est fait
    }
    //------------//
    function MovieController( action ) { 
    switch(action){
    case 0:	 
    	if (isplaying>=2) stopmovie ();
    	break;
    case 1:
    		if(isplaying==3){//paused
    			m.Play(); 
       			audio.Play();	
       			isplaying=2; //playing
    		}else if(isplaying==0){
    			loadmovie();//start loading update will start play when ready
    		}
    		break;
    case 2:	 if(isplaying==2){ m.Pause(); audio.Pause(); isplaying=3; } break;
    }
    }
    
    //------------//
    
    function Update () {
    	
    	if(isplaying==1){
    		if (m.isReadyToPlay) { 
    			startmovie();
    		}else{
    		 	//renderer.material.color =Color.green;  
    		 	//loading animation 
    		 	renderer.material.color.r = Mathf.Sin(Time.time*12.0);
    		 	renderer.material.color.g =1;
    		 	renderer.material.color.b =1;
    		 	renderer.material.SetVector ("_Datas", Vector4(1,1,Time.time*4.0,www.progress));	
    		}
    	}else{	//check if done
    		if((isplaying==2)  && (m.isPlaying==false)){
    			stopmovie();
    		}
    	}
    }
    
    //------------//
    
    
    function OnMouseDown () { 
    	 
    	audio.clip = m.audioClip;
    	if(isplaying==2){
    		MovieController( 2 );//pause
    	}else if(isplaying==0){
    		MovieController( 1 );//start
    	}
    }
    
    
    
    @script RequireComponent (AudioSource)

    Mettre ce script dans le bouton Play
    Code:
    // videobutton_play  Script développé en mai 2011 à partir des scripts UNITY, par Eric Wenger http://www.metasynth.com/ERICWENGER/  et  Edwige Lelièvre
    // pour le musée 3D de la SCAM de Yann Minh, http://www.scam3d.fr/   http://www.noomuseum.net/
    
    // mettre ce script "videobutton_play" dans le game object qui sert de bouton play: "ButtonPlay"
    
    //videobutton_play  Script written in May 2011 from the  unity scripts, by Eric Wenger  http://www.metasynth.com/ERICWENGER/   and Edwige Lelièvre for the SCAM'S 3D museum of Yann Minh. (http://www.scam3d.fr/   http://www.noomuseum.net/)
    // Put this script "videobutton_play" in the play game object : "ButtonPlay"
    
    
    
    private var script : videocontroller;
    var Target : GameObject;
    var videochargee : int;
    var highlightColor = Color.red;
    var rollover = 0;
    
    function Start () {
    	 script= Target.GetComponent("videocontroller");
    	 videochargee = 0;
    }
    
    function OnMouseDown () {
    	Debug.Log("appuye sur play"); 
    	 
    	transform.localScale = transform.localScale * 0.9;	// Scale up the text
    	if(videochargee==0)
    	{
    		Target.SendMessage("reveilleVideo");
    		videochargee=1;
    	}
    	else
    	{
    		script.MovieController(1); //play
    	}
    }
    function OnMouseUp () {
    	// Scale down the text to the original value
    	transform.localScale = transform.localScale / 0.9;
    }
    
    function Update (){ 
    	 if(script.isplaying>0){
    	 	renderer.material.color =Color.green;  
    	 }else{
    	 	renderer.material.color =rollover ? highlightColor : Color.white;  
    	 }	
    }
    
    
    function OnMouseEnter () {
    	rollover =1; 
    }
    
    function OnMouseExit () {
    	rollover =0;
    }

    Mettre ce script dans le bouton Pause
    Code:
    // videobutton_pause  Script développé en mai 2011 à partir des scripts UNITY, par Eric Wenger http://www.metasynth.com/ERICWENGER/  et  Edwige Lelièvre
    // pour le musée 3D de la SCAM de Yann Minh, http://www.scam3d.fr/   http://www.noomuseum.net/
    
    // mettre ce script "videobutton_pause" dans le game object qui sert de bouton pause: "ButtonPause"
    
    //videobutton_pause  Script written in May 2011 from the  unity scripts, by Eric Wenger  http://www.metasynth.com/ERICWENGER/   and Edwige Lelièvre for the SCAM'S 3D museum of Yann Minh. (http://www.scam3d.fr/   http://www.noomuseum.net/)
    // Put this script "videobutton_pause" in the pause game object : "ButtonPause"
    
    
    
    private var script : videocontroller;
    var Target : GameObject;
    var highlightColor = Color.red;
    var rollover = 0;
    
    function Start () {
    	script= Target.GetComponent("videocontroller");
    }
    
    function OnMouseDown () { 
    	renderer.material.color =Color.green;  
    	transform.localScale = transform.localScale * 0.9;
       	script.MovieController((script.isplaying==2) ? 2 : 1 ); //pause
    }
    function OnMouseUp () { 
    	renderer.material.color =Color.white;  
    	transform.localScale = transform.localScale / 0.9;
    }
     
    function Update (){ 
     	renderer.material.color =(script.isplaying==3) ? Color.green : rollover ? highlightColor : Color.white;  
    }
    
    
    function OnMouseEnter () {
    	rollover =1; 
    }
    
    function OnMouseExit () {
    	rollover =0;
    }
    Mettre ce script dans le bouton Stop
    Code:
    // videobutton_pause  Script développé en mai 2011 à partir des scripts UNITY, par Eric Wenger http://www.metasynth.com/ERICWENGER/  et  Edwige Lelièvre
    // pour le musée 3D de la SCAM de Yann Minh, http://www.scam3d.fr/   http://www.noomuseum.net/
    
    // mettre ce script "videobutton_pause" dans le game object qui sert de bouton pause: "ButtonPause"
    
    //videobutton_pause  Script written in May 2011 from the  unity scripts, by Eric Wenger  http://www.metasynth.com/ERICWENGER/   and Edwige Lelièvre for the SCAM'S 3D museum of Yann Minh. (http://www.scam3d.fr/   http://www.noomuseum.net/)
    // Put this script "videobutton_pause" in the pause game object : "ButtonPause"
    
    
    
    private var script : videocontroller;
    var Target : GameObject;
    var highlightColor = Color.red;
    var rollover = 0;
    
    function Start () {
    	script= Target.GetComponent("videocontroller");
    }
    
    function OnMouseDown () { 
    	renderer.material.color =Color.green;  
    	transform.localScale = transform.localScale * 0.9;
       	script.MovieController((script.isplaying==2) ? 2 : 1 ); //pause
    }
    function OnMouseUp () { 
    	renderer.material.color =Color.white;  
    	transform.localScale = transform.localScale / 0.9;
    }
     
    function Update (){ 
     	renderer.material.color =(script.isplaying==3) ? Color.green : rollover ? highlightColor : Color.white;  
    }
    
    
    function OnMouseEnter () {
    	rollover =1; 
    }
    
    function OnMouseExit () {
    	rollover =0;
    }
    videobutton_play

    a mettre dans l'objet qui sert de bouton play
    Code:
    private var script : videocontroller;
    var Target : GameObject;
    
    function Start () {
    	 script= Target.GetComponent("videocontroller");
    }
    
    function OnMouseDown () { 
    	 
       	script.MovieController(1); //play
    }
    
    function Update (){ 
     
    	 if(script.isplaying){
    	 	renderer.material.color =Color.green;  
    	 }else{
    	 	renderer.material.color =Color.white;  
    	 }	
    }

  2. #2
    Pilier Avatar de Ogier
    Date d'inscription
    juillet 2002
    C4D version
    R13 Studio
    OS
    seven pro
    Messages
    1 019
    Super intéressant tout ça, et carrément cool de partager les scripts comme cela!
    Je repasserai tout à l'heure regarder et lire tout ça dans le détail
    En tout cas merci à toi Yann!

    Ogier

  3. #3
    Gourou Avatar de diego1968
    Date d'inscription
    juillet 2006
    C4D version
    R21 Perpétuelle
    OS
    Mac OS 10.13.6
    Messages
    2 149
    Ca marche avec la version Indie ou il faut la Pro ?

    Et merci pour ce partage de connaissances !

  4. #4
    Je ne pense pas que ça fonctionne avec la version Indie... si je ne me trompe pas, il n'y a que la version pro qui gère les vidéos...

Discussions similaires

  1. Unity 3.0 sur les rails pour l'été
    Par atome451 dans le forum Unity
    Réponses: 11
    Dernier message: 30/09/2010, 18h25
  2. Vidéos pour tout savoir sur la 3.5r2
    Par Frenchy Pilou dans le forum ZBrush
    Réponses: 2
    Dernier message: 27/10/2009, 19h21
  3. Quelques vidéos pour le plaisir des yeux
    Par bulb dans le forum Le saloon
    Réponses: 2
    Dernier message: 26/02/2007, 12h34

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