See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: Star Wars The Final Battle  (Read 68536 times)

0 Members and 1 Guest are viewing this topic.

Offline Momo

  • Legend
  • ******
  • Posts: 2682
  • Karma: 1
Reply #100 - 27 May 2007, 16:05:57
Quote
picto a écrit:

Mais, j'ai l'impression que ça vous parait aussi naturel que le repère que l'on a
appris à l'école à tous les deux. Moi, pas , mais pas du tout. Sur le modeleur,
à chaque nouveau modèle, je suis obligé d'importer un mesh dont je suis sûr
en ce qui concerne l'orientation Orbiter pour pouvoir orienter le nouveau :)


ben perso, j'utilise toujours le même axes pour mes modèles, je configure mon 3ds2msh en fonction et sa bouge plus...
pour la hauteur des msh au sol, je modifie les valeur sur shipedit, et voila, un msh (modulesol ou robot et autre) se pose au
sol sans rien retouché!

au debut je faisais comme toi, je reglé le niv au sol via mon modeleur (Meta) mais une foi au sol, la camera etais excentré
du msh... (cela dis, j'en ai profité pour crée une focus sur les points essentiels de mes modules)

donc; si tes msh sont bien orienté, ta plus besoin de config TouchdownPoints, tu fais la manip sur shipedit est fini la prise
de tête... (façon de parlé)

sinon sur ta config je vois sa:

Pit_droid.cfg

   
Quote
; === Configuration file for 01_Pit_Droid ===

    ClassName = 01_Pit_Droid
    MeshName = 01_Pit_Droid
    Size = 15.0
    Mass = 25; empty mass [kg]
    MaxFuel = 1000 ; max fuel mass [kg]
    Isp = 10000 ; fuel specific impulse [m/s]
   MaxMainThrust = 10000
    MaxRetroThrust = 10000
    MaxHoverThrust = 10000

    MaxAttitudeThrust = 1000
    CameraOffset = 0 0 200
    LiftFactor = 0.0
    CrossSections = 0.020 0.025 0.022
    EnableFocus = true
    TouchdownPoints = 0 0 1 -1 0 -1 1 0 -1

donc suivant l'orientation du droïd, + fais avancé le droïd et - le fais reculé
et 0 fait monté le droïd via les hovers?

de plus, si le droïd avance, il ne s'arrête pas de suite! il glisse, sur sa course!  

Je me trompe ou pas?



Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #101 - 27 May 2007, 16:39:21

Oui, c'est ça ... c'est un peu ridicule d'ailleurs.
On peut faire autre chose via ces configs ?


Pic

Offline Well

  • Legend
  • ******
  • Posts: 2722
  • Karma: 46
    • L'Atelier Wellographique
Reply #102 - 27 May 2007, 18:02:40
(pour les bras trop court du droide ridicule... en fait c'est un droid pour faire du tricot, c'est pour ça! )


Offline Momo

  • Legend
  • ******
  • Posts: 2682
  • Karma: 1
Reply #103 - 27 May 2007, 19:06:59
Quote
picto a écrit:

Oui, c'est ça ... c'est un peu ridicule d'ailleurs.
On peut faire autre chose via ces configs ?



tu peux le faire en spc3, sa reglerais les prb... mais :

- pour les animations, c'est pas le top... il peut y avoir des décalages (animations pas complete a 100%) si les fps sont
trop faible (je sais de quoi je parle)

- obligé de crée 1 ini pour chaque Doïds m^me si le msh est le même!

de plus, pour pas surchargé le dossiers Config/spacecraft/ tu peux crée toi même un dossier Config/Droïds avec le spacecraft3
dans 1 seul condition:

- ne pas avoir de playloads sous tes ini dans le dis dossier! et/ou qu'il ne soit du coup un playload d'un autre
spacecraft...  sinon CTD garanti! (je sais aussi de quoi je parle)

sa donnerai donc sa pour ton ini Droïd:

Quote
[CONFIG]
MESHNAME="01_Pit_Droid"
SIZE=15
EMPTY_MASS=25 <= prb! FUEL=1000kg, donc une foi a 100Kg ton droïd va fusé! comme un ouf! conseillé par exp 1000
FUEL_MASS=1000 <= du coup conseillé par exp 100
MAIN_THRUST=10000 <= faible du coup, donc conseillé 20000 voir 30000
RETRO_THRUST=10000 <= sa fais pas mal de recule! divise par 1/3 donc pour 30000 en MAIN sa ferai 20000
ATTITUDE_THRUST=1000<= voir plus pour les rcs, 1200 ou plus au mininum   
ISP=190000 <= fuel specific impulse [m/s]
PMI=(600,0.6,600) <= en X,Y,Z donc Y sont les rcs de monté ou descente (8-2) et 0.6 en stop les effets
CROSS_SECTION=(0.020, 0.025, 0.022)
PITCH_MOMENT_SCALE=0.000001
BANK_MOMENT_SCALE=0.000001
COG=1 <= je crois...cog c'est pour la hauteur au sol sur l'axe Z /EDITE

[LANDING_GEAR] <= pour le "freinage" un foi les Mains coupé
WHEEL=0.04
BELLY=0.4
BRAKE=400000 <= ou plus


et pour ton scénario:
Quote

Pit:ton_dossier_droïds/spacecraft3 <=Pit est le nom du ini dans le dossier :xxx


Je pense que c'est la base qui peu te donné quelles que éléments si tu envisages cette solution... elle peut même du coup
evité que ton droïd  s'envol si tu piques du nez avec une vitesse trop elevé (un peut comme la voiture du CSG)

si ta besoin de plus d'info... je suis là...



Message modifié ( 27-05-2007 19:22 )


Offline Raptros

  • Sr. Member
  • ****
  • Posts: 387
  • Karma: 0
Reply #104 - 27 May 2007, 21:13:18
ouiiiin je veu encore des photos!! c'est trop beau :( :( :(


kamikaze a plein temps :badsmile:




Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #105 - 27 May 2007, 21:17:18
Sympa ta proposition, :beer: je vais tenter de réaliser une anim avec Spacecraft 3,
ça m'aidera à comprendre les principes. Ensuite, je transformerais les choses
en DLL, il serait plus intéressant de ne pas pouvoir prendre les commandes de
ces droides.

Au final, je souhaiterais qu'ils soient des animations automatiques de la base,
comme le train du KSC quoi.

Well le tricot :lol: Et il chope les pelotes comment ?
C't'un autre droide spécialisé dans le passage de pelotes qui le fait ?



Message modifié ( 27-05-2007 21:28 )

Pic

Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #106 - 27 May 2007, 23:31:31

Yes !!!
Ca marche !
C'est rigolo à faire ... c'est du basique là, mais ça marche !
Par exemple là, il fait une translation mais resaute à sa position d'origine.
Je vais voir si on peut enchainer translations et rotations sur la même séquence.
En mélangeant les différents mouvements il y a de quoi s'amuser.

Quote
; ===01_Wed_Droide ===

[CONFIG]
MESHNAME="01_Wed_Droide"
SIZE =10
COG=-1.159
VISIBLE=1
CAMERA=(25,-10,-50)
FOCUS=0

;===Animations

[ANIM_SEQ_0]   
KEY=0
DURATION=100
REPEAT=1

[ANIM_COMP_0]    
SEQ=0
TYPE=TRANSLATE
GROUPS=0
RANGE=(0.,1.)
SHIFT=(10,0,100)


Pic

Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #107 - 28 May 2007, 00:52:21

Bon, j'ai essayé plein de trucs, pas possible de faire du réellement automatique avec Spacecraft.
Je pensais qu'il était possible d'enchainer, une translation, une rotation, une autre translation dans une autre
direction, que la tête tourne sur son axe en même temps, mais sans avoir à prendre le contrôle.... etc... etc...
et ce sans aucune intervantion au clavier. Le REPEAT s'adresse au clavier en fait, je pensais au départ qu'il
s'adressait aux animations à proprement parler.

Reste le C++ ;)


