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: Créer un vaisseau sur Orbiter  (Read 14061 times)

0 Members and 1 Guest are viewing this topic.

Offline jacquesmomo

  • Le budget !!!
  • Legend
  • ******
  • Posts: 7452
  • Country: France fr
  • Karma: 611
  • Plus on rate, plus on a de chances de réussir !..
Reply #25 - 29 August 2016, 09:26:14
AH BON ? MAIS CA JE VEUX !
Bon... Dès que j'ai le temps  je te fais un topo...

ALORS VOICI COMMENT FAIRE : :
Supposons que ton vaisseau se nomme "Antares2".  :doubt:  et pourquoi pas Bételgeuse ???
(il peut s'appeler comme tu le souhaite)

1) Vaisseau "spacecraft" sans fichier cfg (cas général)

fichier scenario :
vous devez définir comme toujours votre vaisseau ainsi que sa position etc...

ex :

Antares2:Spacecraft/Spacecraft4
   STATUS Landed Earth
  POS -52.5647421 5.0567428
  HEADING 354.60
  AFCMODE 7
  PRPLEVEL 0:1.000000
  NAVFREQ 0 0
  CONFIGURATION 0
  CURRENT_PAYLOAD 0
  SEQ 0 2 1.000000
END

Dans ce cas, Orbiter va chercher un fichier "ini" dans le dossier \Spacecraft
Ce fichier doit s'appeler "Antares2.ini".
Et bien sûr dans ce fichier vous devez définir le nom du mesh etc etc  :badsmile:etcetcetcetc

exemple d'un fichier.ini "simple" avec un minimum de choses :

[CONFIG]
MESHNAME="Antares_cequevousvoulez"   ; le fichier mesh (sans l'extension "msh") se trouve dans le dossier \meshes
SIZE = 50
COG=37
VISIBLE=1
CAMERA=(0,-20,1)

;////// à noter que ce vaisseau n'a pas de possibilité de bouger : il faut rajouter les "trust" etc
;/// autre chose : c'est mieux de ranger vos meshes dans un dossier spécifique. :prof: conseil
;/// par exemple dans le dossier \meshes\Antares
;/// dans ce cas il faut écrire MESHNAME="Antares\Antares_cequevousvoulez"
;/// et le fichier mesh s'appelle toujours Antares_cequevousvoulez.msh mais c'est mieux rangé.  :badsmile:

[ANIM_SEQ_0]   ; définition des touches de commandes etc (voir doc de Vinka)
INIT_POS=0
Key=K
DURATION=30
PAUSE=1

[ANIM_COMP_0]   ; définition de l'animation commandée par la touche "K"
SEQ=0      ; renvoi vers  [ANIM_SEQ_0]
GROUPS=52   ; n° du groupe dans le mesh qui va "bouger"
RANGE=(0,1)   ; l'animation se fait de 0 sec à 30 sec (ligne DURATION=30)
TYPE=TRANSLATE ; type de l'animation (ici translation)
SHIFT=(0,2,10)    ; le groupe "52" va se déplacer de 10 m vers l'avant et 2 m vers le haut

Remarque : si on met RANGE=(0,0.5) l'animation (identique) se fait de 0 sec à 15 sec
utile pour des animations "séquentielles"

exemple :

[ANIM_COMP_0]   ; définition de l'animation commandée par la touche "K"
SEQ=0      ; renvoi vers  [ANIM_SEQ_0]
GROUPS=52   ; n° du groupe dans le mesh qui va "bouger"
RANGE=(0,0.5)   ; l'animation se fait de 0 sec à 15 sec (ligne DURATION=30)
TYPE=TRANSLATE ; type de l'animation (ici translation)
SHIFT=(0,2,10)    ; le groupe "52" va se déplacer de 10 m vers l'avant et 2 m vers le haut

[ANIM_COMP_1]   ; définition de l'animation commandée par la touche "K"
SEQ=0      ; renvoi vers  [ANIM_SEQ_0]
GROUPS=52   ; n° du groupe dans le mesh qui va "bouger"
RANGE=(0.7,1)   ; l'animation se fait de T=21 sec à 30 sec (ligne DURATION=30)
TYPE=TRANSLATE ; type de l'animation (ici translation)
SHIFT=(5,0,0)    ; le groupe "52" va se déplacer de 5 m vers la droite (tribord)

Dans ce cas, la piece n°52 va faire le mouvement "_0" de T=0  à T=0.5 (toujours sur base de 30 sec définie)
Puis de T=0.5 à T=0.7 il ne se passe rien
Puis enfin de T=0.7 à T=1 le mouvement "_1" va se faire

ça va vous suivez ???  :sick: rhôôôô


2) Bon maintenant, étudions un vaisseau "spacecraft" mais avec un fichier cfg en plus. (il faut toujours un fichier "ini")

