Come faccio a disegnare una stanza?

Argomenti riguardanti il D3D di GameMaker e librerie esterne.
Rispondi
Avatar utente
Paperpaint
Membro attivo
Messaggi: 375
Iscritto il: 02/01/2014, 16:19
Specialità: Visionario lol
Uso: GameMaker 8.1
Contatta:

Come faccio a disegnare una stanza?

Messaggio da Paperpaint »

In realtà le cose che voglio chiedervi sono diverse.
Ho visto un tutorial su come creare una stanza e un object player 3d.
La cosa negativa dei tutorial però, e che non ci sono in italiano, e quelli che sono in inglese non sono fatti bene, perché?
Semplicemente perché man mano che scrivono, non ti spiegano ciò che scrivono!

Quindi,essenzialmente, il codice non si può imparare a memoria, assurdo. E' ovvio che bisogna conoscere un linguaggio intero, per poi arrivare con la propria logica a costruire le proprie regole, ragionando ottieni i risultati(se non siete come me che sono alle prime armi).

ma per esempio:
direction -= (display_mouse_get_x()-(display_get_width()/2))/5;
Io di questa riga ho capito solo che la direzione della telecamera dipende dalla posizione del mouse sull'asse x, il resto non l'ho capito, soprattutto quel /2 e /5.
Questa è solo una parte del codice, mi ci vorrebbe qualcuno ce me lo facesse comprendere, ma sono venuto per altro qui.

come faccio a: fare in modo che il personaggio si muova con wasd e a disegnare una stanza con relative mura? Ovviamente i muri devono bloccare il player, evitando diciamo l'effetto fantasma lol.

Vorrei fare un gioco horror, quindi mi servono tante cose, incominciamo da queste.
Grazie. :)

Avatar utente
Cash
Membro super
Messaggi: 933
Iscritto il: 09/11/2013, 20:40
Uso: GM:Studio 1.4 Pro
Contatta:

Re: Come faccio a disegnare una stanza?

Messaggio da Cash »

Paperpaint ha scritto:In realtà le cose che voglio chiedervi sono diverse.
Ho visto un tutorial su come creare una stanza e un object player 3d.
La cosa negativa dei tutorial però, e che non ci sono in italiano, e quelli che sono in inglese non sono fatti bene, perché?
Semplicemente perché man mano che scrivono, non ti spiegano ciò che scrivono!

Quindi,essenzialmente, il codice non si può imparare a memoria, assurdo. E' ovvio che bisogna conoscere un linguaggio intero, per poi arrivare con la propria logica a costruire le proprie regole, ragionando ottieni i risultati(se non siete come me che sono alle prime armi).

ma per esempio:
direction -= (display_mouse_get_x()-(display_get_width()/2))/5;
Io di questa riga ho capito solo che la direzione della telecamera dipende dalla posizione del mouse sull'asse x, il resto non l'ho capito, soprattutto quel /2 e /5.
Questa è solo una parte del codice, mi ci vorrebbe qualcuno ce me lo facesse comprendere, ma sono venuto per altro qui.

come faccio a: fare in modo che il personaggio si muova con wasd e a disegnare una stanza con relative mura? Ovviamente i muri devono bloccare il player, evitando diciamo l'effetto fantasma lol.

Vorrei fare un gioco horror, quindi mi servono tante cose, incominciamo da queste.
Grazie. :)
Quella linea indica di quanto si è spostato il mouse dal centro dello schermo,io la uso per modificare la direzione del giocatore per fare mouselook per un fps. Nessuno spiega niente del 3D perchè sono cose che leggendo il manuale sono immediate,vuoi disegnare un cubo?d3d_draw_block(x1,y1,z1,x2,y2,z2 etc). Una sfera?d3d_draw_elipsoid. Vuoi modificare la prospettiva dal quale si guarda?d3d_set_projection. Per quello che chiedi tu:
Crea un gioco con vista dall'alto dove ti puoi muovere con wasd MA premendo W il personaggio va avanti alla direzione che è rivolto,direzione=90° va su,direzione=0° va a destra etc. Per far diventare tutto 3D devi usare d3d_set_projection e POI disegnare tutto(fatti uno script per non doverti riscrivere ogni volta lo stesso comando,che è lunghetto). Per mouselook:controlli se il mouse si è mosso dal centro dello schermo e se si poi giri il personaggio,internet è pieno di questi esempi. Ricordati che in 3D bisogna occuparsi di molte più cose del 2D,non è impossibile ma se fai fatica con una cosa come quella dell'ultimo topic forse è meglio che fai qualche passo indietro

Avatar utente
Paperpaint
Membro attivo
Messaggi: 375
Iscritto il: 02/01/2014, 16:19
Specialità: Visionario lol
Uso: GameMaker 8.1
Contatta:

Re: Come faccio a disegnare una stanza?

Messaggio da Paperpaint »

Cash ha scritto:
Paperpaint ha scritto:In realtà le cose che voglio chiedervi sono diverse.
Ho visto un tutorial su come creare una stanza e un object player 3d.
La cosa negativa dei tutorial però, e che non ci sono in italiano, e quelli che sono in inglese non sono fatti bene, perché?
Semplicemente perché man mano che scrivono, non ti spiegano ciò che scrivono!

Quindi,essenzialmente, il codice non si può imparare a memoria, assurdo. E' ovvio che bisogna conoscere un linguaggio intero, per poi arrivare con la propria logica a costruire le proprie regole, ragionando ottieni i risultati(se non siete come me che sono alle prime armi).

ma per esempio:
direction -= (display_mouse_get_x()-(display_get_width()/2))/5;
Io di questa riga ho capito solo che la direzione della telecamera dipende dalla posizione del mouse sull'asse x, il resto non l'ho capito, soprattutto quel /2 e /5.
Questa è solo una parte del codice, mi ci vorrebbe qualcuno ce me lo facesse comprendere, ma sono venuto per altro qui.

come faccio a: fare in modo che il personaggio si muova con wasd e a disegnare una stanza con relative mura? Ovviamente i muri devono bloccare il player, evitando diciamo l'effetto fantasma lol.

Vorrei fare un gioco horror, quindi mi servono tante cose, incominciamo da queste.
Grazie. :)
Quella linea indica di quanto si è spostato il mouse dal centro dello schermo,io la uso per modificare la direzione del giocatore per fare mouselook per un fps. Nessuno spiega niente del 3D perchè sono cose che leggendo il manuale sono immediate,vuoi disegnare un cubo?d3d_draw_block(x1,y1,z1,x2,y2,z2 etc). Una sfera?d3d_draw_elipsoid. Vuoi modificare la prospettiva dal quale si guarda?d3d_set_projection. Per quello che chiedi tu:
Crea un gioco con vista dall'alto dove ti puoi muovere con wasd MA premendo W il personaggio va avanti alla direzione che è rivolto,direzione=90° va su,direzione=0° va a destra etc. Per far diventare tutto 3D devi usare d3d_set_projection e POI disegnare tutto(fatti uno script per non doverti riscrivere ogni volta lo stesso comando,che è lunghetto). Per mouselook:controlli se il mouse si è mosso dal centro dello schermo e se si poi giri il personaggio,internet è pieno di questi esempi. Ricordati che in 3D bisogna occuparsi di molte più cose del 2D,non è impossibile ma se fai fatica con una cosa come quella dell'ultimo topic forse è meglio che fai qualche passo indietro
Ma sbaglio o c'era un plug in per gm che permetteva di modellare la propria mappa?

Avatar utente
Paperpaint
Membro attivo
Messaggi: 375
Iscritto il: 02/01/2014, 16:19
Specialità: Visionario lol
Uso: GameMaker 8.1
Contatta:

Re: Come faccio a disegnare una stanza?

Messaggio da Paperpaint »

E comunque mi serve, sapere come creare l'ambiente, non tanto come disegnare un solido.

Avatar utente
Cash
Membro super
Messaggi: 933
Iscritto il: 09/11/2013, 20:40
Uso: GM:Studio 1.4 Pro
Contatta:

Re: Come faccio a disegnare una stanza?

Messaggio da Cash »

Paperpaint ha scritto:E comunque mi serve, sapere come creare l'ambiente, non tanto come disegnare un solido.
Nel create event di un oggetto qualunque scrivi:

Codice: Seleziona tutto

d3d_start();
draw_set_color(c_white);
poi nel draw event di qualunque altro oggetto

Codice: Seleziona tutto

d3d_set_projection(blabla)//Per mettere una prospettiva diversa da quella vista dall'alto
d3d_draw_wall(x1,y1,z1,x2,y2,z2,texture,ripetizioneOrizzontaleTexture,ripVerticaleTexture)
Una nota:se non metti draw_set_color(c_white) vedrai tutte le texture nere. Per mettere una texture devi scrivere nel campo texture
sprite_get_texture(sprite,subimage) per sprite
background_get_texture(background per texture) per backgrounds
Inoltre puoi far ripetere una texture solo se è un multiplo di 2,se no ti si fotterà tutto in parole semplici

Avatar utente
Paperpaint
Membro attivo
Messaggi: 375
Iscritto il: 02/01/2014, 16:19
Specialità: Visionario lol
Uso: GameMaker 8.1
Contatta:

Re: Come faccio a disegnare una stanza?

Messaggio da Paperpaint »

Cash ha scritto:
Paperpaint ha scritto:E comunque mi serve, sapere come creare l'ambiente, non tanto come disegnare un solido.
Nel create event di un oggetto qualunque scrivi:

Codice: Seleziona tutto

d3d_start();
draw_set_color(c_white);
poi nel draw event di qualunque altro oggetto

Codice: Seleziona tutto

