The Most Valuable File Format You've Never Heard Of

Поделиться
HTML-код
  • Опубликовано: 20 ноя 2024

Комментарии • 1,3 тыс.

  • @Acerola_t
    @Acerola_t  2 месяца назад +203

    To try everything Brilliant has to offer for free for a full 30 days, visit brilliant.org/Acerola/ you’ll also get 20% off an annual premium subscription! #ad
    I got covid at siggraph so unfortunately I didn't have much time to create a cooler demo for you all making use of USD, but I hope you all like it! Be sure to speak up about a Godot integration if that interests you. Next video I'll be back on my goat stuff.

    • @mktj1
      @mktj1 2 месяца назад +3

      All I know is I hope Acerola earns lots of USD.

    • @SomeUsernameSomeoneElseTookIt
      @SomeUsernameSomeoneElseTookIt 2 месяца назад +4

      cat :)

    • @GloombertGoat
      @GloombertGoat 2 месяца назад +5

      Putting the cat in the ad was a stroke of pure genius

    • @shadow_xts
      @shadow_xts 2 месяца назад

      My colleagues would for sure be interested. So far I’ve found Unreal integration much less cumbersome than Unity and in my practice which is to work with small teams (less than 10) with variable levels of skills, implementing USD into production still isn’t really the thing. Even Remedy, who did a whole assed integration of USD for Northlight, are still progressively migrating from the good ol’ FBX pipeline. USD also introduces the problem of version control for the artists and it’s been the thing that has terrified all my colleagues who already struggle at the idea of merging a branch.
      So the overhead cost of educating your team and also make sure they can’t break stuff and that they understand the pipeline to fit in there really isn’t very practical, especially that the tools are new, unstable, and miss pretty big features such as rigging. The part I’m most interested in is the interoperability between the engine and the creation tool, aka you move a statue somewhere and the artist can work on it, moved, in their own program. Convenient. But great powers great responsibility etc.
      Since there isn’t a Houdini Engine for Godot, USD surely has some more extra attractiveness to it I think. However, Blender’s integration of USD also totally sucks and they don’t seem to want to make it anything else but a file format since Blender’s formatting is pretty antagonist to the logic implement in USD. So this is a big obstacle for the Godot integration since most of Godot users also are Blender users, for the sake of open source free programs.
      Before finally quitting school because I got a job instead, I wanted to make my dissertation about USD and quickly landed into the interoperability and version control problem. Without full interoperability and full version control (the API allows you to build one but it’s not that easy), it has little appeal over just doing as we always did: export the FBX and get the axis, the handedness and the scale wrong.

    • @laym.glitched
      @laym.glitched 2 месяца назад +1

      But Acerola

  • @herosvicentegonzalez7872
    @herosvicentegonzalez7872 2 месяца назад +4374

    It's better than perfect, it's standardized!

    • @tealtxgr
      @tealtxgr 2 месяца назад +120

      Technology Connections reference? :O

    • @theexaustedslime
      @theexaustedslime 2 месяца назад +136

      Unironically yes. Can you imagine having to support 30 different "perfect" standards? Because I don't have to, and now I'm losing all my hair.

    • @research417
      @research417 2 месяца назад +16

      @@theexaustedslime That's the norm for most software engineering jobs

    • @sultim7570
      @sultim7570 2 месяца назад +16

      But USD uses std and other compiler specific primitives in its C++ API, so it locks a user to a specific compiler, and not just compiler but a compiler version -- one can't use their DLL/LIB, as the ABI won't be compatible. So, a user must compile the whole USD locally for the specific compiler / version. Good luck debugging sporadic crashes (because of ABI incompatibility) if someone forgets to push right lib/dll 🙂

    • @chriss3404
      @chriss3404 2 месяца назад

      @@sultim7570 Software is the gift that keeps on giving. A wellspring of infinite work!

  • @opalpersonal
    @opalpersonal 2 месяца назад +3594

    "there were 17 formats."
    someone: "we should make a new, universal format that can use everything."
    "there were 18 forma-- oh wait, people are actually using it universally? well damn."

    • @tamoozbr
      @tamoozbr 2 месяца назад +270

      That's what happens generally when that someone is Pixar

    • @NerdyWasTaken
      @NerdyWasTaken 2 месяца назад

      or Google (webp & avif)

    • @mtarek2005
      @mtarek2005 2 месяца назад +206

      there are 3 "universal" formats(obj, gltf, USD) and a bunch of widely supported formats, so comic still stands

    • @mtarek2005
      @mtarek2005 2 месяца назад

      and Godot and three.js have the best gltf support out there

    • @Slushee
      @Slushee 2 месяца назад +123

      This is xkcd 927

  • @telerobotic
    @telerobotic 2 месяца назад +1551

    Transitioning to an ad with the cat on the side, is one heck of a technique for an engagement trap

    • @hiddendrifts
      @hiddendrifts 2 месяца назад +59

      fr, i think this is the first time i've seen someone do smth like that

    • @eliasrosas2310
      @eliasrosas2310 2 месяца назад +76

      it worked, im engaged

    • @darrennew8211
      @darrennew8211 2 месяца назад +19

      He's channeling Louis Rossman.

    • @arnie9646
      @arnie9646 2 месяца назад +15

      I thought the cat was "Brilliant" hey what's in a name?

    • @ai_is_a_great_place
      @ai_is_a_great_place 2 месяца назад +5

      Not to be rude but I personally dislike cats so I always skip it 🙃

  • @AliasA1
    @AliasA1 2 месяца назад +242

    I feel like this is, if anything, underselling what USD can do. From USD files potentially being human readable and editable, to the ability to use hydra to plug a USD scene directly into most render engines, to the ability to layer USD scenes across multiple files, editable across multiple users and different software in parallel, it is an absolute beast. And that's just the benefits I've noticed as an artist with zero pipeline or coding experience.
    It was a magical moment the first time someone opened a USD ascii file in front of me and created a basic PBR material by just typing the values into notepad.

    • @anikan33
      @anikan33 2 месяца назад +13

      Agreed, programmatically creating a mesh by specifying vertices and triangles is possible with something as ancient as the obj format

  • @absurdshroom
    @absurdshroom 2 месяца назад +2063

    Apple embracing PIXAR's creation as a standard is surprising, until you remember it's PIXAR. You tried, Apple.

    • @davidzaydullin
      @davidzaydullin 2 месяца назад +469

      apple embracing any standard is already surprising

    • @chidorirasenganz
      @chidorirasenganz 2 месяца назад +133

      @@davidzaydullinyeah they usually help create them like usbc and thunderbolt

    • @ThompYT
      @ThompYT 2 месяца назад +396

      @@chidorirasenganz yeah and then refuse to use or implement it for years and years! What geniuses! And if they make it a closed standard then they can gatekeep it too for MAXIMUM PROFIT!!!!

    • @chrisalex82
      @chrisalex82 2 месяца назад +86

      ​@@davidzaydullinuntil they are forcee, like the eu 💯

    • @GypsumGeneration
      @GypsumGeneration 2 месяца назад +125

      Steve Jobs owned a significant portion of Pixar

  • @optic5471
    @optic5471 2 месяца назад +387

    Alan Wake 2 (well NorthLight) used USD files for their entire game. It allowed them to do live editing from Maya, to the editor, to the game. They put out a few videos when Alan Wake 2 launched about the new features to their engine

    • @Hecktic117
      @Hecktic117 2 месяца назад +5

      Can you link the videos? I’m invested now

    • @optic5471
      @optic5471 2 месяца назад

      @@Hecktic117not sure what is up with RUclips, I tried twice to post the link. Go to remedy games’s website and click on Northlight Engine, that has most of the videos on various blog posts

  • @HarbAlarm
    @HarbAlarm 2 месяца назад +488

    watching this as someone who makes vrc assets
    wait why aren't we using .usd everywhere?
    "usd currently cannot describe rigs"
    ..ah that's why

    • @Technoyote
      @Technoyote 2 месяца назад +142

      Pixar did this intentionally - USD is one half of their file pipeline. The other half, for rigging and animation, is kept closely internal.

    • @kotofelius
      @kotofelius 2 месяца назад +26

      Yeah, but USDZ (USD) is supporting skeletal animation.

    • @Devieus
      @Devieus 2 месяца назад +6

      I suppose you can still use it for worlds at least

    • @mugnuz
      @mugnuz 2 месяца назад +32

      workaround:
      just do a .usd file for every frame and you can make animations
      maybe its done before you die

    • @kotofelius
      @kotofelius 2 месяца назад +11

      @@mugnuz Why do people keep saying that USD doesn't support skeleton animation? It does, and I've been creating animated USDZ characters for years.

  • @Ramash440
    @Ramash440 2 месяца назад +58

    Actually not knowing something when a video is titled "X You've never heard of" is the death of my ego. 99% of the time it's clickbait where they're just talking about something everyone knows of and I get to be a smug prick about it.

  • @moe4b
    @moe4b 2 месяца назад +834

    "If it finishes before you die then it's fine"
    Is a mantra fitting for Python programming

    • @gorak9000
      @gorak9000 2 месяца назад +50

      Python isn't fast, but if it's that slow, you're just a bad python programmer. I find it hilarious that one of main mantras of python is "there should be only one way to do things", but everything in python can actually be done 9 different ways, 8 of them are obvious and slow as f, and one is obscure, but fast(er)

    • @Dalauan_Sparrow
      @Dalauan_Sparrow 2 месяца назад

      ​@@gorak9000python is slower than everything else

    • @jan_harald
      @jan_harald 2 месяца назад +1

      @@gorak9000 you make python fast, by cheating*!
      *cheating by just offloading the actual computation part to C code, and using CFFI to import the result back to python-land

    • @javabeanz8549
      @javabeanz8549 2 месяца назад +5

      From what I have read, there are now compilers for Python, giving a nice speed boost. I don't know about compatibility though.

    • @gorak9000
      @gorak9000 2 месяца назад

      @@javabeanz8549 hmm, I looked it up, seems it's called codon, and it looks pretty sweet! Thanks for that!

  • @Epsilous
    @Epsilous 2 месяца назад +58

    I'm not a 3D dev, but seeing open-source standardization like this is really exciting. Much love to the talented people working to make development more accessible, universal, and user-friendly!

  • @TarcisMoreda
    @TarcisMoreda 2 месяца назад +486

    uhm ackshually 🤓 the api is in c++ with python bindings

    • @mduardo
      @mduardo 2 месяца назад +29

      You could theoretically write bindings quite easily for any language with C++ interop (Zig, Swift, Nim, Rust).

    • @andrewlalis
      @andrewlalis 2 месяца назад +1

      @@mduardo D

    • @bosch5303
      @bosch5303 2 месяца назад +3

      @@andrewlalis F#

    • @cerulity32k
      @cerulity32k 2 месяца назад

      ​@@bosch5303c#

    • @puppergump4117
      @puppergump4117 2 месяца назад +24

      Python is based in c/cpp so it's all cpp until proven otherwise

  • @PajamaMan_
    @PajamaMan_ 2 месяца назад +454

    I fucking love it when he goes "But Acerola..!"

    • @Stalthdan
      @Stalthdan 2 месяца назад +59

      I miss the accompanying drooling cartoon depiction of his audience :D

    • @Acerola_t
      @Acerola_t  2 месяца назад +215

      that guy wasn't drooling he was getting sloppy toppy i'm afraid

    • @mktj1
      @mktj1 2 месяца назад +14

      @@Acerola_t even better

    • @eth3792
      @eth3792 2 месяца назад

      But Acerola,,, that kills people!

    • @bluepulse615
      @bluepulse615 2 месяца назад +23

      @@Acerola_tAfraid of what? Do not be scared.

  • @apolo399
    @apolo399 2 месяца назад +23

    7:20 A small correction: right-handed and left-handed coordinates are actually the opposite of what's shown in this video. Handedness isn't about what axis points up but about the relationship between the axes.

  • @theo8305
    @theo8305 2 месяца назад +590

    The strategy to keep us entertained on the sponsor segment with your cat worked on me, get your free ad money

    • @egonzalez4294
      @egonzalez4294 2 месяца назад +14

      FFS, indeed; that was brilliant.
      Wait...

    • @PotatoPatatoVonSpudsworth
      @PotatoPatatoVonSpudsworth 2 месяца назад +5

      I mean... the money ain't FREE, it's compensation for services rendered. It'd only be free ad money if they got paid despite never showing an ad.

    • @scrung
      @scrung 2 месяца назад +5

      @@PotatoPatatoVonSpudsworthok

    • @theseangle
      @theseangle 2 месяца назад

      ​@@egonzalez4294😂

  • @JamesR624
    @JamesR624 2 месяца назад +195

    0:50 _gasp_ Apple and Nvidia working *together* on something?!?!

    • @Tr4ns1st0r
      @Tr4ns1st0r 2 месяца назад +13

      Haven’t seen this since High Sierra!

    • @veemyu
      @veemyu 2 месяца назад +5

      You’re probably still waiting for NVIDIA Web Drivers for Mojave :D

    • @Tr4ns1st0r
      @Tr4ns1st0r 2 месяца назад +5

      @@veemyu Some madman got them working on Monterey. It’s insane.

    • @milktoast56
      @milktoast56 2 месяца назад

      ​@@Tr4ns1st0rOCLP root patching can get you webdrivers on Sonoma, however the lack of Metal support is mid

    • @HaryanviKashmiri
      @HaryanviKashmiri 2 месяца назад +2

      @@veemyumojave was such a legendary version for macos

  • @rismosch
    @rismosch 2 месяца назад +106

    7:14 correction: in a z-up right handed coordinate system, y points away from the viewer. take your right hand, point your thumb (x) to the right and your pointer finger (y) away from you, and you'll see that your middle finger (z) points up. In Unitys left handed y up coordinate system, z points away from the viewer.

    • @inv41id
      @inv41id 2 месяца назад +11

      Alternatively you can think of the index finger as X, the middle finger as Y, and the thumb as Z (I personally prefer it this way)

    • @chunkspiggle3916
      @chunkspiggle3916 2 месяца назад

      🤓

    • @AngleSideSideThm
      @AngleSideSideThm 2 месяца назад +9

      I came to the comments to say this as well

    • @pipichi8441
      @pipichi8441 2 месяца назад +13

      100% engineer/physics pilled moment. I immediately raised my right hand when i saw that shit and was like "whaa?"

    • @volbla
      @volbla 2 месяца назад +9

      Studying physics in uni we were dissuaded from the classic right hand rule and encouraged to use the thumb rule instead (which still depends on which hand you use... but the convention is right). If you curl your fingers from the first axis towards the second axis, your thumb will point in the direction of the third axis.
      Maybe this is just habit, but i've come to feel this is easier to remember. Instead of making your hand into a strange shape, it's like you're just grabbing the z-axis and utilizing the natural directions of your fingers.

  • @orokro_stuff
    @orokro_stuff 2 месяца назад +30

    Since you're a shader guy, I would appreciate a followup video where you show how to author a shader and it's material instances entirely inside USD, and then have it appear in Unity or Unreal or wherever.
    IMO using mesh generation as an example application of USD really misses the mark and undersells it. 20 years ago I wrote code to generate OBJ files procedurally, because OBJ is a really easy format to generate to store verts, faces, normals, etc.
    In my mind, the powerful thing about USD is the non-geometry features, so I would like to see you cover it from that perspective.

    • @darrennew8211
      @darrennew8211 2 месяца назад +5

      20 years ago I was outputting POV-Ray source code. :-)

  • @DarkPortall
    @DarkPortall 2 месяца назад +45

    0:14 he says unify yet shows an intersection. who are you, really, acerola?

    • @mugnuz
      @mugnuz 2 месяца назад +1

      hes into graphics stuff...
      its all about perspective!
      from one view its an intersection.
      from the other side its a funnel! ;D

  • @nilaksh007
    @nilaksh007 2 месяца назад +18

    4:30 having a cat video play during a sponsor segment is so effective. NighHawkInLight also does something similar (plays with his parrot)

    • @an_asp
      @an_asp 2 месяца назад +1

      Yeah, that's the first example I saw of this technique. It's a very clever trick that works without making the ads more obtrusive. And since that makes this an objectively better way to do advertising, clearly the entire ad industry should be moving to this new cute animal standard.

    • @johnmanderson2060
      @johnmanderson2060 2 месяца назад

      Super smart and ❤

    • @LonelyShield
      @LonelyShield 29 дней назад

      Man, when Junes theme is playing there, i got instantly hooked up 😄

  • @fossoso
    @fossoso 2 месяца назад +275

    But Buffrola, how do I get them gains?
    I'm sorry

    • @Acerola_t
      @Acerola_t  2 месяца назад +178

      just go to the gym and eat food it was surprisingly that simple

    • @Sslack_
      @Sslack_ 2 месяца назад +5

      glad i am not the only one that thought that, nice gains :)

    • @MiriadCalibrumAstar
      @MiriadCalibrumAstar 2 месяца назад +11

      Veggies for dinner(always, to enter intermittent fasting and get rid of stubborn fat), protein based lunch and breakfast(meat, eggs, little of fish), cut carbs to a minimum(if you want to eat a pizza a week, go ahead reward yourself).
      For volume max 9+- reps; for stamina, strength and "leaniness" go fo 15+-; dont mix them in a fast pace, one week one and the next week the other. Surprisingly doing various sets doesnt do much, the one that gives more its the first one, its better be consistent than giving up so you can start at the first reps and adapt to it(dont go overboard, or youll give up by your own expectations).
      Good luck!

    • @kadebrockhausen
      @kadebrockhausen 2 месяца назад +2

      What if the gains I want are not the buff kind?

    • @MrMoon-hy6pn
      @MrMoon-hy6pn 2 месяца назад +8

      Ace-swole-a?

  • @bboysil
    @bboysil 2 месяца назад +10

    I've been doing game dev 10+ years ago, never heard of USD until I worked with it at Microsoft 3 years ago. After that, I've seen it everywhere.

  • @3DperspectiveJS
    @3DperspectiveJS 2 месяца назад +35

    YT recommended this video and I instantly clicked because of the title. As soon as I started watching the video I went, "Isn't that the grass guy?" from your video about how games render so much grass from 2 years ago lol. I guess you are just super unforgettable. Nice video btw.

  • @binary_gaming113
    @binary_gaming113 2 месяца назад +23

    I think you got the handedness wrong at 7:13, that's not how my right hand works

    • @IONATVS
      @IONATVS 2 месяца назад +3

      yeah they definitely either got their handedness backwards or mixed up the “into” vs “out of” the screen description.

    • @abdwyer
      @abdwyer 2 месяца назад

      Came here to see this or say this. Right handed +Z up is +Y away. Coord frames are hard.

  • @Ryhon
    @Ryhon 2 месяца назад +455

    GLTF came out 8 years ago and we thought it would be the universal standard. Pixar released USD and seemingly everyone jumped on the hype train and forgot about GLTF and now there's 2 competing standards

    • @turquoise7817
      @turquoise7817 2 месяца назад +244

      we should make another, newer, more complete standard that combines the two

    • @krank23
      @krank23 2 месяца назад

      @@turquoise7817 One that cover everyone's use cases! #xkcd

    • @Energyxxer
      @Energyxxer 2 месяца назад +214

      @@turquoise7817 Situation: There are 3 competing standards

    • @LetrixAR
      @LetrixAR 2 месяца назад +8

      Never heard of it

    • @DreadKyller
      @DreadKyller 2 месяца назад +180

      They're really not that comparable. GLTF is more of a transmission format while OpenUSD is more of an interoperability format that targets large-scale entire scene data in a way that makes collaborative editing easier. A comparison I've seen a lot of is OpenUSD is to PSD as GLTF is to JPEG/PNG, you likely wouldn't ship the product using OpenUSD, but OpenUSD contains a lot more functionality and data than GLTF and thus has added value during the creation of the product.
      GLTF has it's advantage in the realtime rendering and loading aspect of a game, while OpenUSD has it's main value in the production pipeline, while both represent collections of objects and data, that serve different purposes. It wouldn't be uncommon to see people develop a game in OpenUSD, then convert to GLTF for distribution.

  • @pbentesio
    @pbentesio 2 месяца назад +72

    Hold up. They have a physics API but can't describe rigs yet? :/

    • @Acerola_t
      @Acerola_t  2 месяца назад +73

      that's cause the physics api is way simpler than a standardized rig description

    • @TheCrewExpendable
      @TheCrewExpendable 2 месяца назад +26

      Yes the physics API is super super simple. You are basically just annotating objects with the bare minimum number of properties needed for rigid body physics. So collider shapes, mass, etc.
      Also USD does not provide a specification or handle the actual physics simulation. I.e. there is no physics engine. Thats on the developer to implement in their software that is consuming the USD.

    • @fothsid
      @fothsid 2 месяца назад +9

      ​@Acerola_t for real though, trying to export/import rigs from an older game for modding made me hate every single general purpose 3d model/rig file format that exists

    • @MadsterV
      @MadsterV 2 месяца назад +5

      @@TheCrewExpendable Thanks! I was wondering how that "it supports physics" worked. So it supports describing initial conditions, not running the simulation.

    • @32BitJunkie
      @32BitJunkie 2 месяца назад

      Naw this is a deal breaker. FBX exports and mesh gen scripts in random software remains superior

  • @leotaku5216
    @leotaku5216 2 месяца назад +29

    14:48 Interesting, I remember you talking about Godot not really having the support for the graphics-heavy stuff you want to do a while back. Has something changed in that regard?

    • @Acerola_t
      @Acerola_t  2 месяца назад +51

      yeah unity continues to nose dive at every single turn and godot only keeps accelerating -- I want to provide value to my community, and I don't think that's with unity anymore

  • @WeaselOnaStick
    @WeaselOnaStick 2 месяца назад +33

    Funny coincidence, as Godot just recently released 4.3 update featuring improved FBX support instead. Understandably so, since rigging is very important

    • @sirdiff1
      @sirdiff1 2 месяца назад +8

      Skeletal meshes are supported in USD by the way, just like they are in FBX. I think the missing rig definition he is talking about is the actual whole rig with controls and deformers. This means you can bake your animation on the skeleton in maya and export it wherever you want, but not export the whole rig from Maya and animate it wherever you want

    • @jeffwells641
      @jeffwells641 2 месяца назад +3

      @@sirdiff1 That was my reading too. The UsdSkel documentation even says it is not a general rigging format, and it sounds like it never will be.

  • @AltName7
    @AltName7 2 месяца назад +14

    2:40 Funny thing about this. OpenUSD doesn't support rigs because, actually, no software has ever supported rigs. So this is still a universal ideal.

    • @andymorin9163
      @andymorin9163 2 месяца назад +2

      what? glTF supports rigging, meshes, textures, scenes, and a whole lot more

  • @SuboptimalEng
    @SuboptimalEng 2 месяца назад +19

    Acerola about to make massive USD from getting me to watch the entire ad. Brilliant move 😎

  • @pleb_guy
    @pleb_guy Месяц назад +1

    4:02 best way to stop people from skipping ads

  • @hughjanes4883
    @hughjanes4883 2 месяца назад +11

    3 shader formats for the rendering kings under the sky
    7 texture formats for the sculpting lords in their halls of tablets
    9 model formats for outdated engines doomed to die
    One format for the dark animatiors on their dark chairs
    In the land of pixar where the shadows lie
    One format to rule them all, one format to find them
    One format to bring them all, and in the darkness bind them
    In the land of pixar where the shadows lie

  • @Cridder
    @Cridder 2 месяца назад +56

    I would love to see this for Godot.

    • @PySnek
      @PySnek 2 месяца назад +8

      Just use GLTF like we did for years now

    • @micmacha
      @micmacha 2 месяца назад +3

      There's a push for it, and I think some people are poking at it. GLtf does most of the same more efficiently, and on roughly the same standards, though, so I'm not too worried about it.

    • @ImNotGam
      @ImNotGam 2 месяца назад +1

      Assemble the nerds and it'll happen.

    • @askeladden450
      @askeladden450 2 месяца назад

      ​@@PySnekdifferent use case. USD will be more of a replacement to the Godot scenes. Ofcourse you CAN uae gltf for scene authoring, but USD fits the purpose much better.

    • @PySnek
      @PySnek 2 месяца назад

      @@askeladden450 Than just update FLtf to cover scenes instead of putting so much effort in a new standard... I just don't get it and it's always the same story.

  • @miachristensen5444
    @miachristensen5444 2 месяца назад +11

    dude acerola moving to godot would make me soooooooooooo pogged out my gourd

  • @XCanG
    @XCanG 2 месяца назад +5

    Since you specifically pointing out about ".append()" in the python code, you can use ".extend()" to append multiple values at once on 1 line.

  • @thortroy4627
    @thortroy4627 2 месяца назад +64

    Would love Godot support, sounds pretty nice

    • @DsiPro1000
      @DsiPro1000 2 месяца назад +3

      That’s on Godot to implement I think

    • @ImNotGam
      @ImNotGam 2 месяца назад +1

      It's on the community. If someone implements it, it will get implemented.

  • @jacobhilbert856
    @jacobhilbert856 2 месяца назад +2

    This is the first brilliant ad that I didn't skip. Your cat is the best.

  • @Bluelightzero
    @Bluelightzero 2 месяца назад +53

    2:15 I can't be the only one to hear it.

  • @Nosferatu-_-
    @Nosferatu-_- 2 месяца назад +66

    The cat in the ad always works

  • @HannahMadge
    @HannahMadge 2 месяца назад +3

    Wisdom is knowing what to do next; Skill is knowing how ot do it, and Virtue is doing it.

  • @texloch1401
    @texloch1401 29 дней назад

    Not gonna lie, your intro/title screen animation style is probably the cleanest I've ever seen.

  • @1.4142
    @1.4142 2 месяца назад +6

    2:15 missed opportunity

  • @ashdotpy
    @ashdotpy 2 месяца назад +2

    2.5 years of python and OpenUSD and this is hands down the best explanation I’ve seen

  • @tuxino
    @tuxino 2 месяца назад +103

    My brain is weird. When you said "per vertex data", my brain refused to hear anything other than "pervert ex-data".

    • @xinaesthetic
      @xinaesthetic 2 месяца назад +4

      I read your comment at just the right moment as he said that.

    • @banaia5455
      @banaia5455 2 месяца назад +3

      Thanks, I will never be able to unhear that now

    • @TheoParis
      @TheoParis 2 месяца назад +2

      ​@@banaia5455😂

  • @InfoDisco
    @InfoDisco 2 месяца назад

    Your videos really keep coming around at the perfect time for me! I'm building a 3D "Engine" ontop GameMaker Studio 1.4 and have just finished my PBR shader. I found myself writing a custom set of scripts to delineate surface material values, and every time I re-invent the wheel like this I ask myself: "How is everyone ELSE doing this?" Sometimes It's actually a bit comforting to know that -up until recently- everyone was just ramshackling their own solutions together just like I did.

    • @dawid035
      @dawid035 2 месяца назад

      Working with Game Maker Studio 1.4? Impressive. I think someone did make a 3D engine in the past, know it's a lot of work so good luck for you there!

  • @Bvic3
    @Bvic3 2 месяца назад +14

    I feel like reading the XKCD cartoon about adding one more universal format to end all formats!
    I think innovation is too dynamic and CGI too complex for all use cases to be compatible with a single data format.
    It can only be like Word vs Libre Office Write files. Roughly compatible, but tons of small implementation differences and some data that doesn't fit and is lost.

    • @terra_creeper
      @terra_creeper 2 месяца назад +3

      It doesn't have to cover all possible usecases though. Simply providing a format that covers most basic concepts and is understood by all programs is already incredibly useful. You can still have program-specific usecases (like the displacement shader in the video) and having this standard is still worth it, since you can very easily maintain complex pipelines with it.
      Also while the xkcd comic is funny, I don't like it that much as actual advice. Yes, it means that there is another standard, but that by itself means nothing. How useful a standard is, is not defined by how many standards there are, but how many people support that standard. If many tool developers are all using their own standard or are unhappy with existing ones, collectively creating a new one is the only logical choice.

    • @rogo7330
      @rogo7330 2 месяца назад

      The main win for everyone (except weirdos who thought that proprietary .DOC format was better or something) is that all those files just ZIP with XML inside. It's trivial to open and parse. They are full of garbage and very strange metadata about your computer though, so be carefull about privacy and don't send those files in default configuration thinking you're anonymous.

    • @darrennew8211
      @darrennew8211 2 месяца назад

      @@rogo7330 The DOC format *was* better when you're saving files to floppies and such.

    • @jeffwells641
      @jeffwells641 2 месяца назад +2

      @@rogo7330 DOC wasn't even that bad. PDF is what really blows my mind. It hasn't made sense to use PDF as a sharable document format in almost two decades, yet it's STILL the standard document format on the web. It does everything wrong, literally everything, for sharing and collaborating over the web. Wrapped HTML is a better file format. Sure, if you're sending a document off to a publisher that is meant to be turned into a book or something, ok, use a PDF, but why the F would you share your grandmother's chicken pot pie recipe as a PDF?

  • @Technoyote
    @Technoyote 2 месяца назад +1

    Working with USD in Houdini Solaris is absolutely top tier. It's like a control panel for your entire CG pipeline

  • @Gigageorge
    @Gigageorge 2 месяца назад +22

    Idk if you have been getting this a lot but you have been getting JACKED over the past couple of videos, keep it up!

    • @randomnessnecesity9627
      @randomnessnecesity9627 2 месяца назад +1

      I knew I wasn’t the only one to notice, good job mr Rola!

    • @jorge69696
      @jorge69696 2 месяца назад +2

      He is getting tessellated.

    • @luipaardprint
      @luipaardprint 2 месяца назад +2

      It’s a height displacement map.

  • @AdrianAzizSantoso-gq7rw
    @AdrianAzizSantoso-gq7rw 15 дней назад +1

    A .usd file is a Universal Scene Description (USD) file, which is a 3D computer graphics format that stores information about 3D elements like scene layout, animations, and model geometry. USD is an open-source framework that's used in many industries, including visual effects, architecture, and robotics.

  • @spaghettiman512
    @spaghettiman512 2 месяца назад +9

    Oh what a Monday to start off with an Acerola video on an extremely niche topic I've never heard before!

  • @Kevin-jb2pv
    @Kevin-jb2pv 2 месяца назад +2

    I hate it when developers get annoyed at people calling something a "file format" when there is no a better word available and when it essentially _functions_ like a file format as far as the end user is concerned.

  • @jmvr
    @jmvr 2 месяца назад +5

    Apparently the reason why they haven't implemented USD support already is because the USD format is huge, which is why they'd prefer to implement it as a plugin rather than built-in.

  • @westwolf48
    @westwolf48 2 месяца назад +1

    I normally don't watch advertisements, but the kitty cam tricked me into watching through the whole thing.

  • @Azeria
    @Azeria 2 месяца назад +6

    My experience clicking on this video was something like this:
    “Ah finally my VFX degree comes in use, they must be talking about FBX”
    “OpenUSD”
    “Ah, bollocks”

  • @nodrance
    @nodrance 2 месяца назад +1

    I clicked the vid after reading the title. I expected JSON or CSV, but this channel is a few steps above that

  • @gravity_mxk5663
    @gravity_mxk5663 2 месяца назад +15

    The vertices of bros biceps have been displaced along their normals.

  • @Kavukamari
    @Kavukamari 2 месяца назад +2

    "an exact copy"
    I am staring at the rotated triangulation edge judgingly

  • @creamedice667
    @creamedice667 2 месяца назад +42

    but acerola,

  • @MrSzybciutki
    @MrSzybciutki 8 дней назад

    7:20 that's the left hand coordinate system you're describing.
    Curl your left or right hand with the thumb sticking out, as if you were giving a thumbs up👍 to someone. The four curled fingers show the shorter directed angle from OX to OY half-axis, and the thumb points to where the OZ half-axis should be. If it's the right handed coordinate system, then the right hand will show the OZ half-axis, if it's the left handed coordinate system, then the left hand will show the OZ half-axis

  • @fuzzyfuzzyfungus
    @fuzzyfuzzyfungus 2 месяца назад +5

    I see that the standard has various extension mechanisms. Probably necessary, given the functional impossibility of covering everyone's use case; but the sort of thing that makes you a trifle nervous about interoperability in practice.
    Are the tools that support the standard pretty good about sticking to a well-formed core of mutual understanding; or do you run into a pretty significant risk of finding opaque vendor blobs that are 'standard' in the sense that they obey the standard's specifications for embedding and talking about arbitrary blobs; but more or less profoundly unhelpful if you are trying to interact with output from certain tools; or move between tools with their own opinions on vendor specific formats?
    I'm think of the (admittedly much more beige and blandly corporate) instance of when office documents largely went from the old binary formats to the new-hotness 'open' it's-just-a-zip-file-with-XML-isn't-that-great; but documents that were nothing but a bunch of OLE blobs that couldn't even be moved between computers with different OLE handlers; much less cross-platform, were technically 'open' so long as the XML telling you that the thing was just rammed full of blobs was well formed); or the...unfortunate...discrepancies you can run into between PDF as in ISO 19005 and 'PDF' as in whatever Acrobat feels entitled to emit.

    • @Acerola_t
      @Acerola_t  2 месяца назад +2

      it's all diff representations of the same data, .usd is raw, .usda is an ascii representation so you can write it like html, and .usdz is a zip

    • @noedem1690
      @noedem1690 2 месяца назад

      ​​@@Acerola_ttechnically .usdc is the binary format ("crate") and .usd can contain any .usdX format (usually usdc)

  • @IKEASoderhamnSectional4-seat
    @IKEASoderhamnSectional4-seat 2 месяца назад +1

    The cat video during the ad read actually worked on me to listen through the whole thing 😭

  • @ScibbieGames
    @ScibbieGames 2 месяца назад +3

    Imagine instead of getting a screenshot, you get a baked, barely reusable openusd file.
    It would be a really neat gimmick

  • @yeong126
    @yeong126 2 месяца назад +2

    Putting a cat video side by side in the sponsor section is such a great idea

  • @sauriak8286
    @sauriak8286 2 месяца назад +3

    USD - Check
    Let's wait for Open-EXR, OpencolorIO, etc 😉
    Many thanks for your educationnal standard which is a grace and a pleasure to watch.

  • @andyglovergames
    @andyglovergames 2 месяца назад

    you had me at "the material data, which is the instantiation of a shader, which also encapsulates texture references and arbitrary shader uniform data"
    very detailed and interesting video, thank you! great to learn about USD

  • @codemyster
    @codemyster 2 месяца назад +3

    5:46 That plane example was too real.

  • @JeSuisNerd
    @JeSuisNerd 2 месяца назад

    It's crazy how much my music taste overlaps with my absolute favorite youtubers. Acerola here with the Mother Mother shirt, Technology Connections reps TMBG merch a bunch, all is right in the world.

  • @letronix6243
    @letronix6243 2 месяца назад +18

    I knew it. Opus is the best file format!

    • @AnimeUniverseDE
      @AnimeUniverseDE 2 месяца назад +1

      It's kinda crazy how efficient Opus is

    • @24wherath36
      @24wherath36 2 месяца назад +3

      @@AnimeUniverseDE It's also kinda crazy how complicated it is as well. It literally has multiple neural networks build INTO the format.

    • @rvft
      @rvft 2 месяца назад +2

      isn't opus an audio format? (I'm not a 3d artist)

    • @AnimeUniverseDE
      @AnimeUniverseDE 2 месяца назад

      @@rvft yes

    • @nope.0.
      @nope.0. 2 месяца назад

      ​@@24wherath36I did a quick search through the (150 page+) RFC and couldn't find reference to neural networks.
      I think they are optional in the reference implementation to handle switching between the encoder modes and packet loss, but not strictly essential?

  • @madeyourmark
    @madeyourmark 2 месяца назад +1

    Cat video on the side is a *brilliant* way to stop me from skipping the sponsor segment, good stuff

  • @yonicstudios
    @yonicstudios 2 месяца назад +5

    Acerola: OpenUSD has been a standard for the past 8 years and everyone uses it
    Unity: USD Experimental Package for Unity
    Yeeeep that's classic Unity for ya

  • @MoiraHarte
    @MoiraHarte 2 месяца назад +1

    Give whatever you are doing and whoever you are with the gift of your attention.

  • @erikm9768
    @erikm9768 2 месяца назад +34

    No one-man gamedev studio will benefit from USD. It's made for studios and pipeline integration across large organizations.

    • @rogo7330
      @rogo7330 2 месяца назад +21

      At least it is not bound to the particullar tool you are using.

    • @sirdiff1
      @sirdiff1 2 месяца назад +5

      @@rogo7330 true, but its "universality" is not really set in stone, every software supports it in a slightly different way, resulting in files that often just dont work right in other DCCs unless custom pipeline tools are used for import/export, which means a possibly slower workflow for a one-man studio AND it working correctly in a single software only. Not to mention the lack of rig support, the lackluster materials implementation in most software (check out materialx as well) and the multiple possible workflows and composition arcs that can break extremely easily if not fully supported everywhere. There is still a long way to go, but I am looking forward to it.

    • @chriss3404
      @chriss3404 2 месяца назад +1

      Yeah, I wouldn't really expect a newer standard to have great support out of the gate. Eventually information on how to do USD right should make it's way around and some useful tools for indie devs will emerge if investment continues at the large org level.
      In particular for individual devs, USD could really improve workflows around porting from one engine to another. That would already be very exciting, even if things need to be fixed after being imported.

  • @Iamaxelhuerta
    @Iamaxelhuerta 2 месяца назад

    i usually skip sponsors, but the cat clip was effective,it made me watch the whole sponsor

  • @fluffy_tail4365
    @fluffy_tail4365 2 месяца назад +3

    So wait it would be super cool for it to be used to export 3D screenshots of a game.... especially for emulators.

    • @pacomatic9833
      @pacomatic9833 2 месяца назад +5

      Even attempting to do that is nothing but daunting.

    • @Acerola_t
      @Acerola_t  2 месяца назад +4

      that's effectively what a frame capture is, I wonder if nvidia nsight is lookin to do that

    • @MichaelPohoreski
      @MichaelPohoreski 2 месяца назад

      @@Acerola_tYou sort of already can do this in Nvidia Insight. There is an option to generate/export a C++ file and all binary data (shaders, textures) for that frame.

    • @TinyLittleEnormous
      @TinyLittleEnormous 2 месяца назад +1

      Laughs in render doc …

  • @_mosesb
    @_mosesb 2 месяца назад

    i came for a simple file format and was blown away by the versatility of OpenUSD by the end.

  • @ethanbuttazzi2602
    @ethanbuttazzi2602 2 месяца назад +8

    8:02, actually its a list of tuples, python arrays dont use [], and you have to import a specific library to use them, small detail, but i thought i should note it.

    • @volbla
      @volbla 2 месяца назад +1

      Eh, "list" is basically python's name for arrays. Even though it also has something different that it calls "array", but i don't know what the difference is because i don't think i've ever used it 🤷‍♂️
      Do arrays only contain one data type?

    • @ethanbuttazzi2602
      @ethanbuttazzi2602 2 месяца назад

      @@volbla lists are very different from array, for starters they only contain one data type, and they have a fixed lenght that cannot be changed after it was initialized.

    • @volbla
      @volbla 2 месяца назад

      @@ethanbuttazzi2602 Ok, you're right. But in this example there is no practical difference, so i think few people will care about the technical difference.

    • @ethanbuttazzi2602
      @ethanbuttazzi2602 2 месяца назад +2

      @@volbla thats why i said little detail.

    • @volbla
      @volbla 2 месяца назад

      @@ethanbuttazzi2602 Fair :]

  • @TonyTheYouTuba
    @TonyTheYouTuba 2 месяца назад

    I had expected it to be EXR based on the title, but also thought maybe USD. Great overview with examples. Also thank you for never saying “softwares”.

  • @ByteNekos
    @ByteNekos 2 месяца назад +44

    Wake up babe new acerola video

    • @Grimnoire
      @Grimnoire 2 месяца назад +3

      Dude I'm tired of the 'wake up babe' RUclips comment meta, can we move to the next one already?

    • @metaphysical_anachronism
      @metaphysical_anachronism 2 месяца назад +3

      @@Grimnoire WE MOVING TO THE NEXT ONE ALREADY WITH THIS ONE❗‼️🗣️🗣️🗣️🔥🔥🔥💥💥

    • @zeta3341
      @zeta3341 2 месяца назад +3

      BUT ACEROLA-

    • @TimeTravelingFetus
      @TimeTravelingFetus 2 месяца назад

      Turn on the tv, doesn't matter what channel

    • @Grimnoire
      @Grimnoire 2 месяца назад

      @@metaphysical_anachronism ah yeah, that's better thank you.

  • @wileymonair
    @wileymonair 2 месяца назад

    Using the cat to retain audience through your sponsor spot worked on me ❤️

  • @mcrode
    @mcrode 2 месяца назад +8

    "USD currently cannot describe rigs" excuse me what? you sure about that? skeletal meshes with "bone-transformations" are not in this exchange format supported by the entire VFX/Games industry? I would be really surprised

    • @jeffwells641
      @jeffwells641 2 месяца назад +4

      I'm not sure exactly what Acerola means when he says this, but what I've found is there is a module for describing rigs (UsdSkel), but it doesn't allow for any complex behaviors or anything like that. The UsdSkel documentation specifically says it's not intended for general rigging. So basically you could share the skeleton itself in a model, but not any of the rigging behaviors you would want to describe.

    • @Luijeee
      @Luijeee 2 месяца назад +1

      you can describe basic skinning weights to a skeleton like just like fbx, but not complex rigs with various deformation methods / blendshape / how they are connected to control shapes etc

    • @blarghblargh
      @blarghblargh 2 месяца назад

      ​@@Luijeee if you were to use USD for the scene, is there a way for it to reference an external file for that information? And is there any open source format that sufficiently covers such things for rigs?

    • @InsaneAudioMediaJunk
      @InsaneAudioMediaJunk 2 месяца назад +2

      @@blarghblargh in film production where characters aren’t just deformed by classical rigs but likely have simulated hair, cloth, and muscles/tissue you would use vertex cache animation at the layout stage anyways - changing animation would mean a round trip back to your animation pipeline. I imagine USD’s layering feature would allow the animators to easily load the current environment part of the scene into their animation scene for reference if they want to. Even FBX doesn’t enable full character exchange after a certain complexity. FBX style characters with rigs are more relevant to game devs, so I guess it is not high on Pixar’s list.

    • @blarghblargh
      @blarghblargh 2 месяца назад

      @@InsaneAudioMediaJunk sure I can understand why film companies would have different priorities than game devs, because they have multiple orders of magnitude more novel animation, and need to better support those use cases. Plus they've put in hundreds of thousands of hours into their custom tooling, if not millions.
      I just do game dev, so that isn't exactly why I'm asking or what I'm asking about though.
      I have only done basic skinned animation, ragdoll rigging, and hacky simple blend shapes based on diffs of models. I haven't worked with hair, clothing, or other secondary animation like bouncing satchels or jiggle physics (except for some simple custom scripted IK stuff on tagged bones). So I am curious what there even is in games, beyond simple cases, that I haven't thought about, and what is supported by generic formats (or even open source formats) and doesn't require going to some sort of custom solution (even just to annotate).

  • @fishyswirlgaming5741
    @fishyswirlgaming5741 2 месяца назад +1

    I know this is just supposed to be a simple introduction, but I still cannot comprehend it.

  • @UsatiyNyan
    @UsatiyNyan 2 месяца назад +4

    I’ve akshchually heard about it, and written converters to/from internal formats in C++! The PXR library is the goat, but in “corporate” situation, their “library loaders” kinda suck, so feel free to ask questions!

  • @hicoop
    @hicoop 2 месяца назад

    Awesome video, procedurally generated 3d items that can be imported in any editor sounds like a dream

  • @HubertMikaProductions
    @HubertMikaProductions 2 месяца назад +3

    Meanwhile in Unreal: Built-in Modelling Tools 🙏

  • @BNWilliamGaming
    @BNWilliamGaming 2 месяца назад +1

    You GENIUS!!! You made me watch the sponsored segment via cat!

  • @crolex6443
    @crolex6443 2 месяца назад +40

    Why is openUsd better than lets say gltf?

    • @YannSchmidt
      @YannSchmidt 2 месяца назад +19

      OpenUSD is heavyweight. Gltf is lightweigth. Gltf is prefered for the web for example. I think openUSD is better used for whole movie production, or other things of this scale.

    • @kamazooliy
      @kamazooliy 2 месяца назад +7

      USD is philosophy* of CG file organization that happens to use .usd as a file format. GLTB/GLTF is an alternative file format for CG workflows. USD can have fbx, obj, glbtf as fileformats.They can just be organised better using USD workflows.

    • @Selsato
      @Selsato 2 месяца назад +4

      Ok so I've built my own raytraced renderer, for which I implemented gltf for scene import.
      The standard is old and outdated, only barely functioning via extensions. It's material support is extremely poor and frustrating. It is also NOT a scene descriptor, it is an OBJECT descriptor, thus it has no support for environment maps and other useful scene metadata.
      I spent more time working around it's ridiculous flaws than it would have taken me to implement USD compatability. Terrible standard, avoid it like the plague.

    • @AdamScottPersonnel
      @AdamScottPersonnel 2 месяца назад +1

      @@Selsato GLTF1 or 2?

    • @Selsato
      @Selsato 2 месяца назад +1

      @@AdamScottPersonnel gltf 2.0

  • @MichaelRainabbaRichardson
    @MichaelRainabbaRichardson 2 месяца назад +1

    At 08:21 and chuckling as I remember building my own file format to support a wireframe rendering engine I built using QBasic 4.5 on DOS 6. It was nothing but a set of vertices, then a set of pairs that defined which vertices should have lines drawn between them. 😊

  • @nomadshiba
    @nomadshiba 2 месяца назад +4

    i would never touch python
    but im sure there will be libraries for generating it with other languages

  • @pifopifo1000
    @pifopifo1000 2 месяца назад

    I swear, a new Acerola video is the pure entertainment I seek when I come home from work. There is nothing better!

  • @wlwgwlwgnomesarereal
    @wlwgwlwgnomesarereal Месяц назад +4

    1:20 oouhhhgggggmmmmm girl🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤

  • @sekiganxz
    @sekiganxz 2 месяца назад

    On one hand- using the cat to keep me watching the ad is genius. On the other hand, this has just made me aware that nobody can stop a youtuber from doing adverts next to subway surfers gameplay for similar effect...

  • @Feynt
    @Feynt 2 месяца назад +15

    2:42 - "But we won't be talking about that as USD currently cannot describe rigs." BOO! TRASH FORMAT!
    5:38 - It supports phucking physics properties but rigging is a bridge too far? Who's on this council, I have a new hit list to write...
    As a Godot user, I would prefer USD to be supported. As long as USD gets rig support. >V

  • @uncrunch398
    @uncrunch398 2 месяца назад

    This is probably the sanest way to open up your project to whatever help you can get, if you want it. Everybody can use their preferred platform and tools to work on the same data.

  • @aryajpegasus
    @aryajpegasus 2 месяца назад +10

    the fact tht it doesn't supoort rigging means you always need another format that doea support it.
    It can be a standard, but it can never be THE standard : (

    • @Acerola_t
      @Acerola_t  2 месяца назад +2

      i'm sure they'll figure out a solution to that eventually i mean just look at who's funding this stuff lol

    • @XtroTheArctic
      @XtroTheArctic 2 месяца назад +4

      @@Acerola_t If it didn't support rigging all this time, how did Pixar use it for all their character animations? Sounds very strange... :(

    • @fastlearner292
      @fastlearner292 2 месяца назад +1

      They are already working on adding rigging support, it's just updates on USD are slow. But it will be good from what I have seen on some presentations

    • @fastlearner292
      @fastlearner292 2 месяца назад +3

      ​@@XtroTheArcticwhat's stange about it? They bring in usd character mesh, then rig and animate it in their own proprietary software and then output a usd file. Easy peasy

    • @sirdiff1
      @sirdiff1 2 месяца назад +1

      @@fastlearner292 Not only. The USD file can also reference a Maya file without having to convert or import it, so you can import a USD scene from file that contains a Maya rig (which will only work in maya, but at least you dont need a separate import just for that)

  • @GunGryphon
    @GunGryphon 2 месяца назад

    I appreciate you explaining how the vertecies and tris are encoded, this gets me curious on how UV positions and custom normals are also stored.

  • @william383
    @william383 2 месяца назад +9

    gltf is better

  • @mariovelez578
    @mariovelez578 2 месяца назад

    As soon as I saw NVidia and Pixar in the thumbnail I knew it was gonna be about USD. Also cool thing about USD is it's stored in binary format, so it takes up less space. And, you can edit sections of the files at a time without having to open the whole file.

  • @harleyspeedthrust4013
    @harleyspeedthrust4013 2 месяца назад +3

    If the bounding box given in the usd file is used to cull objects, and the bounding box encloses the plane before the heightmap shader, then what happens when you orient the camera so that you're looking at the top of a mountain? Does it dissappear? Do you have to account for the future heightmap when defining the bounding box in the file?

  • @x-studios4244
    @x-studios4244 2 месяца назад

    Acerola is a lifelong Persona 3 fan, the Color Your Night from Reload at the very end was a pleasant surprise
    Interesting video as always, love learning this kind of stuff about graphics, the one that's as comprehandable as possible

  • @blanana_m
    @blanana_m 2 месяца назад +3

    But Acerola!