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: OpenGL Orbiter Mesh Viewer  (Read 23945 times)

0 Members and 1 Guest are viewing this topic.

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #75 - 27 December 2010, 08:23:49
Alors alors ...
Je n'ai jamais utilisé la fonction dont tu parles , qui semble être une fonction de plus haut niveau que la base que j'utilise
souvent , à savoir fopen() , fread(), fwrite().

Exemple :
Code: [Select]
* fopen example */
[glow=yellow,2,300]#include [/glow]
int main ()
{
  FILE * pFile;
  pFile = fopen ("myfile.txt","w");
  if (pFile!=NULL)
  {
    fputs ("fopen example",pFile);
    fclose (pFile);
  }
  return 0;
}

J'utilise souvent une structure pour sauvegarder mes données .
L'avantage , c'est que c'est possible d'enregistrer les datas en mode binaire .

Exemple :

struct S_INIFILE{char TexturePath[255];char MeshPath[255];char OrbiterPath[255]};

Pour lire un fichier  :
http://www.cplusplus.com/reference/clibrary/cstdio/fread/

Tu déclares ta structure qui sera remplie par la fonction.

Code: [Select]
S_INIFILE inifile ;//ce n'est pas un pointeur !
Tu ouvres ton fichier :

Code: [Select]
FILE * File;
 File = fopen ("myfile.cfg","r");

//tu passes l'adresse de ta structure , c'est un pointeur ...
Code: [Select]
fread ( &inifile , sizeof(S_INIFILE), 1,  File );
fclose(File);
Normalement , inifile.TexturePath contient les données qui avaient été enregistrées .

Pour l'écriture c'est sensiblement la même chose .
http://www.cplusplus.com/reference/clibrary/cstdio/fwrite/

Code: [Select]
S_INIFILE *inifile ;//c'est un pointeur !
inifile->TexturePath="Textures/";
inifile->MeshPath="Mesh/";
inifile->OrbiterPath="C://Orbiter/";

File = fopen ("myfile.cfg","w");
fwrite (inifile, 1 , sizeof(inifile ) , File  );
...
  fclose (pFile);

Je n'ai pas testé ce code , mais si mes souvenirs sont bons , çà devrait le faire .



Message modifié ( 27-12-2010 08:32 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline Jim Lovell

  • Global Moderator
  • Legend
  • *****
  • Posts: 1532
  • Country: Belgium be
  • Karma: 31
    • Mon site
Reply #76 - 27 December 2010, 10:13:33
Aaaah les pointeurs.... :love: .... :grrr:


Jim Love:love:LL
C'est en se plantant que l'on construit ses racines....


ConneXion

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #77 - 27 December 2010, 17:05:10
Je ne réussi toujours pas :sad:.

Voilà mon code :
À remarqué que j'utilise fopen_s(), une version modifiée par MS, afin d'assurer aucun overbuffing.

Code: [Select]
bool SaveIni(void)
{
typedef struct
{
float Mouse;
float Wheel;
char *Path;
} INIFILE; // La structure pour sauvegardé.

INIFILE *iniFile = NULL;
iniFile = new INIFILE;
iniFile->Mouse = sensMouse; // sensMouse est une variable locale pour la sensibilité. C'est un float.
iniFile->Wheel = sensWheel; // voir commentaire du haut.
iniFile->Path = Mesh.GetTexturePath(); // cette fonction retourne un char*. En déboguage, je vois qu'il retourne ce qu'il faut
FILE *file;
fopen_s(&file,"OGLOMV.ini","w+"); // w+ car je veux créer un fichier s'il le faut.
if (file==NULL)
return false; // On quitte s'il y a un problème.

int test = sizeof(iniFile); // variable pour des test.
test = fwrite(iniFile,1,sizeof(iniFile),file); // On écrit
fclose(file); // On ferme.
return true; // On retourne.
}

Ça me retourne : ÍÌÌ= dans mon fichier OGLOMV.ini.



Message modifié ( 27-12-2010 17:06 )

Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #78 - 27 December 2010, 17:53:19
Quote
INIFILE *iniFile = NULL;
   iniFile = new INIFILE;

Une structure ne s'initialise pas avec l'opérateur new .
Si tu veux l'initialiser à zéro , utilises memset(...)
http://www.cplusplus.com/reference/clibrary/cstring/memset/

// sensMouse est une variable locale pour la sensibilité. C'est un float.

Cette variable est GLOBALE , tu veux dire ?
Parce que sinon , sa valeur est NULL ...

Quote
int test = sizeof(iniFile); // variable pour des test.
   test = fwrite(iniFile,1,sizeof(iniFile),file); // On écrit
   fclose(file); // On ferme.

Ton " int test = sizeof(iniFile);" ne sert à rien puisque test est reécrit dans la fonction suivante .
Et pour finir , tu as interverti les paramètres , canadien .:badsmile:

Ben oui , observe la definition de la fonction :
size_t fwrite ( const void * ptr, size_t size, size_t count, FILE * stream );

size , c'est la taille de ta structure .
count , c'est le nombre de fois que tu veux écrire ta structure dans le fichier .
Donc essaye :

test = fwrite(iniFile,sizeof(iniFile),1,file); // On écrit

Ok ?
C'est normal de tatonner , tu vas y arriver !
AU fait , ce que tu écris de cette manière n'est pas lisible pour un humain !
Tu dois utiliser la fonction de lecture dans ton programme pour lire les données compactées dans la structure .
Utilise des MessageBox(....) pour debugger ?
A+



Message modifié ( 27-12-2010 18:16 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #79 - 27 December 2010, 20:02:53
Moi aussi je ne croyais pas qu'elle s'initialiserais comme ça. Par contre, si je ne fais pas de new, j'obtiens cette erreur lors de l'exécution :
Exception non gérée à 0x004125de dans OpenGL Orbiter Mesh Viewer.exe : 0xC0000005: Violation d'accès lors de l'écriture à l'emplacement 0x00000000.
et selon ce que j'ai lu, c'est à cause que je n'utilise pas l'opérateur new.

Oui, sensMouse est une variable globale, faute de frappe. Elle est déclaré avant le WinMain() qui est la première fonction. En déboguage, elle vaut toujours ce qu'elle doit.

Le test me servait lorsque je déboguais pas à pas (ce que je fais souvent). J'appuis sur F10 après un breakpoint que je mets au début de la fonction et je regarde ce que chaque variable vaut.

Finalement, je testait avec le sizeof() des 2 côtés car je ne savais pas trop. Par contre, lorsque je met le sizeof() du côté que tu m'indiques, la fonction me retourne qu'elle a écrit 1 seul byte. Quand je le met comme je l'ai mis, elle me retourne 12 bytes. J'ai donc opté pour cette dernière.

Je cherche toujours...


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #80 - 27 December 2010, 20:27:44
Quote
Le test me servait lorsque je déboguais pas à pas (ce que je fais souvent). J'appuis sur F10 après un breakpoint que je mets au début de la fonction et je regarde ce que chaque variable vaut.
Ok , je comprends maintenant .


Quote
Finalement, je testait avec le sizeof() des 2 côtés car je ne savais pas trop. Par contre, lorsque je met le sizeof() du côté que tu m'indiques, la fonction me retourne qu'elle a écrit 1 seul byte. Quand je le met comme je l'ai mis, elle me retourne 12 bytes. J'ai donc opté pour cette dernière.

Suis la procédure je pense , mets les bonnes variables à leur place , sinon tu ne t'en sortiras pas .
Je vais voir si je peux te sortir un bout de code qui marche .
A+

Edith : Je viens de trouver une classe sur un forum , capable d'écrire des sections entières et vraisemblablement éditables , un vrai .ini . http://farscape.developpez.com/Samples/CDataFile.zip
Pas le temps de tester pour toi , mais j'ai jeté un coup d'oeil , çà à l'air bien .

Je viens de créer un code qui marche : A toi de l'améliorer , pas de test d'erreur ...

Code: [Select]
#include

struct INITFILE
{
char *msg1;
char *msg2;
float mouse;
} ;

void ecrire()
{
INITFILE init ;
init.msg1="message1";
init.msg2="message2";
init.mouse=0.001f;
FILE* file=fopen("bibi.ini","w");
fwrite(&init,sizeof(INITFILE),1,file);
fclose(file);
}

void Lire()
{
INITFILE init ;

FILE* file=fopen("bibi.ini","r");
fread(&init,sizeof(INITFILE),1,file);
fclose(file);
//Caption=init.msg1 ; ignore çà , j'étais sous borland , c'est le titre de la fenetre , utilisée comme debugger ...
}

çà fonctionne , t'as plus qu'à rajouter des params dans les fonctions lire et écrire .
A+



Message modifié ( 27-12-2010 21:04 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #81 - 27 December 2010, 21:38:54
Ton programme fonctionne (sauf pour le tableau de char qui fait la même chose que tantôt) mais je retourne encore au même problème : dès que je charge un mesh, il ne fait rien dans le fichier de config.


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #82 - 27 December 2010, 21:47:59
Quote
dès que je charge un mesh, il ne fait rien dans le fichier de config.

Montre voir la fonction qui charge le mesh .
Et tu devrais changer de procédure :

1 Verifier la présence du fichier ini .
Si le fichier ini n'existe pas , tu ouvres une dialogBox , demandant le chemin de la racine d'Orbiter .
Tu crées le fichier , et conserve le chemin dans une variable globale ( temps de vie = durée du programme )
Une fois que tu as la racine , tu déduis le reste . ET TOUT CELA SE FERAIT AVANT TOUTE OUVERTURE DE FICHIER MESH.

2 Ensuite , tu n'as plus rien à écrire , juste à lire ( puisque tu cherches le path et qu'il est dans le ini .) à chaque ouverture du programme ( et une seule fois !) , avant même la création de la fenêtre .

Edith : Pour le problème de char* , tu ne serais pas en Unicode dans tes options de compil , par hasard ?
Au cas où , essaye de changer l'option en " not set " plutot qu'Unicode . Ou alors utiliser des fonctions et variables unicodes  ?



Message modifié ( 27-12-2010 22:55 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #83 - 28 December 2010, 16:48:55
J'AI TROUVÉ !!!

Les fichiers étaient bels et bien sauvegardés... dans le répertoire des meshes. Je croyais qu'il sauvegardait dans le répertoire de l'exécutable,  mais il doit faire un GetCurrentDirectory().

Donc, il me reste plus qu'à toujours sauvegardé dans le dossier de l'exécutable ! Ouf ! Je croyais devenir :fou:


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #84 - 28 December 2010, 16:54:07
:wall:
...
:ptdr:
quand même :top:



Message modifié ( 28-12-2010 16:56 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #85 - 29 December 2010, 05:03:09
Si j'ai le temps, demain, je fais une release. Je vais laisser tomber le joystick pour l'instant, je le ferai dans une autre release. Le programme est très fonctionnel (plus que ce que j'aurais imaginé), il n'y a aucun fuite de mémoire (merci au Gestionnaire de tâches :badsmile: ), et beaucoup de choses ont changé.

J'écris la doc, je fais tester sur différent ordinateur, puis je release.


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #86 - 29 December 2010, 17:52:11
Et bien moi , je l'ai déjà et c'est ....
Spoiler  :
PLUS MIEUX ! GRAND .
:badsmile:

Bon , ok , l'oncle bibi a fait son annonce , je peux me lacher :

COURREZ VITE L'acheter le télécharger !par là ...
Cette nouvelle version est géniale , vous disposerez d'un menu pour peaufiner la vitesse de déplacement et de zoom de la souris , plus besoin de redonner le chemin des textures à chaque fois ( merci bib ... ) , et çà va continuer à évoluer .
Soyez nombreux à le télécharger , çà le motivera pour continuer à le faire progresser ( bientôt un joystick !! ) .
Enfin bref , notre " petit canadien " a bien travaillé , STAND UP !

:applause::applause::applause:



Message modifié ( 29-12-2010 21:17 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #87 - 30 December 2010, 04:05:53
Bibi ? Je viens d'avoir une idée .
En fait plusieurs , mais d'abord la 1 :

Créer une fonction DIAPORAMA .
Tu ouvrirais un mesh et sa texture , l'afficherais pendant (x) secondes , chargerais un second Mesh , affiché dès que le premier aurait été détruit , et ainsi de suite sur chaque fichier mesh que ta routine trouverais dans le dossier .
L'utiisateur pourrait règler la vitesse du slide show .

Idée 2 :
Ajouter une classe qui crée des vaisseaux en éditant des fichiers .cfg contenant du code Lua , en Asccii .
Exemple dans \ORBITER-2010\Config\Vessels scriptPB.cfg .
Comme tu sais maintenant travailler avec des chaines de caractères dans un fichier , tu t'es offert cette possibilité .
c'est ce que je faisais avec CityDesigner , en créant un fichier de base ou de planete .
Mais toi , ton fichier créerai un vaisseau ...
Il "suffirait " de remplir des structures de lignes de code , chaque structure étant un bloc ,
au milieu duquel tu ajoutes la valeur numérique ou le texte de l'utilisateur .

Un visualizer + one creator ...

Ce serait :fou:  , a+ .



Message modifié ( 30-12-2010 04:20 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #88 - 30 December 2010, 15:46:33
Moi, j'avais pensé à un genre de Blender Jr. Tu sélectionne une vertice, tu la déplace avec la souris, puis tu peux sauvegarder tes changements. Quelque chose de simple, mais d'utile.

Ta première idée est bonne, mais la seconde, je ne crois pas la comprendre. Le fichier config serait toujours le même, sauf pour le nom du mesh. :wonder:


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #89 - 30 December 2010, 16:15:36
Je viens de regarder, il y a un bouton en français sur le dialog de sensibilité. ResEdit l'a mis par défaut. Je me demande s'il est traduit sur les autres Windows...


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #90 - 30 December 2010, 16:35:50
Quote
Ta première idée est bonne, mais la seconde, je ne crois pas la comprendre. Le fichier config serait toujours le même, sauf pour le nom du mesh.

Tu peux en effet comencer par là , en changeant juste le nom du mesh , tu offres un vaisseau formaté en Shuttle à tes utilisateurs . Plûtot sympa déjà de voir le mesh que l'on a créé , d'appuyer sur un bouton dans ton interface , et de se retrouver avec un vaisseau pilotable dans orbiter .

Mais là où je voulais en venir , c'est que pour définir un vaisseau , nous avons besoin de constantes qui le définissent .
Regarde dans ScriptPB.cfg :

Code: [Select]
-- Vessel parameters

vprm = {                         -- general Parameters
  emass = 500,                     -- empty mass [kg]
  fuelmass = 750,                  -- propellant mass [kg]
  size = 3.5,                      -- mean radius [m]
  pmi = {x=2.28,y=2.31,z=0.79},    -- principal moments of inertia [m^2]
  cs = {x=10.5,y=15.0,z=5.8},      -- cross sections [m^2]
  rd = {x=0.1,y=0.1,z=0.05},       -- rotation drag coefficients
  co = {x=0,y=0.8,z=0},            -- cockpit camera offset
  td1 = {x=0,y=-1.5,z=2},          -- touchdown point: front
  td2 = {x=-1,y=-1.5,z=-1.5},      -- touchdown point: left
  td3 = {x=1,y=-1.5,z=-1.5}        -- touchdown point:

Ce bloc ci-dessus est formaté .Comment faire pour rendre un tel bloc par programmation ?
Une approche :
1 Je compte les lignes du bloc vprm , j'en compte 11 .
2 Je compose mes lignes :

char* ligne1="vprm = {\n" ; // un new ligne pour respecter le format
// çà se complique un peu , il faut découper la ligne en deux pour que tu puisses y insérer une valeur
char* ligne2a="emass =";
char* ligne2b=",\n" // un new ligne pour respecter le format
Ainsi de suite ...
en fait , le type char* ne conviendra pas pour " ligne2a" , car il doit être extensible pour contenir le reste de la chaine .
utiliser char[255] ....

Supposons maintenant que tu proposes une boite de dialogue qui demande à l'useur ( :badsmile: ) la masse à vide de son vaisseau (emass), et qu'il entre 1500 .
Toi , tu le stokes sous forme numérique , genre " float emass=datafromInput ; "

Maintenant , tu dois convertir cette donnée numérique en ascii , avec la routine correspondant au type à convertir .
char buf[256];
float f=3.1415926535;
sprintf(buf,"%f",f); // sprintf(buf,"%e",f); pour l'ecriture en exposant

buf contient la valeur à insérer dans la ligne  emass = "?",  que tu as préformaté .
Pour construire la ligne , tu peux faire :strcat(...)
strcat( ligne2a,buf) ; // ligne2a contient " emass = 3.1415926535 , il manque la virgule ...
strcat( ligne2a,ligne2b) ;// ligne2a contient " emass = 3.1415926535, "

Répéter l'opération pour toutes les lignes devant être modidiées .
Certes , cela demande beaucoup de travail préparatoire , mais une fois terminé , c'est de la bombe , bébé ! 8)
  Une fois tes blocs formatés , tu écris en mode texte dans un fichier tes lignes , et c'est gagné .
L'utilisation de structures pour ... structurer ton fichier pourrait simplifier le codage , par exemple :

struct BLOC1{char* ligne1,char* ligne2a,char* ligne2b,...};

Chaque bloc étant particulier . le bloc "vprm " étant l'un des + plus importants .
c'est assez dingue pour me plaire en fait , je vais pt'et bien m'y coller .
Histoire d'aider Lua à décoller dans l'esprit des orbinautes ... et faire que Martin n'aie pas cogité en vain aussi :
C'est lui qui dit :
Vessel scripts are a quick and easy way to define new vessel types in Orbiter. Unlike vessel DLL modules, they don't require the compilation of a C++ file, but just a text file containing the script.
et encore :

You can try this vessel class in Orbiter. Launch Orbiter, open the scenario editor, and click "New" to create a new vessel. You should see your new vessel class in the list. It isn't very useful yet as it stands (for starters, it doesn't have any engines), but you can complete it by adding more parameters and functions, and see the effect directly in Orbiter. You can even edit the script file while Orbiter is running. Any subsequently created instance of the vessel class will immediately incorporate the latest changes

et voilà à quoi ressemble le scriptPB.cfg d'exemple :



A+

Edith : Ton idée de modeleur est interessante aussi , car tu utilises le format d'orbiter pour visualiser les meshs .
Donc , plus besoin d'exporter via un script pour être compatible . çà me parait être une bonne idée en effet .
Par contre , tu t'exposes à un copyright concernant les meshs que tu vas utiliser pour les modifier , non ?



Message modifié ( 30-12-2010 18:09 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #91 - 30 December 2010, 20:06:06
Salut , encore moi !
'serais pas long cette fois :

<a href="http://www.youtube.com/watch?v=4zhsKu2sQ6c" target="_blank">http://www.youtube.com/watch?v=4zhsKu2sQ6c</a>


Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #92 - 30 December 2010, 22:55:35
Excellente idée ! Un constructeur de vaisseau simple ! Je ferai ça un jour. Mais là... je crois avoir trouvé un projet. Je ne sais pas si je vais le faire, car c'est du lourd. En tout cas, j'utiliserai la nouvelle API d'Orbiter. J'ai hâte de voir ça les fameux panels...

Tiens, qu'est-ce que ce vaisseau ? Oups ! Ai-je révelé quelque chose... :badsmile:

Et j'ai Sentinel aussi à finir. J'ai du boulot en masse !



Message modifié ( 30-12-2010 22:56 )

Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #93 - 30 December 2010, 23:01:14
VU !
Mettre un terme au maitre .
mwah ah ah ...



Message modifié ( 30-12-2010 23:04 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #94 - 30 December 2010, 23:30:01
Le maître ?


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #95 - 30 December 2010, 23:32:19
Thermomètre ... mercure ...
ouais , je charrie ( charade )un peu .



Message modifié ( 30-12-2010 23:34 )

Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #96 - 30 December 2010, 23:41:46
:lol:

Moi qui cherchait "bah, c'est qui le maître ? Yoda ? Big Brother ?"

J'ai choisi Mercury car le vaisseau est vrai (ah oui ? :badsmile: ), il n'est pas trop compliqué (à comparé à Apollo et même Gemini) et que la dernière version est vieille.

Je galère un peu sur le modèle 3D. Les modèles du Project Mercury 5.0 sont très beaux, mais loin d'être optimisés. Chaque carré forme un groupe. Ça fait 295 groupes ! Les modèles dispo sur le site de la NASA ne sont pas super et j'ai bien essayé, mais je ne suis pas capable de les faire. J'ai la forme de base, mais lorsque j'arrive pour ajouter les petits RCS, je ne sais plus comment m'y prendre.


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon

Offline cslevine

  • Legend
  • ******
  • Posts: 3621
  • Karma: 17
Reply #97 - 30 December 2010, 23:46:16
Purée c'est génial MrSpock ta vidéo !
Avec direct l'ambiance du vaisseau Enterprise de la série 1 !
Vraiment très beau ces sons. Inoubliables !
j'ai même pas fini de regarder, je lis même pas les réponses que déjà je post rapport à ton choix de la bande son.

Bon GAD elmaley sur la 6, après je reviens



Offline MrSpock

  • Legend
  • ******
  • Posts: 1593
  • Karma: 0
Reply #98 - 30 December 2010, 23:50:48

Quote
je galère un peu sur le modèle 3D. Les modèles du Project Mercury 5.0 sont très beaux, mais loin d'être optimisés. Chaque carré forme un groupe. Ça fait 295 groupes ! Les modèles dispo sur le site de la NASA ne sont pas super et j'ai bien essayé, mais je ne suis pas capable de les faire. J'ai la forme de base, mais lorsque j'arrive pour ajouter les petits RCS, je ne sais plus comment m'y prendre.

Ton nouveau projet à l'air vraiment super .
Bah , tu vas t'en sortir , comme d'hab ...
Mais 295 groupes ...:
- un groupe , c'est un polygone non ?
- ben oui idiot il te dit que c'est un carré !
-Ah ... ouais ... ok . Ben 295 , ce n'est pas énorme !
- On voit bien que c'est pas toi qui les trie ...



Mr Spock ,
Consultant de VULCAN TECH INDUSTRY.
( et accessoirement chatouilleur de PLAYMOBILS@tm )
http://kenai.com/projects/spacetechs-mecanos

Offline Bibi Uncle

  • Legend
  • ******
  • Posts: 2264
  • Country: Canada ca
  • Karma: 17
Reply #99 - 31 December 2010, 15:54:31
Et bien, la coque est séparé en chaque carré. Le reste est séparé correctement. Par contre, beaucoup de vertex sont gaspillées.

J'hésite toujours pour le mesh que je vais utiliser...


Émile

Pluton, Saturne et Jupiter
Entendez-vous monter vers vous le chant de la Terre?

- Luc Plamondon