text:
Root bone and walking cycles (how to keep armature in place)
I'm animating a character for a game and I need help. I can animate static actions just fine because the character stays in place (like breathing or pointing a finger), but I'm completely lost as to how to proceed with animations like walking or jumping where the character has to move forward.
It is my understanding that it's better not to animate the root bone if the animation is made for games, but I can't figure out how to make the walking animation stay in place. I'm moving the pelvis/hip bone forward with every keyframe, I mean that's the normal procedure right? Otherwise I don't understand how would you animate a walking cycle.
The question is, how can I make the armature/mesh in place like you see in your usual game animation like this? I'm trying to make it cycle by copying the cycle to the end of the current timeline, but because the armature is moving, it begins walking right at the start of the first animation instead of the place where the last frame is.
Here's a gif of my animation, can upload the .blend if you need it.

Thank you very much.

It's simple (if uncomfortable for an animator!).
You have to keyframe the pelvis bone's movement but ONLY on the up/down left/right axis. Don't move it back and forward at all, and your character will walk in place like on a treadmill.
This is annoying because you can't even perceive if the motion is right unless it's actually MOVING around!
So, to save your current project you can go to the timeline or dopesheet side list, pick the track that contains the bone's forward movement, and simply delete it. The bone will keep doing its job as usual, only now it shouldn't move forward anymore.

I tested this on a very complicated rig, full of IKs, so that's why it looks weird, but if you look only at the shoulder bone, after deleting the Z-location it keeps going up and down as normal, it just stopped moving forward.

I'm moving the pelvis/hip bone forward with every keyframe, I mean that's the normal procedure right?

I think you don't move those bones forward. Animate the character in place, as if they're on a treadmill.


text:
PC screen "washed out" in rendering
I have a model of an iMac here. I put a screenshot of our geriatric care software on it. Unfortunately, the render result looks very "washed out". Little colors and little contrast. It feels like I've tried all the settings, but I can't get any better results. It seems to be due to the "scene environment".
Could someone put me on the right horse here?
Original screenshot:

Rendered screenshot:

Blender-File:
https://1drv.ms/u/s!AsGWzsxwWW8RkRkA7Js1WZg_Xbzu?e=yumPkg
Many Thanks!
George

Hello :). What exactly have you tried to solve this. And how did you add the image - using a shader? Real screens are backlit, what about this one?

https://blender.stackexchange.com/questions/58272/making-an-emission-shader-emit-a-different-colour-of-light-than-the-colour-assig/58280#58280

Your screen is not emitting light, so it's like it was printed on a piece of paper instead of a screen. 2. Your world is completely white with a strength of 1, which makes your piece of paper being strongly lit. 3. The sun lamp with a strength of 8 is also quite strong which overexposes the image a lot, too. 4. In the Color Management, the View Transform is set to Filmic and the Look to None, better would be Medium High Contrast or High Contrast.

Oh, and 5. since a monitor display is usually dark when it's not displaying an image, it would be best to plug the image only into the Emission input, and leave the Base Color a medium or dark gray.

Thank you for the complete review. As you see: We ware complete 3D-noobs, doing first steps in an unknown area ;-)
We will completely rethink our scene setup when the opportunity arises, but since we have already finished some scenes, we currently cannot change "global" parameters.
Currently the image is placed via a shader and the screen has no backlit.
But I don't understand why the "headline" of the rendered screenshot is really black, but the "body text" is muddy gray. In the original screenshot, the body text has the same black as the header.

I can only guess that this has to do with anti-aliasing etc., you see there is a large black space in the header with not much "side effect" from the surrounding white, whereas the text is made of thinner lines where the influence of the surrounding white has much more effect. When images are anti-aliased and there's e.g. a 1 pixel black line on a white background, than white and black get mixed at the threshold to gray. If the line is 50 pixels wide and the outer 1 pixel border is gray, then the inner 48 pixel line is still black thus making this line appear black, and the thin line gray.

you could add a hue/saturation node, then you get this:

or with saturation 10:

UPDATE
as troy_s wrote here (How do you make an image emission without washing out the image?)
you can change your shader like this:

and color management like this:

and then you will get:

and here another result with slightly different values:

To get it more realistic it would help to first of all make the screen emissive.

@GordonBrinkmann : you are Right, but he asked for the „washed out“ problem, not for realistic

Well, if you want to be nit-picky and just care for what he actually wrote... he was guessing it has to do with "scene environment". So before I change saturation etc. which changes the actual colors of the image, I would reduce the overall brightness in the scene and set View Type to Standard instead of Filmic... maybe even set the Specular in the Principled BSDF to 0 et voilà, it looks a lot better than before ;)

@GordonBrinkmann : you are free to write a much better answer than I did…just do it.

Thank you very much for your answer. Its getting better...
But I don't understand why the "headline" of the rendered screenshot is really black, but the "body text" is muddy gray. In the original screenshot, the body text has the same black as the header.

i updated my answer for another solution - which Duarte linked

@Chris : Nice, THX! With that settings the screen is pefect, but the rest of the scene far to dark. I think the complete setup of the scene has to be reworked... somehow.

You could increase your light strength …

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/

sort: votes


text:
Determine if fcurves cannot be evaluated from Python
I'm trying to detect fcurves that are "errors" (the ones with the red underlines):

I've tried code like this:
import bpy

valid = 0
invalid = 0

for action in bpy.data.actions:
    for f in action.fcurves:
        if f.is_valid:
            valid += 1
        else:
            invalid += 1

print(valid)
print(invalid)

However, certain fcurves that are invalid are only registered as "invalid" in this code if I open an action from the GUI and it goes ahead and evaluates them to determine that they're errors.
How can I detect these from my code without needing to manipulate the GUI so I can process these fcurves?

Probably not the loop to use (action in bpy.data.actions) Need to know for what object(s) the action is for. For example all pose bone fcurves will be invalid for the Cube. If the object is an armature it will require the named pose bone.  https://blender.stackexchange.com/questions/214049/evaluate-fcurve-without-keyframes-wont-work/214058#214058

ID.path_resolve
Probably not the loop to use (action in bpy.data.actions) Need to know for what object(s) the action is for. For example all pose bone fcurves will be invalid for the Cube. If the object is an armature it will require the named pose bone.
Similarly to
Evaluate FCurve without keyframes won't work
can use Object.path_resolve(FCurve.data_path) in a try / except clause to search for what will be seen as invalid fcurves.
Have left out the "obvious" test of looking to see which action is assigned to objects animation data
Is the object that is associated with an action selected?
action is ob.animation_data.action

or searching for it in the Strips of NLA Tracks. Something like
any(s.action is action for t in ob.animation_data.nla_tracks for s in t.strips)

Also look at the Action.id_root which is set when adding a new action to a particular data type using the UI.  No suitably rooted paths error when trying to set action on object
Test script, checks all actions against all objects, meshes, shape keys and materials and counts the fcurves  valid for each.
import bpy
from itertools import product
context = bpy.context
prev = None
for action, ob in product(
        bpy.data.actions,
        sum(
                (
                bpy.data.objects[:],
                bpy.data.meshes[:],
                bpy.data.materials[:],
                bpy.data.shape_keys[:],
                ),
                []
            )
        ):
    if action is not prev:
        print("-" * 44)
        print(f"Action : {action.name}")
        n = len(action.fcurves)
        print()
        print(f"\tID {action.id_root}")
        print(f"\tFcurves : {n}")
        prev = action
    def is_valid(fc):

        try:
            ob.path_resolve(fc.data_path)
            return 1
        except:
            return 0
    v = sum(is_valid(fc) for fc in action.fcurves)
    print(f"\t{ob.bl_rna.identifier} : {ob.name}  Valid : {v} ({100 * v / n}%)")
print()

Test run, quickly added some keyframes to some objects, a mesh, an armature object a material and a shape key.  The "CubeAction" on the cube action was LocRotScale, which will be valid on any object.
--------------------------------------------
Action : ArmatureAction

    ID OBJECT
    Fcurves : 10
    Object : Armature  Valid : 10 (100.0%)
    Object : Camera  Valid : 0 (0.0%)
    Object : Cube  Valid : 0 (0.0%)
    Mesh : Cube  Valid : 0 (0.0%)
    Material : Material  Valid : 0 (0.0%)
    Key : Key  Valid : 0 (0.0%)
--------------------------------------------
Action : CameraAction

    ID OBJECT
    Fcurves : 3
    Object : Armature  Valid : 3 (100.0%)
    Object : Camera  Valid : 3 (100.0%)
    Object : Cube  Valid : 3 (100.0%)
    Mesh : Cube  Valid : 0 (0.0%)
    Material : Material  Valid : 0 (0.0%)
    Key : Key  Valid : 0 (0.0%)
--------------------------------------------
Action : CubeAction

    ID OBJECT
    Fcurves : 6
    Object : Armature  Valid : 6 (100.0%)
    Object : Camera  Valid : 6 (100.0%)
    Object : Cube  Valid : 6 (100.0%)
    Mesh : Cube  Valid : 0 (0.0%)
    Material : Material  Valid : 0 (0.0%)
    Key : Key  Valid : 0 (0.0%)
--------------------------------------------
Action : CubeAction.001

    ID MESH
    Fcurves : 1
    Object : Armature  Valid : 0 (0.0%)
    Object : Camera  Valid : 0 (0.0%)
    Object : Cube  Valid : 0 (0.0%)
    Mesh : Cube  Valid : 1 (100.0%)
    Material : Material  Valid : 0 (0.0%)
    Key : Key  Valid : 0 (0.0%)
--------------------------------------------
Action : KeyAction

    ID KEY
    Fcurves : 1
    Object : Armature  Valid : 0 (0.0%)
    Object : Camera  Valid : 0 (0.0%)
    Object : Cube  Valid : 0 (0.0%)
    Mesh : Cube  Valid : 0 (0.0%)
    Material : Material  Valid : 0 (0.0%)
    Key : Key  Valid : 1 (100.0%)
