pseudo :   password :  
english
Francais

pages vues

Langage de programmation des thèmes de montage


Mille remerciements à Guignol-Film pour tout son travail que je tente de compléter au travers de cette page. N'hésitez pas à relire ses leçons !

Ce travail est basé sur l'analyse des différents thèmes livrés avec Studio 12 ainsi que ceux du "Winter Pack". D'autres objets ou paramètres peuvent exister dans des packs d'extension. N'hésitez pas à me faire part de tout complément qui permettrait de mettre à jour ce document.

édité le 26 Juin 2010


Sommaire

exemple d'édition de thème de montage à l'aide de l'outil de guignol-film1) Introduction
2) Rappel sur le langage XML
3) les différentes sections d'un thème de montage
4) Structure du langage de programmation
5) Syntaxe des objets
6) Anatomie d'un thème de montage
7) les différents objets utilisables
      7.1 L'objet Scene
      7.2 Les objets Image

              7.2.1 Paramètres communs à tous les objets Image
              7.2.2  ImageExplicit
              7.2.3  ImageGlyphCache
              7.2.4  ImageTextLayer
              7.2.5  ImageGradient
    7.3 Les objets de présentation
              7.3.1 Paramètres communs à tous les objets de présentation
              7.3.2 Plane
              7.3.3 Wipe
              7.3.4 PIP
              7.3.5 IMGPlane
              7.3.6 SphereSection
              7.3.7 VideoWall
              7.3.8 Text
              7.3.9 FlagWave
              7.3.10 LensFlare
              7.3.11 Peel
              7.3.12 Tiles
      7.4 L'objet  Material
      7.5 L'objet  Container (NullObject)
      7.6 Les Objets de comportement

              7.6.1  Paramètres communs à tous les objets de présentation
              7.6.2  Keyframer
              7.6.3  Transformer
              7.6.4  Fader
              7.6.5  ParmOscillate
              7.6.6  ParmRamp
      7.7 Les Objets d'Ombrage
              7.7.1  LinearBlur
              7.7.2  GradientWipe
      7.8 Interface de paramétrage
8)  Section de connexion des objets

Introduction


Le langage de programmation des thèmes de montage est basé sur une structure XML utilisant  différents objets décrivant complètement la mise en scènes des clips et images. Chaque thème de montage est donc constitué d'un fichier texte modifiable avec un éditeur de texte standard tel que Bloc Note de Microsoft disponible sur tout PC, ou avec un éditeur de texte XML plus évolué comme NotePad++. Personnellement, j'utilise Bloc Note tout à fait suffisant pour cette tache. Ce fichier texte à une extension .ixl

Un  second fichier est en général associé au premier, et contient une vignette qui sera affichée par Pinnacle Studio dans l'éditeur de thème. Cette vignette devra être construite par une copie d'écran de la visionneuse de Studio à un instant représentatif du thème, ce qui permettra ensuite d'identifier le thème d'un rapide coup d'oeil pour sa sélection. Ce second fichier est de type .png, et porte en général le même nom que le fichier .ixl contenant le code du programme.

Les thèmes de montage sont regroupés par série. Chaque série peut être sélectionnée dans une liste déroulante présentant l'ensemble des séries disponibles. En pratique, chaque série est un répertoire contenant les fichiers .ixl et .png décrits ci-dessus. Selon la version de Windows que vous utilisez, et en supposant que Vous ayez installé Pinnacle Studio sur le disque C: , ces répertoires devront être placés à l'emplacement suivant :

sous XP :            C:\Documents and Settings\All Users\Documents\Pinnacle\Content\IMG-Templates
sous Vista et 7 : C:\Users\Public\Documents\Pinnacle\Content\IMG-Templates

En général, vous trouverez à l'intérieur de chacun des répertoires contenant une série de thème un sous répertoire nommé par convention -Assets dans lequel on placera les différentes ressources utilisées par les thèmes de la série. Il sera bien sur possible d'utiliser également des ressources situées n'importe ou sur votre ordinateur.

Avant d'aller plus loin, pour suivre ce tutoriel, chargez les thèmes d'entraînement ci-dessous, qui vous permettront de découvrir par l'exemple chaque objet de présentation ainsi que les différents paramètres associés ...


Pour pouvoir tester par vous même les différents objets et leurs paramètres, il vous faudra charger cette série destinée à votre entraînement :

Thème "Training" chargés fois

2 possibilités d'installation à votre choix :
  • Fichier .EXE auto-installable  (plus simple !)
telecharger la série spéciale d'apprentissage du langage de programmation

  • Fichier .ZIP à décompresser (sous Vista et 7) dans C:\Users\Public\Documents\Pinnacle\Content\IMG-Templates  (mode d'emploi ici)
telecharger la série spéciale d'apprentissage du langage de programmation

retour

Rappel sur le langage XML


Le langage XML est constitué de sections délimitées par des balises. Chaque section dispose donc d'une balise  de début et d'une balise de fin. La balise de début prend une forme du type <BaliseDeDebut ...  alors que la balise de fin est du type </BalisedeDebut>.
Une balise ne contenant pas d'autre balise pourra prendre la forme suivante :
<balise parametre1="valeur1" parametre2="valeur2" /> (notez le / avant le > qui indique la clôture de la balise).
Une balise contenant d'autres balises va s'ouvrir de la même façon par :
<balise parametre1="valeur1" parametre2="valeur2">  (pas de / avant le >, car la balise reste ouverte!), puis se fermera plus loin par une balise de fin </balise>

Un fichier utilisant la structure XML aura donc une forme semblable à l'exemple suivant :

<tag1 parameter1="value1" parameter2="value2" ...>
    <tag2 parameter3="valeur3">
        <tag3 parameter4="value4" />
    </tag2>
</tag1>


retour

Les différentes sections d'un thème de montage


Un thème de montage est composé de différents sections qui sont chacune délimitées par une balise XML.

Avant d'aller plus loin, sachez que ce langage de programmation fait la différence entre les lettres majucules et minuscules. le mot imgObject sera donc différent du mot imgobject. soyez donc particulièrement attentifs.

Tout d'abord, la première ligne va indiquer la version XML utilisée et le jeux de caractères. Cette ligne sera invariablement la suivante et devra dans tous les cas être la première ligne du fichier.

<?xml version="1.0" encoding="UTF-16"?>

L'ensemble du thème sera ensuite décrit au sein d'une balise nommée imgDocument. Cette balise admet 3 paramètres :
  • Name indique le nom complet du fichier. Vous noterez que Pinnacle a défini une variable d'environnement qui contient le chemin logique du répertoire "Content", ce qui permet de s'affranchir des différences de chemin d'accès selon que l'on soit sous Windows XP ou sous Vista et 7. Cette variable est  ?{PinnacleContent}
  • Type sert à indiquer qu'il s'agit d'un thème de montage (le même format est exploité pour d'autres finalités comme les motion titles ...). La valeur sera toujours Scene
  • Version qui vaut toujours 1.2

A l'intérieur de cette balise on retrouvera 2 sections. La première contiendra la liste des objets décrivant la scène. Cette section est délimitée par la balise imgObjectList
La seconde contiendra la description des relations entre les différents objets, et sera délimitée par la balise imgConnectionList

retour

Structure du langage de programmation


Le langage de programmation liste les objets à mettre en scène, ainsi qu'un certain nombre de paramètres associés comme par exemple leur taille ou leur position.

Le premier objet de chacun des thèmes est l'objet racine du thème. Il va servir essentiellement à décrire certains paramètres temporels du thème tel que la durée totale ou les caractéristiques d'élasticité. Il permet également de définir des paramètres globaux de géométrie. Cet objet est l'objet Scene décrit plus loin dans cet article avec ces paramètres.

On retrouvera ensuite 3 familles d'objets vivant en symbiose pour permettre d'afficher une image depuis le thème de montage.

  • Tout d'abord, il y a les objets images sources. Ce sont par exemple des dessins ou des photos (fichiers .png ou .jpg) ou des vidéos (par exemple des fichiers .mpg) que l'on aura placé (par exemple) dans le sous répertoire -Assets. Ces images sources peuvent également être le contenu des drop zones de l'éditeur de thème, ou des textes saisis en tant que paramètres. Voir ici pour plus de détail sur les objets de la famille des images sources ...
  • Ensuite, on retrouve les objets concrets. l'objet image vu ci dessus reste immatériel. Pour le rendre concret, il est nécessaire de l'associer à ce nouvel objet Material qui va principalement définir quelle partie de l'image on souhaite utiliser, et dans certain cas quelques effets de couleur.
  • Enfin, il faudra présenter cet objet concret à l'écran en utilisant un objet de présentation dont le rôle est de définir la taille, position, rotation, etc ... Plusieurs objets de présentation existent permettant de créer simplement différent modèles. Chacun de ses objets possède un ensemble de propriétés intrinsèques. Voir ici pour plus de détail sur les objets de présentation et leurs paramètres.
  • Au delà des familles d'objets ci-dessus qui sont indispensables à la constitution d'un thème, il existe d'autres familles d'objets qui vont servir à paramétrer ou animer votre thème. Voir ici les objets permettant l'animation des thèmes, et voir ici la constitution d'un objet paramétrant un thème.
  • Enfin, l'objet le plus intéressant est certainement l'objet vide qui permet de regrouper différents objets. Nous verrons que cet objet offre de multiples avantages ...

retour

Syntaxe des objets.


Ceci étant dit, un objet sera donc délimité par une balise imgObject. Cette balise admet 2 paramètres que sont Type qui indiquera le type d'objet décrit, et ID qui sera un numéro d'identifiant d'objet unique dans le thème de montage. Si par accident vous déclariez 2 objets avec le même ID, seul le dernier déclaré sera pris en considération, aucun message d'erreur ne vous sera renvoyé, ce qui peut vous faire perdre beaucoup de temps a comprendre pourquoi votre thème ne fait pas ce que vous voudriez qu'il fasse .
A l'intérieur de cette balise imgObject, vous allez trouver systématiquement une balise imgObjectTime avec 3 paramètres, le premier est Ver qui doit être relatif à la version d'objet. La valeur 2 est a prendre pour Studio 12 et 14. On trouve ensuite les paramètres Start et End qui définissent le domaine d'existence temporel de l'objet exprimé en secondes. Attention à ce que la valeur du paramètre "End" ne dépasse pas la longueur totale du thème, car cela peut crasher Studio ...
On retrouve ensuite la liste des paramètres au sein d'une balise imgParameterList. Chaque paramètre étant lui même décrit dans une balise imgParm avec 2 paramètres, le premier est le paramètre Name qui indique quel paramètre sera affecté, et le second le paramètre Value qui donne la valeur associée.
A noter qu'on peut retrouver 2 syntaxes différentes pour une description de paramètres. Les 2 ont un résultat identique.

    <imgParm Name="PositionZ" Value="99" />
    <imgParm Name="PositionZ">99</imgParm>

voici un exemple d'objet de Type Plane, portant le numéro 201, existant entre l'instant 3 secondes et l'instant 10 secondes, auquel j'ai donné le nom My Object.Plane, et auquel j'ai affecté la valeur 99 au paramètre PositionZ ...

  <imgObject Type="Plane" ID="201">
      <imgObjectTime Ver="2" Start="3" End="10"/>
      <imgParameterList>
        <imgParm Name="Name">My Object.Plane</imgParm>
        <imgParm Name="PositionZ">99</imgParm>
      </imgParameterList>
  </imgObject>

d'autres balises existent pour certains objets (en particulier les objets de la famille image), nous les détaillerons dans les objets concernés.

retour

Anatomie d'un thème


Voyons ici le thème le plus simple possible. Il permet d'afficher le contenu de la Drop Zone 1. l'image ci-dessous représente le code source de ce thème. On y retrouve les 4 familles d'objets principales listées ci-dessus.

  • Tout d'abord l'objet Scene qui porte le numéro 1. Cet objet sera toujours présent dans le theme de montage. Il définit la durée du thème.
  • Ensuite, l'objet numéro 12 sera l'objet image qui définira en paramètre le fichier à afficher ainsi que son chemin d'accès. A noter que Pinnacle a prévu une syntaxe particulière pour récupérer le chemin physique d'accès aux répertoires d'installation des thèmes, sans quoi il serait impossible de faire des thèmes qui fonctionnent à la fois sous XP et sous Vista ...
  • Puis l'objet de présentation (ici un objet de type Plane) auquel nous n'affectons aucun paramètre particulier
  • et enfin l'objet Material qui pointera explicitement vers l'objet image au travers du paramètre MainImage dont la valeur reprend le numéro de l'objet image concerné.

Comme on peut le voir, tous les objets ne sont pas reliés entre eux. Seul l'objet image se trouve lié à l'objet Material. Il faut donc y rattacher l'objet de présentation. Ceci sera obtenu au travers de la balise imgConnectionList dont le rôle est de décrire les liens entre tous les objets. Nous analyserons ici la structure de ces connexions.
 

L'outil d'aide à l'édition développé par guignol-film, et disponible sur son site, vous sera d'un précieux secours pour vos premiers pas, et vous fera gagner pas mal de temps par la suite en phase de mise au point .

retour

Les différents objets utilisables


Tout d'abord, nous allons regarder en détail chacun des objets et les possibilités qu'ils offrent !

Voici les paramètres qui existent pour tous les objets :

  • Name existe pour tous les objets et est obligatoire. Il n'est pas indispensable de respecter l'unicité du nom d'un objet dans le thème. C'est toutefois recommandé et nécessaire si certain paramètres de l'objet sont modifiables au travers le l'éditeur de thème avec l'objet Template décrit un peu plus loin.
  • SourceRefID semble ne servir à rien. Je ne l'utilise jamais dans mes thèmes.

les paramètres spécifiques apportés par Studio 14 sont notés (S14). Ils n'empêchent pas le fonctionnement avec Studio 12, mais sont alors inopérants.

retour 

L'objet Scene



Type="Scene"


Cet objet est obligatoire et sera placé en première position dans la section imgObjectList. Il a pour vocation de définir les paramètres temporels du thème de montage, ainsi que sa géométrie. Voici la liste des paramètres possibles

les paramètres de géométrie sont :

  • SceneWidth et SceneHeight qui définissent la taille de la scène visible du clip.
  • ScenePixelAspect qui permet d'indiquer la forme d'un pixel. (Par exemple, si vous concevez votre thème pour un format de rendu PAL widescreen, vous avez une géométrie de 720x576 pixels pour un format 16:9. le format du pixel sera donc  (16/9)/(720/576) soit 1.42222

En réalité, ces paramètres n'ont que peu d'effet. Il ne servent qu'à gérer un respect de la taille des textes indépendamment du format de rendu du projet en cours.

  • SceneInterlaced Je n'ai pas bien compris à quoi sert ce paramètre....
  • AspectAdjust je vous recommande de donner la valeur 1 à ce paramètre, ce qui à pour effet de conserver la géométrie des objets lors de leur rotation. Si au contraire, vous donnez la valeur 0 à cet objet, vous verrez vos fenêtres se déformer et s'adapter à la forme de l'écran.

  • DepthTest Ce paramètre semble jouer sur le positionnement en 3D des objets les uns par rapport aux autres. Je recommande de lui donner la valeur 1

Les paramètres de temps :

  • SceneFPS indique le nombre d'images par seconde. Il offre un intérêt certain si vous programmez certaines transitions très précisément dans le temps pour que celle ci s'opère correctement même si le format de rendu du projet considère un nombre d'image par seconde différent.
  • SceneDuration indique la durée totale de votre thème de montage. Aucun n'objet du thème ne devra avoir une durée de vie (paramètre End de la balise imgObjectTime) supérieure, sous peine de voir Studio se fermer brutalement à l'ouverture du thème
  • SceneTimeMode utilisez ce paramètre avec la valeur tmStretch permet de rendre le thème étirable sur la timeline, ce qui est toujours pratique. Avec Studio 14, il est préférable d'utiliser les 4 paramètres ci-dessous qui permettent un meilleurs réglage de la durée.
  • OrigLeadin (S14) permet de renseigner (en seconde) la position de début des actions du thème de montage. Attention, toute action ayant un timing avant ce paramètre sera ignorée à l'exécution !
  • OrigLeadout (S14) permet de renseigner (en seconde) la position temporelle de fin des actions du thème de montage. Utiliser OrigLeadin et OrigLeadout permet par exemple pour un thème de transition d'étirer séparément la partie initiale (affichant la vue d'ouverture), la transition elle-même, et la partie finale (affichant la vue de fin). Le paramètre SceneTimeMode sera inopérant si ces paramètres sont utilisés.
  • CurrLeadin (S14) indique la position de la poignée d'ouverture dans le thème de montage affiché du la timeline
  • CurrLeadout (S14) indique la position de la poignée de cloture dans le thème de montage affiché du la timeline


Les paramètres qui pointent sur des fichiers :

  • FileName doit porter le nom complet du fichier .ixl
  • IconFileName doit porter le nom complet du fichier d'aperçu .png. Si ce fichier n'existe pas, le thème sera remplacé par un point d'interrogation dans l'éditeur de thème de montage.
  • IconTime indique l'instant dans le thème ou est pris l'image d'aperçu. Dans Studio 12, il ne sert à rien. Dans Studio 14, il semble qu'il permette à Studio de créer dynamiquement l'aperçu si le fichier .png n'existe pas ...

exemple :

<imgObject Type="Scene" ID="1">
    <imgObjectTime Ver="2" Start="0" End="14"/>
    <imgParameterList>
        <imgParm Name="Name">Scene</imgParm>
        <imgParm Name="SceneWidth">1280</imgParm>
        <imgParm Name="SceneHeight">720</imgParm>
        <imgParm Name="ScenePixelAspect">1</imgParm>
        <imgParm Name="AspectAdjust">1</imgParm>
        <imgParm Name="DepthTest">1</imgParm>
        <imgParm Name="SceneInterlaced">0</imgParm>
        <imgParm Name="SceneFPS">25</imgParm>
        <imgParm Name="SceneDuration">14</imgParm>
        <imgParm Name="IconTime">8.12</imgParm>
        <imgParm Name="FileName">?{PinnacleContent}IMG-Templates\50s Modern\1 - Opening.ixl</imgParm>
        <imgParm Name="IconFileName">?{PinnacleContent}IMG-Templates\50s Modern\1 - Opening.png</imgParm>
        <imgParm Name="OrigLeadin">0</imgParm>
        <imgParm Name="CurrLeadin">0</imgParm>
        <imgParm Name="OrigLeadout">20</imgParm>
        <imgParm Name="CurrLeadout">20</imgParm>
    </imgParameterList>
</imgObject>

retour

Les objets images



Ces objets permettent de définir les images sources et les textes qui seront mis en scène dans le thème de montage.
Attention à ne jamais utiliser dans un thème de montage plus de 10 objets image différents. Ceci provoque des dysfonctionnement de Studio pouvant aller jusqu'au crash

Les paramètres communs à tous les objets de cette famille sont :
  • Width renseigne la largeur du média (en pixel)
  • Height renseigne la hauteur du média (en pixel). Ceci semble ne servir à rien. Par défaut, Studio semble utiliser les valeurs issues du format de rendu de votre projet. Personnellement je ne les utilises jamais.



Type="ImageExplicit"


Cet objet permet de définir des fichiers image ou vidéo, ou de créer des Drop Zone à utiliser dans le thème de montage.

Il est important de noter que la présence d'un objet de type ImageExplicit est obligatoire dans un thème pour obtenir un affichage. A défaut, le thème produira une image noire

  • SourceType est obligatoire et vaut toujours srcExplicit
  • PreHold permet de figer le média jusqu'à l'instant fixé en paramètre (en seconde). Un film sera alors figé, le son éteint, et démarrera à l'instant fixé. L'instant fixé se comprend depuis le début de la vie de l'objet (paramètre Start de la balise imgObjectTime). Attention donc à ce que la valeur donnée fasse bien démarrer le média avant la fin du thème, sans quoi, comme d'habitude, vous verrez Studio se planter !
  • PostHold permet de figer le média avant la fin de vie de l'objet. La valeur fixée est le délai pendant lequel l'objet sera figé avant sa fin de vie (paramètre End de la balise imgObjectTime). Attention donc à ce que la valeur donnée fasse bien démarrer le média après le début du thème, sans quoi, comme d'habitude, vous verrez Studio se plantera encore !
  • PreHoldTimeType peut prendre la valeur ttAbsolute pour indiquer que la valeur indiquée dans le paramètre PreHold se compte depuis le début du thème (temps=0) et non pas depuis le début de vie de l'objet image ...
  • IsPSD Ce paramètre apparaît dans Studio 14. Je n'en ai pas compris le sens .


Paramètres pour traiter une drop zone

  • DropZone avec une valeur de 1 à 6 crée la drop zone correspondante dans l'éditeur de thème. A noter que si vous créez la drop zone 2, et que la drop zone 1 n'existe pas dans votre projet, vous verrez 2 drop zones dans l'éditeur de thème, dont seulement la dernière sera utile. Soyez donc vigilant à déclarer les drop zones dans l'ordre.
  • Modifiable ce paramètre affecte la présentation de la drop zone. Si l'objet n'est pas une drop zone, alors ce paramètre sera ignoré. Il peut prendre tout ou partie des valeurs mtDrop (obligatoire), mtAudio qui permettra de faire afficher le petit haut-parleur qui autorise ou non le son pour le média déposé dans la drop zone. Si mtAudio est omis, le son sera désactivé. mtStart permettra de rendre le thème étirable du coté gauche sur la timeline, et mtEnd qui rendra le thème étirable coté droit sur la timeline. A noter qu'une même drop zone ne peut pas en pratique avoir les 2 paramètres MtStart et mtEnd en même temps, même si aucun message d'erreur ne vous sera présenté, seul la propriété mtEnd sera alors considérée.
  • keepWithNext prend les valeurs 0 et 1. J'avoue ne pas avoir compris ce que fait ce paramètre
  • FitMode prend la valeur fitHeightKeepAspect. Là encore, je n'ai pas creusé

Paramètres pour traiter un fichier

  • ImageName permet de renseigner le nom complet du fichier contenant le média à traiter
  • ReplaceName ce paramètre est à utiliser lorsque le fichier à traiter sera choisit dans une liste déroulante dans l'éditeur des thèmes de montage. Il donne le nom du fichier par défaut qui sera être remplacé par le choix de l'utilisateur.

Section complémentaire en cas de sélection depuis l'interface utilisateur.

Si le fichier média doit être choisi parmi une liste dans un menu, il faudra ajouter dans l'objet la balise imgDynamicParmTypes permettant de définir les paramètres dynamiques de l'objet.
au sein de cette balise, il n'y aura qu'un paramètre dynamique défini dans une balise imgParmType
  • ReplaceName qui contiendra 4 attributs en plus de son nom, Default que l'on peut laisser à "", Range  qui définit le type de fichier qui sera sélectionné sous la forme "filename,JPEG Files,jpg" (on peut remplacer JPEG et .jpg par respectivement PNG et .png ou MPG et .mpg, et certainement pas mal d'autres type de fichier que je n'ai pas testé). Vous comprenez ici que tous les fichiers de la liste de choix doivent être de même type. Ensuite il y a Usage  qui vaut toujours usageDynamic et Type qui prend la la valeur vtString

exemple :

  <imgObject Type="ImageExplicit" ID="3">
  <imgObjectTime Ver="2" Start="0" End="11.4828"/>
  <imgParameterList>
    <imgParm Name="Name">Drop 1.Image</imgParm>
    <imgParm Name="SourceType">srcExplicit</imgParm>
    <imgParm Name="Width">720</imgParm>
    <imgParm Name="Height">480</imgParm>
    <imgParm Name="DropZone">1</imgParm>
    <imgParm Name="Modifiable">mtDrop|mtStart|mtAudio</imgParm>
    <imgParm Name="PostHold">8.5</imgParm>
  </imgParameterList>
  </imgObject>


Dans Pinnacle Studio, ouvrez l'éditeur de thèmes de montage et sélectionnez la série 1 - ImageExplicit. Vous verrez comment sont créées une image et une drop zone. En y glissant une vidéo, vous pourrez tester l'effet du paramètre PreHold en faisant se dérouler le thème dans le temps à l'aide de la visionneuse.
retour



Type="ImageGlyphCache"


Cet objet sert pour l'affichage d'un texte dynamique. Il constitue une sorte de "feuille blanche" sur laquelle un objet de présentation de type Text viendra écrire. de ce fait, cet objet ne comporte aucun paramètre spécifique.

exemple :

<imgObject Type="ImageGlyphCache" ID="10">
  <imgObjectTime Ver="2" Start="0" End="8"/>
  <imgParameterList>
      <imgParm Name="Name">ImageGlyphCache</imgParm>
  </imgParameterList>
</imgObject>

retour



Type="ImageTextLayer"


Cet objet image permet de définir un texte qui sera ensuite utilisé comme une image. Notez que la zone autour du texte sera transparente.
Les paramètres sont forcément plus nombreux que pour l'objet ImageGlyphcache

  • TextString (chaîne de caractères) est le texte à afficher. Le plus souvent, le texte sera passé en paramètre via un objet Template . Dans ce cas, il est fortement conseillé que la valeur de TextString soit rigoureusement identique à celle de la valeur par défaut dans l'objet Template
  • OrigSceneWidth (en pixel) permet d'indiquer la géométrie de référence du texte (en référence au paramètre Width de l'objet ou SceneWidth de l'objet Scene.
  • OrigSceneHeigth (en pixel) idem pour la hauteur.
  • OrigScenePixelAspect  (ratio largeur/hauteur) idem pour la géométrie du pixel. Ce paramètre est très pratique pour modifier la taille du texte depuis l'éditeur de thème.
  • TextWidth (% de la taille d'écran de référence) indique la largeur du rectangle englobant le texte. La valeur 0 désactive le paramètre et est équivalente à la valeur 1
  • TextHeight (% de la taille d'écran de référence) indique la hauteur du rectangle englobant le texte. Ces 2 paramètres permettent de contrôler la zone d'écriture d'un texte
  • JustifyHorizontal permet de contrôler le centrage horizontal du texte dans le rectangle défini par les paramètres TextWidth et TextHeight. Les valeurs possibles sont tjhLeft,tjhCenter, et tjhRight pour un positionnement respectivement collé à gauche, centré, ou collé sur la  droite.
  • JustifyVertical permet de contrôler le centrage vertical du texte dans le rectangle défini par les paramètres TextWidth et TextHeight. Les valeurs possibles sont tjvTop,tjvCenter, et tjvBottom pour un positionnement respectivement collé à gauche, centré, ou collé sur la  droite.
  • WordWrap qui peut prendre la valeur 0 . Quand ce paramètres vaut 0, le texte peut aller à la ligne n'importe quand à l'intérieur d'un mot. (cela peut être pratique pour créer un texte avec les lettres les unes en dessous des autres ).Par défaut, le texte ira à la ligne uniquement entre 2 mots.
  • PercentLeading (valeur) indique une modification de la taille entre chaque ligne de texte. La valeur semble être un pourcentage de la taille de l'écran de référence.

on retrouve ensuite une section délimitée par la balise imgTextLayer et qui contiendra elle-même plusieurs sections que nous allons maintenant détailler.

tout d'abord la section délimitée par la balise Fonts
Cette section prend toujours la forme suivante :

    <Fonts>
    <F0 N="Clarendon BT" H="72" W="0" I="0" B="0" U="0" S="0"/>
    </Fonts>

  • N donne le nom de la police de caractère qui sera utilisée. Attention de donner un nom valide. Vous pourrez vous aider de l'éditer de titre de Pinnacle Studio pour découvrir l'ensemble des polices disponibles sur votre ordinateur. Dans Studio 14, il sera possible de modifier la police de caractère indiquée dans ce paramètre, dans ce cas, il fixera toutefois la police par défaut.
  • H donne la taille de la police de caractère (en pixel)
  • W indique la largeur (en pixel) de la police de caractère. La valeur 0 est conseillée, elle indique de respecter la forme d'origine de la police.
  • I avec la valeur 1 mettra la police en italique
  • B avec la valeur 1 mettra la police en gras
  • U avec la valeur 1 soulignera la police
  • S avec la valeur 1 rayera la police

Nous trouverons ensuite une section délimitée par la balise Looks qui prendra toujours la forme suivante :

    <Looks>
    <L0 D="A" W="0" H="0"/>
    </Looks>

Il semble que le paramètre H agisse sur la hauteur des caractères sans que je n'ai pu en comprendre totalement la logique. Je reste interrogatif sur le sens des paramètres D et W. En tout état de cause, il faudra reproduire cette section à l'identique !

Il y à ensuite une section délimitée par la balise Letters dont l'utilité est douteuse, les thèmes fonctionnent très bien sans ! (cela a l'air toutefois un peu différent pour les motion titles ...). Je vous propose donc d'ignorer cette section.

exemple : ouvrez le thème 1 - ImageTextLayer dans la série 20cents Training. Il met en scène l'objet suivant, et vous permet de tester l'effet des paramètres TextWidth, TextHeight, OrigScenePixelAspect, et PercentLeading


<imgObject Type="ImageTextLayer" ID="10">
    <imgObjectTime Ver="2" Start="0" End="5"/>
    <imgParameterList>
        <imgParm Name="Name">TextLayer.Image</imgParm>
        <imgParm Name="Width">720</imgParm>
        <imgParm Name="Height">576</imgParm>
        <imgParm Name="TextString">Image Text Layer</imgParm>
        <imgParm Name="JustifyHorizontal">tjhLeft</imgParm>
        <imgParm Name="OrigSceneWidth">720</imgParm>
        <imgParm Name="OrigSceneHeight">576</imgParm>
        <imgParm Name="OrigScenePixelAspect">1.42</imgParm>
    </imgParameterList>
    <imgTextLayer>
      <Fonts>
        <F0 N="GrilledCheese BTN Cn" H="48" W="0" I="0" B="0" U="0" S="0"/>
      </Fonts>
      <Looks>
        <L0 D="A" W="0" H="0"/>
      </Looks>
  </imgTextLayer>
</imgObject>

Le thème d'entraînement 1 - ImageTextLayer vous permettra de tester certains paramètres pour notamment modifier le cadrage et la taille apparente de la police. Les valeurs numérique situées à l'intérieur des crochets [ ] représentent les valeurs minimum et maximum de variation programmées pour chaque curseur. Ceci vous permet de mesurer les valeurs à mettre sur les différents paramètres pour obtenir l'effet désiré .

retour



Type="ImageGradient"


Voici un objet rare, puisque je ne l'ai trouvé qu'une seule fois dans les thèmes de Pinnacle ! Sa fonction précise et sa liste de paramètre est donc donnée sous toute réserve ...
Comme son nom le suggère, cet objet génère un fond avec un dégradé de couleur

les paramètres sont :
SourceType qui aura la valeur srcLocal, ce qui indique quie l'objet ne va pas chercher de ressource externe ...
ColorComponents qui admet un ensemble de 8 valeurs qui représentent les composantes Alpha (transparence),Rouge,Verte, et Bleue de la couleur de départ, puis de la couleur d'arrivée, l'objet construisant tout seul le dégradé. Chacune des valeurs sera dans la plage [0..1], avec un ; comme séparateur.
Angle (en degrés) indique la direction de propagation du dégradé. Soyez vigilant lorsque vous utilisez les chiffres ronds, et notamment 0 qui provoque parfois des effets inattendus. Dans ce cas, utilisez plutot 0.7 

exemple  : ouvrez le thème 1 - ImageGradient dans la série 20cents Training. Il met en scène l'objet suivant, et vous permet de tester l'effet du paramètre Angle

  <imgObject Type="ImageGradient" ID="10">
  <imgObjectTime Ver="2" Start="0" End="5"/>
  <imgParameterList>
    <imgParm Name="Name">Gradient.Image</imgParm>
    <imgParm Name="SourceType">srcLocal</imgParm>
    <imgParm Name="ColorComponents">0.2;1;0;0;1;0;1;0;</imgParm>
    <imgParm Name="Angle">0.07</imgParm>
  </imgParameterList>
  </imgObject>

En chargeant le thème d'entraînement 1 - ImageGradient vous pourrez vous rendre compte de ce que peut produire cet objet. A noter que je n'ai pas trouver comment paramétrer les couleurs de départ et d'arrivée depuis un objet de comportement ou depuis l'interface de l'éditeur de thème .
retour

Les objets de présentation


Paramètres communs à tous les objets de présentation


Les objets de présentation permettent en particulier de positionner un clip dans un espace en 3 dimensions et de le faire tourner selon 3 axes autour d'un centre de rotation programmable. Il est également possible de choisir la taille apparente de l'objet ...

  • PivotX ajuste la position horizontale du centre de rotation de l'objet. La valeur -1 correspond au bord gauche du clip, 1 au bord droit. Il est possible de donner à ce paramètre une valeur au delà de cette plage !. A noter que lorsque vous modifiez un paramètre Pivot, vous observerez un déplacement du clip, car les coordonnées définie par les paramètres position sont relatives au centre de rotation et non pas au centre du clip. . PivotX sera utilisé pour modifier le centre de rotation autour de l'axe vertical ou autour de l'axe Z (voir RotationY et RotationZ)
  • PivotY ajuste la position verticale du centre de rotation de l'objet. PivotY sera utilisé pour modifier le centre de rotation autour de l'axe horizontal et de l'axe Z (voir RotationX et RotationZ)
  • PivotZ ajuste la profondeur du centre de rotation de l'objet. PivotZ sera utilisé pour modifier le centre de rotation autour de l'axe horizontal ou de l'axe vertical  (voir RotationY et RotationY)

  • PositionX permet de régler la position horizontale du centre de rotation du clip. Une amplitude de 1 correspond à toute la largeur de la fenêtre contenant le clip.
  • PositionY permet de régler la position verticale du centre de rotation du clip. Une amplitude de 1 correspond à toute la hauteur de la fenêtre contenant le clip.
  • PositionZ permet de régler la profondeur du centre de rotation du clip. Il reste délicat de trouver les bonnes valeurs pour ce paramètre. En général, il faut y aller expérimentalement pour trouver le bon réglage . Il faut noter que Studio sait gérer les affichages pour des PositionZ comprises entre -99 et +99. Les parties de clip situés au delà de ces valeurs ne seront tout simplement pas affichées . Ces limites s'entendent après application des différents effets d'échelle, de rotation, etc ...

  • RotationX (en degrés) permet une rotation autour de l'axe horizontal
  • RotationY (en degrés) permet une rotation autour de l'axe vertical
  • RotationZ (en degrés) permet une rotation autour de l'axe perpendiculaire à l'écran

  • ScaleX ajuste l'échelle selon l'axe horizontal. La valeur 1 est la valeur par défaut. Une valeur plus petite réduira la taille apparente du clip, une valeur plus grande effectuera un zoom.
  • ScaleY ajuste l'échelle selon l'axe vertical
  • ScaleZ ajuste l'échelle selon l'axe de profondeur

Dans studio, ouvrez l'éditeur de thème et la série 20cents Training. placez le thème 2 - common layout parameters sur la timeline, et testez l'effet de chacun de ces paramètres !

On trouve encore d'autres paramètres généraux applicables à tous les objets de présentation. Ils sont moins utiles, mais par soucis d'exhaustivité, je les mentionne ici.

  • Distance dont la valeur doit être positive agit comme un multiplicateur sur la profondeur. Tout cela reste assez mystérieux 
  • Visible indique si l'objet est visible (valeur par défaut 1 ) ou invisible (valeur 0).
  • ObjectColorAlpha ajuste le niveau de transparence du clip. 0 signifie que l'objet est totalement transparent (invisible) et 1 qu'il est complètement opaque.
  • Width (entre 0 et 1) donne la largeur de la zone du clip (semble équivalent à ScaleX
  • Height (entre 0 et 1) donne la hauteur du clip (semble équivalent à ScaleY
  • AutoAdjustAspect avec la valeur 1permet de conserver la géométrie d'un média 4:3 dans un projet 16:9. (par défaut, seuls les contenus de drop zones sont zoomés pour remplir la zone de clip en cas de besoin. Les images et vidéo utilisées "en dur" dans un thème de montage sont adaptés pour remplir l'écran au besoin par déformation de la géométrie, sauf si AutoAdjustAspect est placé à 1.)

Dans studio, ouvrez l'éditeur de thème et la série 20cents Training. placez le thème 2 - common layout parameters bis sur la timeline, et testez l'effet de chacun de ces paramètres !

retour


Type="Plane"


L'objet Plane est l'objet de présentation le plus simple. Il se contente d'afficher l'image source, éventuellement en la teintant. les paramètres sont donc :

  • ObjectColorRed  (entre 0 et 1) est la proportion de rouge dans la teinte à ajouter à l'image
  • ObjectColorGreen  (entre 0 et 1) est la proportion de vert dans la teinte à ajouter à l'image
  • ObjectColorBlue  (entre 0 et 1) est la proportion de bleu dans la teinte à ajouter à l'image

exemple :

<imgObject Type="Plane" ID="9">
  <imgObjectTime Ver="2" Start="0" End="14"/>
  <imgParameterList>
      <imgParm Name="Name">Background</imgParm>
      <imgParm Name="PositionZ">90</imgParm>
      <imgParm Name="ObjectColorRed">0.713725</imgParm>
      <imgParm Name="ObjectColorGreen">0.862745</imgParm>
      <imgParm Name="ObjectColorBlue">0.733333</imgParm>
  </imgParameterList>
</imgObject>

Dans studio, ouvrez l'éditeur de thème et la série 20cents Training. placez le thème 2 - Plane sur la timeline, et testez l'effet de chacun de ces paramètres !

retour


Type="Wipe"


L'objet Wipe permet de faire apparaître l'image source sous différentes forme, avec une bordure de taille et de couleur paramétrable, avec une bordure adoucie (comme un bouton à cliquer !), ou encore dans dans un cercle ..

les paramètres sont les suivants :

  • Shape ce paramètre peut prendre les valeurs shSquare pour créer une présentation dans un rectangle avec une bordure de couleur ou adoucie, shRound pour créer une présentation dans un cercle avec une bordure de couleur, shEdge qui permettra de jouer sur les limites de l'image source, ou encore shBands. Dans Studio 14 est apparu une nouvelle valeur pour ce paramètre qui est shAngle.

  • BorderSize permet de spécifier la taille de la bordure (en pourcentage de la taille de la fenêtre)
  • BorderRed est la composante Rouge de la couleur de la bordure (entre 0 et 1)
  • BorderGreen est la composante Verte de la couleur de la bordure (entre 0 et 1)
  • BorderBlue est la composante bleue de la couleur de la bordure (entre 0 et 1)
  • Softness est la taille de la bordure adoucie (en pourcentage de la taille de la fenêtre)
  • Progress  (entre 0 et 1) définira le pourcentage de l'image source qui sera visible dans la fenêtre.
  • Direction  (en degrés) définira la direction de propagation de l'effet. Attention, si vous souhaitez mettre un effet vers la droite (0 degrés), préférez une valeur décimale de type 0.7

exemple :

<imgObject Type="Wipe" ID="9">
  <imgObjectTime Ver="2" Start="0" End="8"/>
  <imgParameterList>
      <imgParm Name="Name">Drop 2_ending</imgParm>
      <imgParm Name="Shape">shEdge</imgParm>
      <imgParm Name="Softness">0.2</imgParm>
      <imgParm Name="Progress">0.468</imgParm>
      <imgParm Name="Direction">180.1</imgParm>
  </imgParameterList>
</imgObject>

Dans studio, ouvrez l'éditeur de thème et la série 20cents Training. placez le thème 2 - Wipe sur la timeline, et testez l'effet de chacun de ces paramètres sur pour les 5 formes d'objet Wipe!

retour


Type="PIP"


Voici un objet pour les thèmes de montage qui reprend toutes les possibilités offertes par l'effet vidéo d'incrustation d'image (Picture In Picture). C'est un objet particulièrement riche pour ce qui concerne les possibilités de bordures et d'ombrages.

Les paramètres sont les suivants :

  • BorderBlue  (entre 0 et 1) donne la composante bleue de la bordure de fenêtre
  • BorderGreen (entre 0 et 1) donne la composante verte de la bordure de fenêtre
  • BorderRed (entre 0 et 1) donne la composante rouge de la bordure de fenêtre.
  • BorderSize taille de la bordure.  Il faut noter que l'échelle de taille de la bordure pour l'objet PIP est différente de celle de l'objet Wipe. La valeur 1 donne ici une bordure d'une taille d'environ 25% de celle de la fenêtre.
  • BorderSoftness (entre 0 et 1) permet de donner une apparence de relief à la bordure
  • CornerRadius (entre 0 et 1) permet d'arrondir les angles de la fenêtre et de la bordure.
  • PipHeight règle la hauteur de la fenêtre. Ce paramètre semble tout à fait identique au paramètre ScaleY
  • PipWidthrègle la largeur de la fenêtre. Ce paramètre semble tout à fait identique au paramètre ScaleX
  • PipX ajuste la position horizontale de la fenêtre. Le centre correspond à la valeur 0.5
  • PipY ajuste la position verticale de la fenêtre. Le centre correspond à la valeur 0.5
  • ShadowDirectionIl est possible de doter la fenêtre PIP d'une ombre. Ce paramètre permet d'en fixer la direction apparente.
  • ShadowOffset permet de régler la distance entre l'ombre et la fenêtre.
  • ShadowOpacity ajuste l'intensité de l'ombre
  • ShadowSoftness ajuste la netteté de l'ombre.
  • Softness ajoute un flou autour de la fenêtre, ou entre la fenêtre et sa bordure lorsqu'il en existe une.

<imgObject Type="PIP" ID="17">
  <imgObjectTime Ver="2" Start="0" End="8"/>
  <imgParameterList>
    <imgParm Name="Name">line4_2</imgParm>
    <imgParm Name="Width">0.17</imgParm>
    <imgParm Name="Height">0.15</imgParm>
    <imgParm Name="Softness">0.075</imgParm>
    <imgParm Name="CornerRadius">0.15</imgParm>
    <imgParm Name="BorderSize">0.15</imgParm>
    <imgParm Name="BorderSoftness">0.266</imgParm>
    <imgParm Name="BorderRed">1</imgParm>
    <imgParm Name="BorderGreen">1</imgParm>
    <imgParm Name="BorderBlue">1</imgParm>
  </imgParameterList>
</imgObject>

Pour comprendre exactement le rôle de chacun de ces paramètres, placez le thème PIP sur la timeline de Studio, et faites les varier un par un pour en observer les effets.

retour


Type ="IMGPlane"


Cet objet est assez proche de l'objet Plane. Il a pour fonction de mettre en valeur une image principale associée avec une découpe ShapeImage. La particularité de cet objet est sa capacité à manipuler l'objet ShapeImage pour n'en prendre qu'une partie, la décaler, etc ...
Bien entendu, comme a chaque fois que l'on utilisera une ShapeImage, il ne sera pas possible d'appliquer un effet de couleur sur l'image principale.

Les paramètres de l'objet sont les suivants :

  • FillHeight  ajuste la hauteur de l'image principale.
  • FillWidth  ajuste la largeur de l'image principale.
  • FillPosX  ajuste la position horizontale de l'image principale.
  • FillPosY  ajuste la position verticale de l'image principale.

  • ShapeHeight  ajuste la hauteur de la forme.
  • ShapeWidth  largeur de la forme.
  • ShapePosX  position horizontale de la forme.
  • ShapePosY position verticale de la forme

<imgObject Type="IMGPlane" ID="13">
  <imgObjectTime Ver="2" Start="0" End="11.96"/>
  <imgParameterList>
      <imgParm Name="Name">Leaf 1</imgParm>
      <imgParm Name="FIllPosX">0.2</imgParm>
      <imgParm Name="FillPosY">0.15</imgParm>
  </imgParameterList>
</imgObject>

Pour comprendre exactement le rôle de chacun de ces paramètres, placez le thème IMGPLane sur la timeline de Studio, et faites les varier un par un pour en observer les effets.

retour


Type="SphereSection"


Comme son nom l'indique, cet objet va permettre de présenter une image source sur une surface arrondie (portion de cylindre ou de sphère).

Les paramètres de cet objet sont :

  • ObjectColorBlue (entre 0 et 1, défaut=1) pourcentage de teinte bleue appliquée à l'image
  • ObjectColorGreen (entre 0 et 1, défaut=1) pourcentage de teinte bleue appliquée à l'image
  • ObjectColorRed (entre 0 et 1, défaut=1) pourcentage de teinte bleue appliquée à l'image
  • XCurvature (entre -1 et 1) courbure autour de l'axe horizontal. La valeur donne le pourcentage de la circonférence qui sera occupé par l'image source. Une Valeur négative inversera le sens d'enroulement
  • YCurvature (entre -1 et 1) courbure autour de l'axe Vertical. La valeur donne le pourcentage de la circonférence qui sera occupé par l'image source.

exemple:

<imgObject Type="SphereSection" ID="70">
  <imgObjectTime Ver="2" Start="0" End="30"/>
  <imgParameterList>
      <imgParm Name="Name">SphereSection</imgParm>
      <imgParm Name="RotationY">-315.4</imgParm>
      <imgParm Name="PivotZ">62</imgParm>
      <imgParm Name="XCurvature">0.24</imgParm>
  </imgParameterList>
</imgObject>


Dans studio, ouvrez l'éditeur de thème et la série 20cents Training. placez le thème 2 - SphereSection sur la timeline, et testez l'effet de chacun de ces paramètres !
retour


Type="VideoWall"


Cet objet permet de présenter une image source sous la forme d'un ensemble de rectangles plus petits contenant soit l'image source elle même (réduite bien sur !), soit une fraction de celle ci. Il sera alors possible de réaliser des animations sur chacunes de ses parties à l'aide des objets de comportements ...

Les paramètres spécifiques sont :

  • CellParent permet de controler si les objets de comportements agissent en traitant ligne par ligne (par défaut) ou colonne par colonne (nécessite de renseigner CellParent avec la valeur cpColumns
  • Columns indique le nombre de colonnes pour l'objet (nombre entier, fonctionne correctement jusqu'à 20 ou 30. Au delà, attention au ralentissements ...)
  • Rows indique le nombre de lignes pour l'objet (nombre entier, fonctionne correctement jusqu'à 20 ou 30. Au delà, attention au ralentissements ...)
  • Divisions indique quels sont les sous ensembles manipulables par les objets de comportement. Il s'agit d'une liste de valeur parmi Columns et Cells
  • Replicate indique si les rectangles élémentaires reproduisent chacun l'image source (valeur 1) ou si au contraire, chaque rectangle élémentaire n'est qu'une fraction de l'image source (valeur 0)

<imgObject Type="VideoWall" ID="14">
  <imgObjectTime Ver="2" Start="0" End="12"/>
  <imgParameterList>
      <imgParm Name="Name">Background wall</imgParm>
      <imgParm Name="Divisions">Columns,Cells</imgParm>
      <imgParm Name="Rows">6</imgParm>
      <imgParm Name="Columns">6</imgParm>
      <imgParm Name="CellParent">cpColumns</imgParm>
      <imgParmName="Replicate">1</imgParm>
  </imgParameterList>
</imgObject>


Dans studio, ouvrez l'éditeur de thème et la série 20cents Training. placez le thème 2 - VideoWall sur la timeline, et testez l'effet de chacun de ces paramètres !
retour


Type="Text"


Cet objet de présentation permet de composer un texte en combinaison avec l'objet d'image source ImageGlyphCache. C'est une autre méthode pour afficher un texte, la première étant d'utiliser une image source de type ImageTextLayer et une présentation dans un objet par exemple de type Plane (d'autres objets de présentation peuvent être utilisés bien sur).
L'avantage de cette méthode, c'est que chacunes de lettres ou chaque mot pourra être manipulé par les objets de comportement, ce qui permettra de créer toute sorte d'animation de texte. C'est ce type d'objet qu'exploite les Motion Titles de Studio 14 ...

Les paramètres spécifiques sont :

  • Divisions indique quels sont les sous ensembles manipulables par les objets de comportement. Il s'agit d'une liste de valeur parmi Layer qui désigne l'ensemble du texte, Lines pour manipuler les lignes une par une, Words pour donner un effet mot par mot, Letters affectera les lettres une par une, et enfin Details qui ne sert à rien semble t-il ...
  • TextString (chaine de caractères) est le texte à afficher. Le plus souvent, le texte sera passé en paramètre via un objet Template . Dans ce cas, il est fortement conseillé que la valeur de TextString soit rigoureusement identique à celle de la valeur par défaut dans l'objet Template
  • OrigSceneWidth (en pixel) permet d'indiquer la géométrie de référence du texte (en référence au paramètre Width de l'objet ou SceneWidth de l'objet Scene.
  • OrigSceneHeigth (en pixel) idem pour la hauteur.
  • OrigScenePixelAspect  (ratio largeur/hauteur) idem pour la géométrie du pixel. Ce paramètre est très pratique pour modifier la taille du texte depuis l'éditeur de thème.
  • TextWidth (% de la taille d'écran de référence) indique la largeur du rectangle englobant le texte. La valeur 0 désactive le paramètre et est équivalente à la valeur 1
  • TextHeight (% de la taille d'écran de référence) indique la hauteur du rectangle englobant le texte. Ces 2 paramètres permettent de contrôler la zone d'écriture d'un texte
  • JustifyHorizontal permet de contrôler le centrage horizontal du texte dans le rectangle défini par les paramètres TextWidth et TextHeight. Les valeurs possibles sont tjhLeft,tjhCenter, et tjhRight pour un positionnement respectivement collé à gauche, centré, ou collé sur la  droite.
  • JustifyVertical permet de contrôler le centrage vertical du texte dans le rectangle défini par les paramètres TextWidth et TextHeight. Les valeurs possibles sont tjvTop,tjvCenter, et tjvBottom pour un positionnement respectivement collé à gauche, centré, ou collé sur la  droite.
  • WordWrap qui peut prendre la valeur 0 . Quand ce paramètres vaut 0, le texte peut aller à la ligne n'importe quand à l'intérieur d'un mot. (cela peut être pratique pour créer un texte avec les lettres les unes en dessous des autres ).Par défaut, le texte ira à la ligne uniquement entre 2 mots.
  • PercentLeading (valeur) indique une modification de la taille entre chaque ligne de texte. La valeur semble être un pourcentage de la taille de l'écran de référence.

on retrouve ensuite une section délimitée par la balise imgTextLayer et qui contiendra elle-même plusieurs sections que nous allons maintenant détailler.

tout d'abord la section délimitée par la balise Fonts
Cette section prend toujours la forme suivante :

    <Fonts>
    <F0 N="Clarendon BT" H="72" W="0" I="0" B="0" U="0" S="0"/>
    </Fonts>

  • N donne le nom de la police de caractère qui sera utilisée. Attention de donner un nom valide. Vous pourrez vous aider de l'éditer de titre de Pinnacle Studio pour découvrir l'ensemble des polices disponibles sur votre ordinateur. Dans Studio 14, il sera possible de modifier la police de caractère indiquée dans ce paramètre, dans ce cas, il fixera toutefois la police par défaut.
  • H donne la taille de la police de caractère (en pixel)
  • W indique la largeur (en pixel) de la police de caractère. La valeur 0 est conseillée, elle indique de respecter la forme d'origine de la police.
  • I avec la valeur 1 mettra la police en italique
  • B avec la valeur 1 mettra la police en gras
  • U avec la valeur 1 soulignera la police
  • S avec la valeur 1 rayera la police

Nous trouverons ensuite une section délimitée par la balise Looks qui prendra toujours la forme suivante :

  <Looks>
        <L0 D="A" W="0" H="0"/>
    </Looks>

Il semble que le paramètre H agisse sur la hauteur des caractères sans que je n'ai pu en comprendre totalement la logique. Je reste interrogatif sur le sens des paramètres D et W. En tout état de cause, il faudra reproduire cette section à l'identique !

Il y à ensuite une section délimitée par la balise Letters dont l'utilité est douteuse, les thèmes fonctionnent très bien sans ! (cela a l'air toutefois un peu différent pour les motion titles ...). Je vous propose donc d'ignorer cette section.

exemple :

<imgObject Type="Text" ID="39">
  <imgObjectTime Ver="2" Start="0" End="25"/>
  <imgParameterList>
      <imgParm Name="Name">Text</imgParm>
      <imgParm Name="Divisions">Layer,Lines,Words,Letters,Details</imgParm>
      <imgParm Name="TextWidth">0.75</imgParm>
      <imgParm Name="TextHeight">0.5</imgParm>
      <imgParm Name="TextString">Text</imgParm>
      <imgParm Name="OrigSceneWidth">720</imgParm>
      <imgParm Name="OrigSceneHeight">480</imgParm>
      <imgParm Name="OrigScenePixelAspect">1.18518</imgParm>
  </imgParameterList>
  <imgTextLayer>
      <Fonts>
        <F0 N="Clarendon Lt BT" H="36" W="0" I="0" B="1" U="0" S="0"/>
      </Fonts>
      <Looks>
        <L0 D="A" W="0" H="0"/>
      </Looks>
    <Letters>
    <L0 C="84" F="0" L="0" K="0"/>
    <L1 C="101" F="0" L="0" K="0"/>
    <L2 C="120" F="0" L="0" K="0"/>
    <L3 C="116" F="0" L="0" K="0"/>
    </Letters>
  </imgTextLayer>
</imgObject>

retour


Type="FlagWave"


Cet objet permet de draper une image sur un drapeau qu'il sera ensuite possible d'animer à l'aide des objets de comportement que nous verrons plus loin ...

Les paramètres spécifiques sont :

  • Progress comme souvent, Progress contrôle la progression du mouvement
  • Quality 
  • WaveAngle (en degrés, 0 étant la verticale) défini l'angle du mouvement du drapeau
  • WaveCount 
  • WaveHeight (entre 0 et 1) ajustera l'amplitude du mouvement du drapeau dans sa profondeur.
  • WaveRandom (entre 0 et 1) permet d'avoir différents drapeaux paramétrés de manière identiques, mais avec des mouvements apparents légèrement différents pour donner plus de réalisme à la scène.
  • WaveVary 

A noter que l'effet de drapeau à une taille fixe dans la fenêtre, qui n'occupe que la partie centrale de l'image. Pour modifier cet état de fait, il faudra jouer sur les paramètres Width et Height pour modifier la taille apparente, puis sur les paramètres ScaleX et ScaleY pour mettre le drapeau à la bonne taille dans votre thème de montage.

exemple :

<imgObject Type="FlagWave" ID="25">
  <imgObjectTime Ver="2" Start="0" End="10"/>
  <imgParameterList>
      <imgParm Name="Name">fishy</imgParm>
      <imgParm Name="WaveHeight">0.171</imgParm>
      <imgParm Name="WaveCount">3.78</imgParm>
      <imgParm Name="WaveAngle">1.44</imgParm>
      <imgParm Name="WaveVary">16.04</imgParm>
      <imgParm Name="WaveRandom">0.748</imgParm>
      <imgParm Name="Quality">0</imgParm>
  </imgParameterList>
</imgObject>

Dans studio, ouvrez l'éditeur de thème et la série 20cents Training. placez le thème 2 - FlagWave sur la timeline, et testez l'effet de chacun de ces paramètres !

retour


Type="LensFlare"


Voici un ersatz de l'effet vidéo correspondant, mais intégré dans les thèmes de montage. Il permet de créer plusieurs dizaines d'effets différents, mais reste difficile à bien maîtriser ...
L'effet LensFlare se décompose en 3 éléments primaires : un type de source lumineuse (glow), un type de rayons lumineux (ray) et enfin un type de reflet (reflect). Chacun de ces 3 éléments sera a choisir parmi une liste dont je n'ai pas exploré l'intégralité. Il semblerait qu'il en existe énormément ...

A noter qu'exceptionnellement, l'objet  LensFlare n'est pas rattaché à un objet image (via son objet Material

Les paramètres de contrôle sont les suivants ...

  • GlowType type de source lumineuse (entre 1 et 30?)
  • Size taille de la source lumineuse (entre 0 et 1)
  • Intensity intensité du rayonnement (entre 0 et 2.5)
  • RayType type de rayons
  • RayIntensity intensité des rayons
  • RayRotation rotation des rayons
  • ReflectType type de reflets
  • ReflectIntensity intensité des reflets
  • RotateHorizontal rotation horizontale de l'effet par rapport à un point central
  • RotateVertical  rotation verticale de l'effet par rapport à un point central

exemple :

<imgObject Type="LensFlare" ID="13">
  <imgObjectTime Ver="2" Start="0" End="5"/>
  <imgParameterList>
      <imgParm Name="Name">LensFlare</imgParm>
      <imgParm Name="PositionZ">10</imgParm>
      <imgParm Name="GlowType">1</imgParm>
      <imgParm Name="Intensity">3</imgParm>
      <imgParm Name="RayType">24</imgParm>
      <imgParm Name="RayIntensity">0.5</imgParm>
      <imgParm Name="RayRotation">0</imgParm>
      <imgParm Name="Size">1</imgParm>
  </imgParameterList>
</imgObject>


pour mieux comprendre les différentes possibilités de cet objet, je vous invite à tester le thème d'entraînement 2 - LensFlare

retour


Type="Peel"


Cette objet est destiné à produire un effet d'épluchage par enroulement progressif d'une image.

Les paramètres de cet objet sont :

  • Progress (entre 0 et 1) ajuste la position du mouvement d'enroulement
  • CurlAmount semble permettre de régler le niveau d'enroulement de la feuille
  • Direction (entre -180 et 180 en degrés) indique la direction d'enroulement de la feuille sur elle-même
  • Radius  ajuste le rayon d'enroulement (l'unité reste a définir ...). la valeur0 correspondra à une pliure, alors qu'une valeur plus importante (10) donne un effet plus arrondi

exemple :

<imgObject Type="Peel" ID="9">
  <imgObjectTime Ver="2" Start="0" End="6"/>
  <imgParameterList>
      <imgParm Name="Name">Tape</imgParm>
      <imgParm Name="ScaleX">0.230126</imgParm>
      <imgParm Name="ScaleY">0.230126</imgParm>
      <imgParm Name="ScaleZ">0.230126</imgParm>
      <imgParm Name="Width">2.66667</imgParm>
      <imgParm Name="Height">2.25</imgParm>
      <imgParm Name="Radius">4.44</imgParm>
      <imgParm Name="Direction">173.16</imgParm>
      <imgParm Name="CurlAmount">166.68</imgParm>
  </imgParameterList>
</imgObject>

pour mieux comprendre les différentes possibilités de cet objet, je vous invite à tester le thème d'entraînement 2 - Peel
retour


Type="Tiles"


Cet objet découpe une image source en fragments rectangulaire, ce qui permet d'effectuer toutes sortes d'animations. Son comportement reste là encore difficile à bien maîtriser ... et mieux vaudra essayer d'en comprendre le fonctionnement avec le thème d'entraînement ...

Le paramètres en sont :

  • Columns indique le nombre de colonnes dans lesquelles la fenêtre sera découpée
  • Rows  indique le nombre de lignes dans lesquelles la fenêtre sera découpée
  • FloorLevel indique la position verticale vers laquelle convergeront les différents morceaux de la fnêtre.
  • Progress permet là encore de contrôler l'évolution du mouvement. Il suffira pour cela de faire varier la valeur de Progress dans un objet Keyframer par exemple.
  • RandomSeed permet de donner une composante aléatoire au mouvement, pour par exemple mélanger 2 objets Tiles bougeant en même temps, sans qu'ils ne se superposent.
  • ScatterX  règle la dispersion horizontale des éléments
  • ScatterZ règle la dispersion en profondeur des différents éléments.
  • Stagger 
  • TileRotation   

exemple :

<imgObject Type="Tiles" ID="55">
  <imgObjectTime Ver="2" Start="0" End="30"/>
  <imgParameterList>
      <imgParm Name="Name">Tiles</imgParm>
      <imgParm Name="Rows">38</imgParm>
      <imgParm Name="Columns">77</imgParm>
      <imgParm Name="Stagger">0.676</imgParm>
      <imgParm Name="ScatterX">0.824</imgParm>
      <imgParm Name="ScatterZ">0</imgParm>
      <imgParm Name="FloorLevel">-2</imgParm>
      <imgParm Name="TileRotation">2.38</imgParm>
      <imgParm Name="RandomSeed">1179</imgParm>
  </imgParameterList>
</imgObject>

pour mieux comprendre les différentes possibilités de cet objet, je vous invite à tester le thème d'entraînement 2 - Tiles
retour

L'objet Material


Type="Material"


L'objet Material permet de concrétiser un objet image en en définissant la partie à considérer, et éventuellement en y ajoutant un effet de colorisation. Chaque clip affiché à l'écran est matérialisé par un unique objet Material

Les paramètres suivants sont disponibles :

  • MainImage pointe sur le ID d'une image source. Ce paramètre est présent systématiquement, sauf pour l'objet de présentation LensFlare
  • Dependent est obligatoire et vaut toujours le numéro d' ID de l'objet Scene soit 1

Les effets de couleur. Attention, Ceux-ci ne fonctionneront pas si l'objet de présentation est de type Wipe ou PIP

  • AmbientColorBlue  Les paramètres AmbientColor permettent d'apporter une couleur tamisée sur l'objet de présentation.
  • AmbientColorGreen
  • AmbientColorRed
  • DiffuseColorBlue  est équivalent aux paramètres ObjectColor qui s'appliquent eux sur les objets de présentation.
  • DiffuseColorGreen
  • DiffuseColorRed
  • EmissiveColorBlue Apporte une émission de couleur par transparence du coté opposé à la source de lumière (qui se trouve invariablement à gauche de l'écran). Cet effet ne s'applique donc que lorsque l'objet est placé dans un espace à 3 dimensions. (suppose que le paramètre UseLighting soit à 1)
  • EmissiveColorGreen
  • EmissiveColorRed
  • SpecularColorBlue Apporte une couleur au reflet lumineux (suppose que le paramètre UseLighting soit à 1)
  • SpecularColorGreen
  • SpecularColorRed
  • SpecularPower  Ajuste la puissance de la source d'éclairage de la scène, et donc l'intensité des couleurs spécifiées avec les paramètres SpecularColor.
  • UseLighting vaut soit 0, soit 1. Lorsque la valeur 0 est utilisée, l'objet de sera pas éclairé, et il n'y aura pas d'effets de reflets dessus.
  • DiffuseColorAlpha est équivalent au paramètre ObjectColorAlpha que l'on applique sur un objet de présentation.

Les effets de troncature de l'image source. Il existe différentes possibilité de ne traiter dans l'objet de présentation qu'une partie de l'image source. On peut par exemple définir un sous ensemble inscrit dans un rectangle, ou encore apporter  une découpe selon une image (ou une video !)

  • TexturePositionX permet de définir l'abscisse du coin supérieur gauche d'un rectangle qui délimitera la partie de l'image source à traiter dans l'objet de présentation. Sa valeur varie de 0 à 1, 0 étant la position la plus à gauche dans l'image, 1, la position la plus à droite.
  • TexturePositionY permet de définir l'ordonnée du coin supérieur gauche d'un rectangle qui délimitera la partie de l'image source à traiter dans l'objet de présentation. Sa valeur varie de 0 à 1, 0 étant la position la plus en haut dans l'image, 1, la position la plus en bas.
  • TexturePercentX permet de définir le pourcentage de l'image selon l'axe des X à  traiter dans l'objet de présentation. Sa valeur est donc comprise entre 0 et 1. La somme de TexturePositionX et de TexturePercentX doit normalement est inférieure ou égale à 1.
  • TexturePercentY  permet de définir le pourcentage de l'image selon l'axe des Y à  traiter dans l'objet de présentation. Sa valeur est donc comprise entre 0 et 1. La somme de TexturePositionY et de TexturePercentY doit normalement est inférieure ou égale à 1.
  • ShapeImage  contient le ID d'un objet Image de type .png. Dans cet objet Image, les parties en transparence viendront rendre transparente l'image source pointée par le paramètre MainImage
  • SecondImage contient le ID d'un objet Image ou d'une vidéo. Cet objet Image sera utilisé par un objet d'ombrage de type GradientWipe pour effacer toutes les parties dont l'intensité lumineuse est inférieure à la valeur du paramètre Progress qui y sera renseignée (en faisant varier Progress de 0 à 1, on obtiendra donc une transition Alpha .

les autres paramètres

  • CullMode Par défaut, un objet peut être visualisé à l'endroit et à l'envers (lorsque qu'on l'ui applique une rotation par exemple ...). Si on souhaite appliquer 2 images différentes sur les 2 faces d'une carte à jouer par exmple, il faudra utiliser ce paramètre CullMode qui permet de ne visualiser un objet que sur l'endroit (valeur = cmBackFace= ou l'envers (valeur = cmFrontFace).
  • AutoAspectZoom Je n'ai pas compris à quoi servait ce paramètre ...
  • BlendMode permet d'apporter un effet de transparence à l'objet. Ce paramètre ne semble pas apporter grand chose par rapport au paramétre DiffuseColorAlpha.

exemple :

  <imgObject Type="Material" ID="62">
  <imgObjectTime Ver="2" Start="0" End="30"/>
  <imgParameterList>
    <imgParm Name="Name">Material</imgParm>
    <imgParm Name="Dependent">1</imgParm>
    <imgParm Name="MainImage">7</imgParm>
    <imgParm Name="AmbientColorRed">1</imgParm>
    <imgParm Name="AmbientColorGreen">1</imgParm>
    <imgParm Name="AmbientColorBlue">1</imgParm>
    <imgParm Name="TexturePercentX">0.1</imgParm>
    <imgParm Name="TexturePercentY">0.1</imgParm>
  </imgParameterList>
  </imgObject>


Pour tester de visu l'effet de ces paramètres, chargez le thème 3 - Material de la série 20cents Training sur la timeline de studio, et faites varier le paramètre RotationZ pour bien voir les effets de lumière. Différents objets sont mis en scéne pour également vous permettre de vous rendre compte de l'effet du paramètre CullMode et du paramètre BlendMode.
retour

L'objet Container (NullObject)



Type="NullObject"


cet objet est essentiel. Il s'agit d'un container pour un ou plusieurs autres objets de présentation (Plane, Wipe, etc ...). Son usage permettra donc de déplacer plusieurs objets dans une seule et même action sans en altérer la géométrie en 3D. En effet, le centre de rotation de l'objet en déplacement sera celui du container et non pas chacun des centres de rotation des objets. Cette propriété pourra également être mise à profit pour faire effectuer des mouvements de rotation simultanés d'un même objet autour de plusieurs centres de rotation, comme par exemple faire tourner la Terre autour du Soleil, et également sur elle même...

Les paramètres applicables à un objet de type NullObject sont simplement les paramètres de taille et de position applicables à tous les objets de présentation, soient :

  • PivotX,PivotY,PivotZ
  • PositionX,PositionY,PositionZ
  • RotationX,RotationY,RotationZ
  • ScaleX,ScaleY,ScaleZ

Il faut noterr que peu d'autres paramètres ont un effet sur un NullObject, et surtout que les paramètres appliqués à un NullObject ne se transmettent pas aux objets contenus à l'intérieur. Par exemple, si je souhaite appliquer un effet de transparence sur un NullObject, je devrais en pratique appliquer le paramètre ObjectColorAlpha sur tous les objets de présentation des objets inclus dans le NullObject, et non à l'objet NullObject lui même...

retour

Les objets de comportement


Les objets de comportement servent à modifier les paramètres des objets tout au long de la durée du thème de montage. C'est ce qui va permettre de déplacer des vues, d'en changer la taille, ou encore la couleur. EN réalité, la quasi totalité des paramètres des objets de comportements et de l'objet Material peuvent être modifiés par des objets de comportement.

retour

Type="KeyFramer"


L'objet KeyFramer est le plus courant des objets de comportement. Il permet de spécifier des valeurs successives à donner à une liste de paramètres à des instants bien précis du thème de montage, exactement comme l'on fait quand on paramètre un effet vidéo par images clefs.

Un objet Keyframer ne modifie que les paramètres d'un seul objet. Lorsque qu'il sera appliqué à plusieurs objets de même type, il peut arriver que les mouvements soient exécutés les uns après les autres. Ce sera notamment le cas lorsqu'on modifiera les éléments d'un objet un par un.

L'objet Keyframer admet les paramètres suivants :

  • ModifyParameters est la liste des noms de paramètres  de l'objet à modifier. Le séparateur de liste peut être soit la virgule, soit le point virgule. Seuls les paramètres listé ici pourront être modifiés par cet objet Keyframer. Ce paramètre est obligatoire.

Les autres paramètres sont facultatifs, et seront a utiliser uniquement pour réaliser l'animation séparée des différents éléments des objets Text ou VideoWall. Si les paramètres ci-dessous sont omis, et que l'objet KeyFramer est appliqué sur un objet Text ou VideoWall, alors, il modifiera l'ensemble de l'objet en une seule fois, et non élément par élément. Ces autres paramètres sont :

  • AffectsDivision dont la valeur sera l'une des valeurs listée dans le paramètre Divisions de l'objet Text ou VideoWall. Le plus souvent, on lui donnera la valeur Cells
  • MultiTiming sera une valeur numérique positive qui permettra de contrôler le chevauchement du mouvement de chacun des éléments de l'objet de présentation. La valeur 1 indiquera qu'un élément commencera son mouvement lorsque le précédent viendra de le terminer. La valeur 0 indiquera que tous les éléments bougeront en même temps, La valeur 2 signifiera qu'entre le mouvement de 2 éléments, il s'écoulera un temps égal à la durée du mouvement de l'un des éléments. Evidement, toutes les valeurs intermédiaires sont possibles.
  • Order prendra l'une des 3 valeurs suivantes : ordRandom indiquera que Studio animera les différents éléments dans un ordre pseudo aléatoire. ordLastToFirst fera bouger les élement en commençant par le dernier, et ordFirstToLast permettra de démarrer par le premier. A noter que si l'objet de présentation à animer est de type VideoWall, le paramètre CellParent permettra de choisir si les éléments seront balayés par ligne ou par colonnes.

Après avoir renseigné ces paramètres, l'objet Keyframer nécessite d'ouvrir une nouvelle balise nommée imgTimeCurveList qui permettra de lister l'évolution de chacun des paramètres à modifier.
Chacun des paramètres à modifier sera décrit dans une balise imgTimeCurve, qui admettra un premier paramètre Name dont la valeur sera le nom du paramètre à modifier (attention, il devra impérativement avoir été listé dans le paramètre ModifyParameters de l'objet Keyframer pour être effectivement pris en compte. Il y aura également deux autres paramètres Pre dont la valeur sera 1 et Post dont les valeurs auront les significations suivantes :
  • Post = 1 signifie que le mouvement sera exécuté une seule fois conformément  à la description faite par les différentes balises imgCurveKey qui suivront.
  • Post = 2 semble identique à 1 ...
  • Post = 3 indique que le mouvement sera répété de manière continue durant toute la durée de vie de l'objet Keyframer, en enchaînant automatiquement de la dernière valeur à la première. Le mouvement s'arrêtera néanmoins au bout du dernier cycle entier contenu dans la durée de vie de l'objet.
  • Post = 4  indique que le mouvement sera répété de manière continue durant toute la durée de vie de l'objet Keyframer, en s'exécutant alternativement de la première balise imgCurveKey à la dernière, puis inversement.
  • Post = 5 indique que le mouvement sera exécuté une première fois normalement, puis de manière inverse (de la dernière balise vers la première), puis de la première balise vers la dernière, mais en inversant les valeurs (multiplication par -1), puis de la dernière balise vers la première toujours en multipliant par -1 les valeurs. A noter que la durée du mouvement semble être ajustée pour obtenir un nombre de cycles entier durant la durée de vie de l'objet Keyframer.

A l'intérieur de cette balise imgCurveKey, on trouvera chaque couple (temps,valeur) au sein d'une balise imgCurveKey dont les valeurs sont :

  • Type est un paramètre optionnel qui peut prendre les valeurs suivantes : cktLinear indique que la valeur du paramètre évolue linéairement entre 2 balise imgCurveKey successives, ou cktJump qui indique que le paramètre conserve sa valeur précédente jusqu'a ce que le temps atteigne celui indiqué dans cette balise, puis la valeur du paramètre prendra brutalement cette nouvelle valeur.
  • Time indique (en seconde) l'instant dans le thème correspondant à la valeur qui sera indiquée
  • TimeL est un paramètre S14 (qui est ignoré par S12). Il indique (en 1/100 000e de seconde) l'instant dans le thème correspondant à la valeur qui sera indiquée. Il peut être ignoré.
  • Value indique la valeur du paramètre à associer à l'instant Time
  • C0 on trouve ensuite 6 paramètres C0 à C5 qui permettent de spécifier le mouvement selon une courbe de Bézier. En pratique, ils sont impossibles à définir. Personnellement, j'utilise les valeurs C0=0.33 et C2=0.33 pour effectuer un démarrage et une arrivée en douceur. Lorsqu'ils sont utilisés ces paramètres sont une alternative au paramètre Type

exemple :

<imgObject Type="Keyframer" ID="93">
  <imgObjectTime Ver="2" Start="5" End="9"/>
  <imgParameterList>
      <imgParm Name="Name">Keyframer.texte</imgParm>
      <imgParm Name="AffectsDivision">Cells</imgParm>
      <imgParm Name="MultiTiming">0.35</imgParm>
      <imgParm Name="Order">ordRandom</imgParm>
      <imgParm Name="ModifyParameters">PositionX,PositionY</imgParm>
  </imgParameterList>
  <imgTimeCurveList>
      <imgTimeCurve Name="PositionX" Pre="1" Post="1">
        <imgCurveKey Time="0" Value="0" C0="0.33" C2="0.33"/>
        <imgCurveKey Time="5" Value="1" C0="0.33" C2="0.33"/>
      </imgTimeCurve>
      <imgTimeCurve Name="PositionY" Pre="1" Post="1">
        <imgCurveKey Type="cktLinear" Time="0" Value="0"/>
        <imgCurveKey Type="cktLinear" Time="3" Value="0.5"/>
      </imgTimeCurve>
  </imgTimeCurveList>
</imgObject>


Le thème d'entrainement 4 - Keyframer permet de tester l'effet du paramètre MultiTiming. Pour cela, placez le sur la timeline et lancez la visualisation du thème sur la visionneuse de Studio.

retour


Type="Transformer"


L'objet Transformer permet de spécifier la valeur finale d'un paramètre. Il est en réalité peu pratique et peu utile. Personnellement, je ne l'utilise que pour contrôler une position dans un mouvement depuis l'interface de paramétrage de l'éditeur de thème, ce qui n'est pas possible dans un objet KeyFramer. Une telle manipulation nécessite déjà une certaine habitude de la programmation des thèmes de montage...
Il est important de noter que cet objet agit par variation de la valeur de paramètre par rapport à sa valeur courante, et non en valeur absolue .

Avec cet objet, le contrôle temporel sera uniquement réalisé avec les paramètres Start et End qui définiront les instants de début et de fin de l'action.

les paramètres de l'objet Transformer sont les suivants :

  • ModifyParameters est le nom du paramètre  de l'objet à modifier.
  • FinalPositionX indiquera la variation de la valeur finale atteinte par le paramètre PositionX. A noter que la quasi totalité des paramètres des objets de présentation et de l'objet Material peuvent être modifiés. Il suffit de donner comme nom de paramètre FInal suivi du nom du paramètre à modifier...
  • Reverse qui, quand il est à la valeur 1, doit permettre à l'objet de fonctionner à l'envers (c'est a dire de partir de la position finale pour aller à la position initiale ...)

et si l'objet de présentation affecté par l'objet Transformer est de type Text ou VideoWall :

  • AffectsDivision dont la valeur sera l'une des valeurs listée dans le paramètre Divisions de l'objet Text ou VideoWall. Le plus souvent, on lui donnera la valeur Cells
  • MultiTiming sera une valeur numérique positive qui permettra de contrôler le chevauchement du mouvement de chacun des éléments de l'objet de présentation. La valeur 1 indiquera qu'un élément commencera son mouvement lorsque le précédent viendra de le terminer. La valeur 0 indiquera que tous les éléments bougeront en même temps, La valeur 2 signifiera qu'entre le mouvement de 2 éléments, il s'écoulera un temps égal à la durée du mouvement de l'un des éléments. Evidement, toutes les valeurs intermédiaires sont possibles.
  • Order prendra l'une des 3 valeurs suivantes : ordRandom indiquera que Studio animera les différents éléments dans un ordre pseudo aléatoire. ordLastToFirst fera bouger les élement en commencant par le dernier, et ordFirstToLast permettra de démarrer par le premier. A noter que si l'objet de présentation à animer est de type VideoWall, le paramètre CellParent permettra de choisir si les éléments seront balayés par ligne ou par colonnes.

exemple :

<imgObject Type="Transformer" ID="16">
  <imgObjectTime Ver="2" Start="6" End="9"/>
  <imgParameterList>
      <imgParm Name="Name">Transformer</imgParm>
      <imgParm Name="AffectsDivision">Cells</imgParm>
      <imgParm Name="ModifyParameters">ScaleY</imgParm>
      <imgParm Name="Order">ordRandom</imgParm>
      <imgParm Name="MultiTiming">1</imgParm>
      <imgParm Name="FinalScaleY">-1</imgParm>
  </imgParameterList>
</imgObject>

Le thème d'entraînement 4 - Transformer permet de tester l'effet du paramètre MultiTiming et d'une variation d'échelle des différents éléments d'un objet VideoWall. Pour cela, placez le sur la timeline et lancez la visualisation du thème sur la visionneuse de Studio.
retour


Type="Fader"


L'objet Fader est quasiment identique à l'objet Transformer, sauf qu'il est destiné à travailler sur la transparence de l'objet.

Là encore, avec cet objet, le contrôle temporel sera uniquement réalisé avec les paramètres Start et End qui définiront les instants de début et de fin de l'action.

les paramètres de l'objet Fader sont les suivants :

  • ModifyParameters est le nom du paramètre  de l'objet à modifier. (à priori ObjectColorAlpha)
  • OpacityStart indiquera la valeur initiale du paramètre.
  • OpacityEnd indiquera la valeur finale du paramètre.
  • Reverse qui, quand il est à la valeur 1, doit permettre à l'objet de fonctionner à l'envers (c'est a dire de partir de la position finale pour aller à la position initiale ...)

et si l'objet de présentation affecté par l'objet Transformer est de type Text ou VideoWall :

  • AffectsDivision dont la valeur sera l'une des valeurs listée dans le paramètre Divisions de l'objet Text ou VideoWall. Le plus souvent, on lui donnera la valeur Cells
  • MultiTiming sera une valeur numérique positive qui permettra de contrôler le chevauchement du mouvement de chacun des éléments de l'objet de présentation. La valeur 1 indiquera qu'un élément commencera son mouvement lorsque le précédent viendra de le terminer. La valeur 0 indiquera que tous les éléments bougeront en même temps, La valeur 2 signifiera qu'entre le mouvement de 2 éléments, il s'écoulera un temps égal à la durée du mouvement de l'un des éléments. Evidement, toutes les valeurs intermédiaires sont possibles.
  • Order prendra l'une des 3 valeurs suivantes : ordRandom indiquera que Studio animera les différents éléments dans un ordre pseudo aléatoire. ordLastToFirst fera bouger les éléments en commençant par le dernier, et ordFirstToLast permettra de démarrer par le premier. A noter que si l'objet de présentation à animer est de type VideoWall, le paramètre CellParent permettra de choisir si les éléments seront balayés par ligne ou par colonnes.

exemple :

<imgObject Type="Fader" ID="13">
  <imgObjectTime Ver="2" Start="6.10345" End="9.10345"/>
  <imgParameterList>
      <imgParm Name="Name">Fader</imgParm>
      <imgParm Name="AffectsDivision">Cells</imgParm>
      <imgParm Name="ModifyParameters">ObjectColorAlpha</imgParm>
      <imgParm Name="Order">ordRandom</imgParm>
      <imgParm Name="MultiTiming">1</imgParm>
      <imgParm Name="OpacityStart">0.5</imgParm>
  </imgParameterList>
</imgObject>

Le thème d'entraînement 4 - Fader permet de tester l'effet du paramètre MultiTiming et d'une variation de l'opacité des différents éléments d'un objet VideoWall. Pour cela, placez le sur la timeline et lancez la visualisation du thème sur la visionneuse de Studio.
retour


Type="ParmOscillate"


L'objet ParmOscillate va permettre de donner un mouvement d'oscillation à un paramètre entre une valeur mini et une valeur maxi, d'en spécifier le point de départ et la vitesse du cycle de variation. Cet objet peut être utile pour paramétrer une action depuis l'interface de l'éditeur de thème. Toutefois, je n'ai réussi à l'utiliser qu'avec les paramètres de rotation et d'échelle (scale)

les paramètres sont les suivants :

  • ModifyParameters est le nom du paramètre  de l'objet à modifier.
  • ValueMin sera la valeur minimum du paramètre dans son cycle d'oscillation.
  • ValueMax sera la valeur maximum du paramètre dans son cycle d'oscillation. Attention de bien noter que les valeurs numériques à affecter à ces paramètres sont 1000 fois plus petites que les valeurs des paramètres de références. Par exemple, une valeur de 90 degrés sera notée 0.009. . De plus, il apparaît que les valeursne sont pas symétriques entre ValueMax et ValueMin. Ainsi, la valeur correspondante à une RotationY de 0 degrés sera approximativement 0.0045
  • WaveShape pourra prendre la valeur wsRamp ce qui signifiera que la variation de la valeur ser faite en "dent de scie" de la valeur min à la valeur max progressivement, puis retour brutal sur la valeur min. Par défaut, l'oscillation se fera comme le balancier d'une horloge.
  • Speed permettra d'indiquer le nombre d'oscillation au cours de la durée de vie de l'objet
  • Phase contrôlera la position de départ en fixant le pourcentage de déroulement d'un cycle à effectuer avant le début de l'action.

exemple :

<imgObject Type="ParmOscillate" ID="21">
  <imgObjectTime Ver="2" Start="8.62069" End="13.0345"/>
  <imgParameterList>
      <imgParm Name="Name">ParmOscillate</imgParm>
      <imgParm Name="ModifyParameters">ObjectColorAlpha</imgParm>
      <imgParm Name="ValueMin">1</imgParm>
      <imgParm Name="ValueMax">0.75</imgParm>
      <imgParm Name="WaveShape">wsRamp</imgParm>
      <imgParm Name="Speed">10</imgParm>
  </imgParameterList>
</imgObject>

Le thème d'entraînement 4 - ParmOscillate permet de tester l'effet des différents paramètres de cet objet. Pour cela, placez le sur la timeline et lancez la visualisation du thème sur la visionneuse de Studio.

retour


Type="ParmRamp"


Cet objet va permettre de définir une variation de valeur d'un paramètre entre l'instant Start et l'instant End, d'une valeur initiale à une valeur finale ... Il peut être utile lorsque'on souhaite paramètrer une action depuis l'interface de l'éditeur de thème. Toutefois, je n'ai réussi à le faire fonctionner que sur les paramètres de rotation et d'échelle (scale).

les paramètres en sont :

  • ModifyParameters est le nom du paramètre  de l'objet à modifier.
  • ValueStart sera la valeur initiale du paramètre listé dans ModifyParameters/. cette valeur sera valide à l'instant Start de la balise imgObjectTime de l'objet.
  • ValueEnd sera la valeur finale du paramètre.

pour une rotation, la valeur neutre (correspondant à 0 degrés) sera la valeur
0.005, alors que la valeur correspondant à 360 degrés sera 0.05005. Un tour complet aura donc une valeur incrémentale d 0.0454. Pour une variation d'échelle, la taille normale (Scale=1) sera obtenue avec la valeur 0.1

exemple :

<imgObject Type="ParmRamp" ID="26">
  <imgObjectTime Ver="2" Start="0" End="14"/>
  <imgParameterList>
      <imgParm Name="Name">ParmRamp</imgParm>
      <imgParm Name="ModifyParameters">RotationZ</imgParm>
      <imgParm Name="ValueStart">1</imgParm>
      <imgParm Name="ValueEnd">0.8</imgParm>
  </imgParameterList>
</imgObject>

Le thème d'entraînement
4 - ParmRamp// permet de tester l'effet des différents paramètres de cet objet. Pour cela, placez le sur la timeline et lancez la visualisation du thème sur la visionneuse de Studio.

retour

Les objets d'Ombrage


Type="LinearBlur"


Cet objet a pour fonction de rendre flou l'image source pointée dans l'objet Material sur lequel il sera appliqué. Il fonctionne en créant plusieurs copies de l'image source qui seront superposées avec un décalage.

les paramètres applicables pour régler cet effet sont les suivants :

  • Samples  permet de définir le nombre de copies de l'image source (nombre entier supérieur à 1 !).
  • Angle  (en degrés) spécifie dans quelle direction vont être placées les copies de l'image source.
  • Strength indique la distance de séparation entre les copies. Une valeur de 1 correspond à la taille de l'image source.

exemple :

<imgObject Type="LinearBlur" ID="58">
  <imgObjectTime Ver="2" Start="0" End="16"/>
  <imgParameterList>
      <imgParm Name="Name">LinearBlur</imgParm>
      <imgParm Name="Samples">3</imgParm>
      <imgParm Name="Angle">27</imgParm>
      <imgParm Name="Strength">0.0037</imgParm>
  </imgParameterList>
</imgObject>

pour plus de détails sur les effets de chacun de ces paramètres, vous pouvez en visualiser directement les résultats en chargeant le thème d'entraînement 5 - LinearBlur
retour


Type="GradientWipe"


Cet Objet permet de contrôler l'effet du paramètre SecondImage de l'objet Material qui permet d'effectuer un masque sur l'image principale contrôlée par le niveau de gris de l'image secondaire.

Les paramètres sont les suivants :


  • Progress qui permet de contrôler le pourcentage de gris au delà duquel l'image principale sera masquée.
  • Softness  permet d'obtenir un masquage progressif autour du pourcentage de gris fixé par le paramètre Progress. Pour un bon fonctionnement, il est recommandé de donner au paramètre Softness une valeur strictement supérieure à 0 .

exemple :

  <imgObject Type="GradientWipe" ID="10">
  <imgObjectTime Ver="2" Start="0" End="10"/>
  <imgParameterList>
    <imgParm Name="Name">GradientWipe.10</imgParm>
    <imgParm Name="Softness">0.051</imgParm>
    <imgParm Name="Progress">0.5</imgParm>
  </imgParameterList>
  </imgObject>

pour plus de détails sur les effets de chacun de ces paramètres, vous pouvez en visualiser directement les résultats en chargeant le thème d'entraînement 5 - GradientWipe

retour

L'Objet de gestion de l'interface de paramétrage



Type="Template"


L'objet Template a pour fonction de gérer l'interface entre l'éditeur de thème et les autres objets du thème de montage. Il permet de créer des curseurs, des boites à choix multiples, des zones de saisie de texte, un sélecteur de couleur, et également dans Studio 14 une boite à cocher.
Cet objet permet de paramétrer la quasi totalité des paramètres des objets de présentation, de l'objet container NullObject, de l'objet Material, mais aussi des objets de comportement et d'ombrage.

L'objet Template est structuré autour de 3 balises dont les rôles sont les suivants :

imgDynamicParmTypesva permettre de construire les différents widgets qui seront affichés dans l'éditeur de thème de Pinnacle Studio. Chacun de ces widgets sera défini dans une balise imgParmType qui supportera les paramètres suivants :
  • Name sera le nom que vous donnerez au paramètre. Ce nom va être utilisé par Studio comme label affiché dans l'éditeur de thème. A noter qu'en choisissant un label en langue Anglaise, il arrive souvent que Studio le traduise à l'affichage dans la langue d'installation. Hélas, cela ne marche pas à chaque fois, il faudra donc faire des essais ...
A noter également que dans le cas particulier d'un widget de sélection de couleur, il faudra 3 lignes de déclaration (une pour chacune des composantes Rouge, Vert, Bleue). Le même nom de label devra être utilisé pour ces 3 déclarations, en le complétant avec les termes Red, Green et Blue.
  • Default permettra de définir la valeur par défaut à appliquer au widget.
  • Range va indiquer le type de widget, ainsi que la plage de variation.
pour un widget de sélection de couleur, Range prendra la valeur color pour la première des 3 composante rouge,verte ou bleue qui sera déclarée, puis group pour chacune des 2 autres.
Pour un curseur, Range sera une liste de 4 valeurs. La première sera slider, suivi de la valeur minimum que prendra le curseur, suivi de la valeur maximum, suivi du pas d'incrément.
Pour la saisie d'un texte, Range sera une liste de 3 valeurs, la première vaudra string, la deuxième sera la longueur maximum du texte (en nombre de caractères), et le dernier sera le nombre minimum de caractères.
Pour une boite à choix multiples, Range sera une suite de valeurs, la première sera enumstring, les suivantes seront de la forme label=filename. Les labels étant ce qui sera affiché dans la boite de choix, filename étant les noms de fichiers à sélectionner.
pour une boite à cocher (Studio 14 uniquement !), Range prendra la valeur checkbox
  • Usage/ vaut toujours usageDynamic
  • Type vaudra toujours vtString sauf pour un widget checkbox ou ce paramètre prendra la valeur vtBool

On retrouve ensuite la balise imgParameterList comme dans tous les autres objets. Elle accueillera le paramètre Name qui permettra de donner un nom à l'objet Template, et si vous avez créé des boites de choix multiples, il faudra déclarer un paramètre portant pour nom le label associé à la boite à choix multiple dans la balise imgDynamicParmTypes, avec la valeur du nom de fichier déclaré dans le paramètre ReplaceName de l'objet ImageExplicit que doit modifier cette boite à choix multiples.

Enfin, la troisième et dernière balise imgMappingList va servir à connecter les valeurs saisies dans les différents widgets aux valeurs des paramètres des objets à modifier.
A noter qu'il est possible de modifier depuis l'éditeur de thèmes la quasi totalité des paramètres des objets de présentation, de l'objet Material, de l'objet container NullObject et des objets de comportement et d'ombrage.
Notez également qu'un paramètre réglé depuis l'objet template ne pourra pas être modifié dynamiquement par un objet de comportement.
A l'intérieur de cette balise imgMappingList, chaque paramètre à modifier devra faire l'objet d'une déclaration dans une balise imgMapping dont les paramètres sont les suivants :
  • parmName doit avoir strictement la même valeur que celle du paramètre Name correspondant de la balise imgParmType ayant créé le widget. A noter que plusieurs balise imgMapping pourront utiliser la même valeur pour ce paramètre parmName, ce qui permettra de modifier d'un seul coup différents paramètres dans différents objets.
  • mapObjectName permettra d'indiquer le nom (paramètre Name) de l'objet contenant le paramètre à modifier.
  • mapParmName indiquera le nom du paramètre de l'objet désigné dans mapObjectName
  • mapExpression vaudra une chaîne de caractères vide "" pour tous les objets sauf pour une boite à choix multiples ou il prendra une valeur du type : mapExpression="rp(ObjectName.ReplaceName,filename,Template.label)" où ObjectName sera le nom de l'objet désigné dans le paramètre mapObjectName, filename sera le nom de fichier désigné dans le paramètre ReplaceName de l'objet désigné par mapObjectName, et label sera le nom donné au widget correspondant. Template sera ici le nom de l'objet Template déclaré à l'aide du paramètre Name.

exemple :
Cliquez pour agrandir l'image

Vous pouvez regarder le thème d'entraînement6 - Template qui illustre l'exemple ci-dessus. Si vous utilisez Studio 12, vous verrez apparaître un message d'avertissement dans l'éditeur de thème, correspondant à l'utilisation d'une boite à cocher qui n'est pas reconnue par cette version. C'est la raison pour laquelle je n'utilise jamais ce widget.

retour

Section de connexion des objets

Voyons maintenant la section de connexion des différents objets ... Cette section est délimitée par la balise imgConnectionList

On trouve différents types de connexion entre les objets.

  • SceneToImage  raccorde une image source au thème de montage. Si ce rattachement est omis, l'image n'apparaîtra pas, et l'objet de présentation affichera du blanc.
A noter que j'ai observé des comportements inexplicables lorsqu'il y a plus de 9 objets image déclarés dans un thème. Les symptômes en sont une lenteur anormale du thème pouvant conduire à un crash de Studio, ou à un dysfonctionnement du rendu en 3D.
  • SceneToRoot rattachera un objet de présentation au thème de montage. A noter que les objets de présentation contenus dans des container "NullObject" ne devront pas être rattachés directement au thème, mais au "NullObject" qui les contient en direct avec la connexion suivante
  • ParentToChild permet de rattacher un objet de présentation ou un objet container dans un autre objet container.
  • le rattachement des objets de présentation aux objets Material se feront à l'aide de connexion de type ObjectToMaterial
  • Enfin les connexions d'objets de comportement se feront vers les objets de présentation ou les objets concret (Material) avec une connexion de type ObjectToBehavior
  • Pour finir, les objets d'ombrage devront être rattaché aux objets Material par une connexion de type ctMaterialToShader
  • L'objet Template sera quant à lui rattaché au thème de montage par la connexion ctSceneToTemplate. A défaut, aucun widget ne sera affiché dans l'éditeur de thème.

exemple :

<imgConnectionList>

  <imgConnection Type="ctSceneToImage"      FromID="1"  ToID="10"/>
  <imgConnection Type="ctSceneToRoot"        FromID="1"  ToID="11"/>
  <imgConnection Type="ctParentToChild"      FromID="11" ToID="21"/>
  <imgConnection Type="ctObjectToMaterial"  FromID="21" ToID="22"/>
  <imgConnection Type="ctMaterialToShader"  FromID="22" ToID="23"/>
  <imgConnection Type="ctObjectToBehavior"  FromID="21" ToID="24"/>

  <imgConnection Type="ctSceneToTemplate"  FromID="1"  ToID="9"/>

</imgConnectionList>

retour

bijoux fantaisie


Un commentaire sur cette page ?

Rédigé par
Tomyteck
2 messages

Theme De Montagejeudi 3 novembre 2011 12:25:55

bonjour
je reviens a vous car je ne suis pas un expert en informatique
pouvez vous svp m indiquer la marche a suivre pour effacer un theme de montage dans pinacle studio 14 ultimate.
vous m'avait dit qu'il valait aller dans le dossier template et trouver le fichier ixl correspondant au theme. sauf que je ne trouve pas de fichier ixl dans ce dossier.ni tous mes themes.
desolé de vous mettre encore a contribution

merci d'avance reponse a amato.evely@free.fr

Rédigé par
20cents-video
116 messages

Effacer Un Thème De Montagejeudi 3 novembre 2011 21:49:11

il faut aller dans le répertoire suivant :
C:UsersPublicDocumentsPinnacleContentIMG-Templates
("Users" vaut Utilisateurs dans la version Française de Windows.)
là, vous trouvez autant de répertoires qu'il existe de série de thèmes de montage, le nom du répertoire étant celui de la serie (certains noms sont traduits par Pinnacle (exemple Baby devient Bébé ...)
Dans chacun de ces répertoires, il y a des fichiers .ixl (un par thème).
On peut effacer toute la série en effaçant le répertoire correspondant, ou simplement un thème en effaçant le fichier .ixl

Rédigé par
Damien
28 messages

Belle Ammélioration De La Page ..dimanche 1 janvier 2012 20:50:45

De meilleurs repères grâce aux séparations !!!

Rédigé par
Habibgr
2 messages

Themme Cubedimanche 25 janvier 2015 15:07:13

c est fantastique de voir desthemmes


seuls les visiteurs enregistrés peuvent laisser des messages




mentions légales Copyright © 2010-2012. Tous droits réservés.