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: Add-on aide pour débutants  (Read 18452 times)

0 Members and 1 Guest are viewing this topic.

Offline Totolepilote

  • Sr. Member
  • ****
  • Posts: 271
  • Karma: 0
19 January 2009, 20:45:21
Alors voilà je voulais ouvrir un fil pour un peu tous les débutants dans mon cas en réalisation d'add-on.

bon, je me lance. J'aimerais me lancer dans la réalisation d'add-on. J'ai regardé les tutos de DansTeph sur le C++ et
la dll, seulement (excuses moi DansTeph) je ne trouve rien dans ces tutoriels pour réaliser un add-on.
Pour être plus clair j'aimerais (dites moi si je demande trop ou si vous me trouvez odieusement gonflé:turning: ) mais
j'aimerais avoir votre avis et expérience personnelle. En fait, mon add-on serait une petit fuse monoplace à deux
étages. qui permettrait les explorations des pôles par des hommes. voilà ! là ouo vous pourrez me trouver gonflé,
c'est que je ne sais RIEN. strictement RIEN. je programme en java et ne connais pas une ligne de C++. Ce n'est pas
le probleme, je peux apprendre. et je saurais me débrouiller pour les meshs. (au fait, quel logiciel ? :siffle: ) voilà :
comment m'y prendre? J'aimerais que vous me disiez comment vous vous y prendrez. Encore une dois, si vous me
trouvez trop exigeant, dites le a dansteph qu'il ferme ce post. Merci....


Totol'

Offline Papyref

  • Legend
  • ******
  • Posts: 5341
  • Country: France fr
  • Karma: 341
  • Je suis dans la Lune ne pas me déranger
Reply #1 - 20 January 2009, 09:05:21
Pour créer ton addon il te faut un logiciel de modélisation 3d qui te permettra ensuite d'exporter tes meshes dans
Orbiter

On peut citer les 3 principaux freeware :

Anim8or sur le site http://www.anim8or.com/main/index.html
Metasequoia sur le site  http://aeromaniacs.free.fr/telechar/accessmetaseq.htm
Blender sur le site http://www.numerama.com/telecharger/6519-Blender-3D.html

J'ai pas mal utilisé Anim8or qui est assez simple et donne de bon résultat mais à toi de voir !

La conversion de 3d en mesh dépend du logiciel utilisé qui dispose en général des outils pour le faire sinon il faut
utiliser un convertisseur externe. Avec Anim8or par exemple on peut utiliser 3ds2msh_050630 trouvé sur le site
http://users.swing.be/vinka/ en l'associant à l'interface de lancement sous Windows 3ds2mshWI trouvé sur le site
http://orbiter.mustard-fr.com/indexfr.html

Tu peux trouver sur OrbitHangar des notes expliquant comment créer les modéles 3d (en anglais) L'auteur est AR81
En particulier tu trouves 3 tutorialls qui expliquent très bien comment utiliser Anim8or pour créer un modèle ce qui est
aussi valable pour d'autres logiciels.

Ensuite lorsque tu disposes de tes meshes il n'y a pas besoin de programmer pour réaliser l'animation du modéle.
Il faut faire appel aux  fichiers génériques Multistage2 et Spacecraft3 de Vinka. Tu les trouves sur le site
http://users.swing.be/vinka/ avec note explicative des paramètres à transmettre.
Pour la constitution du fichier ini, la encore tu trouvera les éléments nécessaires dans les notes de AR81 sur
OrbitHangar et en particulier TutorialSC3Advanced et VST08

Si tu ne sais pas l'anglais, ça va être une bonne occasion pour t'y mettre :) Les notes sont assez explicites pour qu'on
s'en tire avec un minimum de connaissances.

Pour voir comment ça marche essayes de décortiquer les fichiers ini dans des cas de fusées monostage et multistage.
J'ai réalisé Hercule en monostage avec des animations et Proton en multistage avec des animations. Tu les trouves
sur le site http://orbiter.mustard-fr.com/indexfr.html . Examine la structure des fichiers ini.
Par la suite tu pourras réaliser l'équivalent du fichier ini en dll en programmant en C++ mais c'est une autre histoire !