Fichier scenario :
Antares2:Antares2   ;//////// vous voyez la différence ???
  STATUS Landed Earth
  POS -52.5647421 5.0567428
  HEADING 354.60
  AFCMODE 7
  PRPLEVEL 0:1.000000
  NAVFREQ 0 0
  CONFIGURATION 0
  CURRENT_PAYLOAD 0
END

Dans ce cas Orbiter va chercher dans le dossier "\vessels" un fichier "Antares2.cfg" (s'il n'existe pas => CTD !!!)

exemple : fichier "Antares2.cfg"


ClassName = Antares2   ; là, je ne pense pas que le nom soit important (orbiter se base sur le nom du fichier, pas sur cette ligne) mais mettez-le tout de même)
Module = Spacecraft4   ; indique à Orbiter d'aller chercher dans le dossier "\spacecraft" un fichier ini du même nom (si pas de fichier => CTD !!!) et donc Spacecraft4 sera utilisé comme "interface/commande")
EnableFocus = false      ; facultatif : cette ligne empêche de voir le vaisseau en faisant F3 (contraire=true)
EditorCreate=false   ; facultatif : cette ligne empêche de créer ce vaisseau dans l'éditeur de scenario

ImageBmp = Images\Antares2.bmp; facultatif : cette ligne permet de voir l'image du vaisseau dans l'éditeur de scenario (si EditorCreate="true")... et si bien sûr le fichier Antares2.bmp existe dans le dossier \images

Et vous pouvez rajouter d'autres paramètres (masse, points d'attache, points de docking etc...)
ces paramètres serons pris en compte en plus de ceux du fichier ini. (voir liste dans la doc orbiter)

exemple :
BEGIN_ATTACHMENT
C 0 0 0  0 0 1  0 1 0 XS
END_ATTACHMENT

Attention ce point d'attache ne pourra être commandé par les touches de Spacecraft....
(et l'écriture est différente)
Attention à ne pas faire de "doublon"

par exemple
a) si vous avez dans le fichier cfg ceci :
MeshName = Antares\antares_3
Size = 5.0
Mass = 5000; empty mass [kg]
MaxFuel = 0  ; max fuel mass [kg]
Isp = 0        ; fuel specific impulse [m/s]
MaxMainThrust = 0
MaxRetroThrust = 0
MaxHoverThrust = 0
MaxAttitudeThrust = 5e2
COG_OverGround = 2.0
CameraOffset = -.715 .865 -2.5
CW = 10 10 5
LiftFactor = 0.0
CrossSections = 2.45 6.25 2.45

