‫Ciao e Benvenuto.
‫In questa lezione creeremo piattaforme rotanti e mobili.
‫Lo faremo imparando il tipo di rotatore F in C++ in modo da poter aggiungere un po'
‫più di un altro elemento al nostro puzzle.
‫Entriamo e scopriamo come funziona.
‫Quindi parliamo della compilazione della nostra funzione di rotazione della piattaforma.
‫Quindi, per eseguire la rotazione, è molto simile al modo in cui eseguiamo la posizione e abbiamo funzioni molto
‫simili.
‫Possiamo chiamare invece di chiamare, ottenere la posizione dell'attore, possiamo chiamare, ottenere invece la rotazione dell'attore.
‫E se metto le parentesi alla fine di questa riga e passo il mouse sopra
‫la funzione, Visual Studio IntelliSense ci mostrerà che il valore restituito da questo è un rotatore F.
‫Abbiamo usato il vettore F quando abbiamo lavorato con le posizioni e abbiamo parlato dei rotatori nelle sezioni
‫precedenti.
‫Quindi diamo un'occhiata a mettere questo rotatore F in una variabile locale.
‫Quindi il tipo sarà F rotator e chiameremo questa rotazione corrente uguale alla rotazione dell'attore get, mettere un punto
‫e virgola alla fine della riga.
‫Eliminerò anche l'istruzione di registro perché non ne abbiamo più bisogno.
‫E poi quello che vogliamo fare è essenzialmente esattamente lo stesso che abbiamo fatto con la
‫velocità della piattaforma, che è una sorta di velocità di rotazione moltiplicata per il tempo delta aggiunto alla rotazione corrente.
‫Quindi quale dovrebbe essere quella velocità di rotazione?
‫Bene, è qui che vogliamo passare al file di intestazione e aggiungere una nuova proprietà U.
‫Quindi lo aggiungerò sotto la distanza di spostamento e avrò una proprietà U modificata ovunque e poi gli darò una
‫categoria uguale a questa volta la chiamerò rotazione e cambierò il nome della categoria da
‫piattaforma mobile a spostamento in entrambi i casi.
‫Quindi avremo una categoria per lo spostamento, una categoria per la rotazione.
‫Quindi sotto la proprietà inseriremo un rotatore F chiamato velocità di rotazione e non gli daremo un valore predefinito qui
‫perché per impostazione predefinita non voglio che nessuna delle nostre piattaforme ruoti.
‫Quindi il valore predefinito sarà 000, ed è proprio quello di cui abbiamo bisogno.
‫Quindi inserirò un punto e virgola alla fine della riga qui e ora possiamo tornare al
‫file C++ e utilizzare quella variabile membro nella nostra funzione di rotazione della piattaforma.
‫Quindi quello che vogliamo fare è la rotazione attuale uguale alla rotazione attuale più la velocità di rotazione moltiplicata per il tempo delta e mettere
‫un punto e virgola alla fine della linea.
‫E ora l'ultimo pezzo del puzzle è impostare il nostro attore in quella nuova rotazione.
‫Quindi, esattamente come ti aspetteresti, forse una piccola mini sfida per te, infatti, è come andresti
‫avanti e farlo tu stesso?
‫Bene, quello che useremmo è la funzione di rotazione dell'attore impostato e passeremmo un argomento di rotazione corrente in questo modo
‫e metteremmo un punto e virgola alla fine della riga.
‫Ora, sfortunatamente, non funziona così semplicemente come questo.
‫È giunto alla mia attenzione, hanno fatto notare alcuni studenti nell'assistente didattico.
‫Dan, grazie mille, ha sottolineato che la semplice aggiunta di rotazioni in questo modo non funzionerà sempre
‫a causa di alcune complicazioni legate alle rotazioni che si avvolgono su se stesse.
‫Se vai fino a -90 gradi di rotazione, a un certo punto devi capovolgere in più 90
‫gradi di rotazione e così via.
‫Quindi un modo migliore per aggirare questo problema, invece di impostare la rotazione attiva, è chiamare la rotazione locale
‫dell'attore aggiuntivo.
‫E puoi notare qui che ci sono anche alcune trasformazioni locali dell'attore aggiunto e un offset locale per la
‫posizione.
‫Quindi puoi usarlo anche tu invece di aggiungere la posizione.
‫Tuttavia, non ci sono lo stesso tipo di problemi che incontreremo nei casi limite relativi alla
‫rotazione.
‫Quindi quello che ti consiglierei di fare è aggiungere invece la rotazione locale dell'attore qui e quindi
‫inserire la velocità di rotazione moltiplicata per il tempo delta e fa il resto di questo codice automaticamente per te.
‫Quindi possiamo semplicemente andare avanti e sbarazzarci di quelle linee.
‫E hai una semplice aggiunta alla rotazione locale in corso qui, e puoi anche sbarazzartene
‫ottenendo la rotazione corrente perché non ne abbiamo più bisogno neanche.
‫Quindi andiamo nell'editor e premiamo il pulsante di compilazione.
‫E quando ciò è fatto, chiudi il registro.
‫Selezioniamo una delle piattaforme nel livello che ognuna di esse farà e diamo un'occhiata alle categorie.
‫Quindi abbiamo il movimento, la rotazione e la velocità di rotazione.
‫Quindi voglio ruotare questa piattaforma attorno al suo asse Z probabilmente diciamo di circa 90 gradi al secondo.
‫Quindi ci vogliono 4 secondi per fare una rotazione completa.
‫Andiamo avanti e premiamo play.
‫Ed ecco qua.
‫Abbiamo una piattaforma rotante e mobile.
‫Quindi, a differenza del meccanismo della piattaforma mobile, non dobbiamo preoccuparci che la nostra piattaforma rotante vada effettivamente
‫avanti e indietro.
‫Se vuoi che lo faccia, questa è una possibile estensione a cui potresti pensare.
‫Ma per me questo è abbastanza perché vogliamo solo che queste cose continuino a girare nella
‫stessa direzione.
‫Quindi lasciami andare e rimuovere la rotazione da questa particolare piattaforma perché non vogliamo che questa
‫piattaforma ruoti.
‫Quindi mi piace sfidarti a creare una piattaforma rotante con segnale acustico, in pratica un'altra variante da usare per
‫noi e trovare una mesh appropriata.
‫Andrei con qualcosa che è vagamente circolare in modo che abbia senso come piattaforma rotante e
‫dargli una velocità di rotazione predefinita e posizionarlo nel livello per creare un po 'di un puzzle di piattaforma
‫rotante che puoi attraversare.
‫Metti in pausa il video e prova.
‫Bene.
‫Ben tornato.
‫Quindi andremo avanti nel nostro cassetto dei contenuti e andremo a cercare le classi C++, Obstacle Assault e fare clic con il pulsante
‫destro del mouse sulla piattaforma mobile per creare un dispositivo di classe blueprint derivato da questo.
‫La chiameremo piattaforma rotante di sottolineatura BP e la inseriremo nel percorso del contenuto e
‫creeremo una classe di progetto.
‫Una volta visualizzato l'editor, inseriamolo nella nostra finestra principale.
‫Chiuderò il mio browser dei contenuti che sembra voler apparire ogni volta, andrò al nostro livello
‫principale e andrò sull'isola con tutte le nostre risorse di prova facendo clic con il tasto destro.
‫Vai qui e vediamo se c'è qualcosa che sembra buono.
‫Mi piace l'aspetto di queste piattaforme qui.
‫Se faccio clic con il pulsante destro del mouse su di esso o se faccio semplicemente clic su di esso, la mesh utilizzata
‫qui nella mesh statica è la piattaforma SM A Quindi cerchiamo quella.
‫Andiamo ai nostri progetti, apriamo il contenuto, disegniamo, andiamo a tutto e quindi cerchiamo il trattino di sottolineatura della
‫piattaforma M, il trattino di sottolineatura A e poi abbiamo la mesh, che è questa qui.
‫Secondo per me.
‫Lo trascinerò nel nostro viewport per avere la nostra piattaforma.
‫Ora vediamo dove è centrato.
‫È centrato nel mezzo?
‫Sì, lo è, il che è positivo e importante perché abbiamo bisogno che ruoti a metà.
‫Altrimenti questa piattaforma circolare sembrerà un po' strana.
‫Possiamo anche ridimensionarlo un po' nelle dimensioni x e Y per rendere questa piattaforma un po' più grande e possiamo andare alle impostazioni predefinite della
‫classe per rimuovere qualsiasi velocità della piattaforma perché non vogliamo che si muova e impostare la distanza di spostamento verso il
‫basso a zero potenzialmente e poi guarda la sezione di rotazione e impostala su circa bene, abbiamo
‫provato a 90 gradi al secondo e sembrava abbastanza ragionevole.
‫Quindi andiamo avanti e salviamo questa piattaforma rotante.
‫Andremo al nostro livello principale e quindi faremo clic con il pulsante destro del mouse sull'isoletta galleggiante dove abbiamo il nostro livello per impostare il
‫nostro puzzle, fare clic, vai qui.
‫Poi in cima a quest'isola, voglio mettere giù il nostro nuovo progetto.
‫Quindi annulliamo la ricerca, andiamo alla radice del contenuto e troviamo la nostra piattaforma rotante e inseriamola nel
‫livello.
‫E all'istante vedo che in realtà voglio che sia un po' più grande.
‫Quindi andiamo avanti e ingrandiamolo.
‫Qualche unità in più, forse tre volte dovrebbe andare bene.
‫Andiamo a dare un'occhiata.
‫Ora, penso che potrebbe essere ancora più grande, quindi aumenterò un po' di più in modo che essenzialmente in X
‫e Y sia cinque volte più grande di quanto non fosse originariamente.
‫Va bene, è un bel disco rotante ampio e potrebbe essere piuttosto difficile per noi da attraversare.
‫Quindi li duplicherò usando alt e trascinerò per crearne alcuni sulla piattaforma e proverò
‫a posizionarli in modo appropriato e poi alt trascinarne altri.
‫In modo da avere qui una piccola serie di enigmi che possiamo provare a superare.
‫Quindi li ho semplicemente mossi un po' finché non sono riuscito a farli praticamente da bordo a bordo.
‫Ed è qui che essere in grado di avere una modalità di gioco aiuta davvero perché possiamo fare clic con il pulsante destro del mouse
‫vicino alle piattaforme e fare clic su Riproduci da qui, e qui ci sono tutte le nostre piattaforme rotanti su cui possiamo calpestare.
‫Ed è un po' una sfida ora per noi trovare la strada su queste piattaforme mobili in modo semplice e piacevole.
‫Ora c'è questa zona morta nel mezzo che potremmo provare a
‫cancellare, ma in realtà è abbastanza difficile rimanere nella zona morta, quindi non cercherò di inserire qualcosa di
‫specifico per cercare di fermarlo.
‫Ma puoi vedere che ci sei.
‫È una sfida fattibile che possiamo affrontare, ma è un po' complicata ed è divertente.
‫Roba fantastica.
‫Quindi, in questa lezione, abbiamo visto come realizzare piattaforme rotanti imparando a conoscere un nuovo tipo, il
‫rotatore F e come possiamo usarlo per impostare la rotazione dei nostri attori.
‫Ci vediamo alla prossima lezione.