[U3D] Attaccare oggetti ad altri

Argomenti riguardanti il D3D di GameMaker e librerie esterne.
Avatar utente
fra3point
Membro attivo
Messaggi: 388
Iscritto il: 24/08/2010, 15:16
Specialità: Prog. e 3D Modelling
Località: L'Aquila
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da fra3point »

il padre ha un id più basso del figlio, quindi va bene.. Ho messo poi Step() in step e il codice delle matrici in end step.
Non riesco a capire cosa c'è che non va. :furioso: Persiste sempre quel ritardo.. ho provato anche con le ruote. Stessa cosa.
draw_text(100,100,"fra3point");

Progetti in corso:
Spoiler
Tuning Paradise --> 10%

Saw: The Game --> 60%

Tropic Races --> 40%

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da Jak »

Step non serve assolutamente a niente alla fine visto che cè già il mio codice che fa da step lui stesso. In compenso sta questione del ritardo è strana visto che come dici tu nel mio esempio è perfetto :confuso:
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Avatar utente
fra3point
Membro attivo
Messaggi: 388
Iscritto il: 24/08/2010, 15:16
Specialità: Prog. e 3D Modelling
Località: L'Aquila
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da fra3point »

Anche se step lo tolgo rimane sempre il ritardo.. Eppure ho fatto tutto identico al tuo esempio, soltanto cambiando qualche parametro della matrice perché ad esempio devo far ruotare il figlio rispetto all'asse x. Ma questo è ininfluente, dato che l'unico problema che si pone è questo ritardo di movimento rispetto all'oggetto padre..
Se vuoi posto il gmk, magari se puoi ci dai anche un'occhiata te, ma ho controllato mille volte, pare tutto giusto..
draw_text(100,100,"fra3point");

Progetti in corso:
Spoiler
Tuning Paradise --> 10%

Saw: The Game --> 60%

Tropic Races --> 40%

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da Jak »

Posta posta, anche in pm se non vuoi rilasciare in giro roba troppo importante ;)
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Avatar utente
fra3point
Membro attivo
Messaggi: 388
Iscritto il: 24/08/2010, 15:16
Specialità: Prog. e 3D Modelling
Località: L'Aquila
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da fra3point »

ok jak ti mando un pm! grazie del costante aiuto! ;)
draw_text(100,100,"fra3point");

Progetti in corso:
Spoiler
Tuning Paradise --> 10%

Saw: The Game --> 60%

Tropic Races --> 40%

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da Jak »

Non posso negare il mio aiuto in quando esperto di U3D e fanatico del 3d in generale :rockrock:
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da Jak »

Cavolo potevi mettere un modo per uscire che non sia il task manager.
Comunque io non noto alcun "ritardo" nella rotazione, proverò a vedere più lentamente comunque non ho un modo di vedere le doppie marmitte come hai fatto te e non capisco se questo sia spostato o sia normale...
Immagine
Inoltre se non vuoi avere ritardi in generale Step() deve essere messo alla fine di tutto il resto del codice che hai messo nello step event sennò aggiorna con uno step di ritardo...

EDIT: ho ricontrollato muovendola più lentamente, non cè nessun ritardo...
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Avatar utente
fra3point
Membro attivo
Messaggi: 388
Iscritto il: 24/08/2010, 15:16
Specialità: Prog. e 3D Modelling
Località: L'Aquila
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da fra3point »

Per uscire bisognava premere "q" e poi dare l'invio! Scusa se non te l'ho detto..
La seconda marmitta l'ho tolta per fare delle prove..

Comunque ho fatto un altro gmk, stavolta il problema si vede MOLTO bene.. Per mandare avanti/indietro l'auto si deve premere su/giù..

ecco uno screen:
Immagine

Questo è il link di download:http://www.megaupload.com/?d=WC6Q4QH8
draw_text(100,100,"fra3point");

Progetti in corso:
Spoiler
Tuning Paradise --> 10%

Saw: The Game --> 60%

Tropic Races --> 40%

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da Jak »

Come posso vedere dal codice che hai messo:

Codice: Seleziona tutto

TransformMatrix(matrice,matrice,GetObjectTransformation(obj_car_corvette));
Tu trasformi usando le coordinate della macchina ma...
Se io non uso Step() nella macchina questa non si aggiorna di conseguenza non si dovrebbe aggiornare nemmeno la matrice ma la marmitta e le ruote si muovono lo stesso e ciò non ha senso. Che casino hai fatto? Non è che magari hai creato un'altro oggetto macchina (dopo la marmitta) che così prende il posto di questa e fa avvenire tutto in ritardo?

PS: dimmi come cavolo fai a creare quelle maledettissime macchine ed i loro pezzi.
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Avatar utente
fra3point
Membro attivo
Messaggi: 388
Iscritto il: 24/08/2010, 15:16
Specialità: Prog. e 3D Modelling
Località: L'Aquila
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da fra3point »

Allora.. per creare la macchina ho fatto così:

Create event dell'obj_controller:

Codice: Seleziona tutto

global.car_index=obj_car_corvette;   //in questa variabile salvo il nome dell'auto che si deve creare per prima.
global.car_posx=222;
global.car_posy=160;
instance_create(global.car_posx,global.car_posy,global.car_index);     //crea l'oggetto auto nella posizione scelta


Invece, per creare la marmitta ho fatto così, ma conta che è solo per prova.

Nel create event dell'obj_piedistallo (che viene creato nel create della macchina):

Codice: Seleziona tutto

marmitta=instance_create(0,0,obj_marmitta);
marmitta.x=-20;
marmitta.y=-1.8;
marmitta.z=-4;
draw_text(100,100,"fra3point");

Progetti in corso:
Spoiler
Tuning Paradise --> 10%

Saw: The Game --> 60%

Tropic Races --> 40%

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da Jak »

Non trovo il problema ma so solo che se all'inizio tolgo l'instance_create sull'oggetto control non mi da errore come dovrebbe(perchè non esiste nessuna macchina) e ciò è un'alro punto a favore delle mia ipotesi cioè che crei un'altra macchina in qualche modo strano(magari distrutta che non si vede)
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Avatar utente
fra3point
Membro attivo
Messaggi: 388
Iscritto il: 24/08/2010, 15:16
Specialità: Prog. e 3D Modelling
Località: L'Aquila
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da fra3point »

Allora.. Ho tolto instance_create. L'errore effettivamente non lo da ma penso che semplicemente, dato che la macchina non viene creata, la sua matrice di trasformazione avrà tutti parametri a 0 e che associa all'oggetto figlio proprio questa matrice "vuota". Ora però non so se U3D ritorna un errore se non trova la matrice associata ad un oggetto inesistente o se, come ho ipotizzato, ritorni una matrice vuota. Comunque non trovo nessun'altra istanza dell'oggetto macchina... Provo a rivedere meglio..

EDIT: nella documentazione c'è scritto che per ogni matrice creata bisogna mettere un ReleaseMatrix(). Forse non cambia nulla, ma in teoria dove lo devo mettere?

EDIT2: Non c'è nessun'altra macchina creata. Ho rivisto bene tutto quanto... è da pazzi! Nel tuo esempio funziona! E a me no! :furiosomedio:
draw_text(100,100,"fra3point");

Progetti in corso:
Spoiler
Tuning Paradise --> 10%

Saw: The Game --> 60%

Tropic Races --> 40%

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da Jak »

ReleaseMatrix serve a distruggere una matrice ma non ha senso farlo visto che è la matrice dell'oggetto 3d e potresti avere degli errori.
L'errore non è dipendente da u3d ma dal fatto che gm darebbe errore perchè non trova la variabile di un'oggetto che non esiste. Questo è un dato di fatto che sicuramente dovrebbe accadere.
EDIT: è vero però, è possibile che non dia errore visto che non usa nessuna variabile(credo), fatto sta che la marmitta è collegata ad una matrice e non si muoverà per nessun motivo se non sposti questa matrice a cui è collegata. Se tu non sposti l'oggetto principale le ruote si muovono lo stesso quindi i conti non tornano. Prova a mettere l'id della macchina(lo restituisce il tuo instance_create) piuttosto del nome dell'oggetto.
EDIT: ho provato ed ha comunque il ritardo
EDIT2: ho notato che il modello non ha nessuna ruota, come mai le altre 3 ruote sono sincronizzate perfettamente?
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Avatar utente
fra3point
Membro attivo
Messaggi: 388
Iscritto il: 24/08/2010, 15:16
Specialità: Prog. e 3D Modelling
Località: L'Aquila
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da fra3point »

Innanzitutto, la variabile "inesistente" in realtà esiste, perché ho messo nei settings inizializza variabili a 0.
Per quanto riguarda le altre 3 ruote.. beh.. E' ancora più strana la cosa. Io ho creato degli script che agganciano le ruote alla macchina secondo il tutorial di filo. All'inizio davano lo stesso problema del ritardo, poi ho cambiato l'ordine di alcuni pezzi di codice in step e tutto funzionava.. Ma soltanto per 3 ruote, una rimaneva sempre in ritardo.. :?
draw_text(100,100,"fra3point");

Progetti in corso:
Spoiler
Tuning Paradise --> 10%

Saw: The Game --> 60%

Tropic Races --> 40%

