Forum Orbiter Italia
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.


CLICCA QUI PER SCARICARE ORBITER 2016
 
IndiceIndice  LinkLink  Ultime immaginiUltime immagini  CercaCerca  RegistratiRegistrati  Accedi  
Accedi
Nome utente:
Password:
Connessione automatica: 
:: Ho dimenticato la password
FOI è sui social



Parole chiave
terra tastiera Antares DGIV 2024 2025 modellino texture Rientro autofcs 2022 AMSO tutorial Eridanus Nassp OrbiterSound ummu SPACE TransX Fausto jarvis comandi IMFD d3d9 apollo Shuttle
Siti amici
AstronautiNEWS

ForumAstronautico

Orbiter Forum

Tuttovola.org
Ultimi argomenti attivi
» Buona Pasqua 2024!
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Ripley Mar 2 Apr 2024 - 22:13

» Premiato il team del satellite italiano AGILE
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Andrew Mer 21 Feb 2024 - 17:17

» Progetto: NOVA HLV
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Andrew Lun 5 Feb 2024 - 8:55

» Space Shuttle Atlantis al KSC Visitor Complex
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Andrew Gio 22 Giu 2023 - 11:46

» Primo lancio di Starship: successo o fallimento?
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Andrew Ven 5 Mag 2023 - 18:19

» Rendere L'audio di Orbiter Sound e XR Sound indipendenti senza capogiri!
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Kappa4401 Mer 5 Apr 2023 - 13:59

» Kappa4401 Orbiter's Tour
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Kappa4401 Mer 29 Mar 2023 - 13:59

» OpenOrbiter BETA
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Ripley Mer 29 Mar 2023 - 0:39

» Missione "Robin Sunrise"
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Andrew Mar 20 Dic 2022 - 8:56

» Errore Orbiter "Initialising 3D environment"
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Ripley Mar 13 Dic 2022 - 16:26

» Artemis I
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Ripley Mar 22 Nov 2022 - 16:16

» Sviluppo della Flotta XR Open Source
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Ripley Lun 14 Nov 2022 - 15:24

» D3D9 - il client grafico di Jarmonik
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Ripley Lun 31 Ott 2022 - 12:28

» Ci ha lasciati Jim McDivitt
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Pete Conrad Lun 17 Ott 2022 - 21:19

» "Starlab" space station
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Pete Conrad Gio 6 Ott 2022 - 15:12

» Ciao a tutti
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Andrew Lun 5 Set 2022 - 22:01

» "Saturn X" concept
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Andrew Mer 10 Ago 2022 - 0:30

» Avere 2 versioni della stessa base
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Ripley Mar 28 Giu 2022 - 17:49

» Costruiranno uno spazioporto per suborbitali a Taranto?
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Francy03 Sab 18 Giu 2022 - 20:04

» Missione Minerva
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Ripley Gio 16 Giu 2022 - 23:06

» Ciao a tutti da Francy
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Ripley Gio 16 Giu 2022 - 11:59

» Orbit Hangar - nuovo indirizzo
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Ripley Lun 13 Giu 2022 - 17:46

» Ruote dei Delta Glider e Simili mezze sottoterra!
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Kappa4401 Ven 11 Mar 2022 - 20:22

» E' morto Tito Stagno
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Pete Conrad Mar 1 Feb 2022 - 20:41

» Crash di Orbiter 2016 con gli astronauti!
[C++] Gestione animazioni MGROUP_SCALE EmptyDa Ripley Mar 4 Gen 2022 - 14:03

Argomenti simili

 

 [C++] Gestione animazioni MGROUP_SCALE

Andare in basso 
3 partecipanti
AutoreMessaggio
Matt44
Add-on Developer
Add-on Developer
Matt44


Numero di messaggi : 1226
Età : 45
Località : Bergamo
Data d'iscrizione : 13.04.11

[C++] Gestione animazioni MGROUP_SCALE Empty
MessaggioTitolo: [C++] Gestione animazioni MGROUP_SCALE   [C++] Gestione animazioni MGROUP_SCALE EmptyMer 19 Giu 2013 - 13:37

Sto definendo un paracadute e come facevo con spacecraft3 ho utilizato SCALE, ed in questo caso MGROUP_SCALE. Ho però un problema non riesco a fermare l'animazione; per spiegarmi meglio la mia idea era di creare un animazione che rimpicciolisce la mesh del paracadute e poi farla andare al contrario... (da 1 a 0) solo che il paracadute si rimpicciolisce ma poi non torna più indietro.

Io sono partito da questo che ho trovato su OH

MGROUP_SCALE bay2 (0, LGrp2, 2, _V(8.111672,-6.521036,-54.86), _V(0,1,0));
Torna in alto Andare in basso
Fausto
Admin
Admin
Fausto


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

[C++] Gestione animazioni MGROUP_SCALE Empty
MessaggioTitolo: Re: [C++] Gestione animazioni MGROUP_SCALE   [C++] Gestione animazioni MGROUP_SCALE EmptyMer 19 Giu 2013 - 14:00

