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.
@mktj13 ай бұрын
All I know is I hope Acerola earns lots of USD.
@SomeUsernameSomeoneElseTookIt3 ай бұрын
cat :)
@GloombertGoat3 ай бұрын
Putting the cat in the ad was a stroke of pure genius
@shadow_xts3 ай бұрын
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.glitched3 ай бұрын
But Acerola
@opalpersonal3 ай бұрын
"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."
@tamoozbr3 ай бұрын
That's what happens generally when that someone is Pixar
@NerdyWasTaken3 ай бұрын
or Google (webp & avif)
@mtarek20053 ай бұрын
there are 3 "universal" formats(obj, gltf, USD) and a bunch of widely supported formats, so comic still stands
@mtarek20053 ай бұрын
and Godot and three.js have the best gltf support out there
@Slushee3 ай бұрын
This is xkcd 927
@herosvicentegonzalez78723 ай бұрын
It's better than perfect, it's standardized!
@tealtxgr3 ай бұрын
Technology Connections reference? :O
@theexaustedslime3 ай бұрын
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.
@research4173 ай бұрын
@@theexaustedslime That's the norm for most software engineering jobs
@sultim75703 ай бұрын
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 🙂
@chriss34043 ай бұрын
@@sultim7570 Software is the gift that keeps on giving. A wellspring of infinite work!
@telerobotic3 ай бұрын
Transitioning to an ad with the cat on the side, is one heck of a technique for an engagement trap
@hiddendrifts3 ай бұрын
fr, i think this is the first time i've seen someone do smth like that
@eliasrosas23103 ай бұрын
it worked, im engaged
@darrennew82113 ай бұрын
He's channeling Louis Rossman.
@arnie96463 ай бұрын
I thought the cat was "Brilliant" hey what's in a name?
@ai_is_a_great_place3 ай бұрын
Not to be rude but I personally dislike cats so I always skip it 🙃
@absurdshroom3 ай бұрын
Apple embracing PIXAR's creation as a standard is surprising, until you remember it's PIXAR. You tried, Apple.
@davidzaydullin3 ай бұрын
apple embracing any standard is already surprising
@chidorirasenganz3 ай бұрын
@@davidzaydullinyeah they usually help create them like usbc and thunderbolt
@ThompYT3 ай бұрын
@@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!!!!
@chrisalex823 ай бұрын
@@davidzaydullinuntil they are forcee, like the eu 💯
@GypsumGeneration3 ай бұрын
Steve Jobs owned a significant portion of Pixar
@AliasA13 ай бұрын
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.
@anikan333 ай бұрын
Agreed, programmatically creating a mesh by specifying vertices and triangles is possible with something as ancient as the obj format
@HarbAlarm3 ай бұрын
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
@Technoyote3 ай бұрын
Pixar did this intentionally - USD is one half of their file pipeline. The other half, for rigging and animation, is kept closely internal.
@kotofelius3 ай бұрын
Yeah, but USDZ (USD) is supporting skeletal animation.
@Devieus3 ай бұрын
I suppose you can still use it for worlds at least
@mugnuz3 ай бұрын
workaround: just do a .usd file for every frame and you can make animations maybe its done before you die
@kotofelius3 ай бұрын
@@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.
@optic54713 ай бұрын
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
@Hecktic1173 ай бұрын
Can you link the videos? I’m invested now
@optic54713 ай бұрын
@@Hecktic117not sure what is up with KZbin, 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
@moe4b3 ай бұрын
"If it finishes before you die then it's fine" Is a mantra fitting for Python programming
@gorak90003 ай бұрын
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_Sparrow3 ай бұрын
@@gorak9000python is slower than everything else
@jan_harald3 ай бұрын
@@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
@javabeanz85493 ай бұрын
From what I have read, there are now compilers for Python, giving a nice speed boost. I don't know about compatibility though.
@gorak90003 ай бұрын
@@javabeanz8549 hmm, I looked it up, seems it's called codon, and it looks pretty sweet! Thanks for that!
@Epsilous3 ай бұрын
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!
@Ramash4403 ай бұрын
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.
@victorfunnymanАй бұрын
at least you get to know!
@PajamaMan_3 ай бұрын
I fucking love it when he goes "But Acerola..!"
@Stalthdan3 ай бұрын
I miss the accompanying drooling cartoon depiction of his audience :D
@Acerola_t3 ай бұрын
that guy wasn't drooling he was getting sloppy toppy i'm afraid
@mktj13 ай бұрын
@@Acerola_t even better
@eth37923 ай бұрын
But Acerola,,, that kills people!
@bluepulse6153 ай бұрын
@@Acerola_tAfraid of what? Do not be scared.
@apolo3993 ай бұрын
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.
@matthewparker927618 сағат бұрын
It confused me when he said that unity uses left handed coordinates, because that would make so many calculations wrong.
@TarcisMoreda3 ай бұрын
uhm ackshually 🤓 the api is in c++ with python bindings
@mduardo3 ай бұрын
You could theoretically write bindings quite easily for any language with C++ interop (Zig, Swift, Nim, Rust).
@andrewlalis3 ай бұрын
@@mduardo D
@bosch53033 ай бұрын
@@andrewlalis F#
@cerulity32k3 ай бұрын
@@bosch5303c#
@puppergump41173 ай бұрын
Python is based in c/cpp so it's all cpp until proven otherwise
@theo83053 ай бұрын
The strategy to keep us entertained on the sponsor segment with your cat worked on me, get your free ad money
@egonzalez42943 ай бұрын
FFS, indeed; that was brilliant. Wait...
@PotatoPatatoVonSpudsworth3 ай бұрын
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.
@scrung3 ай бұрын
@@PotatoPatatoVonSpudsworthok
@theseangle3 ай бұрын
@@egonzalez4294😂
@rismosch3 ай бұрын
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.
@inv41id3 ай бұрын
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)
@chunkspiggle39163 ай бұрын
🤓
@AngleSideSideThm3 ай бұрын
I came to the comments to say this as well
@pipichi84413 ай бұрын
100% engineer/physics pilled moment. I immediately raised my right hand when i saw that shit and was like "whaa?"
@volbla3 ай бұрын
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_stuff3 ай бұрын
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.
@darrennew82113 ай бұрын
20 years ago I was outputting POV-Ray source code. :-)
@Ryhon3 ай бұрын
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
@turquoise78173 ай бұрын
we should make another, newer, more complete standard that combines the two
@krank233 ай бұрын
@@turquoise7817 One that cover everyone's use cases! #xkcd
@Energyxxer3 ай бұрын
@@turquoise7817 Situation: There are 3 competing standards
@LetrixAR3 ай бұрын
Never heard of it
@DreadKyller3 ай бұрын
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.
@JamesR6243 ай бұрын
0:50 _gasp_ Apple and Nvidia working *together* on something?!?!
@Tr4ns1st0r3 ай бұрын
Haven’t seen this since High Sierra!
@veemyu3 ай бұрын
You’re probably still waiting for NVIDIA Web Drivers for Mojave :D
@Tr4ns1st0r3 ай бұрын
@@veemyu Some madman got them working on Monterey. It’s insane.
@milktoast563 ай бұрын
@@Tr4ns1st0rOCLP root patching can get you webdrivers on Sonoma, however the lack of Metal support is mid
@HaryanviKashmiri3 ай бұрын
@@veemyumojave was such a legendary version for macos
@3DperspectiveJS3 ай бұрын
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.
@nilaksh0073 ай бұрын
4:30 having a cat video play during a sponsor segment is so effective. NighHawkInLight also does something similar (plays with his parrot)
@an_asp3 ай бұрын
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.
@johnmanderson20603 ай бұрын
Super smart and ❤
@LonelyShield2 ай бұрын
Man, when Junes theme is playing there, i got instantly hooked up 😄
@bboysil3 ай бұрын
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.
@leotaku52163 ай бұрын
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_t3 ай бұрын
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
@fossoso3 ай бұрын
But Buffrola, how do I get them gains? I'm sorry
@Acerola_t3 ай бұрын
just go to the gym and eat food it was surprisingly that simple
@Sslack_3 ай бұрын
glad i am not the only one that thought that, nice gains :)
@MiriadCalibrumAstar3 ай бұрын
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!
@kadebrockhausen3 ай бұрын
What if the gains I want are not the buff kind?
@MrMoon-hy6pn3 ай бұрын
Ace-swole-a?
@pbentesio3 ай бұрын
Hold up. They have a physics API but can't describe rigs yet? :/
@Acerola_t3 ай бұрын
that's cause the physics api is way simpler than a standardized rig description
@TheCrewExpendable3 ай бұрын
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.
@fothsid3 ай бұрын
@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
@MadsterV3 ай бұрын
@@TheCrewExpendable Thanks! I was wondering how that "it supports physics" worked. So it supports describing initial conditions, not running the simulation.
@32BitJunkie3 ай бұрын
Naw this is a deal breaker. FBX exports and mesh gen scripts in random software remains superior
@binary_gaming1133 ай бұрын
I think you got the handedness wrong at 7:13, that's not how my right hand works
@IONATVS3 ай бұрын
yeah they definitely either got their handedness backwards or mixed up the “into” vs “out of” the screen description.
@abdwyer3 ай бұрын
Came here to see this or say this. Right handed +Z up is +Y away. Coord frames are hard.
@WeaselOnaStick3 ай бұрын
Funny coincidence, as Godot just recently released 4.3 update featuring improved FBX support instead. Understandably so, since rigging is very important
@sirdiff13 ай бұрын
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
@jeffwells6413 ай бұрын
@@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.
@AltName73 ай бұрын
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.
@andymorin91633 ай бұрын
what? glTF supports rigging, meshes, textures, scenes, and a whole lot more
@tuxino3 ай бұрын
My brain is weird. When you said "per vertex data", my brain refused to hear anything other than "pervert ex-data".
@xinaesthetic3 ай бұрын
I read your comment at just the right moment as he said that.
@banaia54553 ай бұрын
Thanks, I will never be able to unhear that now
@TheoParis3 ай бұрын
@@banaia5455😂
@Azeria3 ай бұрын
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”
@hughjanes48833 ай бұрын
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
@XCanG3 ай бұрын
Since you specifically pointing out about ".append()" in the python code, you can use ".extend()" to append multiple values at once on 1 line.
@SuboptimalEng3 ай бұрын
Acerola about to make massive USD from getting me to watch the entire ad. Brilliant move 😎
@Cridder3 ай бұрын
I would love to see this for Godot.
@PySnek3 ай бұрын
Just use GLTF like we did for years now
@micmacha3 ай бұрын
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.
@ImNotGam3 ай бұрын
Assemble the nerds and it'll happen.
@askeladden4503 ай бұрын
@@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.
@PySnek3 ай бұрын
@@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.
@miachristensen54443 ай бұрын
dude acerola moving to godot would make me soooooooooooo pogged out my gourd
@DarkPortall3 ай бұрын
0:14 he says unify yet shows an intersection. who are you, really, acerola?
@mugnuz3 ай бұрын
hes into graphics stuff... its all about perspective! from one view its an intersection. from the other side its a funnel! ;D
@ashdotpy3 ай бұрын
2.5 years of python and OpenUSD and this is hands down the best explanation I’ve seen
@harleyspeedthrust40133 ай бұрын
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?
@AdrianAzizSantoso-gq7rwАй бұрын
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.
@Bluelightzero3 ай бұрын
2:15 I can't be the only one to hear it.
@jooei28103 ай бұрын
🤣
@LeLe-pm2pr3 ай бұрын
thanks I hate it
@blarghblargh3 ай бұрын
Yeehaw!
@taran884510 күн бұрын
1:08 WAIT WHAT monogatari editing? *checks name* "ACEROLA???!!! like acerola-orion-heart-under-blade?"
@spaghettiman5123 ай бұрын
Oh what a Monday to start off with an Acerola video on an extremely niche topic I've never heard before!
@Technoyote3 ай бұрын
Working with USD in Houdini Solaris is absolutely top tier. It's like a control panel for your entire CG pipeline
@Nosferatu-_-3 ай бұрын
The cat in the ad always works
@BrazilMentionedHueHue3 ай бұрын
The man is a genius
@NutBuster993 ай бұрын
he found the trick to make us sit through his little punk ass ad
@darrennew82113 ай бұрын
He's channeling Louis Rossmann.
@vita_pulchra_est3 ай бұрын
worked on me
@pleb_guy2 ай бұрын
4:02 best way to stop people from skipping ads
@thortroy46273 ай бұрын
Would love Godot support, sounds pretty nice
@DsiPro10003 ай бұрын
That’s on Godot to implement I think
@ImNotGam3 ай бұрын
It's on the community. If someone implements it, it will get implemented.
@texloch14012 ай бұрын
Not gonna lie, your intro/title screen animation style is probably the cleanest I've ever seen.
@HannahMadge3 ай бұрын
Wisdom is knowing what to do next; Skill is knowing how ot do it, and Virtue is doing it.
@fuzzyfuzzyfungus3 ай бұрын
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_t3 ай бұрын
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
@noedem16903 ай бұрын
@@Acerola_ttechnically .usdc is the binary format ("crate") and .usd can contain any .usdX format (usually usdc)
@Bvic33 ай бұрын
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_creeper3 ай бұрын
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.
@rogo73303 ай бұрын
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.
@darrennew82113 ай бұрын
@@rogo7330 The DOC format *was* better when you're saving files to floppies and such.
@jeffwells6413 ай бұрын
@@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?
@JeSuisNerd3 ай бұрын
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.
@shakedgold_3 ай бұрын
This is very interesting, but I also am wondering, how about collaborative editing? something like git for 3d modelling? something like that must exist in major companies like Pixar because I don't know how they are working together on the same scenes
@fastlearner2923 ай бұрын
There's one guy modelling one asset. Juniors will model simpler stuff like props and seniors usually work on hero assets like characters and what not. The layout/lighters can easily import those models after and create a scene based on the descriptions.
@shakedgold_3 ай бұрын
Interesting, so that means there is also one guy on the scene itself? Or is that something that is shareable? (Technically you can use git here with the usd format i guess so that might be it)
@noedem16903 ай бұрын
Collaboration is made easier with the possibility to cut the scene in multiple files a lot of way. One of the aim of the nvidia omniverse platform is facilitating a git-like behaviour with a file server enabling file history and reference to older versions of the file. It also has live editing capabilities directly on the same scene, that I don't think are standards but are quite open via quite a few of extensions bringing them in other tools
@westwolf483 ай бұрын
I normally don't watch advertisements, but the kitty cam tricked me into watching through the whole thing.
@Gigageorge3 ай бұрын
Idk if you have been getting this a lot but you have been getting JACKED over the past couple of videos, keep it up!
@randomnessnecesity96273 ай бұрын
I knew I wasn’t the only one to notice, good job mr Rola!
@jorge696963 ай бұрын
He is getting tessellated.
@luipaardprint3 ай бұрын
It’s a height displacement map.
@jacobhilbert8563 ай бұрын
This is the first brilliant ad that I didn't skip. Your cat is the best.
@sauriak82863 ай бұрын
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.
@InfoDisco3 ай бұрын
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.
@dawid0353 ай бұрын
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!
@1.41423 ай бұрын
2:15 missed opportunity
@operatoralex59263 ай бұрын
Pervert ex data
@andyglovergames3 ай бұрын
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
@gravity_mxk56633 ай бұрын
The vertices of bros biceps have been displaced along their normals.
@nodrance3 ай бұрын
I clicked the vid after reading the title. I expected JSON or CSV, but this channel is a few steps above that
@jmvr3 ай бұрын
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.
@yeong1263 ай бұрын
Putting a cat video side by side in the sponsor section is such a great idea
@wlwgwlwgnomesarereal2 ай бұрын
1:20 oouhhhgggggmmmmm girl🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤🤤
@TonyTheYouTuba3 ай бұрын
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”.
@ScibbieGames3 ай бұрын
Imagine instead of getting a screenshot, you get a baked, barely reusable openusd file. It would be a really neat gimmick
@x-studios42443 ай бұрын
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
@creamedice6673 ай бұрын
but acerola,
@creamedice6673 ай бұрын
lol 37
@madeyourmark3 ай бұрын
Cat video on the side is a *brilliant* way to stop me from skipping the sponsor segment, good stuff
@ethanbuttazzi26023 ай бұрын
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.
@volbla3 ай бұрын
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?
@ethanbuttazzi26023 ай бұрын
@@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.
@volbla3 ай бұрын
@@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.
@ethanbuttazzi26023 ай бұрын
@@volbla thats why i said little detail.
@volbla3 ай бұрын
@@ethanbuttazzi2602 Fair :]
@pifopifo10003 ай бұрын
I swear, a new Acerola video is the pure entertainment I seek when I come home from work. There is nothing better!
@erikm97683 ай бұрын
No one-man gamedev studio will benefit from USD. It's made for studios and pipeline integration across large organizations.
@rogo73303 ай бұрын
At least it is not bound to the particullar tool you are using.
@sirdiff13 ай бұрын
@@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.
@chriss34043 ай бұрын
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.
@travian82119 күн бұрын
Is fun to see how a field that started in the early early days of the internet diverged so much that integration/standardization is only lately been adopted. There are some other fields were integration came right away. Is fascinating to see. Lovely work.
@letronix62433 ай бұрын
I knew it. Opus is the best file format!
@AnimeUniverseDE3 ай бұрын
It's kinda crazy how efficient Opus is
@24wherath363 ай бұрын
@@AnimeUniverseDE It's also kinda crazy how complicated it is as well. It literally has multiple neural networks build INTO the format.
@rvft3 ай бұрын
isn't opus an audio format? (I'm not a 3d artist)
@AnimeUniverseDE3 ай бұрын
@@rvft yes
@nope.0.3 ай бұрын
@@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?
@3DWithLairdWT3 ай бұрын
Your channel is awesome! I've been everything from a jr gameplay programmer up to senior tech artist at FAANG and still find your content always has things to learn for every skill level, and its also lots of fun. Now I just need to get the rest of the 3D world on my Quaternions > Matrices hype train as the core approach to rotations in modern engines...
@chadsbysea3 ай бұрын
Why do you like quaternions?
@Kevin-jb2pv3 ай бұрын
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.
@codemyster3 ай бұрын
5:46 That plane example was too real.
@BNWilliamGaming3 ай бұрын
You GENIUS!!! You made me watch the sponsored segment via cat!
@fluffy_tail43653 ай бұрын
So wait it would be super cool for it to be used to export 3D screenshots of a game.... especially for emulators.
@pacomatic98333 ай бұрын
Even attempting to do that is nothing but daunting.
@Acerola_t3 ай бұрын
that's effectively what a frame capture is, I wonder if nvidia nsight is lookin to do that
@MichaelPohoreski3 ай бұрын
@@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.
@TinyLittleEnormous3 ай бұрын
Laughs in render doc …
@Adamcito.3 ай бұрын
I'll save this video, I'm majoring engineering in geophysics and this seems to be useful. Great job as always Acerola ❤
@ByteNekos3 ай бұрын
Wake up babe new acerola video
@Grimnoire3 ай бұрын
Dude I'm tired of the 'wake up babe' KZbin comment meta, can we move to the next one already?
@metaphysical_anachronism3 ай бұрын
@@Grimnoire WE MOVING TO THE NEXT ONE ALREADY WITH THIS ONE❗‼️🗣️🗣️🗣️🔥🔥🔥💥💥
I am so happy your channel got recommend to me. Keep doing what your doing this is so great!
@yonicstudios3 ай бұрын
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
@watermalone16813 ай бұрын
This is a great video and I'm really glad USD is steadily getting more of a spotlight. There is a ton of really exciting aspects to USD that I think deserve more of a spotlight though if you decide to do a follow up in the future. For example: variant sets, layers and contextual activation through runtime variable expressions are all immensely powerful
@lucy-pero3 ай бұрын
so, what's wrong with GLTF?
@MichaelPohoreski3 ай бұрын
Nvidia. /s
@volbla3 ай бұрын
_One of the key differences between GLTF and USD is the intended use case. GLTF is often used for web-based applications and lightweight 3D models, while USD is designed for complex and high-fidelity 3D scenes used in film, animation, and visual effects._ _Another difference lies in their feature set. While GLTF is capable of representing basic 3D models with textures and animations, USD offers more advanced features such as instancing, variant sets, and layering, making it suitable for handling large and sophisticated scenes with multiple collaborators._ It sounds like gltf is supposed to display individual and finished models, whereas usd is supposed to translate between different softwares inside a production studio. So gltf is an export format and usd is a production format?
@Technoyote3 ай бұрын
What is the use of .psd when we have .jpg files?
@omgnowairly3 ай бұрын
They solve different problems.
@MichaelPohoreski3 ай бұрын
@@Technoyote .psd are lossless layers containing layer effects. A .jpg is the lousy *final composited* image.
@lewa19383 ай бұрын
This video was enjoyable and informational Never knew this existed till now Well done you have earned my subscribe I'm glad that this is a thing in this world where so many programs have their own file format... Glad there I something uniting them all, and hopefully soon this will be standard in every program Thank you for making this video and telling the world about OpenUSD Have a Great Day Acerola, and I can't wait to see what you make next 🖖
@HubertMikaProductions3 ай бұрын
Meanwhile in Unreal: Built-in Modelling Tools 🙏
@Kavukamari3 ай бұрын
"an exact copy" I am staring at the rotated triangulation edge judgingly
@Feynt3 ай бұрын
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
@number1eclipse3 ай бұрын
Hey dude, this was randomly shown on my pipeline and I love the Mother Mother shirt! My wife and I jam out the Hayloft I/II all the time!
@nomadshiba3 ай бұрын
i would never touch python but im sure there will be libraries for generating it with other languages
@Nickmav13373 ай бұрын
This taught me about a lot, and I will definitely be integrating OpenUSD into my engine. Won't unsub.
@crolex64433 ай бұрын
Why is openUsd better than lets say gltf?
@YannSchmidt3 ай бұрын
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.
@kamazooliy3 ай бұрын
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.
@Selsato3 ай бұрын
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.
@AdamScottPersonnel3 ай бұрын
@@Selsato GLTF1 or 2?
@Selsato3 ай бұрын
@@AdamScottPersonnel gltf 2.0
@IKEASoderhamnSectional4-seat3 ай бұрын
The cat video during the ad read actually worked on me to listen through the whole thing 😭
@mcrode3 ай бұрын
"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
@jeffwells6413 ай бұрын
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.
@Luijeee3 ай бұрын
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
@blarghblargh3 ай бұрын
@@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?
@InsaneAudioMediaJunk3 ай бұрын
@@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.
@blarghblargh3 ай бұрын
@@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).
@Respectable_Username3 ай бұрын
Good timing for you to post a video! Yesterday I had to hubris to start looking into GPU shader code for a task I need to do and I 100% blame you for said hubris 😜
@StephanusTavilrond3 ай бұрын
Tfw I was expecting you to talk about glTF lol
@hicoop3 ай бұрын
Awesome video, procedurally generated 3d items that can be imported in any editor sounds like a dream
@aryajpegasus3 ай бұрын
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_t3 ай бұрын
i'm sure they'll figure out a solution to that eventually i mean just look at who's funding this stuff lol
@XtroTheArctic3 ай бұрын
@@Acerola_t If it didn't support rigging all this time, how did Pixar use it for all their character animations? Sounds very strange... :(
@fastlearner2923 ай бұрын
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
@fastlearner2923 ай бұрын
@@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
@sirdiff13 ай бұрын
@@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)
@adamwilson23753 ай бұрын
Thank you very much for this video. I had no idea OpenUSD existed and its exactly what I've wanted for years.