Avec un peu de patience et d'application on y arrive et on a plaisir à voir voler sa création ...

Bonne chance !

:sage: Papyref


Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
Reply #2 - 20 January 2009, 11:51:18
Quote
J'ai regardé les tutos de DansTeph sur le C++ et la dll, seulement (excuses moi DansTeph) je ne trouve rien dans ces tutoriels
pour réaliser un add-on.
Pour la plupart, nous sommes partis de ces tutos-là, du moins pour se lancer vraiment dans le C++ et les addons. Je dirais qu'il
faut absolument à un moment où à un autre que tu passes par là, à moins de vouloir en rester à spacecraft (ce qui est très bien
mais frustrant). Il est par contre normal de dire que les tutos de Dan sont quand même destiné à quelqu'un qui a un minimum
(...pas grand chose mais tout de même) de savoir sur ce qu'est la structure d'un addon.

En gros, je dirais qu'après avoir lu et mis en pratique le post de papyref, les tutos de Dan ne te sembleront plus raconter des choses
dans le vide.


------------

no matter.

Offline Profil supprimé

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
Reply #3 - 20 January 2009, 12:05:09
Pour un novice complet, je pense qu'il est evident qu'il faut d'abord passer par les modules de Vinka afin d'acquérir
certaines connaissances de base d'Orbiter et de sa structure de gestion.

Avant tout ça, evidement maitriser un logiciel de creation 3d
Les plus courant sont effectivement ceux donné par Papyref, et j'ajouterai 3D-Studio et Gmax.

Ensuite pour un engin actif (fusée, vaisseau ou module animé) il faut soit uiliser les module de Vinka soit programmer
en c++. Le preier est très simple mais pus restrictif, le second complexe mais offreune totale liberté.

Par expérience et logique commence par un truc simple, puis monte en puissance selon ta capacité et tes
connaissances.


Pour ma part j'utilise anim8tor et les modules de Vinka mais ce dernier commence véritablement à me brider trop. J'avais arrangé une formation c++ à mon boulot mais cela m'a été refusé pour cette année, vu que jene veux pas attendre je vais m'y mettre seul avec les tuto du forum. Mais avant cela je dois finir mon projet P3/P4 et ISSU, donc 6 mois d'occupation avant de passer réellement au c++



Message modifié ( 20-01-2009 12:07 )


Offline tevious

  • Jr. Member
  • **
  • Posts: 23
  • Karma: 0
Reply #4 - 20 January 2009, 13:03:10
Salut Mustard!

Je suis nouveau ici et je me suis remis à orbiter il y a peu, je n'ai pas la prétention d'être développeur (pour l'instant,
peut être un jour :p) mais j'ai fait un peu de c++ cette année et j'ai 1 an 1/2 de pratique (via mon école).
Je ne sais pas quel est ton niveau exact en programmation, mais un site que je conseille et qui permet d'aller loin (quand le
cours était trop fouilli j'allais là bas) c'est le site du zero: http://siteduzero.com
à gauche tutoriel c++ et voilà, à toi de choisir à partir de où tu veux démarrer ;)
Après les tp qu'ils donnent sont standardisés pour maitriser les notions, mais vu ce que tu as sur ton site je pense que tu
en feras rapidement quelque chose d'utile ;)

@+


Offline Totolepilote

  • Sr. Member
  • ****
  • Posts: 271
  • Karma: 0
Reply #5 - 20 January 2009, 13:44:59
Merci beaucoup pour tous ces conseils... pour ma part, j'utilise blender. je vous suis très reconnaissant merci
beaucoup les amis :)


Totol'

Offline no matter

  • Legend
  • ******
  • Posts: 2826
  • Karma: 1
