SIGGRAPH 2023, AI, and USD
So, today is the last day of SIGGRAPH 2023 in Los Angeles. It's always a blast seeing tomorrow's new technologies, but this year one cannot fail to have the sense that things are going to change drastically, and very soon because of two things: AI and USD.
This time last year, everyone was talking about USD. This year, everyone is actually adopting it. With no exaggeration, every company I came across is buying in to USD with gusto and everyone is saying that all other file types are going to be deprecated because their developers don't want to deal with anything other than USD now that they've had a taste of it for a while. The enthusiasm for USD at every level is like nothing I've seen before.
NVidia is integrating ChatGPT-like features into Omniverse.
Because USD is completely open, ChatGPT knows all about it. Because one of USD's manifestations is just a declarative DSL in plain old ASCII, ChatGPT can output it. I tried a simple experiement: "Write a USD ascii file that represents a unit cube."
#usda 1.0
def Xform "UnitCube"
{
def Mesh "Mesh"
{
int[] faceVertexCounts = [4, 4, 4, 4, 4, 4]
int[] faceVertexIndices = [0, 1, 5, 4, 1, 2, 6, 5, 2, 3, 7, 6, 3, 0, 4, 7, 0, 3, 2, 1, 4, 5, 6, 7]
point3f[] points = [(0, 0, 0), (1, 0, 0), (1, 1, 0), (0, 1, 0), (0, 0, 1), (1, 0, 1), (1, 1, 1), (0, 1, 1)]
}
}
Importing that into Blender gives, sure enough, a unit cube. USD is elegant, simple, and easy to generate programmatically... the tools that are going to be built around it are going to begin to flood in. I saw and heard the enthusiasm from the crowd of mostly devs at every session about USD.
My point with all of this: DAZ, seriously, we need USD. Not just export but import, too. The 3D world's train is leaving the station and our bags are not packed.
Comments
and how well do materials transfer between render engines using USD? How about rigging between applications? Geometry itself is easy, and long has been.
Universal suggests impeccably
You seem oddly defensive about this.
I've been waiting...
I'm curious about this as well.
How feasible is it to universalize shaders? Would be curious to see how problem of rigging and shaders are addressed.
I guess perhaps for rigging, we can export the rig and weights in standard fashion, but then update the geometry of the USD from Daz Studio after posing it to get JCMs, working much like OP's Lord of the Plugins?
Easy enough as Omniverse has MDL's to translate to or from Unreal Engine, from an MDL Standpoint. So USD will be easy enough as demonstrated by Omniverse itself.
Just made cynical by experience with formats and tools that promised to be "universal" - and a simple bit of mesh does not seem much of a challenge.
I can't think of another format that explicitly promised to be universal and actually implemented anything that would make it a credible claim that anyone should have actually believed for even a split second. Can you help me out by providing an example?
That, together with it not being a proprietary format but an open one whose stakeholders steer its development. If DAZ took this seriously and considered the rest of the 3D world, they would be one of the stakeholders. They'd influence the shape of things to come, instead of relegating its users (that would be us) to future griping about its shortcomings because DAZ did not stand up for us. Imagine a file format that understood all the idiosyncracies that we love and hate about Genesis models, and other apps that new how to support them because they strive to support USD...
As for materials, the rest of the 3D world can interoperate already with MaterialX and other techs that I never really paid attention to because one gets the idea that its a solved problem. It's DAZ that hides away the ability to do this.
As for rigging, point taken, I confess I don't know because Blender doesn't support tht schema yet anyway.
As for the simple, geometry example I gave, the point is not th example itself, but rather that because it is open, ChatGPT knows all about it. Because it is ASCII, ChatGPT can output it. I guess that's true for Wavefront OBJ's too, but OBJs have none of the characteristics of USD that people went crazy over and are already demonstrating.
I've never seen this kind of enthusiasm, this kind of velocity in the adoption of a new (-ish) technology, nor such unanimous and unqualified agreement among engineers that, "Yes, this is what we've all been waiting for". I get the feeling that this is another one of those defining moments and I see DAZ being left behind by yet another seismic technology that is turning all the other giant ships of industry, but DAZ is still just "full steam ahead" towards I-don't-know-where. In an entire day, I couldn't write out all the innovations I saw this week, and everyone is convinced that USD is the tool that is going to allow these things to happen. Without USD, DAZ isn't going to be part of that, and the chasm between what one can do in DS with the tools that it rolls out at a snail's pace and what can be done in the entire rest of the 3D software world that now can just trade files back and forth, is really beginning to gape. It is telling that I've never even seen DAZ at SIGGRAPH in any form, for as long as I've been going.
Of course, some will make the claim that DAZ is catering to a specific market, but I don't know how far DAZ can fall behind the rest of the world before even those users notice that they're second class citizens.
as someone straddling the fence between using 3D and AI, I can tell you from my precarious perch many have not only left the building
the gate slapped them so hard and the stones being thrown ensured they are never coming back
I don't think even USD will lure them
I as a dabbler in everything would love it though
I already use it, well did before I lost 2TB of data when a drive died, in other apps, glTF too
all you can eat is more popular than ala carte
I can't seem to even find the schema for armatures, (kind of proving myself wrong about USD's openness :) ), but I kind of hope it knows how to drive shapekeys... how awesome would that be? Hoping and dreaming costs nothing, I suppose.
As it is now, you can export to blender then export to USD. Animation is provided by deforming meshes, that's similar to alembic, this allows to export both skeletal animation and simulations. As for materials the conversion is limited to the principled shader, so with diffeomorphic you may want to use the single or extended principled options, then you may need to fix some complex materials by hand.
https://diffeomorphic.blogspot.com/
https://docs.blender.org/manual/en/latest/files/import_export/usd.html
I'm fairly comfortable with the formats I already use, and since those formats have been around for years, they are both well supported and well tested.
From what I see, this is an industry push by companies to get their employees to use the same format. That may be good for "them", but what's good for them may not be necessarily good for me.
USD ascii format looks suspiciously like old VRML language. VRML has been depreciated and replaced with a more modern looking format, called X3D, btw.
At first, I thought chatGPT got confused and gave you the wrong format, since chatGPT's output shouldn't be completely trusted. But, it does look like old VRML language to me. Maybe Pixar adopted it, as it does come before the timeline when USD was first created, somewhere between Toy Story and Bug's Life.
VRML, first created in 1994.
Toy Story, released in 1995.
Bug's Life, released in 1998.
USD was then open-sourced in 2016. XML format was first created in 1998, right after Bug's Life, so they had 18 years to update it. They could have updated it to a more modern, HTML friendly language like XML, before they open-sourced it, but they didn't.
"a more modern, HTML friendly language like XML" The most unintentionally funny thing I've heard in a long time.
If it works, why "fix" it?
More modern, as in, more modern than VRML. And XML is similar to HTML, so, yes, XML is HTML friendly.
I would guess they were too busy making movies to care about updating it, as you see by the timeline, XML came out right after Bug's Life, and they didn't care to update it.
USD has always been intended to get assets from disparate content creation sources into a single Rendering/delivery pipeline intact
(Pixar Renderman, Arnold and now Omniverse)
Rigging is an editing format thus should not be needed at this point in the production pipeline
The similarity is deceptive. XML and HTML are both instances of SGML, but they are polar opposites in practice. XML expresses the structure of data. HTML expresse the presentation of data. You get HTML from XML by transforming it with XSLT. Or at least, that is what the W3C intended. But industry never really bought into its complexity, hence JSON... the semantics moved out of the data and into the producer and consumer where it belongs, leaving the data dead simple and extremely easy (i.e. fast) to parse and validate. That's why it is funny to hear someone expressing a desire for something that is anything like XML... we've been there, done that, and absolutely nobody wanted it.
But there is a schema for rigging. I have not seen it and don't know how expressive it is, but its on the table. Blender doesn't support it yet, either.
FBX was touted as the "universal format" but was so badly implemented and put into practice across the board, so I share Richard's cynicism.
However, DAZ has been behind the curve when it came to interoperability with other 3D applications. I've always thought this was a bit of a blind spot for DAZ as they could've been more in the conversation when it comes to 3D workflows and pipelines. The bridges came just only recently while other 3D apps could already operate with each other via FBX, USD, GLTF or similar for years. Even old bvh to allow animations to work more seamlesly in DAZ has not seen improvement in years.
DAZ has its reasons to create its own gated garden paradise but it comes to a point where having more flexibility and tools is important as well. DAZ has great content but the tools included in DAZ Studio to work with them need more refinement.
It's been my experience, over the years, that "standards" aren't. The first time there's an update to the USD format, not everyone will adopt it instantaneously, and there's suddenly multiple versions in play.
I'm still pinning my hopes on DXF.
-- Walt Sterdan
Back in 1998, the next logical step from VRML was to go to XML. JSON did not appear until 2001. But, by then, Pixar probably locked down the format so they could work on movies. They didn't choose XML or JSON.
I belive that is UsdSkel, defined here: https://openusd.org/release/api/usd_skel_page_front.html.
It maybe interesting to note the following from the introduction, kind of reiterating what was stated above:
"UsdSkel does not signal an intent to provide general rigging and execution behaviors as core USD features. We strongly believe that such features are beyond the scope of USD's core concerns."
Looking at the docs it seems USD supports dual quaternion skinning, so it should be possible to export DAZ G3 G8 G9 and blender figures, though jcms will probably kill performances especially on G9. Please note that G1 G2 use triax so can't be exported to USD, unless we first convert triax to general weight or dual quaternion, that will likely change the deformations.
Overall I believe the current blender approach to export animation as deforming meshes is probably "the easy way".
https://openusd.org/dev/api/group___usd_skel___skinning_utils.html
NIVIDIA is wise.
They realize the power of entrenched habits and that people by and large will not leave the comfort bubbles of their preferred content eco systems.
I have learned this over the past two years of trying to get the larger blender community to try Diffeo or even the Reallusion Blender pipeline addon.
People see one of my animations and ask about the workflow.
The moment you mention you used a Daz or Iclone character, the conversation is over..Entrenched habits.
This is why USD will likely prevail as it does not ask people to Buy into or learn another Character animation, simulation or VFX software but can still send their content output it to a central Hub for collaboration and of course rendering.
Just to highlight more the confidence that the entire industry has in USD, this is the gist of an email I just received. There may be nay-sayers in this forum, but industry is pretty convinced. These companies falling in line is perfectly in sync with the across-the-board enthusiasm that I saw in all the developers' sessions I went to. That's the difference I would point out to the sceptics, who I suppose I cannot blame for not being convinced. But there is a difference in the adoption rate, the enthusiasm in developers, and also USD's design itself.
SIGGRAPH 2023 Rewind: Move AI connects to NVIDIA Omniverse
It was announced at SIGGRAPH last week that Move AI is now connected to NVIDIA Omniverse via OpenUSD!Move AI would imply some sort of armature support, but not necessarily skinning, so I am curious to see how USD is going to support this, and how different apps will in turn support this schema in USD.
Dr Karolly's summary
Thank you, Wendy. I don't think I did a very good job at convincing this topic's readers that USD is going to change things in a way that its predecessors did not. That video did a better job of summarizing the Key Note speech that Jensen gave to a packed house on Tuesday morning.
The comment about "mostly" shiny new hardware was a joke... during his talk, when Jensen picked up the A6000, he accidentally smudged it with his fingerprint :)
it is a lot to take in, I didn't watch any of the Nvidia videos even though I am subscribed, anything with speakers talking among themselves in front of an audience tends to make my eyes glaze over
I like summary videos by others who have done the listening for me
I find 2 minute papers good for such stuff