--------------------------------------------
Action : MaterialAction

    ID MATERIAL
    Fcurves : 2
    Object : Armature  Valid : 0 (0.0%)
    Object : Camera  Valid : 0 (0.0%)
    Object : Cube  Valid : 0 (0.0%)
    Mesh : Cube  Valid : 0 (0.0%)
    Material : Material  Valid : 2 (100.0%)
    Key : Key  Valid : 0 (0.0%)

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Render row.operator not working
I am working on an add-on for Blender 2.83.1, which adds a panel to the sidebar. On this panel, the user simply has to press some buttons from top to bottom to achieve the goal (creating an animation of an electron density cloud).
The last button is of course rendering, but I can't get it to work. I am using row.operator('render.render(animation=True)'), but when running the script, the button does not appear. I am doing what is stated in the API I believe. row.operator('render.render') does work, but doesn't give an animation, but a single frame.
The render has to be done using Eevee, I don't know if this makes a difference...
I really hope someone can help me!
full class:
class PT_Make_animation(bpy.types.Panel):
    bl_label = "Animation"
    bl_idname = "PT_Make_animation"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = 'e- Density Plot'
    bl_options = {'DEFAULT_CLOSED'}

    def draw(self, context):
        layout = self.layout

        # Create the circle, add camera and set
        row = layout.row()
        row.label(text= "Change the camera settings", icon='TOOL_SETTINGS')
        row = layout.row()
        row.operator('setup.cam_operator')

        # Start rendering
        row = layout.row()
        row.operator('render.render(animation=True)')

I think it is meant to be something like
row.operator("render.render", text="Render Animation", icon='RENDER_ANIMATION').animation = True

This worked perfectly, thank you!
So, the parameters should be after the parentheses, I did not know that.


text:
selecting and moving lamp using right mouse button
I just registered in the forum and am asking my first question. I am new to Blender and 3d animation. A reference work I am using to learn Blender states that the lamp can be selected and moved by hovering the cursor over the lamp and clicking and holding the lamp with the right mouse button. When I first tried it the click kept producing a contextual menu but suddenly a RMB click did allow me to move and adjust lamp. I don't know what I did because I cannot now replicate it: a RMB click just produces a contextual menu. I am running Windows 10. Thanks for your replies.
Monty

The selection behavior in the user interface has changed significantly between versions 2.79 and 2.80 of Blender. Presumably your reference material is pre-2.80 but you're using 2.80 or later...?

Thank you. I see my mistake. Using 2,81a, but the guide (Blender 3D Basics: Beginner's Guide by Gordon Fisher), which I find very easy to follow, was published in 2012 and based on ver. 2.63. Two questions. Any recommendations for a third-party guide based on current version? The video tutorials referenced by the program itself seem excellent and perhaps that should be my sole guide. Unless there is a very simple answer as to how to move the lamp, I will search those online tutorials.

I'd suggest the official Help/Tutorials guides are the best place to start - especially since it's all tailored to the correct version (a lot has changed with the leap to 2.80). Anything else, either search online or post questions on this site - there are always people happy to help.

The selection behavior in the user interface has changed significantly between versions 2.79 and 2.80 of Blender (as well as many other changes to the user interface).
Use the Help/Tutorials menu option within Blender to like to official online tutorials
and resources that will be suitable for the appropriate version of Blender.


text:
Part of my drawing disappears depending on perspective/zoom

I installed Blender yesterday, so I'm still trying to figure things out. I'm working on a 2D/3D hybrid animation thing with grease pencil, but one of my drawings (the lollipop) clips/disappears depending on perspective/zoom. The lollipop is supposed to be in front of the box, so I'm not sure why this is happening?

Can you add an image of the object disappearing ?

here's a video

I am not sure but try reducing the clipping of your scene(click n to open the properties bar->view ->clipping) and change your clip start to 0.001m

it didn't fix it unfortunately

Here are some possibilities;

As a quick fix you could try and set the Candy object strokes setting to 3D Location if it's not already. By default they're set to 2D Layers and this is generally the more useful setting but 3D might resolve your issue here. (Object Data properties - Strokes - Stroke Depth Order)

I would guess that the issue is because your object is set to 2D Layers and has items in the foreground and background/different planes. Blender can struggle calculating whether you want the image as a foreground or background image if you have items in different places, especially if the settings are set to 2D Layers mode (as above). Try separating each drawing on a different visual plane into their own objects (to separate tab into edit mode, use the  B key to border select the drawing, then  P to separate).

Sometimes if you try and draw in the wrong orientation (object set to draw on front and you try and draw on the side) blender adds a nasty invisible line through it which confuses it's layering. ↹ Tab into Edit Mode, use  A to select all, all the vertices should be highlighted now, You might see a line that shouldn't be there. Deleting it should resolve layering problems.

Sometimes it can be fixed by moving the origin of the grease pencil objects, i think this point is used by blender to calculate what's in front or not. I suggest you to try moving the lollipop's origin clearly in front of the cube. that may solve the issue.


text:
Cylinder meshes and boundaries
Maybe i am just missing something.
(Eevee, Blender 2.9)
I have a cylinder and I wish to add 2 meshes to and cut a shape from the side.
I select cylinder object and then use Ctrl+R in edit mode to create an upper segment.
I highlight all faces of the upper segment and apply one material - pink.
I highlight all the remaining lower faces and apply second material - grey.
I add smooth shading, edge split and subsurface division (catmuli) - then the mesh material (pink) jumps and extends beyond the mesh bounds.
If i click "on cage" option in subsurf then the mesh material extends to the full size of material - but not to the original height of the mesh cut.
Then i add a rectangle mesh and perform a "knife project" on them to cut shape out of side of cylinder. Doing this displaces the entire material.
In the attached blend file there are 3 cylinders
Cylinder 1 - the original size of material applied to top segment, no modifiers
Cylinder 2 - the new size of pink material, after applying modifiers.
Cylinder 3 - the deformed material from the knife project
Why does this material displacement happen? Why the deform on knife project?
Thanks in advance.
U.

Hello, could you rephrase the title and the body of your question so it is more clear what you are asking ? As it stands I feel it's very difficult to pinpoint what exactly you want. Cheers

This is caused by the Subdivision modifier.
It interpolates the spacing between edges, and the subdivided geometry is slightly moved.
The same thing is causing the distortion when adding cuts with knife-project. You're effectivelly adding loopcuts, which limits the stretching.
These are your options:

Add a crease to the edge
Make the geometry evenly spaced on the object
Add a loopcut on both sides of the edge
Split the edge using Edge split modifier

Bad ass man, thanks!


text:
Where to really learn the "theory" behind Loop flow, and sculpting
Pardon the title, I am aware that topology is generally a lesser concern with sculpting, but I've been wonder if there was a book or lecture - perhaps on youtube or elsewhere - that could explain both why an artist would aim for a particular loop flow and what general method he or she would apply to sculpting?

This is a good tutorial by cgcookie https://youtu.be/llOqbJKpK1Y. There might me more on their website bit I haven't checked them.

This site isn't particularly well suited for these broad answers, but here you go anyway :D
topologyguides.com is a great resource for learning about proper topology. For sculpting resources, check out YanSculpts and Zacharias Rienheart on youtube.

Thank you, I do appreciate the answer especially given your observation on the choice of forum.


text:
Baking Textures?
I'm Currently working on a low poly Tank in Blender, I've finished a final render and what to export the Vehicle's material (texture and nodes) to an external UV.

I'm hoping to get a single File as a result, hopefully allowing me to use the texture elsewhere.

what you should try is creating an image in the eimage editor, then goind to the node setup and add it there.
Example for 1 texture:

Select the diffuse texture
Plug it into a diffuse node
plug diffuse node into output
go to baking tab, select diffuse and only highligth the (color) tab
hit bake, this will bake the pure color of that texture.
Save the baked image

now you plug the rougthness texture into the diffuse node and bake again, save the texture under new name. This way you can bake the textures without any shading, AO or other unwanted things. Just pure color
now that you have the textures, you face a different problem, exporting the cycles materials. Sadly this does not work, you need to bake the textures and create a new node setup or use them directly in eg. Unity


text:
Reselect faces that was already selected?
How can I reselect faces that is already selected? I need to get selected faces, do something else, and then reselect those faces again. I tried this ,but it doesn't work.
import bpy

OBJ = bpy.context.edit_object
DATA = OBJ.data
FACES = DATA.polygons

#Get selected faces
FACES = [f for f in FACES if f.select]

#Deselect to see if selection works.
bpy.ops.mesh.select_all(action='DESELECT')

#Select faces again
for S_FACES in FACES:
    S_FACES.select = True

For this you can use bmesh:
import bpy
import bmesh

OBJ = bpy.context.edit_object
DATA = OBJ.data
BM = bmesh.from_edit_mesh(DATA)

#Get selected faces
FACES = [f for f in BM.faces if f.select]

#Deselect to see if selection works.
bpy.ops.mesh.select_all(action='DESELECT')

#Select faces again
for S_FACES in FACES:
    S_FACES.select = True

#updates viewport
bmesh.update_edit_mesh(DATA, True)

Hope this helps :)

I generally assign the vertices of the face in a vertex group, and the i click on "select", but i don't think is what you need

Well, I guess that is one way I could do it. Not sure why my code doesn't work though. This "FACE = [f for f in FACES if f.select]" will get the selected faces ,but after deselecting it looses it.


text:
Select the outer edges?
How can I select just the outer edges? I have tried several things without success. I need to delete/dissolve the outer edges ,but this needs to be done with code.

Can you clarify .. by outer edges =>  boundary edges eg all edges of a simple plane?

I thought I had this solved in a weird and long way ,but it fails sometimes. Yeah, I think I’m talking about boundary edges. You can see there’s 4 sets of lines which makes a continuous loop . I need to select just the outer ones.


text:
Update property when active tool changes?
How do I detect if the active tool changes? I need to update a property when the active tool changes. This seems to work ,but you have to change modes for it to be detected.
import bpy
from bpy.app.handlers import persistent

@persistent
def toolUpdated(scene):
    tools = bpy.context.workspace.tools
    active_tool = tools.from_space_view3d_mode(bpy.context.mode).idname

    depsgraph = bpy.context.evaluated_depsgraph_get()

    for update in depsgraph.updates:
        if update.id.original != active_tool:
            print(active_tool)

def register():
    bpy.app.handlers.depsgraph_update_post.append(toolUpdated)