Pic

Offline Momo

  • Legend
  • ******
  • Posts: 2682
  • Karma: 1
Reply #108 - 28 May 2007, 10:08:17
mais si... c'est possible... même au lancement du scn!
 
exp:
ton droid ce deplace en faisant un carré:

Quote
[ANIM_SEQ_0]   
INIT_POS=0
Key=XXX
DURATION=200
REPEAT=50             l'anime se relancé 50 fois automatiquement

[ANIM_COMP_0]     va vers le bas            
SEQ=0                              
GROUPS=XXX                    
RANGE=(0,0.2)                  
TYPE=TRANSLATE              
SHIFT=(10,0,0)                  

[ANIM_COMP_1]    tourne sur lui meme
SEQ=0
GROUPS=XXX
RANGE=(0.21,0.25)
ROT_PNT=(X,X,X)
ROT_AXIS=(X,X,X)
ANGLE=90

[ANIM_COMP_2]    va vers la droite
SEQ=0
GROUPS=XXX
RANGE=(0.26,0.45)          
TYPE=TRANSLATE
SHIFT=(0,0,10)

[ANIM_COMP_3]    pivote
SEQ=0
GROUPS=XXX
RANGE=(0.46,0.5)
ROT_PNT=(X,X,X)
ROT_AXIS=(X,X,X)
ANGLE=90

