Domanda Anteprima 3D del personaggio nell'inventario

Stato
Discussione chiusa ad ulteriori risposte.

Vasilij

Utente Palladium
8 Novembre 2012
2,088
277
607
1,580
Salve,
sono alle prese con la creazione di una funzionalità: l'anteprima del personaggio nell'inventario.
Vorrei far apparire un'anteprima del personaggio con l'equipaggiamento indossato direttamente nell'inventario come nei moderni video giochi.

Ad esempio:
ZtWD1ba.png


Sono riuscito a farlo in 2D ovvero caricare un'immagine del personaggio in base all'ID della corazza indossata. Ma ho calcolato che "riflettendo" il modello 3D del personaggio potrei risparmiare molto spazio e risorse. Dunque guardando il codice sorgente Python non vedo moduli predisposti per il caricamento / display dei modelli 3D, è cosi o sbaglio? Dovrei guardare il source C++? Qualcuno ha in mente una soluzione efficiente e veloce da implementare?
 
Nessuno, purtroppo, ti aiuterà. Qualcuno potrà dedicarti qualche minuto del suo tempo per cercare di ottenere visibilità e far finta di sapere di cosa stia parlando, per ottenere qualche Like... Qualche indicazione molto vaga, o qualche idea fantascientifica. Se cerchi aiuto concreto, non lo troverai gratis, fidati. Quello che hai intenzione di fare è un'innovazione che sarebbe molto gradita agli utenti di Metin2, qualcosa di veramente nuovo e soprattutto, difficilissimo da fare. Chiunque risponderà a questo post, non riuscirà\sapra\vorrà aiutarti (veramente).
Buona fortuna e complimenti per il progetto!
 
Nessuno, purtroppo, ti aiuterà. Qualcuno potrà dedicarti qualche minuto del suo tempo per cercare di ottenere visibilità e far finta di sapere di cosa stia parlando, per ottenere qualche Like... Qualche indicazione molto vaga, o qualche idea fantascientifica. Se cerchi aiuto concreto, non lo troverai gratis, fidati. Quello che hai intenzione di fare è un'innovazione che sarebbe molto gradita agli utenti di Metin2, qualcosa di veramente nuovo e soprattutto, difficilissimo da fare. Chiunque risponderà a questo post, non riuscirà\sapra\vorrà aiutarti (veramente).
Buona fortuna e complimenti per il progetto!
Invece tu lo hai aiutato , dai su potevi evitare :blabla: hai appena fatto la stessa cosa che dici nel tuo commento:nonquoto:
 
Ci sono quasi riuscito ma mi mancano le nozioni di come si manipolano i spazi tridimensionali, cerco qualcuno che possa aiutarmi. Praticamente sono riuscito a renderizzare i modelli 3d, solo che vengono renderizzati nello spazio 3d del gioco. A me serve farlo nello "spazio bidimensionale" delle finestre, della UI. Qualcuno potrebbe darmi una mano?
 
Ci sono quasi riuscito ma mi mancano le nozioni di come si manipolano i spazi tridimensionali, cerco qualcuno che possa aiutarmi. Praticamente sono riuscito a renderizzare i modelli 3d, solo che vengono renderizzati nello spazio 3d del gioco. A me serve farlo nello "spazio bidimensionale" delle finestre, della UI. Qualcuno potrebbe darmi una mano?
Dici che nello spazio che ti esce quando ci passi il mouse sopra non si vede l'immagine 3D ma si vede altrove? Puoi mettere uno screen per curiosità?

www.freewardeveloper.net
 
Dici che nello spazio che ti esce quando ci passi il mouse sopra non si vede l'immagine 3D ma si vede altrove? Puoi mettere uno screen per curiosità?

www.freewardeveloper.net

Ciao, innanzitutto grazie per il suggerimento di prima: sono partito proprio da li, hai avuto un'ottima intuizione.
Ho percorso molte vie. Partiamo dalla prima, ovvero quella che tu mi hai suggerito, usare i moduli che la YMIR ha creato per mostrare i personaggi nella schermata di creazione / selezione.

Funzionano bene, il problema? Quando li uso mentre sono in gioco succede questo:
inv.webp


Lascia stare la freccia, non centra nulla. Il guerriero accanto al mio che vedi, senza corazza l'ho caricato con quei moduli usando Python. Come vedi il problema è che il personaggio viene posizionato nello spazio 3D. Come faccio ora a posizionarlo in una finestra 2D? Ad esempio quella dell'inventario? Quel modello 3D viene anche influenzato dalla telecamera, invece dovrebbe essere indipendente dalla mappa e da tutto (dovrebbe appartenere a uno spazio 3d tutto suo?).

La seconda via:
Ho aperto il progetto del binario. Dunque studiando i source C++ è venuto alla luce che la YMIR ha creato un altro modulo apposito per caricare qualunque modello 3D, chiamato "grpThing" ma mai utilizzato. Ho inserito il modulo nel bridge dunque con Python l'ho richiamato e "sembra caricare il modello 3d" ma ci sono vari problemi... che non posso elencarti altrimenti il post diventa 3 volte più lungo.

La terza via:
Studiando sempre il source C++ ho trovato la classe che si occupa di renderizzare i modelli 3D. Ho i riferimenti e tutto. Il problema? Non so come muovermi adesso, non so come disegnarli. Non ho mai operato con spazi tridimensionali. Il massimo con cui ho avuto a che fare fino adesso è stato Unity (2D).
 
Il problema "credo" sia dovuto al fatto che il client definisce una zona solamente per la renderizzazione 3D e quindi ogni modello lo va a renderizzare li. Dovesti ricreare uno spazio nuovo in uitooltip e richiamare il render li! Parlando cosi sembra una cosa molto easy ma non credo sia cosi.
 
Il problema "credo" sia dovuto al fatto che il client definisce una zona solamente per la renderizzazione 3D e quindi ogni modello lo va a renderizzare li. Dovesti ricreare uno spazio nuovo in uitooltip e richiamare il render li! Parlando cosi sembra una cosa molto easy ma non credo sia cosi.
Anche io ho pensato cosi ma sicuramente per creare un'altra zona 3D devo scrivere codice C++ e non Python.
 
Ci sono delle novità riguardo lo sviluppo di questo progetto?
Quasi terminato. Sicuramente rilascerò tutto perché non sono egoista e perché sarei felice di poter contribuire al progresso di questo gioco, ma prima vorrei implementarlo nel client per il server che sto creando, mi piacerebbe avere delle esclusive per poter attrarre qualche giocatore, anche se questa è solo una piccolezza e non ha tutta questa grande utilità. Ma sicuramente pubblicherò tutto dopo che il server sarà aperto al pubblico ;). Non so se ti interessava questo, comunque per quanto riguarda la soluzione ho deciso di agire direttamente su DirectX in C++.
 
Ci sono delle novità riguardo lo sviluppo di questo progetto?
Quasi terminato. Sicuramente rilascerò tutto perché non sono egoista e perché sarei felice di poter contribuire al progresso di questo gioco, ma prima vorrei implementarlo nel client per il server che sto creando, mi piacerebbe avere delle esclusive per poter attrarre qualche giocatore, anche se questa è solo una piccolezza e non ha tutta questa grande utilità. Ma sicuramente pubblicherò tutto dopo che il server sarà aperto al pubblico ;). Non so se ti interessava questo, comunque per quanto riguarda la soluzione ho deciso di agire direttamente su DirectX in C++.
Toglimi la curiosità, come hai agito?

www.freewardeveloper.net
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom