[Bf-usd] USD - UMM

Brian Savery brian.savery at gmail.com
Fri Aug 6 20:15:01 CEST 2021


Other software vendors (Autodesk, Houdini, Adobe, Pixar) are standardizing
on MaterialX as well as USD itself (see latest ASWF discussions)... Can
this UMM import and export MaterialX data?  If not, it seems the wrong
direction for material interoperability to Blender IMO.

Brian

>
>
> I suggest to create a separate design task to discuss UMM, as it will
> require some feedback and iteration. The task can be part of the USD
> project.
>
> Regards,
> Francesco
>
> --------------------------------------------------------------
> Francesco Siddi  -  francesco at blender.org   -  www.blender.org
> COO at Blender and Producer at Blender Studio
> Buikslotermeerplein 161 - 1025 ET Amsterdam - The Netherlands
>
> On 6 August 2021 at 15:10:30, Michael A Kowalski (makowalski at nvidia.com)
> wrote:
>
> Thanks for the reply, Sybren.
>
>
>
> The UMM addon hasn’t yet been released publicly on github.   We are working
> on that now, and this source will be available soon.
>
>
>
> Indeed, the importer/exporter code does not depend on UMM being installed
> in order to function.  If the UMM module isn’t installed, the import/export
> will continue to work, but without the extended functionality that this
> addon provides.
>
>
>
> Currently, the UMM addon also includes a UI to help users create
> pre-defined material templates that are helpful to guarantee lossless
> mapping in some cases.  But, if this Python module can be packaged with
> Blender some other way that’s easily customizable by users, we’re very open
> to suggestions.  Certainly, it would be ideal if this could be bundled with
> Blender.
>
>
>
> Thanks,
>
> Michael
>
>
>
> *From:* Bf-usd <bf-usd-bounces at blender.org> *On Behalf Of *Sybren A.
> Stüvel
> *Sent:* Friday, August 6, 2021 6:09 AM
> *To:* Blender USD Workgroup <bf-usd at blender.org>
> *Subject:* Re: [Bf-usd] USD experimental development branch proposal
>
>
>
> *External email: Use caution opening links or attachments*
>
>
>
> Hello,
>
>
>
> On Fri, 6 Aug 2021 at 02:30, Michael A Kowalski <makowalski at nvidia.com>
> wrote:
>
> As part of the ongoing USD development effort, I would like to propose
> establishing a USD experimental branch on git.blender.org, initially based
> on the design and feature list described below.
>
>
>
> For further development of USD features, it's probably better to not have a
> single, long-lived branch. It'll be simpler to work on smaller,
> feature-specific branches that can be reviewed & merged into the master
> branch. Not only will it make the process of reviewing and testing changes
> easier, it'll also help in making features available to general Blender
> users more quickly.
>
>
>
> UNIVERSAL MATERIAL MAPPING (UMM) SUPPORT
>
>
>
> Conversion to and from MDL materials is accomplished using the UMM addon.
> UMM is a tool developed by NVIDIA that allows users to specify custom rules
> for converting between arbitrary shader networks.
>
>
>
> I'm wondering about the Universal Material Mapping add-on. It is described
> as if it's an already-existing tool by NVIDIA, but I can't find it when I
> do a web search
> <
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fduckduckgo.com%2F%3Fq%3DUniversal%2BMaterial%2BMapping%2Bnvidia&data=04%7C01%7Cmakowalski%40nvidia.com%7C0853b3ab33164f5237bf08d958c2538e%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637638414359462943%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=FftW0HatjVNMqw3Ao0zr8Z4fx36A2F3qadzf%2BwtEqXI%3D&reserved=0
> >
> for it.
>
> It could be really powerful (for studios) to have such a mapping defined in
> Python. However, so far the USD code is purely written in C++, and doesn't
> rely on any Python add-on. IF Python code is going to be used in this
> process, I would strongly suggest a way to make things work also when the
> add-on is disabled or otherwise not available (as in, not crash or disable
> the import/export, but just have somewhat more limited functionality).
>
>
>
> This addon is GPL compatible open source and is implemented purely in
> Python, with no dependencies on additional libraries or modules.  It could
> potentially be distributed as part of the Blender build, or it could be
> provided separately, to be installed by the user.
>
>
>
> I don't think it's a good idea to limit Blender's USD import/export
> functionality in such a way. If it's so simple (as in, no dependencies),
> why wouldn't it be bundled with Blender?
>
>
>
> Cheers,
>
> Sybren
>
>
>
> On Fri, 6 Aug 2021 at 02:30, Michael A Kowalski <makowalski at nvidia.com>
> wrote:
>
> Hello everyone,
>
>
>
> As part of the ongoing USD development effort, I would like to propose
> establishing a USD experimental branch on git.blender.org, initially based
> on the design and feature list described below.
>
>
>
> Feedback and comments are welcome!
>
>
>
> Thank you.
>
>
>
> Best Regards,
>
> Michael
>
>
>
>
>
>
>
> USD BRANCH DESIGN AND FEATURES
>
>
>
> The proposed experimental USD branch will contain enhancements to Blender’s
> USD importer and exporter, including support for MDL material conversion
> through a Universal Material Mapper (UMM) addon.
>
>
>
> The extensions to the USD importer and exporter adhere closely to the
> current USD IO module design, implemented as a collection of USD reader and
> writer classes which handle converting between USD primitives and Blender
> objects.  This design will be compatible with plans to implement
> collection-based IO in Blender in the future.
>
>
>
> The implementation consists of source code which originated in branches
> open-sourced by Tangent Animation, combined with contributions from
> NVIDIA.  The modifications in this branch are incremental to the Blender
> 3.0 release, with updates pulled from the master branch on a regular basis.
>
>
>
> The following is a list of new IO features and improvements supported in
> this branch:
>
>
>
>    * Instancing import:  Import USD scene instances as Blender collection
> instances.
>
>
>
>    * Instancing export:  Extend the existing instancing option to support
> exporting arbitrary object hierarchies as USD scene instances.  Additional
> support for exporting Blender particle systems as USD point instancers.
>
>
>
>    * Environment map IO:  Logic to convert between USD dome lights and
> Blender world materials, including environment textures.
>
>
>
>    * Unit conversion scene scale:  Automatically scale the scene for unit
> conversion on import and export (e.g., scale the imported objects based on
> the USD’s meters per unit value).
>
>
>
>    * Curve export.
>
>
>
>    * Armature export:  Export armatures and skinned meshes to USD skeletons
> and skeletal animations.
>
>
>
>    * Light unit conversion:  Experimental code to convert between light
> intensity units in Nits and Blender’s light energy units, on import and
> export.
>
>
>
>    * Transform operator options:  Option to save transforms to USD as the
> combination of scale, rotate and translate operators, where the rotation
> can be expressed as Euler angles or a quaternion.
>
>
>
>    * Export to USD shader nodes:  Convert Blender shader nodes to
> UsdPreviewSurface nodes, MDL material nodes or a custom USD representation
> of Cycles shaders.
>
>
>
>    * Import MDL materials:  Convert MDL materials to Blender shader
> networks.
>
>
>
>    * Texture export:  An option to save textures to a directory relative to
> the USD being exported, using either absolute or relative asset paths.
> This feature works with UDIM tiles as well as packed and in-memory “baked”
> textures.
>
>
>
>    * Option to specify a default primitive on export.
>
>
>
>    * Option to add a root primitive on export. This option adds a single
> prim as the parent of all exported prims.
>
>
>
> Near term work in progress includes:
>
>
>
>    * Option to export meshes as individual USD “prop” files that are
> referenced in the scene.
>
>
>
>
>
> UNIVERSAL MATERIAL MAPPING (UMM) SUPPORT
>
>
>
> Conversion to and from MDL materials is accomplished using the UMM addon.
> UMM is a tool developed by NVIDIA that allows users to specify custom rules
> for converting between arbitrary shader networks.  Although it’s currently
> used for translating MDL shaders, it could potentially be used to convert
> any material type.  The UMM addon Python module provides an API for the
> conversion which is invoked by the USD exporter using the C Python API.
> This addon is GPL compatible open source and is implemented purely in
> Python, with no dependencies on additional libraries or modules.  It could
> potentially be distributed as part of the Blender build, or it could be
> provided separately, to be installed by the user.
>
>
>
>
>
>
>
> _______________________________________________
> Bf-usd mailing list
> Bf-usd at blender.org
> List details, subscription details or unsubscribe:
> https://lists.blender.org/mailman/listinfo/bf-usd
>
> _______________________________________________
> Bf-usd mailing list
> Bf-usd at blender.org
> List details, subscription details or unsubscribe:
> https://lists.blender.org/mailman/listinfo/bf-usd
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://lists.blender.org/pipermail/bf-usd/attachments/20210806/7fe40a19/attachment.htm
> >
>
> ------------------------------
>
> Subject: Digest Footer
>
> Bf-usd mailing list
> Bf-usd at blender.org
> https://lists.blender.org/mailman/listinfo/bf-usd
>
>
> ------------------------------
>
> End of Bf-usd Digest, Vol 12, Issue 3
> *************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.blender.org/pipermail/bf-usd/attachments/20210806/4356e435/attachment.htm>


More information about the Bf-usd mailing list