Creare Videogiochi - Game Developer

Versione completa: Unreal engine 4, problema sidescrolling
Al momento stai visualizzando i contenuti in una versione ridotta. Visualizza la versione completa e formattata.
Buon giorno a tutti.
Sto creando uno shooter a scorrimento orizzontale a tema spaziale (classica astronave che spara old style) ma sto incontrando non pochi problemi con lo scrolling.
Ora ci sono diverse soluzioni per far muovere il pawn verso destra, a livello di blueprint posso impostare una velocità predeterminata sull'asse orizzontale e la telecamera parentata che lo segue. Oppure posso impostare un semplice movimento alla telecamera verso destra per tutto il livello.
In ogni caso il problema è che il pawn può uscire dal campo visivo della telecamera e indietreggiare per tutto il livello o avanzare persino oltre. Per il sopra e sotto non ci sono problemi perché basta mettere delle static mesh invisibili che bloccano il pawn.
Ora come posso mettere delle static mesh a sinistra e destra del limite di visuale della telecamera in modo che seguano lo scorrimento e impediscano al pawn di uscire?
Un metodo che ho pensato è quello di creare un parallelepipedo con collisione che blocca solo il pawn e animarlo con matinee in modo che avanzi per tutto il livello.
Funziona solo in parte...nel senso che se indietreggio col pawn sul momento lo blocca ma se insisto si lascia compenetrare e il pawn passa dall'altra parte...cosa curiosa una volta dall'altra parte non è piu possibile ricompenetrarlo neanche quando si ferma a fine livello.
Inoltre se io sto semplicemente fermo con il pawn il parallelepipedo si appoggia alla nave ma non la spinge per il livello come dovrebbe essere.

Potete aiutarmi?
C'è anche un'altro metodo per impedire al pawn di uscire dalla visuale della telecamera?
1. Inserisci il personaggio all'interno della telecamera.(con questo passaggio il personaggio seguirà la telecamera)
2. Muovi la telecamera verso la direzione desiderata.
3. Se il vettore del personaggio è maggiore o uguale del bordo destro della telecamera ferma la forza di movimento del personaggio.
4. Se il vettore del personaggio è minore o uguale del bordo sinistro della telecamera allora ferma la forza di movimento del personaggio.

ci sono diversi modi per calcolare i bordi della telecamera

io eviterei completamente di utilizzare primitivi animati per bloccare il personaggio all'interno della telecamera.
(14-10-2017, 03:51 PM)MightyVikko Ha scritto: [ -> ]1. Inserisci il personaggio all'interno della telecamera.(con questo passaggio il personaggio seguirà la telecamera)
2. Muovi la telecamera verso la direzione desiderata.
3. Se il vettore del personaggio è maggiore o uguale del bordo destro della telecamera ferma la forza di movimento del personaggio.
4. Se il vettore del personaggio è minore o uguale del bordo sinistro della telecamera allora ferma la forza di movimento del personaggio.

ci sono diversi modi per calcolare i bordi della telecamera

io eviterei completamente di utilizzare primitivi animati per bloccare il personaggio all'interno della telecamera.

Sono riuscito a risolvere il problema! Avevi perfettamente ragione!
All'inizio non capivo come far muovere la telecamera perché la inserivo dentro il bluprint del pawn e quindi non riuscivo a crearne una referenza su altri bluprint per aggiungergli lo spostamento o su matinee (tra l'altro c'è un modo per farlo?).
Dopo mi sono ricordato che potevo parentarli direttamente sul world outliner! Che tonto!
Comunque poi ho fatto una ricerca per capire come clampare il movimento del pawn e ho trovato questo utilissimo bluprint che link qui in modo possa essere utile ad altri:

https://answers.unrealengine.com/questio...-view.html

Funziona perfettamente!

Il mio problema, come quello di qualsiasi neofita, è inventarsi i bluprint...anche perché non sono un programmatore quindi non sono abituato a questo tipo di logica. Inoltre le funzioni dei bluprint non sono ben documentate.
Ti ringrazio!