Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=e1cebfe043083d29a216f00e431bd884Médailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

Faire de jolies courbes
Aller à la page 1, 2, 3, 4, 5, 6  Suivante
 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Tutoriels
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Gevans
Back


Inscrit le: 21 Aoû 2007
Messages: 1930
Sujets: 85

Médailles: 2 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1) Gevans (Quantité : 1)

MessagePosté le: 23/02/08 11:44    Sujet du message: Faire de jolies courbes Citer

Dans ce tutorial je vais vous montrer la méthode pour créer des sorts qui donneront ce genre d'effet :



Plus généralement, comment faire toute sorte de courbe (cercle, spirale, rosace...) et tout cela avec une grande simplicité car il s'agit simplement d'utiliser une fonction de l'éditeur.


I/ Les courbes polaires

a) Principe

Lorsque vous voulez définir une courbe, il y a plusieurs moyens, on appelle cela le paramétrage :


  • Soit vous définissez une fonction mathématique pour les abscisses et une pour les ordonnées (éventuellement une pour la cote) du style :
    x(t) = 3t
    y(t) = t²
    z(t) = 2
    Ici on utilise les coordonnées cartésiennes (x,y,z), c'est possible dans l'éditeur mais ce n'est pas la méthode que je vais détailler.

  • Soit vous définissez une fonction mathématique qui donne la valeur du rayon par rapport à l'angle Thêta par exemple :
    p(T) = cos(T)
    Ici on utiliser les coordonnées polaires (r, T)


Concrètement, on va faire une boucle qui va incrémenter la valeur de T et on va simplement marquer le point qui se trouve à la distance p(T) de notre centre qui est ici le héros.

On doit donc définir 3 choses :
- un angle
- un centre
- un rayon

Remarque : Théoriquement on peut réaliser des modèles en 3D, il faut alors rajouter une coordonnée k pour la hauteur, mais sur l'éditeur ce n'est pas si facile car les points sont définis en 2 dimensions, il faut passer par le JASS si on veut faire des sphères par exemple.

b) Dans l'éditeur

Avant tout il faut une variable réelle Thêta et une variable héros qui stockera le héros qui lance le sort.

On ne peut pas directement faire appelle à une variable unité dans l'événement donc pensez bien à déclarer vos variables dans un déclo initialisation (mettez théta à 0).

Gui:
Trigger:
Collapse Evénements
Unité - Paladin 0000 <gen> Commence le lancement d'une compétence
Collapse Conditions
(Ability being cast) Egal à  Votre sort


Maintenant il va falloir faire une boucle de 0 à 360 qui va simplement permettre d'augmenter la valeur de thêta puis de tracer le point correspondant.
Ce point sera en fait un effet spécial, j'ai choisis de prendre feu du phénix.
Et comme on est très consciencieux on va placer l'effet spécial dans une variable pour pouvoir le retirer ensuite, il vous faut donc une nouvelle variable effect qui prend un déploiement.

Gui:
Trigger:
For each (Integer A) from 0 to 359, do (Actions)
Collapse Boucle - Actions
Effet spécial - Create a special effect at ((Position of heros) offset by EQUATION towards teta degrees) using AbilitiesWeaponsPhoenixMissilePhoenix_Missile_mini.mdl
Set effectff[(Integer A)] = (Last created special effect)
Set teta = (teta + 1.00)


Et c'est là que tout s'assemble, la fonction Point With Polar Offset fait exactement ce que je vous ai dit plus haut, vous devez définir un centre, un angle et enfin un rayon.

Ca marche comme ça :

Create a special effect at CENTRE offset by DISTANCE towards ANGLE degrees

Ce que j'ai appelé sobrement EQUATION dans le déclo c'est en fait votre équation de courbe, vous voyez que le centre est la position du héros et que le thêta est l'angle.

Remarque : Dans la suite du déclo, il faudra penser à retirer les points à les détruire à les bousiller sinon les adeptes de la chasse au leak vont vous sauter dessus Razz .


Il ne vous reste plus qu'à adapter à la courbe que vous voulez dessiner et comme je sais que c'est pas facile de s'imaginer un résultat en regardant une équation, je vais vous donner quelques exemples.


II/ Quelques exemples

Avant toute chose, sachez que vous pouvez simplement taper une équation au hasard sur une calculette ou surement sur internet et avoir de beaux résultats.

a) Un cercle

Pour le cercle c'est très simple puisqu'il suffit de créer tous les points situés à une même distance du centre (en gros le rayon est constant).

équation : p(T) = r où r est votre rayon
exemple : p(T) = 300
rendu :



b) Une spirale

