Custom gizmo created with new_custom_shape are difficul to select. #61388

Closed
opened 2019-02-10 18:32:16 +01:00 by Cédric · 45 comments
Member

System Information
Operating system: Windows-10-10.0.17763-SP0 64 Bits
Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 441.66

Blender Version
Broken: version: 2.82 (sub 6), branch: master, commit date: 2020-01-24 11:47, hash: 18343c230d
Worked: (optional)

Short description of error
It is very difficult to select a gizmo created with new_custom_shape

Exact steps for others to reproduce the error
Using default scene and the factory setting,
Change the power of the light to 0, to see the gizmo
open and execute the template gizmo_custom_geometry.py
Try to select the gizmo to change the power of the light. Sometimes, it is impossible to select.

2020-01-24_14-09-09.gif

**System Information** Operating system: Windows-10-10.0.17763-SP0 64 Bits Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 441.66 **Blender Version** Broken: version: 2.82 (sub 6), branch: master, commit date: 2020-01-24 11:47, hash: `18343c230d` Worked: (optional) **Short description of error** It is very difficult to select a gizmo created with new_custom_shape **Exact steps for others to reproduce the error** Using default scene and the factory setting, Change the power of the light to 0, to see the gizmo open and execute the template **gizmo_custom_geometry.py** Try to select the gizmo to change the power of the light. Sometimes, it is impossible to select. ![2020-01-24_14-09-09.gif](https://archive.blender.org/developer/F8299343/2020-01-24_14-09-09.gif)
Author
Member

Added subscriber: @Clarkx

Added subscriber: @Clarkx

#80638 was marked as duplicate of this issue

#80638 was marked as duplicate of this issue

#66491 was marked as duplicate of this issue

#66491 was marked as duplicate of this issue

Added subscriber: @ideasman42

Added subscriber: @ideasman42
Campbell Barton self-assigned this 2019-02-11 08:05:46 +01:00

While it's not difficult to select, there are times it flickers un-selected even though the cursor is still over it.

While it's not difficult to select, there are times it flickers un-selected even though the cursor is still over it.
Author
Member

I don't know if it's only for me, but this how the gizmo looks like when I run the script and it's difficult for me to select :
2019-02-16_21-56-00.gif

I don't know if it's only for me, but this how the gizmo looks like when I run the script and it's difficult for me to select : ![2019-02-16_21-56-00.gif](https://archive.blender.org/developer/F6632306/2019-02-16_21-56-00.gif)

@Clarkx - it's very different here, occasionally it flickers off, but it works most of the time.

@Clarkx - it's very different here, occasionally it flickers off, but it works most of the time.
Author
Member

Just for information, the selection is now working fine, thanks !, but the new_custom_shape function is not working for me with the 'TRIS' type option.
This is what the gizmo looks like using the gizmo_custom_geometry.py template and a point light :
image.png

Operating system: Windows-10-10.0.17763 64 Bits
Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 418.91

Blender Version
Broken: version: 2.80 (sub 74), branch: master, commit date: 2019-07-05 06:13, hash: 66684bdff3

Just for information, the selection is now working fine, thanks !, but the new_custom_shape function is not working for me with the 'TRIS' type option. This is what the gizmo looks like using the gizmo_custom_geometry.py template and a point light : ![image.png](https://archive.blender.org/developer/F7569497/image.png) Operating system: Windows-10-10.0.17763 64 Bits Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 418.91 **Blender Version** Broken: version: 2.80 (sub 74), branch: master, commit date: 2019-07-05 06:13, hash: `66684bdff3`

Added subscriber: @JackCai

Added subscriber: @JackCai

Hi guys,

What is the status of this bug? I am trying to create an addon that requires new_custom_shape to work. I was looking at the source code but I can't figure out the problem. Could anyone point me in e right direction?
I don't understand how the gizmo is rendered properly yet our selection query did not identify it in the selection buffer. I tried to use renderdoc to extract the selection buffer but it is not shown in the render doc.

Thanks

Hi guys, What is the status of this bug? I am trying to create an addon that requires new_custom_shape to work. I was looking at the source code but I can't figure out the problem. Could anyone point me in e right direction? I don't understand how the gizmo is rendered properly yet our selection query did not identify it in the selection buffer. I tried to use renderdoc to extract the selection buffer but it is not shown in the render doc. Thanks
Campbell Barton was unassigned by Dalai Felinto 2019-12-23 16:35:10 +01:00

Added subscriber: @iss

Added subscriber: @iss

Not changing status here, but script template doesn't seem to work and I have seen custom gizmos that work fine.

Not changing status here, but script template doesn't seem to work and I have seen custom gizmos that work fine.
Author
Member

Hi @iss

I just tried on blender 2.82-18343c230d2c-windows64 and if the selection is still a problem, the shape of the gizmo is good and I was wrong.

Thanks a lot for your help.

Hi @iss I just tried on blender 2.82-18343c230d2c-windows64 and if the selection is still a problem, the shape of the gizmo is good and I was wrong. Thanks a lot for your help.

@Clarkx I can not test that, because template script doesn't work.

Can you update report(description and title) to represent actual issue with file that works in 2.83?

@Clarkx I can not test that, because template script doesn't work. Can you update report(description and title) to represent actual issue with file that works in 2.83?
Cédric changed title from new_custom_shape not working to Custom gizmo created with new_custom_shape are difficul to select. 2020-01-24 14:11:36 +01:00
Author
Member

@iss Done

@iss Done

Changed status from 'Confirmed' to: 'Needs User Info'

Changed status from 'Confirmed' to: 'Needs User Info'

Hmm I haven't any problem selecting it...

I changed UI scaling to see if it affects this, and "hot area" was quite off.
Do you have any scaling on display? did you try this on different PC? or if you create new user, to get fresh display settings?

Hmm I haven't any problem selecting it... I changed UI scaling to see if it affects this, and "hot area" was quite off. Do you have any scaling on display? did you try this on different PC? or if you create new user, to get fresh display settings?
Author
Member

Can't try on another PC, and it's the basic display settings.

I just download the daily build of the 2.83 version with factory settings, and I can reproduce the problem :

  • Execute the template gizmo_custom_geometry.py
  • In view3d, go in ortho view (numpad 5) and front view (numpad 1).
    Now I can't select the the gizmo anymore.
Can't try on another PC, and it's the basic display settings. I just download the daily build of the 2.83 version with factory settings, and I can reproduce the problem : - Execute the template gizmo_custom_geometry.py - In view3d, go in ortho view (numpad 5) and front view (numpad 1). Now I can't select the the gizmo anymore.

Can you try gizmo in #73033 (Gizmo : "target_set_handler" doesn't show the tooltip description when the mouse moves over the Gizmo.) and tell how it behaves?

Can you try gizmo in #73033 (Gizmo : "target_set_handler" doesn't show the tooltip description when the mouse moves over the Gizmo.) and tell how it behaves?
Author
Member

There is no custom gizmo in #73033 (the script is using the GIZMO_GT_arrow_3d gizmo) and it's working perfectly, no problem there.

There is no custom gizmo in #73033 (the script is using the GIZMO_GT_arrow_3d gizmo) and it's working perfectly, no problem there.

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk

@Clarkx are your GPU drivers up to date?

@lichtwerk Can you triage this? May be GPU issue, I am out of ideas.

It would be likely known issue anyway, but at least we would know what to fix.

@Clarkx are your GPU drivers up to date? @lichtwerk Can you triage this? May be GPU issue, I am out of ideas. It would be likely known issue anyway, but at least we would know what to fix.
Author
Member

@iss
Yes, I've download the latest nvidia driver (441.87) and the problem is still here for me.

@iss Yes, I've download the latest nvidia driver (441.87) and the problem is still here for me.
Member

Changed status from 'Needs User Info' to: 'Needs Developer To Reproduce'

Changed status from 'Needs User Info' to: 'Needs Developer To Reproduce'
Member

Changed status from 'Needs Developer To Reproduce' to: 'Confirmed'

Changed status from 'Needs Developer To Reproduce' to: 'Confirmed'
Member

Well, I can select it (occasionally), but it behaves rather strangely:

  • selecting / dragging always seems to work if highlight is actually on
  • getting the highlight to show is the part that is unreliable [it clearly doesnt always highlight when I am over the gizmo with the mouse]
  • gizmo changes screenspace size in perspective view when zooming far in

System Information
Operating system: Linux-5.3.12-200.fc30.x86_64-x86_64-with-fedora-30-Thirty 64 Bits
Graphics card: GeForce GTX 970M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 440.44
version: 2.83 (sub 1), branch: master (modified), commit date: 2020-01-29 11:49, hash: 642e5ec78c

Well, I can select it (occasionally), but it behaves rather strangely: - selecting / dragging always seems to work if highlight is actually on - getting the highlight to show is the part that is unreliable [it clearly doesnt always highlight when I am over the gizmo with the mouse] - gizmo changes screenspace size in perspective view when zooming far in **System Information** Operating system: Linux-5.3.12-200.fc30.x86_64-x86_64-with-fedora-30-Thirty 64 Bits Graphics card: GeForce GTX 970M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 440.44 version: 2.83 (sub 1), branch: master (modified), commit date: 2020-01-29 11:49, hash: `642e5ec78c`
Member

Added subscribers: @chaos-4, @ivpe

Added subscribers: @chaos-4, @ivpe
Member

Added subscriber: @JulianEisel

Added subscriber: @JulianEisel
Member

AFAIK this has always been an issue. Would be nice to see fixed finally but it doesn't seem like anybody is planning to look into this soon. Setting as known issue.

AFAIK this has always been an issue. Would be nice to see fixed finally but it doesn't seem like anybody is planning to look into this soon. Setting as known issue.
Member

Added subscriber: @BjornEckhardt

Added subscriber: @BjornEckhardt

Changed status from 'Confirmed' to: 'Needs User Info'

Changed status from 'Confirmed' to: 'Needs User Info'

I still can't redo this, it's working reliably here:

  • with all other gizmos on/off.
  • In all shading modes.
  • With overlays on/off.

Marking incomplete.

  • Could someone upload a test file where this issue occurs?
  • Might this be related to hardware (Using Linux with a GeForce GTX 1080), if you can redo this could you mention the OS/GPU configuration?
I still can't redo this, it's working reliably here: - with all other gizmos on/off. - In all shading modes. - With overlays on/off. ----- Marking incomplete. - Could someone upload a test file where this issue occurs? - Might this be related to hardware (Using Linux with a GeForce GTX 1080), if you can redo this could you mention the OS/GPU configuration?
Author
Member

System Information
Operating system: Windows-10-10.0.18362-SP0 64 Bits
Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 441.87

Blender Version
Broken: version: 2.90.0, branch: master, commit date: 2020-08-31 11:26, hash: 0330d1af29

Hi, I tried with the latest version of Blender 2.90, and I still have difficulties to select the gizmo on Windows / GeForce GTX 1080 Ti : When big, the gizmo can be selected only on the center. But when the gizmo is too small, the selection happend even if the mouse does not touch it.

I've upload a test file with a square mesh with different sizes and a little video to demonstrate the problem on my side.

Thanks again for you time.

2020-09-17 11-21-51.mp4
Gizmo_select.blend

**System Information** Operating system: Windows-10-10.0.18362-SP0 64 Bits Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 441.87 **Blender Version** Broken: version: 2.90.0, branch: master, commit date: 2020-08-31 11:26, hash: `0330d1af29` Hi, I tried with the latest version of Blender 2.90, and I still have difficulties to select the gizmo on Windows / GeForce GTX 1080 Ti : When big, the gizmo can be selected only on the center. But when the gizmo is too small, the selection happend even if the mouse does not touch it. I've upload a test file with a square mesh with different sizes and a little video to demonstrate the problem on my side. Thanks again for you time. [2020-09-17 11-21-51.mp4](https://archive.blender.org/developer/F8891800/2020-09-17_11-21-51.mp4) [Gizmo_select.blend](https://archive.blender.org/developer/F8891787/Gizmo_select.blend)

Can't reproduce this still either.

@Clarkx Can you update GPU driver and re-check? 441.87 would be probably 6 months old.

Can't reproduce this still either. @Clarkx Can you update GPU driver and re-check? 441.87 would be probably 6 months old.
Author
Member

Hi,

I've updated the drivers : Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 456.38

But the result is still the same :

2020-09-17_16-31-58.gif

Hi, I've updated the drivers : Graphics card: GeForce GTX 1080 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 456.38 But the result is still the same : ![2020-09-17_16-31-58.gif](https://archive.blender.org/developer/F8892464/2020-09-17_16-31-58.gif)

@Clarkx thanks for the update, tested and it's still working properly for me.

@Clarkx thanks for the update, tested and it's still working properly for me.
Author
Member

Well really sorry to wasting your time, I don't know what I'm doing wrong here..
Anyway, thanks a lot for trying.

Well really sorry to wasting your time, I don't know what I'm doing wrong here.. Anyway, thanks a lot for trying.

@Clarkx not a waste since it seems you're not the only person with this issue.

@lichtwerk can you still redo this bug? if so would you be able to look into this since it makes gizmos not all that reliable.

@Clarkx not a waste since it seems you're not the only person with this issue. @lichtwerk can you still redo this bug? if so would you be able to look into this since it makes gizmos not all that reliable.
Member

I can redo in 2.90 release, but this seems to have been fixed by the stream of GPU refactors in 2.91 (efc97b3919 specifically marked the end of this bug for me)

@Clarkx : could yo check if a fresh 2.91 build from https://builder.blender.org/download/ fixes it for you, too?

I can redo in 2.90 release, but this seems to have been fixed by the stream of GPU refactors in 2.91 (efc97b3919 specifically marked the end of this bug for me) @Clarkx : could yo check if a fresh 2.91 build from https://builder.blender.org/download/ fixes it for you, too?
Author
Member

Indeed, it is way better with the latest build : 2.91.0 Alpha, branch: master, commit date: 2020-09-16 21:05, hash: 27660b3cd9
There is still some sort of boundary around the gizmo as you can see in the gif bellow : The gizmo is selected even if the cursor is outside of it, but maybe this can be change in the preferences, I don't know.

2020-09-18_10-16-44.gif

Thank you very much for your work.

Indeed, it is way better with the latest build : 2.91.0 Alpha, branch: master, commit date: 2020-09-16 21:05, hash: `27660b3cd9` There is still some sort of boundary around the gizmo as you can see in the gif bellow : The gizmo is selected even if the cursor is outside of it, but maybe this can be change in the preferences, I don't know. ![2020-09-18_10-16-44.gif](https://archive.blender.org/developer/F8894860/2020-09-18_10-16-44.gif) Thank you very much for your work.
Member

Many Gizmos have this by default.

I think you could control/customize this with draw_select and test_select
https://docs.blender.org/api/master/bpy.types.Gizmo.html

It is not totally clear how to use this (would have to dig deeper), maybe we can improve the documentation here.

But regarding this report, I think we can close this (since the selection margin seems to be intended behavior)?

Many Gizmos have this by default. I think you could control/customize this with `draw_select` and `test_select` https://docs.blender.org/api/master/bpy.types.Gizmo.html It is not totally clear how to use this (would have to dig deeper), maybe we can improve the documentation here. But regarding this report, I think we can close this (since the selection margin seems to be intended behavior)?
Member

Changed status from 'Needs User Info' to: 'Resolved'

Changed status from 'Needs User Info' to: 'Resolved'
Philipp Oeser self-assigned this 2020-09-18 12:19:17 +02:00
Member

Just a research note (if this ever comes into play again):

relevant functions:

  • wm_gizmomap_highlight_find
  • gizmo_find_intersected_3d
  • gizmo_find_intersected_3d_intern

If test_select is not defined specifically, this seems to go over the selection buffer and checks with 3 * U.pixelsize as well as 10 * U.pixelsize around the mouse position if it finds the gizmo in that area.
So the "margin" is defined here, lowering the value to 1 * U.pixelsize (and just provide one value) will give you a really tight selection/highlighting around your geometry.
If you set up test_select yourself, you're getting the 2D mouse position as input and need to do the intersection test with your Gizmo yourself.

@ideasman42 : we could possibly expose this "hotspot margin" to the python API (as an alternative to setting up the whole test_select routine)?.
In any case, this is more of a TODO, but not a bug. Will close this report now, since it all seems to work as expected now since efc97b3919.

Just a research note (if this ever comes into play again): relevant functions: - `wm_gizmomap_highlight_find` - `gizmo_find_intersected_3d` - `gizmo_find_intersected_3d_intern` If `test_select` is not defined specifically, this seems to go over the selection buffer and checks with `3 * U.pixelsize` as well as `10 * U.pixelsize` around the mouse position if it finds the gizmo in that area. So the "margin" is defined here, lowering the value to `1 * U.pixelsize` (and just provide one value) will give you a really tight selection/highlighting around your geometry. If you set up `test_select` yourself, you're getting the 2D mouse position as input and need to do the intersection test with your Gizmo yourself. @ideasman42 : we could possibly expose this "hotspot margin" to the python API (as an alternative to setting up the whole `test_select` routine)?. In any case, this is more of a TODO, but not a bug. Will close this report now, since it all seems to work as expected now since efc97b3919.
Author
Member

Thanks a lot @lichtwerk ! I will take a look at the test_select function.

Thanks a lot @lichtwerk ! I will take a look at the test_select function.

@lichtwerk having the radius was done gizmos that are made from thin lines / wire-frame, for solid shapes this makes less sense (although it could still be useful when zoomed out).

We could make this optional (per gizmo for example).

@lichtwerk having the radius was done gizmos that are made from thin lines / wire-frame, for solid shapes this makes less sense (although it could still be useful when zoomed out). We could make this optional (per gizmo for example).
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
7 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#61388
No description provided.