WIP: Shift Extrude and Duplicate of meshes and objects #118968

Draft
Kyler Kelly-Tan wants to merge 20 commits from kylerk/blender:ShiftExtrude into main

When changing the target branch, be careful to rebase the branch in your fork to match. See documentation.
Contributor

Summary

Provide a way to duplicate, in object mode, or extrude, in edit mode, by holding a modifier key while using transform gizmos.

This change was originally coded by Stanislav Blinov (radcapricorn)

https://archive.blender.org/developer/D9612

Rationale

Blender is lacking a gizmo-based Duplicate operator. Users working with gizmos are forced to use hotkeys to achieve desired result, or fall back to the duplicate-cancel-transform pattern which is incompatible with built-in repeat functionality.
Blender's Extrude gizmo does not provide full extrude functionality (i.e. it only activates the move transform), meaning that it requires the use of hotkeys for the other transforms; it also lacks transform planes. Additionally, with extrude being the commonly used tool while modeling, an extra tool switches are disruptive. For example, currently, to extrude and scale, one has to switch to the Extrude tool, extrude, cancel, switch to Scale tool, scale (two tool switches, no Repeat support). With the new functionality - switch to scale tool and scale while holding a modifier key (one tool switch, Repeat is supported).
Both the Duplicate and Extrude operators are intended to be used in concert with transform tools, an approach which that is well accessible to users that rely on hotkeys, but is sadly missing for users that work with gizmos. This patch aims to rectify that by allowing to use transform gizmos for the aforementioned operators directly, which solves both issues outlined above.

I believe many users, especially those coming from other software, would use this feature extremely often.

Usage

Both in object and edit mode, activating a move, rotate, or scale transform gizmo while holding a modifier key, results in invocation of Duplicate + relevant transform (in object mode) or Extrude + relevant transform (in edit mode).

At the moment, the modifier key is Shift. This is a workflow-breaking change, since Shift is historically used for axis exclusion. However, with gizmos providing transform plane widgets, using Shift for axis exclusion is almost redundant. My personal opinion is that this is an acceptable loss in favor of the new functionality, thought this does require further discussion and work.

To Do (by Kylerk)

  • Determine how to correctly implement shift as a hotkey (it's currently hardcoded, I can't tell if that is the way it should be, shift by itself is currently not listed in the keymap)
  • This code was said to be "prototype" code in the original. I don't really see what obviously needs changes. However I only understand what is going on at a pretty basic level.
  • Get feedback and see what everybody thinks about this in the modern day.
  • Further testing to see if there are any edge cases or problems we haven't discovered yet.

Video provided by (radcapricorn)

**Summary** Provide a way to duplicate, in object mode, or extrude, in edit mode, by holding a modifier key while using transform gizmos. This change was originally coded by Stanislav Blinov (radcapricorn) https://archive.blender.org/developer/D9612 **Rationale** Blender is lacking a gizmo-based Duplicate operator. Users working with gizmos are forced to use hotkeys to achieve desired result, or fall back to the duplicate-cancel-transform pattern which is incompatible with built-in repeat functionality. Blender's Extrude gizmo does not provide full extrude functionality (i.e. it only activates the move transform), meaning that it requires the use of hotkeys for the other transforms; it also lacks transform planes. Additionally, with extrude being the commonly used tool while modeling, an extra tool switches are disruptive. For example, currently, to extrude and scale, one has to switch to the Extrude tool, extrude, cancel, switch to Scale tool, scale (two tool switches, no Repeat support). With the new functionality - switch to scale tool and scale while holding a modifier key (one tool switch, Repeat is supported). Both the Duplicate and Extrude operators are intended to be used in concert with transform tools, an approach which that is well accessible to users that rely on hotkeys, but is sadly missing for users that work with gizmos. This patch aims to rectify that by allowing to use transform gizmos for the aforementioned operators directly, which solves both issues outlined above. I believe many users, especially those coming from other software, would use this feature extremely often. **Usage** Both in object and edit mode, activating a move, rotate, or scale transform gizmo while holding a modifier key, results in invocation of Duplicate + relevant transform (in object mode) or Extrude + relevant transform (in edit mode). At the moment, the modifier key is Shift. This is a workflow-breaking change, since Shift is historically used for axis exclusion. However, with gizmos providing transform plane widgets, using Shift for axis exclusion is almost redundant. My personal opinion is that this is an acceptable loss in favor of the new functionality, thought this does require further discussion and work. **To Do (by Kylerk)** - [x] Determine how to correctly implement shift as a hotkey (it's currently hardcoded, I can't tell if that is the way it should be, shift by itself is currently not listed in the keymap) - [x] This code was said to be "prototype" code in the original. I don't really see what obviously needs changes. However I only understand what is going on at a pretty basic level. - [x] Get feedback and see what everybody thinks about this in the modern day. - [x] Further testing to see if there are any edge cases or problems we haven't discovered yet. Video provided by (radcapricorn)
Kyler Kelly-Tan added 4 commits 2024-03-01 17:25:19 +01:00
Iliya Katushenock added this to the Modeling project 2024-03-01 17:28:18 +01:00
Iliya Katushenock modified the project from Modeling to User Interface 2024-03-01 17:28:39 +01:00
Hans Goudey added the
Interest
Modeling
label 2024-03-01 17:36:48 +01:00
First-time contributor

Thanks for working on this. It's one of my favorite features from other 3D applications. 🙂

Thanks for working on this. It's one of my favorite features from other 3D applications. 🙂
First-time contributor

Video provided by @ThinkingPolygons

For the record, that video is from the original patch author, I just shared it.

But yes, huge thanks for working on it. This is so intuitive, it will really make blender much more user friendly.
Good luck on the process.

> Video provided by @ThinkingPolygons For the record, that video is from the original patch author, I just shared it. But yes, huge thanks for working on it. This is so intuitive, it will really make blender much more user friendly. Good luck on the process.
First-time contributor

Nice to see an implementation.

Is linked data object duplicating (alt+D by default) is supposed to be supported?

How about something like alt+shift+gizmo for providing duplicate linked functionality?
Same combination could be used for duplicating mesh selection as well (edit mode shift+D), such a functionality also doesnt seem to be supported at the moment.

Nice to see an implementation. Is linked data object duplicating (alt+D by default) is supposed to be supported? How about something like alt+shift+gizmo for providing duplicate linked functionality? Same combination could be used for duplicating mesh selection as well (edit mode shift+D), such a functionality also doesnt seem to be supported at the moment.
First-time contributor

Can't believe that functionality is coming. This is amazing. 👍

Some personal thoughts:

Determine how to correctly implement shift as a hotkey (it's currently hardcoded, I can't tell if that is the way it should be

I don't think Shift should be hardcoded. It would be great if we had the ability to change that to Ctrl or Alt too. Some 3D apps have it on Ctrl and I would prefer to use that in blender as well. It makes more sense to me than Shift (Ctrl is in a better position on the keyboard imo).

This code was said to be "prototype" code in the original. I don't really see what obviously needs changes. However I only understand what is going on at a pretty basic level.

Prototype maybe because it was a work in progress? I don't know. Only a developer can tell.
Also I hope you master this code so you can make changes and additional improvements more easily. As you can see in the post above, there's a request already to add Duplicate Linked on Shift+Alt. I wouldn't add any of this on the first implementation but that's not up to me.

Get feedback and see what everybody thinks about this in the modern day.

This feature is clearly a must have, and a very important one. No doubt about that.

Further testing to see if there are any edge cases or problems we haven't discovered yet.

How to test? Is there a build somewhere? (I don't compile blender).


How about something like alt+shift+gizmo for providing duplicate linked functionality?
Same combination could be used for duplicating mesh selection as well, such a functionality also doesnt seem to be supported at the moment.

This sounds like stuff for future improvements, not urgently needed on the first implementation, imo.
We should get the basics in first.

Can't believe that functionality is coming. This is amazing. 👍 Some personal thoughts: > Determine how to correctly implement shift as a hotkey (it's currently hardcoded, I can't tell if that is the way it should be I don't think Shift should be hardcoded. It would be great if we had the ability to change that to Ctrl or Alt too. Some 3D apps have it on Ctrl and I would prefer to use that in blender as well. It makes more sense to me than Shift (Ctrl is in a better position on the keyboard imo). > This code was said to be "prototype" code in the original. I don't really see what obviously needs changes. However I only understand what is going on at a pretty basic level. Prototype maybe because it was a work in progress? I don't know. Only a developer can tell. Also I hope you master this code so you can make changes and additional improvements more easily. As you can see in the post above, there's a request already to add Duplicate Linked on Shift+Alt. I wouldn't add any of this on the first implementation but that's not up to me. > Get feedback and see what everybody thinks about this in the modern day. This feature is clearly a must have, and a very important one. No doubt about that. > Further testing to see if there are any edge cases or problems we haven't discovered yet. How to test? Is there a build somewhere? (I don't compile blender). ___ > How about something like alt+shift+gizmo for providing duplicate linked functionality? Same combination could be used for duplicating mesh selection as well, such a functionality also doesnt seem to be supported at the moment. This sounds like stuff for future improvements, not urgently needed on the first implementation, imo. We should get the basics in first.
First-time contributor

Super cool! 🥳 Nice that it will finally be added to Blender soon!

Super cool! 🥳 Nice that it will finally be added to Blender soon!
Author
Contributor

Just a question about the question of hardcoding this to shift.

From what I can tell, CTRL and ALT are hard coded for all their basic functions, like camera moves, and snapping. I don't think they can be changed by the user very easily.

I'm pretty sure that SHIFT is treated in a similar way in the code, meaning it's not able to be part of a normal keymap like other keys can.

For this reason, I don't think it would be very viable to make this feature "key-mappable".

Perhaps making a separate PR that was about making keys like CTLR, ALT and SHIFT remappable would be it's own thing.

Though I'm guessing that would be a pretty huge task, with little known benefit.

Just a question about the question of hardcoding this to shift. From what I can tell, CTRL and ALT are hard coded for all their basic functions, like camera moves, and snapping. I don't think they can be changed by the user very easily. I'm pretty sure that SHIFT is treated in a similar way in the code, meaning it's not able to be part of a normal keymap like other keys can. For this reason, I don't think it would be very viable to make this feature "key-mappable". Perhaps making a separate PR that was about making keys like CTLR, ALT and SHIFT remappable would be it's own thing. Though I'm guessing that would be a pretty huge task, with little known benefit.
First-time contributor

If previous functionality (locking plane) was hardcoded it seems to be safe to provide the proposed substitution in hardcoded form, since the list of a functionality to satisfy is pretty much predefined (duplicating, linked duplicating and extrude in both object and edit modes), and the proposed approach doesnot assume any possible functionality expansion beyound this list.

Taking into account modifier keys accessible to preliminary gizmo interaction - Shift is going to be intentionally substituted, Alt+Shift is free to occupy, Ctrl is already occupied with snapping.

If previous functionality (locking plane) was hardcoded it seems to be safe to provide the proposed substitution in hardcoded form, since the list of a functionality to satisfy is pretty much predefined (duplicating, linked duplicating and extrude in both object and edit modes), and the proposed approach doesnot assume any possible functionality expansion beyound this list. Taking into account modifier keys accessible to preliminary gizmo interaction - Shift is going to be intentionally substituted, Alt+Shift is free to occupy, Ctrl is already occupied with snapping.
First-time contributor

From what I can tell, CTRL and ALT are hard coded for all their basic functions, like camera moves, and snapping

@kylerk The Ctrl for snapping is not hardcoded
image

Not even the Alt navigate...

> From what I can tell, CTRL and ALT are hard coded for all their basic functions, like camera moves, and snapping @kylerk The Ctrl for snapping is not hardcoded ![image](/attachments/f5d08196-3abb-454b-8934-f455d50966b9) Not even the Alt navigate...
116 KiB
First-time contributor

Ctrl for snapping is not hardcoded, but is already occupied in transform modal map. Gizmo interactions are hardcoded, so its reasonable to use modifier keys, unoccupied in transform modal map.

Ctrl for snapping is not hardcoded, but is already occupied in transform modal map. Gizmo interactions are hardcoded, so its reasonable to use modifier keys, unoccupied in transform modal map.
Author
Contributor

I was wrong about CTRL and ALT being hard coded, those do appear in the keymap. Thanks for pointing that out.

I researched this today, and it does appear that @1D_Inc is right about this being a Gizmo interaction that is hard coded. I found the original interaction for shift + click on axis handle.

image

It's caught via KM_Shift.

I'm going to assume that it would be a significant job to change gizmo interactions from being hardcoded to remappable, and that should probably PR by itself. I think my initial peak into that possibility revealed it would be a pretty enormous change.

I tried to recover the Swap Axis Capability, by making it chorded to SHIFT+ALT, but that appears to be very difficult given how the gizmo modifiers are passed. The data of the different keys isn't encoded together, they just overwrite each other.

So I think this is the best way it can be for now.

I do strongly believe "Shift" being Extrude and duplicate, is far more useful to more users that the "Axis Plane Swap", as there mouse can easily push the gizmo plane.

I was wrong about CTRL and ALT being hard coded, those do appear in the keymap. Thanks for pointing that out. I researched this today, and it does appear that @1D_Inc is right about this being a Gizmo interaction that is hard coded. I found the original interaction for shift + click on axis handle. ![image](/attachments/d765b431-a4f4-4b93-b2d2-55f246e84f94) It's caught via KM_Shift. I'm going to assume that it would be a significant job to change gizmo interactions from being hardcoded to remappable, and that should probably PR by itself. I think my initial peak into that possibility revealed it would be a pretty enormous change. I tried to recover the Swap Axis Capability, by making it chorded to SHIFT+ALT, but that appears to be very difficult given how the gizmo modifiers are passed. The data of the different keys isn't encoded together, they just overwrite each other. So I think this is the best way it can be for now. I do strongly believe "Shift" being Extrude and duplicate, is far more useful to more users that the "Axis Plane Swap", as there mouse can easily push the gizmo plane.
273 KiB
First-time contributor

I do strongly believe "Shift" being Extrude and duplicate, is far more useful to more users that the "Axis Plane Swap", as there mouse can easily push the gizmo plane.

Sure!
This is why those control planes has been added quite recently, there is no need to recover swap axis via gizmo interaction hotkeys anymore.
Shift key was originally assigned to axis exclude (the comment in the code is wrong - it was not "axis swap", it was "axis exclude" functionality) because there were no such kind of a controlling planes in gizmo by design, and now it is fixed.

I'm going to assume that it would be a significant job to change gizmo interactions from being hardcoded to remappable, and that should probably PR by itself.

Yes, it will be definitely dificult, luckily it is not needed to solve the task.

SHIFT+ALT, but that appears to be very difficult given how the gizmo modifiers are passed. The data of the different keys isn't encoded together, they just overwrite each other.

How about to assign

  • object linked duplication (bpy.ops.object.duplicate_move_linked by Alt+D)
  • and edit mode selection duplication (bpy.ops.mesh.duplicate_move by Shift+D)

functionality simply to ALT+gizmo instead of previously proposed SHIFT+ALT+gizmo?

KM_ALT key seems to be unused for both gizmos interaction and transform modal map at the moment, so it is pretty safe to occupy it for such a purposes.

> I do strongly believe "Shift" being Extrude and duplicate, is far more useful to more users that the "Axis Plane Swap", as there mouse can easily push the gizmo plane. Sure! This is why those control planes has been added quite recently, there is no need to recover swap axis via gizmo interaction hotkeys anymore. Shift key was originally assigned to axis exclude (the comment in the code is wrong - it was not "axis swap", it was "axis exclude" functionality) because there were no such kind of a controlling planes in gizmo by design, and now it is fixed. > I'm going to assume that it would be a significant job to change gizmo interactions from being hardcoded to remappable, and that should probably PR by itself. Yes, it will be definitely dificult, luckily it is not needed to solve the task. > SHIFT+ALT, but that appears to be very difficult given how the gizmo modifiers are passed. The data of the different keys isn't encoded together, they just overwrite each other. How about to assign - object linked duplication (`bpy.ops.object.duplicate_move_linked` by Alt+D) - and edit mode selection duplication (`bpy.ops.mesh.duplicate_move` by Shift+D) functionality simply to ALT+gizmo instead of previously proposed SHIFT+ALT+gizmo? KM_ALT key seems to be unused for both gizmos interaction and transform modal map at the moment, so it is pretty safe to occupy it for such a purposes.
Author
Contributor

ALT+gizmo isn't great, as it might mess with peoples navigation which is used extremely often.

I'm out of things that I feel need to be explored on this feature, so I'm going to remove the WIP.
Using it in practice feels really good, and I think many users will use it a lot. I think additional things could be added to future PRs.

ALT+gizmo isn't great, as it might mess with peoples navigation which is used extremely often. I'm out of things that I feel need to be explored on this feature, so I'm going to remove the WIP. Using it in practice feels really good, and I think many users will use it a lot. I think additional things could be added to future PRs.
Kyler Kelly-Tan changed title from WIP: Shift Extrude and Duplicate of meshes and objects to Shift Extrude and Duplicate of meshes and objects 2024-03-05 03:41:23 +01:00
First-time contributor

ALT+gizmo isn't great, as it might mess with peoples navigation which is used extremely often.

Can you please explain which way, I am not sure if I got this point right. Do you mean emulate 3 button mouse?

If so, how about SHIFT+RMB? It is used for dragging 3dcursor, which is useful, but not extremely relevant as, say, viewport navigation, so it could also be possibly shared also for gizmo interactions with an affordable tradeoff.

> ALT+gizmo isn't great, as it might mess with peoples navigation which is used extremely often. Can you please explain which way, I am not sure if I got this point right. Do you mean emulate 3 button mouse? If so, how about SHIFT+RMB? It is used for dragging 3dcursor, which is useful, but not extremely relevant as, say, viewport navigation, so it could also be possibly shared also for gizmo interactions with an affordable tradeoff.
First-time contributor

For sure, it would be nice to implement regular duplication and extrude functionality now, since Blender is ready for that, so it will not take much efforts, but it would be nice to have duplicate linked and editmode duplication resolved later at some point in case if it assume deeper involvement, since such a functionality is also basic and therefore is quite demanded.

For sure, it would be nice to implement regular duplication and extrude functionality now, since Blender is ready for that, so it will not take much efforts, but it would be nice to have duplicate linked and editmode duplication resolved later at some point in case if it assume deeper involvement, since such a functionality is also basic and therefore is quite demanded.
Kyler Kelly-Tan added 3 commits 2024-03-07 16:40:40 +01:00
Kyler Kelly-Tan added 2 commits 2024-03-07 22:48:08 +01:00
fb12733803 Removed Shift Clicking Gizmo handles to constrain on secondary axis.
Due to adding shift extrude and duplicate.  This code can no longer do anything, so has been removed.
Author
Contributor

I explored more into setting up Alt to be linked duplication.

I ran into a few issues.

  1. When you press alt, while you are highlighting a transform gizmo, it unhighlights. (even if you turn off Alt navigation). So you can no longer click on the gizmo. I tried to find out exactly why this is, but I couldn't track it down.

  2. I don't understand the original authors code well enough to be able to understand how to branch the code at the correct place to decided between duplicate and duplicate linked. I have some suspicions, but my grasp of blender is not high enough. In particular in the wm_gizmo_map.cc, there is gzop = WM_gizmo_operator_get(gz, 16);

I don't understand why 16 is the right number for this, or how this code results in selecting the right gzop in the end. I followed the debug path of this code for a long time, but still don't understand where the selection of Operation actually happens.

  1. Using Shift + right click or using CTRL. These are controls that are already taken by other things in blender.

So at this stage, I truly am giving up on linked duplication. I do see it's benefit, but I can't manage to make it happen.

I'm sure my lack of understanding this code will gnaw away at me, and someday I will be forced to look at it again and maybe then I can implement it.

I explored more into setting up Alt to be linked duplication. I ran into a few issues. 1. When you press alt, while you are highlighting a transform gizmo, it unhighlights. (even if you turn off Alt navigation). So you can no longer click on the gizmo. I tried to find out exactly why this is, but I couldn't track it down. 2. I don't understand the original authors code well enough to be able to understand how to branch the code at the correct place to decided between duplicate and duplicate linked. I have some suspicions, but my grasp of blender is not high enough. In particular in the wm_gizmo_map.cc, there is gzop = WM_gizmo_operator_get(gz, 16); I don't understand why 16 is the right number for this, or how this code results in selecting the right gzop in the end. I followed the debug path of this code for a long time, but still don't understand where the selection of Operation actually happens. 3. Using Shift + right click or using CTRL. These are controls that are already taken by other things in blender. So at this stage, I truly am giving up on linked duplication. I do see it's benefit, but I can't manage to make it happen. I'm sure my lack of understanding this code will gnaw away at me, and someday I will be forced to look at it again and maybe then I can implement it.
Kyler Kelly-Tan added 3 commits 2024-03-11 18:41:38 +01:00
First-time contributor

I explored more into setting up Alt to be linked duplication.

I ran into a few issues.

  1. When you press alt, while you are highlighting a transform gizmo, it unhighlights. (even if you turn off Alt navigation). So you can no longer click on the gizmo. I tried to find out exactly why this is, but I couldn't track it down.

  2. I don't understand the original authors code well enough to be able to understand how to branch the code at the correct place to decided between duplicate and duplicate linked. I have some suspicions, but my grasp of blender is not high enough. In particular in the wm_gizmo_map.cc, there is gzop = WM_gizmo_operator_get(gz, 16);

I don't understand why 16 is the right number for this, or how this code results in selecting the right gzop in the end. I followed the debug path of this code for a long time, but still don't understand where the selection of Operation actually happens.

  1. Using Shift + right click or using CTRL. These are controls that are already taken by other things in blender.

So at this stage, I truly am giving up on linked duplication. I do see it's benefit, but I can't manage to make it happen.

I'm sure my lack of understanding this code will gnaw away at me, and someday I will be forced to look at it again and maybe then I can implement it.

Hi, thanks for trying! But I do not think its a super big issue since you can still change it to linked duplicate in the operation settings, so as long as the current used setting is savde for the next time you duplicate, I feel like it should be okay :)

This is similar to how it works in other softwares like 3ds Max. in Maya its not even an option, it always just duplicates the mesh.
image

> I explored more into setting up Alt to be linked duplication. > > I ran into a few issues. > > 1. When you press alt, while you are highlighting a transform gizmo, it unhighlights. (even if you turn off Alt navigation). So you can no longer click on the gizmo. I tried to find out exactly why this is, but I couldn't track it down. > > 2. I don't understand the original authors code well enough to be able to understand how to branch the code at the correct place to decided between duplicate and duplicate linked. I have some suspicions, but my grasp of blender is not high enough. In particular in the wm_gizmo_map.cc, there is gzop = WM_gizmo_operator_get(gz, 16); > > I don't understand why 16 is the right number for this, or how this code results in selecting the right gzop in the end. I followed the debug path of this code for a long time, but still don't understand where the selection of Operation actually happens. > > 3. Using Shift + right click or using CTRL. These are controls that are already taken by other things in blender. > > So at this stage, I truly am giving up on linked duplication. I do see it's benefit, but I can't manage to make it happen. > > I'm sure my lack of understanding this code will gnaw away at me, and someday I will be forced to look at it again and maybe then I can implement it. > Hi, thanks for trying! But I do not think its a super big issue since you can still change it to linked duplicate in the operation settings, so as long as the current used setting is savde for the next time you duplicate, I feel like it should be okay :) This is similar to how it works in other softwares like 3ds Max. in Maya its not even an option, it always just duplicates the mesh. ![image](/attachments/06585c1f-b2fc-4509-a011-278c7756059e)
First-time contributor

Yes, in Max it was solved because it has extended instancing that includes one-way refrencing, in Maya it has never been solved. From my experience, C4D users also had some problems with understanding instancing mechanics, and confuse it with Cloner quite often.

Thanks for trying!

Yes, in Max it was solved because it has extended instancing that includes one-way refrencing, in Maya it has never been solved. From my experience, C4D users also had some problems with understanding instancing mechanics, and confuse it with Cloner quite often. Thanks for trying!
Kyler Kelly-Tan added 1 commit 2024-03-15 01:57:01 +01:00
Author
Contributor

I have been working on this more. Going to put it back into WIP.

I discovered some issues with different keymaps being assigned, preventing this from working at all.

I've also been diving further into the possibility of linked duplication via holding ALT. I've got it working, though it's a real pile of code. I suspect I can adjust it to remove some repeated code.

I've also been experimenting with ALT in mesh mode being "Split" so you can easily disconnect pieces. Not sure if it is the right move yet. It might be a more dangerous capability than useful.

I think I want to dive deeper into understanding if it's possible to make this thing keymap-abled.

I have been working on this more. Going to put it back into WIP. I discovered some issues with different keymaps being assigned, preventing this from working at all. I've also been diving further into the possibility of linked duplication via holding ALT. I've got it working, though it's a real pile of code. I suspect I can adjust it to remove some repeated code. I've also been experimenting with ALT in mesh mode being "Split" so you can easily disconnect pieces. Not sure if it is the right move yet. It might be a more dangerous capability than useful. I think I want to dive deeper into understanding if it's possible to make this thing keymap-abled.
Kyler Kelly-Tan closed this pull request 2024-03-21 16:43:38 +01:00
Kyler Kelly-Tan added 4 commits 2024-03-21 16:43:45 +01:00
Kyler Kelly-Tan reopened this pull request 2024-03-21 16:44:18 +01:00
Kyler Kelly-Tan changed title from Shift Extrude and Duplicate of meshes and objects to WIP: Shift Extrude and Duplicate of meshes and objects 2024-03-21 16:44:34 +01:00
Kyler Kelly-Tan added 1 commit 2024-03-21 17:07:24 +01:00
Kyler Kelly-Tan added 1 commit 2024-03-21 17:34:29 +01:00
1d072bdf1a Changed the mesh split to Duplicate
Also change linked duplicate and mesh region duplicate to SHIFT + ALT, to make it a more intentional choice.
Author
Contributor

I've made another choices, putting linked duplicate on SHIFT + ALT, and changing the mesh operation of SHIFT + ALT to duplicate

The split option just felt destructive and weird, and this makes it someone more consistent, that shift + alt is always a "creation" operation, and not a destruction operation.

I've made another choices, putting linked duplicate on SHIFT + ALT, and changing the mesh operation of SHIFT + ALT to duplicate The split option just felt destructive and weird, and this makes it someone more consistent, that shift + alt is always a "creation" operation, and not a destruction operation.
Kyler Kelly-Tan added 1 commit 2024-03-21 17:39:31 +01:00
Author
Contributor

image

There was something I discoverd, this keymap "Generic Gizmo Maybe Drag" needs to be set to "Any" and have Alt turned on for this stuff to work.

Still have to figure out how to implement that in my PR.

![image](/attachments/7fa965d6-49a8-49f2-8976-c569e55baba5) There was something I discoverd, this keymap "Generic Gizmo Maybe Drag" needs to be set to "Any" and have Alt turned on for this stuff to work. Still have to figure out how to implement that in my PR.
First-time contributor

I've made another choices, putting linked duplicate on SHIFT + ALT, and changing the mesh operation of SHIFT + ALT to duplicate

Sounds great 👍

I wish someone could run the bot to make a package so we could test a little bit

> I've made another choices, putting linked duplicate on SHIFT + ALT, and changing the mesh operation of SHIFT + ALT to duplicate Sounds great 👍 I wish someone could run the bot to make a package so we could test a little bit
Author
Contributor

@blender-bot build package windows

Lets see if that works @ThinkingPolygons Let me know if you need a different platform

@blender-bot build package windows Lets see if that works @ThinkingPolygons Let me know if you need a different platform
Member

Unknown platform package. See documentation for details.

Unknown platform `package`. See [documentation](https://projects.blender.org/infrastructure/blender-bot/src/branch/main/README.md) for details.
Author
Contributor

@blender-bot build package

@blender-bot build package
Member

Unknown platform package. See documentation for details.

Unknown platform `package`. See [documentation](https://projects.blender.org/infrastructure/blender-bot/src/branch/main/README.md) for details.
Author
Contributor

@blender-bot package

Ahh.. There is the command

@blender-bot package Ahh.. There is the command
Member

Only blender organization members with write access can start builds. See documentation for details.

Only blender organization members with write access can start builds. See [documentation](https://projects.blender.org/infrastructure/blender-bot/src/branch/main/README.md) for details.
This pull request is marked as a work in progress.
This branch is out-of-date with the base branch

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u ShiftExtrude:kylerk-ShiftExtrude
git checkout kylerk-ShiftExtrude
Sign in to join this conversation.
No reviewers
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#118968
No description provided.