This is the Stable version. You can get the experimental version on Gumroad: https://hissatsuneko.gumroad.com/l/pgtsi
Also If you found this Add on helpful Give it a rating! 😊
I always post video explanations of the functions here: https://blenderartists.org/t/gp-select-addon-to-preform-actions-by-stroke-selections-for-gp3-3/1632201/7
If people ask , i will make Tutorial videos
This is a Cut Out , puppet animation focused Grease Pencil tool to speed up your rigging work flow. Even if you aren't a cutout animator, or rig Grease pencil , you'll still benefit.
The idea behind this add on: is that you just select the stroke you want, and perform the action you need. Use Edit mode (or sculpt mode with selection masks turned on) to select strokes. Then while a stroke is selected you can Change layers , Isolate strokes for weight painting, reorder layers by selection, Mask by selected, Hide layers by selected, Rename by selected, Opacity by selected, Multiple layer Duplication, Delete selected stroke layers, Move groups by selected, Group Multiple layers by selected, Select By prefix, infix, suffix, and index passes, All by the strokes you have selected. "Switch to Layer" Will be the most useful operator. Quickly go to a layer to draw on it, or to perform the other GpSelect functions.
I also added Rig generation Tools. Check that out near the bottom here.
Also i added Modes switching tools for that added benefit. Because you are going to need the lasso tool most of all. Brush, lasso , pull, pinch , Strength , and Thickness. (pinch was meant to be in it's "Inflate" mode so it acts like the liquefy tool in raster art apps, but there was some issues with it, so i'll add it later.)
All Functions work by selecting strokes in Edit mode (or sculpt mode with selection masks turned on) and pressing the buttons
NEW: I'm adding this here because it effects most operators but it's not a operator itself
Mark as locked Gps. This works on groups. This is a locking system i made specifically for Gpselect. Any Layers you put inside groups that have the suffix name 'LockedGPS' Will make Some GpSelect Operators ignore them. For example the Opacity slider. Say you want a layer to always stay hidden but you want to reset the opacity value? put it inside a group and Mark it as LockedGPS and the Opacity slider will ignore that layer.
Similar to "Set as active Material," Switch to layer Does just that. It changes the active layer to the one of the selected stroke.
Brings the selected Strokes into Weight Paint Mode and isolates it from others strokes that have different materials , and/or are on different Layers. If you have a parented armature, it will also select that armature when entering weight paint mode so you can switch vertex weights by selecting different bones. If you leave weight paint mode , your layers and materials will unlock. This is also Togglable! So now instead of pressing two hotkeys ( one for lasso and one for weight selected) you can just use one.
What this does is Duplicate the material of the selected stroke , The colors and setting , and assigns it to the selected stroke. This is useful with "Weight Selected" since it requires different materials to work well.
This function only works in Edit mode and sculpt mode. You can rename up to 5 of the new materials but it's not by stroke order because the selected stroke's selection order isn't recorded in grease pencil. i added something where you can see what layers the selected stroke was on so you can figure that out. either way It works even if you leave the field blank.
Moves the layer of the selected stroke to the very top or bottom of your layers. Works inside groups too.
These will move the Layer Of The Selected Stroke, Over or Under the Active Layer( the layer you are on) . If the Group folder itself is "Active" , the stroke will move inside the group to the top or bottom.
These will move the Active Layer Group ( the not the group you are in, but the one selected in blue) , Over or Under the selected stroke Layer .
Hides all the layers of all strokes you have selected.
This has the same effect as "Auto lock inactive layers," except it is Material based. and is togglable.
Lock the layers of the selected strokes. You can keep locking layers by selecting strokes. To toggle it off , Deselect all strokes then press it again. All layers locked will be unlocked.
This will Duplicate the strokes and layers of the selected strokes. Then hide the original strokes, so you can move the new ones out of the way
Delete layers of the selected stroke. You'll get a prompt before doing it , so don't worry .
This takes the selected stroke's layers and puts them into a group.
I added a way for you to change the selected strokes layer's names. Prefix, Suffix, and Full Rename. Select the strokes who's layers you want renamed, then type what you want in the text boxes and press the buttons. I also added find and replace , and strip punctuations/numbers from the end like you can with bones.
Select all strokes on layers that share the the same Prefix, infix, or Suffix.
A Prefix is the first letter separated by a space. Infix is the next word , and Suffix is the last word. Example: (A Arm.L Dup) . You can also select by Pass indexes of materials and layers if you want.
Set multiple pass index's for layers and material by selected. Why do you need this? In the Modifiers there's a tab called "Influence." There you can set a Pass index for layers or materials for the modifier to effect. Normally you would have to go to each individual layer and material and set it's pass index. But now you can select the strokes on the layers you want and set there pass indexes all at once. Then if you need material passed , select strokes that have materials you want to add pass indexes to. One good example is the opacity modifier. if you set it to it's hardness mode and set it's hardness factor to 0.95 , your strokes will look softer , almost like a raster art program. Then you can add a "pixel" effect 3 on both , and now in object mode you will have lines that look fully raster
You can adjust the Opacity of all layers of the selected strokes at once. You set the value , then click apply
Mask the layers of the selected strokes, to the active layer, or vice versa. There's also buttons to remove the masks, invert the masks , and toggle on and off visibility of masks with out removing them.
Unlock all Gp layers , Materials, and make all objects in the scene selectable. There were edge cases where you would be locked out of your objects , layers and materials, because of weight selected. It always had automatic things to prevent that , but i have found it will happen anyway and i can't figure out every edge case with out feedback from other users 😅 . So i just added a button to unlock everything. i want everything to be smooth as possible for ya'll :3
This checks the see if any indices are on a layer and if not , deletes the layer. It skips anything that either Has something on it , is hidden , or locked. Some times you just might have some accidental layers that have nothing on them. maybe you moved strokes off if or something. that's what this is for. just a nice clean up. Has a confirmation box just in case.
let's you just select bones in weight paint mode and apply weight to the selected strokes ( use with weight selected) . it's the same thing as when you select a stroke in edit mode , find the vertex group and hit assign. except you can do it in weight paint mode (which you normally can't) , and do it by selecting bones with Ctrl + Shift + Left Click in weight paint mode ( with a armature selected. which weight selected does)
This will Strip the weight from the selected strokes. Use case: Some times when you want to repaint a stroke, you'll give it zero weight but some verts will still have some weird weight on it some where. This operator will go through all the current vertex groups and strip the weight from them all for the strokes you have selected.
This will give the selected strokes full weight based off it's layer's name. For Example: You have a Layer called Arm.L , And you have a bone called Arm.L. The operator will give 1.0 weight to all strokes on the layer. Because the vertexgroup/bone have the same name.
*Note : Remember to parent the armature to the greasepencil first. So blender generated the Vertex groups.
Example of uses: With premade rigs and template style Gp files. Or you can just copy the layer name , then go to a bone you want that stroke parented to , and rename the bone to the name as that layer. This will automatically change the vertex group to be the same ( if the group exist). You can also parent the gp to the armature first and uses "Make Layers From Groups." OR use "Sync Layer Names".
This takes the selected v group from a bone and changes the layer to the layer of the V group. This is used in weight paint mode along with "Assign weight from v-groups" in the auto rigging section. Assign weight from v-groups assigns 1.0 weight to every stroke on the selected stroke layer, based on a v-group with the same name.
This looks at all the current vertex groups and makes layers With those same names.
Create Bone from layer makes a bone/vgroup at the 3d cursor location from the selected stroke layer name ( only works on one layer at a time) . And also automatically adds 1.0 weight to the strokes you had selected. You can also connect new bones the the previous selection if you press the " Connected parent" toggle in the pop up box. Use this with Generate: "arm/leg ik" or alone.
This whole setup is to make it as easy as possible to make bones parented to strokes , you can use as is , or add a Ik setup to.
I designed this to work with rig generation operators i plan to add later, in the Rigging Tools section at the bottom. The rig generators will make Ik setups for you and make the bones you created into stretch deformers.
Even with out making a bone , you now have a quick one button way to toggle to pose mode and grease pencil edit mode.
These functions automate certain rigging tasks.
this first tool is if you need a timeline controller. For things like a eye blink , or different hands. you would do that with the Time offset Modifier. First make some frames you want controlled. Select strokes you want added and press the button. It even added a Duplicate frame one on frame 0 for you. ( this is required for the time offset modifier)
Use this by selecting at least one stroke on the layers you want added. This will Make a time offset modifier for the specific layer of the selected strokes. And also generate a simple control rig for it. If you already have a Armature parented to your grease pencil , it will add the bones to it. If not it will make a new rig.
Use this by selecting at least one stroke on the layers you want added. This will Make a time offset modifier using index passes. it will add the one you pick to each layer of a selected stroke , and then give it ONE controller for all of them.
Use this by selecting the control bone in pose mode This button removes the full setup. Use this by selecting the control bone in pose mode. It deletes the controller bones , Removes the time offset modifier connected to the driver , and set the index passes of the layers to 0.
Use this by selecting the control bone in pose mode, or a effected stroke in edit mode. This let's you alter the setting of the driver connected to the control bone to make the driver more sensitive. You Use this if you have more than 6 frames you want to control. So far the default is set so you have 6 frames with a 90 degree turn of the control bone.
Arm/Leg IK lets you make a simple Arm or leg setup with 3 or 4 bones. Arm is 4 bones ( Shoulder blade , Top arm , Lower arm , and Hand) and for a legs 3 bones (Thigh , lower leg , and foot) To use it you select the bones in edit mode and press the button. The Rig is a Ik and 2 stretch bones with 3 little control bones you can position. one at the shoulder , one at the elbow and one at the wrist.
Tip from me for the leg , on the tip Stretch Con , go to it’s bone properties and uncheck “Inherit rotation.” that will make the foot not rotates when moving , but i left the default just in case you want it. Also Change the Bone display to B-Bones. I decided to leave that choice up to the user but it’s hard to see the stretch cons if you don’t.
This will generate a Spline , SPINE! for your character. You use it by Selecting 5 Parented Bones. You can also use it for hair or other flowing things. If you want the best control you should give the head_con a limit distance constraint to the hip_con, and Give the Mid_con a copy location for both the Head_con and the Hip_con. Set the target and owner to local space and set the influence to 0.500. This will make the controller a bit more stiff like a spine . If you move the hips the head will follow. Lastly Parent the Root of the leg gen bones to the hip_con and the Blade bones of the arms to the mid_con. after that you're set!
Use this by selected the strokes you want the "Lattice rig" on. You can make one for individual layers or multiple by pass indexs. There are options to change the resolution of the generated lattice rig in the panel . The higher the rez the more controller bones you get.
Assign weight to closest bone. This will give 1.0 weight to the closest points of the selected bone.
Unified Selection modes: "Sync Selection" Check box makes Selection mask and selection types the same Between Edit mode and Sculpt mode.
Soon to be removed:
Sync Layer Names. This takes the selected v group from a bone and changes the layer to the layer of the V group.
Well that's it. i hope this helps you in your Greasepencil work flow 😊
Alright this should be the final update until something new is added to Greasepencil:
I just added quality of life functions:
1)You can now toggle the armature modifier of the Grease pencil from any mode. 2)You can remove locked gps from everything with one button.
Fix: The layers version of locked gps was actually not working with weight selected. it now ignores it properly and makes sure the layers and groups stay locked when entering and exiting.
Change:
I put the lattice resolution controls into the operator itself And made it one thing. i also added a con influence panel that let's you reassign the constraints
OK thanks everyone 😁
This extension does not require special permissions.
You're Welcome :3 ! I'm Glad you found it useful.
Now I have just discovered your plugin! Thank you so much for your efforts!