[ANIM_COMP_4]    va vers le haut
SEQ=0
GROUPS=XXX                    
RANGE=(0.51,0.7)              
TYPE=TRANSLATE              
SHIFT=(-10,0,0)                

[ANIM_COMP_5]    pivote
SEQ=0
GROUPS=XXX
RANGE=(0.71,0.75)
ROT_PNT=(X,X,X)
ROT_AXIS=(X,X,X)
ANGLE=90

[ANIM_COMP_6]    va vers la gauche
SEQ=0
GROUPS=XXX
RANGE=(0.76,0.95)          
TYPE=TRANSLATE
SHIFT=(0,0,-10)

[ANIM_COMP_7]    pivote et se retrouve a la position du départ
SEQ=0
GROUPS=XXX
RANGE=(0.96,1)
ROT_PNT=(X,X,X)
ROT_AXIS=(X,X,X)
ANGLE=90

dans l'absolu, tu peux le faire...



Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #109 - 28 May 2007, 11:36:36
Il ne tourne pas sur lui même avec ta séquence.
Les translations se font bien, mais aucune rotation.

Et quand je marque ça pour la première rotation, c'est comme si il prenait son point de référence hors de lui même 0 0
0 pour moi, c'est son centre de gravité et 0 1 0 l'axe vertical. Il fait bien une rotation, mais pas sur lui même, il décrit
un grand arc de cercle sur le sol.

[ANIM_COMP_0] va vers le bas
SEQ=0
GROUPS=0
RANGE=(0,0.2)
TYPE=TRANSLATE
SHIFT=(10,0,0)

[ANIM_COMP_1] tourne sur lui meme
SEQ=0
GROUPS=0
RANGE=(0.21,0.25)
ROT_PNT=(0,0,0)
ROT_AXIS=(0,1,0)
ANGLE=90

Je vais étudier le PDF :badsmile:
Je me rend compte qu'il y a pas mal de trucs à étudier, je croyais que de regarder les .ini des autres suffirait ;)
Par exemple, pour ce qui concerne les Range, je ne sais même pas ce que c'est ;) Ok, c'est simple, c'est un marqueur de temps en proportion de 100 dont les valeurs s'écrivent sur une base de 1, de 0 à 1 quoi ....



Message modifié ( 28-05-2007 12:06 )

Pic

Offline Momo

  • Legend
  • ******
  • Posts: 2682
  • Karma: 1
Reply #110 - 28 May 2007, 12:07:48
ha oui pour la rotation sur lui même, faut rentré la valeur suivant sa position... j'ai pas testé, je tes fais sa de tête...
donc si la translation est de 10m la rotation doit etre de +10 sur ton axe de ref...
faut tâtonné, faire des tests, tes en bon chemin!



Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #111 - 28 May 2007, 12:32:30
C'est presque au point, le seul truc qui m'étonne, c'est qu'il commence par une rotation sur cette séquence ou
pourtant le premier truc indiqué est une translation, les translations ne se font donc pas selon l'axe du mesh que je
souhaite ( perpendiculaire aux roues :badsmile: ) sans doute une histoire ou il faut indiquer une initialisation de
position ou autre à Spacecraft. Mais j'ai compris le principe. Si je veux le faire déambuler dans la ville et que ça ai l'air
aléatoire, il faudra faire un dessin vu de dessus pour ne pas s'y perdre, si l'anim fait cinquante
composantes :badsmile:

Le REPEAT c'est 0 1 ou 2
0 elle ne se répète pas
1 elle se répète indéfiniment.
2 elle se répète en s'inversant.



Message modifié ( 28-05-2007 14:16 )

Pic

Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #112 - 28 May 2007, 14:24:53
YES !!!
Ca fonctionne parfaitement !!!
Ca donne envie de faire de la prog toutes ces bêtises :)
Le plus drôle est de définir le type de comportement de chacun.
Un petit GIF en illustratiion, mais c'est plus souple sur Orbiter en réalité.



MERCI MOMO pour le coup de main, il suffit d'être organisé, faire chaque composante de l'animation une par une
pour ne pas se perdre dans les valeurs indiquées et faire très attention au Range, et là tout va bien ... avec ça, il fait
un carré en accélérant de temps en temps, en marquant des pauses et en tournant correctement sur lui même.

Comme les meshes droides sont très optimisés, je vais tout regrouper en un seul mesh et considérer que ce sont des
groupes à animer indépendement. Ce sera plus facile à gérer pour l'utilisateur ( en fait, il n'aura rien à faire :) )
C'est juste pour donner un peu de vie à la base.

C'est très marrant à faire en tout cas !
En prenant des références très éloignées de lui, il décrit de grands arcs de cercles autour de bâtiments sans que le
désaxage se remarque... bref, il commence à se ballader en ville :)

Je vais te demander un coup de main sur les animations enfant par PARENT.
Par exemple pour faire bouger les bras du droide pendant qu'il avance et faire bouger sa tête verticalement sur son
axe télescopique.

Une fois que je saurais faire ça, je pourrais tout faire

Voici le .ini inspiré du tien et  qui fonctionne.
Ce qui est génial, c'est qu'il n'y a aucune llimite au nombre de composantes d'une séquence
( lu sur le PDF de Vinka )

Pour lancer automatiquement il suffit d'ajouter ça sur le scn pour le vessel concerné SEQ 0 1 0.0


;===Animations

[ANIM_SEQ_0]
INIT_POS=0
Key=0
DURATION=5
REPEAT=1 l'anime se relance en s'inversant indefiniment


[ANIM_COMP_0] va devant lui
SEQ=0
GROUPS=0
RANGE=(0,0.2)
TYPE=TRANSLATE
SHIFT=(0,0,10)

[ANIM_COMP_1] tourne sur lui meme
SEQ=0
GROUPS=0
RANGE=(0.2,0.3)
ROT_PNT=(0,0,10)
ROT_AXIS=(0,1,0)
ANGLE=90

[ANIM_COMP_2] va devant lui
SEQ=0
GROUPS=0
RANGE=(0.4,0.5)
TYPE=TRANSLATE
SHIFT=(10,0,0)

[ANIM_COMP_3] tourne sur lui meme
SEQ=0
GROUPS=0
RANGE=(0.5,0.6)
ROT_PNT=(10,0,10)
ROT_AXIS=(0,1,0)
ANGLE=90

[ANIM_COMP_4] va devant lui
SEQ=0
GROUPS=0
RANGE=(0.6,0.7)
TYPE=TRANSLATE
SHIFT=(0,0,-10)

[ANIM_COMP_5] tourne sur lui meme
SEQ=0
GROUPS=0
RANGE=(0.7,0.79)
ROT_PNT=(10,0,0)
ROT_AXIS=(0,1,0)
ANGLE=90

[ANIM_COMP_6] va devant lui
SEQ=0
GROUPS=0
RANGE=(0.8,0.95)
TYPE=TRANSLATE
SHIFT=(-10,0,0)

[ANIM_COMP_7] tourne sur lui meme
SEQ=0
GROUPS=0
RANGE=(0.95,1)
ROT_PNT=(0,0,0)
ROT_AXIS=(0,1,0)
ANGLE=90



Message modifié ( 28-05-2007 19:24 )

Pic

Offline Momo

  • Legend
  • ******
  • Posts: 2682
  • Karma: 1
Reply #113 - 28 May 2007, 18:55:22
alors pour faire bougé les bras du droid:


[ANIM_SEQ_1]
INIT_POS=0
Key=0
DURATION=X
REPEAT=1


[ANIM_COMP_8]
SEQ=1
GROUPS=Bras droit
RANGE=(0,0.3)
ROT_PNT=(x,x,x) l'épaule
ROT_AXIS=(1,0,0) de tête, le bras va vers l'avant
ANGLE=35

[ANIM_COMP_9]
SEQ=1
GROUPS=l'avant Bras droit
RANGE=(0.3,0.45)
ROT_PNT=(x,x,x) le coude
ROT_AXIS=(1,0,0) de tête, le bras va vers l'avant
ANGLE=10
PARENT=8 l'avant bras suivra le bras (normal)

[ANIM_COMP_10]
SEQ=1
GROUPS=l'avant Bras droit
RANGE=(0.45,0.6)
ROT_PNT=(x,x,x) le coude
ROT_AXIS=(1,0,0)
ANGLE=-10
PARENT=8 l'avant bras suivra le bras (normal)

[ANIM_COMP_11] le bras remonte derrière le dos
SEQ=1
GROUPS=l'avant Bras droit + le bras
RANGE=(0.6,0.8)
ROT_PNT=(x,x,x) l'epaule
ROT_AXIS=(1,0,0)
ANGLE=-15

[ANIM_COMP_12]  le bras revient a la position initial
SEQ=1
GROUPS=l'avant Bras droit + le bras
RANGE=(0.8,1)
ROT_PNT=(x,x,x) l'epaule
ROT_AXIS=(1,0,0)
ANGLE=15

ensuite de 13 a 17 pour le bras gauche et 13 ne va pas vers l'avant du corp, mais vers l'arriere

sa devrais marché...



Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #114 - 28 May 2007, 19:09:54
Momo, le roi de l'anim !! ;)


Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #115 - 28 May 2007, 19:18:49

Ok, je comprend mieux ces histoires de PARENT. Merci Momo, je teste ça ce soir.
De la même manière, si je fais bouger les bras tout en faisant avancer le droide, il faut que je
déclare comme PARENT le socle du droide à partir du bras j'imagine, sinon, le socle va avancer
et les bras rester sur place.


Pic

Offline Momo

  • Legend
  • ******
  • Posts: 2682
  • Karma: 1
Reply #116 - 28 May 2007, 19:49:22
:)
pour comprendre le role du PARENT faut voir sa:


[ANIM_COMP_8]
SEQ=1
GROUPS=Bras droit
RANGE=(0,0.3)
ROT_PNT=(x,x,x) l'épaule
ROT_AXIS=(1,0,0) de tête, le bras va vers l'avant
ANGLE=35

[ANIM_COMP_9]
SEQ=1
GROUPS=l'avant Bras droit
RANGE=(0.3,0.45)
ROT_PNT=(x,x,x) le coude
ROT_AXIS=(1,0,0) de tête, le bras va vers l'avant
ANGLE=10
PARENT=8 l'avant bras suivra le bras (normal)

sur l'anim comp 9 je declare un parent 8, donc en faite l'anim 9 suit la 8 sur sont point de rot.
je pourrais faire comme sa aussi:


[ANIM_COMP_8]
SEQ=1
GROUPS=Bras droit
RANGE=(0,0.3)
ROT_PNT=(x,x,x) l'épaule
ROT_AXIS=(1,0,0) de tête, le bras va vers l'avant
ANGLE=35

[ANIM_COMP_9]
SEQ=1
GROUPS=l'avant Bras droit
RANGE=(0,0.3)
ROT_PNT=(x,x,x) l'épaule
ROT_AXIS=(1,0,0) de tête, le bras va vers l'avant
ANGLE=35

[ANIM_COMP_10]
SEQ=1
GROUPS=l'avant Bras droit
RANGE=(0.3,0.45)
ROT_PNT=(x,x,x) le coude
ROT_AXIS=(1,0,0) de tête, le bras va vers l'avant
ANGLE=10

sa marche aussi sans PARENT!



Message modifié ( 28-05-2007 19:50 )


Offline Momo

  • Legend
  • ******
  • Posts: 2682
  • Karma: 1
Reply #117 - 28 May 2007, 19:53:05
Quote
brainstorm a écrit:
Momo, le roi de l'anim !! ;)

tu m'as refilé le virus! le roi c'est toi pas moi...



Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #118 - 29 May 2007, 04:22:00
Je bloque là dessus :sad:

L'idée de la carotte, c'est un groupe d'un poly placé dans le corps du droide , Pour être libre sur les oscillations du
corps principal à chaque pas.. J'ai essayé de faire translation et oscillations sur le corps directement, soit je m'y suis
mal pris soit c'est impossible, mais je n'obtenais rien de satisfaisant... la carotte donc.
Sur le Gif, les mouvements sont à peu près ceux que je cherchais à obtenir

Je me disais aussi que ce serait pratique de ne pas avoir à recommencer la série de mouvement des pattes à chaque
changement de direction du droide. On suit la carotte, et les jambes et le corps continuent à faire les mouvements de
marche.

Deux problèmes, à chaque boucle, Spacecraft réinitialise la position des jambes, d'ou cet effet de léger recul et glissé.

Et plus chiant, dès que je rajoute une comp à la séquence zéro les mouvements s'arrêtent.( les jambes continuent de
marcher mais le droide ne bouge plus. La raison m'échappe totalement.
La carotte ne fonctionne bien que sur la première séquence.

Si je rajoute un COMP 8 rotation du groupe 5 ( la carotte ) puis une nouvelle translation, il ne se passe rien. :sad:

Si tu as une idée là dessus, merci d'avance.

[ANIM_SEQ_0]
INIT_POS=0
Key=0
DURATION=270
REPEAT=1

[ANIM_SEQ_1]
INIT_POS=0
Key=0
DURATION=0.45
REPEAT=1


[ANIM_COMP_0]  la carotte avance
SEQ=0
GROUPS=5
RANGE=(0,1)
TYPE=TRANSLATE
SHIFT=(0,0,180)

[ANIM_COMP_1] le corps avance en suivant la carotte
SEQ=1
GROUPS=0
RANGE=(0,0.45)
TYPE=TRANSLATE
SHIFT=(0,0,0.025)
PARENT=0

[ANIM_COMP_2] avance la jambe droite en suivant le corps
SEQ=1
GROUPS=1,3
RANGE=(0.1,0.5)
TYPE=TRANSLATE
SHIFT=(0,0.10,0.3)
PARENT=1

[ANIM_COMP_3] le corps penche a droite
SEQ=1
GROUPS=0
RANGE=(0,0.5)
ROT_PNT=(0,0.288,0) centre du corps
ROT_AXIS=(0,0,1)  
ANGLE=-6

[ANIM_COMP_4] avance jambe gauche en suivant le corps
SEQ=1
GROUPS=2,4
RANGE=(0.6,1)
TYPE=TRANSLATE
SHIFT=(0,0.10,0.3)
PARENT=1

[ANIM_COMP_5] le corps penche a gauche
SEQ=1
GROUPS=0
RANGE=(0.5,1)
ROT_PNT=(0,0.288,0) centre du corps
ROT_AXIS=(0,0,1)  
ANGLE=12

[ANIM_COMP_6] repose jambe droite en suivant le corps
SEQ=1
GROUPS=1,3
RANGE=(0.5,0.75)
TYPE=TRANSLATE
SHIFT=(0,-0.10,0)

[ANIM_COMP_7] repose jambe gauche en suivant le corps
SEQ=1
GROUPS=2,4
RANGE=(0.75,1)
TYPE=TRANSLATE
SHIFT=(0,-0.10,0)






