Home

Awesome

Open Walter

Join the chat at https://gitter.im/OpenWalter/Lobby

Walter is suite of plugins using USD for various DCCs and renderer.

It's main goal is to stay as much as possible in the USD Stage loaded through a DCC in order to increase the interactivity and limit the import/export time.

The DCC communicate with the USD Stage to access or modify specific USD prim or properties. Modifications are stored in specific session layers like for example transform, variant or visibility layers.

The Hydra Renderer is used to display the stage in DCC like Houdini or Maya.

Walter provide a portable lookdev workflow. From Maya, artists can assign Arnold shaders directly on the USD prims of the loaded stage. Those lookdev edits can then be exported as Alembic layers to be loaded in Houdini or Katana.

Walter let you interact with prims transforms directly from Maya. It is connecting Maya locator(s) to the expose prim(s), in order to push any static or animated transforms to the USD stage. This is the way to exchange layout and rigid animations between DCCs using Walter.

Walter include a modified version of the Embree raytracer for Hydra. It is able to blend any rendered prims with native Maya or Houdini objects displayed in the viewport. This raytracer is dedicated to fast display. On scenes with millions of polygons, it will be much faster that the default Hydra renderer plugin (called Stream). You can mix Walter nodes using Embree and Stream in the same scene. For example, the main character could be displayed using Stream and the environment using Embree.

Finally Walter extend USD itself by providing additional schemas (like WalterVolume or Expression), file format plugin (Arnold Scene Sources) and resolver (Alembic 1.7 CoreLayer allowing to load more than one main file in the stage).

Supported Platforms

Open Walter is currently supported on Linux platforms and has been built and tested on CentOS 7.

If you are interested to contribute to a Windows build, we will be more than happy to support you!

Supported DCC and renderers

The following versions were used in production.

ApplicationVersion
Arnold5.0.2.4, 5.1.1.1
Houdini16.5.350, 16.5.496
Katana2.5v7, 3.0.2
Maya2016SP4, 2018.3

Walter is also a plugin for USD itself as it is including additional schemas, asset resolver and file format.

Finally, the walterViewer application is a standalone viewer that can load Walter layers outside of any DCCs or renderer. It is mostly used for development purpose, as it let you load layers without launching a DCC.

Trying Walter

Compiled versions for Centos7 can be downloaded from (https://github.com/rodeofx/OpenWalter/releases). You will need to add the plugins to your application environment. Take a look at the Houdini, Katana, Kick and Maya wrappers in (https://github.com/rodeofx/OpenWalter/tree/dev/walter/utils) to see how to get a proper configuration to load Walter plugins.

Building Walter

System requirements

Check that the following libraries are installed:

autoconf
libtool
libXcursor-devel
libXi-devel
libXinerama-devel
libXmu-devel
libXrandr-devel
libXt-devel
libXxf86vm-devel
mesa-libGL-devel
mesa-libGLU-devel
nasm
openssl-devel

Optional Plugins

Open Walter comes with an Arnold Procedural and some DCC plugins. They are enable by default. You can disable a plugin by using the following variable passed to make: BUILD_<NAME>_PLUGINS=OFF.

For example to build only the Houdini plugin:

make BUILD_KATANA_PLUGINS=OFF BUILD_MAYA_PLUGINS=OFF

Arnold Procedural

Render a list of USD or Alembic files. Materials and assignations can be loaded directly, including assignations using expressions. Session layers like transforms, variants, purposes, etc... can be passed as parameters too.

You must set the Arnold root path in your environment.

Variable NameDescriptionVersion
ARNOLD_ROOTThe root path to Arnold install5.0.2.4 5.1.1.1
Houdini Plugin

You must set the Houdini and HtoA root paths in your environment.

Variable NameDescriptionVersion
HOUDINI_ROOTThe root path to Houdini install16.5.350 16.5.496
HTOA_ROOTThe root path to HtoA install3.0.3
Katana Plugin

You must set the Maya and MtoA root paths in your environment.

Variable NameDescriptionVersion
KATANA_ROOTThe root path to Katana install2.5v7 3.0.2
KTOA_ROOTThe root path to KtoA install2.1.2.0
Maya Plugin

From the WalterStandin Attribute Editor you can:

You can select USD prims directly from the viewport like a standard Maya object or from the Walter Tree Widget (aka the Walter outliner). You can drag and drop materials from the Hypershader directly on any prims in the Walter Tree Widget and override Arnold attributes. Shader drag and drop can be done on Walter Expression items in the Tree Widget (using regular expression to assign shaders to prims).

By righ clicking on a prim in the Walter Tree Widget you can:

Finally edits can be saved on disk as specific layers.

Walter Translator for MtoA:

Create a Walter procedural node in Arnold to render every USD layers, including sessions layers (edits).

You must set the Maya and MtoA install paths in your environment.

Variable NameDescriptionVersion
MAYA_ROOTThe root path to Maya install2016SP4 2018.3
MTOA_ROOTThe root path to MtoA install3.0.1.1

For example:

# Open Walter environment to source
export KTOA_ROOT=/software/ktoa/ktoa-2.1.0.0
export KATANA_ROOT=/software/katana/katana3.0.v1
export ARNOLD_ROOT=/software/arnold/5.1.1.1
export HOUDINI_ROOT=/software/houdini/16.5.350
export HTOA_ROOT=/software/htoa/htoa-3.0.3
export MTOA_ROOT=/software/mtoa-3.0.1.1
export MAYA_ROOT=/software/maya/Maya2018.3/maya2018-x64
Build and install command

The simpliest way is to configure your environment and then run make.

Note that you can also use variable assignement directly in the make command for any install paths: make HOUDINI_ROOT=houdini/install/dir

The very first build will take some time. This is because it will download the required dependencies and build and install them along with Walter.

By default all the libraries (Boost, Qt, USD, etc...) will be installed in build/lib. You can change the install path by setting PREFIX_ROOT.

Once the build is finished, you can use houdini/katana/maya or kick launchers located in the walter/utils directory. They are using the same environement variables than the build to locate Houdini, Katana and Maya. Those launchers are adding Walter plugins in order to quickly give it a try!

If you run make clean && make it will re-build only Walter (and so it will be much faster).

Build Options

Run make help for more info on the various targets available.

Contributing

Since the open source version of Walter is in its early days, we did not yet created any forum or documentation pages.

Join the chat at https://gitter.im/OpenWalter/Lobby