Pour ce tuto, on va prendre un exemple tout bête : vous entrez dans une salle, il y a un lustre en haut et vous voulez l'allumer... allez hop, direction le CS...
1°) Les ingrédients, ou nouveaux ID
Pour pouvoir allumer et éteindre ce lustre à volonter, on a besoin de plusieurs nouveaux ID :
- 1 lustre allumé ( Son ID sera : AA01On // On doit le trouver dans "Light" de "WorldObject")
- 1 lustre éteint ( Son ID sera : AA01Off // On doit le trouver dans "Light" de "Static")
- 1 interrupteur (Là on doit faire un nouvel ID, appelons-le : AActi01Off, et comme nom il aura "Allumer"// On doit le trouver dans les "Activators")
- 1 interrupteur (Là aussi on doit faire un nouvel ID, appelons-le : AActi01On, et comme nom il aura "Eteindre"// On doit le trouver dans les "Activators" )
Un fois qu'on a fait ça, il ne nous reste plus qu'a positionner le tout et scripter.
2°) Le positionnement
Partie très importante ! Déjà, une fois les 4 ID renommés et glissés dans la "Render Window", vous devrez faire quelque petites modifications : TOUS les 4 nouveaux "objets" doivent être des "Persistent reference" ! Ensuite, en double cliquant sur les "objets" (un par un...) dans la render window, vous renommerez leur "Reference Editor ID", je vous conseil de mettre pareil que leur ID d'origine en enlevant la première lettre. (Donc si vous suivez, pour le lustre éteint on aura A01Off).
Après ceci fait, il ne reste plus qu'à cocher la case "Initially Disable" pour les "AActi01On" et "AA01On". (Ben oui, on veut que lorsque l'on entre dans la pièce, ils ne soient pas directement allumés, c'est quand on active l'interrupteur qu'ils le seront.)
Maintenant, le vrai positionnement, une fois tous les "renommages" effectués et les cases cochées, il faut positionner tout ce bazar : si vous êtes plus ou moins normal, vous mettrez le lustre en haut, au plafond, il faut superposer les deux lustres : AA01Off doit avoir les même références axiales que AA01On, pareil pour les interrupteurs. (Parce que si les lustres ne sont pas mis exactement au même endroit, il serait illogique que lorsque vous activez l'interrupteur, le lustré s'allume à 2 mètre de celui qui vient de s'éteindre...)
3°) Script !
Bon voilà les scripts, il y en a deux : un par interrupteur... Bien sûr, on va jouer avec les Enable/Disable...
Code : Tout sélectionner
scn AActi01OffScript ; Bon ici, c'est le script de l'activateur qui va nous permettre d'allumer le lustre, donc on veut que le lustre éteint parte, celui allumé arrive, l'interrupteur qui permet d'éteindre arrive et celui qui allume parte !
Begin OnActivate ; Il vaut mieux mettre tous les .enable d'abord puis les .disable, sinon pendant un cours instant, il n'y aura aucun lustre...
A01On.enable
Acti01On.enable
A01Off.disable
Acti01Off.disable
End
Et maintenant celui qui permet d'éteindre :
Code : Tout sélectionner
scn AActi01OnScript ; Donc ici, on va désactiver le lustre allumé et l'interrupteur qui permet d'éteindre, puis faire revenir l'interrupteur qui permet d'allumer et le lustre éteint
Begin OnActivate
A01Off.enable
Acti01Off.enable
A01On.Disable
Acti01Off.disable
End
Si vous voulez faire ça avec une bougie, vous n'allez bien sûr pas mettre un interrupteur juste à côté... Il vous suffit de mettre en "Activator" un static de bougie éteinte, d'y mettre ensuite le script du "AActiOff01". Et pour éteindre, ne faites pas la gaffe de mettre un "Light" en "Activator"...

J'espère que ce tout petit tuto vous servira bien !