#0 

09-07-2009 15:42:48

defrgly
Membre
Date d'inscription: 09-07-2009
Messages: 14

Bonjour,

je débute dans le domaine de la 3d. Pour le moment je me tape des tutos, des docs, des exemples en masse.
Je commence par étudier irrlicht car selon ce que j'ai lu c'est le plus facile à prendre en main.
Cependant, j'ai une question à laquelle je ne trouve pas de réponse.

Il m'est possible de voir mon perso courir, sauter, etc... à l'écran.
Je me demandais s'il était possible au lieu de voir l'animation se dérouler devant mes yeux, d'enregistrer l'animation dans un fichier vidéo ?

Merci d'avance pour vos réponses.

Cordialement
Nicolas

Hors ligne


#1 

14-07-2009 03:55:53

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 910
Corrections: 2
Site web

oui, ..... ses plus lents en terme de fps car le moteur n'est pas vraiment fait pour le rendue de texture dynamic, du moins n'envisage pas cette voie si ta vidéo a un grand formas, plus que 320*440 ...
si tu cherche bien il doit-y avoir un code sur le fofo, qui utilise ffmpeg, sinon cherche le dans les extensions "hacki's" ( windows only ), ou sur le forum off ( windows aussi )

edit : dsl pour le temps de réponse, mais le forum est un peut mort ses temps-ci smile

Dernière modification par Magun (14-07-2009 03:57:43)

Hors ligne


#2 

17-07-2009 19:42:04

defrgly
Membre
Date d'inscription: 09-07-2009
Messages: 14

Merci pour ta réponse.

Si irrlicht n'est pas le bon moteur quel serait le moteur fait pour ça ?
Autre chose, j'ai recherché sur le forum pour le code avec ffmpeg. Je suis tombé sur différents codes que je n'ai pas réellement compris.
Je connaissais ffmpeg mais je ne vois pas le rapport avec un lecteur vidéo...

Si tu pouvais m'expliquer plus en détails.
Merci d'avance

Dernière modification par defrgly (17-07-2009 19:43:00)

Hors ligne


#3 

19-07-2009 23:12:09

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 910
Corrections: 2
Site web

ffmpeg sert a décoder les videos et donc récupérer les frames de celle-ci
donc si tu veut lire une video il existe ffmpeg aussi que d'autre

mais je ne voie pas l'interais de faire une video d'une animation alors que certaine forma comme *.x et *.b3d enregistre les keyframes de cette animation
il te suffie alors de loader se dernier via smgr->getMesh("file.x");
et de crée un nodeAnimer :

Code:

smgr->addAnimatedMeshSceneNode (IAnimatedMesh *mesh, ISceneNode *parent=0, s32 id=-1, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f), bool alsoAddIfMeshPointerZero=false);

regarde la doc ses super utile smile
http://irrlicht.sourceforge.net/docu/cl … nager.html

Hors ligne


#4 

20-07-2009 23:12:34

defrgly
Membre
Date d'inscription: 09-07-2009
Messages: 14

Salut merci pour tes réponses.

Donc, comme je le pensais je n'ai pas besoin de ffmpeg (je m'en servais à l'époque pour réencoder une vidéo).
Je vais essayer de t'expliquer ce que je souhaite faire.

En gros, si j'ai bien compris on peut créer un objet déjà animé (comme le fichier sydney.md2) qui possède différents mouvements prédéfinis (ex : courir, marcher, ramper, etc...).
Après on peut via irrlicht, enchaîner différents mouvements ? C'est bien ça ?

Au final, je voudrais via un script créer différentes vidéos en fonction de différents paramètres.
Et après  je demande au script de me sortir par exemple les vidéos "courir, sauter courir" ou "sauter, sauter, ramper"

Si je n'utilise pas la bonne méthode, merci de me dire quelle méthode utiliser.

Merci encore pour ton aide
Nicolas

Dernière modification par defrgly (20-07-2009 23:14:41)

Hors ligne


#5 

21-07-2009 00:19:53

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 910
Corrections: 2
Site web

irrlicht ne possède pas d'outils pour enregistrer de video par contre il dispose d'une fonction "driver->createScreenShot()" il me semble
dans se cas oui tu lance l'animation de ton mesh et tu crée une video avec un screen par frame, mais cela risque d'être long ... je ne voie pas vraiment d'autre solution hmm
a toi de faire ta fonction pour enregistrer ta video avec un array de ses frame ...
perso j'enregistrerais la frame prise au fur et a mesure un peut plus long mais sa ne plombe pas la mémoire

il faudra peut-être "pré-calculer" tes animation au cas où cela soit trop long pour le faire en temps réelle ( donc gestion évènement )

Hors ligne


#6 

21-07-2009 17:32:30

defrgly
Membre
Date d'inscription: 09-07-2009
Messages: 14

Je vais te poser des questions un peu novices.

Est-il techniquement possible (avec irrlicht ou autre) de ne pas afficher l'animation mais de la rendre directement dans une vidéo ?
Est-il obligatoire de l'afficher à l'écran ?
Est-ce que la carte graphique joue un rôle important si pas de rendu visuel possible ?

Excusez moi de poser des questions de ce style mais bon, c'est pour la bonne cause.
Je cherche sur Internet, mais je ne sais pas vraiment quoi chercher, quels mots clés...

Merci d'avance

Nicolas

Hors ligne


#7 

22-07-2009 11:33:17

Magun
SleekThink Producer
Lieu: Punakha
Date d'inscription: 18-11-2007
Messages: 910
Corrections: 2
Site web

defrgly :

Est-il techniquement possible (avec irrlicht ou autre) de ne pas afficher l'animation mais de la rendre directement dans une vidéo ?


non tu devraient savoir qu'une vidéo est constituer d'une suite d'image, et que ton animation et ton mesh ne représente que des polygone 3d ainsi que leur nouvelle position ( pour anmation) en revanche ses le moteur graphique qui se charge de le rendre en "solide" et texturé

defrgly :

Est-il obligatoire de l'afficher à l'écran ?


oui question de faciliter

defrgly :

Est-ce que la carte graphique joue un rôle important si pas de rendu visuel possible ?


oui même si tu n'affiche pas ton mesh et que tu doit "calculer" tu doit passer par opengl ou directx qui utilise le gpu à moins que tu ne crée ton rendue en style software qui n'utilise que le cpu

en somme je dirais que non car si tu veut récupéré facilement les pixel générer par le moteur graphique, mieux vaut commencer par de simple screenshot, sinon je pensse
que oui ses faisable, mais en modifiant quelque peut le moteur utiliser, pour qu'il enregistre directement les pixels généré dans une texture style ppm ( non compressé )
et une simple conversion suffirait alors, pour enregistrer une vidéo également frame par frame, sa reviens a faire se que je disais avans en un devellopement plus long, mais un gain de rapidité je suppose
voile théoriquement sa répond a tes questions mais je ne connais a se jours aucun logicielle qui fait cela peut-être pas faisable techniquement.

Hors ligne


#8 

23-07-2009 21:09:02

defrgly
Membre
Date d'inscription: 09-07-2009
Messages: 14

Merci pour toutes ces précisions.
Je reviendrais vers toi si j'ai des problèmes.

En tout cas merci beaucoup.

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Corrections
irrlicht
irrklang
irredit
irrxml
xhtml 1.0
css 2.1
Propulsé par FluxBB
Traduit par FluxBB.fr
883 membres
1429 sujets
11121 messages
Dernier membre inscrit: Saidov17
80 invités en ligne
Aucun membre connecté
RSS Feed