X-Ray Selection Tools

This is what I noticed too. If the box crossed over edges between connected faces, in some cases, but not face centres, it would select like your gif.

It was not due to the difference in blender versions, but because of my code. I haven’t thought about those cases, I thought that I can get all the faces inside the selection rectangle by checking if a face has a vert inside the rectangle. Try this updates, here I’m checking if one of the face edges intersects the rectangle or rectangle completely inside a face area.

Box Select X-Ray 1.3.2 alpha.zip (43.7 KB)
Box Select X-Ray 1.4.1 alpha.zip (52.9 KB)

It’s a property from the default box select. It’s for assigning a tool to a keyboard button, like B. If you have it enabled, then selection doesn’t begin until you click (so you press B and crosshair of dashed lines appears, then you click and rectangle appears). Otherwise, selection begins right after pressing B. You don’t need to enable it if you don’t assign a box select (this or the default one) to a keyboard hotkey

You’re achieving some really exciting stuff Cirno!

Face selection seems to work properly now, or at least from my testing with primitive shapes.

Edge selection now needs to have these cases accounted for too:

In 1.3.2, selecting all the cap edges and a little bit of the sides only selects the cap edges, whereas it should be selecting every edge within the selection box:

In 1.4.1, this same problem occurs, but this one also shows one more issue that 1.3.2 does not have, which is that dragging across the cylinder sides does not select any edge:

Just for the record, I am testing both versions so as to try give you as much info as possible, but eventually I would rather stick to using 1.4 - I love that feature you added to disable the toggling of Xrays.

im from MAX.i love it

I want to turn it into a switch

Default box select tool in x-ray mode first tries to select edges that are completely inside the selection box. And then, if none edges was found, tries to select edges that intersect the selection box.

I modifier the tool to always select intersected edges as you requested. And it has the option on the tool settings to revert default blender behavior.

And I added the option to disable x-ray in the 1.3 version.

Box Select X-Ray 1.4.2 alpha.zip (33.5 KB)
Box Select X-Ray 1.3.3 alpha.zip (29.9 KB)

The difference between 1.3 and 1.4 is that in 1.3 I run the default box select, then after it finished I run my code to select elements that was missed in the default box select

In 1.4 I don’t use the default box select at all, I draw the selection rectangle using the custom shader. So elements need to be selected only once and that might be faster. But I noticed that the shader itself is a bit slower than the shader from the default box select. Probably because the second one is executed in C, not in python. Because of these reasons I would like to keep two versions until it becomes clear which one should be kept


I’ll try to implement this in next release, until now please use this version Box Select X-Ray 1.2.1.zip (32.4 KB)
You can find the button to switch the behavior in the tool settings panel

1 Like

Thanks for this add-on Cirno, I’ve been trying to find an elegant way of getting this behavior in Blender for months now. I’m having problems with it mapped to fit with my interaction model though.
I use a variation of industry standard with alt+LMB to control the viewport and LMB to use Blender’s ‘front-facing’ select. In addition to this I’d like to have Box Select X-Ray mapped to MMB for selecting through an object.
In v1.2 this works for regular selections using just MMB but extending or subtracting from the selection with shift+MMB or ctrl+MMB leaves the box select stuck open when you release the button. It requires a further click with any mouse button and no keys to close the selection and perform the extend/subtract operation.
1.4 is totally broken for me, whereby even regular selections don’t work using the interaction model described above.

This method for selection is based on the workflow I learned in Silo and NVil and I think even Modo works the same way, therefor I believe there will be many people interested in using this add-on in this way and it would be great if you could support it.

Use 1.2 and add this hotkey in the end of the hotkeys list

1 Like

Hmm… everything seems to work now in 1.4.2. Basically, everything within the box is selected and works like how other apps work now …in edit mode at least. Actually, this could even be better than other apps now. :smile:

Question: How difficult would it be to implement this same functionality in object mode? (Basically disabling select through in solid view.)

I don’t know yet, I’ll try to implement it in my free time.


Thanks Cirno! This has made it fully functional :smiley:
Only thing was in your screenshot it shows ‘Press’ but I had to set this to ‘Release’ for it to work.

Woops. I spoke a bit too soon. This doesn’t work on multiple objects in edit mode. I can confirm because I can select all faces on all the objects with Blender’s regular box select tool using X-ray mode. I didn’t forget to select the multiple objects in object mode before I switch to edit mode. It would be nice if you could just work on all the objects in edit mode without selecting everything in object mode first. There’s already the hide object function if I didn’t want to work on these objects in edit mode. Their selection workflow is inconsistent. Hopefully, they’ll do something about all this, but I have a feeling an addon dev will beat them to the punch. :wink:

Both versions seem to be doing their job flawlessly. Great job!

I haven’t experienced any lag with any of the versions, but that may be due to my tests only involving simple primitive meshes of course. I would be very curious to hear any findings on this performance topic.

Whatever the case, you’ve done a stellar job here Cirno. Don’t feel shy to put a price on this addon, even if it’s 1 buck. You deserve all the love. I am currently using a custom build of Blender, but this addon alone will finally allow me to install a fresh new stable 2.82 and try it out in more complex scenes. This migration could take a while though. If I find anything, I’ll let you know in the coming weeks.

Edit: My tests only involved selecting things in Edit Mode. Haven;t played around in Object Mode a lot yet.

This is great. 1.4.1 works as expected on verts and faces, but not on edges. I’m having the same issues as Justo, but to be honest, I rarely box select edges. It’s always either verts or faces.

Select Box X-Ray 1.3.4 alpha.zip (30.5 KB)
Select Box X-Ray 1.4.3 alpha.zip (33.7 KB)


Cirno already corrected the edge selections :slight_smile: There are now two new versions since 1.4.1. In other words, Cirno is the goat

Also, you rarely box select edges? Bad Danny, bad. You remind me of a certain strangely-behaviored Irish Polycounter… ;p

I agree. I’d gladly pay for something like this because I find the default Blender behavior frustrating in some situations. I’m legit excited to try this out.

I’d prefer the add-on to stay free, this way (being more accessible), more Blender users are able to use it.

So does this let you select faces then and not have to select centers? Is that what I’m understanding? I’ve been using the HeavyPoly script that does the same, but you have to select face centers which is annoying/too bad.