The ASWF USD Working Group is proposing a knowledge base around USD to serve as a reference for developers, artists, and studios adopting USD. This will contain documentation, code snippets that demonstrate the USD API, small helpful scripts, and USD example assets and shots, and eventually, a set of "best practices" ala PEP or RFC. The purpose of this knowledge base is to reduce the USD support burden on Pixar by having a searchable repository of information, and to make the usd-interest mailing list more effective by having a way to respond to common questions with a link to a relevant topic, rather than typing out a new answer.

The purpose of this document is to propose an initial set of categories to populate the knowledgebase. Please add whatever you think would be helpful. Note that some topics here may already be covered elsewhere in the wiki. Please contribute to existing pages if possible, rather than creating duplicates.

Knowledge Base Topics

USD API code examples 

  • Python examples using Sdf API
  • Achieving complex composition structures

Small helpful USD scripts

  • Separate area of the wiki for complete contributions
  • Snippets inline in wiki docs
  • Mention the version of USD used to create the sample

USD samples

  • Complete USD asset examples
    • Organized by studio
    • Comments on why the composition choices are made
  • Complete USD shot examples
    • Organized by studio
    • Probably toy shots, maybe one of each asset type (envir, char, etc)
    • Comments on why the composition choices are made
  • Examples of USD concepts (ex: cards display with ModelAPI)
  • Extension points (Schemas, Prim Schemas, etc.)

Common build problems and their solutions

Links to blog posts, miscellaneous documentation, and news about USD

Pipeline protips

  • E.g. set a primary camera name using UsdUtils and plugInfo.json

Made with USD

  • Projects backed by USD
  • Explanation of the tools / pipeline used for those projects
  • USD versions used
  • USD features used

Interactive Jupyter python snippets

Streaming video walkthrough for certain features

Common language for contributions

  • use standard terminology, (ref: last mile format)
  • “raw” USD examples where possible.

Version compatibility

  • Human tags for compatibility of docs and examples (“confirmed working on xx.xxx”)
  • CI automation of compatibility testing
    • Useful as regression tests for USD itself?
  • No labels