Page MenuHome

Viewport: Remove different outline color for instances
ClosedPublic

Authored by Hans Goudey (HooglyBoogly) on Nov 5 2021, 8:47 PM.

Details

Summary

With instancing becoming more common with geometry nodes,
instances are less of a separate thing and more of an essential part
of evaluated data. Displaying them with a separate outline, while
helpful in some cases, is not worth the lack of visibility or confusion
about selected/active status. Information about the performance
of the scene due to instancing is always available with the statistics
like vertex count, etc.

The problems were compounded by the fact that the instancing
system is used to output geometry components that don't correspond
to the object's original type. So this patch also fixes that problem.

Fixes T92079
Ref T91310

Diff Detail

Repository
rB Blender

Event Timeline

Hans Goudey (HooglyBoogly) requested review of this revision.Nov 5 2021, 8:47 PM
Hans Goudey (HooglyBoogly) created this revision.
Hans Goudey (HooglyBoogly) retitled this revision from Viewport: Remove different outline for instances to Viewport: Remove different outline color for instances.Nov 5 2021, 8:49 PM
Hans Goudey (HooglyBoogly) edited the summary of this revision. (Show Details)

The DRW changes are fine. I don't have an opinion about the functional changes.

This revision is now accepted and ready to land.Nov 5 2021, 8:54 PM

Try to correct diff (it included a Cycles change for some reason)

There is some advantage in using different coloring, for generated vs underlying data.

For example - if you enter edit-mode, the instances are not going to be editable geometry (as they were generated).

Since this is only an issue with text could there be a way to detect this case, instead of removing this differentiation because of some internal change with had text is handled.


Best get feedback from artists, will check with others in the modeling module (cc @Julien Kaspar (JulienKaspar), @Daniel Bystedt (dbystedt)).

There is some advantage in using different coloring, for generated vs underlying data.

For example - if you enter edit-mode, the instances are not going to be editable geometry (as they were generated).

Since this is only an issue with text could there be a way to detect this case, instead of removing this differentiation because of some internal change with had text is handled.

The difference between evaluated data and original data will exist whether we color instances differently or not.
Instances are not "more generated" than the evaluated mesh, or the evaluated curve, which is also not editable, and might also be generated from scratch.
So I don't think that line of reasoning applies here.

With geometry instancing, any geometry created procedurally could be an instance, or it might not be, whereas before it was only the explicit connection to a separate "instance object" that created an instance.

Generally I hear your point though, it's worth getting more input.

This revision now requires review to proceed.Nov 6 2021, 11:24 AM

I think this change is good. People were even reporting the old behavior as a bug. See T81010 and T88134

I would agree with the change, the current behavior is weird and inconsistent in which it breaks active color for a selected dupli

I think that @Campbell Barton (campbellbarton) has a valid point that it can be useful to use a different outline for instances generated with geometry nodes. This could for instance give the user a visual cue that some geometry nodes (such as "set position") will not work on the instances.

However I think the benefit of being able to clearly visually read which object is active among your selected objects outweights the benefits of using "instance outline" in the viewport. My personal preference would be to use "geometry outline" on instances as well. See attached image for example

This revision is now accepted and ready to land.Nov 9 2021, 4:52 AM