Delen via


Een eenvoudig cloudscriptproject maken

In dit artikel maakt en publiceert u een eenvoudig project met behulp van Mesh Cloud Scripting. In het artikel wordt ervan uitgegaan dat u cloudscripting al hebt ingesteld op uw systeem. We raden u aan vertrouwd te raken met de huidige lijst met bekende problemen met mesh-toolkits voordat u begint met ontwikkelen met Mesh Cloud Scripting.

Meer informatie over mesh-cloudscriptinfrastructuur en -beheer.

Een scène maken met Mesh Cloud Scripting

In de volgende instructies ziet u hoe u een eenvoudige omgeving maakt met een kubus die draait wanneer een gebruiker erop klikt.

  1. Ga naar het artikel Met de naam Nieuwe maken of een bestaand project bijwerken. Als u een nieuw project maakt, moet u alle stappen in de sectie Maken van een nieuw project volgen. Als u een bestaand project bijwerkt, doet u hetzelfde voor de sectie met de naam Een bestaand project bijwerken.

  2. Maak een nieuwe scène.

  3. Voeg een reispunt toe aan de scène.

  4. Sla de scène op en geef deze een naam. In dit voorbeeld gebruiken we de naam MyFirstCloudScripting.

  5. Selecteer in de menubalk GameObject>Mesh Toolkit>Set-up Cloud Scripting.

    Schermafbeelding van de menuopdracht Cloudscripting instellen.

    Houd er rekening mee dat een gameobject met de naam Mesh Cloud Scripting wordt weergegeven in de hiërarchie en is geselecteerd. Als u in Inspector op de knop Toepassingsmap openen klikt...

    Schermopname van de knop Toepassingsmap openen in Unity.

    ... U ziet in de Windows-Bestandenverkenner dat hiermee ook een nieuw ASP.NET Core-project met de naam MyFirstCloudScripting.csproj in de assets > wordt gemaakt. De map MeshCloudScripting > MyFirstCloudScripting.

    Schermopname van een mapstructuur in Windows met scriptproject.

De scène wijzigen

  1. Afspeelmodus instellen met Mesh Emulation. Zorg ervoor dat u een GameObject toevoegt aan de scène die als vloer kan fungeren en deze op de laag GroundCollision kunt instellen.

  2. Wanneer u de Play-modus instelt met Mesh Emulation, wordt de prefab MeshEmulatorSetup[NoUpoload] toegevoegd aan de scène die de camera bevat die u vanaf dit punt gaat gebruiken. U hebt het standaard hoofdcamera GameObject niet meer nodig; verwijder het.

    Een schermopname van de kubus die is geplaatst als een onderliggend element voor Mesh Cloud Scripting.

  3. Selecteer GameObject>3D-objectkubus> op de menubalk.

  4. Sleep in de hiërarchie de kubus naar het Mesh Cloud Scripting-object om de Kubus een onderliggend element van dat object te maken.

    Een schermopname van de kubus die is geplaatst als een onderliggend element voor Mesh Cloud Scripting.

  5. Terwijl de kubus is geselecteerd, gaat u in Inspector naar het onderdeel Transformeren en wijzigt u vervolgens de positie- en draaiwaarden van de kubus in het volgende:

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

    Draaiing: X = -15, Y = 0,8, Z = 0,1

    Tip: De camera in de MeshEmulatorSetup[NoUpload] prefab is een onderliggend object van AvatarHead.

    Een schermafbeelding van het cameraspelobject in de hiërarchie en de kubus in de scèneweergave.

  6. Klik in Inspector op Component toevoegen en selecteer vervolgens Mesh Interactable Setup.

    Schermopname van de zoekbalk Component toevoegen met Mesh Interactables Setup geselecteerd.

  7. Sla de scène op.

Het C#-project wijzigen

  1. Selecteer in de hiërarchie het Mesh Cloud Scripting-object .

  2. Navigeer in Inspector naar het Mesh Cloud Scripting-onderdeel en klik vervolgens op de knop Toepassingsmap openen. Hiermee opent u Bestandenverkenner en ziet u een weergave van de projectinhoud.

    Schermopname van het mesh cloudscriptonderdeel met de knop Toepassingsmap openen gemarkeerd.

  3. Open het App.cs script in de code-editor.

  4. Houd er rekening mee dat er in de app-klasse twee variabelen zijn:

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

    Voeg het volgende toe als een derde variabele:

    private float _angle = 0;
    
  5. De Methode StartAsync bevat één opmerking: 'Voeg hier de opstartcode van uw app toe'. Vervang dit door de onderstaande code, zodat de Methode StartAsync er als volgt uitziet:

    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. Sla uw werk op.

De toepassing lokaal uitvoeren

  1. Klik in Unity op de knop Play van Unity Editor.
  2. Klik in het gamevenster op de kubus. Telkens wanneer u klikt, draait de kubus op de X-as.
  3. Wanneer u klaar bent, sluit u de afspeelmodus af.

Fouten opsporen in uw toepassing met Visual Studio (optioneel)

  1. Zorg ervoor dat in de hiërarchie het Mesh Cloud Scripting-object is geselecteerd.

  2. Navigeer in Inspector naar het Mesh Cloud Scripting-onderdeel en selecteer vervolgens Toepassingsopsporing inschakelen.

    Een schermafbeelding van het Mesh Cloud Scripting-onderdeel met de eigenschap Application Debugging inschakelen geselecteerd en gemarkeerd.

  3. Voer de afspeelmodus in en selecteer het foutopsporingsprogramma.

    Een schermafbeelding van de beschikbare foutopsporingsprogramma's.

  4. Open het App.cs-bestand , voeg vervolgens een onderbrekingspunt toe en ga door met de uitvoering.

    Een schermafbeelding van het app cs-bestand met een onderbrekingspunt toegevoegd.

  5. Klik in Unity op de kubus.

    Een schermafbeelding van feedback in Unity nadat u op de kubus hebt geklikt.

Notitie

Standaard treedt er een time-out op voor de toepassing na twee minuten inactiviteit. Als u dit venster wilt vergroten, stelt u een "debugTimeoutSecs" waarde in uw manifestbestand in (bijvoorbeeld: "debugTimeoutSecs": "240").

Een schermafbeelding van Windows Verkenner met het JSON-bestand met het mesh cloudscripting-manifest gemarkeerd.

De omgeving bouwen en publiceren

Als u de omgeving wilt bouwen en publiceren, volgt u de instructies in het artikel Uw omgeving bouwen en publiceren.

Verbinding maken met de Cloud Scripting Service vanuit Unity

Notitie

Dit is alleen beschikbaar wanneer ServiceMode is ingesteld op Dev.

  1. Zorg ervoor dat in de hiërarchie het Mesh Cloud Scripting-object is geselecteerd.
  2. Ga in Inspector naar het onderdeel Mesh Cloud Scripting en open vervolgens de vervolgkeuzelijst Instellingen voor ontwikkelaars.
  3. Schakel de selectie Lokale cloudscriptserver uitvoeren uit.
  4. Klik op de knop Play van unity-editor.

Een gebeurtenis maken en hieraan deelnemen vanuit de Mesh-app

  1. Maak een gebeurtenis met behulp van de omgeving die u zojuist hebt gemaakt en gepubliceerd. Als u hulp nodig hebt, raadpleegt u hoe u een gebeurtenis maakt in de Mesh-portal.
  2. Neem deel aan de gebeurtenis in de Mesh-app.

Mesh Cloud Scripting Service-fouten weergeven in de Microsoft Mesh-toepassing (optioneel)

  1. De foutberichten van Cloud Scripting Service worden standaard niet weergegeven in de Mesh-app om gebruikersonderbreking te minimaliseren. Als u deze berichten wilt weergeven voor foutopsporing, gebruikt u de volgende stappen:

  2. Open de Mesh-app.

  3. Klik op de menuknop en selecteer Instellingen.

    Een scherm van de Mesh-app-interface met de menuknop gemarkeerd.

  4. Selecteer in de menubalk aan de linkerkant de optie Voor ontwikkelaars.

    Een schermafbeelding van de Mesh-app-interface met de optie Instellingen gemarkeerd.

  5. Schakel de foutknop Mesh-script weergeven in op 'aan'.

    Een schermafbeelding van de pagina Instellingen van de Mesh-app en de instelling voor fout bij het weergeven van Mesh-scripts.

Volgende stappen