Object using Point Instance GN node can not be converted to mesh. #89472

Closed
opened 2021-06-27 08:07:10 +02:00 by Ludvik Koutny · 13 comments

System Information
Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 466.27

Blender Version
Broken: version: 3.0.0 Alpha, branch: master, commit date: 2021-06-25 20:57, hash: blender/blender@5759bbe9f9
Worked: (newest version of Blender that worked as expected)

Short description of error
When using GN for procedural modeling and utilizing the Point Instance node, the result can not be converted to a mesh.
Before:
image.png
After:
image.png
Any geometry generated by the Point Instance node simply disappears

Exact steps for others to reproduce the error

  1. Use Geometry Nodes Point Instance node to distribute instances of a mesh onto another mesh
  2. Select the object with the generated instances
  3. Open Convert To menu, and select Mesh
    Result: Geometry generated with Point Instance node disappears upon mesh conversion
    Expected: The entire visible procedurally modeled mesh, as is, becomes actual new mesh datablock
**System Information** Operating system: Windows-10-10.0.19041-SP0 64 Bits Graphics card: NVIDIA GeForce RTX 2080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 466.27 **Blender Version** Broken: version: 3.0.0 Alpha, branch: master, commit date: 2021-06-25 20:57, hash: `blender/blender@5759bbe9f9` Worked: (newest version of Blender that worked as expected) **Short description of error** When using GN for procedural modeling and utilizing the Point Instance node, the result can not be converted to a mesh. Before: ![image.png](https://archive.blender.org/developer/F10203488/image.png) After: ![image.png](https://archive.blender.org/developer/F10203490/image.png) Any geometry generated by the Point Instance node simply disappears **Exact steps for others to reproduce the error** 1. Use Geometry Nodes Point Instance node to distribute instances of a mesh onto another mesh 2. Select the object with the generated instances 3. Open Convert To menu, and select Mesh Result: Geometry generated with Point Instance node disappears upon mesh conversion Expected: The entire visible procedurally modeled mesh, as is, becomes actual new mesh datablock
Author

Added subscriber: @Rawalanche

Added subscriber: @Rawalanche

blender/blender#91324 was marked as duplicate of this issue

blender/blender#91324 was marked as duplicate of this issue
Member

Added subscribers: @HooglyBoogly, @lichtwerk

Added subscribers: @HooglyBoogly, @lichtwerk
Member

In blender/blender#85527#1109996, @HooglyBoogly wrote:
To get the instance geometry from the modifier, use the "Make Instances Real" operator.

Afaict, this still holds true (and is the only way to get instances as real geometry.
Will double-check with geonodes team

> In blender/blender#85527#1109996, @HooglyBoogly wrote: > To get the instance geometry from the modifier, use the "Make Instances Real" operator. Afaict, this still holds true (and is the only way to get instances as real geometry. Will double-check with geonodes team
Member

Running the geometry through an Attribute Fill node will also make Convert or Apply work.

Running the geometry through an `Attribute Fill` node will also make `Convert` or `Apply` work.
Member

Changed status from 'Needs Triage' to: 'Confirmed'

Changed status from 'Needs Triage' to: 'Confirmed'
Member

Added subscriber: @JacquesLucke

Added subscriber: @JacquesLucke
Member

Talked to @JacquesLucke and this needs documentation

Talked to @JacquesLucke and this needs documentation
Author

In #89472#1183689, @lichtwerk wrote:
Running the geometry through an Attribute Fill node will also make Convert or Apply work.

Yes, but it will also cause this bug: https://developer.blender.org/T89470

So I have a choice between:
A, Not getting a tree crown I can export to a game engine
B, Getting a tree crown but without UVs so I can not export it to a game engine

:(

The main problem here is that make instances real operator workflow is abysmal:

  1. Select the mesh with instances
  2. Run the operator
  3. Make one of the selected real instance objects active
  4. Run the "Make single user" operator with "Object data" enabled, otherwise you will attach all instances to all instances (each instance will be combined mesh of all the original instances, instead of just one mesh)
  5. Join the now unique copies together
  6. Run File->Clean Up->Recursive Unused Datablocks to clear hundreds of thousands of unique meshes created by step #4

This is just way too many tedious and error prone steps when someone just wants to turn the result of their GN procedural modeling workflow into an actual mesh.

> In #89472#1183689, @lichtwerk wrote: > Running the geometry through an `Attribute Fill` node will also make `Convert` or `Apply` work. Yes, but it will also cause this bug: https://developer.blender.org/T89470 So I have a choice between: A, Not getting a tree crown I can export to a game engine B, Getting a tree crown but without UVs so I can not export it to a game engine :( The main problem here is that make instances real operator workflow is abysmal: 1. Select the mesh with instances 2. Run the operator 3. Make one of the selected real instance objects active 4. Run the "Make single user" operator with "Object data" enabled, otherwise you will attach all instances to all instances (each instance will be combined mesh of all the original instances, instead of just one mesh) 5. Join the now unique copies together 6. Run File->Clean Up->Recursive Unused Datablocks to clear hundreds of thousands of unique meshes created by step #4 This is just way too many tedious and error prone steps when someone just wants to turn the result of their GN procedural modeling workflow into an actual mesh.
Member

@Rawalanche: I hear you.

Yes, I assume it would be best to fix blender/blender#85962 (Many Nodes (Join geometry, Boolean, Object Info?) and realizing instances remove UVs (output float2, not MLoopUV).) and make it clear why running this through an Attribute Fill is neccessary.
Using "Make Instances Real" is just the "workaround" in this scenario (and I also understand why this is suboptimal).

@Rawalanche: I hear you. Yes, I assume it would be best to fix blender/blender#85962 (Many Nodes (Join geometry, Boolean, Object Info?) and realizing instances remove UVs (output float2, not MLoopUV).) and make it clear why running this through an Attribute Fill is neccessary. Using "Make Instances Real" is just the "workaround" in this scenario (and I also understand why this is suboptimal).
Member

Added subscriber: @Astronet-4

Added subscriber: @Astronet-4
Member

Changed status from 'Confirmed' to: 'Archived'

Changed status from 'Confirmed' to: 'Archived'
Member

Since we have a realize instances node now, this report doesn't apply. The design has changed a fair amount, now we don't try to hide instancing and realize data implicitly. For the issue with UVs, we already have the other report that @licktwerk mentioned, so I'll close this task.

Since we have a realize instances node now, this report doesn't apply. The design has changed a fair amount, now we don't try to hide instancing and realize data implicitly. For the issue with UVs, we already have the other report that @licktwerk mentioned, so I'll close this task.
Sign in to join this conversation.
No Milestone
No project
No Assignees
5 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-manual#89472
No description provided.