RILASCIATO ORBITER 2016!!! CLICCA QUI PER SCARICARLO
 
IndiceIndice  FAQFAQ  LinkLink  CercaCerca  RegistrarsiRegistrarsi  Accedi  
Accedi
Nome utente:
Parola d'ordine:
Connessione automatica: 
:: Recuperare la parola d'ordine
FOI sui social networks
Argomenti simili
Siti Amici
Astronautica Ultima Speranza

AstronautiNEWS

Orbiter Forum

Tuttovola.org

Contatore Visite
Ultimi argomenti
» Problema installazione D3D9
Da DDD Oggi a 20:23

» Accordo Altec - Virgin Galactic
Da Pete Conrad Oggi a 19:43

» Sviluppo di una base italiana - Sede ASVI
Da Andrew Oggi a 18:45

» "Starlab" space station
Da Andrew Oggi a 12:47

» Concetto "Red Antares"
Da Andrew Oggi a 12:15

» Mars One, la "colonizzazione di Marte" slitta di 4 anni...
Da Andrew Oggi a 11:24

» MARS - National Geographic Channel
Da Andrew Oggi a 11:13

» Ancora un fallimento per il Progress
Da Ripley Oggi a 0:39

» Propulsione Spaziale
Da m.a.s Oggi a 0:29

» R.I.P. John Glenn
Da Fausto Ieri a 22:53

» Shuttle Fleet R.I.P.
Da wolf Gio 8 Dic 2016 - 15:46

» Rilasciato Space Shuttle Ultra 4.0 (per O2010)
Da wolf Mer 7 Dic 2016 - 21:15

» L'uomo su Mercurio
Da Andrew Mar 6 Dic 2016 - 20:05

» Stephen Hawking ricoverato per problemi respiratori
Da Fausto Sab 3 Dic 2016 - 20:42

» Avete bisogno di un un razzo vettore?
Da Matt44 Sab 3 Dic 2016 - 17:57

» Sospensioni motore DGIV da tastiera
Da Ripley Mer 30 Nov 2016 - 12:39

» Saluti!
Da Fausto Mer 30 Nov 2016 - 9:13

» Ma che Luna o Marte.. colonizziamo Titano!
Da Andrew Dom 27 Nov 2016 - 12:27

» Serie TV -The Expanse
Da m.a.s Sab 26 Nov 2016 - 12:27

» Paolo Nespoli di nuovo sulla ISS con la missione VITA
Da Dany Sab 26 Nov 2016 - 9:09


Condividere | 
 

 Scudo Termico

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso 
AutoreMessaggio
marcogavazzeni
Add-on Developer
Add-on Developer


Numero di messaggi : 1129
Età : 47
Località : Bergamo
Data d'iscrizione : 04.01.09

MessaggioOggetto: Scudo Termico   Ven 24 Dic 2010 - 1:22

Allora,volevo provare a simulare lo scudo termico in stile DGIV o RAVENSTAR,girovagando per la rete ho trovato questo codice:

if (GetAltitude()<54000)
{SetMeshVisibilityMode (InsertMesh (bouclier,3,&ofsr),MESHVIS_EXTERNAL);}
if ((ReentryShieldMeshVisual != 0) & (54000>GetAltitude()) & (GetAltitude()>40000))
{
oapiSetMeshProperty (ReentryShieldMeshVisual,MESHPROPERTY_MODULATEMATALPHA,1);
double opacity = myformula ;
MATERIAL *mat = oapiMeshMaterial (ReentryShieldMeshVisual, 0);
mat->diffuse.a *= opacity;
mat->ambient.a *= opacity;
mat->specular.a *= opacity;
mat->emissive.a *= opacity;
}
if (GetAltitude()<30000)
{DelMesh(3);}

Tutto in poststep
Tornare in alto Andare in basso
Vedere il profilo dell'utente http://www.orbithangar.com/searchauth.php?search=marcogavazzeni
Fausto
Admin
Admin


Numero di messaggi : 7089
Età : 33
Località : Arcore (Milano)
Data d'iscrizione : 27.06.09

MessaggioOggetto: Re: Scudo Termico   Ven 24 Dic 2010 - 13:33

Giusto quello che cercavo! Nell'Antares andrà benissimo! Grazie!

_________________________________________________

Dategli una grande sfida, una che sembra impossibile. Dategli il desiderio di vincerla. Unite le due cose, e l'essere umano è capace di tutto

Jim Lovell
Tornare in alto Andare in basso
Vedere il profilo dell'utente
marcogavazzeni
Add-on Developer
Add-on Developer


Numero di messaggi : 1129
Età : 47
Località : Bergamo
Data d'iscrizione : 04.01.09

MessaggioOggetto: Re: Scudo Termico   Ven 24 Dic 2010 - 15:29

Fausto ha scritto:
Giusto quello che cercavo! Nell'Antares andrà benissimo! Grazie!

Si ma io l'ho provato e non funziona....forse manca qualcosa confused 2
Tornare in alto Andare in basso
Vedere il profilo dell'utente http://www.orbithangar.com/searchauth.php?search=marcogavazzeni
marcogavazzeni
Add-on Developer
Add-on Developer


Numero di messaggi : 1129
Età : 47
Località : Bergamo
Data d'iscrizione : 04.01.09

MessaggioOggetto: Re: Scudo Termico   Dom 26 Dic 2010 - 18:48

Adesso funziona Big Grin

//*******************SIMULATION HEAT SHIELD***********************
double alpha = (0.5*GetDynPressure() * (GetAirspeed()))/100000;
double shield;

shield = min(alpha/1200.0, 1.0);

SetMeshVisibilityMode (InsertMesh (hMeshReentryShield,3,&offsetsh),MESHVIS_EXTERNAL);

oapiSetMeshProperty (hMeshReentryShield,MESHPROPERTY_MODULATEMATALPHA,1);
double opacity = shield ;
MATERIAL *mat = oapiMeshMaterial (hMeshReentryShield, 0);
mat->diffuse.a = shield;
mat->ambient.a = shield;
mat->specular.a = shield;
mat->emissive.a = shield;


La parte in grassetto è il nome della mesh,e il numero della texture

Alpha sarebbe il calcolo della temperatura,ma nelle capsule è notevolmente più alta.

La mesh deve essere emissiva,cioè luminosa.

Vabbhè poi se non capite qualcosa stòqquà Yeah right
Tornare in alto Andare in basso
Vedere il profilo dell'utente http://www.orbithangar.com/searchauth.php?search=marcogavazzeni
Fausto
Admin
Admin


Numero di messaggi : 7089
Età : 33
Località : Arcore (Milano)
Data d'iscrizione : 27.06.09

MessaggioOggetto: Re: Scudo Termico   Mar 28 Dic 2010 - 13:47

Perfetto! Grazie Marco! La proverò e ti farò sapere! Thumb Up

_________________________________________________

Dategli una grande sfida, una che sembra impossibile. Dategli il desiderio di vincerla. Unite le due cose, e l'essere umano è capace di tutto

Jim Lovell
Tornare in alto Andare in basso
Vedere il profilo dell'utente
Fausto
Admin
Admin


Numero di messaggi : 7089
Età : 33
Località : Arcore (Milano)
Data d'iscrizione : 27.06.09

MessaggioOggetto: Re: Scudo Termico   Lun 10 Gen 2011 - 13:23

Marco ho provato ad inserirlo ma naturalmente non funziona.. cosa intendi per mesh emissiva cioè luminosa? Devo aggiungere qualcosa al file msh? confused 2

_________________________________________________

Dategli una grande sfida, una che sembra impossibile. Dategli il desiderio di vincerla. Unite le due cose, e l'essere umano è capace di tutto

Jim Lovell
Tornare in alto Andare in basso
Vedere il profilo dell'utente
marcogavazzeni
Add-on Developer
Add-on Developer


Numero di messaggi : 1129
Età : 47
Località : Bergamo
Data d'iscrizione : 04.01.09

MessaggioOggetto: Re: Scudo Termico   Dom 12 Giu 2011 - 18:21

Fausto ha scritto:
Marco ho provato ad inserirlo ma naturalmente non funziona.. cosa intendi per mesh emissiva cioè luminosa? Devo aggiungere qualcosa al file msh? confused 2

Devi fare la mesh luminosa,come gli interni delle cabine per intenderci.

Poi nel file .h devi dichiarare la mesh-------------------------------------------