Aspetta, non ho capito: le due cose devono essere fatte da sole in sequenza o devi fare in modo che premendo il tasto l'animazione ritorni al punto di partenza?
Torna in alto Andare in basso
Matt44
Add-on Developer
Add-on Developer
Matt44


Numero di messaggi : 1226
Età : 45
Località : Bergamo
Data d'iscrizione : 13.04.11

[C++] Gestione animazioni MGROUP_SCALE Empty
MessaggioTitolo: Re: [C++] Gestione animazioni MGROUP_SCALE   [C++] Gestione animazioni MGROUP_SCALE EmptyMer 19 Giu 2013 - 14:09

Vorrei che premendo il tasto l'animazione si attivi rimpicciolisca il paracadute e poi ripremendolo torni indietro, con TRANSALTE e ROTATE funziona perfettamente, con SCALE non funziona. Non capisco se devo fare qualcosa di differente.

static UINT Par1Grp[8] = {60,61,159,160,147,149,118,119};
static MGROUP_SCALE Par1 (0, Par1Grp, 8, _V(8.111672,-6.521036,-54.86), _V(0,1,0));
anim_pan1 = CreateAnimation (0);
AddAnimationComponent (anim_Par1, 0, 1, &Par1);

Quello sopra è la definizione dell'animazione che uso per ogni animazione, l'unica cosa che cambia è  MGROUP_SCALE.
Torna in alto Andare in basso
Fausto
Admin
Admin
Fausto


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

[C++] Gestione animazioni MGROUP_SCALE Empty
MessaggioTitolo: Re: [C++] Gestione animazioni MGROUP_SCALE   [C++] Gestione animazioni MGROUP_SCALE EmptyMer 19 Giu 2013 - 14:45

Il codice che vedo qui è giusto, il mio sospetto è che ci sia qualcosa da qualche altra parte che impedisce l'animazione.. ora non ho sotto mano il codice ma domani vedo di postarti le varie parti che vanno a creare l'animazione del gonfiaggio del galleggiante di Antares.. sono sicuro che si tratta di qualche virgola o qualche parentesi mancante, com'è di solito in questi casi Censored
Torna in alto Andare in basso
Matt44
Add-on Developer
Add-on Developer
Matt44


Numero di messaggi : 1226
Età : 45
Località : Bergamo
Data d'iscrizione : 13.04.11

[C++] Gestione animazioni MGROUP_SCALE Empty
MessaggioTitolo: Re: [C++] Gestione animazioni MGROUP_SCALE   [C++] Gestione animazioni MGROUP_SCALE EmptyMer 19 Giu 2013 - 14:57

Come al solito, grazie... non c'è urgenza comunque Smile
Torna in alto Andare in basso
fred18
Add-on Developer
Add-on Developer



Numero di messaggi : 950
Età : 41
Località : La Spezia
Data d'iscrizione : 04.01.12

[C++] Gestione animazioni MGROUP_SCALE Empty
MessaggioTitolo: Re: [C++] Gestione animazioni MGROUP_SCALE   [C++] Gestione animazioni MGROUP_SCALE EmptyMer 19 Giu 2013 - 15:36

Domanda: per translate e rotate ti funziona semplicemente così? perché in teoria il "ritorno" dell'animazione dovrebbe essere definito in post step o in cosume buffered key a seconda di dove lo si mette: il concetto è premo il tasto dell'animazione, se lo stato dell'animazione è 0 allora parte in un verso, se lo stato dell'animazione è 1 allora parte nell'altro. Anche perché non è detto che debba fare avanti e indietro (pensa a come le usi con Spacecraft3). Mi meraviglia che funzioni così easy con translate e rotate. confused 2
Torna in alto Andare in basso
Matt44
Add-on Developer
Add-on Developer
Matt44


Numero di messaggi : 1226
Età : 45
Località : Bergamo
Data d'iscrizione : 13.04.11

[C++] Gestione animazioni MGROUP_SCALE Empty
MessaggioTitolo: Re: [C++] Gestione animazioni MGROUP_SCALE   [C++] Gestione animazioni MGROUP_SCALE EmptyMer 19 Giu 2013 - 15:53

Quella è la definizione, che è l'unica cosa che cambia. Tutto il resto rimane invariato.

Poi c'è la gestione dello stato, ma quella parte non è stata toccata... appena posso farò altre prove, ora mi sto distraendo per non impazzirci sopra, che poi magari è la solita virgola persa per strada.
Torna in alto Andare in basso
Fausto
Admin
Admin
Fausto


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

[C++] Gestione animazioni MGROUP_SCALE Empty
MessaggioTitolo: Re: [C++] Gestione animazioni MGROUP_SCALE   [C++] Gestione animazioni MGROUP_SCALE EmptyVen 21 Giu 2013 - 14:09

Come promesso, posto qui tutte le parti relative all'animazione del galleggiante, spero possa essere utile a risolvere i tuoi dubbi:

Codice:
const double GALL_OPERATING_SPEED = 0.5;

class antares: public VESSEL2 {
public:
enum DoorStatus { DOOR_CLOSED, DOOR_OPEN, DOOR_CLOSING, DOOR_OPENING }status_gall;

void Activategall (DoorStatus action);
   void Revertgall (void);

UINT anim_gall;

double proc_gall;
};


antares::antares (OBJHANDLE hObj, int fmodel)
: VESSEL2 (hObj, fmodel)
{
status_gall = DOOR_CLOSED;

proc_gall = 0.0
}

void antares::clbkPostStep (double simt, double simdt, double mjd){
if (status_gall >= DOOR_CLOSING) {
      double da = oapiGetSimStep() * GALL_OPERATING_SPEED;
      if (status_gall == DOOR_CLOSING) {
         if (proc_gall > 0.0)
            proc_gall = max (0.0, proc_gall-da);
         else {
            status_gall = DOOR_CLOSED;
            }
      } else  { // door opening
         if (proc_gall < 1.0)
            proc_gall= min (1.0, proc_gall+da);
         else {
            status_gall = DOOR_OPEN;

         }

         }
      SetAnimation (anim_gall, proc_gall);
}

}


void antares::clbkSaveState (FILEHANDLE scn)
{
if (status_gall) {
   sprintf (cbuf, "%d %0.4f", status_gall, proc_gall);
   oapiWriteScenario_string (scn, "GALL", cbuf);

  }      

}

void antares::clbkLoadStateEx (FILEHANDLE scn, void *vs)
{
if (!strnicmp (line, "GALL", 4))
         sscanf (line+4, "%d%lf", &status_gall, &proc_gall);

SetAnimation (anim_gall, proc_gall);

}


void antares::DefineAnimations (void)
{
static UINT gall1Grp[1] = {13};
static MGROUP_SCALE gall1 (midx,gall1Grp, 1, _V(0.948,0.942,2.03), _V(15,15,15));
static UINT gall2Grp[1] = {12};
static MGROUP_SCALE gall2 (midx,gall2Grp, 1, _V(0.948,-0.942,2.03), _V(15,15,15));
static UINT gall3Grp[1] = {11};
static MGROUP_SCALE gall3 (midx,gall3Grp, 1, _V(-0.948,-0.942,2.03), _V(15,15,15));
static UINT gall4Grp[1] = {10};
static MGROUP_SCALE gall4 (midx,gall4Grp, 1, _V(-0.948,0.942,2.03), _V(15,15,15));
static UINT gall5Grp[1] = {9};
static MGROUP_SCALE gall5 (midx,gall5Grp, 1, _V(0.0,0.0,-2.342), _V(4,4,5));
static UINT gallmark1Grp[1] = {89};
static MGROUP_TRANSLATE gallmark1 (midx, gallmark1Grp, 1, _V(0.0,-0.007,0.0));
static UINT gallmark2Grp[1] = {89};
static MGROUP_TRANSLATE gallmark2 (midx, gallmark2Grp, 1, _V(0.0,-0.008,0.0));
anim_gall=CreateAnimation (0.0);
AddAnimationComponent (anim_gall, 0, 1, &gall1);
AddAnimationComponent (anim_gall, 0, 1, &gall2);
AddAnimationComponent (anim_gall, 0, 1, &gall3);
AddAnimationComponent (anim_gall, 0, 1, &gall4);
AddAnimationComponent (anim_gall, 0.0, 1, &gall5);
AddAnimationComponent (anim_gall, 0.0, 0.01, &gallmark1);
AddAnimationComponent (anim_gall, 0.99, 1, &gallmark2);
}


int antares::clbkConsumeBufferedKey(DWORD key, bool down, char *kstate)
{
if (!down) return 0;
   switch (key) {
case OAPI_KEY_G: 
PlayVesselWave3(MyID, 11);
if (GroundContact()) RevertMasterAlarm(),PlayVesselWave3(MyID, 1);
   
else Revertgall();
return 1;
}
return 0;

}

void antares::Activategall (DoorStatus action)
{
   status_gallswitch = action;
}

void antares::Revertgall (void)
{
   Activategall ((status_gallswitch == DOOR_CLOSED || status_gallswitch == DOOR_CLOSING) ?
      DOOR_OPENING : DOOR_CLOSING);
}


void antares::clbkPostCreation()
{
SetAnimation (anim_gall, proc_gall);
}

Credo di aver messo tutto.. copia ed incolla e prendi spunto sostituendo i nomi delle tue animazione al posto delle mie, cancella le parti che non ti servono.. e facci sapere il risultato!Winkie
Torna in alto Andare in basso
Contenuto sponsorizzato





[C++] Gestione animazioni MGROUP_SCALE Empty
MessaggioTitolo: Re: [C++] Gestione animazioni MGROUP_SCALE   [C++] Gestione animazioni MGROUP_SCALE Empty

Torna in alto Andare in basso
 
[C++] Gestione animazioni MGROUP_SCALE
Torna in alto 
Pagina 1 di 1
 Argomenti simili
-
» [Vinka] Animazioni
» [C++] Gestione RCS
» Gestione Replay

Permessi in questa sezione del forum:Non puoi rispondere agli argomenti in questo forum.
Forum Orbiter Italia :: Progetti della community :: Sviluppo Add-on :: Orbiter SDK-
Vai verso: