Condividi tramite


Esercitazione di Mesh 101 Capitolo 4: Spostare oggetti e animazioni trigger con Mesh Interactables e Fisica

In questo capitolo si lavorerà con un modello della fattoria eolica. Si apprenderà come usare Mesh Interactables e Fisica per afferrare e rilasciare corpi rigidi (in questo caso, turbine eoliche) e configurare un trigger di animazione usando Visual Scripting. Le cose verranno racchiuse in modo da limitare le turbine eoliche in modo che possano essere spostate solo all'interno di un'area specificata.

Questo capitolo è un po' più semplice di quello che hai fatto nel capitolo 3---there no scripting, e la rete è configurata in modo che la fisica sembri uguale a tutti gli avatar nella sessione.

Ci sono alcune cose che dobbiamo fare prima di iniziare con la prima stazione.

Riconfigurare la gerarchia

  • Nella gerarchia comprimere Il capitolo3 GameObject e quindi espandere Chapter4 GameObject.

Screenshot di una descrizione computer

Modificare la visualizzazione per visualizzare il Capitolo 4 Sphere Terrace

Nell'esperienza in Mesh, il partecipante passerà senza problemi dalla fine del capitolo 3 all'inizio del capitolo 4 e si troverà correttamente per iniziare le attività di apprendimento del capitolo 4. Tuttavia, quando si è chiusa la modalità Play alla fine del capitolo 3, non è stato inserito automaticamente con una visualizzazione al capitolo 4 nella finestra Scena . Verrà configurata questa visualizzazione.

  1. Nella gerarchia selezionare GameObject denominato 4.1 - Afferrare e rilasciare.

    Screenshot di una descrizione computer

  2. Spostare il cursore sulla finestra Scena e quindi premere il tasto F sulla tastiera.

    Questo centro la vista sull'oggetto 4.1 - Grab and Release , ma probabilmente non sarà nella posizione necessaria.

  3. Trascinare, ruotare e/o ingrandire la visualizzazione fino a visualizzare le stazioni del capitolo 4 davanti a voi, come illustrato di seguito.

    Immagine generata automaticamente da un computer di un modello di una descrizione montagna

Stazione 4.1: Afferrare e rilasciare

L'obiettivo per il partecipante in questo capitolo della formazione è spostare le turbine eoliche dalla cima del tavolo all'oceano. Una volta che si trova lì, le turbine catturano il vento dell'oceano, rendendo le loro pannelli girare e generare energia.

  1. Nella gerarchia espandere 4.1 - Grab and Release GameObject. Si noti che contiene tre Wind Turbine GameObjects che si trovano sul tavolo nella scena.

    Screenshot di una descrizione computer

    Aggiungiamo le funzionalità "grab and release" a WindTurbine1 in modo che i partecipanti possano spostarlo in Mesh.

  2. Nella gerarchiaselezionare WindTurbine1.

  3. Nel controllo fare clic sul pulsante Aggiungi componente e quindi cercare e aggiungere l'installazione di Mesh Interactable.

    Screenshot

    Suggerimento

    Una spiegazione di questo componente è stata fornita nel capitolo 3 di questa esercitazione.

  4. Nello stesso componente fare clic sull'elenco a discesa Tipo di oggetto e quindi selezionare Manipulable.

    Screenshot

  5. Assicurarsi che il componente sia attivo.

  6. Nel componente Rigidbody espandere l'opzione Vincoli se necessario e quindi per le impostazioni Blocca rotazione selezionare X,Y e Z.

    Screenshot di una descrizione computer generata automaticamente

Ciò impedirà alla turbina di scorrere se la si posiziona su una superficie irregolare.

Testare il lavoro

  1. Salvare il progetto e quindi selezionare il pulsante Play editor unity.

    Si noti che ogni volta che si immette la modalità gioco, il punto iniziale nella finestra Gioco è il Capitolo 3 Sphere Terrace. Per questo capitolo, vogliamo trovarsi nell'altra terrazza sphere--- quella con le caratteristiche del capitolo 4. Fortunatamente, c'è un modo semplice per arrivare lì.

  2. Ruotare la visualizzazione a destra fino a quando non viene visualizzata la casella di informazioni Vai al capitolo 4 .

    Screenshot di una descrizione computer

  3. Passare alla casella informazioni e quindi selezionare il pulsante Teleport to Capitolo 4 .

    Screenshot di una descrizione computer generata automaticamente

  4. Dopo aver arrivato al capitolo 4 Sphere Terrace, spostare il cursore su WindTurbine1--la sua forma cambierà-e quindi trascinare la turbina intorno alla scena.

    La turbina rimarrà verticale a causa dell'attivazione dei vincoli di rotazione di blocco .

    Immagine

  5. Fare clic sul pulsante Play editor di Unity per uscire dalla modalità play.

Non è necessario aggiornare le altre due turbine eoliche- abbiamo già fatto questo per voi.

Stazione: Trigger di animazione 4.2

L'idea è che quando si trascina una turbina eolica sull'oceano, il "vento" fa girare le pale della turbina. Ciò che accade in realtà è che un cubo trasparente denominato Trigger di animazione si trova sull'oceano e funge da volume trigger. Se si trascina una turbina eolica nel volume del trigger, viene impostato un evento On Trigger Enter che avvia un'animazione a pannello di rotazione.

Per questo capitolo si aggiungerà uno script a un GameObject e quindi si abiliterà l'animazione nello script.

  1. Nella gerarchia espandere 4.2 -- Animation Trigger GameObject e quindi selezionare il relativo oggetto figlio denominato Trigger animazione.

    Screenshot

    Si noti che è possibile visualizzare le contorni verdi del Collider Box Collider di GameObject trigger animazione .

    Screenshot

  2. Nel controllo passare al componente Box Collider e quindi selezionare Attiva.

    Screenshot

Suggerimento

Quando si seleziona Is Trigger, il componente collider viene collegato a un volume trigger.

  1. Nella gerarchia passare al capitolo 4.1>- Afferrare e rilasciare e quindi selezionare WindTurbine1.
  2. Fare clic sul pulsante Aggiungi componente e quindi cercare e aggiungere Computer script.

Lo script deve essere incorporato, ma ciò significa che in genere è necessario iniziare a creare un nuovo grafico di script da zero. Si prenderà un collegamento; lasciare l'opzione Source impostata su Graph per il momento. Verrà collegato un grafico di script esistente e quindi convertirlo in un grafico incorporato.

  1. Fare clic sul pulsante nel campo Graph e quindi nella finestra SelectSceneGraphselezionare SPWindTurbineScript.

    Screenshot

  2. Fare clic sul pulsante Converti . Si noti che questa impostazione rimuove l'impostazione Graph e modifica l'opzione Origine in Incorporamento.

Aggiungere l'animazione del pannello di rotazione al grafico

Prendere un momento per esaminare il grafico dello script. Ha due gruppi: il gruppo superiore attiva l'animazione di rotazione del pannello quando l'utente trascina una turbina eolica nel volume del trigger e il gruppo inferiore arresta l'animazione quando l'utente trascina la turbina fuori dal volume.

Screenshot

Il grafico è quasi configurato come lo vogliamo, ma c'è un problema rimanente. I due animatori: impostare i nodi trigger su Questo ...

Screenshot

... ma questo (in altre parole, WindTurbine1) non ha l'animazione che vogliamo attivare. Scopriamolo.

  1. Nella gerarchia espandere WindTurbine1 e quindi espandere il relativo oggetto figlio denominato WindTurbineBody. Questo rivela l'oggetto figlio denominato Windmill_Turbine_001:Propellors10.

    Screenshot

  2. Selezionare Windmill_Turbine_001:Propellors10 e quindi, nel controllo, tenere presente che contiene un componente Animator con il controlleranimatore denominato WindTurbine1Propellers.

    Screenshot

    Questo animatore è ciò che fornirà la nostra animazione.

  3. Trascinare il Windmill_Turbine_001:Propellors10 GameObject dalla gerarchia e quindi, nel grafico dello script, rilasciarlo nel primo campo nell'animazione: impostare il nodo Trigger situato nel primo gruppo.

    Screenshot

  4. Trascinare nuovamente il Windmill_Turbine_001:Propellors10 GameObject dalla gerarchia e quindi, nel grafico dello script, rilasciarlo nel primo campo nell'animazione: impostare il nodo Trigger situato nel secondo gruppo.

Lo script è ora completato.

Testare il lavoro

  1. Salvare il progetto e quindi premere il pulsante Riproduzione editor Unity.

  2. Come indicato in precedenza, l'immissione della modalità Play inserisce l'avatar in Chapter3 Sphere Terrace. Ruotare la scena a destra e quindi passare al pulsante Teleport al capitolo 4 e premerelo.

    Screenshot di una descrizione computer generata automaticamente

  3. Dovresti ora trovarsi nella terrazza Chapter4 Sphere. Trascinare WindTurbine1 (promemoria: è quello più lontano sul retro, con le lame rosse) sull'oceano. Si noti che le pale della turbina sono ora in rotazione.

    Immagine contenente screenshot, modellazione 3d, gioco per pc, descrizione del software di videogiochi generata automaticamente

  4. Trascinare la stessa turbina lontano dall'oceano e posizionarla di nuovo sul tavolo. Si noti che le lame della turbina smettono di ruotare.

  5. Al termine dell'osservazione dell'animazione, premere il pulsante Riproduci editor Unity per uscire dalla modalità di riproduzione.

Non è necessario aggiornare le altre turbine eoliche---we già fatto per te.

Stazione 4.3: Vincolare i corpi

Al momento, non c'è alcun vincolo per cui un partecipante può rilasciare una turbina eolica. Speriamo che inseriscano le turbine nell'oceano in cui possono catturare il vento, ma un partecipante potrebbe, ad esempio, rilasciare accidentalmente una turbina sul pavimento. Vogliamo evitare questo problema, in modo da garantire che le turbine possano atterrare solo sul tavolo o nell'oceano, possiamo configurare un campo di contenimento. Si tratta fondamentalmente di una scatola trasparente--- le turbine saranno limitate all'interno della scatola.

  1. Nella gerarchia espandere la versione 4.3 - Vincolare Body GameObject e selezionare il relativo oggetto figlio denominato Containment Field.

    Screenshot di una descrizione computer generata automaticamente

  2. In Inspector (Controllo) selezionare il pulsante Add Component (Aggiungi componente ) e quindi aggiungere il componente Containment Field (Campo di contenimento ).

    Screenshot di una descrizione computer generata automaticamente

  3. Nel componente Campo di contenimento selezionare il pulsante "+" a destra dell'opzione Corpi interessati e quindi, nel menu popup, selezionare la condizione Nome oggetto gioco .

    Screenshot di una descrizione computer generata automaticamente

  4. Nella casella Inizia con digitare "WindTurbine". Poiché tutte e tre le turbine eoliche nella scena iniziano con "WindTurbine" saranno tutte limitate al campo di contenimento.

    Screenshot di una descrizione del computer

Testare il lavoro

  1. Salvare il progetto e quindi premere il pulsante Riproduci editor Unity.

  2. Come indicato in precedenza, l'immissione della modalità di riproduzione posiziona l'avatar nella terrazza Sphere Capitolo3 . Ruotare la scena a destra, quindi passare al pulsante Teleport al capitolo 4 e premere il pulsante.

    Screenshot di una descrizione computer generata automaticamente

  3. Dovresti ora trovarsi nella terrazza Chapter4 Sphere. Trascinare una delle turbine eoliche lontano dal tavolo e dall'oceano e cercare di rilasciarlo sul pavimento. Il campo di contenimento impedisce di farlo.

Capitolo 4: Riepilogo

In questo capitolo sono state aggiunte funzionalità mesh che consentono ai partecipanti dell'esperienza di eseguire le operazioni seguenti:

  • Afferrare e spostare un oggetto

  • Attivare un'animazione quando il partecipante trascina un oggetto in un volume di trigger

  • Eliminare un oggetto solo in un'area specifica specificata

Passaggi successivi

Capitolo 5: Rendere disponibile l'ambiente per i test