Ovviamente dal manualeXeryan ha scritto:Il fatto è che non so' proprio da dove partire...
[D3D] Rotazione modello 3D con click su assi come in Unity3D
- Sla
- GMI VIP
- Messaggi: 3618
- Iscritto il: 21/07/2008, 10:11
- Specialità: Titanismo
- Località: (gm) Italia
- Contatta:
Re: [D3D] Rotazione modello 3D con click su assi come in Uni
eppure mi sembra tutto giusto...
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: [D3D] Rotazione modello 3D con click su assi come in Uni
Una soluzione molto semplice senza usare trigonometria è quella di disegnare separatamente su una surface quei cerchi con il loro colore puro(rosso,blu,verde senza sfumature) dopodichè fai surface_get_pixel() per scoprire l'asse cliccato in base al colore del pixel dove sta il mouse. Con un piccolo offset puoi tenere la surface piuttosto piccola e non grande come tutto lo schermo ma se vuoi potresti anche farlo per semplicità. La surface la crei all'inizio per il resto basta pulirla ogni volta che clicchi e disegnarci sopra i cerchi(che sarà un'operazione piuttosto veloce) e ruotare il modello di conseguenza con le trasformazioni.
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
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
- Sla
- GMI VIP
- Messaggi: 3618
- Iscritto il: 21/07/2008, 10:11
- Specialità: Titanismo
- Località: (gm) Italia
- Contatta:
Re: [D3D] Rotazione modello 3D con click su assi come in Uni
che trovate geniali, jak
Se vuoi fare i calcoli ancora più velocemente potresti trasformare la surface in sprite e verificare la collisione col mouse.
Se vuoi fare i calcoli ancora più velocemente potresti trasformare la surface in sprite e verificare la collisione col mouse.
eppure mi sembra tutto giusto...
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: [D3D] Rotazione modello 3D con click su assi come in Uni
Thanks. Mi è venuta così di getto guardando l'immagine di xeryan.Super_Slascio ha scritto:che trovate geniali, jak
Convertire la surface in sprite non è un'operazione velocissima inoltre il massimo che puoi fare è controllare se viene cliccato uno dei 3 assi ma non quale.(Non esiste nemmeno sprite_get_pixel) inoltre se si pulisce la surface con un'altro colore come nero o bianco si può verificare anche se almeno uno degli assi è stato cliccato oppure no quindi la conversione in sprite è abbastanza inutile, specialmente se, come è probabilmente, la visuale si muove spesso così come gli assi stessi quindi si creerebbe uno sprite ad ogni frame, non è conveniente.Super_Slascio ha scritto:Se vuoi fare i calcoli ancora più velocemente potresti trasformare la surface in sprite e verificare la collisione col mouse.
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
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
-
- GMI Advanced
- Messaggi: 2093
- Iscritto il: 19/12/2010, 16:17
- Specialità: Programmazione
- Uso: GM:Studio 1.4 Standard
- Contatta:
Re: [D3D] Rotazione modello 3D con click su assi come in Uni
Credo che i cerchi te li devi disegnare in d3d su una surface... che centra l'immagine?
♥♥♥♥♥♥
♥♥♥♥♥♥
♥♥♥♥♥♥
Spoiler
-
- GMI Advanced
- Messaggi: 2093
- Iscritto il: 19/12/2010, 16:17
- Specialità: Programmazione
- Uso: GM:Studio 1.4 Standard
- Contatta:
Re: [D3D] Rotazione modello 3D con click su assi come in Uni
Non ti abbattere!
♥♥♥♥♥♥
♥♥♥♥♥♥
♥♥♥♥♥♥
Spoiler
-
- Admin
- Messaggi: 12355
- Iscritto il: 19/08/2009, 16:20
- Specialità: Programmazione 3D
- Uso: GM:Studio 2
- Contatta:
Re: [D3D] Rotazione modello 3D con click su assi come in Uni
Si esatto, è chiaro che i cerchi li devi disegnare a mano per corrispondere alla visuale 3d.
Se fosse uno sprite fisso non ci sarebbero problemi ma lo trovo decisamente controintuitivo
Non è così complesso disegnare i cerchi a mano dai, basta un for.
Per l'aggiunta alla precedente rotazione... se usi gli angoli di eulero(quindi i 3 cerchi si adattano automaticamente in base al modello e non sono "fissi") non ci sono problemi, hai una corrispondenza precisa. Se invece vuoi proprio far seguire l'asse statico non saprei, con le matrici a mano sarebbe tutto più facile ma game maker non lo permette. Avevo trovato dei calcoli per ottenere ciò ma ora non li trovo più. Una ricerca approfondita su google dovrebbe essere sufficiente.
Se fosse uno sprite fisso non ci sarebbero problemi ma lo trovo decisamente controintuitivo
Non è così complesso disegnare i cerchi a mano dai, basta un for.
Per l'aggiunta alla precedente rotazione... se usi gli angoli di eulero(quindi i 3 cerchi si adattano automaticamente in base al modello e non sono "fissi") non ci sono problemi, hai una corrispondenza precisa. Se invece vuoi proprio far seguire l'asse statico non saprei, con le matrici a mano sarebbe tutto più facile ma game maker non lo permette. Avevo trovato dei calcoli per ottenere ciò ma ora non li trovo più. Una ricerca approfondita su google dovrebbe essere sufficiente.
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
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
-
- GMI Advanced
- Messaggi: 2093
- Iscritto il: 19/12/2010, 16:17
- Specialità: Programmazione
- Uso: GM:Studio 1.4 Standard
- Contatta:
Re: [D3D] Rotazione modello 3D con click su assi come in Uni
mi pare che funzionino bene... una volta ho fatto uno specchio i d3d e funzionava benissimo la proiezione...
♥♥♥♥♥♥
♥♥♥♥♥♥
♥♥♥♥♥♥
Spoiler
Chi c’è in linea
Visitano il forum: Nessuno e 27 ospiti