Интерфейс буфера протокола в semantictileapi.proto
используется Unity SDK для извлечения ресурсов объектов и тайлов ландшафта. Сервис-заменитель должен реализовать этот API. Пример сервера Python включен для демонстрации того, как параметры передаются пакетом SDK и как должен формироваться ответ для совместимости с пакетом SDK.
В архиве находятся следующие файлы:
semantictileapi.proto
— это определение буфера протокола, используемое Unity SDK для извлечения ресурсов объектов и тайлов ландшафта.server.py
— это пример сервера, который демонстрирует сериализацию буфера протокола и обслуживание, совместимое с SDK.BUILD.bazel
иWORKSPACE.bazel
вместе составляют проект Bazel, который можно использовать для создания привязок буфера протокола для Python. См. https://bazel.build/ для получения дополнительной информации об установке и использовании Bazel.example_tiles.py
показано несколько примеров созданияFeatureTiles
иTerrainTiles
с помощью python.
Как бежать
После установки Bazel вы можете просто запустить следующую команду для сборки и запуска сервера:
> bazel run server
Если вы не хотите устанавливать Bazel, вы также можете создать библиотеку буферов протокола Python с помощью Protoc. См. Основы протокольного буфера: Python для получения информации о том, как использовать инструмент protoc, хотя мы рекомендуем использовать Bazel для создания этого примера.
Вы можете отправить запрос на работающий сервер с помощью cURL:
> curl 'localhost:8000/featuretiles/@120588,78656,17z?alt=proto' --output test_feature
> curl 'localhost:8000/terraintiles/@120588,78656,17z?alt=proto' --output test_terrain
Если вы хотите увидеть удобочитаемый формат, используйте alt=json
> curl 'localhost:8000/featuretiles/@120588,78656,17z?alt=json'
Более подробную информацию о форматах тайлов функций и ландшафта можно найти в комментариях semantictileapi.proto
.