irrlicht 1.7 - Versione stampabile +- Creare Videogiochi - Game Developer (https://www.making-videogames.net/giochi) +-- Forum: Altri Programmi per la Creazione di Videogames (https://www.making-videogames.net/giochi/Forum-Altri-Programmi-per-la-Creazione-di-Videogames) +--- Forum: Irrlicht Engine (https://www.making-videogames.net/giochi/Forum-Irrlicht-Engine) +--- Discussione: irrlicht 1.7 (/thread-irrlicht-1-7) |
irrlicht 1.7 - puorcunicu - 18-10-2010 ciao a tutti, sono nuovo in questo forum: ho bisogno di aiuto!!! ho un progetto che ho iniziato tempo fa (2008) però ora non funziona piu dovuto al fatto che ho una nuova versione di irrlicht e che ora lavoro su windows 7 invece che xp. quindi volevo chiedere a qualcuno se mi potesse aiutare per favore a scrivere un progetto dove possa importare oggetti statici ( .obj .dmf ) personaggo che si muove a secondo dei comandi e come impostare una camera che segua il personaggio. per essere più chiaro vorrei fare una cosa tipo: http://www.youtube.com/watch?v=evUd9Us5Zmo&feature=related grazie mille!!! RE: irrlicht 1.7 - Zapetino - 18-10-2010 praticamente un platform con grafica 3d RE: irrlicht 1.7 - puorcunicu - 18-10-2010 (18-10-2010, 05:13 PM)zapetino Ha scritto: praticamente un platform con grafica 3d si ma molto più semplice. io ho il paesaggio gli oggetti e il personaggio. tutto in obj o dmf. quello che mi interessa, sarebbe: 1.come posso fare una camera a scorrimento 2d che vada a destra o a sinistra, a secondo di dove vada il personaggio, 2.saper muovere il personaggio a sinistra o a destra, 3.e in fine( questo casomai sarebbe l'ultima cosa) le collisioni per poterlo far saltare sopra qualcosa....chiedo troppo,no?? RE: irrlicht 1.7 - Zapetino - 18-10-2010 no nn chiedi troppo io del c++ n capisco molto quindi per le altre cose nn so risponderti RE: irrlicht 1.7 - steve - 18-10-2010 Innanzitutto configuri l'ambiente di sviluppo e installi irrlicht (in caso non l'avessi già fatto) seguendo questa guida: link Inoltre ti informo che irrlicht per oggetti animati (es. personaggio che cammina) supporta i formati: B3D files (.b3d, r, skeleton) Microsoft DirectX (.x, r) (binary & text, skeleton) Milkshape (.ms3d, r, skeleton) Quake 3 models (.md3, r, morph) Quake 2 models (.md2, r, morph) Mentre per quelli statici (es. ambientazione) supporta i formati: Irrlicht scenes (.irr, r/w) Irrlicht static meshes (.irrmesh, r/w) 3D Studio meshes (.3ds, r) Alias Wavefront Maya (.obj, r/w) Lightwave Objects (.lwo, r) COLLADA 1.4 (.xml, .dae, r/w) OGRE meshes (.mesh, r) My3DTools 3 (.my3D, r) Pulsar LMTools (.lmts, r) Quake 3 levels (.bsp, r) DeleD (.dmf, r) FSRad oct (.oct, r) Cartography shop 4 (.csm, r) STL 3D files (.stl, r/w) PLY 3D files (.ply, r/w) Quindi il tuo personaggio (formato obj o dmf) non potrai farlo camminare a destra e a sinistra, potrai farlo strisciare a destra e a sinistra (direi piuttosto bruttino come effetto). Quindi dovrai convertire il personaggio in un formato in cui irrlicht può riconoscere le animazioni. Prima di iniziare il programma ho bisogno di sapere se sai un pò di oop. Se la sai (anche solo una minima base visto la semplicità del programma) te la spiego mettendocene un pò, altrimenti te lo spiego con la programmazione strutturata (quella normale per intenderci, tipo il C). RE: irrlicht 1.7 - puorcunicu - 19-10-2010 `ciao, grazie per il tuo aiuto! ti spiego: irrlicht l'ho già installato ( versione 1.7 se devo cambiare versione dimmelo che installo uguale alla tua ) e dev c++ pure. per quanto riguarda il tema personaggi: i personaggi con i cicli di animazione ce li ho in .x e tutto quello che ho in obj e dmf oppure irrmesh, è il paesaggio, gli oggetti di collisione statici etc etc. io sto guardando i tutorial degli esempi che ci sono con irrlicht. non so quale usano. Fai tu io sono disposto a imparare di tutto!!! grazie miille!!! RE: irrlicht 1.7 - Alche - 19-10-2010 non fai prima a costruirti un motore grafico ò.ò (e mi prendete pure sul serio xD) apparte gli scherzi aspetta un pochetino e steve saprà esaudire i tuoi mistici problemi <.< RE: irrlicht 1.7 - steve - 20-10-2010 Premetto che non uso irrlicht (se va bene l'avrò provato per un paio di settimane quando stavo scegliendo l'engine da impararmi) e non sono bravo con la oop quindi ci saranno sicuramente mille modi per farlo meglio di come te lo propongo io. Pensavo di strutturarlo così: Una classe principale che gestisce le cose che ci sono in quasi tutti i programmi fatti in irrlicht (inizializza device, video driver, scene manager, ecc...). Una classe per il player. Una classe per il mondo. Poi eventualmente si possono fare altre classi per gestire nemici, gui, input (in caso diventasse scomodo fare tutto nella classe player), ecc... Per adesso ho fatto solo la classe principale, ho provato a farla abbastanza semplice e minimalista. Volendo è riutilizzabile. File "Inizializza.h" Codice: #pragma once File "Inizializza.cpp" Codice: #include "Inizializza.h" file "main.cpp" Codice: #include <irrlicht.h> Analizziamo un attimo: Classe Inizializza:
main:
Per adesso appare solo una finestra nera. Quando capisci il funzionamento passo a caricare la mappa e via dicendo. (il programma lo stò facendo di pari passo con quello che ti spiego, quindi è molto probabile che sarà da ritoccare più e più volte) Come esercizio per vedere se hai capito più o meno come impostare il programma prova a creare una variabile contenente gli fps. La variabile dev'essere dichiarata privata in Inizializza e si dev'essere in continua variazione (si deve aggiornare ogni volta). Per avere gli fps ( http://irrlicht.sourceforge.net/docu/classirr_1_1video_1_1_i_video_driver.html#a5b71428402c0b6a3b18b8f2fa408af13 ) se fosse in Inizializza dovresti fare mDevice->getFPS(); Se c'è qualcosa che non hai ben capito o hai qualche problema dimmi pure. RE: irrlicht 1.7 - KillerZ - 20-10-2010 mamma mia steve fai paura O.O RE: irrlicht 1.7 - Alche - 20-10-2010 e basta ot vedi spam da tutte le parti compreso il mio <.< comunque a steve dovrebbero dargli il premio nobel xD mmh comunque se tu dici endscene quella si ferma e in teoria la telecamera non si muove più oppure si resetta al movimento delle freccie non ho capito bene xD (ANCHE SE LE FRECCIE SONO DA INCLUDERE DOPO SCUSA IL CAPS MA CI è ANDATO DA SOLO <,<) RE: irrlicht 1.7 - steve - 20-10-2010 Dimenticavo.... il #pragma once credo che esista solo in visual studio (mi pare che evita problemi se includi più volte lo stesso include). Nel main loop per adesso abbiamo: beginscene(...) : fa parte del video driver, l'applicazione deve chiamare questo metodo prima di ogni rendering (reference) drawall() : fa parte dello scene manager, disegna tutti gli scene node (reference) endscene() : fa parte del video driver, stampa l'immagine renderizzata a schermo (reference) Per capire un pò meglio il drawall() vi dico che lo scene manager è l'oggetto (nel senso oop) che contiene e gestisce tutti gli scene node. Uno scene node è un oggetto che contiene e gestisce le mesh e gli sprite (la roba in 2d e 3d se preferite xD), un oggetto (nel senso di grafica) per ogni scene node. Se qualcuno ha intenzione di impararsi irrlicht a stò punto conviene che si faccia avanti ora (anche con un progetto un pò diverso da quello di puorcunicu). Certo non so quasi niente di irrlicht, però quasi niente è meglio di niente. RE: irrlicht 1.7 - Jonathan Archer - 21-10-2010 (18-10-2010, 05:18 PM)puorcunicu Ha scritto: 1. come posso fare una camera a scorrimento 2d che vada a destra o a sinistra, a secondo di dove vada il personaggio Non sarò un esperto di irricht ma ti rispondo secondo le mie conoscenze su dark basic. Non basterebbe avere una posizione Z fissa della cinepresa e invece come coordinate x e y uguali a quelli dell'oggetto in movimento? Esempio: Posizione personaggio 300,200,0 Posizione cinepresa 300,200,(Posizione Z del personaggio)+100 RE: irrlicht 1.7 - steve - 21-10-2010 (21-10-2010, 07:54 AM)Jonathan Archer Ha scritto:(18-10-2010, 05:18 PM)puorcunicu Ha scritto: 1. come posso fare una camera a scorrimento 2d che vada a destra o a sinistra, a secondo di dove vada il personaggio A dire il vero è ancora più facile. Irrlicht utilizza un sistema di nodi gerarchico. es. Creo due nodi: nodo_personaggio e nodo_camera (figlio di nodo personaggio) Muovendo il nodo personaggio muovo anche il nodo camera, ma muovendo muovo camera non muovo il nodo personaggio. RE: irrlicht 1.7 - Jonathan Archer - 22-10-2010 Come se collegassi la cinepresa al personaggio ma non il personaggio alla cinepresa mi pare di aver capito... RE: irrlicht 1.7 - Alche - 22-10-2010 quanto siete contorti comunque ora ho capito anche io u.u RE: irrlicht 1.7 - Jonathan Archer - 22-10-2010 Steve l'ha spiegato in modo contorto ma l'importante è capire xD |