Install USD on macOS Mojave
Homebrew install:
- /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
USD install:
Links:
USD Ressources
- Pixar’s open source github project on USD files
- Universal Scene Description Project
- USDZ File Format Specification
USD Format
Install Pixar USD on macOS X
Use Python 2.7
Install bundle - vfxpro99/usd-build-club on GitHub
Edit build_usd.py for correct dylib linking, according to: https://github.com/PixarAnimationStudios/USD/issues/19#issuecomment-399918369
############################################################
# USD
def InstallUSD(context, force, buildArgs):
with CurrentWorkingDirectory(context.usdSrcDir):
extraArgs = []
if context.buildPython:
extraArgs.append('-DPXR_ENABLE_PYTHON_SUPPORT=ON')
if MacOS():
import distutils.sysconfig
pyLibPath = distutils.sysconfig.get_config_var('LIBDIR')
pyIncPath = distutils.sysconfig.get_config_var('INCLUDEPY')
extraArgs.append('-DPYTHON_LIBRARY=' + pyLibPath + '/libpython2.7.dylib')
extraArgs.append('-DPYTHON_INCLUDE_DIR=' + pyIncPath)
else:
extraArgs.append('-DPXR_ENABLE_PYTHON_SUPPORT=OFF')
Converting between .usda and .usdc Files
We'll start with a simple .usda file, Sphere.usda in the USD/extras/usd/tutorials/convertingLayerFormats folder. This is a text format file, so it can be examined in any text editor or via usdcat.
$ usdcat Sphere.usda
#usda 1.0
def Sphere "sphere"
{
}
To convert this file to a binary format file, we can simply specify an output filename with the .usdc extension:
$ usdcat -o NewSphere.usdc Sphere.usda
This will produce a binary format file named Sphere.usdc in your current directory that contains the same contents as Sphere.usd, which we can verify using the usddiff tool:
$ usddiff Sphere.usda NewSphere.usdc
Converting from a binary format file to a text format file and verifying the contents match can be done in the same way:
$ usdcat -o NewSphere.usda NewSphere.usdc
$ usddiff NewSphere.usdc NewSphere.usda
Automator - Finder context menu entry - usdcat
#! /bin/bash
#Load Environment
source ~/.bash_profile
# Enter the first file's directory
current_path=$(dirname "$1")
cd "$current_path"
# For every file, unrar it to the current directory
for a in "${@##*/}"
do
extension="${a##*.}"
filename="${a%.*}"
if [ "$extension" = "usda" ]
then
usdcat -o "$filename.usdc" $a
else
usdcat -o "$filename.usda" $a
fi
done
# Exit 0 so annoying errors don't popup
exit 0
USD Service Tools / Workflows for macOS X
Here are some Services / workflows for macOS Finder which allow direct access to USD from within Finder
macOS X Service extension for Finder v0.2
macOS X Service extension for Finder v0.1
Workflows for Finder v0.1