Поделиться через


Создание простого проекта облачного скрипта

В этой статье вы создадите и опубликуете простой проект с помощью облачной скриптов Сетки. В этой статье предполагается, что вы уже настроили cloud Scripting в системе. Рекомендуется ознакомиться с текущим списком известных проблем с набором средств Сетки перед началом разработки с помощью Облачного скрипта Сетки.

Узнайте больше о инфраструктуре и управлении облачными скриптами Сетки.

Создание сцены с помощью облачной скриптов Сетки

В следующих инструкциях показано, как создать простую среду с кубом, который поворачивается, когда пользователь щелкает его.

  1. Перейдите в статью "Создание нового или обновление существующего проекта". Если вы создаете проект, убедитесь, что выполните все действия, описанные в разделе "Создание проекта". Если вы обновляете существующий проект, выполните то же самое в разделе с именем "Обновить существующий проект".

  2. Создайте новую сцену.

  3. Добавьте точку путешествия на сцену.

  4. Сохраните сцену и назовите ее. В этом примере мы будем использовать имя MyFirstCloudScripting.

  5. В строке меню выберите GameObject>Mesh Toolkit>Set-up Cloud Scripting.

    Снимок экрана: пункт меню

    Обратите внимание, что игровой объект с именем Mesh Cloud Scripting отображается в иерархии и выбран. Если нажать кнопку "Открыть папку приложения" в инспекторе ...

    Снимок экрана: кнопка

    ... Вы увидите в Windows проводник, что он также создает новый проект ASP.NET Core с именем MyFirstCloudScripting.csproj в разделе "Активы > ". Папка MeshCloudScripting > MyFirstCloudScripting.

    Снимок экрана: структура папок в Windows с проектом сценариев.

Изменение сцены

  1. Настройка режима воспроизведения с эмуляцией сетки. Убедитесь, что вы добавите GameObject в сцену, которая может выступать в качестве пола и установить его на слой GroundCollision .

  2. При настройке режима воспроизведения с эмуляцией сетки он добавляет префаб MeshEmulatorSetup[NoUpoload] в сцену, содержащую камеру, которую вы будете использовать с этой точки. Вы больше не нуждаетесь в основной камере GameObject по умолчанию; удалите его.

    Снимок экрана куба, помещенного в качестве дочернего объекта в Cloud Scripting сетки.

  3. В строке меню выберите Куб объекта> GameObject>3D.

  4. В иерархии перетащите куб в объект Mesh Cloud Scripting, чтобы сделать куб дочерним объектом этого объекта.

    Снимок экрана куба, помещенного в качестве дочернего объекта в Cloud Scripting сетки.

  5. Выбрав куб, в инспекторе перейдите к компоненту преобразования, а затем измените значения позиции и поворота куба следующим образом:

    Позиция: X = 0,1, Y = 1,5, Z = 3.3.

    Поворот: X = -15, Y = 0,8, Z = 0,1

    Совет. Камера в префабе MeshEmulatorSetup[NoUpload] является дочерним объектом AvatarHead.

    Снимок экрана объекта игры

  6. В инспекторе нажмите кнопку "Добавить компонент", а затем выберите "Настройка взаимодействия сетки".

    Снимок экрана: панель поиска компонентов с выбранным параметром

  7. Сохраните сцену.

Изменение проекта C#

  1. В иерархии выберите объект Mesh Cloud Scripting.

  2. В инспекторе перейдите к компоненту Mesh Cloud Scripting и нажмите кнопку "Открыть папку приложения". Откроется проводник и отображается представление содержимого проекта.

    Снимок экрана компонента Сетки Cloud Scripting с выделенной кнопкой

  3. Откройте скрипт в редакторе App.cs кода.

  4. Обратите внимание, что в классе App есть две переменные:

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

    Добавьте следующую переменную в качестве третьей переменной:

    private float _angle = 0;
    
  5. Метод StartAsync содержит один комментарий: "Добавьте код запуска приложения здесь". Замените это приведенным ниже кодом, чтобы метод StartAsync выглядел следующим образом:

    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. Сохраните свои изменения.

Локальный запуск приложения

  1. В Unity нажмите кнопку "Воспроизведение редактора Unity".
  2. В окне игры щелкните куб. Каждый раз, когда вы щелкаете, куб поворачивается на ось X.
  3. Завершив работу, закройте режим воспроизведения.

Отладка приложения с помощью Visual Studio (необязательно)

  1. В иерархии убедитесь, что выбран объект Mesh Cloud Scripting.

  2. В инспекторе перейдите к компоненту "Облачный скрипт сетки" и выберите "Включить отладку приложений".

    Снимок экрана компонента Сетки Cloud Scripting с выбранным и выделенным свойством Enable Application Debugging.

  3. Введите режим воспроизведения и выберите отладчик.

    Снимок экрана доступных отладчиков.

  4. Откройте файл App.cs, а затем добавьте точку останова и продолжайте выполнение.

    Снимок экрана файла cs приложения с добавленной точкой останова.

  5. В Unity щелкните куб.

    Снимок экрана обратной связи в Unity после нажатия кнопки

Примечание.

По умолчанию приложение истекает через две минуты бездействия. Чтобы увеличить это окно, задайте значение в файле манифеста "debugTimeoutSecs" (например: "debugTimeoutSecs": "240").

Снимок экрана проводника Windows с выделенным файлом json манифеста манифеста сетки.

Создание и публикация среды

Чтобы создать и опубликовать среду, следуйте инструкциям в статье "Сборка и публикация среды ".

Подключение к облачной службе сценариев из Unity

Примечание.

Это доступно только в том случае, если для ServiceMode задано значение Dev.

  1. В иерархии убедитесь, что выбран объект Mesh Cloud Scripting.
  2. В инспекторе перейдите к компоненту Сетки Cloud Scripting, а затем откройте раскрывающийся список параметров разработчика.
  3. Отмена выбора запуска сервера сценариев локального облака.
  4. Нажмите кнопку "Воспроизведение редактора Unity".

Создание события и присоединение к нему из приложения Сетки

  1. Создайте событие с помощью только что созданной и опубликованной среды. Если вам нужно руководство, узнайте, как создать событие на портале Сетки.
  2. Присоединитесь к событию в приложении Сетки.

Отображение ошибок службы облачных сценариев Сетки в приложении Microsoft Mesh (необязательно)

  1. Сообщения об ошибках из облачной службы сценариев по умолчанию не отображаются в приложении Сетки, чтобы свести к минимуму нарушения работы пользователей. Если необходимо отобразить эти сообщения в целях отладки, выполните следующие действия.

  2. Откройте приложение Сетки.

  3. Нажмите кнопку меню и выберите пункт "Параметры".

    Экран интерфейса приложения Сетки с выделенной кнопкой меню.

  4. В левой строке меню выберите " Разработчики".

    Снимок экрана интерфейса приложения Сетки с выделенным параметром

  5. Переключите кнопку "Показать скрипт сетки" на "вкл".

    Снимок экрана со страницей параметров приложения Сетки и параметром ошибки отображения скриптов сетки.

Следующие шаги