Connexion | M’enregistrer




Poster un nouveau sujet Répondre au sujet  [ 2 messages ] 
Auteur Message
 Sujet du message: Unity3d www Video Player Scripts Scam3d
UNREAD_POSTPosté: Lun Avr 25, 2011 11:20 am 
NooFondateur
Avatar de l’utilisateur
Inscription: Mar Jan 09, 2007 3:21 am
Messages: 1158
Lecteur video avec boutons Play, Pause, Stop, pour diffuser sur un écran une video en format .ogg hébergée sur le web.
viewtopic.php?f=6&t=923

Pour ceux qui ont du mal avec la programmation, vous pouvez télécharger le package d'un écran
simple ici :
http://www.noomuseum.net/noomuseum/Simp ... ackage.zip


Script adapté par Eric Wenger 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
viewtopic.php?f=16&t=925
Image


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

Image

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;
}


 Hors ligne
 
 Sujet du message: Re: Unity Video Player Scripts Eric
UNREAD_POSTPosté: Lun Avr 25, 2011 11:22 am 
NooFondateur
Avatar de l’utilisateur
Inscription: Mar Jan 09, 2007 3:21 am
Messages: 1158
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; 
    }   
}


 Hors ligne
 

Afficher les messages postés depuis:  Trier par  

Poster un nouveau sujet Répondre au sujet  [ 2 messages ] 


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

Panel

Haut Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Rechercher:
Aller à:  
 cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduction par: phpBB-fr.com
Dizayn Ercan Koc