Udostępnij za pośrednictwem


Mesh 101 Tutorial Chapter 4: Move objects and trigger animations with Mesh Interactables and Physics

W tym rozdziale będziesz pracować z modelem farmy wiatrowej. Dowiesz się, jak używać narzędzi Mesh Interactables i Fizyki do chwytania i wydawania sztywnych ciał (w tym przypadku turbin wiatrowych) i konfigurowania wyzwalacza animacji przy użyciu skryptów wizualnych. Podsuniesz rzeczy, ograniczając turbiny wiatrowe, aby można je było przenosić tylko w określonym obszarze.

Ten rozdział jest nieco bardziej prosty niż to, co zrobiłeś w rozdziale 3---there's no scripting, a sieć jest skonfigurowana tak, aby fizyka wyglądała tak samo jak wszystkie awatary w sesji.

Istnieje kilka rzeczy, które musimy zrobić przed rozpoczęciem z pierwszą stacją.

Ponowne konfigurowanie hierarchii

  • W hierarchii zwiń element GameObject Rozdział3 , a następnie rozwiń obiekt GameObject Rozdział4 .

Zrzut ekranu przedstawiający opis komputera

Zmień widok, aby wyświetlić taras z rozdziałem 4

W doświadczeniu w usłudze Mesh uczestnik przejdzie płynnie od końca rozdziału 3 na początek rozdziału 4 i będzie prawidłowo zlokalizowany, aby rozpocząć działania szkoleniowe rozdziału 4. Jednak po wyjściu z trybu odtwarzania na końcu rozdziału 3 nie zostało automatycznie umieszczone w widoku do modelu Rozdział 4 w oknie Scena . Skonfigurujmy ten widok.

  1. W hierarchii wybierz obiekt GameObject o nazwie 4.1 - Grab i Release.

    Zrzut ekranu przedstawiający opis komputera

  2. Przesuń kursor nad oknem Scena , a następnie naciśnij klawisz F na klawiaturze.

    Spowoduje to wyśrodkować widok na obiekt 4.1 — Grab i Release , ale najprawdopodobniej nie będzie w dość potrzebnej sytuacji.

  3. Przeciągnij, obróć i/lub powiększ widok, aż zobaczysz stacje Rozdział 4 przed tobą, jak pokazano poniżej.

    Wygenerowany obraz przedstawiający automatycznie wygenerowany obraz modelu górskiego opisu

Stacja 4.1: Grab i Release

Celem uczestnika w tym rozdziale szkolenia jest przeniesienie turbin wiatrowych z tabletu do oceanu. Po zlokalizowaniu tam turbiny złapią wiatr oceaniczny, co sprawia, że ich ostrza obracają się i generują moc.

  1. W hierarchii rozwiń węzeł 4.1 — Grab i Release GameObject. Należy pamiętać, że zawiera trzy obiekty GameObject turbiny wiatrowej znajdujące się na tablecie w scenie.

    Zrzut ekranu przedstawiający opis komputera

    Dodajmy możliwości "grab and release" do WindTurbine1 , aby uczestnicy mogli poruszać się po nim w mesh.

  2. W hierarchii wybierz pozycję WindTurbine1.

  3. W inspektorze kliknij przycisk Dodaj składnik , a następnie wyszukaj i dodaj konfigurację z możliwością interakcji z usługą Mesh.

    Zrzut ekranu

    Porada

    Wyjaśnienie tego składnika zostało podane w rozdziale 3 tego samouczka.

  4. W tym samym składniku kliknij listę rozwijaną Typ obiektu , a następnie wybierz pozycję Manipulable.

    Zrzut ekranu

  5. Upewnij się, że składnik jest aktywny.

  6. W składniku Sztywna osoba rozwiń w razie potrzeby opcję Ograniczenia, a następnie w obszarze Ustawienia blokowania rotacji wybierz pozycję X,Y i Z.

    Zrzut ekranu przedstawiający automatycznie wygenerowany opis komputera

Zapobiegnie to przechyleniu turbiny, jeśli umieścisz ją na nierównej powierzchni.

