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...)
|
Posté le: 23/02/08 11:44 Sujet du message: Faire de jolies courbes |
|
|
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).
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) Boucle - Actions |
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 .
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 |
|
|
Gaahh Petit flooder
Inscrit le: 21 Aoû 2007 Messages: 1257 Sujets: 34 Spécialité en worldedit: Spécialité en worldedit:
|
Posté le: 23/02/08 12:39 Sujet du message: Re: Faire de jolies courbes |
|
|
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 |
|
|
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...)
|
|
Revenir en haut |
|
|
Gevans Back
Inscrit le: 21 Aoû 2007 Messages: 1930 Sujets: 85
Médailles: 2 (En savoir plus...)
|
|
Revenir en haut |
|
|
Gaahh Petit flooder
Inscrit le: 21 Aoû 2007 Messages: 1257 Sujets: 34 Spécialité en worldedit: Spécialité en worldedit:
|
|
Revenir en haut |
|
|
XaMaRo Amateur de graphisme
Inscrit le: 28 Aoû 2007 Messages: 280 Sujets: 29 Spécialité en worldedit: Je cherche encore ...
|
|
Revenir en haut |
|
|
Gevans Back
Inscrit le: 21 Aoû 2007 Messages: 1930 Sujets: 85
Médailles: 2 (En savoir plus...)
|
Posté le: 24/02/08 12:50 Sujet du message: |
|
|
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 |
|
|
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...)
|
|
Revenir en haut |
|
|
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...)
|
|
Revenir en haut |
|
|
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...)
|
Posté le: 24/02/08 13:33 Sujet du message: |
|
|
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 |
|
|
Gaahh Petit flooder
Inscrit le: 21 Aoû 2007 Messages: 1257 Sujets: 34 Spécialité en worldedit: Spécialité en worldedit:
|
Posté le: 24/02/08 13:43 Sujet du message: |
|
|
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 |
|
|
Gevans Back
Inscrit le: 21 Aoû 2007 Messages: 1930 Sujets: 85
Médailles: 2 (En savoir plus...)
|
|
Revenir en haut |
|
|
Byakugan64 Membre honoraire
Inscrit le: 22 Aoû 2007 Messages: 251 Sujets: 17
|
Posté le: 24/02/08 14:05 Sujet du message: |
|
|
Excellent!! Ce serait sympa de compléter avec d'autres formes géométriques. par la suite^^ _________________
|
|
Revenir en haut |
|
|
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...)
|
|
Revenir en haut |
|
|
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...)
|
|
Revenir en haut |
|
|
|