Udostępnij za pośrednictwem


Tworzenie prostego projektu cloud Scripting

W tym artykule utworzysz i opublikujesz prosty projekt przy użyciu usługi Mesh Cloud Scripting. W tym artykule założono, że w systemie skonfigurowano już tworzenie skryptów w chmurze. Zalecamy zapoznanie się z bieżącą listą znanych problemów z zestawem narzędzi mesh przed rozpoczęciem programowania za pomocą usługi Mesh Cloud Scripting.

Dowiedz się więcej o infrastrukturze i zarządzaniu usługą Mesh Cloud Scripting.

Tworzenie sceny za pomocą skryptów chmury usługi Mesh

Poniższe instrukcje pokazują, jak utworzyć proste środowisko za pomocą modułu, który obraca się po kliknięciu go przez użytkownika.

  1. Przejdź do artykułu o nazwie Utwórz nowy lub zaktualizuj istniejący projekt. Jeśli tworzysz nowy projekt, upewnij się, że wykonasz wszystkie kroki opisane w sekcji Tworzenie nowego projektu. Jeśli aktualizujesz istniejący projekt, wykonaj to samo w sekcji o nazwie Aktualizuj istniejący projekt.

  2. Utwórz nową scenę.

  3. Dodaj punkt podróży do sceny.

  4. Zapisz scenę i nadaj jej nazwę. W tym przykładzie użyjemy nazwy MyFirstCloudScripting.

  5. Na pasku menu wybierz pozycję GameObject>Mesh Toolkit>Set-up Cloud Scripting (Konfigurowanie skryptów w chmurze).

    Zrzut ekranu przedstawiający element menu Konfigurowanie skryptów w chmurze.

    Należy pamiętać, że w hierarchii jest wyświetlany obiekt gry o nazwie Mesh Cloud Scripting. Jeśli klikniesz przycisk Otwórz folder aplikacji w inspektorze ...

    Zrzut ekranu przedstawiający przycisk Otwórz folder aplikacji w środowisku Unity.

    ... Zobaczysz w Eksplorator plików systemu Windows, że spowoduje to również utworzenie nowego projektu ASP.NET Core o nazwie MyFirstCloudScripting.csproj w pliku Assets > . MeshCloudScripting > MyFirstCloudScripting folder.

    Zrzut ekranu przedstawiający strukturę folderów w systemie Windows z projektem skryptów.

Modyfikowanie sceny

  1. Konfigurowanie trybu odtwarzania za pomocą emulacji siatki. Upewnij się, że do sceny dodano obiekt GameObject, który może działać jako podłoga i ustawić go na warstwę GroundCollision .

  2. Po skonfigurowaniu trybu odtwarzania za pomocą emulacji siatki dodaje prefab MeshEmulatorSetup[NoUpoload] do sceny zawierającej aparat, którego będziesz używać od tego momentu. Nie potrzebujesz już domyślnej głównej kamery GameObject; usuń ją.

    Zrzut ekranu modułu umieszczony jako dziecko w usłudze Mesh Cloud Scripting.

  3. Na pasku menu wybierz pozycję GameObject>3D object>Cube.

  4. W hierarchii przeciągnij moduł do obiektu Mesh Cloud Scripting, aby moduł był elementem podrzędnym tego obiektu.

    Zrzut ekranu modułu umieszczony jako dziecko w usłudze Mesh Cloud Scripting.

  5. Po wybraniu modułu w inspektorze przejdź do składnika Przekształć, a następnie zmień wartości Pozycji i Obrotu modułu na następujące:

    Pozycja: X = 0,1, Y = 1,5, Z = 3,3.

    Obrót: X = -15, Y = 0,8, Z = 0,1

    Porada: Aparat w prefabcie MeshEmulatorSetup[NoUpload] jest obiektem podrzędnym AvatarHead.

    Zrzut ekranu przedstawiający obiekt gry Aparat w hierarchii i moduł umieszczony w widoku Scena.

  6. W inspektorze kliknij pozycję Dodaj składnik, a następnie wybierz pozycję Konfiguracja z możliwością interakcji z siatką.

    Zrzut ekranu przedstawiający pasek wyszukiwania Dodaj składnik z wybraną pozycją Konfiguracja interakcji z usługą Mesh.

  7. Zapisz scenę.

Modyfikowanie projektu w języku C#

  1. W hierarchii wybierz obiekt Mesh Cloud Scripting.

  2. W inspektorze przejdź do składnika Mesh Cloud Scripting, a następnie kliknij przycisk Otwórz folder aplikacji. Spowoduje to otwarcie Eksplorator plików i wyświetlenie widoku zawartości projektu.

    Zrzut ekranu przedstawiający składnik Mesh Cloud Scripting z wyróżnionym przyciskiem Otwórz folder aplikacji.

  3. App.cs Otwórz skrypt w edytorze kodu.

  4. Należy pamiętać, że w klasie App istnieją dwie zmienne:

    private readonly ILogger<App> _logger;
    private readonly ICloudApplication _app;
    

    Dodaj następującą zmienną jako trzecią:

    private float _angle = 0;
    
  5. Metoda StartAsync zawiera pojedynczy komentarz: "Dodaj tutaj kod uruchamiania aplikacji". Zastąp element poniższym kodem, aby metoda StartAsync wyglądała następująco:

    public Task StartAsync(CancellationToken token)
    {
        // First we find the TransformNode that corresponds to our Cube gameobject
        var transform = _app.Scene.FindFirstChild<TransformNode>();
    
        // Then we find the InteractableNode child of that TransformNode
        var sensor = transform.FindFirstChild<InteractableNode>();
    
        // Handle a button click
        sensor.Selected += (_, _) =>
        {
            // Update the angle on each click
            _angle += MathF.PI / 8;
            transform.Rotation = new Rotation { X = 1, Y = 0, Z = 0, Angle = _angle };
        };
    
        return Task.CompletedTask;
    }
    
  6. Zapisz swoją pracę.

Uruchamianie aplikacji lokalnie

  1. W środowisku Unity kliknij przycisk Odtwarzania edytora aparatu Unity.
  2. W oknie Gra kliknij moduł. Za każdym razem, gdy klikniesz, moduł obraca się na osi "X".
  3. Po zakończeniu zamknij tryb odtwarzania.

Debugowanie aplikacji przy użyciu programu Visual Studio (opcjonalnie)

  1. W hierarchii upewnij się, że wybrano obiekt Mesh Cloud Scripting.

  2. W inspektorze przejdź do składnika Mesh Cloud Scripting, a następnie wybierz pozycję Włącz debugowanie aplikacji.

    Zrzut ekranu przedstawiający składnik Mesh Cloud Scripting z wybraną i wyróżnioną właściwością Włącz debugowanie aplikacji.

  3. Wprowadź tryb odtwarzania i wybierz debuger.

    Zrzut ekranu przedstawiający dostępne debugery.

  4. Otwórz plik App.cs, a następnie dodaj punkt przerwania, a następnie kontynuuj wykonywanie.

    Zrzut ekranu pliku cs aplikacji z dodanym punktem przerwania.

  5. W środowisku Unity kliknij moduł.

    Zrzut ekranu przedstawiający opinie w środowisku Unity po kliknięciu modułu.

Uwaga

Domyślnie aplikacja zostanie przekroczona po dwóch minutach braku aktywności. Aby zwiększyć to okno, ustaw "debugTimeoutSecs" wartość w pliku manifestu (na przykład: "debugTimeoutSecs": "240").

Zrzut ekranu Eksploratora Windows z wyróżnionym plikiem json manifestu cloudscripting siatki.

Kompilowanie i publikowanie środowiska

Aby skompilować i opublikować środowisko, postępuj zgodnie z instrukcjami w artykule Kompilowanie i publikowanie środowiska .

Nawiązywanie połączenia z usługą Cloud Scripting Service z poziomu aparatu Unity

Uwaga

Jest to dostępne tylko wtedy, gdy właściwość ServiceMode jest ustawiona na Wartość Dev.

  1. W hierarchii upewnij się, że wybrano obiekt Mesh Cloud Scripting.
  2. W inspektorze przejdź do składnika Mesh Cloud Scripting, a następnie otwórz listę rozwijaną Ustawienia dewelopera.
  3. Usuń zaznaczenie pozycji Uruchom serwer skryptów w chmurze lokalnej.
  4. Kliknij przycisk Odtwórz edytor aparatu Unity.

Tworzenie zdarzenia i dołączanie go z poziomu aplikacji Mesh

  1. Utwórz zdarzenie przy użyciu właśnie utworzonego i opublikowanego środowiska. Jeśli potrzebujesz wskazówek, zobacz, jak utworzyć zdarzenie w portalu usługi Mesh.
  2. Dołącz do zdarzenia w aplikacji Mesh.

Pokaż błędy usługi Mesh Cloud Scripting Service w aplikacji Microsoft Mesh (opcjonalnie)

  1. Komunikaty o błędach z usługi Cloud Scripting Service domyślnie nie są wyświetlane w aplikacji mesh w celu zminimalizowania zakłóceń użytkownika. Jeśli chcesz wyświetlić te komunikaty do celów debugowania, wykonaj następujące kroki:

  2. Otwórz aplikację usługi Mesh.

  3. Kliknij przycisk Menu, a następnie wybierz pozycję Ustawienia.

    Ekran interfejsu aplikacji Mesh z wyróżnionym przyciskiem Menu.

  4. Na pasku menu po lewej stronie wybierz pozycję Dla deweloperów.

    Zrzut ekranu interfejsu aplikacji Mesh z wyróżnioną opcją Ustawienia.

  5. Przełącz przycisk Pokaż błąd skryptu usługi Mesh na "włączone".

    Zrzut ekranu przedstawiający stronę Ustawienia aplikacji usługi Mesh i ustawienie dla błędu pokaż skrypty usługi Mesh.

Następne kroki