Avatar utente
BaronVsCorsar
GMI VIP
Messaggi: 4699
Iscritto il: 14/02/2004, 12:05
Specialità: Saccenza
Uso: GameMaker 8.1
Località: Ferrara
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da BaronVsCorsar »

fra3point ha scritto:Innanzitutto, la variabile "inesistente" in realtà esiste, perché ho messo nei settings inizializza variabili a 0.
ecco come rendere ostico (o impossibile) il debug. Sconsiglio in qualsiasi situazione quella opzione. Non mi capacito davvero quali vantaggi dia.. evitare un "variabile= 0"?

Sicuro che il problema non sia banalmente nell'ordine delle azioni:
ancoraggio a posizione macchina dello scappamento-> aggiornamento posizione macchina -> evento draw (disegna scappamento in posizione dello step precedente).

In altre parole qualche cosa totalmente separato dal 3D?
ImmagineSchiva questo - http:\\baronvscorsar.altervista.org
by Lego: Vado in un bar e faccio "votiamo che quel tizio la in fondo venga buttato fuori", ma perché?

Avatar utente
fra3point
Membro attivo
Messaggi: 388
Iscritto il: 24/08/2010, 15:16
Specialità: Prog. e 3D Modelling
Località: L'Aquila
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da fra3point »

Sì sono abbastanza sicuro, più che altro perché ho fatto un sacco di prove con (quasi) tutte le combinazioni possibili di ordine dei codici.. Eppure sono sicuro che c'è ancora qualcosa che non ho visto e che continuo a non vedere rileggendo i codici nel gmk.... :fapensare:
draw_text(100,100,"fra3point");

Progetti in corso:
Spoiler
Tuning Paradise --> 10%

Saw: The Game --> 60%

Tropic Races --> 40%

Avatar utente
fra3point
Membro attivo
Messaggi: 388
Iscritto il: 24/08/2010, 15:16
Specialità: Prog. e 3D Modelling
Località: L'Aquila
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da fra3point »

ciao a tutti! sono stato assente per un bel po' perché ho avuto dei problemi.. ma sono tornato! Ho controllato minuziosamente tutto il codice, tutti gli oggetti, tutti gli eventi, tutti gli scripts! Ho riconvertito tutte le posizioni degli oggetti figli nel metodo delle matrici. Ma nulla da fare! un mese di lavoro buttato al vento! :furioso:
Non lo so, forse dipende da un errore di calcolo di GM, l'unica cosa che mi pare strana è che l'esempio di jak andava alla perfezione..
draw_text(100,100,"fra3point");

Progetti in corso:
Spoiler
Tuning Paradise --> 10%

Saw: The Game --> 60%

Tropic Races --> 40%

Jak
Admin
Messaggi: 12355
Iscritto il: 19/08/2009, 16:20
Specialità: Programmazione 3D
Uso: GM:Studio 2
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da Jak »

Prova a non mettere alcun codice nello step dei figli e far eseguire l'aggiornamento nello step del padre tramite un with
Altro consiglio non posso darti visto che la faccenda è assai strana.
Time to feel, time to believe
Dare to see what may come of our future
Lift your head, broaden your gaze
Speak your mind and your thoughts they will follow you

Avatar utente
civic71
GMI Advanced
Messaggi: 2210
Iscritto il: 23/10/2003, 17:31
Specialità: Risotto con zucchine
Uso: GM:Studio 1.4 Pro
Località: Jesolo (venezia)
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da civic71 »

Peccato non possa avviare il gmk per dargli un occhiata approfondita non avendo la versione di GM registrata e non essendo per GM 5.0 :?
Ho aperto con la versione lite di gm8 il gmk ( postato da te il 31 marzo ) ed ho notato che hai fatto un gran lavoro , con numerosi file.3d , ma il codice è difficile da comprendere anche perchè in parte è puro codice ed in parte utilizzi ancora con le icone.
Poi in diversi object trovo Step() prima e non alla fine dell' evento step anche se poi questo non dovrebbe influire sull' errore che tu riscontri. :hum:

Ripeto, non potendolo avviare non posso controllarlo.

Avatar utente
fra3point
Membro attivo
Messaggi: 388
Iscritto il: 24/08/2010, 15:16
Specialità: Prog. e 3D Modelling
Località: L'Aquila
Contatta:

Re: [U3D] Attaccare oggetti ad altri

Messaggio da fra3point »

@civic71: Step() l'ho tolto in tutti gli oggetti che trasformo usando le matrici, dato che Step() fa proprio quello.
@jak: proverò anche questa soluzione, vediamo come va a finire questa storia, semmai la risolverò! :|
draw_text(100,100,"fra3point");

Progetti in corso:
Spoiler
Tuning Paradise --> 10%

Saw: The Game --> 60%

Tropic Races --> 40%

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 21 ospiti