Program Animate udostępnia typ dokumentu przeznaczony do pracy z materiałami VR 360 stopni i panoramami VR, który ułatwia tworzenie zawartości tego typu.Nowy typ dokumentu rzeczywistości wirtualnej umożliwia też importowanie modeli 3D (plików GLB) do projektu programu Animate w celu tworzenia animacji 3D. 

Aby wyświetlić podgląd zawartości utworzonej przy użyciu typu dokumentu VR, można użyć nowego panelu Widok VR. W panelu Widok VR można klikać i przesuwać wystąpienia klipów filmowych. Program Animate automatycznie wykrywa obiekty, kiedy są one klikane i przesuwane.Widok VR umożliwia umieszczanie obiektów w przestrzeni 3D. Zmiany rozmieszczenia obiektów (klipów filmowych) wprowadzone w widoku VR są automatycznie odzwierciedlane na stole montażowym 2D. W panelu Oś czasu można oznaczyć warstwę jako tekstową, aby zawinąć ją na cylindrze albo kuli w tych typach dokumentu.

Program Animate umożliwia zarządzanie animacjami rzeczywistości wirtualnej w czasie wykonywania — w oparciu o rozbudowane interfejsy API. Można na przykład dodać w środowisku VR stopni obiekty, które są uaktywniane, gdy użytkownik klika przycisk. 

Uwaga:

Funkcje rzeczywistości wirtualnej (360 stopni i panoramy) są dostępne jako wersje beta w wersji programu Animate z października 2018. 

Typy dokumentów rzeczywistości wirtualnej

Istnieją dwa typy dokumentów przeznaczone do pracy z rzeczywistością wirtualną:

Panorama VR

panorama outside vacation wooden village home in sunny evening day . Full 360 degree seamless panorama in equirectangular spherical projection
  • Te dokumenty umożliwiają tworzenie panoram do aplikacji rzeczywistości wirtualnej. 
  • W dokumentach tego typu zawartość narysowana bezpośrednio na warstwach tekstury jest zawijana na cylindrze.
  • Można określić, czy obraz panoramiczny ma się znajdować na warstwie tekstury, czy ma być rysowane tło. 
  • Program Animate konwertuje utworzone animacje 2D na panoramy i obsługuje przy tym elementy interaktywne. 

VR 360 stopni

panorama outside vacation wooden village home in sunny evening day . Full 360 degree seamless panorama in equirectangular spherical projection
  • Dokumenty tego typu umożliwiają tworzenie zawartości 360 stopni do aplikacji rzeczywistości wirtualnej.  
  • W dokumentach tego typu zawartość narysowana bezpośrednio na warstwach tekstury jest zawijana na kuli.
  • Można wybrać obraz podzielony na prostokąty równych wymiarów lub narysować zawartość. 
  • Program Animate konwertuje utworzone animacje 2D na zawartość 360 stopni i obsługuje elementy interaktywne.

Materiały VR (360 stopni i panoramy) na ekranie początkowym
Materiały VR (360 stopni i panoramy) na ekranie początkowym

Tworzenie i publikowanie materiałów rzeczywistości wirtualnej

