Aller au contenu


Animer Des Statiques


  • Veuillez vous connecter pour répondre
13 réponses à ce sujet

#1 beeratwork

beeratwork

Posté 11 janvier 2009 - 20:47

je voulais créer un moulin à vent, avec palles animées et le mécansime pour moudre le grain.
sous nifskope, pas de problème d'animation, mais en jeu, il n'y a rien qui bouge !
que puis-je faire ?

Modifié par beeratwork, 19 janvier 2009 - 16:31.


#2 Orange

Orange

    Opérateur Historique du Flood


Posté 11 janvier 2009 - 21:15

Il faut que ce soit des animators je crois... je n'en sais pas plus, désolé :sorcerer:

En tout cas, bonne chance! J'aimerais bien voir des moulins dans Oblivion :angry:
Immuablement FPIA

#3 lord_yig

lord_yig

    Tronche de Cat


Posté 11 janvier 2009 - 23:15

Voir le messagebeeratwork, le 11.01.2009 à 20:46, dit :

je voulais créer un moulin à vent, avec palles animées et le mécansime pour moudre le grain.
sous nifskope, pas de problème d'animation, mais en jeu, il n'y a rien qui bouge !
que puis-je faire ?
Je suppose que si tu dis ne pas avoir de problème d'animation, c'est que tout fonctionne bien sous Nifscope.

Donc comme le dis orange, tu dois utiliser des activator et non pas des statics.
Pourquoi ?
Parce qu'un static comme son nom l'indique est statique ! Ça parait idiot mais c'est comme çà !
De plus pour déclencher ton animation tu a besoin d'un script et un static ne peut pas avoir de script rattaché, un activator lui le peux.

Dans ton script tu devras en fonction de ce que tu souhaite faire activer ton animation en fonction du nom que tu as déclaré dans ton nif et de la durée de ton animation afin de simuler une boucle infinie.

Un exemple : Alterner deux animations forward et backward d'une durée de 1.5 seconde chacune.
Spoiler
Un autre exemple : jouer une animation forward d'une durée de 3 secondes.
Spoiler
Le bloc GameMode, OnLoad ou autre dépend de ce que tu souhaites faire.
Tu peux aussi avoir un bloc OnActivate sans gestion de Timer si tu souhaites avoir une animation jouable une seule fois à l'activation de l'objet.

Voilà, je n'ai pas tester mes exemples donc mon code n'est peut-être pas exempt d'erreurs...
Bon courage !
Yig : Grand Ancien, Pére des serpents.
A.K.A Quetzalcoatl, Set le dieux Stygien, le Grand Serpent dieux du peuple serpent de Valusia.
L'appel de Cthulhu"N'est pas mort, ce qui a jamais Dort.
Et au long des âges, peut mourir même la Mort."

H.P.Lovecraft


ÏA ! ÏA ! ÏA ! FHTAGN !

#4 beeratwork

beeratwork

Posté 12 janvier 2009 - 07:55

Voir le messagelord_yig, le 12.01.2009 à 00:14, dit :

Voir le messagebeeratwork, le 11.01.2009 à 20:46, dit :

je voulais créer un moulin à vent, avec palles animées et le mécansime pour moudre le grain.
sous nifskope, pas de problème d'animation, mais en jeu, il n'y a rien qui bouge !
que puis-je faire ?
Je suppose que si tu dis ne pas avoir de problème d'animation, c'est que tout fonctionne bien sous Nifscope.

Donc comme le dis orange, tu dois utiliser des activator et non pas des statics.
Pourquoi ?
Parce qu'un static comme son nom l'indique est statique ! Ça parait idiot mais c'est comme çà !
De plus pour déclencher ton animation tu a besoin d'un script et un static ne peut pas avoir de script rattaché, un activator lui le peux.

Dans ton script tu devras en fonction de ce que tu souhaite faire activer ton animation en fonction du nom que tu as déclaré dans ton nif et de la durée de ton animation afin de simuler une boucle infinie.

Un exemple : Alterner deux animations forward et backward d'une durée de 1.5 seconde chacune.
Spoiler
Un autre exemple : jouer une animation forward d'une durée de 3 secondes.
Spoiler
Le bloc GameMode, OnLoad ou autre dépend de ce que tu souhaites faire.
Tu peux aussi avoir un bloc OnActivate sans gestion de Timer si tu souhaites avoir une animation jouable une seule fois à l'activation de l'objet.

