Tutor LiveStage : Flash et QuickTime
QuickTime supporte le format flash mais il faut savoir que c'est toujours avec un métro de retard !

QuickTime 4 supporte Flash 3
QuickTime 5 supporte Flash 4
QuickTime 6 supporte Flash 5

Flash 6 ou MX n'est donc aujourd'hui pas utilisable par Quicktime.
Comme notre but est de toucher le plus large public nous utiliserons une syntaxe compatible QuickTime 5 et donc un fichier Flash au format 4.

Notre mission:
Pilotez la rotation d'un acteur au format Flash par un panorama QuickTime VR.

Pour ce faire vous créez un nouveau projet dans LiveStage Pro et procédez à quelques réglages avant d'aller plus loin :

- Donnez un nom au film ex: 'FlashCompass.mov'
- Vérifiez que l'onglet syntaxe pointe sur la bonne version de QuickTime 5 (on peut toujours choisir la version la plus récente et évitez dans le code d'utiliser des instructions non compatibles).
- Enregistrez votre projet dans un nouveau dossier.

Cela fait LiveStage a créé un sous dossier intitulé : 'Library' dans lequel nous allons placer nos médias.
Dans le cas présent nous avons besoin d'un fichier panoramique QuickTime VR et un fichier flash que nous réaliserons plus tard.

Le fait de placer les médias nécessaires au projet dans le dossier Library permet à LiveStage Pro (et à vous même) de retrouver facilement ses médias quand vous reouvrirez le projet.

Donc placez sur la scène le fichier QuickTime VR et de suite double-cliquez sur le header de la piste pour modifier ses dimensions (420 x 240) et la valeur de 'Idle Frequency'.

Par défaut pour un VR la valeur est -1 qui signifie pas d'exécution de code en 'Idle'.
0 = vitesse maximum
1 = 60 exécution par seconde
2 = 30 exécution par seconde
...
60 = 1 exécution par seconde

Nous avons besoin de rafraîchir la rotation de notre acteur le plus souvent possible mais sans pour autant plomber la réactivité de notre film. QuickTime et flash d'ailleurs nous rappelle souvent que notre ordinateur est vieux et poussif.

Donc pas d'éxcès car tout le monde n'a pas un bolide dernier cri.
Pour un film nerveux et réactif j'ai choisi une valeur de '4': la valeur de rotation sera rafraîchi souvent sans pour autant nuire de manière sensible à la réactivité de mon panorama.

Double cliquez sur le VR Node, cliquez sur l'onglet 'Scripts' et l'évenement 'Idle'.
Nous voulons passer à Flash la valeur de l'angle de notre panorama aussi pour ce faire nous allons utiliser l'instruction :

SetFlashVariable(variable_path, variable_name, value, focus) qui permet de modifier la valeur d'un variable flash.

Donc écrivons :
Tracknamed("flash 1").setflashvariable("","pan",panangle,false)

Tracknamed("flash 1") car un fichier QuickTime peu inclure plusieurs Pistes Flash. Il faut cibler nos instructions.
Notre variable sera au premier niveau du film Flash donc rien pour 'variable_path'
Nous nommerons dans Flash notre variable 'pan' et panangle est la valeur que nous voulons envoyer à Flash.

Pas de Focus car notre variable n'est pas destiné à être éditable.
voilà on enregistre et on passe dans Flash.

Dans Flash créez un nouveau document et donnez lui les dimensions requises (120 x 120). Sur la première piste créez le fond de votre animation, par exemple : placez les points cardinaux.
Ajoutez une autre piste et créez un champ texte.


Avec ce champ texte sélectionné, affichez la palette 'Text Options' et choisissez les options comme sur l'image suivante .

Notre variable est créé, exportons notre film flash en choisissant l'option Flash 4, et importons ce fichier Flash dans notre projet LiveStage. A chaque fois que nous importons un fichier dans livestage ce dernier modifie le type de controller de notre projet en fonction du fichier. Le controlleur devrait avoir basculé sur Standard choisissez QuickTime VR et lancez une prévisualisation de votre fichier.



Tout devrait fonctionner correctement la variable pan devrait afficher la valeur de l'angle du panorama et se modifier en temps réel losrque vous manipuler le VR. Mais cette variable affiche deux décimales après la virgule ce qui est inutile et inélégant. Aussi nous allons modifier le script entré précedemment dans la piste VR et le remplacer par celui-ci:

Tracknamed("flash 1").setflashvariable("","pan",panangle div 1,false)

Nous envoyons désormais à la variable flash 'pan' une valeur entière.

Revenons à notre projet flash. Nous allons créer l'acteur qui va tourner autour de lui même en fonction de la valeur de la variable 'pan'.
Pour ce faire nous allons créer un 'Movie Clip'. Choisissez donc création d'un nouveau symbole et 'movie clip' comme type de symbole. Nommez ce symbole 'Compass' et dessinez un triangle isocèle pointe en bas qui représentera le champ de vision. Déplacer le centre de l'objet sur le sommet de votre triangle.

Revenez sur votre scène principale, créez une nouvelle piste et copiez une instance de 'Compass'.



Créez un nouveau Movie Clip nommez le 'Motor' ou ce qu'il vous plaira et dessinez une forme simple un cercle par exemple, ce Movie Clip aura une durée de 2 frames et ces deux frames seront des 'KeyFrame'.
Entrez dans chacune d'elle le script suivant:

setProperty ("../compass", _rotation, -number(../:pan));

Donc syntaxe compatible flash 4.
On s'adresse à l'acteur compass qui est un niveau plus haut dans la hiérarchie et l'on veut modifier la proprété rotation à l'aide de la valeur de la variable 'pan'.

Revenez sur votre scène principale créez une nouvelle piste et copiez une instance de 'Motor'.
Cet acteur n'a pas besoin d'être visible déplacez l'acteur en dehors de votre scene.

Exportez votre film flash et réimportez le dans votre projet LiveStage. Positionnez le film flash sur le panorama et modifiez le mode graphique de votre fichier 'flash' sur alpha.

Le fichier flash est désormais transparent et laisse toute son interactivité au panorama.

IMPORTANT pour le WEB.

Déplacez la piste flash en index 1 comme sur l'image ci-contre, l'ordre des pistes dans LiveStage correspond à l'ordre de chargement des differentes pistes par QuickTime.
Pour éviter tous problêmes il faut que le fichier Flash soit chargé en premier avant que le VR QuickTime ne s'adresse à lui.

Après cette manipulation le fichier Flash se retrouve derrière les pistes QuickTime VR. Double-cliquez sur le header de la piste Flash, choisissez l'onglet 'Spatial' et modifiez le champ 'Drawing Layer': entrez une valeur inferieure à celle de la piste VR. Si vous n'avez pas modifié ces valeurs la piste VR devrait être par défaut en layer 0, entrez -10 pour le Layer de la piste Flash.

Dans QuickTime les Layers avec valeurs les plus faibles apparaissent devant les autres.

Cliquez sur l'onglet 'Advanced' et validez l'option 'preload'.

Cliquez sur l'image ci-dessous pour ouvrir dans QuickTime Player le projet terminé :