setzer22 / blackjack

A procedural, node-based modelling tool, made in rust 🦀
Mozilla Public License 2.0
1.41k stars 59 forks source link

Using OpenMFX #75

Open mundusnine opened 1 year ago

mundusnine commented 1 year ago

Hi, Blackjack seems like a cool and interesting alternative to the preexisting solutions for procedural mesh generation,

I intend on writing a Host that could integrate Blackjack and I wanted to share a resource that could enable an easier standardization to export the functionalities of blackjack.

The project in question is OpenMFX.

It would enable you to make a blackjack OMFX plugin and integrators would write a Host. For you the maintenance would only be on the plugin side from what I understand.

setzer22 commented 1 year ago

An open standard for mesh effects sounds really exciting, thanks for bringing it up! :)

I need to study this in detail. There's currently lots of things in my backlog but once Blackjack is a bit more stable, I'd be happy to consider such integrations. One of my goals is to enable better interop between Blackjack and other applications than the industry's default: "Export FBX, load FBX on the other side".

ziriax commented 1 year ago

Regarding FBX, Pixar's USD seems to become the new standard? Most industry giants (NVIDIA, Apple, ...) are adopting it.

setzer22 commented 1 year ago

I haven't seen any major USD usage in gamedev. The big engines (Unity, Unreal) seem heavily invested in FBX, with gltf gaining a bit of traction lately (especially in Godot, and some smaller frameworks). But that's my biased view of things. Do you know of any big game studios that are using USD for their asset pipelines?

ziriax commented 1 year ago

Good question. I'm currently working on the NVIDIA Omniverse platform, and that is entirely based on USD. I'll ask around if USD is being adopted in game studios, I'm curious too.

PS: I'm the author of Maya2glTF, one of the very first glTF converters, I love your work here!

mundusnine commented 1 year ago

I haven't seen any major USD usage in gamedev. The big engines (Unity, Unreal) seem heavily invested in FBX, with gltf gaining a bit of traction lately (especially in Godot, and some smaller frameworks). But that's my biased view of things. Do you know of any big game studios that are using USD for their asset pipelines?

I know from one of my colleagues that works in a medium sized studio in my city(mostly contracting for other big studios) that they are doing R&D for using USD in their pipelines with Unity and/or Unreal. Most studios are probably mostly in their R&D phase of trying to use USD. USD is a good solution if you want to export to a file and get a pseudo one to one equivalent across engines. I say pseudo because it's the engine implementors job to recreate exactly the same renderer based on the USD format. OpenMFX would be better for realtime integration like with what houdini engine does with Unity or Unreal.

ziriax commented 1 year ago

Yes, many game studios are indeed looking into it. Remedy seems to be actively using it, they talk publicly about it.

heavyrain266 commented 1 year ago

ASWF's rust-wg is working on bindings for the USD framework but I don't think that it could be that easy to use, mainly because of it's complex compilation steps. I'm the author of rusty serialization for USD (not yet published) but as we talked with one Omniverse dev, I have to wait for the full spec to first finish serializer for USDA (ASCII) which can be used as glTF replacement and then start thinking of USDC (binary "crate") and at the end, a compositor with USDZ (ZIP) support.

My use case for it, is custom patch-based VCS and cloud-native asset system which can decomposite USD at runtime to apply patches and then stream tiny chunks back to the client without affecting real-time workflow between many artists since only the modified layer will be reloaded.