ITWEEN : objet qui se déplace légèrement 'désaxé'

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

ITWEEN : objet qui se déplace légèrement 'désaxé'

Message par freepl » 21 Mai 2014 08:09

bonjour

J'ai un script fonctionnel sur ITWEEN.
Le problème est que la moto qui suit le path est légèrement désaxée. Elle ne regarde pas vraiment devant elle.

Mon path a un repère tous les 4 m, j'ai essayé avec des repères tous le 1m , le pb est toujours là.

comment le corriger ?

Merci

Mon code

Code : Tout sélectionner




#pragma strict 
public var target_Path1 : GameObject; 
public var time = 10.0;               





private var tabt : Transform[];
 private var running = false; 
 private var paused = false;
 private var fraction = 0.0; 
 
 function SetPath (pathObject : GameObject){
     var id : int = 0;
     tabt =null;
     tabt = new Transform[pathObject.transform.childCount];
     for(var child: Transform in pathObject.transform)     {
            tabt[id++] = child.transform;
                 }
  WalkThePath();
                                           }
  
 
 
 function WalkThePath() {    
 paused = false;
 running = true;
 fraction = 0.08;  

  while (running) {
         transform.position = iTween.PointOnPath(tabt, fraction);
         
 if (!paused)
          fraction += Time.deltaTime / time;
 if (fraction > 1.0) fraction = 0.0;  

        var futurePos = iTween.PointOnPath(tabt, fraction + 0.02); 
        transform.LookAt(futurePos); 
		
               yield;
                   } 
                      }
                   


function Start()
     
    {
           SetPath(target_Path1);    
    }
                   
                                   


image de la moto 'désaxée'
Image


image de l'orientation du repère
Image

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

RESOLU: ITWEEN : objet qui se déplace légèrement 'désaxé'

Message par freepl » 21 Mai 2014 14:36

J'ai tout simplement mis un empty juste 1 ou 2 repere devant et dis à mon véhicule de la regarder.
du coup , le véhicule suit plus la courbe



Image

Avatar de l’utilisateur
Aslan85
Messages : 326
Inscription : 10 Déc 2013 08:01

Re: ITWEEN : objet qui se déplace légèrement 'désaxé'

Message par Aslan85 » 22 Mai 2014 03:35

Bonne reponse.

C'etait la solution que j'allais te proposer mais tu t'ai repondu (ca ce dit cela ?) avant que je te le propose :D
Je suis souvent dans l'erreur et j'attends avidement que l'on me contredise.

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: ITWEEN : objet qui se déplace légèrement 'désaxé'

Message par freepl » 22 Mai 2014 07:43

Malheureusement cela ne fonctionne qu'avec un objet de petite longueur, la moto par exemple.
Elle ne fait que 2 m environ .
Si je prends une voiture de 4 m , on a toujours l'impression de dérapage :|

Si quelqu'un a un script qui n'a pas ce pb , je le prendrais bien volontier.

Merci

Avatar de l’utilisateur
NDrew
Messages : 581
Inscription : 25 Oct 2013 15:14
Localisation : Clermont-Ferrand

Re: ITWEEN : objet qui se déplace légèrement 'désaxé'

Message par NDrew » 22 Mai 2014 07:45

Pour la voiture, essaie de changer le centre de ta voiture. Si le centre se trouvait sur le devant de la voiture non?

c'est vraiment juste une idée comme ca, je m'y connais pas en animation.

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: ITWEEN : objet qui se déplace légèrement 'désaxé'

Message par freepl » 22 Mai 2014 07:55

pour le test, j'ai créé un empty , mis le script sur lui et mis enfant la voiture. L'empty fait donc office de centre de gravité
J'ai mis l'empty à l'arrière de la voiture.

L'effet est amoindri mais existe toujours , même si j'éloigne l'empty loin de la voiture :|

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: ITWEEN : objet qui se déplace légèrement 'désaxé'

Message par F@B » 22 Mai 2014 09:19

bin y'a pas de miracle, plus tu vas regarder loin plus l'effet de dérapage va être important! et avec des zig-zag ça va etre pire

t'as pas essayé tout simplement avec le lookTo de iTween?
http://itween.pixelplacement.com/gettingstarted.php
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: ITWEEN : objet qui se déplace légèrement 'désaxé'

Message par freepl » 22 Mai 2014 10:04

Salut

J'ai déjà la fonction lookAt, ligne 54, intégrée au script

Code : Tout sélectionner



#pragma strict 
public var target_Path1 : GameObject; // donner le path de MAYA
public var time = 10.0;               // donner le temps de parcours     35 egal 50 km/h  63 egal 90 km/h   77 egal 110 km/h   91 egal 130 km/h
public var target : Transform ;        // ligne a activer et a renseigner par l'objet que doit regarder la caméra




private var tabt : Transform[];
 private var running = false; 
 private var paused = false;
 private var fraction = 0.0; 
 
 function SetPath (pathObject : GameObject){
     var id : int = 0;
     tabt =null;
     tabt = new Transform[pathObject.transform.childCount];
     for(var child: Transform in pathObject.transform)     {
            tabt[id++] = child.transform;
                 }
  WalkThePath();
                                           }
  
 
 
 function WalkThePath() {    
 paused = false;
 running = true;
 fraction = 0.0;  // 1er départ de la vidéo debut du parcours si 0.8 alors à 80%  

  while (running) {
         transform.position = iTween.PointOnPath(tabt, fraction);
         
 if (!paused)
          fraction += Time.deltaTime / time;
 if (fraction > 1.0) fraction = 0.0; 
 /* 
 le trajet commence la première fois au début puis si on varie la valeur de "fraction" 
 cela permet de recommencer le trajet où l'on veut  :   
              0 Début du trajet  
              1 Fin du trajet 
              0.8 à 80% du parcours 
 
 DONC s'il on veut commencer et REcommencer le trajet à 80% du parcours il faut:
  _ function WalkthePath, mettre fraction = 0.8 (1 ° départ de la vidéo)
  _ if (fraction > 1.0) fraction = 0.8 
 
 
 */
        var futurePos = iTween.PointOnPath(tabt, fraction + 0.02); 
        //transform.LookAt(futurePos); //ligne à garder pour que la camera regarde devant et a desactiver pour que la caméra regarde une cible
		transform.LookAt(target);  //ligne à activer pour que la caméra regarde une cible
               yield;
                   } 
                      }
                   

function Start()
     
    {
           SetPath(target_Path1);    
    } 

Avatar de l’utilisateur
F@B
Messages : 1844
Inscription : 01 Août 2013 10:41
Contact :

Re: ITWEEN : objet qui se déplace légèrement 'désaxé'

Message par F@B » 22 Mai 2014 10:09

je ne te parle pas de lookAt ton probleme de dérapage vient de lui!

mais de iTween LookTo! t'as regardé la doc?

apres tu auras toujours ce problème de dérapage, selon la taille de l'object et l'amplitude de la courbe.
ʕ·͡ᴥ·ʔ ==> Mon Portfolio <== ʕ·͡ᴥ·ʔ

Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

Avatar de l’utilisateur
freepl
Messages : 1034
Inscription : 20 Mai 2012 19:33
Localisation : salon de provence

Re: ITWEEN : objet qui se déplace légèrement 'désaxé'

Message par freepl » 22 Mai 2014 10:20

F@B a écrit : apres tu auras toujours ce problème de dérapage, selon la taille de l'object et l'amplitude de la courbe.

En nfait cela vient bien de cela.
Sur les lignes droites et les grandes courbes, type autoroute, pas de problèmes.
Mais dans les courbes de petit rayon, type dans les giratoires ( quelques mètres de rayon) , les véhicules dérapes

.. et j'ai du ma là comprendre la doc :oops:

Répondre

Revenir vers « Scripting »