RILASCIATO ORBITER 2016!!! CLICCA QUI PER SCARICARLO
 
IndiceIndice  FAQFAQ  LinkLink  CercaCerca  RegistratiRegistrati  Accedi  
Accedi
Nome utente:
Password:
Connessione automatica: 
:: Ho dimenticato la password
FOI sui social networks
Argomenti simili
Siti Amici
Astronautica Ultima Speranza

AstronautiNEWS

Orbiter Forum

Tuttovola.org

Contatore Visite
Ultimi argomenti
» Rilasciato Anim8or versione 1.0
Da Ripley Mar 19 Set 2017 - 22:31

» D3D9Client - il client grafico di Jarmonik
Da Ripley Mar 19 Set 2017 - 17:26

» Nuova versione BETA di Orbiter
Da Ripley Ven 1 Set 2017 - 16:18

» Segnali di vita da Dansteph!
Da Ripley Gio 31 Ago 2017 - 0:06

» Multistage2015
Da fred18 Lun 28 Ago 2017 - 14:10

» Sviluppo di una base italiana - Sede ASVI
Da marcogavazzeni Dom 27 Ago 2017 - 21:19

» Terza missione di Paolo Nespoli nello spazio.
Da marcozambi Dom 27 Ago 2017 - 9:34

» Texfilms - Un nuovo canale streaming live
Da Ripley Dom 20 Ago 2017 - 20:14

» Nuove textures HRSC per Marte
Da wolf Ven 18 Ago 2017 - 12:02

» Domanda ridicola sui piani orbitali Terra-Luna
Da Ripley Mar 8 Ago 2017 - 7:29

» Space Shuttle Ultra - il vero Shuttle a casa vostra
Da wolf Gio 3 Ago 2017 - 21:17

» sound e carburante limitato
Da DDD Mer 2 Ago 2017 - 11:11

» Cambio indirizzo mail
Da Ripley Mar 1 Ago 2017 - 16:28

» [Risolto] Problema download XR Fleet
Da DDD Dom 23 Lug 2017 - 9:39

» [Risolto] Problema avviamento Orbiter
Da Ripley Sab 22 Lug 2017 - 21:12

» Buonasera, mi presento
Da Ripley Sab 22 Lug 2017 - 14:40

» Nuove navi in sviluppo per la flotta XR: XR0, XR3, XR4
Da wolf Ven 7 Lug 2017 - 12:24

» Traduzione ITA manuale operativo di volo flotta XR
Da Ripley Ven 7 Lug 2017 - 11:44

» GeneralVehicle
Da marcogavazzeni Gio 29 Giu 2017 - 20:24

» Vittime del lancio della Progress MS-06
Da Ripley Sab 24 Giu 2017 - 22:50


Condividere | 
 

 Scudo Termico

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

Numero di messaggi : 1163
Età : 48
Località : Bergamo
Data d'iscrizione : 04.01.09

MessaggioTitolo: 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
Vedi il profilo dell'utente http://www.orbithangar.com/searchauth.php?search=marcogavazzeni
Fausto
Admin
Admin
avatar

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

MessaggioTitolo: 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
Vedi il profilo dell'utente
marcogavazzeni
Add-on Developer
Add-on Developer
avatar

Numero di messaggi : 1163
Età : 48
Località : Bergamo
Data d'iscrizione : 04.01.09

MessaggioTitolo: 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
Vedi il profilo dell'utente http://www.orbithangar.com/searchauth.php?search=marcogavazzeni
marcogavazzeni
Add-on Developer
Add-on Developer
avatar

Numero di messaggi : 1163
Età : 48
Località : Bergamo
Data d'iscrizione : 04.01.09

MessaggioTitolo: 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
Vedi il profilo dell'utente http://www.orbithangar.com/searchauth.php?search=marcogavazzeni
Fausto
Admin
Admin
avatar

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

MessaggioTitolo: 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
Vedi il profilo dell'utente
Fausto
Admin
Admin
avatar

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

MessaggioTitolo: 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
Vedi il profilo dell'utente
marcogavazzeni
Add-on Developer
Add-on Developer
avatar

Numero di messaggi : 1163
Età : 48
Località : Bergamo
Data d'iscrizione : 04.01.09

MessaggioTitolo: 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
Vedi il profilo dell'utente http://www.orbithangar.com/searchauth.php?search=marcogavazzeni
Fausto
Admin
Admin
avatar

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

MessaggioTitolo: 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
Vedi il profilo dell'utente
Contenuto sponsorizzato




MessaggioTitolo: 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
» Polveri da taglio laser: non rifiuto?

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