Ariane4ever

Forum de la communauté Thief Francophone
Nous sommes actuellement le Ven Mars 29, 2024 12:10 am

Le fuseau horaire est UTC [Heure d’été]




Publier un nouveau sujet Répondre au sujet  [ 4 message(s) ] 
Auteur Message
 Sujet du message : la lumière et les lampes
Message Publié : Ven Nov 19, 2004 3:23 pm 
Hors-ligne
Gardien du forum
Avatar de l’utilisateur

Inscription : Ven Nov 19, 2004 2:55 pm
Message(s) : 729
sommaire :


- Comment éteindre une lampe avec un interrupteur
- Pour changer l'aspect lumineux d'une lampe
- Un problème avec les lanternes portées par des gardes
- Pour faire des bougies allumées qu’on peut éteindre à la main
- Généralités sur les lumières.
- Hue ! (les codes des couleurs)



...


Haut
 Profil  
 
 Sujet du message :
Message Publié : Mer Nov 14, 2007 11:31 am 
Hors-ligne
Voleur
Avatar de l’utilisateur

Inscription : Dim Juin 24, 2007 12:22 pm
Message(s) : 338
Localisation : Paris
Comment faire pour que Garrett ait une lanterne (Section "Garrett et les lumières dynamiques" du tutoriel de Spike14)

LE TUTORIEL DE SPIKE14 EST POUR DROMED 1.32 (mais marche peut-être pour DROMED 2 et DEDX)

Ok, alors d'abord je tiens à préciser que je n'ai pas tester cette manip, et de plus ma traduction a sûrement des erreurs (les "edit:" entre parenthèses sont mes rajouts) donc si quelqu'un pouvait lire et tester cela... :icon_lol:

Dans un premier temps, allez dans la hiérarchie des objets, et créez une nouvelle metaproperty, appelez la “MoveAndScript”.


Mettez cette propriété dessus:


Add>Engine Features>FrobInfo: Move,Script;[None];[None]


Créez un roombrush et une blueroom.


Créez un IA dans la blueroom, appelez le “LanternAI”.


Maintenant,ouvrez la hiérarchie et sélectionnez “Act/React Stimuli”, et créez deux nouveau stims: “PassItOn”, et “LanternFStim”. Ensuite sauvegardez votre gamesys, et redémarrez DROMED.


Allez dans votre blueroom roombrushé, créez quatre boutons. Créez deux: physical>Lights>lanterns>lantern, à partir de la hiérarchie. Nommez la première: “UnlitLantern”, et la seconde “LitLantern”.


Ajoutez les propriétés suivantes à “UnlitLantern”:



Inventory>Can’t Drop This: TRUE

Inventory>Object Name: Name:“Lantern: Off”

Inventory>Type: Item

Renderer>Light: 0;0;0;0

S>Scripts: StdButton;;;;FALSE

Engine Features>FrobInfo: Script;[None];[None]

Metaproperty>MoveAndScript (uniquement si vous prévoyez que le joueur ramasse la lanterne)


Et ajoutez ces propriétés à “LitLantern”:



Inventory>Can’t Drop This: TRUE

Inventory>Object Name: Name:“Lantern: On”

Inventory>Type: Item

Renderer>Light: 0;0;0;0

S>Scripts: StdButton;;;;FALSE

Engine Features>FrobInfo: Script;[None];[None]

Metaproperty>MoveAndScript (uniquement si vous prévoyez que le joueur ramasse la lanterne)


Maintenant, placez “UnlitLantern” quelquepart et ,soit, A. le joueur la ramasse. , ou B. Liez le au StartingPoint avec un lien “Contains”(le joueur l'a dès le début).


Si “A”, Il ya une étape supplémetaire…qui sera mentionné plus tard.


Maintenant, créez trois marqueurs (fnord>Marker), 4 trappes de téléportation (fnord>TrapTrig>TeleportTrap), 4 boutons (physical>Gizmo>Switches>Buttons>Button), et un OmniLightPoint (fnord>HackLight>OmniLightPoint).


Lisez le sujet “Conversations”.


Ajoutez les propriétés suivantes aux 3 marqueurs (nommez les: “UnliteLantern”, “LiteLantern”, et “AddRemoveLinks”):


S>Scripts: TrapConverse;;;;FALSE

AI>Conversations>SaveConversation: TRUE


Liez chaque marqueur à “LanternAI”, avec un lien “AIConversationActor”…réglez la valeur sur “1” pour chacun.


Ensuite, nommez les boutons: “RealButton”, “OmniButton”, “UnlitButton”, et “LitButton”.


Name the TeleportTraps: “RealTele”, “OmniTele”, “UnlitTele”, and “LitTele”.


Liez chaque bouton à sa trappe de téléportation respective (edit:TeleportTrap) avec un lien “ControlDevice” (“LitButton” à “LitTele”, etc.).


Nommez le OmniLightPoint: “RealLantern”.


Liez chaque trappe de téléportation à sa lanterne respective…vous remarquerez qu'il vous en reste encore une (“OmniTele”)…liez la à “RealLantern”…tous les liens ont “ControlDevice” comme flavour.


Ensuite ajoutez les propriétés suivante à “RealLantern”:


Renderer>Self Lit: 250

Renderer>Light: 0;0;0;0


Maintenant on va donnez une source à “RealLantern”, ce qui lui permettra de suivre Garrett partout, alors, ouvrez ses propriétés, et allez dans Add>Act/React>Sources.


Cliquez sur “Add”, et une fenêtre apparaîtra…remplissez la comme suit:


Name: RealLantern

Stimulus: LanternFStim

Propagator: Radius

Intensity: 1

Edit Shape>Radius: 8

Edit Shape>Flags: [None]

Edit Shape>Dispersion: None

Edit Life Cycle>Flags: No Max Firings

Edit Life Cycle>Period: 100

Edit Life Cycle>Max Firings: 1

Edit Life Cycle>Intensity Slope: 0


Cliquez sur “OK” pour ajoutez cette source…ensuite ajoutez une AUTRE source:


Name: RealLantern

Stimulus: LanternStim

Propagator: Radius

Intensity: 50

Edit Shape>Radius: 50

Edit Shape>Flags: Line of Sight (raycast)

Edit Shape>Dispersion: Linear

Edit Life Cycle>Flags: No Max Firings

Edit Life Cycle>Period: 100

Edit Life Cycle>Max Firings: 1

Edit Life Cycle>Intensity Slope: 0


Pressez “OK” pour ajoutez cette source, puis appuyez sur “OK” pour fermer la fenêtre des sources…si elle réapparait, réappuyez simplement sur “OK”…c'est un bug!


Maintenant pour que ce stim puisse permettre à “RealLantern” de suivre Garrett, on a besoin de faire recevoir à Garrett le stim et agir de facon appropriée! Alors ouvrez la hiérarchie et sélectionnez physical>Avatar>Garrett (-2099), et appuyez sur “Edit”.


Ensuite cherchez une propriété nommé “Receptrons”. appuyez sur “Edit” (Garrett a déjà des receptrons, donc le jeu bugguerait si on ajoutait encore “Receptrons”…Si une propriété existe, faites juste edit, NE FAITES PAS add…sauf si la propriété est hiérarchisé…dans ce cas faites add!).


Maintenant appuyez sur “Add” pour faire un nouveau receptron!


Une grande fenêtre va s'ouvrir, remplissez la comme suit:


Name: -2099

Stimulus: LanternFStim

Min: 0

Max: No Max (cochez la)

Effect: Teleport Object

Target Object: Source

Agent Object: Me

Edit Effect>X: 0.1

Edit Effect>Y: 0.1

Edit Effect>Z: 0.1


C'est tout!


Si vous vous rappelez de la section “Lumière dynamique”, Garrett a déjà des receptrons pour “LanternStim”. Si vous n'avait pas changé votre gamesys dans la dernière section pour l'éclairage dynamique…alors retournez à “Lumières dynamique”, et ajoutez les receptrons nécessaires à l'archétype “Garrett"…et retournez ici!


Okay, vous devriez vous souvenir qu'on a un marqueur nommé “AddRemoveLinks”…si, dans les choix A/B plus haut, vous avez choisi “B”, alors supprimez ce marqueur.


De même, si vous avez choisi “B”, liez “UnlitLantern” à “LiteLantern” via “ControlDevice”.


Sélectionnez “OmniTele”, et positionnez le pour qu'il chevauche le StartingPoint sur toutes les vues. Ensuite Add>Act/React>Sources:



Name: OmniTele

Stimulus: LanternFStim

Propagator: Radius

Intensity: 1

Edit Shape>Radius: 8

Edit Shape>Flags: [None]

Edit Shape>Dispersion: None

Edit Life Cycle>Flags: No Max Firings

Edit Life Cycle>Period: 100

Edit Life Cycle>Max Firings: 1

Edit Life Cycle>Intensity Slope: 0


Voilà, maintenant le “OmniTele” suivra Garrett.


Ajoutez une autre source à “OmniTele”:



Name: OmniTele

Stimulus: LanternStim

Propagator: Radius

Intensity: 15

Edit Shape>Radius: 1000

Edit Shape>Flags: [None]

Edit Shape>Dispersion: None

Edit Life Cycle>Flags: No Max Firings

Edit Life Cycle>Period: 100

Edit Life Cycle>Max Firings: 1

Edit Life Cycle>Intensity Slope: 0


Sélectionnez “UnlitLantern”, et “LitLantern”, dans cet ordre, et ajoutez cette source à chacun d'eux:


Name: UnlitLantern OU LitLantern

Stimulus: PassItOn

Propagator: Contact

Intensity: 1

Edit Shape>Contact: Frob in Inv

Edit Shape>Velocity Coefficient: 0

Edit Shape>Frob Time Coefficient: 0


Ensuite il faut que Garrett réagissent à la source…éditez les receptrons de Garrett à nouveau:


Name: -2099

Stimulus: PassItOn

Min: 0

Max: No Max

Effect: Frob Object

Target Object: Source


Ah, fini!


Puis, assurez vous que la “RealLantern” dans la blueroom, est AU MOINS à 8 pieds de toute zone accessible au joueur DE TOUS LES COTES, haut, bas, devant, derrière, gauche, droite, autrement des erreurs bizarres apparaitront!


Maintenant que tout est réglé, il est temps de régler les conversation!


Première chose: avez vous choisi “A” ou “B”? Si vous avez choisi “A”, continuez à lire, si vous avez choisi “B”, allez directement jusqu'au titre “Les B Commencent Ici”:


Okay les A, liez “UnlitLantern” à “AddRemoveLinks” avec un lien “ControlDevice”.


Sélectionnez le marqueur que vous n'avez pas supprimé, “AddRemoveLinks”. Il devrait déjà avoir le cadre d'une conversation (Si vous avez suivi mon tutorial mot-à-mot), le lien “AIConversationActor”, la propriété “SaveConversation”, et le script “TrapConverse”!


Add>AI>Conversations>Conversation:


STEP 00:



Action 00: Add Link

Actor One

Arg1: ControlDevice

Arg2: LiteLantern

Arg3: UnlitLantern



Action 01: Remove Link

Actor One

Arg1: ControlDevice

Arg2: AddRemoveLinks

Arg3: UnlitLantern



Action 02: Add/Remove Metaproperty

Actor One

Arg1: Remove

Arg2: MoveAndScript

Arg3: LitLantern



Action 03: Add/Remove Metaproperty

Actor One

Arg1: Remove

Arg2: MoveAndScript

Arg3: UnlitLantern


Les B Commencent Ici


Liez “LitLantern” à “UnliteLantern” avec un lien “ControlDevice”.


Sélectionnez “LiteLantern”, puis allez dans Add>AI>Conversations>Conversation:


STEP 00:



Action 00: Remove Link

Actor One

Arg1: Contains

Arg2: UnlitLantern

Arg3: Player



STEP 01:



Action 00: Frob Object

Actor One

Arg1: UnlitButton

Arg2:

Arg3:



Action 01: Add Link

Actor One

Arg1: Contains

Arg2: LitLantern

Arg3: Player



Action 02: Frob Object

Actor One

Arg1: OmniButton

Arg2:

Arg3:


On a fini la conversation(edit:That’s that conversation out of the way)…vers la prochaine conversation: sélectionnez maintenant “UnliteLantern”:


STEP 00:



Action 00: Remove Link

Actor One

Arg1: Contains

Arg2: LitLantern

Arg3: Player



Action 01: Frob Object

Actor One

Arg1: RealButton

Arg2:

Arg3:



STEP 01:



Action 00: Frob Object

Actor One

Arg1: LitButton

Arg2:

Arg3:



Action 01: Add Link

Actor One

Arg1: Contains

Arg2: UnlitLantern

Arg3: Player


Dernière, mais certainement pas la moindre, ajoutez les propriétés suivantes à “LanternAI”:


Add>AI>AI Core>Team: Neutral


Ensuite ajoutez les metaproperties: “M-NoBabble”, and “M-NeverEfficient”.


Allez dans le jeu et savourez!





Dernière édition par phil237 le Mer Nov 14, 2007 7:27 pm, édité 5 fois.

Haut
 Profil  
 
 Sujet du message :
Message Publié : Mer Nov 14, 2007 11:47 am 
Hors-ligne
Voleur
Avatar de l’utilisateur

Inscription : Dim Juin 24, 2007 12:22 pm
Message(s) : 338
Localisation : Paris
Faire un garde avec une lanterne dans Thief 1 !!!! ( section "lumières dynamiques" du tutoriel de Spike14)

Je préviens le lecteur que je n'ai pas testé la manip, et ma traduction a surement des erreurs, donc vous utilisez ce tutoriel à vos risques et périls, je rejette toute responsabilité :mrgreen: .


Lisez svp “Sources and Receptrons” avant de lire ça.


Okay, maintenant, créez une “lantern”, Physical>Lights>lanterns>lantern.


Réduisez toutes les propriétés de “Light” à "0", et ensuite faites Add>Renderer>Self Lit: 250


Allez dans la hiérarchie des objets, allez dans: physical>Creature>Animal>Human>Swordguard>Grunts>sword guard, sélectionnez “sword guard”, et appuyez sur “Add”.


Tapez: “Normal”, et appuyez sur “Entrer”.


Répétez cela deux fois, en nommant les 2 gardes suivants “High” et “Highest” (edit:"haut" et "le plus haut").


Fermez la hiérarchie, et sauvez le gamesys! (voir “le Gamesys vous” pour plus de détails.)


Ensuite créez un stim personnalisé. Ouvrez la hiérarchie des objets, et regardez dans Stims. Appuyez sur “Create” et nommez votre nouveau stim “LanternStim”. Sauvegardez votre gamesys, et redémarrez DROMED.


Maintenant, dans la hiérarchie, sélectionnez “Normal”, puis Add>AI>Utility Settings>Visibility Control.


Réglez les valeurs comme suit: Low Light: 13 Mid Light: 19 High Light: 44


Pour “High”:


Low Light: 6 Mid Light: 10 High Light: 22



Pour “Highest”:



Low Light: 0 Mid Light: 0 High Light: 0


Bien!


Ouvrez les propriétés de la lanterne, et Add>Act/React>Source:


Object: A lantern

Stimulus: LanternStim

Propagator: Radius

Edit Shape: Radius: 50

Edit Shape: Flags: [None]

Edit Shape: Dispersion: Linear

Edit Life Cycle: Flags: raycast

Edit Life Cycle: Period: 100

Edit Life Cycle: Max Firings 1

Edit Life Cycle: Intensity Slope: 0

Edit Life Cycle: Intensity: 50



Maintenant créez un garde, de n'importe quel type…un sword guard, quand même. Ouvrez la fenêtre “Links”, et ajoutez:


Flavour: CreatureAttachement

From: LanternGuard

To: A lantern

Data: Left Fingers (edit: attache la lanterne à la main gauche)



La prochaine étape est de faire que ce nouveau “LanternStim” affecte Garrett:


Ouvrez la hiérarchie, et dans “Edit”: Physical>Avatar>Garrett


Add>Act/React>Receptrons: Dans cette fenêtre, appuyez sur “Add”:



Object: Garrett (-2099)

Stimulus: LanternStim

Min Intensity: NoMin (cochez la case)

Max Intensity: 25

Effect: Set Property

Edit Effect: Prop Name: AI_VisCtrl

Edit Effect: Target Obj: Me

Edit Effect: Agent Obj: Normal



Appuyez sur “OK”, et encore “Add”:


Object: Garrett (-2099)

Stimulus: LanternStim

Min Intensity: 26

Max Intensity: 38

Effect: Set Property

Edit Effect: Prop Name: AI_VisCtrl

Edit Effect: Target Obj: Me

Edit Effect: Agent Obj: High



Cliquez sur “OK”, et à nouveau “Add”:


Object: Garrett (-2099)

Stimulus LanternStim

Min Intensity: 39

Max Intensity: 50

Edit Effect: Prop Name: AI_VisCtrl

Edit Effect: Target Obj: Me

Edit Effect: Agent Obj: Highest



Cliquez sur “OK”, puis “OK”. Si la fenêtre s'ouvre à nouveau, fermez la juste encore une fois. Maintenant enlevez les propriétés de “Garrett”, comme la hiérarchie, ensuite sauvegardez votre gamesys!


Vous devez vous demandez, alors, comment la véritable LIGHT arrive là, celle qui éclaire le passage du garde. Hé bien,l'éclairage dynamique dans T1/G EST possible, avec la propriété “Self Lit” (edit:allumé lui-même), mais, cette propriété, pour certaines raisons, n'éclaire pas Garrett, alors on a développé cet ingénieux tour de passe-passe (edit: work-around)!


Si vous utilisez DROMED pour Thief 2, utilisez juste >Renderer>Dynamic Light property.(edit: voir le tuto sur http://dromed.tutoriel.free.fr )





Haut
 Profil  
 
 Sujet du message :
Message Publié : Mer Nov 14, 2007 11:55 am 
Hors-ligne
Voleur
Avatar de l’utilisateur

Inscription : Dim Juin 24, 2007 12:22 pm
Message(s) : 338
Localisation : Paris
Bougies
Pour DROMED 1.32 , marche peut-etre pour DEDX et DROMED 2.

Vous avez surement joué la FM pour T1/G “Lorgan’s Web”, qui est célèbre pour ses bougies qui brûlent et qui peuvent être éteintes!



Je vais vous apprendre à faire ce genre de bougie!



D'abord , voyons où sont ces bougies: physical>Lights>candles>



Il y a trois types différents de bougies: Treasure Candles, Long Candles, and Short Candles. Chacunes sont différentes. La seule différence entre “Long Candles”, et “Short Candles” est le réglage de la fenêtre "bounding" pour les effets de particules(edit:particle effect) (l'espace à partir du centre (edit:off-set from center) que l'effet de particule en question peut occuper)…mais, les treasure candles sont plus compliqué, car il faut leur permettre de bouger dans l'inventaire du joueur, aussi.



Nous allons couvrir le sujet des Treasure Candles d'abord.



Créez une torche: physical>Lights>torch.



Ajoutez lui les propriétés suivantes:



Add>Metaproperty>IsLoot

Add>Dark Gamesys>Loot: Gold: 50

Add>Shape>Model Name: trcandle

Add>Tweq>Models>(change all “Model X” fields to “trcandle”)

Add>Renderer>AnimLight>(mettez 22 pour le min, et 30 pour le max, et mettez comme mode “Random but coherent”)



Voilà! Maintenant, si vous allez dans le jeu, vous aurez une bougie avec un effet de particule ENORME dessus, et dont la lumière fait des trucs bizarres lorqu'on la prend. Donc, réglons cet effet de particule.



D'abord, supprimez “TorchFlameSmoke”, pour que seul “TorchFlameYellow” reste.



Ouvrez les propriétés de “TorchFlameYellow”, et modifiez ses propriétés SFX> pour qu'elle ait une particule de taille 0.08, un "min Z-axis bounding box" de 1.5, et un max Z-axis bounding box de 1.9



Puis, ajoutez les propriétés suivante:



Add>S>Scripts: StdButton;;;;FALSE

Add>Engine Features>FrobInfo: Script;;

Add>Inventory>Max Pick Distance>7.00



Bien! Ensuite, trouvez un objet sans script et sans fonctionnalité conduite par tweq à proximité (exemple d'objet idéal: une table, une échelle, ou une bannière), ajoutez le script: “TrapInverter”.



Liez la TorchFlameYellow à l'objet (qui est maintenant un inverter), puis liez l'objet à la bougie elle-même.



Il reste une dernière chose à faire. Pour s'assurer que le joueur ne puisse PAS enlever la bougie de son manche(edit:bat) et causer des erreurs bizarres dans l'éclairage, ajoutez un lien “FrobProxy” de la bougie vers la TorchFlameYellow.



Voilà! Maintenant on sait faire une “Treasure Candle”, hé bien qu'en est-il de la “Long Candle”? Faites la MEME chose, mais cette fosi oubliez le lien "FrobProxy", la métapropriété “IsLoot”, et la propriété “Loot”.



Et pour les “Short Candle”? Faites comme pour une “Long Candle” mais cette fois, changez le min et le max bounding box Z-axis en 0.5 et 0.65 respectivement!



Note: Bidouillez les réglages de “AnimLight”, en changeant de “Random but coherent”, à “Random” pour avoir une bougie qui vacille de manière plus apparente…vous pouvez aussi changer le max et le min de luminosité (edit:brightness) pour faire varier l'intensité de la flamme sur une plus grande palette de luminosité.




Haut
 Profil  
 
Afficher les messages publiés depuis :  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 4 message(s) ] 

Le fuseau horaire est UTC [Heure d’été]


Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 4 invité(s)


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Recherche de :
Aller vers :  
cron

Propulsé par phpBB® Forum Software © phpBB Group
Traduction et support en françaisHébergement phpBB