inutile de répéter les choses dans le fichier ini (en fait je n'ai pas testé, il doit y avoir une priorité)

En résumé, j'ajoute un fichier "cfg" pour un vaisseau spacecraft :
- si je ne veux pas qu'il soit affiché dans la fenêtre ouverte par "F3"
- si je veux un point d'attache particulier (non détachable par exemple)
- bref, selon votre désidérata  :badsmile: ou délire...

Il y aura des exemples dans mon futur add-on "ELV zone pour Kourou" mais désolé il n'est pas encore tout à fait terminé, mais c'est pour bientôt.  :eek:

Enfin, il est à noter que Spacecraft 3 et 4 ne fonctionnent bien que avec Orbiter2010P1.
En effet avec la beta, il y a des dysfonctionnements....

Maintenant prenez un cachet d'aspirine, et interro écrite demain !!!

  répétez ceci : déhèlehèle-déhèlehèle-déhèlehèle-déhèlehèle-



« Last Edit: 29 August 2016, 12:56:21 by jacquesmomo »
Mes add-ons sont là !

Offline Milouse

  • Legend
  • ******
  • Posts: 1921
  • Country: France fr
  • Karma: 215
Reply #26 - 29 August 2016, 17:49:09
Bonjour,

J'aimerais apporter des précisions sur les explications de Jacquesmomo :beer:, car j'ai le sentiment qu'un raccourci a été fait dans le fonctionnement des fichiers Orbiter et Spacecraft...

[...]
Dans le scénario il y a au début de la définition du vaisseau un ligne comme cela :
BEGIN_SHIPS
MONVAISSEAU:Spacecraft/Spacecraft4
  STATUS Landed Earth
(etc...)

cette ligne va aller chercher dans le dossier "spacecraft" un fichier se nommant "MONVAISSEAU.ini"
[...]

Techniquement, la ligne en rouge renvoie vers le fichier \Config\Spacecraft\Spacecraft4.cfg ; lequel indique, grâce à la fameuse ligne de commande Module = Spacecraft4 qu'il contient, qu'il faut utiliser le fichier \Modules\Spacecraft4.dll, dont les variables sont indiquées dans \Config\Spacecraft\MONVAISSEAU.ini.
Bien sûr, quand on crée un nouveau vaisseau avec Spacecraft4, on se contente d'écrire un nouveau fichier .ini. Mais il ne se suffit pas à lui-même et les fichiers Spacecraft4.cfg/dll sont utilisés pour chaque addon Spacecraft4.

Il y a un intérêt supplémentaire à créer un fichier Antares2.cfg, tel que Jacquesmomo l'a décrit dans le post qui précède ; c'est d'ajouter des paramètres que Spacecraft ne reconnaît pas dans les fichiers .ini, sans qu'ils s'appliquent à tous les vaisseaux Spacecraft installés. :)


Milouse


Offline jacquesmomo

  • Le budget !!!
  • Legend
  • ******
  • Posts: 7452
  • Country: France fr
  • Karma: 611
  • Plus on rate, plus on a de chances de réussir !..
Reply #27 - 29 August 2016, 19:29:14
Bien sûr, quand on crée un nouveau vaisseau avec Spacecraft4, on se contente d'écrire un nouveau fichier .ini. Mais il ne se suffit pas à lui-même et les fichiers Spacecraft4.cfg/dll sont utilisés pour chaque addon Spacecraft4.

C'est vrai tu as raison j'avais "occulté" involontairement ce fichier Spacecraft4.cfg....  :arg:

En fait avec l'écriture indiquée (MonVaisseau:Spacecraft/Spacecraft4) Orbiter va demander à monsieur spacecraft4.cfg qui ne fait rien d'autre que de faire comprendre à madame Spacecraft4.dll de trouver un fichier "monVaisseau.ini" que celle-ci saura interpréter. Le fichier "monvaisseau.cfg est dans ce cas inutile.

Sinon il faut déclarer MonVaisseau : Monvaisseau  (ou alors "trucmachin : monVaisseau")
et dans ce cas Orbiter va chercher le fichier MonVaisseau.cfg qui renverra au fichier ini si la ligne "module = spacecraft4" est mise, bien sûr...
:prof: en fait c'est pas vrai, le fichier cfg envoie le monsieur chercher le fichier spacecraft.dll qui est intelligent, lui !!!

Donc merci Milouse pour cette précision utile comme quoi on a toujours besoin de tout le monde ici :wor:
Donc je n'utilise un fichier.cfg avec spacecraft que si je veux un truc en plus non déclaré dans le fichier ini.

Exemple (à venir) :
Dans ELV pour Kourou (à venir) il y a la 4L améliorée et adaptée pour Spacecraft4.
Or, je n'avais pas fait de fichier.cfg et tout marche bien.
Mais comme j'ai voulu rajouter un addon (spotlight2 de Brianj) et que je ne voulais pas que l'on puisse décrocher ce spot (qui illumine la nuit les objets) j'ai créé un fichier cfg pour mettre un point d'attache supplémentaire et donc "non détachable".
Donc du coup la R4 a un fichier cfg + 1 fichier ini, alors que sans spotlight2 elle n'en avait pas besoin. (du fichier cfg)  :trucdeouf:

Et je dois dire que j'ai passé un moment sur cette histoire de ini / cfg avec pleins de tests....  :badfinger: nananèreu...

Voilà...

« Last Edit: 29 August 2016, 19:37:30 by jacquesmomo »
Mes add-ons sont là !

Offline jeanus

  • re-moi !
  • Sr. Member
  • ****
  • Posts: 330
  • Country: France fr
  • Karma: 35
  • Il parait que je suis pénible ... mais heu !
Reply #28 - 29 August 2016, 19:48:41
Maintenant prenez un cachet d'aspirine, et interro écrite demain !!!

Tripant !

Désolé mais pour moi ce sera un Naramig ! :arg:

Tout dépend du point de vue ou l'on se place, par rapport à l'idée qu'on se fait de la chose ...