Animacja scenorysu

Sceneform pozwala importować modele z animacją. Za pomocą interfejsów Sceneform API można odtwarzać animację i nią sterować, a także dołączać węzły do szkieletu modelu.

Na przykład próbka scenografii Animacja obejmuje pliki do stworzenia modeli Androida i czapki baseballowej Andy'ego. Model Andy'ego zawiera dane animacji, a czapka z daszkiem jest modelem nieanimowanym. Gdy uruchomisz przykład, Andy wygrywa i faluje rękami, a kapelusz pozostaje przy głowie zawsze za pomocą węzła.

Animacja modelu sceny a animacja właściwości Androida

Ważne jest, aby odróżniać animacje modeli w Sceneform od animacji właściwości na Androidzie.

  • Animacje modelu są tworzone z wyprzedzeniem przez artystów przy użyciu oprogramowania do modelowania i animacji. Zawierają dane animacji szkieletu. Animacje muszą być wyeksportowane jako pliki *.fbx, a następnie zaimportowane do pliku *.sfb, aby można ich było użyć w narzędziu Sceneform.

  • Animacja właściwości to podstawowa koncepcja Androida, która nie dotyczy Sceneform. Ten rodzaj animacji może zmienić dowolną wartość zmiennej w obiekcie Java, który zawiera metodę getter i seter. Animowane wartości można ustawiać dynamicznie, ale nie można ich spakować w pliku *.sfb.

    Zarówno właściwość, jak i animacja modelu obsługują interfejs Animator API na Androida. Oba programy obsługują słuchacze, czas rozpoczęcia i zakończenia oraz czas rozpoczęcia i opóźnienie.

    animację modelu obsługuje tylko ograniczone odtwarzanie w przypadku TimeInterpolators; Odtwarzanie wsteczne nie jest obsługiwane w animacjach modeli.

  • Aby zobaczyć, jak działa modelowanie sceny, zobacz przykład animacji.

  • Aby zobaczyć animację właściwości przy użyciu funkcji Sceneform, zapoznaj się z przykładem dotyczącym Układu Słonecznego.

Koncepcje animacji modeli

Zanim zaczniesz korzystać z animowanych modeli, warto zapoznać się z konkretnymi pojęciami dotyczącymi animacji szkieletowej, a także z powiązanymi ograniczeniami i funkcjami związanymi z sceną.

  • Kość. Animowany model zawiera połączone ze sobą kości, tworząc w hierarchii relacje między reklamodawcami nadrzędnymi a podrzędnymi. Animacja zmienia położenie i orientację kości podczas odtwarzania.

    Zgodnie z tym, że przenoszenie elementu nadrzędnego Node w Sceneform powoduje przesunięcie wszystkich dzieci Node w Sceneform, powoduje też przeniesienie dzieci. Kości można przenosić za pomocą animacji lub otwierać jako węzeł za pomocą klasy SkeletonNode. Kiedy kości są dostępne jako Node, nowe pozycje są zastępowane każdą animacją, jeśli pozwala ona na odtwarzanie.

  • Szkicownik. Szkicownik składa się z wszystkich kości, tworząc hierarchię relacji między rodzicami a podmiotami.

    Model modelu ludzkiej ręki może zawierać kości, takie jak &&tt;lewe ramię", "lewe ramię" "lewe łokcie" &"lewe ramię" itd. Począwszy od &ramienia po lewej stronie, jako element nadrzędny tej hierarchii, lewy górny róg zostanie przypisany jako element podrzędny. Elementy podrzędne „lewego górnego ramienia” to „" lewa część łokcia” i niższe kości. Gdy kości barka będą obracane, ramię, ramię, łokcie i inne kości poniżej zostaną przesunięte w tandemie.

    Sceneform nie używa interfejsu API do zmiany relacji nadrzędna-podrzędna między kościami w szkieletie. Należy to zrobić z wyprzedzeniem w zewnętrznym pakiecie do modelowania i animacji.

    Nawet modele przedstawiające obiekty nieorganiczne mogą wykorzystywać szkielety, aby ułatwić realizm. Na przykład model kanapy może mieć kości i szkielet.

  • Skóra. Skóra to masa stosowana do rysowanej siatki modelu. Położenie i kształt siatki są obliczane na podstawie pobliskich kości. To połączenie kości i skóry odzwierciedla sposób odwzorowania modelu, zapewniając bardziej realistyczny ruch.

    Skóra musi być przygotowana z wyprzedzeniem za pomocą pakietu modelowania i animacji. Scena może zmieniać materiał siatki, aby zmienić wygląd modelu.