Erstellen eines einfachen Cloud Scripting-Projekts
In diesem Artikel erstellen und veröffentlichen Sie ein einfaches Projekt mithilfe von Mesh Cloud Scripting. In diesem Artikel wird davon ausgegangen, dass Sie Cloud Scripting bereits auf Ihrem System eingerichtet haben. Es wird empfohlen, sich mit der aktuellen Liste der bekannten Probleme des Mesh-Toolkits vertraut zu machen, bevor Sie mit der Entwicklung mit Mesh Cloud Scripting beginnen.
Erfahren Sie mehr über mesh Cloud Scripting Infrastructure and Management.
Erstellen einer Szene mit Mesh Cloud Scripting
Die folgenden Anweisungen zeigen, wie Sie eine einfache Umgebung mit einem Cube erstellen, der sich dreht, wenn ein Benutzer darauf klickt.
Wechseln Sie zum Artikel mit dem Namen "Neu erstellen" oder aktualisieren Sie ein vorhandenes Projekt. Wenn Sie ein neues Projekt erstellen, stellen Sie sicher, dass Sie alle Schritte im Abschnitt mit dem Namen "Neues Projekt erstellen" ausführen. Wenn Sie ein vorhandenes Projekt aktualisieren, führen Sie denselben Vorgang für den Abschnitt mit dem Namen "Aktualisieren eines vorhandenen Projekts" aus.
Erstellen Sie eine neue Szene.
Fügen Sie der Szene einen Reisepunkt hinzu.
Speichern Sie die Szene, und nennen Sie sie. In diesem Beispiel verwenden wir den Namen MyFirstCloudScripting.
Wählen Sie auf der Menüleiste "GameObject>Mesh Toolkit>Set-up Cloud Scripting" aus.
Beachten Sie, dass ein Spielobjekt namens Mesh Cloud Scripting in der Hierarchie angezeigt wird und ausgewählt ist. Wenn Sie im Inspektor auf die Schaltfläche "Anwendungsordner öffnen" klicken...
... In windows Explorer sehen Sie, dass dadurch auch ein neues ASP.NET Core-Projekt namens MyFirstCloudScripting.csproj in den Assets > erstellt wird. Ordner "MeshCloudScripting > MyFirstCloudScripting".
Ändern der Szene
Einrichten des Wiedergabemodus mit Gitteremulation. Stellen Sie sicher, dass Sie der Szene ein GameObject hinzufügen, das als Boden fungieren kann, und legen Sie es auf die GroundCollision-Ebene fest.
Wenn Sie den Wiedergabemodus mit der Gitteremulation einrichten, wird der Szene, die die Kamera enthält, die Sie ab diesem Zeitpunkt verwenden, das prefab MeshEmulatorSetup[NoUpoload] hinzugefügt. Sie benötigen das Standardmäßige Hauptkamera GameObject nicht mehr; löschen Sie es.
Wählen Sie auf der Menüleiste gameObject>3D-Objektwürfel> aus.
Ziehen Sie in der Hierarchie den Cube auf das Mesh Cloud Scripting-Objekt , um den Cube zu einem untergeordneten Element dieses Objekts zu machen.
Wenn der Cube ausgewählt ist, navigieren Sie im Inspektor zur Transformationskomponente, und ändern Sie dann die Werte für Position und Drehung des Cubes wie folgt:
Position: X = 0,1, Y = 1,5, Z = 3,3.
Drehung: X = -15, Y = 0,8, Z = 0,1
Tipp: Die Kamera im MeshEmulatorSetup[NoUpload] Prefab ist ein untergeordnetes Objekt von AvatarHead.
Klicken Sie im Inspektor auf "Komponente hinzufügen", und wählen Sie dann "Gitterinteraktionsfähiges Setup" aus.
Speichern Sie die Szene.
Ändern des C#-Projekts
Wählen Sie in der Hierarchie das Mesh Cloud Scripting-Objekt aus .
Navigieren Sie im Inspektor zur Mesh Cloud Scripting-Komponente , und klicken Sie dann auf die Schaltfläche "Anwendungsordner öffnen ". Dadurch wird Explorer geöffnet, und Es wird eine Ansicht des Projektinhalts angezeigt.
Öffnen Sie das
App.cs
Skript in Ihrem Code-Editor.Beachten Sie, dass in der App-Klasse zwei Variablen vorhanden sind:
private readonly ILogger<App> _logger; private readonly ICloudApplication _app;
Fügen Sie Folgendes als dritte Variable hinzu:
private float _angle = 0;
Die StartAsync-Methode enthält einen einzelnen Kommentar: "Fügen Sie hier Ihren App-Startcode hinzu." Ersetzen Sie dies durch den folgenden Code, damit die StartAsync-Methode wie folgt aussieht:
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; }
Speichern Sie Ihre Arbeit.
Lokales Ausführen der Anwendung
- Klicken Sie in Unity auf die Schaltfläche "Unity-Editor wiedergeben".
- Klicken Sie im Spielfenster auf den Cube. Jedes Mal, wenn Sie darauf klicken, wird der Würfel auf der "X"-Achse gedreht.
- Wenn Sie fertig sind, beenden Sie den Wiedergabemodus.
Debuggen Der Anwendung mit Visual Studio (optional)
Stellen Sie in der Hierarchie sicher, dass das Mesh Cloud Scripting-Objekt ausgewählt ist.
Navigieren Sie im Inspektor zur Mesh Cloud Scripting-Komponente , und wählen Sie dann "Anwendungsdebugging aktivieren" aus.
Geben Sie den Wiedergabemodus ein, und wählen Sie den Debugger aus.
Öffnen Sie die App.cs Datei, fügen Sie dann einen Haltepunkt hinzu, und fahren Sie dann mit der Ausführung fort.
Klicken Sie in Unity auf den Cube.
Hinweis
Standardmäßig wird die Anwendung nach zwei Minuten Inaktivität timeout. Um dieses Fenster zu erhöhen, legen Sie einen "debugTimeoutSecs"
Wert in der Manifestdatei fest (Beispiel: "debugTimeoutSecs": "240"
).
Erstellen und Veröffentlichen der Umgebung
Um die Umgebung zu erstellen und zu veröffentlichen, befolgen Sie die Anweisungen im Artikel "Build", und veröffentlichen Sie Ihren Umgebungsartikel .
Herstellen einer Verbindung mit dem Cloud Scripting Service über Unity
Hinweis
Dies ist nur verfügbar, wenn ServiceMode auf Dev festgelegt ist.
- Stellen Sie in der Hierarchie sicher, dass das Mesh Cloud Scripting-Objekt ausgewählt ist.
- Navigieren Sie im Inspektor zur Mesh Cloud Scripting-Komponente , und öffnen Sie dann die Dropdownliste "Entwicklereinstellungen ".
- Deaktivieren Sie die Option "Lokalen Cloud Scripting Server ausführen".
- Klicken Sie auf die Schaltfläche "Unity-Editor wiedergeben".
Erstellen eines Ereignisses und Beitreten aus der Mesh-App
- Erstellen Sie ein Ereignis mit der soeben erstellten und veröffentlichten Umgebung. Wenn Sie Anleitungen benötigen, erfahren Sie, wie Sie ein Ereignis im Mesh-Portal erstellen.
- Treten Sie dem Ereignis in der Mesh-App bei.
Fehler des Mesh Cloud Scripting Service in der Microsoft Mesh-Anwendung anzeigen (optional)
Die Fehlermeldungen von Cloud Scripting Service werden in der Mesh-App standardmäßig nicht angezeigt, um Benutzerunterbrechungen zu minimieren. Wenn Sie diese Meldungen zu Debugzwecken anzeigen müssen, führen Sie die folgenden Schritte aus:
Öffnen Sie die Mesh-App.
Klicken Sie auf die Menüschaltfläche, und wählen Sie dann "Einstellungen" aus.
Wählen Sie in der linken Menüleiste "Für Entwickler" aus.
Umschalten der Fehlerschaltfläche "Gitterskripting anzeigen" auf "Ein".