Reply #6 - 20 January 2009, 14:32:24
Quote
J'avais arrangé une formation c++ à mon boulot mais cela m'a été refusé pour cette année, vu que jene veux
pas attendre je vais m'y mettre seul avec les tuto du forum.
Pense au site du zéro pour démarrer, çà te permettra de voir quelques notions que Dan ne peut pas évoquer sans
sortir du cadre tuto pour addon.
http://www.siteduzero.com/tutoriel-3-11406-apprenez-a-programmer-en-c.html

Passe ensuite au fameux "hello world" et tu seras prêt à te lancer dans les tutos et animer le gigantisme des
panneaux d'iss! ;)



Message modifié ( 20-01-2009 14:32 )

------------

no matter.

Offline Profil supprimé

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
Reply #7 - 20 January 2009, 23:18:36
ok merci pour le conseil de ce site, je prend note quand je me lancerai là dedans. Avant je dois finir mon boulot pour
le projet ISSU



Offline Totolepilote

  • Sr. Member
  • ****
  • Posts: 271
  • Karma: 0
Reply #8 - 21 January 2009, 15:42:28
Ah oui autre chose, Coment faites-vous pour faire ces super textures comme le dg ou Nassp... Comment les faites-
vous ????


Totol'

Offline Totolepilote

  • Sr. Member
  • ****
  • Posts: 271
  • Karma: 0
Reply #9 - 21 January 2009, 19:11:14
et je ne comprends pas non pluc comment faire une animation :(


Totol'

Offline Profil supprimé

  • Newbie
  • *
  • Posts: 1
  • Karma: 0
Reply #10 - 21 January 2009, 21:58:25
Les meilleures textures sont celles capturés d'une véritable photo. Y a pas de secret.

Quand aux anim, c'est une longue histoire, difficile de t'expliquer ça comme ça. C'est soit en c++ soit avec le module
de vinka. quoi qu'il en soit il faut au préalable faire un objet 3d



Offline Papyref

  • Legend
  • ******
  • Posts: 5341
  • Country: France fr
  • Karma: 341
  • Je suis dans la Lune ne pas me déranger
Reply #11 - 22 January 2009, 10:42:13
Quand tu as fait ton objet en 3d tu le convertis en mesh.
Si dans ton projet 3d tu as pris soin de donner des noms aux parties que tu souhaites faire bouger, tu vas trouver le
numéro d'ordre qui est attribué à une partie en ouvrant le mesh avec le bloc note
Par exemple pour un bras de mon satellite Corot (voir site de Mustard) on a:

MATERIAL 2
TEXTURE 0
GEOM 157 60   ; BrasD Acier 9
-0.501195 0.012580 -0.685021 0.000000 1.000000 0.000018
-0.501195 0.012591 -1.286095 -1.000000 0.000000 0.000000
................................

Les trois premières ligne sont une en tête pour l'élément BrasD (j'ai appelé ainsi le bras de droite) et dans la
troisième après son nom on trouve le numéro 9 attribué a cet élément par le convertisseur 3d--->mesh
Les lignes suivantes définissent les points de maillage des différentes lignes constituant l'objet.

On a donc le numéro de l'élément. Il faut ensuite savoir comment et de combien on voudra le déplacer soit en
rotation, soit en translation ou en combinaison rotation et translation.
Il faudra définir par exemple un axe de rotation et un point de rotation et ce n'est pas le plus facile pour trouver
correctement les coordonnées à partir du 3d et un angle de rotation.
Pour une translation il faudra définir un axe de translation et une amplitude de déplacement.

Ensuite dans un fichier ini on définira les séquences déclenchées par les commandes. Par exemple pour ouvrir une
porte en utilisant la clé G

[ANIM_SEQ_0]   ;ouverture porte
INIT_POS=0
Key=g
DURATION=10         ;temps total de manoeuvre en s
PAUSE=0

et on applique cette séquence pour faire ouvrir la porte

[ANIM_COMP_0]    
SEQ=0
GROUPS=21,34      ;numéros des meshes composant la porte   
RANGE=(0,1)
TYPE=ROTATE
ROT_PNT=(0.40,0,2.07)
ROT_AXIS=(0,1,0)  ;
ANGLE=260

