Создание трехмерных сцен с помощью предварительной версии 3D Scenes Studio для Azure Digital Twins
Предварительная версия 3D Scenes Studio в Azure Digital Twins — это иммерсивная трехмерная среда, где специалисты бизнес-отделов и сотрудники первой линии могут использовать и исследовать операционные данные из своих решений Azure Digital Twins с визуальным контекстом.
Необходимые компоненты
Чтобы использовать трехмерную студию сцен, вам потребуется следующие ресурсы.
Экземпляр Azure Digital Twins. Инструкции см. в статье Настройка экземпляра Azure Digital Twins и аутентификация (портал).
- Получите доступ к экземпляру на уровне владельца данных Azure Digital Twins или читателя данных Azure Digital Twins. Инструкции см. в разделе Настройка прав доступа пользователей.
- Запишите имя узла экземпляра для последующего использования.
Учетная запись хранения Azure. Инструкции см. в статье Создание учетной записи хранения.
- Запишите URL-адрес учетной записи хранения для последующего использования.
Частный контейнер в учетной записи хранения Инструкции см. в разделе Создание контейнера.
- Запишите имя контейнера хранилища, который будет использоваться позже.
Разрешения для ресурсов хранилища, в том числе:
- По крайней мере доступ к плоскости управления читателем
- Роль доступа к данным служба хранилища владельца данных BLOB-объектов или участника данных служба хранилища BLOB-объектов
Вы можете предоставить необходимые роли на уровне учетной записи хранения или на уровне контейнера. Инструкции и дополнительные сведения о разрешениях в службе хранилища Azure см. в статье Назначение роли Azure.
Настройте CORS для учетной записи хранения (см. сведения в следующем подразделе).
Настройка CORS
Вам потребуется настроить CORS для учетной записи хранения, чтобы трехмерные сцены Studio могли получить доступ к контейнеру хранилища.
Эти заголовки CORS всегда требуются:
- Авторизация
- x-ms-version
- x-ms-blob-type
Эти дополнительные заголовки CORS необходимы, если вы планируете использовать функции приватных ссылок:
- Тип контента
- content-length: 0
- x-ms-copy-source
- x-ms-requires-sync
Ниже приведена команда Azure CLI , которая будет задавать методы, источники и заголовки, перечисленные выше для CORS в учетной записи хранения. Команда содержит один заполнитель для имени учетной записи хранения.
az storage cors add --services b --methods GET OPTIONS POST PUT --origins https://explorer.digitaltwins.azure.net --allowed-headers Authorization Content-Type Content-Length x-ms-version x-ms-blob-type x-ms-copy-source x-ms-requires-sync --account-name <your-storage-account>
Теперь у вас есть все необходимые ресурсы для работы со сценами в 3D Scenes Studio.
Инициализация среды 3D Scenes Studio
В этом разделе показано, как настроить среду в 3D Scenes Studio и настроить сцену для примера графа, который находится в экземпляре Azure Digital Twins.
Перейдите в 3D Scenes Studio. Откроется студия, подключенная к экземпляру Azure Digital Twins, к которому вы позднее всего осуществляли доступ в Azure Digital Twins Explorer.
Щелкните значок Изменить рядом с именем экземпляра, чтобы указать сведения об экземпляре и контейнере хранилища.
Azure Digital Twins instance URL (URL-адрес экземпляра Azure Digital Twins) должен начинаться с https://, за которым следует имя узла экземпляра, упомянутое в разделе Предварительные требования.
В поле URL-адрес учетной записи служба хранилища Azure введите URL-адрес контейнера хранилища из раздела "Предварительные требования". В поле служба хранилища Azure имя контейнера введите имя контейнера хранилища из раздела "Предварительные требования".
Выберите Сохранить.
Создание, изменение и просмотр сцен
Трехмерное представление среды в 3D Scenes Studio называется сценой. Сцена состоит из трехмерного файла и файла конфигурации, созданного автоматически.
Создание сцены начните с сегментированного трехмерного файла в формате GLTF или GLB. Вы можете скачать и просмотреть пример трехмерного файла, используя эту ссылку: Скачать RobotArms.glb.
Совет
3D Scenes Studio поддерживает анимацию. Если вы используете файл трехмерной модели, содержащий анимации, они будут воспроизводиться в сцене.
3D Scenes Studio можно использовать с трехмерным файлом, существующим в контейнере хранилища, или отправить файл непосредственно в 3D Scenes Studio, где он будет автоматически добавлен в контейнер. Ниже приведены шаги по использованию трехмерного файла для создания новой сцены.
На домашней странице 3D Scenes Studio нажмите кнопку Add 3D scene (Добавить трехмерную сцену), чтобы начать создание новой сцены.
Введите значения Name (Имя) и Description (Описание) для сцены.
Если вы хотите, чтобы сцена отображалась в представлении земного шара, переключите Show on globe (Показать на глобусе) на On (Вкл.). Введите значения Latitude (Широта) и Longitude (Долгота) для сцены.
В разделе Link 3D file (Связать трехмерный файл) выберите одну из следующих вкладок:
- Choose file (Выбрать файл) — для ввода URL-адреса трехмерного файла, который находится в контейнере хранилища.
- Upload file (Отправить файл) — для отправки трехмерного файла с компьютера.
Нажмите кнопку создания.
Редактирование сцен
Чтобы изменить или удалить сцену после ее создания, используйте значки Actions (Действия) рядом с сценой на домашней странице 3D Scenes Studio.
При редактировании сцены будут повторно открываться все свойства сцены, заданные при ее создании, что позволяет изменять их и обновлять сцену.
Просмотр сцен в представлении земного шара
На домашней странице 3D Scenes Studio показано представление списка ваших сцен.
Вы также можете выбрать представление земного шара, чтобы увидеть ваши сцены, размещенные визуально на земном шаре.
В результате представление земного шара будет выглядеть следующим образом:
Просмотр сцен по отдельности
На домашней странице вы можете выбрать отдельную сцену, чтобы открыть ее в режиме создания. Здесь вы увидите трехмерную сетку для сцены и можете изменить элементы и поведение сцены.
Вы можете переключиться на режим просмотра, чтобы включить фильтрацию по определенным элементам и визуализацию поведения созданных элементов.
Здесь можно просмотреть все свойства элемента, а также их значения с течением времени, если журнал данных включен в вашем экземпляре. Чтобы просмотреть журнал свойств, щелкните значок обозревателя журнала данных Open.
Откроется обозреватель журнала данных для свойства. Дополнительные сведения об использовании обозревателя журнала данных см. в статье "Проверка и изучение инициализированных свойств".
Внедрение сцен в пользовательские приложения
Компонент "Средство просмотра" можно внедрять в пользовательские приложения за пределами 3D Scenes Studio и использовать совместно с компонентами сторонних разработчиков.
Вот пример того, как может выглядеть внедренное средство просмотра в независимом приложении:
Библиотека компонентов трехмерной визуализации доступна в GitHub в репозитории iot-карта board-js. Это библиотека компонентов React открытый код для создания веб-интерфейсов Интернета вещей (IoT).
Инструкции по использованию библиотеки для внедрения трехмерных интерфейсов в пользовательские приложения см. вики-сайте репозитория, внедрении трехмерных сцен. Вы также можете использовать пример CRA IoT Cardboard , который развертывает шаблон приложения Create React для библиотеки, чтобы приступить к созданию пользовательского приложения с внедренным средством просмотра.
Добавление элементов
Элемент — это самоопределяющийся набор трехмерных сеток, связанный с данными в одном или нескольких базовых цифровых двойниках.
Один из способов создать новый элемент — нажать кнопку New element (Новый элемент) на вкладке Elements (Элементы) в представлении сцены Build (Создание).
Вы также можете выбрать компонент сетки непосредственно в визуализации и создать новый элемент, уже подключенный к ней.
Откроется панель Новый элемент, где можно указать сведения об элементе.
Имя и основной двойник
Основной двойник — главный цифровой двойник для элемента. Элемент подключается к двойнику в экземпляре Azure Digital Twins, чтобы элемент представлял этот двойник и его данные в трехмерной визуализации.
На панели Новый элемент раскрывающийся список основных двойников содержит имена всех двойников в подключенном экземпляре Azure Digital Twins. Рядом с этим полем можно выбрать значок "Проверить свойства ", чтобы просмотреть данные двойника или значок поиска расширенных двойников, чтобы найти другие двойники, запрашивая значения свойств.
Выберите двойник, который нужно связать с этим элементом. В результате идентификатор цифрового двойника ($dtId
) будет автоматически применен в качестве имени элемента. Вы можете переименовать элемент, чтобы имя было понятным для создателей и пользователей трехмерной сцены.
Совет
Azure Digital Twins Explorer поможет вам найти нужный двойник для связывания с элементом, отобразив для вас визуальный граф двойников позволив указать в запросе определенные условия для двойника.
Сетки
На вкладке Сетки вы указываете, какие компоненты визуальной трехмерной сетки представляют этот элемент.
Если вы начали создание элемента, выбрав сетку в визуализации, сетка будет указана на этой вкладке. Вы можете выбрать сетки в визуализации, чтобы добавить их в элемент.
Поведение
Поведение — это сценарий для сцены. Выберите Add behavior (Добавить поведение) на этой вкладке. Далее можно выбрать существующее поведение, чтобы добавить его в этот элемент, или выбрать New behavior, чтобы перейти к процессу создания нового поведения.
Дополнительные сведения о создании поведений см. в разделе Добавление поведений.
Другие двойники
На вкладке Other twins (Другие двойники) при желании вы можете добавить дополнительные источники данных цифровых двойников для элемента. Вы можете добавить другие двойники в элемент, если данных основного двойника будет недостаточно для определения всего поведения, которое требуется для элемента, и вам нужен доступ к данным других двойников.
Добавить другие двойники при создании нового элемента нельзя. Инструкции по добавлению других двойников см. в разделе Двойники, где двойники рассматриваются как вариант поведения.
Когда другие двойники будут добавлены в элемент, вы сможете просматривать и изменять их на этой вкладке.
Добавление поведений
Поведение — это сценарий для сцены, в котором будут использоваться определенные данные для соответствующего цифрового двойника элемента, чтобы управлять визуализациями средства просмотра.
Один из способов создать новое поведение — нажать кнопку New behavior (Новое поведение) на вкладке Behaviors (Поведения) в представлении сцены Build (Создание).
Вы также можете выбрать элемент на вкладке Elements (Элементы) и создать новое поведение на вкладке Behaviors (Поведения) этого элемента.
Откроется панель New behavior (Новое поведение), где можно указать сведения о поведении.
Имя и слои сцены
Сначала укажите значение в поле Display name (Отображаемое имя) для поведения.
Совет
Выберите имя, которое будет понятно пользователям, просматривающим сцену, так как это имя поведения будет отображаться как часть визуализации сцены.
В раскрывающемся меню Scene layers (Слои сцены) можно добавить это поведение в существующий слой или создать новый слой для упорядочения этого поведения. Дополнительные сведения о слоях см. в разделе Управление слоями.
Элементы
На вкладке Elements (Элементы) выберите элементы, которые должны быть целевыми для этого поведения.
Если вы начали создавать поведение на основе определенного элемента, этот элемент уже будет выбран на этой вкладке. В других случаях вы можете выбрать элементы здесь впервые.
Двойники
На вкладке Twins (Двойники) можно изменить набор двойников, данные которых доступны для этого поведения. Сюда входят основные двойники целевых элементов и все другие двойники.
Вы можете добавить дополнительные источники данных цифровых двойников для элемента. После настройки других двойников вы сможете использовать их свойства в выражениях поведения для этого элемента. Вы должны добавлять только другие двойники, если есть дополнительные двойники с данными за пределами основного двойника, который вы хотите использовать в визуальных правилах и мини-приложениях для этого поведения.
Чтобы добавить новый источник данных двойника, выберите Add twin (Добавить двойник) и Create twin (Создать двойник).
Откроется панель New twin (Новый двойник), в которой можно присвоить имя дополнительному двойнику и выбрать двойник из экземпляра Azure Digital Twins для сопоставления.
Совет
В Azure Digital Twins Explorer вы можете просмотреть список двойников, которые могут быть связаны с основным двойником для этого элемента. Вы можете запросить граф с помощью SELECT * FROM digitaltwins WHERE $dtId="<primary-twin-id>
, а затем использовать функцию расширения двойным щелчком для просмотра связанных двойников.
Визуальные правила
На вкладке "Визуальные правила " можно настроить наложения на основе данных для элементов, чтобы указать их работоспособность или состояние в средстве просмотра.
Чтобы создать правило, начните с нажатия кнопки "Добавить правило".
Выберите отображаемое имя правила.
Затем выберите, зависит ли правило от одного свойства или выражения пользовательского (расширенного) свойства. Если вы выберете Single property, отобразится раскрывающийся список числовых свойств основного двойника. При выборе Custom (advanced) появится текстовое поле, в котором можно написать пользовательское выражение JavaScript с использованием одного или нескольких свойств. Результат выражения должен совпадать с типом результата, указанным в поле "Тип ". Дополнительные сведения о написании пользовательских выражений см. в разделе Использование пользовательских (расширенных) выражений.
Примечание.
Если вы не можете выбрать свойство из раскрывающегося списка, так как список не отвечает, это может означать, что в какой-то модели в вашем экземпляре возникает ошибка. Например, если в атрибутах модели не уникальные значения перечисления будут нарушены. В этом случае просмотрите определения модели и убедитесь, что все свойства допустимы.
После определения выражения свойства выберите "Добавить условие ", чтобы определить условные визуальные эффекты.
В параметрах "Добавить условие " введите метку для условия в визуализации.
Затем задайте значения , чтобы определить границы значений для условия (точный выбор изменится в зависимости от типа свойства). Для числовых свойств минимальное значение каждого диапазона значений включительно, а максимальное — монопольным.
В разделе "Действия" определите, что происходит в визуализации сцены при выполнении условия. Вы можете использовать цвет сетки для управления цветом выражения свойства в средстве просмотра или эмблемой для отображения значка определенного цвета и значка при выполнении условия выражения свойства.
По завершении выберите Сохранить.
Мини-приложения
Управление мини-приложениями осуществляется на вкладке Widgets (Мини-приложения). Мини-приложения — это управляемые данными визуальные элементы, которые обеспечивают дополнительный контекст, и данные, помогающие вам понять сценарий, который представляет поведение. Настройка мини-приложений поможет убедиться, что правильные данные доступны для обнаружения при активном условии.
Выберите Add widget (Добавить мини-приложение), чтобы открыть окно Widget library (Библиотека мини-приложений), где на выбор доступны мини-приложения различных типов.
Ниже приведены доступные для создания типы мини-приложения:
Gauge (Датчик) – визуальное представление числовых точек данных.
Введите Display name (Отображаемое имя) и Unit of measure (Единица измерения), а затем выберите, отражает ли датчик выражение свойства Single property (Одно свойство) или Custom (advanced) (Пользовательское (расширенное)). Если вы выберете Single property, отобразится раскрывающийся список числовых свойств основного двойника. При выборе Custom (advanced) появится текстовое поле, в котором можно написать пользовательское выражение JavaScript с использованием одного или нескольких свойств. Выражение должно иметь числовой результат. Дополнительные сведения о написании пользовательских выражений см. в разделе Использование пользовательских (расширенных) выражений.
Определив выражение свойства, задайте диапазоны значений, которые будут отображаться в определенных цветах на датчике. Минимальное значение каждого диапазона значений указывается включительно, а максимальное значение указывается исключительно.
Примечание.
Если вы не можете выбрать свойство из раскрывающегося списка, так как список не отвечает, это может означать, что в какой-то модели в вашем экземпляре возникает ошибка. Например, если в атрибутах модели не уникальные значения перечисления будут нарушены. В этом случае просмотрите определения модели и убедитесь, что все свойства допустимы.
Ссылка: включение содержимого с внешними ссылками с помощью связанного URL-адреса
Введите значения Label (Метка) и URL назначения.
URL-адреса также могут содержать выражения вычислений с таким синтаксисом:
${<calculation-expression>}
. Снимок экрана выше содержит выражение для доступа к свойству основного двойника. Выражения будут вычисляться и отображаться динамически в средстве просмотра.Value (Значение) – для прямого отображения значений свойств двойника.
Введите Display name (Отображаемое имя) и выберите Property expression (Выражение свойства), которое нужно отобразить. Это может быть выражение свойства Single property (Одно свойство) основного двойника или Custom (advanced) (Пользовательское (расширенное)). Пользовательские выражения должны быть выражениями JavaScript с использованием одного или нескольких свойств двойника. Вы выберете тип результата, который будет создавать выражение. Если пользовательское выражение свойства выводит строку, можно также использовать синтаксис литерала шаблона JavaScript для включения динамического выражения в выходные данные строки. Отформатируйте динамическое выражение с помощью следующего синтаксиса:
${<calculation-expression>}
. Затем заключите всю строку в обратные кавычки (`
). Дополнительные сведения о написании пользовательских выражений см. в разделе Использование пользовательских (расширенных) выражений.Примечание.
Если вы не можете выбрать свойство из раскрывающегося списка, так как список не отвечает, это может означать, что в какой-то модели в вашем экземпляре возникает ошибка. Например, если в атрибутах модели не уникальные значения перечисления будут нарушены. В этом случае просмотрите определения модели и убедитесь, что все свойства допустимы.
Ниже приведен пример мини-приложения значений, который проверяет, превышает ли значение
InFlow
основного двойника 99. Если да, оно выводит строку с выражением, содержащим$dtId
двойника. В противном случае в выходных данных не будет выражения, поэтому обратные кавычки не требуются.Вот выражение значения:
PrimaryTwin.InFlow > 99 ? `${PrimaryTwin.$dtId} has an InFlow problem` : 'Everything looks good'
. Вычисленный результат выражения ($dtId
) будет отображаться в мини-приложении в средстве просмотра.Журнал данных: для отображения значений свойств с течением времени. Это мини-приложение работает с функцией журнала данных Azure Digital Twins, поэтому она доступна только в том случае, если вы включили журнал данных для экземпляра, используемого в этой трехмерной сцене. После создания подключения журнала данных для экземпляра вы сможете отобразить эти данные с помощью этого мини-приложения.
Мини-приложение автоматически заполняет поле строки Подключение ion, нацелив данные в экземпляре Azure Data Обозреватель, который уже подключен к этому экземпляру Azure Digital Twins.
Введите отображаемое имя и добавьте один или несколько наборов данных временных рядов на основе свойств первичного двойника. Вы также можете настроить отображение данных временных рядов в диаграмме мини-приложения.
Примечание.
Если вы не можете выбрать свойство из раскрывающегося списка, так как список не отвечает, это может означать, что в какой-то модели в вашем экземпляре возникает ошибка. Например, если в атрибутах модели не уникальные значения перечисления будут нарушены. В этом случае просмотрите определения модели и убедитесь, что все свойства допустимы.
Использование пользовательских (расширенных) выражений
При определении визуальных правил и мини-приложений в поведении может потребоваться использовать пользовательские выражения для определения условия свойства.
Эти выражения используют язык JavaScript и позволяют использовать одно или несколько свойств связанных двойников для определения пользовательской логики. Результат выражения должен совпадать с типом результата, указанным в поле "Тип ".
На следующей диаграмме указывается, какие операторы JavaScript поддерживаются в пользовательских выражениях 3D-сцен Studio.
Тип оператора | Поддерживается? |
---|---|
операторы присваивания; | No |
Операторы сравнения | Да |
Арифметические операторы | Да |
битовые операторы; | Да |
Логические операторы | Да |
Строковые операторы | Да |
Условный (троичный) оператор | Да |
Оператор команды | No |
Унарные операторы | No |
Реляционные операторы | No |
Управление слоями
Чтобы упорядочить поведение, вы можете создавать слои в сцене. Слои действуют как теги для поведения, что позволяет определить, какое поведение должно выполняться вместе, и, таким образом, создать пользовательские представления сцены для различных ролей или задач.
Одним из способов создания слоев является нажатие кнопки Scene layers (Слои сцены) в представлении сцены Build (Создание).
Если вы нажмете кнопку New layer (Новый слой), вам будет предложено ввести новое имя для слоя, который нужно создать.
Вы также можете создавать слои при создании или изменении поведения. Область поведения также позволяет добавить поведение в уже созданный слой.
При просмотре сцены в средстве просмотра можно нажать кнопку Select layers (Выбрать слои), чтобы выбрать, какие слои отображаются в визуализации. Поведения, которые не являются частью какого-либо слоя, сгруппированы в слое по умолчанию (Default layer).
Настройка минимальной частоты обновления
Вы можете вручную настроить минимальную частоту обновления для средства просмотра трехмерной сцены, чтобы контролировать частоту извлечения данных и результирующее влияние на производительность. Можно настроить минимальную частоту обновления в диапазоне от 10 секунд до одного часа.
В построителе сцены нажмите кнопку "Конфигурация сцены".
Используйте раскрывающийся список, чтобы выбрать параметр частоты обновления.
При просмотре сцены в средстве просмотра можно навести указатель мыши на кнопку "Обновить ", чтобы увидеть параметр частоты обновления и время последнего обновления. Вы также можете выбрать его, чтобы обновить сцену вручную.
Изменение темы
В построителе или средстве просмотра сцены выберите значок Theme (Тема), чтобы изменить стиль, цвета объектов и цвет фона.
Общий доступ к среде
Среда 3D Scenes Studio формируется из уникального связывания экземпляра Azure Digital Twins и контейнера хранилища Azure. Вы можете поделиться с другим пользователем всей средой, включая все сцены, или определенной сценой.
Чтобы предоставить общий доступ к вашей среде другому пользователю, начните с предоставления ему следующих разрешений для ресурсов:
- Доступ на уровне читателя данных Azure Digital Twins (или выше) в экземпляре Azure Digital Twins.
- служба хранилища доступ к средству чтения данных BLOB-объектов (или больше) к контейнеру хранилища
- Роль читателя данных BLOB-объектов хранилища позволит пользователям просматривать сцены.
- Роль владельца данных BLOB-объектов хранилища или участника данных BLOB-объектов хранилища позволит пользователям изменять сцены.
Затем следуйте дальнейшим инструкциям в этом разделе, чтобы предоставить общий доступ ко всей среде или к определенной сцене.
Предоставление доступа ко всей среде
Когда у пользователя будут необходимые разрешения, вы можете предоставить ему доступ к вашей среде одним из двух способов. Вы можете выполнить одно из следующих действий:
Используя кнопку "Share" (Общий доступ) на домашней странице 3D Scenes Studio, скопируйте URL-адрес среды 3D Scenes Studio. (URL-адрес содержит URL-адреса экземпляра Azure Digital Twins и контейнера хранилища.)
Предоставьте этот URL-адрес получателю, чтобы он вставил этот адрес в браузере для подключения к вашей среде.
Предоставьте URL-адрес экземпляра Azure Digital Twins и URL-адрес контейнера службы хранилища Azure, который вы использовали при инициализации среды 3D Scenes Studio. Получатель сможет получить доступ к студии 3D Scenes Studio и инициализировать ее с использованием этих же URL-адресов, чтобы подключиться к той же среде.
После этого получатель сможет просматривать сцены в студии и взаимодействовать с ними.
Предоставление доступа к определенной сцене
Вы также можете предоставить доступ к среде, предоставив ссылку на определенную сцену. Чтобы предоставить доступ к определенной сцене, откройте сцену в режиме View (Просмотр).
Используйте значок Share scene (Поделиться сценой), чтобы создать ссылку на сцену. Вы можете выбрать, нужно ли сохранить в ссылке текущий слой и выбранные элементы.
Когда получатель вставит этот URL-адрес в браузер, указанная сцена откроется в средстве просмотра с выбранными слоями или элементами.
Примечание.
Если поделиться сценой с другим пользователем таким образом, получатель также сможет перейти из этой сцены в другие сцены в вашей среде.
Следующие шаги
Попробуйте поработать с примером сценария в 3D Scenes Studio (см. статью Начало работы с 3D Scenes Studio).
Вы также можете визуализировать граф Azure Digital Twins другим способом с помощью Azure Digital Twins Explorer.