MESHHANDLE hMeshReentryShield;

Mi raccomando la "h"----> hMeshReentryShield

Poi la posizione della mesh:

const VECTOR3 offsetshield = {0,0.268,0.548};

Nel file .cpp ------------------------------------------------------------------------

ShuttlePB::ShuttlePB (OBJHANDLE hVessel, int flightmodel)
: VESSEL2 (hVessel, flightmodel)

Metti in lista la mesh dello scudo insieme alle altre:

f150 = oapiLoadMeshGlobal ("beta1");
f151 = oapiLoadMeshGlobal ("betapilot1");
f152 = oapiLoadMeshGlobal ("Spiralcab1");
f153 = oapiLoadMeshGlobal ("Spiralcab2");
f154 = oapiLoadMeshGlobal ("Spiralcab3");
f155 = oapiLoadMeshGlobal ("Spiralcabdummy");
f156 = oapiLoadMeshGlobal ("mfd_1"); //right
f157 = oapiLoadMeshGlobal ("mfd_2");//left
f158 = oapiLoadMeshGlobal ("mfd1_1n");
f159 = oapiLoadMeshGlobal ("mfd2_2n");
hMeshReentryShield = oapiLoadMeshGlobal ("shield");

Poi in :
void ShuttlePB::clbkPostStep (double simt, double simdt, double mjd)

double atmTemp = 0.5*(GetAtmDensity()*(GetAirspeed()*GetAirspeed()*GetAirspeed()));
double alpha1 = ((atmTemp-40000000) / 100000000);
double f1 = ((GetAirspeed()*GetAirspeed())/2);
double alpha2 = (alpha1 / (f1*0.1));
double alpha = alpha1-alpha2;
double aspd = GetAirspeed();

if (alpha < 0)(alpha = 0);
if (alpha > 1) (alpha = 1);
if (aspd < 20) (alpha = 0);

SetMeshVisibilityMode (InsertMesh (hMeshReentryShield,10,&offsetshield),MESHVIS_EXTERNAL); //nota 1
oapiSetMeshProperty (hMeshReentryShield,MESHPROPERTY_MODULATEMATALPHA,1);//nota 2
MATERIAL *mat = oapiMeshMaterial (hMeshReentryShield, 0);
mat->diffuse.a = alpha;
mat->ambient.a = alpha;
mat->specular.a = alpha;
mat->emissive.a = alpha;

Attenzione a:

nota 1
SetMeshVisibilityMode (InsertMesh (hMeshReentryShield,10,&offsetsh),MESHVIS_EXTERNAL);

Il numero 10 corrisponde al numero della mesh,se la tua nave ha 5 mesh metterai lo scudo per ultimo con il numero 4 (0-1-2-3-4)

nota 2
MATERIAL *mat = oapiMeshMaterial (hMeshReentryShield, 0);

Dove il numero 0 corrisponde al numero della texture nel file .msh
Tornare in alto Andare in basso
Vedere il profilo dell'utente http://www.orbithangar.com/searchauth.php?search=marcogavazzeni
Fausto
Admin
Admin


Numero di messaggi : 7089
Età : 33
Località : Arcore (Milano)
Data d'iscrizione : 27.06.09

MessaggioOggetto: Re: Scudo Termico   Dom 12 Giu 2011 - 19:04

Ah ok, quindi ci vuole una mesh a parte.. ora ho capito grazie!!! Thumb Up

_________________________________________________

Dategli una grande sfida, una che sembra impossibile. Dategli il desiderio di vincerla. Unite le due cose, e l'essere umano è capace di tutto

Jim Lovell
Tornare in alto Andare in basso
Vedere il profilo dell'utente
Contenuto sponsorizzato




MessaggioOggetto: Re: Scudo Termico   Oggi a 21:26

Tornare in alto Andare in basso
 
Scudo Termico
Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto 
Pagina 1 di 1
 Argomenti simili
-
» [primi passi] Ladycomp mi segna ovulazione senza rialzo termico
» Pearly, LadyComp, BabyComp e la data dell'ovulazione

Permesso di questo forum:Non puoi rispondere agli argomenti in questo forum
Forum Orbiter Italia :: Orbiter Space Flight Simulator :: Sviluppo Add-on :: Orbiter SDK-
Andare verso: