Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Recommended Posts

Ciao a tutti, mi sono da poco munito di virtool e riesco a fare quasi tutto, dalle luci alle telecamere e tutto il resto. Il problema è che non riesco a creare lo script keyboard per camminare e spostarsi nell'ambiente con la tastiera. Cioè il lo creo e lo collego alla camera xò quando esporto in web o in file se premo i tasti non succede nulla. La scena rimane statica... Qualcuno che lo conosce potrebbe spiegarmi il procedimento, dove collegare lo script e tutto il resto? Grazie a tutti quelli che risponderanno!

Ciaoooo

Share this post


Link to post
Share on other sites

Ciao!

Non ho ancora Virtools , perchè ho solo la versione 5 di visual basic, quindi non mi girerebbe e quindi non l'ho ancora provato, pero' per il discorso del movimento dell'oggetto all'evento pressione tasto da tastiera il metodo è uguale per qualsiasi programma:

Nel ciclo principale del gioco devi inserire i 3 passaggi essenziali:

1) Interrogazione Tastiera per i tasti premuti (restituira si o no)

2) Se è si attivi l'evento movimento

3) aggiornamento nuove posizioni

In pratica nel tuo ciclo di gioco

DO

Gosub InterrogazioneTastiera

Controllo_Movimento(IdOggetto,Avanti,Dietro,Sinistra,Destra)

Controllo_Camera

Rem Aggiornamento

Gosub AggiornamentoVisualizzazione

LOOP

Ho io un paio di domande per te:

Se uso un qualsiasi sorgente di Vb6 anche semplice , sul mio Vb5 mi da errore RETAINED...ecc.. cosa significa che la versione 5 non comprende un semplicissimo programma scritto in Vb6? :-(

Se dovessi acquistare il VB per Virtool , cosa mi conviene VB6 , Vb.NET o cosa? Si possono commercializzare i prodotti realizzati con il virtool?

Esempio in linguaggio comune per l'interattività:

Supponiamo che il tasto premuto sia una "q" minuscola per farlo spostare in su e una "a" minuscola per spostarsi in giu' (moto uniforme)

1) Interroghi la tastiera :

In genere i nomi comandi di interrogazione sono Inkey$() , KeyPress() , KeyUp(),Keydown() ,KeyState ecc.. (a seconda dei linguagi e dei metodi

Inkey$() per esempio:

QualeTasto$ = Inkey$() per esempio dice: "quale tasto è stato premuto dall'utente?

quindi:

IF QualeTasto$ = "q" THEN Msgbox("E' stato premuto il tasto "q" cosa faccio adesso ???" )

Sviluppo:

IF INKEY$()="q" THEN MuoviOggettoInAvanti

Esempio Struttura movimento basic :

___

....impostazioni iniziali

....caricamenti oggetti

....menu cose varie ecc...

...reset di inizio partita ...

'CICLO DEL GIOCO

DO

'===

'CONTROLLO INPUT DA TASTIERA

'===

IF INKEY()="q" THEN Su=1 ELSE Su=0 :Rem (attiva la direzione in avanti)

IF INKEY()="a" THEN Giu=1 ELSE Giu=0 :Rem (attiva la direzione in dietro)

Controllo_Movimento(IdOggetto,Avanti,Dietro,SX,DX,SU,GIU,ECC)

Controllo_Camera(IdCamera,Target,ecc..)

Rem Aggiorna sincronia schermo

...qui

LOOP

2) Function Controllo_Movimento(IdOggetto,Avanti,Dietro,SX,DX,SU,GIU,ECC)

...qui interroghi le correnti coordinate dell'oggetto

