gazebosim / gz-usd

Command line tools to convert SDFormat to USD and viceversa
Apache License 2.0
24 stars 5 forks source link
Gazebo version Branch
Fortress fortress
Garden and higher versions garden
Harmonic and higher versions main

USD is a high-performance extensible software platform for collaboratively constructing animated 3D scenes, designed to meet the needs of large-scale film and visual effects production.

This repo provides tools to convert between SDF and USD files.

USD requires CMAKE 3.12; this package is available from Ubuntu 20.04

Tutorials

If you have already installed gz-usd you might want to visit the tutorial section.

Requirements

You will need all of the dependencies for sdformat, along with the following additional dependencies:

Setup

Build gz-usd. The steps below follow a traditional cmake build, but gz-usd can also be built with colcon:

Note: Be sure to build gz-usd on a terminal with the above environment variables exported.

git clone https://github.com/gazebosim/gz-usd
cd gz-usd
mkdir build
cd build
export GZ_VERSION=<harmonic or ionic>
cmake ..
make

You should now have an executable named sdf2usd in the ./build/bin directory. This executable can be used to convert a SDF world file to a USD file. To see how the executable works, run the following command from the ./build/bin directory:

./sdf2usd -h

Note about building with colcon

You may need to add the USD library path to your LD_LIBRARY_PATH environment variable after sourcing the colcon workspace. If the USD library path is not a part of LD_LIBRARY_PATH, you will probably see the following error when running the sdf2usd executable:

sdf2usd: error while loading shared libraries: libusd_usd.so: cannot open shared object file: No such file or directory

The typical USD library path is <usd_installation_path>/lib. So, if you installed USD at /usr/local/USD, the following command on Linux properly updates the LD_LIBRARY_PATH environment variable:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/USD/lib

Another thing to note if building with colcon is that after sourcing the workspace with sdformat, the sdf2usd executable can be run without having to go to the ./build/bin directory. So, instead of going to that directory and running ./sdf2usd ..., you should be able to run sdf2usd ... from anywhere.

ROSCon 2022