Testowanie pracy

  1. Zapisz projekt, a następnie wybierz przycisk Odtwórz edytor aparatu Unity.

    Należy pamiętać, że za każdym razem, gdy wchodzisz w tryb odtwarzania, punkt wyjścia w oknie Gry to Taras rozdziału 3 Sphere. W tym rozdziale chcemy być na drugim tarasie sfer--- jednym z cech rozdziału 4. Na szczęście jest łatwy sposób, aby się tam dostać.

  2. Obróć widok po prawej stronie, dopóki nie zostanie wyświetlone pole informacyjne Przejdź do rozdziału 4 .

    Zrzut ekranu przedstawiający opis komputera

  3. Przejdź do pola informacji, a następnie wybierz przycisk Teleportuj do rozdziału 4 .

    Zrzut ekranu przedstawiający automatycznie wygenerowany opis komputera

  4. Po przybyciu do Rozdziału 4 Sphere Terrace przenieś kursor nad WindTurbine1- jego kształt zmieni się- a następnie przeciągnij turbinę wokół sceny.

    Turbina pozostanie w pozycji pionowej w wyniku włączenia ograniczeń obrotu zamrożenia .

    Obraz

  5. Kliknij przycisk Odtwarzania edytora aparatu Unity, aby zamknąć tryb odtwarzania.

Nie musisz aktualizować dwóch pozostałych turbin wiatrowych — zrobiliśmy to już dla Ciebie.

Stacja: wyzwalacz animacji 4.2

Chodzi o to, że gdy przeciągasz turbinę wiatrową nad oceanem, "wiatr" powoduje wirowanie łopat turbiny. W rzeczywistości dzieje się tak, że przezroczysty moduł o nazwie Wyzwalacz animacji znajduje się nad oceanem i działa jako wolumin wyzwalacza. Jeśli przeciągniesz turbinę wiatrową do woluminu wyzwalacza, zostanie uruchomione zdarzenie On Trigger Enter , które uruchamia animację wirującego bloku.

W tym rozdziale dodamy skrypt do obiektu GameObject, a następnie włączymy animację w skrycie.

  1. W hierarchii rozwiń obiekt GameObject wyzwalacza animacji 4.2, a następnie wybierz jego obiekt podrzędny o nazwie Wyzwalacz animacji.

    Zrzut ekranu

    Zwróć uwagę, że można zobaczyć zielone kontury wyzwalacza animacji GameObject's Box Collider.

    Zrzut ekranu

  2. W inspektorze przejdź do składnika Box Collider , a następnie wybierz pozycję Wyzwalacz.

    Zrzut ekranu

Porada

Po wybraniu pozycji Wyzwalacz powoduje, że obiekt, który jest dołączany do woluminu wyzwalacza.

  1. W hierarchii przejdź do rozdziału 4 4.1>— Pobierz i zwolnij , a następnie wybierz pozycję WindTurbine1.
  2. Kliknij przycisk Dodaj składnik , a następnie wyszukaj i dodaj maszynę skryptu.

Chcemy, aby nasz skrypt został osadzony, ale zwykle oznacza to, że musisz zacząć tworzyć nowy graf skryptu od podstaw. Zrobimy skrót; pozostaw opcję Źródło ustawioną na wykres na razie. Dołączymy istniejący graf skryptu, a następnie przekonwertujemy go na osadzony graf.

  1. Kliknij przycisk w polu Graph , a następnie w oknie SelectSceneGraph wybierz pozycję SPWindTurbineScript.

    Zrzut ekranu

  2. Kliknij przycisk Konwertuj . Należy pamiętać, że spowoduje to usunięcie ustawienia grafu i zmianę opcji Źródło na osadź.

Dodawanie animacji wirującego bloku do grafu

Poświęć chwilę na sprawdzenie wykresu skryptu. Ma dwie grupy: górna grupa wyzwala animację wirowania bloku, gdy użytkownik przeciąga turbinę wiatrową do głośności wyzwalacza, a dolna grupa zatrzymuje animację, gdy użytkownik przeciąga turbinę z woluminu.

Zrzut ekranu

Wykres jest prawie skonfigurowany tak, jak chcemy, ale istnieje jeden z pozostałych problemów. Dwa węzły Animator: Ustaw wyzwalacz są ustawione na Wartość Ta ...

Zrzut ekranu

... ale to (innymi słowy , WindTurbine1) nie ma animacji, którą chcemy wyzwolić. Znajdźmy to.

  1. W hierarchii rozwiń węzeł WindTurbine1 , a następnie rozwiń jego obiekt podrzędny o nazwie WindTurbineBody. Spowoduje to ujawnienie obiektu podrzędnego o nazwie Windmill_Turbine_001:Śmigły10.

    Zrzut ekranu

  2. Wybierz pozycję Windmill_Turbine_001:Śmigły10, a następnie w inspektorze zwróć uwagę, że zawiera składnik Animatoro nazwieWindTurbine1Propellers.

    Zrzut ekranu

    To jest to, co zapewni naszą animację.

  3. Przeciągnij obiekt Windmill_Turbine_001:Śmigły10 GameObject z hierarchii , a następnie w grafie skryptu upuść go w pierwszym polu w węźle Animator: Ustaw wyzwalacz znajdujący się w pierwszej grupie.

    Zrzut ekranu

  4. Przeciągnij obiekt Windmill_Turbine_001:Śmigły10 GameObject z hierarchii ponownie, a następnie w grafie skryptu upuść go w pierwszym polu w węźle Animator: Ustaw wyzwalacz znajdujący się w drugiej grupie.

Skrypt został ukończony.

Testowanie pracy

  1. Zapisz projekt, a następnie naciśnij przycisk Odtwarzania edytora aparatu Unity.

  2. Jak wspomniano wcześniej, wejście w tryb odtwarzania umieszcza awatara na tarasie Rozdział3 Sphere. Obróć scenę po prawej stronie, a następnie przejdź do przycisku Teleport do rozdziału 4 i naciśnij go.

    Zrzut ekranu przedstawiający automatycznie wygenerowany opis komputera

  3. Powinien być teraz na tarasie Sphere Chapter4 . Przeciągnij WindTurbine1 (przypomnienie: jest to najdalej jeden z tyłu, z czerwonymi ostrzami) nad oceanem. Należy zauważyć, że łopatki turbiny są teraz wirujące.

    Obraz zawierający zrzut ekranu, modelowanie 3d, gra komputerowa, opis oprogramowania do gier wideo automatycznie wygenerowany

  4. Przeciągnij tę samą turbinę z dala od oceanu i umieść ją z powrotem na tablecie. Należy pamiętać, że łopatki turbiny przestają wirować.

  5. Po zakończeniu obserwacji animacji naciśnij przycisk Odtwarzania edytora aparatu Unity, aby zamknąć tryb odtwarzania.

Nie musisz aktualizować innych turbin wiatrowych---we już to zrobił dla Ciebie.

Stacja 4.3: Ciała ograniczające

W tej chwili nie ma żadnego ograniczenia, w którym uczestnik może upuścić turbinę wiatrową. Mamy nadzieję , że umieszczają turbiny w oceanie, gdzie mogą złapać wiatr, ale uczestnik może na przykład przypadkowo upuścić turbinę na podłodze. Chcemy tego uniknąć, aby zapewnić, że turbiny mogą wylądować tylko na tablecie lub w oceanie, możemy utworzyć pole powstrzymywania. Jest to w zasadzie przezroczysta skrzynka--- turbiny będą ograniczone do wewnątrz pudełka.

  1. W hierarchii rozwiń obiekt GameObject o nazwie 4.3 - Constraining Bodies GameObject i wybierz jego obiekt podrzędny o nazwie Zawieranie.

    Zrzut ekranu przedstawiający automatycznie wygenerowany opis komputera

  2. W obszarze Inspector (Inspektor) wybierz przycisk Add Component (Dodaj składnik), a następnie dodaj składnik Containment Field (Zawieranie pola).

    Zrzut ekranu przedstawiający automatycznie wygenerowany opis komputera

  3. W składniku Zawieranie pola wybierz przycisk "+" po prawej stronie opcji Ciała, którego dotyczy problem , a następnie w menu podręcznym wybierz warunek Nazwa obiektu gry .

    Zrzut ekranu przedstawiający automatycznie wygenerowany opis komputera

  4. W polu Rozpoczyna się od wpisz "WindTurbine". Ponieważ wszystkie trzy turbiny wiatrowe w naszej scenie zaczynają się od "WindTurbine", wszystkie będą ograniczone do Pola Zawierania.

    Zrzut ekranu przedstawiający opis komputera

Testowanie pracy

  1. Zapisz projekt, a następnie naciśnij przycisk Odtwarzania edytora aparatu Unity.

  2. Jak wspomniano wcześniej, wejście w tryb odtwarzania powoduje umieszczenie awatara na tarasie Sphere Chapter3 . Obróć scenę po prawej stronie, a następnie przejdź do przycisku Teleport do rozdziału 4 i naciśnij go.

    Zrzut ekranu przedstawiający automatycznie wygenerowany opis komputera

  3. Powinien być teraz na tarasie Sphere Chapter4 . Przeciągnij jedną z turbin wiatrowych z dala od blatu i oceanu i spróbuj upuścić ją na podłodze. Pole zawierania uniemożliwia wykonanie tych czynności.

Rozdział 4. Podsumowanie

W tym rozdziale dodano funkcje usługi Mesh, które umożliwiają uczestnikom twoich doświadczeń wykonywanie następujących czynności:

  • Pobieranie i przenoszenie obiektu

  • Wyzwalanie animacji, gdy uczestnik przeciąga obiekt do woluminu wyzwalacza

  • Upuszczanie obiektu tylko w określonym obszarze

Następne kroki

Rozdział 5. Udostępnianie środowiska do testowania