d3d_set_projection(blabla)//Per mettere una prospettiva diversa da quella vista dall'alto
d3d_draw_wall(x1,y1,z1,x2,y2,z2,texture,ripetizioneOrizzontaleTexture,ripVerticaleTexture)
Una nota:se non metti draw_set_color(c_white) vedrai tutte le texture nere. Per mettere una texture devi scrivere nel campo texture
sprite_get_texture(sprite,subimage) per sprite
background_get_texture(background per texture) per backgrounds
Inoltre puoi far ripetere una texture solo se è un multiplo di 2,se no ti si fotterà tutto in parole semplici
E se voglio fare una serie di corridoi, porte etc devo fare sto casino? non si possono posizionare dall'alto o roba simile, non credo sia possibile disegnare un ambiente SCRIVENDO codice, è da spararsi D:

Avatar utente
Cash
Membro super
Messaggi: 933
Iscritto il: 09/11/2013, 20:40
Uso: GM:Studio 1.4 Pro
Contatta:

Re: Come faccio a disegnare una stanza?

Messaggio da Cash »

Puoi creare un oggetto per ogni elemento e mettere nel draw event di ognuno di questi il codice per disegnarlo e poi li puoi mettere con l'editor delle room di GM,ma hai solo 2 dimensioni visibili e se vuoi,per esempio, mettere una piattaforma ad altezza 40px,una a 30px,una a 20,una a 10 dovrai piazzarle tutte e modificare il creation code per ogni piattaforma. Oppure ti fai il tuo editor di room che crea un codice che poi piazzi nel creation code della room per fare il livello

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

Re: Come faccio a disegnare una stanza?

Messaggio da Jak »

Esistono cose chiamate programmi di modellazione.
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
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: Come faccio a disegnare una stanza?

Messaggio da aironenero »

Jak ha scritto:Esistono cose chiamate programmi di modellazione.
esistono engines fatti specificatamente per il 3D, esempio: unreal engine, unity engine, cry engine, fox engine ecc...
Unity Developer
Immagine
Immagine

Avatar utente
legogo
Membro attivo
Messaggi: 346
Iscritto il: 03/02/2014, 16:57
Specialità: fastidioso
Uso: GM:Studio 1.4 Free
Località: Cuneo(CN)
Contatta:

Re: Come faccio a disegnare una stanza?

Messaggio da legogo »

Mi dite il migliore sia gratis che a pagamento, ho un gioco 3D bellissimo per la testa, epico e complesso, ma se mi riesce, la mia vita sarebbe completa.
se mi riesce ve lo posto, tra minimo 4 anni di duro lavoro

Avatar utente
mac12
Membro d'elite
Messaggi: 1124
Iscritto il: 18/09/2012, 17:32
Specialità: programmazione
Uso: GameMaker 8.1
Contatta:

Re: Come faccio a disegnare una stanza?

Messaggio da mac12 »

legogo ha scritto:Mi dite il migliore sia gratis che a pagamento, ho un gioco 3D bellissimo per la testa, epico e complesso, ma se mi riesce, la mia vita sarebbe completa.
se mi riesce ve lo posto, tra minimo 4 anni di duro lavoro
prima di tutto impara i fondamenti della programmazione usando game maker, dopo aver fatto 3-4 giochi(a "difficoltà di programmazione" sempre più alta), impara ad usare la dll(per gm) ultimate 3d, in modo da imparare le basi del 3d, e poi passa a Unity.
(consiglio, poi ognuno fa come vuole)

Avatar utente
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: Come faccio a disegnare una stanza?

Messaggio da aironenero »

consiglio mio: impara i fondamenti di un linguaggo OOP, poi passa a unity, impara un po di modellazzione e texturizzazione, poi scatena la fantasia e crea il nuovo best seller (in un futuro moooooooooooooooooooooooooooooolto lontano :asd: )
Unity Developer
Immagine
Immagine

Avatar utente
legogo
Membro attivo
Messaggi: 346
Iscritto il: 03/02/2014, 16:57
Specialità: fastidioso
Uso: GM:Studio 1.4 Free
Località: Cuneo(CN)
Contatta:

Re: Come faccio a disegnare una stanza?

Messaggio da legogo »

grazie che non credete in me.... :asd:
comunque, per ora uso game maker per fare il mio primo gioco serio, che è tlmente semplice che di sicuro tutti lo avete fatto.
poi ve lo posto su giochi completi, spero entro 1 o 2 mesi.

Avatar utente
aironenero
GMI Guru
Messaggi: 2612
Iscritto il: 02/05/2012, 14:56
Specialità: Unity 3D
Uso: GM:Studio 1.4 Pro
Località: Ispica
Contatta:

Re: Come faccio a disegnare una stanza?

Messaggio da aironenero »

legogo ha scritto:grazie che non credete in me.... :asd:
comunque, per ora uso game maker per fare il mio primo gioco serio, che è tlmente semplice che di sicuro tutti lo avete fatto.
poi ve lo posto su giochi completi, spero entro 1 o 2 mesi.
Qualunque engine è in grado di fare lo stesos lavoro, ma ogni engine è specifico per una certa cosa (ed ha licenze diverse, più o meno convenienti), per esempio Cry engine è nato per gli FPS, Fox engine per i top down 3D (è il motore di Pes 2014), UDK e Unity sono i più generici.
Unity Developer
Immagine
Immagine

Rispondi

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti