Skip to content

Add support for "UEFormat" filetype #2089

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
muuyo opened this issue Mar 24, 2025 · 6 comments
Open

Add support for "UEFormat" filetype #2089

muuyo opened this issue Mar 24, 2025 · 6 comments

Comments

@muuyo
Copy link

muuyo commented Mar 24, 2025

Hello! I'm a member of the Guilty Gear modding community.
Long story short, most Unreal modders or dataminers use a program called Fmodel to extract assets from Unreal-based games.
It supports a format called "UEFormat", which is generally the highest quality available for this kinda thing.
A selfish request; I've no model format development experience, but I'd like to raise support for this niche filetype, specifically to use F3D as a thumbnail generation tool to massively accelerate my (and hopefully other's) workflow.
https://github.com/h4lfheart/UEFormat/tree/master
Here's the github for the format.

@mwestphal
Copy link
Member

Hi @muuyo !

That looks like an interesting format to support!
I've added it to the main format issue: #38
However, the repository you linked doesnt seem to contain the format specifications, only Unreal and Blender plugins.

@h4lfheart is there a spec for UEFormat ? Is there a lib we can use to read it ?

@mwestphal mwestphal added this to F3D Mar 24, 2025
@mwestphal mwestphal moved this to Investigate in F3D Mar 24, 2025
@h4lfheart
Copy link

h4lfheart commented Mar 24, 2025

woah this is cool!! there's no proper "reading" library (though it would be cool to make a native c++ reader library eventually)

here's some sources that could be of use:
exporter (cue4parse, c#):

importers:

there's no proper specifications, but these should help, maybe I could write up a doc on the structure if this isn't enough though

lmk if you have any more questions!! you can contact me on discord @halfheart. (with the dot) if needed

@mwestphal
Copy link
Member

Thanks, we will see if anyone from the F3D community takes this on :). If you feel like it do not hesitate to give it a go @h4lfheart .

@mwestphal mwestphal moved this from Investigate to To do in F3D Mar 24, 2025
@h4lfheart
Copy link

will definitely take a look at it, any pointers on where to start?

@mwestphal
Copy link
Member

mwestphal commented Mar 24, 2025

In short you need to add a new "reader" to the "native plugin":
https://f3d.app/doc/libf3d/PLUGINS.html

The right way to implement it depends on the feature support by the format but in short, you want to consider:

  • Geometries (points and cells)
  • Data (UVs, normals and such)
  • Animations
  • Textures
  • Cameras
  • Skinning/Morphing

First you may want to look at the trivial example in examples/plugins/example-plugin
If the format does not support textures, cameras, skining, then you can look at vtkF3DDracoReader for an example.
If the format supports textures and animations, it gets more complicated, but you can look at vtkF3DUSDImporter, another simpler example but not yet merged in the vtkF3DQuakeMDLImporter (#1591).

Do not hesitate to join our discord for help !

https://discord.f3d.app

@f3d-app f3d-app deleted a comment Apr 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: To do
Development

No branches or pull requests

3 participants