def unregister():
    bpy.app.handlers.depsgraph_update_post.remove(toolUpdated)

if __name__ == "__main__":
    register()

tools.from_space_view3d_mode(bpy.context.mode) can be None


text:
Render result not the same as my 3d view
The helix shapes are created using a screw modifier. Everything looks good in the 3d view (with render preview on)

but when I actually hit render.. the helix shape is not rounded, and has a funny hard edge look.

If you're using a subdivision surface modifier for the helix, keep in mind the modifier has different levels for previews and renders as seen here:

this may explain why your helix has a funny look when you render it

Thanks, I thought of that and no, I'm not using a subsurface MOD. it's just a circle that has a screw modifier added.

I guess the problem is the Render step of your modifier. Also, you have to check if all of your used modifiers have the same resolution in the preview and render mode.


text:
Why i cant see volume in Render but can in preview?
Why I cant see volume in renders, just the light.
Preview looks ok, but render not. Not even in EEVEE or Cycles.

Hello and welcome to Blender SE. Please share your file https://blend-exchange.giantcowfilms.com/ so others can take a look :).

Hello here it is


text:
Viewer Node doesn't show up
So I am watching a tutorial and I am supposed to create a viewer node to connect it with a fresnel. I searched through the internet and everyone is saying that I only have to press Shift + Ctrl + LMB  but no matter how often I try to press those buttons, nothing happens.
It should pop up, right? I don't know what to do anymore. Cause apparently this is important for the next steps I have to do.

You need the Node Wrangler addon.
Just enable it in preferences, and you're done.
Preferences->Addons and click the checkmark.
Remember to Save Preferences.
Restart Blender.
Done.

OMG youre a genius. Thank you so much . You saved my evening. I was raging so hard :D

@Siddy No problem, we've all been there. Please mark the answer as accepted now (the green checkmark), for other lost souls that'll come here in the future :).


text:
Armature with no deformation?
I'm looking to create a simple animation.
Where sphere are moving and rotate

but when I'm parenting them to the bone I get deformation on them.
I tried to weight paint in blue but same result.
I tried to use the Empty group as explain in this video. : https://youtu.be/eF4CuIX40XE
What am I doing wrong ?
project here : https://drive.google.com/open?id=1tc3AgbKAzb-9KU3-iu3UngiwGwwrC2LD
Best
Z

This what I get when using "Bones" relation
I'm totally confused about this result I don't know what to do to resolve this

maybe you've deformed your bones in Pose mode? In that case come back in Pose mode, select all and alt S?

did nothing just create bone, size it, and extrude.
I added a link to the project !

what deformation on what bone? If you select a ball, then shift select the armature, then switch to Pose mode, then ctrl P to parent > Bone, it should work fine, no?

I'm making some test now with bone parenting, have no deformation but strange parenting ?!
I guess I need to change some parenting relation ?

If you parent With Automatic Weight, maybe some bones have influences on some ball they are not supposed to...

yes but I painted all sphere in blue and still have some deformation issue and strange vertex deformation.
I have to test it on the full rig, pretty sure that I will have some issue too
It seems to be something easy but it's not.

When using bone relation, and try to rotate the upper armature, the bottom sphere is rotating ?
I think I missing something, but I don't know where to look at

If a mesh is influenced by several bones, it will be stretched or deform when you move one these bones. If you've parented With Automatic Weight, it's certainly what happened. For an object like a machine, robot, non-organic thing, you'd better parent to bone or parent With Empty Groups then assign the part to the group you want. Also what you could do is join all the sphere in one unique object, unless you have a particular reason not to do so.

This is a part of my scratching head since 24hrs, I will try again
Btw thank you for taking time to answer to my question.

It's easier just to parent one sphere to the other as this is a simple animation. I think bones are overused.

Here's how to set up what I think you want to set up.  (I used 2.82 Alpha, but it should work on any >=2.80).
Start with an empty scene.  Add an armature consisting of a single "Bone".  In edit mode, extrude a second "Bone.001" from the tip, and extrude a third "Bone.002" from its tip.  Switch to object mode, and add your spheres.  In wireframe, it should look like this:

Now, LMB select the bottom sphere and Shift-LMB select the armature.  Ctrl-Tab switch to Pose mode, click the bottom bone.  It should look exactly like this, with the bottom sphere as the secondary selection (dark orange) and the bottom bone in the armature selected (light blue):

Finally, Ctrl-P Set Parent to Bone.
To parent the second sphere, Ctrl-Tab back to object mode, LMB select the middle sphere, Shift-LMB select the armature, Ctrl-Tab switch to Pose mode, click the middle "Bone.001", and Ctrl-P Set Parent to Bone.
For the final sphere, Ctrl-Tab back to object mode, LMB select the top sphere, Shift-LMB select the armature, Ctrl-Tab switch to Pose mode, click the top "Bone.002", and Ctrl-P Set Parent to Bone.
You should now have each sphere parented to a single armature bone, using Bone Parenting.  In pose mode, each bone should control one sphere with no deformation of the other spheres.  Here's the blend file:

It seems to work perfectly now have to give a try to the full object !
Why something that look so simple is so complicated to realized ?!
Thank you


text:
Trapped in Dope Sheet view
I've used Blender a bit, so I've been enjoying how usability has improved in v2.8, but I was in Animation view - timeline, dope sheet and view - and accidentally touched the keyboard - POW! The view changed to only the dope sheet. No menu items along the top, no '+' or little black rounded triangles in the corners to let me drag open new windows, nothing.
So I re-started, and got the menus back along the top; I can open the alternative views, but Animation is stuck on just Dope Sheet, nothing else. I have tried every keystroke/combination/mouse-clicks, but the only points on the screen where I get up&down arrow (indication I can click & drag) don't do anything. Just the Dope Sheet. How do I get more windows open?

so it first looks like you've displayed full screen, which is ctrl spacebar, but then you explain that you can afterwards see the other workspace tabs on the top, which should not be the case... not sure what's your problem... maybe show some screenshots

Ah! I tried ctrl-spacebar, which had no effect, but then accidentally tapped the alt key (yes, clumsy of me, I was trying to do this while holding a cup of tea), and the original view came back.
So the answer is, 3-key combination: Ctrl - Alt - Space bar.
This toggles 'full screen' for whatever view the mouse is hovering over.
Thanks moonbots!

oh ok I didn't know this ctrl alt spacebar which is even more full screen!!!

To get out of it, simply click this here to get out, then click on the 3D viewport option, or whatever you were trying to get to.


text:
is there an easy way to select the whole top of a texture?
I have a model which is UV unwrapped with 1 image texture.

Now i want to select the whole top of the lady's outfit (which is partly selected and gray).
I know i can use circle select, but because the edges/boundary are creased i hoped for something like...select until crease ...? or something similar? i know you can select faces by material, unfortunately it is just one material. Selecting by color would be helpful in my case. Any ideas?

L not working for you? where you can select by Linked (by normal, material, seam, sharp, etc)

thats what i was searching for...sorry, i am texture beginner :) you can write an answer for that. I don't know why but i thought L would always connect all...didn't look to that small box on the bottom left ♂

oh btw chris there is another useful feature which took me some time to discover, not sure if you already know, but can come in pretty handy! clicking a face and then Ctrl clicking a face far further down will select the whole line of faces. saved me alot of time!

that i knew ;) but now i am struggling with "just painting" that selecting faces...and not over it :( oh man...i am so dumb with texture painting... :(

yeah texture painting was very tricky and confusing for me at first! my advice that cost me a hard lesson learned, SAVE your image texture when painting! saving blend file will not save your painted image! i lost hours of texture painting work coz i didn't realize i needed to save the image itself! you will see it in the Image menu it has an asterisk * Image* if it is unsaved.

@Chris If you want to paint just the selected faces, enable the  Paint Mask option next to the Texture Paint mode menu (two overlapping squares symbol). This way you only paint on faces which are selected in Edit Mode.

thank you Gordon. I think i found the button....but i am still too dumb to paint with it because now painting doesn't work at all. I think i have to continue watching beginner texture paint tutorials because i am missing the basics... :(

@GordonBrinkmann: now it worked ;) i am learning slooooooooowly

You can press L while hovering over the area you want to select. There are also Select Linked options and it looks like you can use the Material option.

3 useful selection techniques:
Select a portion of the model, press Ctrl+L and choose in the black box where to limit the selection.
Select a face, hold Ctrl+Shift, select another face away from it. Keep adding to the selection holding thoose two keys.
In your case maybe the fastest way is to Alt click on the boundary loops and go to menu Select > Select loops > Select Loop Inner-Region, or press H to hide them, press L to select the shirt, Alt+H to unhide (and add to selection).

sorry josh but because Harry wrote the comment earlier, i gave him the check. Thanks for your answer anyway. I appreciate it.

No problem, absolutely :)

thank you, i still upvoted josh's besides i can get my sportsmanship badge hahaha :)

Thx Harry, Josh deserves it - he helped me a few times with his great answers and knowledge‼


text:
2 viewports: 1 with weight paint and 1 with object mode - is that possible?
i would like to have 2 viewports, 1 with object mode and 1 with weight paint mode at the same time. Is this somehow possible?

As far as I know: No, because you cannot edit (paint) the weight and the object at the same time.
But if you simply don't want to see the weight paint in the other viewport, just choose a shading mode, Solid, Material Preview or Rendered and under Overlays set the Weight Paint > Opacity to 0.

No this is not possible. Object modes are global to the object. Either you are in one mode. Or you are in another mode. Not in two modes simultaneously.
What you can do is to set up workspaces that enters automatically specific modes. This is for example done with the sculpt workspace.

That's what I said at the start, you cannot be in different modes at the same time.

Yes, cross posting. I added the bit with the workspace though.

It's not cross posting when you comment it on my post :D

Yeah, curious, why does my post appear under your answer? I posted it in reply to the question O_O . Either way, the answer is the important part.

@Tiles The problem with workspaces is, you have to switch between them. Then Chris could also switch simply between Object Mode and Weight Paint Mode.


text:
how can i scale all these petals together?
i am trying to model a windmill and have this:

No i want my selections so scale like this:

if i now use transform normal with individual origins, it scales like this:

how do i scale this right?

easiest way would be select one loop, S to scale, Shift + Y to exclude other axis... immediately select other loop, Shift + R to repeat, select the other and Shift + R... if you select only front and back segments, set transform orientations to normal and pivot point to individual origins it should work with just scaling, but so many steps... if you had faces I would select outer ones and Alt + S to scale along normals... guess there are other ways

or just edit a single mesh and have array modifier or a couple of clones...

@alambre: that's what i did at the end ;) But i was curious how or if you could model this

@alambre: you won't believe it - S - Shift -Y worked for all 3 if all are selected too. So although you didn't know ;) you brought me on the right way. If you want, write it as answer  - i will accept it! I did just try S Y Y and same with x instead Shift Y ...great! Thank you!!

I managed to scale all three together with Shift-X instead of Shift-Y, but only if I selected the top and bottom edges... not the complete edge loops. Then it all gets messy. The same with Robin's answer, it only worked partially for me. Don't know why it behaves so differently.

So long as the elements you are transforming are disconnected islands, you can set the Transform Pivot to 'Individual Origins'. The normals of the individual edge-loops are as they would be, if the loops were faces.
In my case, SY in the 'Normal' orientation does the job. It may be SX for you.

On the whole, though, would it be better to model this item under a rotational Array modifier? Just in case there are other modifications you want to make to all three blades that can't be executed so conveniently this way.

That's exactly how I would have scaled it (apart from that I would rather use an Array modifier as you also suggested), but the strange thing is, two of three scale correctly (in your image the top and right one), the third (bottom one) didn't - it showed a green line as it's Y axis along which it scaled that was parallel to the X axis. And that's how it worked when one wing is oriented parallel to the X axis. If the mesh is rotated so that no wing is parallel to X or Y axis, then the scaling gets completely messed up.

@GordonBrinkmann Ahh.. good point? I'll try it when I can. That sounds like an undefined axis (division by 0 being covered with a default)?

Only way I can think of is scaling along normals (Alt+S), but it will scale all outwards...
You could do it and then scale back the y axis.

if i have to scale everything manually...i could directly scale manually. I don't see any improvement in your answer....

@Chris Not the best solution. But it's not scaling all manually. You could use Alt+S, then S > Y and hold Ctrl to snap to the vertices that have the correct Y position.


text:
mechanic rig problem: limit distance not working as i want
i think this gif shows how it should work:

The green head should only move on x axis, the green tail should only move on z axis.
I wanna move the "mover" bone, the rest should react.
Unfortunately i am still a noob in mechanical rigging.
I tried it with limit distance constraint and two armatures and a track to constraint like this:

How can i make this work correctly?

In this kind of rigs I generally use drivers and maths (simple Pythagoras theorem).
You can copy the Hypothenuse lenght in edit mode, and paste this value into the driver expression.
Hypotenuse bone is child of the mover bone and has a damped track constraint targeting the affected bone.
Mover bone has a limit location constraint to prevent square root of negative values.
Affected bone has to be set at 0,0,0 loc in rest pose, as the driver result is expressed as an absolute world related value.

A better expression: sqrt(abs(2.23607**2 - (2-var)**2))

i put the mover in rest position to 0 too ...so my formula works without the 2-var, just var ;) and it was less confusing to me.

You could also use a stretch bone and an IK constraint to solve this:

Just set the IK Stretch of the "upper sliding" bone to 1 and lock the X, Y and Z movement.

+1 very nice, that's the easiest solution by far.

I've tried fiddling around with your rig and honestly, the best solution might be to use drivers. Don't be scared, they don't have to be too daunting.
Look up a beginner tutorial for drivers. What you want to achieve is for the X movement of your Mover bone to drive the Z movement of your end bone. You may have to tweak it slightly to keep it in sync.
This may also work better if the bones are connected together in one chain - as this may also force the middle bone to adjust its length as needed without the track to constraint. If this works then it'll also hopefully prevent the dependency cycle of having your end bone be the target of your track to constraint on the middle bone (a common cause of glitches and generally bad times)
I'm not sure if there's a simpler solution but I'd be happy for someone to come along and suggest one.


text:
how can i add an offset to an existing bone?
Beginner rigger here (sorry for stupid question):
I have an armature with a bone.
If i parent the mesh to the bone, it moves perfectly with it.
How can i change the offset of that relationship afterwards?
Or is the only way to go, unparent the mesh, move the bone and parent again?

the parenting is based on the vertex groups, so as long as you don't edit the mess in a way that modifies vertex group membership, you should be able to simply move vertices around in edit mode, if I understand your question.

that simple, damn ;) yes, you understood it right. thanks. If you wanna write an answer...i will check that

Done.  It wasn't a stupid question by the way.

The parenting is based on the vertex groups, so as long as you don't edit the mesh in a way that modifies vertex group membership, you should be able to simply move vertices around in edit mode.
If you do need to modify vertex group membership and only make a few changes, you can manage this just by adding and removing vertices from groups, possibly changing their weights.
You might have to do a little weight painting if there are other bones that influence the part of the mesh you edit.

thank you for that fast help!

You're welcome.  Thanks for the upvote as well as the accept.


text:
shrinkwrap project on ground with curve?
I want to shrinkwrap my curve with project on the ground.

in works fine with "on surface".
But i want to project... and i got:

nothing!?
i tried negative...

OMG
i tried positive:

not better.
I just want a straight line over the hills of my ground. What am i doing wrong?

When I have the curve above the surface it works if I choose an axis, Z in my case, and since the surface is below I enable Negative. In your screenshot where nothing happens you have no axis enabled and no direction.

...but please provide blend file.  ;)

Just to put a bit of flesh on @Gordon 's comment..

When you bevel a curve, it becomes a mesh, as far as Shrinkwrap is concerned
In the absence of an (object-space) axis of projection, the 'Project' method projects a mesh along its vertex-normals.

So, what you're seeing is expected behaviour.
Fix: Provide an axis of projection:

... but it seems you have to apply the Shrinkwrap to get  another mesh to deform along the projected curve? I would have thought the dependency graph would handle that.. maybe I'm wrong...

crazy. I have tried z on. i am sure. I have no idea why it works now....but thanks anyway ;)

ok, for all silly ones like i am. If you try negative on...the curve should be ABOVE your target. I am dumb. But i still learn ;) and it works with curve too ;) no need for mesh.

@Chris but I still wish you could have a 'live' Curve deformation of another mesh along the shrinkwrap (for, e.g. walls around farms) :)

i am sorry, i don't understand what you mean :( i thought shrinkwrap "is" live...isn't it?

@Chris If we Shrinkwrap a curve, and then make it the target of a Curve deform modifier on another mesh, the projection is ignored. The mesh is deformed along the curve in its original state, unless we apply the  Shrinkwrap. Which is disappointing..

@Chris Actually it would really be interesting to see your file, because what I cannot reproduce is the messed up version of the lower screenshots. Although it doesn't matter because it not a desired result. By the way you can always enable Negative and Positive together so it won't matter where your curve is. This way the curve could even be rotated and go through the plane.

@RobinBetts: ok, thanks. Just asked a new question ....i cannot believe i fail on these easy tasks....although i apply my shrinkwrap, my follow path won't work.

@RobinBetts Yes, I think that's disappointing, too. When I look at the screenshot I suspect Chris wants to move an object along this curve, maybe with Follow Path constraint. But it will ignore the curve :(

@GordonBrinkmann: I have uploaded my blend file in my new question

@GordonBrinkmann: yep, that's what i want

@Chris Oh, I just commented on that. The Shrinkwrap is ignored, like Robin said. You have to convert the curve to a mesh, then back to a curve :/

ok thank you guys!!

silly question: i could do that converting with GN...would it work then? ;)i just try that

unfortunately.....not.... :(

@GordonBrinkmann: you will get that messed up version if you don't check any axis ;) but check negative/positive

@Chris Not with my curve, that's why I was a bit puzzled how you achieved that.

@GordonBrinkmann: sorry, you are right ....AND give a bit bevel to the curve


text:
rotation via python does not the way i would it have expected
I created a cylinder via python.
I rotated it it 2 times (y and z axis). Then moved it up.
Then i changed the origin to be in world center and rotated in on z - axis.
So the result is like this (which is ok)

then i added these line to my code
# expected: rotation "in place" - so same as before, but vertical
setOriginToGeometry(bpy.context.active_object)
bpy.ops.transform.rotate(value = math.pi / 2, orient_axis='Z', orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, True), mirror=True, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)

and as i wrote in the comments i expected the green bar to rotate "just in place", instead i got this:

so obviously i am doing and understanding something wrong, but what? Any help appreciated!
my code:
import bpy
import math

def setOriginToCursor(object):
    bpy.context.view_layer.objects.active = object
    bpy.ops.object.origin_set(type='ORIGIN_CURSOR')

def setOriginToGeometry(object):
    bpy.context.view_layer.objects.active = object
    bpy.ops.object.origin_set(type='GEOMETRY_ORIGIN')

i = 0
name = "object"
halfPi = math.pi / 2
radius = 3
number_of_objects = 1

angle = 2 * math.pi / number_of_objects

bpy.ops.mesh.primitive_cylinder_add(radius=1, depth=2, enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(0.1,  0.1, 1))

new_Name = name + '_' + str(i)
bpy.context.active_object.name = new_Name

# rotation 90 y-Axis, so i can see it from top view (result : horizontal)
bpy.ops.transform.rotate(value = halfPi, orient_axis='Y', orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, True, False), mirror=True, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)
# rotation 90 on z axis, so it is vertical
bpy.ops.transform.rotate(value = math.pi * 2 - angle * i + math.pi / 2, orient_axis='Z', orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, True), mirror=True, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)
# move it up on y-axis
bpy.context.active_object.location[0] = math.sin(angle*i)*radius
bpy.context.active_object.location[1] = math.cos(angle*i)*radius
bpy.context.active_object.location[2] = 0

#i = 2

# works as expected

setOriginToCursor(bpy.context.active_object)
# moved and rotated to the left from origin - horizontal
bpy.ops.transform.rotate(value = math.pi / 2, orient_axis='Z', orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, True), mirror=True, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)

# expected: rotation "in place" - so same as before, but vertical
# but it is: in world origin :(
setOriginToGeometry(bpy.context.active_object)
bpy.ops.transform.rotate(value = math.pi / 2, orient_axis='Z', orient_type='GLOBAL', orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)), orient_matrix_type='GLOBAL', constraint_axis=(False, False, True), mirror=True, use_proportional_edit=False, proportional_edit_falloff='SMOOTH', proportional_size=1, use_proportional_connected=False, use_proportional_projected=False)

Use variable names.
import bpy
context = bpy.context
scene = context.scene
ob = context.object

The  context variable step is for when your test code works, and you wish to make an operator, can very easily copy an paste blocks of code. To where  context is a usual suspect in operator and panel method arguments.
Reducing a line like
bpy.context.scene.cursor.location = bpy.context.active_object.location

to
scene.cursor.location = ob.location

Remove default settings from operators.
Sure can copy the complete operator call from the info window, but what of these settings do  you need to set? Consult the docs, if it's default it's not required, reducing
bpy.ops.transform.rotate(
    value = math.pi * 2 - angle * i + math.pi / 2,
    orient_axis='Z',
    orient_type='GLOBAL',
    orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)),
    orient_matrix_type='GLOBAL',
    constraint_axis=(False, False, True),
    mirror=True,
    use_proportional_edit=False,
    proportional_edit_falloff='SMOOTH',
    proportional_size=1,
    use_proportional_connected=False,
    use_proportional_projected=False
    )

to.
bpy.ops.transform.rotate(
    value = math.pi * 2 - angle * i + math.pi / 2,
    orient_axis='Z'
    )

to rotate globally (the default) about 'Z'.
What I think the issue is.
If using set origin to cursor, pays to know where that cursor is, and unless it is a script where this is used and set by the user first, make sure its location is a known entity.
scene.cursor.location = (0, 0, 0) # so we know where it is
setOriginToGeometry(ob)
bpy.ops.transform.rotate(value = math.pi / 2, orient_axis='Z')

IMO better still, make it an argument and  pass it to your origin set method, and set it (and reset it) there
Or better still, just don't do it with operators, most of time they are not required & IMO it will drive you nuts, so instead I'm....
Revisiting this answer.

Thank you very much for your answer batFinger. Unfortunately i do not
understand it. But that is my fault because i have just a few days
experience with Blender python and i am pretty proud i made it that
far (from my - i have no idea what i am doing - point of view ;).
Hopefully i do understand your answer in a few weeks when i am diving
deeper into that very amazing topic

This begs the question.. hows it going with operators?, am aware how we can become  attached to getting a script to work...(guilty myself on many an occasion) IMO once we "See the light" will never return to using code designed basically as a UI interface to do simple tasks like transforms (translate, rotate, scale).

In this example add the scaled cylinder at (0, 0, 0)
Emulate the edit mode rotation of 90 about X axis, and translation of 1 (radius) units in Y direction with a translation and rotation matrix.  The objects origin will remain at (0, 0, 0) and the mesh will be at 12 o'clock (top view) and can be simply rotated around the clock with its Z rotation property.
The Mesh.transform(matrix) uses the matrix supplied to transform all the vertices of the mesh in one fell swoop. A 4x4 (rowsxcolumns) transform matrix, like the matrix world is made up of its translation, rotation, scale parts
M = T @ R @ S

Here we have use T and R
import bpy
from mathutils import Matrix
from math import pi

context = bpy.context
scene = context.scene
radius = 1
# create our object to array
bpy.ops.mesh.primitive_cylinder_add(
        location=(0, 0, 0),
        scale=(0.1, 0.1, 1),
        )

ob = context.active_object

T = Matrix.Translation((0, radius, 0))
R = Matrix.Rotation(pi / 2, 4, 'X')
ob.data.transform(T @ R)

Effectively this has made our object lie in the XY plane, point up (+Y) and shifted its origin 1 down from its orginal location.

Thank you very much again batFINGER for your help. I appreciate it very very much that you answer that quick and so detailed!! although...again...i do understand just a half of your answer...but i will now learn about Matrix and translation and rotation...and then i will understand your answer completely! ;) at least i made it work ;)

after watching and reading several tutorials, i think i got it now - nearly. Just one question: why does R = Matrix.Rotation(pi / 2, 4, 'X') rotate around z-axis? I would have expected 'Z' to rotate around z-Axis.

The example above is the equivalent of adding a cylinder, go into edit mode, rotate 90 degrees about X (the matrix) making it lie in XY plane and then translate it +1 in Y. Then exit edit mode. The object has zero rotation, zero location and unit scale. And can be rotated about Z to emulate a clock hand for example using one rotation.  Mesh.transform is  == edit mode select all transfrom, without the need for any operators to mode switch or select etc.

Thank you very much!!! That helped me a lot!


text:
mask won't scale in VSE
I have two movies and a simple .png as mask (which is just a white circle).
The first movie has a mask modifier like this:

The result is perfect, exactly as i wanted:

But now i wanted to animate the .png (the circle) and i tried to animate the scale values of my .png strip.
like this:

unfortunately that didn't work.
What did i make wrong? or how could i achieve this? Yes, i think, if i made an animated mask where the circle is getting bigger, this would work (i never tried), but i hoped for the lazy way where i could just scale my .png :)

Mask doesnt scale in VSE because you are not using PNG as a mask.

From the screen it seems you have under Image editor > MASK (curve mask) of the same name ...

... that is participating in your modifier (according to highlighted  "Mask" option in your screen). To use PNG you have to switch Mask modifier to STRIP.

Just to the right of the text entry for Scale X is a diamond that means the current frame is keyed. Check the Diamond after setting the value on your start and end frame and the scale should animate as you’d expect.
If that doesn’t work pls attach your blend file (with images packed) or a zip and we’ll take a look.

this is right, but as you can see: the scale field is green (which means: it is already keyframed). And on the timeline you can see two keyframes.


text:
quick way to add a vertex and an edge
What is a quick(er) way to create a vertex for this scenario:
My start is this:

Then i subdivide and move my vertex:

then i create an edge with J:

then i dissolve the edge:

So what i basically would like to do:
Double that vertex and edge slide it (with the edge) to get the end result.
Is there a quicker way than my laborious way?

Not that I know. A different way, yes... The Alt+V method from @karlaton might be a bit quicker then subdividing, you just have to position the mouse cursor correctly to split the vertex in the desired direction. But still you would have to dissolve the edge, or select both faces and press F. But I guess what works best or quickest is likely to give opinion-based answers.

I just realised I answered the question without looking at the user asking. :D Well... It might be directed at a less advanced user. But the Alt+D thing is useful...

@MartynasŽiemys: I am happy i am not alone with this "lazy" reading. I did often post answers - which weren't really related to the question because i read "too" fast and too bad. Maybe i am the one here with the most deleted answers :D

Select the vertex and press alt + V, then drag it along.
You will still need to dissolve the other edge.
Could try the knife tool too, K then two clicks. Not necessarily quicker, but less chance of accidentally moving the geometry, which might happen with alt + V method

When I would use the Alt+V method, I would do it like this: Alt+V then right-click to abort so you don't move the vertex accidentally. Then double G to slide along the edge.

These are very quick actions - they take seconds. It's a bit strange to call this laborious. You can use keyboard shortcuts for this. You do not need to wait for right-click menu to appear to press S for subdivide, use Ctrl+X to dissolve as well so these every-day modelling actions should be quite comfortable:

You could use the knife tool(k) to create the vert in place and connect it to the other one with an edge. You do somewhat loose precision of placement of the vert because you can't use all snapping functionality you could with transform operations. Axis constraining works with with knife tool though:

You could also use Auto Merge with Split Edges and Faces enabled so you could simply duplicate the vert(Shift+D) and move it. It will get disconnected, but it will split the edge if you place it exactly on the edge so if you can constrain the transform in the direction of the edge that might be it. You need the edge to match one of the axis, or have a custom transform orientation made from the edge before, but it's possible:

Alt + D calls an operator that is called Extend Vertices. It is sensitive to mouse position, so you need the mouse to be in the triangle for it to work:

Using the knife method but in face mode, then selecting the 2 faces and hitting f is a slightly faster way

@Psyonic not sure I follow. Knife tool has no hotkey F as far as I can tell, face fill requires 2 clicks for the selection while dissolving an edge requires only one click to select the edge and extending the vert doesn't even leave an edge...

Oh true! The ALT-D method is much faster! I was referring to selecting the faces after the knife tool then hitting F, based on your knife tool example. But doing it in edge mode would be faster still :)

@MartynasŽiemys: First: I see myself more like an amateur modeller - it's not really my everyday work - that's why i am asking. I have to learn a lot in that area ;) thank you for your answer, i learned some new shortcuts! But for me it looks like karlaton's answer is a bit faster. Anyway you got an upvote for your great answer. Well...everything will become laborious if you have to do it hundreds of times - and then you will be thankful for every click/keyboard press you can do less ;)

I learned something really useful from your first GIF. Somehow I didn't know about J (Connect Vertex Path), and had been using K (Knife) for that sort of operation all these years.


text:
how to find the color mix node in the shader editor?
Maybe i am too dumb (again) but the search for "color mix" node doesn't work for me:

what am i doing wrong? or is it a bug?
Of course i know i can find it with the menu...but why or how can i find it in the search? i wanna use the search because it is much faster for me.
Yes, i could use the shortcut A C M ...but i am too old to learn every node shortcut... ;)

It looks like they have forgotten it

Isn't it combined with the Mix node with a dropdown to set it to Color nowadays? - There's a 'Mix Color' entry under Search which automatically adds it with the dropdown set to Color mode now. See https://www.youtube.com/watch?v=i4GAHxtDAsk.

@JohnEason: you are totally right! if you wanna write an answer...you will get a check and an upvote ;)

@Chris Too late Gordon got there first! :^)

yep...but i think he should mention your comment in his answer as well...

The MixRGB node as it was called in the Add > Color menu before (although the node label only shows "Mix") is now deprecated, it does not exist in 3.4 anymore, instead you'll find there a Mix Color node which is the general Mix node preset to Color.
However, if you use the Node Wrangler addon, you will still get the old MixRGB node: the addon has a shortcut where you can mix two nodes by holding Shift + Ctrl and dragging with RMB from one node to the next. It appears a green connection line and when you release the button, two shaders are plugged into a new Mix Shader node:

This is when you use the shortcut on two Shader nodes (the green outputs). But if you use it on two nodes that have Color outputs (the yellow ones), no matter if it is an RGB, an Image Texture or maybe Noise Texture node, than the shortcut will connect them with the old MixRGB node, although this is nowhere to be found in the Add menu:

I don't know how long this will still be functional, but in my 3.4.1 it works. Maybe this changes in future versions.

maybe you should mention Johns comment too ;)

@Chris When I started writing my answer (I was interrupted by work), there was no comment... and I knew that without ;) And my answer was more about telling you where the old one is :D

No worries! Note also that changing the Mix node type in the dropdown also changes the colour of the node header, Blue for Float, Purple for Vector and Teal(?) for Color.

@JohnEason Yeah I know, I'm familiar with the node and use it quite often. As I said this answer was not really intended to explain the new Mix node, more about informing Chris why he has problems to find the old one and showing a way to get it (although the new one is all fine, no need for the old).


text:
how to copy a rigged leg with IK + target in the same armature?
Is there an intelligent way to copy a rigged leg with IK + target?
Tries:

I can copy the bones + IK, but then the target (empty) won't be copied.
i can copy the armature + target in object mode, but then i am left with two armatures (i want just one)

Out of curiosity, have you made these IK setup with empties by yourself or via the "add ik with empty"  operator? I am tempted to find someone at the BF to cry about this operator x)

Add ik with empty. Never had problems with that.

Well you don't, until you do

The key issue here is that your target are empty objects that are not part of the armature.
That's part of why it's usually better to keep using bones from within the same armature to build any kind of mechanics in a rig: it gets hard to manage otherwise. If it's possible for you, I'd advise to quickly switch your empty objects by bones.
Otherwise, I am afraid you will have to copy your bones in edit mode and then your empty objects in object mode separately and then set manually the empty targets in the new chain's constraints.
Switch empties for bones

select your empty in object mode
⇧ ShiftS > Cursor to selected
select your armature and go to edit mode
⇧ ShiftA to add a bone at your cursor location
Name that bone with something descriptive like "MCH_IK_Target" (MCH is a common prefix for mechanical bones).
Optional, I like to select the tail of the bone and press GSS to move it closer to the head so to distinguish it to the other bones.
In pose mode, select the yellow bone of the the IK chain you want to edit
In the Bone Constraints tab, change the IK constraint's target by the Armature object, and set the bone to the one we made above:

If this IK chain is supposed to be symmetrical
(EG it is a leg or an arm)

make sure all the bones are on either side of +X or -X (Blender's left and right sides) in Edit Mode.
make sure all the bones names end with .L or .R depending the side they are on. You can use the Batch Renamer via ⎈ CtrlF2 for that:

select the IK chain bones in Edit Mode and use the menu Armature > Symmetrize. It will duplicate your chain, put it on the other side of X, rename it and set up the right bones in your constraints:


text:
why doesn't my emitter emit particles anymore normally?
I want to move my emitter but when i plug in my nodes as in the picture below, the emitter emits just for a frame or so, not the whole frames. What am i doing wrong?

You can parent emitter to an empty object and try animating empty using animation nodes.
or
Bake AN animation using Set Keyframes Node

thank you. Parenting helped! Although i don't know why ;)


text:
Emission materials don't show any light
I'm using an emission texture to use as a light, but it doesn't show anything. What could be wrong?
When a put Render mode (cycles) doesn't work eiter.
Light should be seen behind the TV. Thank you in advance

do you mean you want to see a halo as suggested by Christopher Bennett? Plus it looks like in your scene your light can't reflect on any surface...

https://blender.stackexchange.com/questions/164851

If you are asking for backlight - ambient light behing a TV lightning a wall ...

add Area light between TV and wall that works for Eevee and Cycles

Cycles

Eevee

Using emission material require Light Probe - Irradiance Volume for eevee engine that seems to be too short distance between emiter and receiver, so probably harder to setup.

Go into your render properties settings, and enable "bloom", Also, depending on the quality of reflections you want, you also may want to use an irradiance volume and a reflection cubemap. The lighting must be baked after adding these. See image:

If you want to increase the emission strength beyond the default values provided in the Principled BSDF, provided you have a suitable image, you can connect it through an emission shader and a mix shader, and change the value from there. Be warned, however, any dark areas from the emission texture will darken the corresponding areas on the base texture. There are other ways to increase the strength if this is the case, but this is just a simple way to get stronger emissions for now.


text:
Randomize vertex location without intersecting faces
Good day everyone, I can't seem to be able to randomize the vertex locations of a mesh without having faces intersect, is it possible in Blender 2.9 or newer to randomize vertex location without faces intersecting? Is there a way to move the vertices in a mesh so they stop before trespassing or crossing a face?
As an example I've attached 4 images, the first 2 show the mesh before and after applying the randomize operation in edit mode, and the last two images show an example face intersection which I want to avoid. I'm looking for a solution like the "Clamp Overlap" option in the bevel operation, which stops beveling the mesh when faces would intersect. Thank you

Did you try having the normal setting (in the lower-left menu - Image 2) at 1.0 instead of zero ?

Thanks for the attention, yes I tried that and the faces still intersect, I can post the screenshot if you want @AhmadBilal

Either make the value small enough that at 2x verts still cannot overlap, or consider using a script to set or fix.

Maybe a Python script could help?

A script would be good, but then does that mean that Blender doesn't have this feature? Is there any add-on to achieve this?


text:
Windshield Wiper Over An Airplane's Curved Windshield
so I'm running into a small problem when trying to make the wiper move along the glass, but this one is curved. The windshield is pretty curved and the wiper doesn't really need a lot of detail (picture 1) because it is a big airplane.

But I think it would look nice that the wiper moved along the curved windshield. Also I cannot bend the wiper because the curvature of the glass is uneven, so the wiper gets stuck inside the glass in some parts.

Is there a way I can achieve this movement without modifying the wiper too much? Thanks :)

You can try bend Wiper by curve object and curve object shrinkwrap on Glass.
It depence on what wiper vertices you want to bend you can limited it by Vertex Group.

Quick example is not perfect "wiper" rotates on its Z axis. I will have to check it later.

Or Bendi Bones could work in similar way as well.

Add-on Wiper
for 2.79 (Luca Rood) https://gumroad.com/l/wiper

nice, I guess a Surface Deform should work as well


text:
Landing Gear Rigging Constraints using empties
So, I am working on a landing gear structure. I am using empties to connect the various parts. One in particular I am having trouble with is the "torque arm" which is supposed to move up and down (as the shock absorber) and also rotate on the Z axis (sideways like the front wheels of a car).
I have two empties in the middle of the "arm". The upper one connected to the upper part of the arm and the lower connected to the main bottom structure (Which moves up and down to simulate shock absorption) Here is how it looks. I'd really appreciate any help! Thanks

Why are you not using Armature? IK solver fits nicely to this task.

It's possible with drivers either.

I wrote an answer and then realized it was  wrong. : ) So i edited it and added a method that actually works. Hope it helps. : )

Method IK bones

Create an armature and create a bone for each object in the rig and put it in the right location. One bone for the Cylinder, one for the Piston, one for the Cylinder Arm (arm connected to the Cylinder), and one for the Piston Arm (arm connected to the Piston).
Select the armature and go into Edit mode, and go to Properties > Bone Properties > Relations. Make both the Cylinder Arm Bone and the Piston Bone children of the Cylinder Bone. But uncheck the box Connected before doing so.
Make the Piston Arm Bone a child of the Cylinder Arm Bone. In this case the Piston Arm Bone should be connected to its parent, so for this bone the box Connected should be checked.
Parent each object to the corresponding bone. In Object Mode select an object, shift select the Armature, go to Pose Mode, select the bone, press Ctrl + P and choose Bone. Repeat for each object-bone pair.

Go into Pose Mode, select the Piston Arm Bone and add an Inverse kinematics constraint. As a Target choose the Armature. Set the Chain Length to 2. As the Bone choose the Cylinder Bone. Now the Piston Arm Bone should snap to the Cylinder Bone (So the starting angle of the arm bones does not matter. But it does matter where you position the Cylinder Bone; its base should be where you want the end of the Piston Arm Bone to rotate around).

You're done. In Pose Mode, move the Piston Bone along the Z-axis to move the Piston and the arms. Rotate the Cylinder Bone around the Z-axis to rotate the whole rig around the Z-axis.

Method Damped Track (does not allow for rotation around the Z axis)
It can also be done by using Constraints. However it does not allow for rotation around the Z axis, but I didn't realize that at first. I'll keep this part of the (initial) answer, just in case. : )
It is best before you active a Damped Track constraint (note the eye icon and how it is inactive), that the object that has the constraint is aligned with one of the main three dimensional axis.

It is also wise not to use the object you want to be the Damped Track target, but to use an Empty object parented to the intended target object and use that empty as the actual target instead. This can help focus the Damped Track at the right point, but will also limit unexpected and unwanted behavior due to the Damped Track recalculating positions.

However, with this simple setup there is limited control of the position of the joint where the arms meet. But it might suffice for small movements.


text:
Imported Roblox obj Model looks weird
I tried to import my Roblox character as an .obj. But after I imported it, it totally looks messed up (like holes in it). Usually it worked a while ago! I hope you can help me!

you need to dissable show backface or just set the blend mode to opaque

Try re-importing it from Roblox, if it was working before the problem might have been the file getting corrupted


text:
Shape key mesh problem
I was using a shape key for the finger joint, I thought it worked but then a new issue showed up. When I go into object mode the mesh looks fine but in edit mode it looks ugly like a wort. Is there a way to fix this?

There are any number of potential causes, including but not limited to other modifiers, shapekey value, other shapekeys, etc.  If you link a file, I'm sure that people would be able to tell you what's happening, but otherwise I doubt you'll get any help.

How do you link, I never tried that.

You upload a file to a hosting site and post the link in the question.  Recommended hosting for Blender SE is https://blend-exchange.com/


text:
Knuckle problem
Can anyone help or give me tips? My character model's knuckles look wired when I bend them. The top part is ok, but I want them slightly more pointed. Meanwhile the bottom part just keeps clipping in on itself. I just want them to move like actual knuckles in real life.

are you talking about moving them with your armature? maybe change the bones position? or use driver and shapekeys?

yes i want to move them with my armature i only made the bones invisible to see better in this shot


text:
Topology trouble
I finished my male character's head, however I need to make the body in an A pose. The only problem is how do I not only capture the look, but also make sure that the topology is correct so when I rig it with armature it won't look messy when it moves around? Is there a guide or do I just have to go with my gut? Also I'm only using quads in this model.

Hello, your question is probably too broad, but you have a lot of images and tutorial about how to make a human topology.

As moonboots says, If you are beginner I would suggest you to find someone work for free, download their topology, import it in your project and use it as reference to make your human topology work better. There is not 1 correct way to do this, there are multiple ones based on what is your desire... The only thing you can do is to practice and learn

I see thank you, also where can i find these free models?


text:
How do I Stretch ring of vertices?
I'm trying to fatten up the vertices outward that are in a circle, but I want to maintain its position and angle how do I do it?

you can scale along the lines indicated by using 'S Shift-Z Shift-Z'.  Doubling the Z means to use the local axis and using shift means using the other two axis.  But those vertices lie on a tilted plane, just scaling with 'S' should work.  If you only want to do it in the direction of the arrows and not expand the loop on the other axis, try 'Sxx' or 'Syy' to see which one is the appropriate axis.  The axis that get drawn by the scale command will show you.

So hitting S Shift-Z Shift-Z causes my tiled vertices to became widen but vertical over time. The S key works fine, but the Sxx, causes it to be horizontal over time while Syy seems ok.


text:
How do I change the length of the bone?
I'm planning on making multiple bones for each finger but I want to change the length for each of them while still keeping the angle intact. How do I do that?

In edit mode? Change the Transform Orientation to Normal

Then select the end of the bone, grab it (press G), restrict to the Y axis (press Y), and drag to the length you want.
Setting the Transform Orientation to Normal makes it use the bone's Y axis when you press Y (which is the direction the bone points) instead of the global Y axis.


text:
What's wrong with weight paint?
When I added automatic weight paint on the thumb bones it looked ok but when I bend the joints the mesh seems like its being pulled apart by two opposing forces. This never happened before when I deleted the original thumb bones or maybe it did but I didn't notice much either way why is it acting like this?

hello maybe share your file so that we can give a try?

(How to add a blend file)

Hold on I'll give it to you just need a little time. Also what's the max limit for data when sharing a file on Blend-Exchange?

Sorry for the wait did you get it?

Automatic weight paint isn't perfect, and what has probably happened is that the thumb mesh has vertices in more than one vertex group, that is assigned to more than one bone.  When you pull the thumb, the influence of the other vertex group (and thus bone) interacts, so the mesh distorts.
If you go into edit model on the mesh and select one of the vertices that are being pulled the wrong way, the side panel will show you all of the vertex groups it is in.  You can either remove it from the other vertex groups, or go into weight paint mode and change the paint for the vertex.
It's usually better to use weight painting at that point, because there are bound to be other nearby vertices that have the same problem.


text:
A pose or T pose?
For future reference should I use a T pose, or an A pose for any of my current/future models? Because A poses are hard for modeling/rigging arms, especially the hands. But I've seen countless other movie studios and game developers using A poses and they seem fine, how do they do it?

The main reason to prefer a T-pose is exactly what you've experienced: the arms are more or less aligned with world axes. For some styles of modelling, that can be easier.  (But for a lot of styles of modelling, it doesn't matter whatsoever.  If you sculpt and retopo, you're not modelling by extruding loops out in various axes.  And even if you're box modelling, working at an angle to world axes becomes less trouble the more tools you learn and use.)
The main reason to prefer an A-pose is that any reasonable deformation to the model is closer to the rest model.  Closing your arms is a 90 degree rotation from a T-pose, but only like 45 degrees from A pose.  So your edges don't deform as much in A, your UV doesn't stretch as much, etc.  In the extreme case of this, we could be imagining organic models where we wanted to allow plus or minus 180 degrees rotation, using volume preservation (quaternion skinning).  You get terrifically ugly interpolation through the 180 degree mark, so you want that mark to be the least likely deformation you're going to see, and you choose your rest pose on that basis.  (90 degrees, plus or minus, is also a place where you can see some problems with some rigging techniques, so if you can avoid that by pose choice, you do it.)
There are other elements to choosing poses.  In Blender, the biggest is how IK behaves, where it is far simpler to pose a model with realistically bent joints if you want to use IK on those joints.  You can work around that, but it's not as convenient.
You can go further with the A pose.  You can rest model the legs spread, duck feet, knees more bent, clavicles aimed slightly toward the sky...  All of that places your rest pose more squarely in the middle of likely deformations.  The reason to avoid doing all that is because you might find it difficult at that point to understand your character and their proportions.
Note that there are plenty of modelling techniques that will let you change rest poses.  At the absolute minimum, you can apply an armature modifier!  Hands are often modeled separately, then rotated and joined to arms.

I see so to sum up, start with T-pose when modeling, then use A-pose to pose the model when I rig it with armature to see if the joints are acting properly. Am I correct or did I miss read it? Also any other tips?

I would only add that as a compromise, most rig generators for Blender tend to use a modified T-pose where the limbs are bent slightly to accommodate IK requirements, and many 3rd party apps to generate characters do the same thing.  See rigify as a built-in example.

If I may also give my 2 cents: If you are animating a fairly unflexible character, I would advice to rig it in a pose where every limb is halfway in between highest and lowest angle possible. Don't rig in t-pose, when the character cannot stretch its arms that far, try to use minimum stretch (deformation of faces).

@Stephen Just doing a straight conversion to A pose, after all other modelling, doesn't really help-- the issues are built into the mesh.  But if you want to convert a T to an A, you can, just do some modelling clean-up afterwards.  There are potential okay things to do that are that simple, like creating a UV map from an A pose on a T posed model to minimize distortion in the armpits.

Speaking of armpits I'm using a t pose on my model how do I fix the gap and weird mesh around the chest and shoulders? Without using drivers because i don't know python.

@Stephen I don't understand, but that is a completely new question that you'd have to ask on its own (and provide a lot more details.)


text:
How do I move mesh up and down at weird angle?
How do I move the knuckle's up on my model while matching the odd angle its at? Just in case in the future if I ever encounter this problem again and not only do I need to move it up but down too.

keep these faces selected and in the Transform Orientations panel (center top of your 3D view), select the Normal orientation

I can think of two options here.
OPTION 1: NORMAL ORIENTATION
The first one has already been answered in the comments by moonboots, which is to switch your transform orientation to "normal", which Blender will take its best guess depending on the way your object is shaped (affecting which directions the normals point in).
Here is a generic Ico Sphere I stretched out and rotated at a random angle. Lets say I want to move it similarly to your knuckle example.

With any of your move/rotate/scale tools active, click on this dropdown box (if you haven't touched anything beforehand, this should say "Default")

In the dropdown menu, look for "normal" and after you click that...

Your gizmo should angle itself according to the object's normals.

OPTION 2: PARENTING TO A CUSTOM OBJECT
If the selected object is too complex, then the above method may not give you the angle you want, or maybe you have a specific angle in mind. Lets say I want to keep this monkey head just the way it is, but I want to move it in the same diagonal direction as before:

In that case, I'll add a simple cube (although an empty would work just as well)...

...and rotate it to the exact angle that I want.

After that, all you have to do is parent the monkey to the cube you just made (For this example I'll assume you already know how to parent objects). With your move tool's orientation set to "Normal", your gizmo will orient itself the way the cube is.

If you move the cube, the monkey will move in the same direction. Once the monkey is in place, simply unparent the two objects and delete the cube.
IMPORTANT DISTINCTION
In the above images I showed you only change the selected tool (move/scale/rotation), which will change if you switch to a different tool, meaning you may change your Scale tool to "normal", but your Move and Rotation tools will still be set to "Default" when you switch to them.
In the top center of the screen is a similar box that will change all tools that have their orientation set to "Default". If you have changed an orientation setting for one of your tools, that will take priority instead.

I notice you said "edit" mode but most of the images say object mode.

You're absolutely right, and that would be an error on my part. I'll edit the post to reflect that. The only requirement I believe is that you just need any of the move/scale/rotate tools active to be able to change the gizmo orientation.


text:
What's wrong with the face mesh?
I've seen this before whenever I bend the bone joints sometimes there fine but other times the faces on the others clip in together and sometimes when I twist the joints at an even further angle, they either stay like that or they disappear. Is it a glitch? Or if not, how can I get rid of it?

It looks like you have disconnected geometry. Sometimes, for whatever reason, geometry can become separated, but it still looks like it is joined together, until you start moving it around that is.
The easiest way to fix this problem is to use a free addon called Machin3tools. Its not hard to find with Google. Once you have it installed then go into edit mode, select all your geometry, and press 3 key and it should be fixed.
edit: By "fixed" I mean that all the geometry that is disconnected will be connected, or if it is just an orphaned vertices not connected to anything or overlapping with another vertices, or even an orphan edge or face not connected or overlapping with anything then it will just be deleted.

I double checked the vertices around the fingers of the hand, but I didn't find any loose geometry their all connected. But when I switch between wireframe mode and solid mode, they look so different.

I really suggest you just try the addon as I mentioned, if it doesn't work just disable the addon and forget about it. Here is an example of how it works, skip to timeline 4:20 to see how to deal with "non-manifold geometry".

https://www.youtube.com/watch?v=sGOjH-zqWd0


text:
How can I move bone and mesh together?
Is there a way to move both the bones and mesh at the same time? And can I select only a certain number of vertices and bones? For example, I want to move them up slightly to match a real human male hand.

If you mean you want to create a new rest pose, you can duplicate the Armature modifier, deactivate the copy, switch the armature to Pose mode and change the pose to the new one you want, select the mesh and apply the first Armature modifier, select the armature and in Pose mode go into the header menu > Pose > Apply > Appy Pose as Rest Pose. Activate the Armature modifier.

How do I duplicate armature modifier?

on the top right of the modifier, click on the down arrow and Duplicate

It all depends what you want to do.
If you want to do this as part of an animation or a pose, then you should be in Pose mode. It looks like the proximal phalanx bones are connected to their palm parents, so you can't move them as is. You can however rotate up the parents, then counter-rotate down the child. If you don't want to deal with counter-rotating, you can check the option Affect only parents in the sidebar.
Although this works, it's not ideal to be forced to do all that as relocating fingers is common during animation. Ideally the rig should allow to move the bones easily.One way to do this would be to simply set the proximal phalanx bones parents to disconnected. You can do this by selecting them in edit mode, then got to Properties Editor > Bone tab > Relations panel > maintain ⎇ Alt pressed down and uncheck the Connected option.
If you want to do actually edit the rig and the mesh, then it's very different. Ideally you should validate your mesh before moving to rigging, especially the skinning phase. But in this case it should remain simple:
Start by removing the mesh object's "Armature Deform".
In object mode, select both the armature and the mesh object, and switch to edit mode. Then you should be able to select both the bones and vertices, and move them up as you wish. Don't hesitate to smoth the mesh a little bit, since moving things up might deform it in unwanted ways. You can also switch to sculpt mode to polish the result.
Once you are happy with the result, add back the Armature Deform modifier, don't forget to set its targets.


text:
How do I update to Blender 3.0?
I just found out Blender got an update and I'm still using 2.90.1. So how do I download it, or does it just automatically do it? And will I still keep all my current stuff I saved?

You'll visit:
https://www.blender.org/download/
Click the blue Download Blender 3.0 button and double-click the installer when it downloads to run it.

There is an option when you install the new version to migrate your 2.9 settings. If you have any add-ons installed, those will come over as well, but be careful: they can cause crashes if they aren't tested with 3.0.


text:
How do you make neck and shoulders bend more naturally?
Is there a way to rig shoulders and neck so they don't clip in on themselves or look too deform? I don't know python code, so I can't make shape keys or driver bones. I just want the neck and shoulders to look good when they bend and twist.

Maybe you can add another screenshot of the actual problem? Your mesh and bone layout look good. If the weights aren't messed up, the mesh should deform just fine when you rotate the shoulder and arm bone to raise the arm. To lower the arm, it should be enough to rotate the arm bone.

you don't need to know python to create drivers and shapekeys, if you can't get the result you want even with a good weight paint, then I guess you need to create a shapekey, which is not so complicated, maybe watch this tuto: https://www.youtube.com/watch?v=2vJqAxPly3o


text:
Why is there weight paint on no deform?
I turned off deform by checking the button for my bicep bone so the three little bones inside would have more control. But when I went into wight paint mode there was still some wight on it which is odd because the bone on the left of the image facing vertically next to it has no wight when I checked it off. Is this a glitch or did I do something wrong?

Turning off deform doesn't get rid of the vertex group, if one already existed.  It remains, with the same values, even if those values are no longer being used by the armature.  Vertex groups are used for much more than just weights, and it would be inappropriate if Blender deleted them just because a bone with that name had deform disabled.  TLDR: it's fine, you did nothing wrong, it's not a glitch, and that bone won't affect your armature deformation.


text:
How do I make an on/off switch for FK and IK limb rigs?
I want to try and do the same thing rigify's rig system did and make a menu that allows me to switch between the IK and the FK limbs for my character's arms and legs. Right now, all I have is one simple IK limb for both arm and legs.

Just type "blender ik fk switch" (without the quotes) into Google and you'll get a list of quick tutorials.

Note that Rigify's UI is a python script, you won't get exactly that with Blender without scripting.

Don't be afraid. The switch is just a driver, not that much Python script involved. Dikko has two series about this: Beginners Guide to Rigging / part 4, Building the FK and IK Rig! and Character Rigging in Blender / part 5, Creating a Robust Arm Rig


text:
Why is there a red bar in the dope sheet?
There's a red bar in my dope sheet that I noticed as indicated by the red arrows. Is that a bad thing or is that just part of blender?

It's the Summary channel highlight:

Only the Dopesheet shows it because only that editor shows channels highlights outside the channel list.


text:
3rd party library installed with pip gives ModuleNotFoundErrror
I am trying to use the pynwb library in my Blender addon and followed advice from several threads.  Pip runs and returns "Requirement already satisfied" messages, but the pynwb module is not found. Any advice would be greatly appreciated.
Based on this thread: How to write my add-on so that when installed it also installs dependencies (let's say: scipy or numpy-quaternion)?
I tried this approach:
import bpy
import subprocess

#https://blender.stackexchange.com/questions/149944/how-to-write-my-add-on-so-that-when-installed-it-also-installs-dependencies-let/153520#153520

py_exec = bpy.app.binary_path_python
# ensure pip is installed & update
subprocess.call([str(py_exec), "-m", "ensurepip", "--user"])
subprocess.call([str(py_exec), "-m", "pip", "install", "--upgrade", "pip"])
# install dependencies using pip
# dependencies such as 'numpy' could be added to the end of this command's list
subprocess.call([str(py_exec),"-m", "pip", "install", "--user", "pynwb"])

import pynwb

Based on this thread: Install pip and packages from within Blender OS independently
I tried this approach:
import bpy
import subprocess
import ensurepip
ensurepip.bootstrap()
pybin = bpy.app.binary_path_python
subprocess.check_call([pybin, '-m', 'pip', 'install', 'pynwb'])

import pywnb

Both approaches return the following error:
Looking in links: C:\Users\meowm\AppData\Local\Temp\tmpffsgzmav
Requirement already satisfied: setuptools in c:\program files\blender foundation\blender 2.83\2.83\python\lib\site-packages (40.8.0)
Requirement already satisfied: pip in c:\program files\blender foundation\blender 2.83\2.83\python\lib\site-packages (20.2.1)
Requirement already satisfied: pynwb in c:\users\meowm\appdata\roaming\python\python37\site-packages (1.3.3)
Requirement already satisfied: numpy>=1.16 in c:\program files\blender foundation\blender 2.83\2.83\python\lib\site-packages (from pynwb) (1.17.0)
Requirement already satisfied: pandas>=0.23 in c:\users\meowm\appdata\roaming\python\python37\site-packages (from pynwb) (1.1.0)
Requirement already satisfied: h5py>=2.9 in c:\users\meowm\appdata\roaming\python\python37\site-packages (from pynwb) (2.10.0)
Requirement already satisfied: hdmf<2,>=1.6.4 in c:\users\meowm\appdata\roaming\python\python37\site-packages (from pynwb) (1.6.4)
Requirement already satisfied: python-dateutil>=2.7 in c:\users\meowm\appdata\roaming\python\python37\site-packages (from pynwb) (2.8.1)
Requirement already satisfied: pytz>=2017.2 in c:\users\meowm\appdata\roaming\python\python37\site-packages (from pandas>=0.23->pynwb) (2020.1)
Requirement already satisfied: six in c:\users\meowm\appdata\roaming\python\python37\site-packages (from h5py>=2.9->pynwb) (1.15.0)
Requirement already satisfied: ruamel.yaml>=0.15 in c:\users\meowm\appdata\roaming\python\python37\site-packages (from hdmf<2,>=1.6.4->pynwb) (0.16.10)
Requirement already satisfied: jsonschema>=2.6.0 in c:\users\meowm\appdata\roaming\python\python37\site-packages (from hdmf<2,>=1.6.4->pynwb) (3.2.0)
Requirement already satisfied: scipy>=1.1 in c:\users\meowm\appdata\roaming\python\python37\site-packages (from hdmf<2,>=1.6.4->pynwb) (1.5.2)
Requirement already satisfied: ruamel.yaml.clib>=0.1.2; platform_python_implementation == "CPython" and python_version < "3.9" in c:\users\meowm\appdata\roaming\python\python37\site-packages (from ruamel.yaml>=0.15->hdmf<2,>=1.6.4->pynwb) (0.2.0)
Requirement already satisfied: importlib-metadata; python_version < "3.8" in c:\users\meowm\appdata\roaming\python\python37\site-packages (from jsonschema>=2.6.0->hdmf<2,>=1.6.4->pynwb) (1.7.0)
Requirement already satisfied: pyrsistent>=0.14.0 in c:\users\meowm\appdata\roaming\python\python37\site-packages (from jsonschema>=2.6.0->hdmf<2,>=1.6.4->pynwb) (0.16.0)
Requirement already satisfied: setuptools in c:\program files\blender foundation\blender 2.83\2.83\python\lib\site-packages (from jsonschema>=2.6.0->hdmf<2,>=1.6.4->pynwb) (40.8.0)
Requirement already satisfied: attrs>=17.4.0 in c:\users\meowm\appdata\roaming\python\python37\site-packages (from jsonschema>=2.6.0->hdmf<2,>=1.6.4->pynwb) (19.3.0)
Requirement already satisfied: zipp>=0.5 in c:\users\meowm\appdata\roaming\python\python37\site-packages (from importlib-metadata; python_version < "3.8"->jsonschema>=2.6.0->hdmf<2,>=1.6.4->pynwb) (3.1.0)
Traceback (most recent call last):
  File "\Text", line 11, in <module>
ModuleNotFoundError: No module named 'pywnb'

Seems like a typo, the package pynwb is installed, but you're trying to import pywnb (at least in the second example).

Unfortunately fixing the typo did not fix the problem

What is the error message now?

Using the import format from the tutorials still gives the original error: ModuleNotFoundError: No module named 'pynwb'

Have you tried adding the the user site-package directory to sys.path or alternatively uninstall the package and then reinstall without the --user flag?

My answer here could be helpful in general when you're trying to implement an add-on that has dependencies.

See also T76993 for reference.

Unfortunately the above suggestions did not yield different error messages.   Installing Blender on my C drive solved the issue for one machine, but perplexingly that did not work for my Surface Book 2

Did you remove pywnb before attempting to install it without the --user flag as shown in the linked answer? When Blender is installed in C:\Program Files you need elevated permissions for this step.

I might try importing and using pip directly rather than spawning subprocesses.