Эти примеры демонстрируют некоторые ключевые концепции написания конвертеров OpenUSD. В примерах используются OpenUSD и OpenUSD Exchange SDK (документация, github), чтобы продемонстрировать, как создавать согласованные и правильные доллары США:
Asset Validator
createStage
createCameras
createLights
createMaterials
createMesh
createReferences
createSkeleton
createTransforms
setDisplayNames
Для этого проекта требуются «make» и «g++».
Откройте терминал.
Чтобы получить «make», введите sudo apt install make
(Ubuntu/Debian) или yum install make
(CentOS/RHEL).
Для «g++» введите sudo apt install g++
(Ubuntu/Debian) или yum install gcc-c++
(CentOS/RHEL).
Используйте предоставленный сценарий сборки, чтобы загрузить все другие зависимости (например, доллары США), создать файлы Makefile и скомпилировать код.
./repo.sh сборка
Используйте сценарий run.sh
(например, ./run.sh createStage
) для выполнения каждой программы в предварительно настроенной среде.
Совет: Если вы предпочитаете управлять средой самостоятельно, добавьте
<samplesRoot>/_build/linux64-x86_64/release
в свойLD_LIBRARY_PATH
.
Для получения справки по аргументам командной строки используйте --help
./run.sh createStage --help
Используйте сценарий python.sh
(например, ./python.sh source/createStage/createStage.py
) для выполнения каждой программы в предварительно настроенной среде.
Для получения справки по аргументам командной строки используйте --help
./python.sh source/createStage/createStage.py --help
Для этого проекта требуется Microsoft Visual Studio 2019 или новее. Загрузите и установите Visual Studio с C++.
Используйте предоставленный сценарий сборки, чтобы загрузить все зависимости (например, доллары США), создать проекты и скомпилировать код.
.repo.bat сборка
Используйте сценарий run.bat
(например .run.bat createStage
) для выполнения каждой программы в предварительно настроенной среде.
Для получения справки по аргументам командной строки используйте --help
.run.bat createStage --help
Используйте сценарий python.bat
(например .python.bat sourcecreateStagecreateStage.py
) для выполнения каждой программы в предварительно настроенной среде.
Для получения справки по аргументам командной строки используйте --help
.python.bat sourcecreateStagecreateStage.py --help
Чтобы выполнить сборку в VS IDE, откройте решение, найденное в папке _compiler
в Visual Studio. Образец кода C++ затем можно будет настроить, отладить, перестроить и т. д. оттуда.
Примечание. Если пользователь устанавливает образцы OpenUSD Exchange в папку
%LOCALAPPDATA%
, Visual Studio не будет правильно выполнять сборку при внесении изменений, поскольку что-то не так с получением изменений исходного кода. Чтобы решить эту проблему, выполните одно из следующих действий:
Rebuild
проект при каждом изменении исходного кода, а неBuild
Скопируйте папку образцов OpenUSD Exchange в другую папку за пределами
%LOCALAPPDATA%
Сделайте переход к папке за пределами %LOCALAPPDATA% и откройте решение оттуда:
mklink /JC:usd-exchange-samples %LOCALAPPDATA%cloned-reposusd-exchange-samples
Репозиторий Samples использует Repo Tools Framework ( repo_man
) для настройки зависимостей Premake, Packman, сборки и времени выполнения, тестирования, форматирования и других инструментов. Packman используется в качестве менеджера зависимостей для таких пакетов, как OpenUSD, Omniverse Asset Validator, OpenUSD Exchange SDK и других элементов. В примерах используются инструменты repo_man, premake и packageman из OpenUSD Exchange SDK в качестве шаблонов для включения и связывания с OpenUSD, OpenUSD Exchange SDK и другими зависимостями. Они могут служить примером конфигурации среды сборки и выполнения, которая может потребоваться приложению клиента. Вот список интересных файлов:
premake5.lua — файл конфигурации сборки для примеров
prebuild.toml — используется инструментами сборки репозитория, чтобы указать, куда следует копировать зависимости времени выполнения (помимо того, что уже установлено repo install_usdex
)
_build/target-deps/usd-exchange/release/dev/tools/premake/usdex_build.lua
— файл шаблона конфигурации предварительной сборки OpenUSD Exchange SDK, включающий USD, сам OpenUSD Exchange SDK и другие библиотеки.
этот файл недоступен, пока не будут получены зависимости
Подробную информацию о выборе и установке версий, функций и версий сборки OpenUSD Exchange SDK см. в документации по инструменту install_usdex.
См. документацию «Начало работы с OpenUSD Exchange SDK», где описано, как использовать OpenUSD Exchange SDK и OpenUSD в вашем приложении.
Перечисленные примеры сосредоточены на следующих ключевых понятиях:
OpenUSD
Американские камеры
Отображаемые имена в долларах США
Долларовые огни
Материалы в долларах США
Долларовые сетки
Имена в долларах США
Примвары в долларах США
Этапы доллара США
Xформы долларов США
Образцы предназначены для последовательного запуска и создают этап USD, который изначально создается в образце createStage
. Его также можно запустить независимо, и он либо откроет, либо создаст сцену в зависимости от того, существует ли она. Чтобы запустить все примеры последовательно с помощью одной команды, введите ее в командной строке после сборки:
Linux: ./repo.sh test -f testRunAll -e keep Windows: .repo.bat test -f testRunAll -e keep
Это выведет расположение этапов, сгенерированных C++ и Python, после последовательного выполнения всех примеров.
Если сценарии из примеров завершаются сбоем из-за проблем с самозаверяющими сертификатами, возможным обходным решением может быть следующее:
Установите python-certifi-win32, который позволяет использовать хранилище сертификатов Windows для запросов TLS/SSL:
инструментыpackmanpython.bat -m pip install python-certifi-win32 --trusted-host pypi.org --trusted-host files.pythonhosted.org
Сначала выполните поиск по существующим проблемам GitHub и обсуждениям OpenUSD Exchange SDK, чтобы узнать, не сообщал ли кто-нибудь о чем-то подобном.
Если нет, создайте новую проблему GitHub или тему на форуме, описывающую вашу ошибку или запрос на добавление функции.
В случае ошибок предоставьте четкие инструкции по воспроизведению проблемы, включая примеры данных об ошибках, если это необходимо.
Что касается функций, предоставьте истории пользователей и личные данные (т. е. кому помогает эта функция и как она им помогает).
Независимо от того, добавляете ли вы подробности к существующей проблеме или создаете новую, сообщите нам, какие компании затронуты.
Лицензия на образцы находится в LICENSE.md.
Уведомления о лицензиях третьих сторон для зависимостей, используемых в примерах, находятся в Уведомлениях о лицензии OpenUSD Exchange SDK.
Документация OpenUSD — Создание первой стадии USD
Документация по API OpenUSD
Документация пользователя OpenUSD
Ресурсы и обучение NVIDIA OpenUSD
Примеры кода OpenUSD
Документация NVIDIA OpenUSD
Документация NVIDIA OpenUSD Exchange SDK