Universal Scene Description (USD) Export / Integration

phagan_hkphagan_hk Posts: 23
edited January 19 in Daz Studio Discussion

Hello creators,

Has anyone successfully established a workflow / pipeline for Daz Gen9 characters using Universal Scene Description (USD) either in or out of DazStudio?
Seeking a NON-Bridge approach to exporting characters for use in other applications.

An initial pipeline might be:
Daz -> USDExport -> Blender USD Import
(With clean Skeletal Mesh and Rigging info)

If not:
Are their any parties interested in commisioned contribution to an open source project that could unlock this potential?

Post edited by phagan_hk on

Comments

  • crosswindcrosswind Posts: 7,707

    There's no feature of exporting USD format in DS by now... A practical way is to send Daz assets to Blender by using Diffeomorphc Daz Importer, then export assets to USD in Blender.

  • Richard HaseltineRichard Haseltine Posts: 102,027

    Someone could, of course, use the SDK to develop a third-party exporter.

  • phagan_hk said:

    Hello creators,

    Has anyone successfully established a workflow / pipeline for Daz Gen9 characters using Universal Scene Description (USD) either in or out of DazStudio?
    Seeking a NON-Bridge approach to exporting characters for use in other applications.

    An initial pipeline might be:
    Daz -> USDExport -> Blender USD Import
    (With clean Skeletal Mesh and Rigging info)

    If not:
    Are their any parties interested in commisioned contribution to an open source project that could unlock this potential?

    I wrote a standalone app called Hitchens that can do various things, among them exporting USDA including the mesh and skinning. The code's organization reflects that I was figuring things out as I went, it lags behind Sagan in support for things like Geoshells and Geografts, and there's a bug in the armature merging, but I could open source it anyway (which I alkways intended to do).

    A standalone app is certainly not what most people want, but others could help me refactor the code so that a standalone app and a plugin could both be supported.

    My only concern is that I'd spend all my time preparing it for github, and then no one would contribute.

     

  • MattymanxMattymanx Posts: 6,934

    For the record, I have made a feature request to officially have Daz Studio fully support the USD framework

  • phagan_hkphagan_hk Posts: 23

    crosswind said:

    There's no feature of exporting USD format in DS by now... A practical way is to send Daz assets to Blender by using Diffeomorphc Daz Importer, then export assets to USD in Blender.

    Indeed - this does work and what we have used so far in order to validate the feasibility of our overall approach.
    It seems to be, so we are looking now to streamline, simplify the workflow / pipeline so the output files/formats are as stable/resilient/clean as possible - that way as we open up to a broader (and increasingly less technical audience) things remain clear and (hopefully) easy. :-)

  • phagan_hkphagan_hk Posts: 23
    edited January 20

    I am THRILLED this post got ANY responses and especially excited to see there are people exploring some approaches and/or see the value. 

    TheMysteryIsThePoint said:
    My only concern is that I'd spend all my time preparing it for github, and then no one would contribute.


    I agree - prepping and structuring for a shared open source git repo is a hassle - and made frustrating if people don’t contribute after all the effort.
    We will soon be opening up the repo on our Unreal Engine plugin for USD Load/Save at Runtime and it has been a chore getting things ready for that.
    Blender / Unreal / USD / Runtime / (Maybe DAZ skeletal meshes) → Perhaps you can see where our project is headed.

    Long way of saying - a separate standalone app can make sense - as long as it can cypher and structure the value of the source assets to a clean output (USD). This is crucial when the assets get moved into a variety of downstream use cases or need update / modification.

    I checked out your Hitchens thread. WOW! Really cool to see!
    Would you (and perhaps others) be interested in having a more detailed discussion about how something like this could work?
    From there you can decide if it makes sense to spend the time on open things up or whatever.

    Post edited by phagan_hk on
  • phagan_hkphagan_hk Posts: 23
    edited January 20

    Mattymanx said:

    For the record, I have made a feature request to officially have Daz Studio fully support the USD framework

    Yeah. There are similar requests sprinkled throughout the ecosystem but the reality is.
    USD is a pretty huge library and these closed ecosystem solutions (such as Daz) are likely not super excited about implementing a large library for their niche solution (characters, skeletal meshes, weights). It is a LOT of work to do on an application level because they would want to think about the entire chain (Characters, Clothes, Sets, Props, Lighting, PGC, Effects, etc etc) or none at all… where I (for example) think they are amazing at characters but sets, props, compositions, etc… Nah - other tools for that.

    That is why I want to get characters OUT of Daz cleanly and into other tools for creating more from them.

    Case in point - for our project, we are using (and contributing to) a TinyUSD open source project staying true to the clean USD spec, but shaping the integration to our own (very simple) needs (compared to the mega USD spec).
    Skeletal meshes are in there but tons of other stuff (like specialty physics, PGC, volumes, stuff for simulation, stuff for pixar movie making, etc) are not.

    In the end - Creator apps (Daz, Unreal, Unity, Omniverse, Godot, etc, etc) generate highly bespoke file formats that effectively “dead end” the output (and the extended value) of those tools (and in turn the assets generated specifically for them).
    I have no clue if they are doing this intentionally as a business practice, just got carried away in their domains to make really cool things work (only for them), or total lack of forward thinking of how the evolution of content creation has worked throughout history.

    E.g. In the Audio space you may recall the dark ages when BigMusic thought they could control music distribution with DRM - RealAudio, WMA(withDRM), etc… Then came MP3 and Napster and 10 years of a complete disaster for aspiring artists wanting to be on labels for distro before a reinvention.
    It’s all MP3 (or even lossless yumminess) now. Emerging artists use totally open distribution platforms like soundcloud or bandcamp, manage their own distribution rights, and those gatekeeper businesses are gone, replaced with new ones that saw a new economy.
    Was "Pro only" / highly technical then became UGC.
    That new economy is based on where content is consumed, not the cost of distributing / buying it. A complete shift which is now again being threatened with another renaissance through the emergence of AI music generation - but that is another story. 

    But yes - then it then happened with Video (which peeps thought would never happen due to complexity of 640x480, then HD, then 4K). 
    “It’s too hard to do video like that!” (said the film/TV industry in 2007 while pointing and laughing at the music industry).
    And now mobile phones have simple software that anyone can use to shoot, edit and distro 4K, 360 video, etc.
    Was "Pro only" / highly technical then became UGC.

    The harsh limelight is finally on 3D now.
    And we heard the cry of those who will not be around in 10 years: “Oh, but 3D is harder than those things.” 
    Yep - Until it’s not.

    USD (and possible complimentary glTF, and pointcloud wrappers) is the mp3 equivalent.
    The last 5 years of increased compute power, AI generation, new entertainment paradigms, etc - will force a change in the old 3D siloed business models. 
    These new tools are not going to write dead end file formats: .blend, .duf, .pak, .unity, .max, etc
    They are not going to like writing to confused, bloated and restrictive file formats: .obj, .fbx, etc
    They will want to write to open and scalable file formats: . usd, glTF, etc
    If creator tools don’t support them - creators will migrate to the tools that do in order to simplify their creative workflow while providing great results.


    Daz is AMAZING at characters (rigs, weights, clothing, hair, etc), it deeply understands the complexity of the need, has a community that cares about this topic and likes to push what is possible while contributing. It is the ideal place to guide and shape this area of the industry.
    Daz could OWN the rigged character niche (central casting, costume department, makeup, hair, animals, creature department, etc) but they are never going to be the best realtime render engine (Unreal), most functional animation solution (Maya), simplest narrative solution (RenPy), widely used game engine (Unity), Most robust and “free”  “all-rounder” (Blender) etc.

    So far, their approach seems to have been to INJECT Daz into the ecosystem with plugins and connectors (a form of DRM if you will - make it hard to get your thing free of the thing that created it). Not a future proof approach.

    All that said - Asking Tafi/Daz to spend the time and energy for a proper USD exporter would be like asking RealAudio back in the day to support MP3 - It’s antithetical to their current model.
    Instead - the community who knows what they want to do with the assets they create in the tool would be best served to figure out the export (Like the community figuring out how to rip MP3s from RA streams) and hope our favorite toolsets find a way to pivot to a sustainable business model that can continue to support themselves and creators (of the assets, the morphs, the characters and all the other things we appreciate Daz for).
    But I doubt they have an interest / energy to paint that picture for us.

    I think Richard has a point about looking into the SDK, and TheMysteryIsThePoint seems to be a few steps ahead here.

    I hope we find a way to make it work.
    If we do find a way - I’m sure many of you will appreciate the project we are working on.
    It is as much for storytellers and artists as it is for creators of assets, characters and worlds.  

    Post edited by phagan_hk on
  • MattymanxMattymanx Posts: 6,934

    Without looking it up, I stated in my request that, imho, supporting the USD framework would, in theory, take away the need for bridges to software that also supports USD.  And in doing so, would make it easier for Daz Studio to be integrated into a production pipeline. By supporting the framework, you dont need to worry about directly supporting other software that supports USD, you just need to concern yourself with the framework itself

    However, the alternative would be to do what SideFX does which is provide the Houdini Engine for use in other software that can use Houdini assets and tweak them until they are satified and then bake in the results.  A simular approach for Daz Studio could be done.  Having the ability to use DS content directly inside other software as though it was running in DS itself would save a lot of time and hassle.  However, you then run into the same issues with it as you would a software bridge, and that is, software updates.

  • phagan_hkphagan_hk Posts: 23

    Mattymanx said:

    Without looking it up, I stated in my request that, imho, supporting the USD framework would, in theory, take away the need for bridges to software that also supports USD.  And in doing so, would make it easier for Daz Studio to be integrated into a production pipeline.

    Totally agree. I hope they do too!
     Are you working with USD currently?
    If so, What is your workflow / pipeline?

  • MattymanxMattymanx Posts: 6,934
    edited January 21

    phagan_hk said:

    Mattymanx said:

    Without looking it up, I stated in my request that, imho, supporting the USD framework would, in theory, take away the need for bridges to software that also supports USD.  And in doing so, would make it easier for Daz Studio to be integrated into a production pipeline.

    Totally agree. I hope they do too!
     Are you working with USD currently?
    If so, What is your workflow / pipeline?

     

    No, not currently.  Since Daz Studio does not support USD at this time, there is no point for me to use it as I only create content for DS and nothing else. 

    Post edited by Mattymanx on
  • Seven193Seven193 Posts: 1,101

    NVidia Omniverse is the only software I know that uses USD format as it's main format.  But, it still accepts FBX, OBJ, and GLTF as input.

    For me, USD is just another format.  To use it, it would have to fill a purpose, a means to an end, and replacing another format is not a good enough of a reason.

  • MattymanxMattymanx Posts: 6,934

    Seven193 said:

    NVidia Omniverse is the only software I know that uses USD format as it's main format.  But, it still accepts FBX, OBJ, and GLTF as input.

    For me, USD is just another format.  To use it, it would have to fill a purpose, a means to an end, and replacing another format is not a good enough of a reason.

    Daz Studio would not switch over to using USD as its main format but instead support the framework (USD is not merely a file format but a framework).  For any regular customer whos only desire is to load up Daz Studio  content into DS and render to their hearts content, USD support would go un-noticed just as much as FBX and Collada.

    The main purpose for DS supporting USD is so that its can be easily integrated into production pipelines.  USD can carry a lot of information that would allow for a simpler workflow between applications as you dont have to reassign information to a model and even carry over lighting setups from one app to another.  An example for content production - if its easier for a PA to rig in the software where they make their product, lets say a vehicle, USD would allow them to do that and then bring the mesh and rigging into DS without having to tweak much, if anything at all.

    USD was basically started by PIXAR, who wanted better integration between the software they used.

  • DustRiderDustRider Posts: 2,778
    edited January 21

    Seven193 said:

    NVidia Omniverse is the only software I know that uses USD format as it's main format.  But, it still accepts FBX, OBJ, and GLTF as input.

    For me, USD is just another format.  To use it, it would have to fill a purpose, a means to an end, and replacing another format is not a good enough of a reason.

    To expand a bit further on what  Mattymanx said. If USD were to be implemented properly, you (or any user) would be able to take your assets from DS (Daz Studio) to any other application (including Omniverse) with no loss of quality and functionality, and any changes to the scene or scene elements made in the external application could then be used in DS with no loss of information/quality. The current implementation of FBX in DS does not allow that (insufficient), and OBJ does not support rigging. So, for example if DAZ did a proper implementation of USD export/import you would be able to export an entire scene in DS to Blender, Omniverse, Unreal Engine, etc. with all rigging, lighting and shader/materials information intact. Meaning you could then animate the scene in another software, and render it in that software and have everything look virtually identical to how it looks in DS. That is why Pixar developed USD, so they could easily use assets in different applications without any loss of information/quality between applications (i.e the lighting artist can work on lighting in Katana, the shader artists can work on editing the shaders/materials in that application with the proper lighting, etc.). Additionally, any updates to an asset is then seen in it's new form in all the applications they use because they are reading the USD data live, not doing static import/export operations.

    This would truly open up the use of DAZ assets well beyond what is currently provided by the bridges (which for the DAZ bridges is rudimentary at best, Diffeomorphic. which is developed by an individual developer goes way beyond what DAZ has provided with their plugin), and if developed for import as well, it would open up DS to a huge variety of potential content.

    Post edited by DustRider on
  • Seven193Seven193 Posts: 1,101

    Cut to the chase. USD offers more support for physically based shaders (PBR) and complex shading networks. Ok, I get that now.

    And what have users of Diffeomorphic learned about the difficulty of transferring shaders between Blender and Daz Studio?  Isn't that already supported?  Diffeomorphic is export only.

Sign In or Register to comment.