Skip to content
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

Experiment exporting Geometry Nodes Instances #1786

Merged
merged 52 commits into from
Nov 19, 2023
Merged

Conversation

julienduroure
Copy link
Collaborator

@julienduroure julienduroure commented Nov 6, 2022

Still experimental and has some open questions:

  • Nested Instancing instances are all at object level, but some empties are created for intermediate levels. Need to find a way to not export them
  • UI
  • Geometry Nodes can have both geometry and instances. To export correctly, need to activate both Apply Modifier & Export GN Instances. Do we need to allow export instancing only when Apply Modifier is enabled?
  • Merge code with Duplis Instances? => No, keep it sep.
  • Issue When export only selection. Some instances are exporting even if instancier is not selected
  • Instancing lights
  • Instancing curves (Seems API is not able to perform that)
  • Tests
  • Non Regression tests
  • In a next step, option to use EXT_mesh_gpu_instancing ? See https://github.com/takahirox/glTF-Blender-IO-EXT-mesh-gpu-instancing => Is now managed separatly in Ext mesh gpu instancing #1984
  • Animated GN (Use Scene bake export for that)
  • UV generic attribute => Done in Manage UVMap outside of Materials #1989
  • https://projects.blender.org/blender/blender/issues/108343 => Still in progress, but on Blender side

Capture d’écran du 2022-11-05 18-49-12

@HugoLamarche
Copy link

Just have to say, spend the day yesterday to look into source code to see how to make this until I find this PR, this is fantastic !
Workflow from Blender to Godot is fixed 🥇

@bluediamond87
Copy link

Definitely looking forward to this one. I was just about to do research into this for game engines. Currently I’m using Godot.

@Ameobea
Copy link

Ameobea commented Sep 3, 2023

Thank you so much for your work on this!

I know this PR is still in progress, but I'm very eager to try this out and had a question.

I see that support for EXT_gpu_instancing is marked as complete in the PR description. When I run an export of a test file with GN instances, I see that the instances do make it into the output GLTF but they are all listed as separate child objects rather than true instances using the extension.

Does that functionality depend on having the https://github.com/takahirox/glTF-Blender-IO-EXT-mesh-gpu-instancing Blender plugin installed? I tried setting it up, but it seems to be broken in modern versions of blender and fails to install due to a missing import error.

Thanks again for your hard work here; this will be a crucial feature and unlock a ton of exciting usecases.

@julienduroure
Copy link
Collaborator Author

@Ameobea Sorry, this was a misclick. gpu instancing is not done yet

@Ameobea
Copy link

Ameobea commented Sep 3, 2023

Ah I see - no problem ty for clarifying. I'll keep watching the progress here

@julienduroure julienduroure added this to the Blender 4.1 milestone Sep 30, 2023
@julienduroure julienduroure marked this pull request as ready for review November 6, 2023 13:46
@julienduroure julienduroure merged commit a10f747 into main Nov 19, 2023
1 check passed
@julienduroure julienduroure deleted the experiment_GN branch November 19, 2023 09:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants