Jump to content

Assegnare un evento a più attori


Go to solution Solved by silver7,

Recommended Posts

Ho iniziato a "giocare" con Unreal e i Blueprint ma non riesco a fare una cosa.

Ho modellato e importato una valvola. Sin qui tutto bene.

Seguendo un tutorial sono riuscito ad animare la rotazione del volantino all'avvicinarsi alla valvola.

Dato che è una saracinesca, durante la rotazione del volatino dovrebbe anche alzarsi lo stelo.

Credevo fosse ovvio attribuire il movimento allo stesso evento (quando il volantino ruota contemporaneamente si alza lo stelo) ma non riesco a capire come bisogna linkare il movimento allo stesso evento.

Al momento funziona ma lo stelo sale ma NON ritorna indietro alla chiusura (perchè non sò come linkare il Reverse).

 

Help please...

CatturaUR.JPG

UR_1.JPG

Link to post
Share on other sites

So che hai risolto, ma non ho capito perchè la prima soluzione non andava bene.

Se puoi normalizzare l'evento nella timeline (0-1) le animazioni di rotazione e movimento poi saranno sincronizzate, sia in apertura che chiusura.

Basta moltiplicarle per i rispettivi valori di scostamento il valore di output della timeline.

Link to post
Share on other sites

Ma era quello che avevo fatto, solo che funzionava tutto per il volantino ma non per lo stelo (che non tornava più alla posizione di partenza).

Nel primo grafico che ho postato il ritorno a 0 dello stelo non funzionava perchè l'evento EventActorEndOverlap non era riconosciuto in quanto non mi era permesso di linkare le due timeline al reverse. Quindi lo stelo saliva ma non ritornava in posizione.

 

Ora funziona.

Link to post
Share on other sites
  • Solution

ok, ma nel primo caso se vedo bene hai linkato l'update al "set rotation" e poi al "play" della seconda timeline che di conseguenza non funziona perchè viene costantemente richiamata dalla prima timeline.

Se dopo la prima timeline inserisci un nodo "sequence" dovresti poter aggiornare entrambe le posizioni con una sola timeline.

Link to post
Share on other sites

Ciao a tutti,

sono andato avanti ancora un pezzetto con le mie valvoline... ed eccomi con un nuovo problema:

 

- in una situazione tipo questa (domanda1.jpg e domanda2.jpg) come si risolve il problema delle collisioni? Se attivo la collisione per l'oggetto "tubazioni" (oggetto unico) non riesco nemmeno ad avvicinarmi agli oggetto "valvola" perchè intercettato dal box di collisione delle tubazioni. Quindi ho tolto la collisione ma non credo sia la soluzione.

- Ho aggiunto alle valvoline un menu (widget) che permette di scegliere l'azione (aprire-chiudere) da effettuare (domanda3.jpg) ma, anche qui, devo avvicinarmi troppo per trappare la box di collisione e non posso ingrandirla perchè altrimenti con molte valvole una vicino all'altra interferirebbero tra loro.

 

Come si risolvono questi problemi?

 

domanda1.JPG

domanda2.JPG

domanda3.JPG

Link to post
Share on other sites

In questo caso ci possono essere diversi approcci al problema, dipende da diversi fattori.

-Puoi importare delle collisioni semplificate fatte apposta per il tuo modello

-Puoi impostare la collisione del tuo "user player" in modo che non collidano con certe "classi" definite per i modelli

-Puoi modificare i box di collisione delle valvole in modo che siano più larghi e facili da intercettare

-Puoi usare un sistema diverso per l'attivazione del widget invece che l'attuale sistema di collisioni

 

Di base potresti anche togliere le collisioni dal modello 3D importato, costruire una replica grossolana delle collisioni nelle zone in cui servono (direttamente in unreal) e poi renderle invisibili. In pratica come il primo punto che ti ho suggerito, ma senza uscire da unreal 🙂

 

Link to post
Share on other sites

Ciao Silver,

intanto grazie per i consigli e l'aiuto...

Un sistema diverso di atttivazione del widget ci ho pensato (ho visto un tutorial che usa una sorta di "mirino" per intercettare l'oggetto).

Per fare un sistema di collisioni semplificato come dici, cosa fai esattamente? Crei delle scatole (volumi) che includono gli oggetti e li definisci box collision?

Ho anche un'altra domanda, sui widget: se volessi attribuire un nome ad ogni valvola e fare in modo che venga passato al widget del menu (aggiungendo un campo testo) come posso fare?

 

 

Link to post
Share on other sites
  • 2 weeks later...

Grazie Silver ma purtroppo le mie conoscenze sono moooolto limitate in ambito Unreal e programmazione.

E' da qualche giorno che non ne vengo a capo.

Ho creato all'interno del mio widget una campo testo e definito lo stesso come variabile (TAG) (spuntando la casella in alto a dx).

La mia necessità consiste nel visualizzare il TAG assegnato (valore della variabile) ad ogni valvola che inserisco (BP_Globe).

Non riesco a capire come far leggere il valore di TAG all'interno del WIDGET.

Ci sono mille tutorial in rete ma..... 😡 non propriamente chiari.

 

In sostanza come si passa il valore di una variabile da un oggetto BP ad un Widget ?

La variabile è globale e la valorizzo quando inserisco ogni valvola..

 

 

Variabile_to_BP.JPG

Edited by MarcoBo
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.   Paste as plain text instead

  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...

Important Information

Per garantire la migliore esperienza di navigazione possibile questo sito utilizza cookie tecnici, statistici e di terze parti. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all'uso dei cookie. Privacy Policy - Cookie Policy