Aby utworzyć zawartość VR w programie Animate, wykonaj następującą procedurę:

  1. Zaimportuj obraz 360 albo panoramiczny jako tło na stole montażowym.

    Jeśli rozmiar obrazu jest duży, można dostosować rozmiar widoku stołu montażowego.

    • Aby ustawić rozmiar, wybierz polecenie Modyfikuj > Dokument.
    • Kliknij opcję Tak jak zawartość.

    Wybierz ikonę Wyśrodkuj stół montażowy w prawym górnym rogu okna, aby ustawić obraz na środku ekranu. 

  2. Aby utworzyć warstwę tekstury, kliknij ikonę Utwórz zawinięcie teksturą dla wszystkich warstw na panelu Oś czasu, tak jak na poniższym zrzucie ekranu:

    Tworzenie zawinięcia teksturą dla warstw
    Tworzenie zawinięcia teksturą dla warstw

    Zależnie od wybranego typu dokumentu warstwa tekstury jest zawijana wokół cylindra lub kuli.

  3. Można dodać obiekty do stołu montażowego, dodać animację klasyczną lub opartą na klatkach pośrednich do obiektów (zależnie od stosowanych zasobów) i utworzyć animację. 

    Stół montażowy 360 stopni VR
    Stół montażowy 360 stopni VR

    Powyższy zrzut ekranu ilustruje widok stołu montażowego w programie Animate. Zawiera on obraz podzielony na prostokąty o równych wymiarach w dokumencie typu VR 360 stopni, ptaka ze ścieżką ruchu oraz klasyczną animację na osi czasu. 

  4. Opcja Okna > Widok VR umożliwia wyświetlenie widoku zawartości.

    Podgląd materiałów VR w widoku VR
    Podgląd materiałów VR w widoku VR

    Kliknij przycisk Uruchom widok VR w panelu Widok VR.

    Panel Widok VR
    Panel Widok VR

    W trybie podglądu w widoku VR można przywrócić pierwotny stan zawartości, używając przycisku Wyzeruj. Widok VR nie odzwierciedla automatycznie każdej zmiany na stronie tworzenia. Aby sprawdzić zmiany zasobów wprowadzone w środowisku montażowym, kliknij przycisk Odśwież

    Opcje odświeżania i zerowania w widoku VR
    Opcje odświeżania i zerowania w widoku VR

    W trybie podglądu można przesuwać wystąpienia klipów filmowych. Program Animate automatycznie wykrywa obiekty wskazane kursorem myszy. Kształt kursora zmienia się na ikonę przesuwania po wskazaniu obiektów (tak jak przedstawiono na zrzucie ekranu). Zależnie od wybranego typu dokumentu obiekty można przesuwać na ścieżce w kształcie cylindra lub kuli.

    Aby panoramować w oknie Widok VR, kliknij ekran podglądu i przeciągnij. 

    Ikona przesuwania obiektów
    Ikona przesuwania obiektów
  5. Aby opublikować zawartość, wybierz polecenie Plik > Publikuj lub użyj skrótu Ctrl + Enter. Podczas publikowania program Animate zawija obraz na siatce cylindrycznej lub sferycznej. Można dodawać więcej warstw i animacji na tych warstwach.

    Przykładowy opublikowany materiał VR 360 stopni będzie przypominał poniższy animowany plik GIF. 

    Przykładowe dane wyjściowe VR 360 stopni
    Przykładowe dane wyjściowe VR 360 stopni
    Przykładowe dane wyjściowe panoramy VR
    Przykładowe dane wyjściowe panoramy VR

    Podczas publikowania materiałów rzeczywistości wirtualnej można wybrać użycie serwerowych bibliotek JavaScript jako środowiska wykonawczego. Domyślnie program Animate używa dla publikowanej zawartości środowiska wykonawczego opartego na bibliotekach serwerowych. Można usunąć zaznaczenie tej opcji w oknie Ustawienia publikowania, aby spakować środowisko wykonawcze razem z publikowaną zawartością wyjściową. 

    Ustawienia publikowania
    Ustawienia publikowania bibliotek

Korzystanie z zawartości 3D

Typ dokumentu rzeczywistości wirtualnej umożliwia importowanie modeli 3D (plików GLB) do projektu programu Animate w celu pracy z grafiką 3D.

  1. Utwórz dokument typu VR — 360 stopni lub panorama.

  2. Wybierz polecenie Plik > Importuj i przejdź do pliku GLB, aby zaimportować go na stół montażowy lub do biblioteki.

    Importowanie zawartości 3D w celu montażu
    importowanie zawartości 3D na stół montażowy
  3. Dodawanie animacji i elementów interaktywnych oraz publikowanie odbywa się podobnie jak w przypadku obiektów klipów filmowych.

    Podgląd modelu 3D można wyświetlić w widoku VR. 

Używanie rzeczywistości wirtualnej w czasie wykonywania

Program Animate umożliwia zarządzanie animacjami rzeczywistości wirtualnej w czasie wykonywania — w oparciu o interfejsy API. Można na przykład dodać w środowisku VR 360 stopni obiekty, które użytkownik klika przyciskiem. 

Są dostępne następujące interfejsy API rzeczywistości wirtualnej:

Pakiet: anWebgl

Właściwości

Nazwa

Typ/klasa

Dostęp

Opis

Przykład

Stage

Stage

Zapis i odczyt

Pozwala pobrać/ustawić właściwość stołu montażowego.

anWebgl.stage

virtualCamera

VirtualCamera

Zapis i odczyt

Zapewnia dostęp do kamery domyślnej.

anWebgl.virtualCamera

Root

MovieClip

Tylko odczyt

Obiekt ekranowy najwyższego poziomu (oś czasu bieżącej sceny).

anWebgl.root

Metody

Nazwa

Prototyp

Opis

Przykład

addGLBFile

addGLBFile(sciezkaPliku: string, wywolaniePomyslne: function, wywolanieBlad: function): void

Wczytuje model 3D z określonego pliku GLB.

anWebgl.addGLBFile("model.glb", funkcjaWywolaniaSukces, funkcjaWywolaniaBlad).

playAll

playAll(): void

Odtwarza animacje z wszystkich klipów filmowych, w tym najwyższego poziomu.

anWebgl.playAll();

stopAll

stopAll(): void

Zatrzymuje animacje wszystkich klipów filmowych, w tym najwyższego poziomu.

anWebgl.stopAll();

Klasa: MovieClip

Dziedziczy: DisplayObjectContainer

Właściwości

Metody

Nazwa

Prototyp

Opis

Przykład

Play

play(): void

Odtwarza animację klipu filmowego.

anWebgl.root.getChildByName("nazwa").play();
(lub)

this.play(); 

Stop

stop(): void

Zatrzymuje animację klipu filmowego.

anWebgl.root.getChildByName("nazwa").stop();

 

playAll

playAll(): void

Odtwarza animację wszystkich klipów filmowych, w tym najwyższego poziomu.

anWebgl.root.getChildAt(0).playAll();

 

stopAll

stopAll(): void

Zatrzymuje animację wszystkich klipów filmowych, w tym najwyższego poziomu.

anWebgl.root.getChildAt(0)).stopAll();

 

Klasa: DisplayObject

Dziedziczy: IEventDispatcher

Nazwa

Prototyp

Opis

Przykład

hitTestPoint

hitTestPoint(x, y, Boolean).

Zwraca obiekt displayObject/displayObjectContainer/movieClip zależnie od obiektu trafienia.

Wartości x i y są współrzędnymi na ekranie.

anWebgl.root.hitTestPoint(300, 200, true, false);

Nazwa

Typ/klasa

Dostęp

Opis

Przykład

X

Number

Zapis i odczyt

Wykonuje przesunięcie względem osi X.

var nazwa =anWebgl.root.getChildByName("nazwa");
nazwa.x+=10;

 

Y

Number

Zapis i odczyt

Wykonuje przesunięcie względem osi Y.

var nazwa = anWebgl.root.getChildByName("nazwa");
nazwa.y+=10;

 

Z

Number

Zapis i odczyt

Wykonuje przesunięcie względem osi Z.

var nazwa = anWebgl.root.getChildByName("nazwa");
nazwa.z+=10;

 

scaleX

Number

Zapis i odczyt

Skaluje względem osi X.

var glowna = anWebgl.root;
var potomna = glowna.getChildAt(0);
potomna.scaleX=2;

 

scaleY

Number

Zapis i odczyt

Skaluje względem osi Y.

var glowna = anWebgl.root;
var potomna = glowna.getChildAt(0);
potomna.scaleY=10;

 

scaleZ

Number

Zapis i odczyt

Skaluje względem osi Z.

var glowna = anWebgl.root;
var potomna = glowna.getChildAt(0);
potomna.scaleZ=10;

 

rotationX

Number

Zapis i odczyt

Obraca względem osi X.

anWebgl.root.getChildByName("nazwa").rotationX+=30;

(lub)

anWebgl.root.nazwaKlipuFilmowego.rotationX+=30;

rotationY

Number

Zapis i odczyt

Obraca względem osi Y.

anWebgl.root.getChildByName("nazwa").rotationY+=30;

 

rotationZ

Number

Zapis i odczyt

Obraca względem osi Z.

anWebgl.root.getChildByName("nazwa").rotationZ+=30;

 

Parent

DisplayObjectContainer

Tylko odczyt

Kontener obiektu macierzystego.

var glowna = anWebgl.root;
var potomna = glowna.getChildAt(0);
console.log(potomna.parent)

 

Visible

Boolean

Zapis i odczyt

Widoczność obiektów

var glowna = anWebgl.root;
var potomna = glowna.getChildAt(0);
console.log(potomna.visible);

Klasa: DisplayObjectContainer

Dziedziczy: DisplayObject

Nazwa

Prototyp

Opis

Przykład

numChildren

numChildren:num

Zwraca liczbę obiektów potomnych obiektu.

anWebgl.root.nazwaWystapieniaKlipuFilmowego.numChildren;

removeChild

removeChild(obiekt: DisplayObject): void

Usuwa obiekt argumentu, jeśli istnieje.

anWebgl.root.nazwaWystapieniaKlipuFilmowego.removeChild(obiektPotomny);

Contains

contains(obj:DisplayObject):boolean

Zwraca wartość true (prawda), jeśli obiekt podany w argumencie jest obiektem potomnym, albo false (fałsz), jeśli tak nie jest.

anWebgl.root.nazwaWystapieniaKlipuFilmowego.contains(obiektPotomny);

getChildAt

getChildAt(indeks:Number): DisplayObject

Zwraca obiekt potomny wskazany przez argument indeks.

anWebgl.root.nazwaWystapieniaKlipuFilmowego.getChildAt(2);

getChildByName

getChildByName(nazwa: String): DisplayObject

Zwraca obiekt potomny o podanej nazwie, jeśli istnieje.

anWebgl.root.nazwaWystapieniaKlipuFilmowego.getChildByName(nazwaObiektuPotomnego);

Klasa: Stage

Właściwości

Nazwa

Dostęp

Opis

Przykład

stageWidth

Tylko odczyt

Szerokość stołu montażowego.

anWebgl.stage.stageWidth

stageHeight

Tylko odczyt

Wysokość stołu montażowego

anWebgl.stage.stageHeight

Color

Zapis i odczyt

Kolor tła stołu montażowego.

anWebgl.stage.color

Klasa: VirtualCamera

Metody

Nazwa

Prototyp

Opis

Przykład

getCamera

getCamera()

Pobiera obiekt kamery. Umożliwia pobieranie i ustawianie właściwości kamery w czasie wykonywania.

let kamera = anWebgl.virtualCamera.getCamera();
let polozenie = cam.getPosition();
console.log("Położenie kamery x: " +pos.x + ", y: "+ pos.y+", z: "+pos.z);

 

getPosition

getPosition()

Zwraca obiekt z właściwościami x, y i z, które wskazują bieżące położenie kamery.

let kamera = anWebgl.virtualCamera.getCamera();
let polozenie = cam.getPosition();
console.log("Położenie kamery x: " +pos.x + ", y: "+ pos.y+", z: "+pos.z);

 

setPosition

setPosition()

Przesuwa kamerę do położenia bezwzględnego ustalonego przez parametry wejściowe. Wartość domyślna wynosi 0.

let polozenieKamery = {x: 10, y:10, z:10};
anWebgl.virtualCamera.getCamera().setPosition(polozenieKamery);

 

moveBy

moveBy()

Przesuwa kamerę względem bieżącego położenia.

let wektorPrzesuniecia = {x: 10, y:10, z:10};
anWebgl.virtualCamera.getCamera().moveBy(wektorPrzesuniecia);

 

resetPosition

resetPosition()

Zeruje położenie kamery — przesuwa ją do początku układu współrzędnych (0,0,0).


anWebgl.virtualCamera.getCamera().resetPosition();

 

SetRotation

SetRotation()

Obraca kamerę o kąt bezwzględny podany jako parametr wejściowy.

let __obrot__ = {x: 10, y:10, z:10};
anWebgl.virtualCamera.getCamera().setRotation(__obrot__);

 

resetRotation

resetRotation()

Zeruje kąt kamery — ustawia wartość 0.

anWebgl.virtualCamera.getCamera().resetRotation();

 

Ta zawartość jest licencjonowana na warunkach licencji Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Posty z serwisów Twitter™ i Facebook nie są objęte licencją Creative Commons.

Informacje prawne   |   Zasady prywatności online