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
» Sviluppo di una base italiana - Sede ASVI
Da marcogavazzeni Ven 24 Feb 2017 - 18:38

» "Starlab" space station
Da wolf Ven 24 Feb 2017 - 17:53

» Dyna-Soar declassificato!
Da Andrew Dom 29 Gen 2017 - 12:14

» Apollo 1: cinquant’anni fa, la prima tragedia spaziale americana
Da Ripley Ven 27 Gen 2017 - 14:46

» Informazione su Pad24_UR500_O2016_v2
Da Ash Mar 24 Gen 2017 - 22:47

» Happy birthday, mr. Aldrin!
Da Pete Conrad Ven 20 Gen 2017 - 12:00

» Base Sync mfd, qualche problema
Da Ripley Gio 19 Gen 2017 - 12:03

» Morto Eugene Cernan
Da Ripley Mer 18 Gen 2017 - 10:52

» MARS - National Geographic Channel
Da m.a.s Mer 11 Gen 2017 - 3:46

» Questa foto non l'avevo mai vista
Da Pete Conrad Mar 10 Gen 2017 - 19:17

» XP + O2016 + DGIV/UCGO - Crash on Eva
Da Ash Lun 9 Gen 2017 - 18:21

» Ciao a tutti !
Da Andrew Dom 8 Gen 2017 - 10:32

» Felice Anno Nuovo 2017 :)
Da Pete Conrad Dom 1 Gen 2017 - 15:31

» Rilasciato NASSP 7.0 RC
Da Diabolos Mer 28 Dic 2016 - 19:15

» Un Sereno Natale a Tutti! :)
Da Ripley Dom 25 Dic 2016 - 23:24

» Ciao a tutti
Da m.a.s Sab 24 Dic 2016 - 1:58

» Trasmissione "In diretta dalla Luna" su Focus
Da m.a.s Sab 24 Dic 2016 - 1:54

» Configurazione in stile TKS / Gemini MOL
Da Almaz Mer 21 Dic 2016 - 16:46

» Allunaggio DGIV
Da Ripley Lun 19 Dic 2016 - 1:39

» Stasera eclissi totale di Luna!
Da Pete Conrad Sab 17 Dic 2016 - 22:52


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 : 1135
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 : 1135
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 : 1135
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 : 1135
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   

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: