Создание простого проекта облачного скрипта
В этой статье вы создадите и опубликуете простой проект с помощью облачной скриптов Сетки. В этой статье предполагается, что вы уже настроили cloud Scripting в системе. Рекомендуется ознакомиться с текущим списком известных проблем с набором средств Сетки перед началом разработки с помощью Облачного скрипта Сетки.
Узнайте больше о инфраструктуре и управлении облачными скриптами Сетки.
Создание сцены с помощью облачной скриптов Сетки
В следующих инструкциях показано, как создать простую среду с кубом, который поворачивается, когда пользователь щелкает его.
Перейдите в статью "Создание нового или обновление существующего проекта". Если вы создаете проект, убедитесь, что выполните все действия, описанные в разделе "Создание проекта". Если вы обновляете существующий проект, выполните то же самое в разделе с именем "Обновить существующий проект".
Создайте новую сцену.
Сохраните сцену и назовите ее. В этом примере мы будем использовать имя MyFirstCloudScripting.
В строке меню выберите GameObject>Mesh Toolkit>Set-up Cloud Scripting.
Обратите внимание, что игровой объект с именем Mesh Cloud Scripting отображается в иерархии и выбран. Если нажать кнопку "Открыть папку приложения" в инспекторе ...
... Вы увидите в Windows проводник, что он также создает новый проект ASP.NET Core с именем MyFirstCloudScripting.csproj в разделе "Активы > ". Папка MeshCloudScripting > MyFirstCloudScripting.
Изменение сцены
Настройка режима воспроизведения с эмуляцией сетки. Убедитесь, что вы добавите GameObject в сцену, которая может выступать в качестве пола и установить его на слой GroundCollision .
При настройке режима воспроизведения с эмуляцией сетки он добавляет префаб MeshEmulatorSetup[NoUpoload] в сцену, содержащую камеру, которую вы будете использовать с этой точки. Вы больше не нуждаетесь в основной камере GameObject по умолчанию; удалите его.
В строке меню выберите Куб объекта> GameObject>3D.
В иерархии перетащите куб в объект Mesh Cloud Scripting, чтобы сделать куб дочерним объектом этого объекта.
Выбрав куб, в инспекторе перейдите к компоненту преобразования, а затем измените значения позиции и поворота куба следующим образом:
Позиция: X = 0,1, Y = 1,5, Z = 3.3.
Поворот: X = -15, Y = 0,8, Z = 0,1
Совет. Камера в префабе MeshEmulatorSetup[NoUpload] является дочерним объектом AvatarHead.
В инспекторе нажмите кнопку "Добавить компонент", а затем выберите "Настройка взаимодействия сетки".
Сохраните сцену.
Изменение проекта C#
В иерархии выберите объект Mesh Cloud Scripting.
В инспекторе перейдите к компоненту Mesh Cloud Scripting и нажмите кнопку "Открыть папку приложения". Откроется проводник и отображается представление содержимого проекта.
Откройте скрипт в редакторе
App.cs
кода.Обратите внимание, что в классе App есть две переменные:
private readonly ILogger<App> _logger; private readonly ICloudApplication _app;
Добавьте следующую переменную в качестве третьей переменной:
private float _angle = 0;
Метод 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; }
Сохраните свои изменения.
Локальный запуск приложения
- В Unity нажмите кнопку "Воспроизведение редактора Unity".
- В окне игры щелкните куб. Каждый раз, когда вы щелкаете, куб поворачивается на ось X.
- Завершив работу, закройте режим воспроизведения.
Отладка приложения с помощью Visual Studio (необязательно)
В иерархии убедитесь, что выбран объект Mesh Cloud Scripting.
В инспекторе перейдите к компоненту "Облачный скрипт сетки" и выберите "Включить отладку приложений".
Введите режим воспроизведения и выберите отладчик.
Откройте файл App.cs, а затем добавьте точку останова и продолжайте выполнение.
В Unity щелкните куб.
Примечание.
По умолчанию приложение истекает через две минуты бездействия. Чтобы увеличить это окно, задайте значение в файле манифеста "debugTimeoutSecs"
(например: "debugTimeoutSecs": "240"
).
Создание и публикация среды
Чтобы создать и опубликовать среду, следуйте инструкциям в статье "Сборка и публикация среды ".
Подключение к облачной службе сценариев из Unity
Примечание.
Это доступно только в том случае, если для ServiceMode задано значение Dev.
- В иерархии убедитесь, что выбран объект Mesh Cloud Scripting.
- В инспекторе перейдите к компоненту Сетки Cloud Scripting, а затем откройте раскрывающийся список параметров разработчика.
- Отмена выбора запуска сервера сценариев локального облака.
- Нажмите кнопку "Воспроизведение редактора Unity".
Создание события и присоединение к нему из приложения Сетки
- Создайте событие с помощью только что созданной и опубликованной среды. Если вам нужно руководство, узнайте, как создать событие на портале Сетки.
- Присоединитесь к событию в приложении Сетки.
Отображение ошибок службы облачных сценариев Сетки в приложении Microsoft Mesh (необязательно)
Сообщения об ошибках из облачной службы сценариев по умолчанию не отображаются в приложении Сетки, чтобы свести к минимуму нарушения работы пользователей. Если необходимо отобразить эти сообщения в целях отладки, выполните следующие действия.
Откройте приложение Сетки.
Нажмите кнопку меню и выберите пункт "Параметры".
В левой строке меню выберите " Разработчики".
Переключите кнопку "Показать скрипт сетки" на "вкл".