PosY=(qui il comando che TI RESTITUISCE UN RISULTATO sulla posizione dell'oggetto in Y attuale)

PosZ=come sopra per la z

PosX=come sopra per la X

....ecc..

IF SU=1 THEN

PosY#=PosY#+1

ENDIF

IF Giu=1 THEN

PosY#=PosY#+1

ENDIF

...ecc...

QUI Aggiorna posizioni COn i Comandi di visualizza nuova posizione oggetto

ENDFUNCTION

FUNCTION Controllo_Camera(IdCamera,Target,ecc..)

...qui interroghi l'ANGOLO dell'oggetto da puntare o del target

...qui elabori le nuove coordinate della camera

...qui metti le nuove coordinate della camera

...qui aggiorni la camera

ENDFUNCTION

Se vuoi approfondire approfondisco , pero' mi servirebbe una guida analitica per installare per bene il Virtool.

In ogni caso sbircia il codice sorgente dello gnack Tutorial-Game 3D se ti puo' essere utile e vai nel blocco con scritto "Controllo movimento".

Ciao!

Share this post


Link to post
Share on other sites

Grazie mille per la risposta.. purtroppo non posso aiutarti xkè non ho conoscenze in quel campo... :-( E devo chiederti un' altra cosa... allora, io ho aggiunto lo script "key event" e poi gli ho aggiunto la funzione "move to". Quindi quando premo per esempio la freccia su si attiva la funzione move e si sposta di un tot la camera. I problemi sono:

1° se tengo premuto non continua in quella direzione ma si ferma aspettando una nuova pressione del tasto. 2° io voglio ke la telecamera si sposti(se premuto il tasto su) verso il target della stessa invece va comunque verso la coordinata da me impostata(giustamente:)

Come faccio?

Ciao!!

Share this post


Link to post
Share on other sites
....2° io voglio ke la telecamera si sposti(se premuto il tasto su) verso il target della stessa invece va comunque verso la coordinata da me impostata(giustamente:)

Come faccio?

Ciao!!

Ti devi calcolare il Vettore Direzione (e da questo la nuova posiz.) data la posizione attuale della telecamera e data la posizione del Target (ed ovviamnete dato l'incremento di spostamento 'ds').....è un semplice problemino di geometria nello spazio .....attenzione ai segni dei coseni e seni nelle formulette.

:hello:


Edited by TheShark

Share this post


Link to post
Share on other sites

Ciao,

questo è un messaggio generato automaticamente.

Se hai ricevuto questo messaggio è perché la tua discussione è stata spostata e messa nella sezione più appropriata.

Quando crei una discussione ti preghiamo di far attenzione ad inserirla nella sezione corretta in modo che sia più facile per tutti consultare il forum.

grazie per la collaborazione

lo staff di Treddi.com


: :  Youtube : : 

Share this post


Link to post
Share on other sites

Per l'evento movimento in ripetizione devi considerare LO STATO DI LETTURA DEL PULSANTE , in Visual Basic per esempio esiste l'evento

MouseDown <<..Pulsante del Mouse premuto

MouseUp <<..Pulsante del Mouse RIALZATO

MouseClick <<...Equivale al ciclo MouseDown + MouseUp

MouseDoubleClick <<...Equivale al ciclo (MouseDown + MouseUp) 2 volte NELL'INTERVALLO DI TEMPO Max per il riconoscimento come doppio click.

La stessa cosa equivale per la tastiera, il programma interroga la tastiera e puo' sapere per mezzo dei comandi che RESTITUISCONO UN RISULTATO , se il tasto è premuto o RIALZATO, quindi:

KeyDown <<Pulsante premuto

KeyUp <<Pulsante rilzato

KeyPress << Tasto premuto e rialzato (Questo significa che se non rialzi il pulsante l'evento KeyPress non si è verificato PER QUESTO OCCORRE RIALZARE IL PULSANTE"

Quindi devi trovarti il comando che legge lo stato del pulsante desiderato nella sola posizione di PREMUTO e non PREMUTO + (poi) RIALZATO , e supponendo che lo sia aggiornare la posizione, ma cmq questa interrogazione deve essere posta o richiamata all'interno del ciclo principale del gioco di modo che in ogni momento l'utente possa interagire.

Volendo Puoi effettuare il movimento attivando la direzione e continuando il movimento nella direzione attivata anche se lutente ha premuto 1 sola volta il tasto, cioè IF OKTastoPremuto=1 THen DirezioneAvanti=1 ELSE DiezioneAVANTI=0

dopodichè in una procedura SVOLGI le procedure per tutte le direzioni attivate cioè

IF DirezioneAvanti=1 THEN

.. fai Questo e quest'altro per mandarlo avanti

END IF

IF DirezioneDietro=1 THEN

.. fai Questo e quest'altro per mandarlo Dietro

END IF

IF DirezioneDietro=1 THEN

.. fai Questo e quest'altro per mandarlo a SX

END IF

IF DirezioneDietro=1 THEN

.. fai Questo e quest'altro per mandarlo a DX

END IF

ECC...

Come si chiama il comando che hi usto per la lettura e interrogazione del tasto premuto e relativo codice tasto ? KeyDown() , KeyState() , KeyPress(), Inkey$() o altro ????

Ciao!

Share this post


Link to post
Share on other sites

State complicando le cose troppo.

Ti allego qui un Behaviour Graph che dovresti importare nella tua scena.

Poi guarda come e fatto il script e adattalo alle tue esigenze (scegli i tasti, scegli la velocita del movimento, inserisci il gruppo degli ogetti con quali vuoi controllare le collisioni ecc.)

Share this post


Link to post
Share on other sites

Saresti cosi gentile da mettere ancora anche il link del virtools che continuo a cercarlo su google ma non trovo la pagina per visual basic e per il download del virtools ufficiale, poi non lo so ho trovato addirittura un 'altro sito con lo stesso nome di virtools , cioè Virtools Dev e la cifra è enorme... cmq tra un po' vado a dormire.

Grazie per il link! :-)

Share this post


Link to post
Share on other sites

Grazie per lo script!! E' esattamente quello che volevo!! Grandissimo!! Visto che mi sembra tu sia molto bravo in VT posso chiederti una cosa? Come mai alcune scene me le importa e si vedono gli oggetti nella viewport e altre scene le importa ma il set rimane vuoto? c'è un limite di poligoni o cosa? Io comunque importo da max se può servire per la risp... Grazie

Ciao!!

Share this post


Link to post
Share on other sites

Come non detto!! Era solo un problema di coordinate che mi sparavano gli oggetti importati lontanissimi dal centro... E questo è a posto! Il nuovo problema è che la scena da me importata, una casa, risulta una volta nel set tutta "sconquassata", cioè muri e porte distribuite alcune giuste e molte o ruotate o spostate nel posto sbagliato... Come è possibile? Ci sono dei criteri di importazione?

Scusate per le frequenti domande... sono un po un rompipalle! :-)

Ciao!

Share this post


Link to post
Share on other sites

Io penso che sia lo stesso problema comune per tutti gli altri compilatori , io ho risolto IN PARTE altri problemi e questo problema facendo utilizzare ai "miei" modellatori il software ,gratuito e scaricabile dal sito ,di conversione file da 3ds a X con il Panda Exporters e funziona.

Mi piacerebbe aiutarvi con il Virtools , ma non ce l'ho... uffy. :-(


Edited by DARKTy

Share this post


Link to post
Share on other sites
Saresti cosi gentile da mettere ancora anche il link del virtools che continuo a cercarlo su google ma non trovo la pagina per visual basic e per il download del virtools ufficiale, poi non lo so ho trovato addirittura un 'altro sito con lo stesso nome di virtools , cioè Virtools Dev e la cifra è enorme... cmq tra un po' vado a dormire.

Grazie per il link! :-)

Infatti, il sito era giusto, www.virtools.com

Il programma e Virtools Dev, e costicchia un po. Che e del tutto normale, visto che si tratta di un tool altamente professionale e avanzato. In piu, il Virtools e cross-platform e si usa per creazione dei videogiochi per PC, OSX, XBOX, PS2 e PSP.

Virtools non usa Visual Basic, ma si tratta di un sistema di programazzione che non ha bisogno dei compilatori, anche se e' possibile usarli per le aggiunte in forma dei Plug-in con l'aiuto del suo SDK (usando Visual Studio.NET o CodeWarrior).

Il demo non non e disponibile sul sito, ma se sei interessato per l'utilizzo serio, esiste sempre la possibilita di richiedere una versione di valutazione.

O se sei a Milano o vicino, forse nei prossimi giorni organizerremo una presentazione sulle possibilita del Virtools.

Come non detto!! Era solo un problema di coordinate che mi sparavano gli oggetti importati lontanissimi dal centro... E questo è a posto! Il nuovo problema è che la scena da me importata, una casa, risulta una volta nel set tutta "sconquassata", cioè muri e porte distribuite alcune giuste e molte o ruotate o spostate nel posto sbagliato... Come è possibile? Ci sono dei criteri di importazione?

Scusate per le frequenti domande... sono un po un rompipalle! :-)

Ciao!

Mi sembra strano il tuo problema. Hai usato per caso le instance o referenze dentro max, e poi spostato i centri degli ogetti? Hai provato a esportare la scena in un profgetto separato?

Intanto, prova a applicare un Reset Xform su tutti i mesh in max, prima della esportazione.


Edited by Angel_of_Dark

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...