Интерфейс буфера протокола в 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. Информацию о том, как использовать инструмент protoc, см. в разделе «Основы протокольного буфера: Python» , хотя для создания этого примера мы рекомендуем использовать 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
.