Voilà, je n'ai pas tester mes exemples donc mon code n'est peut-être pas exempt d'erreurs...
Bon courage !


Les pales du moulin tournent indéfiniment dans le sens des aiguilles d'une montre, pareil pour le mécanisme de rotation de la meule.
Alors il faut que j'utilise l'animation de type forward...

Des points qui me semblent importants :
- J'ai plusieurs collisionbox attachée à mes objets en rotation...
- Mes objets animés traversent des statiques (donc j'ai des collisionbox qui rentrent les unes dans les autres...
=> ce sont des colisionbox type statique, dois-je les changer, ou éviter qu'elles ne s'imbriquent

#5 lord_yig

lord_yig

    Tronche de Cat


Posté 12 janvier 2009 - 20:20

Voir le messagebeeratwork, le 12.01.2009 à 07:54, dit :

Les pales du moulin tournent indéfiniment dans le sens des aiguilles d'une montre, pareil pour le mécanisme de rotation de la meule.
Alors il faut que j'utilise l'animation de type forward...

Des points qui me semblent importants :
- J'ai plusieurs collisionbox attachée à mes objets en rotation...
- Mes objets animés traversent des statiques (donc j'ai des collisionbox qui rentrent les unes dans les autres...
=> ce sont des colisionbox type statique, dois-je les changer, ou éviter qu'elles ne s'imbriquent
Quelques précisions...
  • En fait forward n'est qu'un nom... Et le nom n'est pas important.
    Tu pourrais appeler ton animation "poule d'eau" ça marcherais pareil.
  • Ensuite j'ai oublié de te préciser que dans le cas d'une animation infinie il peut-être beaucoup  plus simple qu'un script gérant un timer.
    • Dans NifScope tu sélectionne le contrôleur de ton animation (NiTransformControler je suppose dans ton cas)
    • Tu fait un clic droit dessus et tu sélectionne Flags
    • Tu verra dans une nouvelle fenêtre une liste déroulante intitulé Loop Mode
    • En choisissant Cycle dans cette liste tu sélectionne une animation en boucle.
    • Cette animation démarrera au chargement de ton modèle sans que tu es autre chose à faire.
Pour les boites de collision je ne peux pas dire grand chose.
Je peux juste ajouter ce qui me sembles être du simple bon sens.
Ne provoque pas de collision en faisant traversés tes objets animés à des statiques...
Mais génère plutôt un espace dans ton modèle pour que celui-ci s'anime sans collision, comme il pourrait le faire dans la réalité.
Pour un Moulin, avoir des pales animés et rencontrant un obstacle, ça ne me semble pas avoir de sens...
Par contre si tu veux parler du mécanisme intérieur du moulin pouvant traverser, disons le plancher d'un étage supérieur, il faudrait à mon sens que tu aménage un trou dans ton modèle à cet endroit pour laisser le mécanisme de façon plus réaliste...
Au final ton modèle s'en trouvera bonifié.

Si je n'ai rien compris du tout n'hésite pas à me le dire ! :lol:

Autre point :
Peut-être qu'avec un autre type de boites de collision comme les bhkNiTriStripsShape tu pourrais obtenir quelque chose de plus aboutis avec moins d'objet de collision.
Tu peux construire puis exporter les objets de collision directement depuis blender, ça rend les chose plus facile et plus contrôlable.
Mais selon ce que tu aura construis dans Blender tu pourrais aussi générer plus de faces dans l'objet de collision et obtenir une perte de performance au final.
Fais donc attention au nombre de face de ton objet de collision.
Dans tous les cas, il te faudra faire de nombreux tests pour voir si tout fonctionne comme tu le souhaites.

Un dernier conseil pour les animations avec boites de collisions, prend exemple sur des objets animés du jeux, décortique les au besoin.
Les portes par exemple pourrait de donner quelques pistes.

Bon courage...
Yig : Grand Ancien, Pére des serpents.
A.K.A Quetzalcoatl, Set le dieux Stygien, le Grand Serpent dieux du peuple serpent de Valusia.
L'appel de Cthulhu"N'est pas mort, ce qui a jamais Dort.
Et au long des âges, peut mourir même la Mort."

H.P.Lovecraft


ÏA ! ÏA ! ÏA ! FHTAGN !

#6 beeratwork

beeratwork

Posté 13 janvier 2009 - 08:00

Pour les boîtes de collision, j'ai changé pour tous les mécanisme la valeur "OL_STATIC" en "OL_TRAP", mais je n'ai pas encore essayé avec la valeur "OL_ANIM_STATIC" (ou un truc comme ça), j'ai trouvé ça en regardant comment sont conçu les pièges.

Problème : ça ne change rien. J'ai pas encore pu essayer ton script, je veux aussi corriger mes nifs, car j'ai encore un autre problème :

Image IPB

là, l'axe et les pales sont bien centrés, mais en jeu, en plus que ça ne bouge pas, pas besoin de photo, imaginer que la moitié des pales est concée dans le moulin...encore heureux de ne pas avoir un moulin "hélicoptère" mais c'est tout comme...

je me demande si le fait de ne pas avoir des NiNode imbriqué peut jouer...

NiNode pour placer le groupe animé
---+--> NiNode d'animation
--------+--> NiTransformControler
--------+--> NiNode = mécanisme ailes du moulin et axe
-----------------+--> NiNode Ailes du moulin
--------------------------+--> NiNode groupe ailes axe N-S
-------------------------------------+--> aile 1
-------------------------------------+--> aile 2
--------------------------+--> NiNode groupe ailes axe E-O
-------------------------------------+--> aile 1
-------------------------------------+--> aile 2
-----------------+--> NiNode axe
--------------------------+--> arbre
--------------------------+--> rondelle

je vais pas faire la liste complète, c'est assez lourd, et pour l'animation aussi j'ai l'impression ! pourtant ça ne devrait pas rater comme ça...

est-ce que le fait de mettre l'animation dans un ninode juste pour positionner le groupe peut faire foirer le bazard ?


#7 lord_yig

lord_yig

    Tronche de Cat


Posté 13 janvier 2009 - 20:24

Je n'ai pas testé les différents types de bloc de collision, je ne pourrais donc rien te dire là dessus...

Par contre, même si de prime abord la hiérarchie que tu décris n'a pas l'air bonne du tout;
en y réfléchissant un peu et en regardant de plus prés ça m'as l'air correct.

Du moment que tu sépares les parties animées et statiques, ça devrait fonctionner...

La seule chose que je peux te conseiller c'est d'essayer de créer deux nif distinct dans un premier temps.
Un nif concentrant toute les parties statiques. et un autre ne prenant que les parties animés.
Le porte sont faite comme çà et sont reconstruites directement dans le TESC.

Tu peux également vérifier que la cible du contrôleur de ton animation est la bonne.

Le menu Spell -> Sanitize de NifScope peut aussi, par ses fonctionns, t'aider à vérifier que tout est opérationnelle dans ton nif.

Sinon reprend étape par étape la construction de ton animation à partir de cet article : Basic Animation Tutorial

Voilà en espérant au moins t'aider un peu, bon courage...
Yig : Grand Ancien, Pére des serpents.
A.K.A Quetzalcoatl, Set le dieux Stygien, le Grand Serpent dieux du peuple serpent de Valusia.
L'appel de Cthulhu"N'est pas mort, ce qui a jamais Dort.
Et au long des âges, peut mourir même la Mort."

H.P.Lovecraft


ÏA ! ÏA ! ÏA ! FHTAGN !

#8 beeratwork

beeratwork

Posté 19 janvier 2009 - 13:37

lord_yig, ton aide m'est précieuse !

je suis arrivé à corriger ça :
- en séparant les bloc animé en différents nif (en fait oblivion ne veut pas d'activator avec plusieur ninode animé, apparement)
- en remplaçant la ligne "niextradata" de mes objets statique par celle d'un activator

il me reste un dernier problème : comment faire pour ne pas passer à traver les activators et les statiques ? j'ai essayé de mettre une grosse bote autour du mécanisme de transmission, mais ça ne marche pas
http://img149.imageshack.us/img149/1774/windmilmecanism00fr3.th.jpg

Image IPB

#9 lord_yig

lord_yig

    Tronche de Cat


Posté 19 janvier 2009 - 19:47

Voir le messagebeeratwork, le 19.01.2009 à 13:36, dit :

il me reste un dernier problème : comment faire pour ne pas passer à traver les activators et les statiques ? j'ai essayé de mettre une grosse bote autour du mécanisme de transmission, mais ça ne marche pas
Alors, tu dois avoir un problème d'export de ton modèle pour que les boites de collisions soit prise en compte.

Il te manque la partie collision/Havok du modèle.
Suivant ton logiciel tu peux choisir l'un ou l'autre de ces tutoriel. Mais une lecture des deux enrichira tes connaissances...
3DSMax/GMax Collision -  TESCS Wiki | Blender et Collision - Forum WTeam
Je te conseille également un tutorial complet avec exemple de MrSiika : Blender Compedium

Tu devrais t'en sortir avec çà...

En tout cas ton modèle à de la gueule !  :evil:
Yig : Grand Ancien, Pére des serpents.
A.K.A Quetzalcoatl, Set le dieux Stygien, le Grand Serpent dieux du peuple serpent de Valusia.
L'appel de Cthulhu"N'est pas mort, ce qui a jamais Dort.
Et au long des âges, peut mourir même la Mort."

H.P.Lovecraft


ÏA ! ÏA ! ÏA ! FHTAGN !

#10 beeratwork

beeratwork

Posté 19 janvier 2009 - 20:01

j'ai trouvé ... c'était encore une histoire de nistringextradata...
je suis un :evil:
j'ai aussi ajouté des boîte de collision pour éviter de passer à travers ...mais c'est quand même possible en forçant un peu...sinon, c'est parfaitement jouable, donc j'upload la compil,
il y a juste deux plugin optionnel qui vont sortir :
- un pour que quand on se prenne une pale dans la tronche on ait des bobos (et une syncope ?)
- un remplacemen de nif lorsque j'aurai trouvé, pour vraiment "fermer" la boîte de transmission convenablement

compilation ici http://www.tesnexus....le.php?id=22032

c'est des omod de 280 MB (y a quantité de truc sur la ferme), donc il faudra attendre un peu...

#11 Dorjé

Dorjé

    3e433ème effet d'un papillon tibétain


Posté 21 janvier 2009 - 11:30

Super des moulins !

Tu comptes en faire quel utilisation ?
Ressources libres et/ou un petit esp pour en implanter 2 ou 3 en Cryodiil pour le bonheur de nos yeux et la véracité du monde ?

Modifié par Dorje, 21 janvier 2009 - 11:30.

Essayer ne veut rien dire. Fais le ou ne le fais pas ! (maître Yoda :) )

Lien : PROJET MORROWIND 3E433 (Morrowind dans Oblivion !)

#12 beeratwork

beeratwork

Posté 21 janvier 2009 - 13:20

1 - il s'agit d'une ressource libre, pour tous,
2 - quand je fais une compil, je mes les modèles, bien sûr, mais avec un esm (pq ? par exemple, les ailes du moulin, c'est un activator)
3 - je fais actuellement des mods qui tourne avec ça, donc il faut faire l'esp soit-même

j'ai un autre problème : comment transformer les pales du moulin en piège ? j'ai essayé en copiant le script d'un piège (les lame de fer dans les ruines ayléides, celles qui se balancent) et ça ne marche pas

#13 lord_yig

lord_yig

    Tronche de Cat


Posté 21 janvier 2009 - 19:41

Voir le messagebeeratwork, le 21.01.2009 à 13:19, dit :

j'ai un autre problème : comment transformer les pales du moulin en piège ? j'ai essayé en copiant le script d'un piège (les lame de fer dans les ruines ayléides, celles qui se balancent) et ça ne marche pas
Je m'avoue vaincue !
Je n'ai aucune idée du début du commencement d'une solution !
Il va te falloir faire des signaux de fumée à l'aide ou attendre le passage de l'une des bibles es-moddeur du forum...
Creuse quand même l'idée des pièges...

Bon courage.
Yig : Grand Ancien, Pére des serpents.
A.K.A Quetzalcoatl, Set le dieux Stygien, le Grand Serpent dieux du peuple serpent de Valusia.
L'appel de Cthulhu"N'est pas mort, ce qui a jamais Dort.
Et au long des âges, peut mourir même la Mort."

H.P.Lovecraft


ÏA ! ÏA ! ÏA ! FHTAGN !

#14 beeratwork

beeratwork

Posté 21 janvier 2009 - 20:30

oooouuuuiiiiiinnnnnnn !!!!!!




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)