Pour une spirale il faut tracer une courbe qui s'apparente à un cercle mais dont la distance augmente.

équation : p(T) = aT où a est un coefficient multiplicatif qui permet d'augmenter la taille de voter spirale.
exemple : p(T) = 2T
rendu :



Et là vous vous dites, nan mais elle est pourrie ta spirale !
En fait le soucis vient du fait que thêta ne s'arrête qu'à 360, ça ne pose pas de problème dans el cas de courbe périodique comme un cercle ou une rosace mais pour une spirale, plus thêta est grand plus la spirale est imposante.
Il faut donc dans votre déclo modifier une ligne comme ceci :

Gui:
Trigger:
//Dans la boucle au niveau de la création de l'effet spéciale
Effet spécial - Create a special effect at ((Position of heros) offset by (teta x 2.00) towards (teta x 5.00) degrees) using AbilitiesWeaponsPhoenixMissilePhoenix_Missile_mini.mdl


En multipliant thêta par 5 on peut avoir une spirale plus longue puisque thêta pourra atteindre la valeur de 1800 au lieu de 360.

Ce qui donne au final :


c) Une rosace

Pour une rosace il faut utiliser la fonction sinus et jouer sur sa périodicité.

équation : p(T) = sin(nT)*m où n est la moitié du nombre de boucle voulu (si vous mettez 6 vous aurez 12 boucles) et m la taille du cercle qui contient la rosace.
exemple : p(T) = sin(6T)*200
rendu :




Voilà pour ce tuto, j'espère qu'il vous permettra de faire de jolis sorts, surtout n'hésitez pas à poster des courbes que vous trouvez sympas pour compléter la liste ci dessus.
_________________
Si vous recherchez quelque chose, il y a de très grandes chances que vous trouviez la réponse ici alors jetez y un oeil.
Topic indispensable


Dernière édition par Gevans le 24/02/08 12:50; édité 5 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger
 Gaahh
Petit flooder


Inscrit le: 21 Aoû 2007
Messages: 1257
Sujets: 34
Spécialité en worldedit: Spécialité en worldedit:


MessagePosté le: 23/02/08 12:39    Sujet du message: Re: Faire de jolies courbes Citer

General Vans a écrit:

Ici on utiliser les coordonnées cartésiennes (r, T)


Arretez moi si je me trompe, loin de moi l'idee de vouloir te contredire mais, ce sont des coordonées Polaires ça x)
_________________
Signature:
Ceci est un bloc de texte qui peut être ajouté aux messages que vous postez. Il y a une limite de 700 caractères
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Rommstein60
MODÉRATEUR À LA RETRAITE


Inscrit le: 23 Aoû 2007
Messages: 4766
Sujets: 136
Spécialité en worldedit: Keskesapeutfout'
Médailles: 1 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 23/02/08 13:03    Sujet du message: Citer

Mais pourquoi?? POURQUOI?? C'est justement ce que je suis en train de faire en maths Razz
_________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain »
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Gevans
Back


Inscrit le: 21 Aoû 2007
Messages: 1930
Sujets: 85

Médailles: 2 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1) Gevans (Quantité : 1)

MessagePosté le: 23/02/08 14:18    Sujet du message: Re: Faire de jolies courbes Citer

Gaahh a écrit:
General Vans a écrit:

Ici on utiliser les coordonnées cartésiennes (r, T)


Arretez moi si je me trompe, loin de moi l'idee de vouloir te contredire mais, ce sont des coordonées Polaires ça x)


Oui bien sûr j'ai tapé trop vite Smile
_________________
Si vous recherchez quelque chose, il y a de très grandes chances que vous trouviez la réponse ici alors jetez y un oeil.
Topic indispensable
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger
 Gaahh
Petit flooder


Inscrit le: 21 Aoû 2007
Messages: 1257
Sujets: 34
Spécialité en worldedit: Spécialité en worldedit:


MessagePosté le: 23/02/08 15:19    Sujet du message: Citer

Si non j'attand avec hate la suite du tuto qui m'a l'air prometeur Very Happy
_________________
Signature:
Ceci est un bloc de texte qui peut être ajouté aux messages que vous postez. Il y a une limite de 700 caractères
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 XaMaRo
Amateur de graphisme


Inscrit le: 28 Aoû 2007
Messages: 280
Sujets: 29
Spécialité en worldedit: Je cherche encore ...


MessagePosté le: 23/02/08 16:41    Sujet du message: Citer

Merci pour ce debut de tuto ! Bon courage pour la suite de celui-ci Smile.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Gevans
Back


Inscrit le: 21 Aoû 2007
Messages: 1930
Sujets: 85

