noocrypte.net
http://noozone.free.fr/noocrypte/

Unity3d www Video Player Scripts Scam3d
http://noozone.free.fr/noocrypte/viewtopic.php?f=47&t=923
Page 1 sur 1

Auteur:  yann.minh [ Lun Avr 25, 2011 11:20 am ]
Sujet du message:  Unity3d www Video Player Scripts Scam3d

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

Auteur:  yann.minh [ Lun Avr 25, 2011 11:22 am ]
Sujet du message:  Re: Unity Video Player Scripts Eric

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

Page 1 sur 1 Heures au format UTC [ Heure d’été ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/