Message modifié ( 29-05-2007 04:23 )

Pic

Offline Papyref

  • Legend
  • ******
  • Posts: 5341
  • Country: France fr
  • Karma: 341
  • Je suis dans la Lune ne pas me déranger
Reply #119 - 29 May 2007, 08:39:46
Je pense qu'à comp 7 tu es au bout de ton Range et le temps de séquence est écoulé, alors tu reboucles au début
sans passer par Comp 8.
Essayes en modifiant le range pour comprendre comp 8 et la suite

:sage: Papyref


Offline Momo

  • Legend
  • ******
  • Posts: 2682
  • Karma: 1
Reply #120 - 29 May 2007, 10:01:11
je vois des turcs qui vont pas trop...

[ANIM_COMP_6] repose jambe droite en suivant le corps
SEQ=1
GROUPS=1,3
RANGE=(0.5,0.75)
TYPE=TRANSLATE
SHIFT=(0,-0.10,-0.3)

[ANIM_COMP_7] repose jambe gauche en suivant le corps
SEQ=1
GROUPS=2,4
RANGE=(0.75,1)
TYPE=TRANSLATE
SHIFT=(0,-0.10,-0.3)

deja les jambe reviennent a leurs positions 0 avant la boucle (plus de recule visuel)

le pire:

[ANIM_COMP_5] le corps penche a gauche
SEQ=1
GROUPS=0
RANGE=(0.5,1)
ROT_PNT=(0,0.288,0) centre du corps
ROT_AXIS=(0,0,1)
ANGLE=12

ton droïd est penché a gauche (6°) et revient brutalement a 0° donc

et:

[ANIM_COMP_1] le corps avance en suivant la carotte
SEQ=1
GROUPS=0
RANGE=(0,0.45)
TYPE=TRANSLATE
SHIFT=(0,0,0.025)
PARENT=0

et la le corp refais un recul a l'initialisation donc (0.025)

si tu fais des bouches sans fin, faut toujours prevoir d'annulé toutes les animes pour quelles soit a 0 avant la boucle,
sinon sa saute!


Quote
[ANIM_SEQ_0]
INIT_POS=0
Key=0
DURATION=270
REPEAT=1

[ANIM_SEQ_1]
INIT_POS=0
Key=0
DURATION=0.5
REPEAT=1


[ANIM_COMP_0] la carotte avance
SEQ=0
GROUPS=5
RANGE=(0,1)
TYPE=TRANSLATE
SHIFT=(0,0,180)

[ANIM_COMP_1] le corps avance en suivant la carotte
SEQ=1
GROUPS=0
RANGE=(0,0.4)
TYPE=TRANSLATE
SHIFT=(0,0,0.025)
PARENT=0

[ANIM_COMP_2] avance la jambe droite en suivant le corps
SEQ=1
GROUPS=1,3
RANGE=(0.1,0.5)
TYPE=TRANSLATE
SHIFT=(0,0.10,0.3)
PARENT=1

[ANIM_COMP_3] le corps penche a droite
SEQ=1
GROUPS=0
RANGE=(0,0.25)
ROT_PNT=(0,0.288,0) centre du corps
ROT_AXIS=(0,0,1)
ANGLE=-6

[ANIM_COMP_4] avance jambe gauche en suivant le corps
SEQ=1
GROUPS=2,4
RANGE=(0.6,1)
TYPE=TRANSLATE
SHIFT=(0,0.10,0.3)
PARENT=1

[ANIM_COMP_5] le corps penche a gauche
SEQ=1
GROUPS=0
RANGE=(0.25,0.75)
ROT_PNT=(0,0.288,0) centre du corps
ROT_AXIS=(0,0,1)
ANGLE=12

[ANIM_COMP_6] repose jambe droite en suivant le corps
SEQ=1
GROUPS=1,3
RANGE=(0.5,0.75)
TYPE=TRANSLATE
SHIFT=(0,-0.10,-0.3)

[ANIM_COMP_7] le corps penche a droite et revient au centre
SEQ=1
GROUPS=0
RANGE=(0.75,1)
ROT_PNT=(0,0.288,0) centre du corps
ROT_AXIS=(0,0,1)
ANGLE=-6

[ANIM_COMP_8] le corps revient a la position initial doucement
SEQ=1
GROUPS=0
RANGE=(0.4,1)
TYPE=TRANSLATE
SHIFT=(0,0,-0.025)

[ANIM_COMP_9] repose jambe gauche en suivant le corps
SEQ=1
GROUPS=2,4
RANGE=(0.75,1)
TYPE=TRANSLATE
SHIFT=(0,-0.10,-0.3)
sa devrais marché!
si ya un prb d'anime pas lancer, modifies les lignes RANGE=(0.4,1) en 0.99 sauf sur la dernière.
si les pattes ne suivent pas tous le corp, rajoute les parent=0 sur toutes les lignes



Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #121 - 29 May 2007, 13:16:46

C'est plus fluide. Merci Momo :beer:
Je commence à voir les écueils à éviter.
Je vais essayer de trouver un mouvement plus
convaincant pour les jambes sur ce principe.

Papy, tu as raison, tout est une question de proportions,
 j'ai mis ces ranges là pour l'anim des jambes et l'oscillation
du corps pour qu'ils correspondent à la première translation.

Mais croyez vous que ce soit possible ?
Si je fais tourner la carotte tout va tourner
ou faut il réécrire la séquence des jambes et
oscillations du corps sur la nouvelle translation.

Le but étant de pouvoir le faire déambuler en ville  comme
les autres droides.


Pic

Offline Papyref

  • Legend
  • ******
  • Posts: 5341
  • Country: France fr
  • Karma: 341
  • Je suis dans la Lune ne pas me déranger
Reply #122 - 29 May 2007, 15:21:12
Si tu fais tourner la carotte une nouvelle fois, la nouvelle rotation est un comp x qui n'est plus le parent de référence
du départ et tes bras et jambes ne suivront pas je crois.
Il faudrait récrire les séquences bras et jambes attachées à ce nouveau parent.

:sage: Papyref


Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #123 - 29 May 2007, 15:54:57

C'est bien ce qui me semble aussi, je pensais à ça dans un soucis d'optimisation.
Je ne sais pas si ça joue sur le FPS, d'écrire des ini  avec 200 Comp.
Je vais faire des tests.


Pic

Offline picto

  • Legend
  • ******
  • Posts: 5014
  • Country: France fr
  • Karma: 24
  • Criiii Crii Crii
Reply #124 - 29 May 2007, 16:31:37
Et ben, décidemment, c'est problèmes sur problèmes.
Vu que les scenarios limitent à 10 Spacecraft maximum,
j'essaye de regrouper des animations sur un seul vessel.

J'ai envie de mettre trois éoliennes sur la scène.
Je fais la première comme d'habitude, et je la pose au sol.
Tout va bien elle tourne correctement avec ce ini

[ANIM_SEQ_0]
INIT_POS=0
Key=0
DURATION=4
REPEAT=1

[ANIM_COMP_0]
SEQ=0
GROUPS=0
RANGE=(0,1)
ROT_PNT=(0,9.903,2.366)
ROT_AXIS=(0,0,1)
ANGLE=360

Je retourne sur le modeleur pour ajouter une seconde éolienne.





Je note bien l'axe de rotation et les nouveaux groupes créés.
Et je modifie le ini en ajoutant çà, -52.007 correspond à la translation
de la nouvelle éolienne qui fait partie du même vessel.

[ANIM_COMP_1]
SEQ=0
GROUPS=3
RANGE=(0,1)
ROT_PNT=(-52.007,9.903,2.366)
ROT_AXIS=(0,0,1)
ANGLE=360


Et là j'obtiens ça ... :doubt:
L'hélice décris un grand cercle autour du premier point.
Et j'ai beau tourner le problème dans tous les sens, je ne vois
pas ou est l'erreur de logique dans ce que j'ai fait... à moins
que ce ne soit très évident mais que la fatigue m'empêche de la voir.






Message modifié ( 29-05-2007 17:01 )

Pic