Médailles: 2 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1) Gevans (Quantité : 1)

MessagePosté le: 24/02/08 12:50    Sujet du message: Citer

Voilà
_________________
Si vous recherchez quelque chose, il y a de très grandes chances que vous trouviez la réponse ici alors jetez y un oeil.
Topic indispensable
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 24/02/08 13:00    Sujet du message: Citer

C'est mignon mais je me demande à quel point les fps doivent chuter quand on créé instantanément autant d'effets spéciaux Razz
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Rommstein60
MODÉRATEUR À LA RETRAITE


Inscrit le: 23 Aoû 2007
Messages: 4766
Sujets: 136
Spécialité en worldedit: Keskesapeutfout'
Médailles: 1 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 24/02/08 13:29    Sujet du message: Citer

Est-ce que tu pourrais poster la Map stp? Smile
Sinon gg Smile

_________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain »
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Brissou de Mourièssou
Créateur de sorts, depuis 1936.


Inscrit le: 30 Aoû 2007
Messages: 1510
Sujets: 26
Spécialité en worldedit: Développer des jeux vidéos pour le fun, donc world edit c'est comme faire une addition.
Médailles: 2 (En savoir plus...)
Créateur de héros (Quantité : 1) Concours de sorts amusants (Quantité : 1)

MessagePosté le: 24/02/08 13:33    Sujet du message: Citer

Ca dépend de l'effet spéciaux et du nombre utiliser, par exemple l'attaque du phénix est scandaleuse, au delà d'1 ça rame xD.
Pour économiser de la ressource il est préférable d'utiliser une unité pour l'effet avec un modèle de traînée, avec les mouvement instantané ça laisse tjrs une traînée entre les points, pratique pour dessiner un cercle ou une spirale.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur MSN Messenger
 Gaahh
Petit flooder


Inscrit le: 21 Aoû 2007
Messages: 1257
Sujets: 34
Spécialité en worldedit: Spécialité en worldedit:


MessagePosté le: 24/02/08 13:43    Sujet du message: Citer

Question: Quel effet spécial tu as utilise dans tes exemples ??
_________________
Signature:
Ceci est un bloc de texte qui peut être ajouté aux messages que vous postez. Il y a une limite de 700 caractères
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Gevans
Back


Inscrit le: 21 Aoû 2007
Messages: 1930
Sujets: 85

Médailles: 2 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1) Gevans (Quantité : 1)

MessagePosté le: 24/02/08 13:55    Sujet du message: Citer

Citation:
Ce point sera en fait un effet spécial, j'ai choisis de prendre feu du phénix.


Je trouve pas que ça lag tant que ça mais effectivement ce n'est pas applicable tel quel dans une map, moi je pose juste la méthode pour le faire après chacun adapte Rolling Eyes
_________________
Si vous recherchez quelque chose, il y a de très grandes chances que vous trouviez la réponse ici alors jetez y un oeil.
Topic indispensable
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger
 Byakugan64
Membre honoraire


Inscrit le: 22 Aoû 2007
Messages: 251
Sujets: 17



MessagePosté le: 24/02/08 14:05    Sujet du message: Citer

Excellent!! Ce serait sympa de compléter avec d'autres formes géométriques. par la suite^^
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Rommstein60
MODÉRATEUR À LA RETRAITE


Inscrit le: 23 Aoû 2007
Messages: 4766
Sujets: 136
Spécialité en worldedit: Keskesapeutfout'
Médailles: 1 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 24/02/08 14:57    Sujet du message: Citer

Rommstein60 a écrit:
Est-ce que tu pourrais poster la Map stp? Smile
Sinon gg Smile

_________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain »
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1) Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 24/02/08 15:05    Sujet du message: Citer

Citation:
Remarque : Dans la suite du déclo, il faudra penser à retirer les points à les détruire à les bousiller sinon les adeptes de la chasse au leak vont vous sauter dessus Razz .

Le mieux c'est de ne pas utiliser les fonctions qui utilisent des points mais les cordonnées X/Y (inaccessibles en gui malheureusement).
Elles sont plus rapides et aucun leak a gérer

En fait la meilleure utilisation des points reste comme une utilisation du cache, sauf qu'on a un paramètre de référence en moins que celui ci et que c'est pas des strings que l'on utilise mais des réels.
Mais bon, laissez tomber Razz
_________________
Le violet, c'est moche.
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Tutoriels Toutes les heures sont au format GMT + 1 Heure
Aller à la page 1, 2, 3, 4, 5, 6  Suivante
Page 1 sur 6

 
Sauter vers:  
Vous ne pouvez pas poster 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 voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com