toute ces notions sont expliquées dans la note Spacecraft.pdf inclue dans le package de base de Spacecraft3 de Vinka

Un élément peut être parent pour un autre élément de façon à l'entrainer dans son mouvement (par exemple en
lançant le déploiement d'un panneau solaire on entraîne le déploiement de ceux qui lui sont attachés)

C'est relativement simple et la seule difficulté est de bien définir les points et axes de rotation.

Regarde comment sont traitées les animations dans les fichiers ini et tu devrais comprendre le principe.

Par la suite quand tu auras réusit des anims avec Spacecraft tu seras en mesure d'utiliser C++ pour réaliser une dll
au lieu d'utiliser un fichier ini. Ca offre l'avantage de réaliser des animations plus complexes avec des automatismes  
élaborés dépendants de paramètres autres que des commandes directes.
Par exemple on pourra automatiquement faire rentrer un train d'atterrissage en fonction de l'altitude après le
décollage d'un appareil type DG)

Voilà en gros ce que l'on peut expliquer. Pour le détail il faut fournir un travail personnel en lisant les notes
explicatives que j'ai mentionnées ci avant et en examinant des fichiers ini
Une chose est sure, ça n'est pas si simple que ça !

:sage: Papyref


Offline Totolepilote

  • Sr. Member
  • ****
  • Posts: 271
  • Karma: 0
Reply #12 - 22 January 2009, 20:51:51
8o waouw avec tout ce que j'ai appris je vais le mettre en pratique dès que j'aurais mon ordi !!! (oui pour l'instant je
suis sur celui de mes parents et j'ai le droit de rien faire encore moins de telecharger orbiter :siffle:


Totol'

Offline Totolepilote

  • Sr. Member
  • ****
  • Posts: 271
  • Karma: 0
Reply #13 - 25 January 2009, 15:49:49
Voici ma petite Capsule... Qu'en pensez-vous ? la fusée est bientot sortie. j'ai pas encore fait le mesh ni les textures et je n'ai fais qu'un propulseur d'attitude pour tester au début...

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
[AERODYNAMICS]
MODEL=capsule

[CONFIG]
MESHNAME=
SIZE=5
CAMERA=(0,1.467,6.782)
EMPTY_MASS=2000
FUEL_MASS=7000
HOVER_THRUST=60000
ATTITUDE_TRHUST=2000
ISP=50000
TRIM=0.05
PMI=(15.5,22.1,7.7)
CW_Z_POS=0.2
CW_Z_NEG=0.5
CW_X=1.5
CW_Y=1.5
CROSS_SECTION=20.0, 20.0, 24.2
COG=3
PITCH_MOMENT_SCALE=0.00002
BANK_MOMENT_SCALE=0.00005
ROT_DRAG=(0.5,1.0,1.0)

[DOCK_0]
POS =(0,2.44,10.44)
DIR = (0,0,1)
ROT=(0,0,-1)

[EX_HOVER_0]
OFF=(0,-1.6,3)
DIR=(0,-1,0)
LENGTH=6
WIDTH=0.5


[EX_ATT_0]
OFF=(-0.8,-0.25,9.6)
DIR=(0,1,0)
LENGTH=0.6
WIDTH=0.078
ROT_AXIS=X
ROT_CW=1
LIN_AXIS=Y
LIN_CW=1



Message modifié ( 25-01-2009 18:19 )

Totol'

Offline Papyref

  • Legend
  • ******
  • Posts: 5341
  • Country: France fr
  • Karma: 341
  • Je suis dans la Lune ne pas me déranger
Reply #14 - 26 January 2009, 13:43:24
Pas mal !

Si tu ne veux utiliser que les RCS tu peux supprimer le Hover.
Il me semble que si ta capsule a une masse de 2000 kg tu as beaucoup de fuel pour faire uniquement de l'orientation
en orbite. On a pas besoin de beaucoup de puissance donc pas beaucoup de carburant et plus on est léger plus on
lance façile.

N'oublies pas de nommer le mesh sinon c'est un CTD assuré !
A ce sujet j'avais écrit un article dans un magazine rédigé par Well mais qui malheureusement a été abandonné.que
Tu peux télécharger sur ce site (2 numéros) http://orbitermag.dansteph.com/?numero=2#presentation
Tu y trouveras aussi d'autres choses très interessantes en particulier pour des addons utiles.

:sage: Papyref


Offline Totolepilote

  • Sr. Member
  • ****
  • Posts: 271
  • Karma: 0
Reply #15 - 26 January 2009, 18:16:52
Merci Papyref je sais pas ce que je ferais sans vous tous :)
voici al fusée : (oui elle est grosse(lui dites pas ça  va pas lui faire plaisir:ptdr: :stupid: ) ah oui et toujorus pas de
meshs faute d'ordi :()
[MISC]
cog=0
focus=1

[STAGE_1]
HEIGHT=101
Diameter=20
EmptyMass=60000
FuelMass=700000
THRUST=5877111
BurnTime=500
off=(0.,0.,0.)
MeshName=
eng_1=(0.,0.,-25.)
eng_2=(2.5,0.,-25.)
eng_3=(-2.5,0.,-25.)
eng_4=(0.,2.5,-25.)
eng_5=(0.,-2.5,-25.)
eng_diameter=1.2
SPEED=2
SPEED_ROT = 1
IGNITE_DELAY=3
MODULE="stage"


[PAYLOAD_1]
off=(0.,0.,74.5)
speed=(1.,0.,1.)
rot_speed=(0.,0.,0.5)
MeshName=""
Module="spacecraft3"
name="Voyageur"
Diameter=4.8
Height=4.
Mass=2000.



Message modifié ( 26-01-2009 19:49 )

Totol'

Offline Papyref

  • Legend
  • ******
  • Posts: 5341
  • Country: France fr
  • Karma: 341
  • Je suis dans la Lune ne pas me déranger
Reply #16 - 26 January 2009, 20:52:10
Ta masse totale en charge au départ est de 760000 kg (total fusée) + 9000 kg (la capsule) ce qui donne 769000 kg.

La fusée ne décollera pas du fait que ta poussée (thrust) est insuffisante. Comme elle est exprimée en Newtons il
faut qu'elle soit au moins superieure à la masse totale x 9.81 (1kg = 9.81 newton) = 7543890 newtons.
Avec 10% de marge pour ne pas trop traîner au décollage, tu devrais prendre THRUST = 8300000

Tu verras ce qui conviendra le mieux comme marche en faisant les essais. L'avantage avec Orbiter est qu'on ne paye
pas le carburant et les pots au Papy's Bar :)

:sage: Papyref


Offline cslevine

  • Legend
  • ******
  • Posts: 3621
  • Karma: 17
Reply #17 - 28 January 2009, 11:42:04
Ca c'est un sujet que je note quelque part dans un coin.
Pour plus tard au cas où on ne sait jamais.
Vu que je risque d'avoir du temps...



Offline Totolepilote

  • Sr. Member
  • ****
  • Posts: 271
  • Karma: 0
Reply #18 - 10 February 2009, 20:06:21
(re)Salut ::):) maintenant que je suis moins punit d'ordi :siffle: je vais me remettre au boulot. (Enfin, apres mes
vacances.) Mes il fallait que je sache : ma fusée aura 2 étages. Faut -il créer deux meshes différents ? sachant que
j'utilise blender :)



Message modifié ( 10-02-2009 20:07 )

Totol'

Offline Papyref

  • Legend
  • ******
  • Posts: 5341
  • Country: France fr
  • Karma: 341
  • Je suis dans la Lune ne pas me déranger
Reply #19 - 12 February 2009, 08:24:39
Chaque étage doit avoir son mesh

:sage: Papyref


Offline Totolepilote

  • Sr. Member
  • ****
  • Posts: 271
  • Karma: 0
Reply #20 - 08 March 2009, 20:25:58
Re-Bonjour voilà j'ai enfin mon ordinateur. J'ai donc fait tous les meshes, toutes les texture, et j'ai essayé de les
placer. Et voici le résultat :
Terminating after critical error.:wall:
alors voilà : où dois-je mettre mon mesh ? ou dois-je mettre mon vaisseau ? Dois-je faire une manipulation ?
:sunk:


Totol'

Offline Fast_toche

  • Legend
  • ******
  • Posts: 1329
  • Country: France fr
  • Karma: 34
  • Time is nothing...
Reply #21 - 08 March 2009, 21:23:22
Bon pour les objets 3d c'est-à-dire les fichiers .MSH il faut les placer dans le répertoire Meshes.
Ton vaisseau est normalement un fichier .msh....
Pour les manipulations explique nous déjà ta façon de procéder???
Les textures c'est-à-dire les fichiers .DDS se mettent dans le répertoire textures... ;)



Offline Jekka

  • Legend
  • ******
  • Posts: 1172
  • Country: Switzerland ch
  • Karma: 3
Reply #22 - 08 March 2009, 21:32:14
Une bonne stratégie pour voir comment les choses fonctionnent est de trouver un addon semblable au tiens et relativement
simple. Tu regarde ensuite comment l'archive est contruite : *.msh-> Meshes, *.dds -> Texture, etc, etc... Ensuite tu peux
regarder ce à quoi renvoie chaque ligne dans chaque fichier : Le nom du vaisseau dans le fichier scn (scenarios) qui renvoie
au fichier cfg dans config, et ainsi de suite. Une technique qui aide à créer un addon au début est de reprendre tout ces
fichiers à ton compte en changeant les noms des msh, cfg et cie à l'intérieur. Après tu règle en tatonant les différents
paramètres.

J'avoue que j'ai un peu la flemme de tout détailler le mécanisme des fichiers, parce que c'est assez difficile à exprimer
clairement par écrit, mais avec la stratégie que je te propose, tu feras de rapides progrès dans la compréhension du
fonctionnement d'un addon. Après, si tu as toujours des questions, mais des questions précises, il sera plus facile de te
répondre clairement.

Mais en gros, avec multistage2 tu dois avoir les types de fichiers suivant (et leur dossier)

*.scn (Scenarios)
*.cfg (Config)
*.ini (Config)
*.dll (Modules, ici multistage2.dll et stage.dll)
*.msh (Meshes)
*.dds (Textures)

Regarde par exemple l'addon W-Ariane4 sur le site de mustard pour t'inspirer au départ.

Bonne chance ! :top:



Offline plin2bobo

  • Full Member
  • ***
  • Posts: 157
  • Karma: 0
Reply #23 - 25 July 2009, 18:03:35
bonjour,

je suis enfin revenu parmis vous. et... pour un temps! j'ai réinstallé internet chez moi. Ne soyer pas decu que je sois
revenue parmis vous pour vous poser des questions à la noix :badsmile:
Dans un super groupe, il y a des fois (pas toujours) un point noir qui dérange mais bon c'est comme ca il faut s y faire
avec :)
Bon bref, je suis tres heureux de revenir parmis vous :gift:
j'ai des questions à poser. Je n'arrive pas à comprendre pourquoi je n'arrive pas à transformer un fichier de
3dsmax v9 avec 3ds2msh? :???:
j'ai réussi à faire une petite navette avec animator8 puis le transformer en mesh avec 3ds2msh et l'utiliser sur un des
programmes donné dans SDK. Pouvez vous me donner la procedure à suivre pour transformer un fichier max de
3dsmax en msh

merci

cordialement


Offline Fast_toche

  • Legend
  • ******
  • Posts: 1329
  • Country: France fr
  • Karma: 34
  • Time is nothing...
Reply #24 - 25 July 2009, 21:20:31
Bonjour Plin2bobo,

En fait tout est dit dans 3ds2mesh    " un fichier .3ds qui le transforme en .msh "    donc pas les fichiers 3dsmax, mais
tu peus l'exporter en 3ds. ;)