text:
How to Scale-down one side of object - Blender 3.6.1
Attempting to scale down this one side of object to match the reference element on the left. I am in Blender 3.6.1, please provide detailed instruction, or reference documentation/video to how this can be accomplished. I have tried selecting in Edit Mode, using "S" scale, with "Z" axis to scale down, however object scales to middle pulling bottom of object up.
Recorded Video Explainer: https://youtu.be/O-Ni-MqCVzs

Select the top face of your object and then move it down using G Z?

And enable the Snap to Vertex option in order to snap to the other wall

Scaling will move all elements towards/away from (scale below/above 1) the Pivot Point.
The Pivot Point is by default the Median (average) point. But you want to "scale down", therefore change the pivot point to be "down". You can achieve that by positioning your 3D cursor, either "by hand", using ⬆ Shift$\color{#888}{█0}\color{green}{█}$ right mouse button, or using ⬆ ShiftS and one of the options, e.g. Cursor to World Origin or Cursor to Selected. Then if you also set the pivot point to the 3D Cursor (. key for menu), the scaling will work as you intend:

However, as pointed out by J.Eason and moonboots in comments, in your particular case it may be easier to just move the top using GZ keys… Then you can snap to the other object, and if there's more than just the top vertices to be moved, you can use O proportional editing.

Thank you - much closer with your help, J.Eason and moonboots help. I tried a variety of different tactics, I was able to set Origin/Pivot point + Select Sides of Object, but it warped other object elements in process - video of progress: https://youtu.be/F52VM1sOHqY

@NathanMallamace 0:31 is not the same as pressing the DOT key to change the transform pivot, in the graphic interface it's here: https://i.imgur.com/u3LeStc.png . Your movement (G key) doesn't quite work, because you have 'doubles' (multiply vertices in the same spots, and you don't select all of them), easiest fix: A, M, B keys in that order. The problem in 3:30 is caused by the vertex marked with red arrow defining the shape of the face marked green https://i.imgur.com/0wJsCix.png

@NathanMallamace I'd strongly suggest that you do one of the hundreds of free hard surface modelling courses online to get some practice. The comment from Marcus saying that you have double-vertices on your object shows that the basic topology of your model was wrong and that can cause all sorts of problems as you've found! For instance, you wouldn't usually model a simple L-shaped object using an angled edge at the corner.

Thank you - Markus, John & Moonboots. Video showing how I accomplished this - https://youtu.be/GwGFCUxcMp8


text:
Having trouble with engraving cursive text, where only a couple letters are being removed. How do you think I can fix this?
Let me preface this by saying that I'm still very new to Blender, so I don't know all the tricks and terms.
So I am following along with this YouTube tutorial to engrave text in a mesh in my model. I followed along, but ran into the following problem.
After going through the Decimate Modifier step in the tutorial, I noticed that there were a couple locations (both ds, the s, and the A) where there are lines crossing over the letter. I don't know what this means, but it looks like it's the shortest length between two points on the letter connecting with one another, crossing over the letter to do so rather than the next point on the "outline" of the letter.

After the applying the Boolean Modifier Step, the surface I am trying to subtract material from immediately looks like it does below.

Then when I hide the text mesh, the surface looks like it does below.

As shown above, something funky happened. It looks like the operation worked for the two letters at the beginning and the end ("Ed and WA"), but the weirdness occurred in the middle, and I'm not exactly sure what happened. I have a suspicion that this may be happening because the text is cursive because I've done something similar with a serif font before and it worked. But yeah, I have no idea what's going on here/why it's not working.
Do any of you have an idea of what might be going wrong, or what I could try to do to fix this? Thank you so much for your help!

Please add a link to the tutorial you are following into your question. It would also help if you could share your Blend file. You can share it via https://blend-exchange.com/ following the instructions there to copy the link to it and then edit your question and paste the link into it.

If you provide the file on Blender-exchange you will get a more concrete answer but in this case it's probably the topology of the text not being great. Try adding a Remesh modifier to the text object. Set it to Sharp mode and uncheck the 'Remove disconnected' option. Increase the Depth until you get all the letters well defined before using it in the boolean. The lines on those letters you mention are just there because they need to connect the hole on the inside to the outside, they are most likely not the issue

Other things that can help booleans work is going into edit mode, selecing all vertices and merging them by distance (M->By distance) so that overlaping vertices get fixed. Also selecting all faces and pressing Shift+N to recalculate the normals. Do this on both objects if they have complex geometry

source: Stack Exchange

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

sort: votes


text:
Why does this geometry say "Nothing selected"?
I'm modelling a character that is all one mesh.

When I select the body of the character, I'm able to move it around, but when I select the pants, I can't move them.

I've also noted that the Item menu says "Nothing selected" when the pants are selected. What's wrong here?

I found the issue! Somehow I managed to hide all the vertices without hiding any faces. Unhiding everything with Alt + H fixed the issue for me.

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


text:
Why does my normal map appear to have holes in it?
I'm working on creating a normal map for a simplified mesh based on a sculpt. I switched to cycles, checked "selected to active", made the simplified mesh active, selected the sculpt, and baked the normal map.
Unfortunately, after applying the normal map to the simplified mesh, the mesh appears to have holes in it. I've also noted that the normal map appears to be mostly green.

I originally thought it was due to the messy topology of the sculpt, so I duplicated the sculpt, remeshed it, and tried again, with the same results.
Why does my normal map make my mesh appear to have holes in it?

Try to add some extrusion in the bake settings.

Alright! I changed the extrusion to 0.5m, but that seems to have made things a bit stranger. My normal map looks less green though, so it looks like I'm making some progress, but something still isn't right here...

0.5 is probably too much. Also check the normals of your models.

I experimented a bit, lowered the extrusion to 0.025, and things are starting to look a lot better. However, there are still some oddities. Is there anything else I can do to fix this, or will I have to turn to photoshop to edit them out?

You can use a cage object which can be a copy of your lowpoly model with some deformation at the oddities.


text:
Why does .obj exporting hang and output so many files?
I frequently encounter this issue while exporting to .obj that causes blender to freeze (or sometimes crash) and output hundreds of copies of the same file.

What's causing this to happen?

This happens when you have selected the "Animation" option in the export options. You get a new file for every frame that the number of frames is set to in your output properties.


text:
Why do these objects appear to scatter across the screen?
I'm trying physics in blender for the first time. I have the keys set in a floating position, and I'd like them to rest as they would in real life.

I've added a dynamic rigid body to each of the keys, with a mass of 0.008 kg. The keyring has a rigid body as well, but I've unchecked the dynamic checkbox, per a tutorial.

Unfortunately, the keys appear to explode across the screen when I hit play:

Someone suggested I turn down the sensitivity margin from the default, but using 0 nor 0.001 has made a difference.
What's wrong here? Thanks in advance!

This type of collision is really hard to calculate, so rigid bodies might not work well. Hopefully you don't need it for an animation, because it would be a lot easier to just position the keys by hand


text:
Why isn't this camera following the path it's constrained to?
I'm trying to constrain this camera to a curve, but it flies off the path.

Here's what the camera's constraint modifier looks like:

You can find the .blend file here!

Without checking the file, I'm quite sure you haven't reset the camera's location and rotation...?

Please show all keyframes of the location, or other modifiers of the camera.  If the camera is stationary on the origin (0,0,0) you will achieve better results.

@GordonBrinkmann here's what the camera movement looks like with its location reset.

@atomicbezierslinger here are the camera constraint's keyframes! an influence of 0 at frame 0 and an influence of 1 at  frame 240. when i reset the camera to 0,0,0, this is the result.

@MEATTAIL Yeah well, what do you want the camera to do? Follow the curve exactly? Then the influence has to be 1 all the time. 0 means stay at original position, 1 means follow the curve exactly. Every animated value inbetween means mix the position on the curve with the original position.

@GordonBrinkmann i've got it! looks like i just got the influence confused with the offset factor. i've set the influence to always be 1 and keyframed the offset factor.

@MEATTAIL But you're aware that there is an animation on the Evaluation Time on the curve as well, don't you? Under Path Animation in the Curve Properties. The Evaluation Time also makes the camera move along the curve, and with the Offset you can adjust how much ahead or behind the camera is in relation to the path animation.


text:
How do I get this existing mesh to follow this curve?
One thing that I frequently ask myself when using Blender is, "What if I could just make this follow a curve instead of having to model it by hand?"
Unfortunately, I can never seem to get it to work.
Suppose I'm modeling a pair of overalls, and I want one of the loops to follow a curve:

Ideally I'd use a curve modifier to achieve this, but it just won't cooperate. I've tried applying all transforms to both the curve and the mesh, but the mesh appears in seemingly random places in the viewport as displayed in the screenshot above.
I've already textured this, so I'd like to keep my existing mesh.
How does one go about doing this?

it should work, put the two objects at the same location (the origins must overlap) then choose the good Deform Axis it the Curve modifier. That said, I'm not sure that it's the most convenient way to model, if you model with few polygons only it should be easy to give the shape you want to your mesh


text:
How can I edit an action so that its bones are pointing upright?
Earlier I attempted to append two actions to this .blend file. The appended "Walk" and "Run" actions weren't animating properly, and the bones had to be rotated along the Y axis with Ctrl + R in order for them to work.
However, this broke the existing "Idle" action, which was built for the armature before it had its bones rotated. I've created a new .blend file to illustrate this:

The armature on the left appears to be the proper one, with the Z axis pointing upwards and the X axis pointing right. The "Idle" action works, but the "Walk" and "Run" actions do not.
The armature on the right appears "broken", with Z pointing down and X pointing left. The "Walk" and "Run" actions work, but the "Idle" action does not.
This appears to be an issue with the actions themselves. I'd like to avoid reanimating this if possible, is there any way to edit the "Walk" and "Run" actions so that their bones are rotated properly?
You can find the .blend file here!

Hello, from what I understand your problem is that you can't expect the same action work the same way on both the 2 armatures if their bones are not rotated the same way

@moonboots Is there any way to fix the action so that it assumes that the bones are rotated though?

You could try to do it in the Graph Editor but I'm afraid it will be super tedious

@moonboots In theory I should be able to scale the Y Quaternion by -1 on all the keysframes on all the bones in the graph editor, but it doesn't appear to do anything.

I couldn't find a solution no matter how far I looked or how hard  tried, most of the posts I came across were unanswered so here's mine: I ended up reanimating everything.
Please make sure that your bone roll is set to zero before animating.


text:
Unable to export as .glTF, "mesh does not have morph targets"
I've been struggling with exporting this project as a .glTF for a few weeks now.

My goal is to have a .glTF that plays the animation of the character grinding on the rails.
I selected only what I needed, and set the GLB export settings to only export what's selected.
When I try to open the .glTF in Microsoft's 3D Viewer, it crashes before it can even open the file. I tried opening it in this online glTF viewer to get a detailed description as to what's wrong with the file, and I get the following error:
Animation channel cannot target WEIGHTS when mesh does not have morph targets.

I've inferred that "Morph Targets” are synonymous with "Shape Keys". I converted everything into a mesh, made sure every object had at least one shape key, and even disabled "Shape Keys" under "Animation" in the export menu.
Unfortunately, this still didn't help my case. Microsoft's 3D Viewer still crashes before I even get to see the file, and I'm getting the same error message in the online viewer.
Does anyone know what's causing this? You can find the .blend file here!

The exporter really sucks at this file. Suggest reporting a bug at https://github.com/KhronosGroup/glTF-Blender-IO/issues

In my case, this problem was caused by a Blender modifier. So I had to remove or apply modifiers for shape keys to work


text:
Weird twist deformation with auto-rig pro IK
Here's a picture of the topology of the arm I'm trying to rig; it's a fairly simple cylinder with a couple of subdivisions:

This is for a game engine (Godot) so as per the instructions in the AutoRigPro documentation, I have this set up with 4 twist bones:

After binding the mesh with the rig, FK works fine on the arms. However, if I ever try to use FK with the arms, I get some really bizarre twisting, but only on the upper arm:

If the upper arm moves up/down it will also "snap" around and warp in the opposite direction:

Any tips to avoid this twisting? I made sure that all transformations are applied and can easily get it to happen again if I reset the transforms of the IK nodes and then move them.

Upload your file. I realize that only Auto-Rig Pro users will be able to look at it. I am one such user and I will take a look at it.
Go here to upload the file. It's the preferred way of doing so:
https://blend-exchange.com/

After looking at Auto rig pro: Knees bent backwards I think I figured it out...
My reference bones were straight:

So when auto-rig pro creates the IK poles, it creates them in the incorrect spot (forward on the Y axis, they should be up on Z):

The fix was to move the where the reference bone for the elbow is up a little bit on the Z axis, since in my model the palms are facing down and that's the direction it should bend in:

After matching the reference bones to the rig again, the pole is in the correct spot above the elbow on the Z axis:

After this, IK works as expected!


text:
Smoke simulation frozen
I am having a problem with my smoke simulation. I created an emitter and added the quick smoke preset.
But when I press play the simulation only shows the first frame.
When I do the same in a blank blender project, everything is working as expected.
Is there any Project setting that I might need to change?

Can you add the file in your question? You can do this by going to blend-exchanges.com and adding the link in your question.


text:
Mass adjust materials after import using python?
So I am currently testing out the new google city API for blender and I've been able to import an entire scene for a project. The problem is the material for the mesh comes in as 100s of tiles with individual materials assigned to them. The materials nodes aren't done correctly and going in and changing each individual material would be impossible
and here is what I would like

is there any possibility to do this en masse using python? I have used scripts, but for other programs like Rhino. Thanks and any help is appreciated.

Sure you can do that. I assume the material layout given in your screenshots is the same for all materials used by one object. Try this script:
import bpy

# get google obj
obj = bpy.data.objects['<google>'] # replace with real name

# look at all materials in this object
for material in obj.data.materials:

    nodes = material.node_tree.nodes # the shader nodes
    links = material.node_tree.links # the node noodles

    # find our needed nodes
    for node in nodes:
        if node.type == 'TEX_IMAGE':
            img_tex_node = node
        elif node.type == 'OUTPUT_MATERIAL':
            mat_output_node = node

    # create the diffuse bsdf node and noodle all together
    diffuse_bsdf_node = nodes.new('ShaderNodeBsdfDiffuse')

    links.new(img_tex_node.outputs['Color'], diffuse_bsdf_node.inputs['Color'])
    links.new(diffuse_bsdf_node.outputs['BSDF'], mat_output_node.inputs['Surface'])

    # remove all others
    unused_nodes = [ n for n in nodes if n.type != 'TEX_IMAGE' and n.type != 'OUTPUT_MATERIAL' and n.type != 'BSDF_DIFFUSE' ]
    for node in unused_nodes:
        nodes.remove(node)

Genius. Thank you so much!

Welcome, happy scripting.


text:
Geometry Node issue - Distribute Points on Faces not working?
so I'm trying to follow this tutorial
https://www.youtube.com/watch?v=sBJ-HuBL6gw&list=PLgO2ChD7acqHzccBuhAGw8dTPLnR1E3QB&index=4
Which is 2 years old and outdated, so is using Point Instance Node, which doesn't exist anymore.  It has been brought up in comments and updated, but not explained as well.
Comments updated that to get the ico sphere to the wireframe faces to work, we have to use Distribute points on faces into an instance on points node into the join geometry node at the end, then add the ico sphere and connect it to the instance slot of instance on points node.  ChatGPT says this same thing.
In 4.0 this does not work.  Is this a bug or did they change it again and it's not being explained anywhere?
I tried all sorts of combinations of this into every slot and the icosphere will not show up.  I see others in the comments having the same issue and people keep repeating these steps like it's supposed to help when it is not working.
Trying to ask here since the Devs don't like when people report it as a bug if there was some sort of work around implemented but not told or updated =/

Geometry Nodes have changed substantially since the alpha version of Blender 3.0 where the code for them was still being written so I'd suggest you try to find a more up to date tutorial to follow! Version 4 tutorials are now starting to appear, for instance this series from Ryan King Art.

This is great, thanks. I was struggling trying to find updated videos.
I did however end up digging through enough comments buried that had the correct answer for anyone else on this.
Apparently it was as simple as taking the transform node from the original mesh, not the sphere, and plugging it into the points port on the instance on points, then plugging all the stuff with the new sphere into the instance port and finally worked.

Hello, Thai, welcome. If this is fixed, I think it would be fair to close this post.. unless you can clarify the exact problem you were having (The video is very long), and put in the solution as a self-answer. That would be OK for the archive. As it stands.. I'm not so sure. Do you agree?

Oh sorry, I'm a noob.  it was around the 23:10 mark.  But I did find the workaround which is in my last comment.
I'm not seeing the option to close this.

Trying to see if this is how I close this?
I found the workaround, there might be a couple other ways, but this was the thing that worked.
The issue in the video is at the 23:10m mark.
Apparently it was as simple as taking the transform node from the convex hull mesh, not the sphere like the guy and some others were explaining that it used to be pre 3.0, and plugging it into the points port on the instance on points, then plugging all the stuff with the new sphere into the instance port and finally worked.
This works 3.6 and 4.0


text:
Why does this imported .FBX appear differently in Blender?
I recently made a character model in Maya.

This model looks fine in Unity and Microsoft 3D viewer:

However, In Blender, it looks... off.

I'm assuming this has something to do with my import settings in Blender, as it's the only program that isn't displaying the model (and armature) properly. What am I doing wrong?
You can find the .fbx file here!

FBX support is not perfect in Blender. I would recommend trying another format if possible. Collada maybe? Also rigging technologies in different software packages are quite different, it wouldn't be surprising if  you simply cannot use a rig made in Maya inside Blender. It might be better to export geometry only and recreate rigs and materials in the software you need them in.

If I understand it correctly, there is a good reason for FBX support being not perfect in Blender. In order to support FBX, one needs to use FBX SDK that, If I understand it correctly, is licensed in a way not compatible with GPL license Blender's Python API has. So support for FBX is difficult in Blender because FBX SDK cannot be used with Blender. ...or something like that.  It's good idea to try to use other, more open formats with Blender whenever possible.


text:
Is there a way to remesh only a face set?
Really quick and dirty post. I frequently find myself separating loose mesh from an object just to remesh it for the sake of keeping things smooth.

Rather than separating the loose mesh from the object, remeshing, and rejoining the mesh, is there a way to remesh only the face set/loose geometry my cursor's on?
Thanks in advance!

In Sculptor Mode mask the region you want to Remesh and Ctrl + i to Invert Mask. Then go to Remesh on top-right of viewport choose Preserver: Paint Mask and click Remesh

Awesome! Is there any way to make a mask out of a face set?

For Draw Face Set tool (Shift + Spacebar + 0) press H to isolate Face Sets under mouse cursor then Fill Mask. Also, you can Shift + H to hide Face Sets under mouse cursor and  Alt + H to unhide all.


text:
Why do my sculpts appear lumpy?
I'm working on a character sculpt in Blender. One problem I've noticed throughout all of my sculpts is the slightly lumpy quality to them. I'm not entirely sure how to describe this, but nothing I sculpt is ever entirely smooth.

Notice how these legs aren't completely smooth, almost as if they have cellulite.
I try to combat this by using Dyntopo and the Simplify tool to preserve detail only where I need it most. Things like hands, feet, and creases can retain a higher polycount, while the rest of the body can remain relatively low-poly.

(Please ignore the obscenely detailed feet, they're a recycled asset I booleaned on)
Unfortunately, the surfaces still look bumpy, even with a lowered polycount.
A few of the tutorials I've seen have incredibly smooth character sculpts, such as this one. How do I achieve this level of smoothness in my own sculpts?
You can find my .blend file here! Thanks in advance!

Smooth surfaces are achieved by even quads and iterations: you add details, then smooth them out, then add them again, starting from big forms and ending with tiny details only at the end of the process.
In my example I turned off dyntopo, went to front ortographic view, pressed Shift R and set a value about 0.006, then pressed Ctrl R, to remesh the character.
Then I used a big brush with low strenght (about 0.3) to smooth the surfaces.
In a couple of minutes I obtained a smooth base mesh: some details are lost but they can be readded with ease.
So, more iterations between adding details, remesh and smoothing is the answer (or, better, one possible answer).


text:
Where are the handles on this NURBS curve?
I'm working on stylized eyelashes for a character sculpt, and I'd like to make a sharp turn at this point.

I believe it's a NURBS curve. The path was created with Shift + A > Curve > Path. I hit v and set the handle type to Free, but I don't see any handles.
I've tried setting the spline type to Bezier, but the results weren't pretty and the handles don't appear to do anything.

Where are the handles on my NURBS curve?

If I'm understanding you correctly, NURBS curves do not have handles (only beziers have handles.)  Instead, the curvature of NURBS curves is adjusted by adjusting each control's "W" component, which I access on sidebar/item/transform.

Got it, thank you!

Click this checkbox while in edit mode for the curve.


text:
How should I wrap this shirt around this character's waist?
I'm working on clothing for a character model.

My goal is to wrap the flannel around the character's waist. I've created a shape key for the base position to UV unwrap and texture it, and another shape key for the wrapped position.
I've tried using both the cloth brush with grab deformation as well as the elastic deform brush to achieve this. My two biggest issues are that the sleeves of the flannel clip into themselves (which will probably be fixed after running a cloth sim with self collisions) and the cuffs come apart.

I've created a vertex group for the cuffs to easily make a face set out of, in hopes that I could freely drag the cuffs around and the sleeves would follow. Kind of like how this arm follows this hand and the hand doesn't deform at all.

Instead, I get this:

...and with face sets boundary auto-masking on:

What's the best way to accomplish this while keeping the cuffs intact? You can find the .blend file here!
Thanks again!


text:
Why does this mesh change shape when rotated?
I've been working on a character model for VRChat! However, I've encountered a problem. When I rotate the eyes, they appear to change in shape:

Here it is in wireframe mode:

How do I get these eyes to retain their shape as they rotate?
You can find the .blend file here!

Just fixed it! All I had to do was set the eye's weights on the head vertex group to zero. I just had to make sure the eyes were parented to the eye bones and nothing else!


text:
How do I merge these objects together while retaining the highest amount of detail?
I'm working on another character model. I've sculpted the hands and feet individually to retain a high amount of detail using a technique in which I crudely construct everything out of spheres, join them into a single object, remesh the object, and touch it up in sculpt mode.

I'm pretty much at the point where I'd like to join the hands and feet with the rest of the body to get rid of the visible seams. However, then I join the hands with the body and remesh the body in sculpt mode, the results get messy:

I've attempted to alleviate this with face sets, in hopes that I could direct the retopology to only the grey portion of the sculpt:

However, the results remained the same.

I've also attempted to merge the hand with the body using a boolean modifier, but this usually just causes the computer to hang.
What's the best way to join these two together?

at this point, it is good to remember for your future project to not place fingers close to each other because remesh will think that those vertices are supposed to be together... You can make it better with a few settings but I would suggest to you to join the meshes and use Dyntopo instead of remesh on those parts that are needed to be joints

I'll keep that in mind! I just used a boolean modifier to join the hands with the body, applied the modifier, enabled dyntopo in sculpt mode, and used the simplify and smooth brushes to polish things out. It worked out great! Thank you!


text:
How to change direction in animation?
I took the animation from Mixamo, animation aim, but it is not directed where I need it, I need to correct the animation and change its direction, for example, rotate the direction of the animation by 45 degrees.
How to do it?

one way would be to parent the armature to an empty and then just rotate that empty

I don't quite understand what you mean. create another bone and bind to it? (but let's say you can't add bones)
I have a root bone, it is rotated 45 degrees in the animation, but through editing, if you change it, the whole animation will rotate, you need to change every frame through the pose.
I don't really understand how to fix it yet...

if u provide a blend file i will try to show you (because every rig might be different and if i show you a "general" example it might not help you in your special case and i don't like to waste my time)

I just need to change the position (rotation) root bone so that it doesn't affect the rest of the animation...

'Rotate the direction of animation' could mean quite  a few things... please illustrate what it means in your case.

I edited the post, in the screenshot the root bone is rotated 45 degrees, I need it to be rotated 0.
But if I rotate it, then the entire armature with animation will rotate, but how can I set it to 0 but at the same time so that the entire animation is not affected?


text:
How to show Preview Areas
I accidentaly clicked join areas. How to show it?

Hello could you please elaborate a bit? Do you mean that you want to open a window again? You just need to put your cursor at one of the 4 corners of your window and left click drag?

Here is a example of moonboots' suggestion: https://blender.stackexchange.com/questions/120891/split-screens-in-2-8 and here is shown how to choose/restore the editor for the area: https://blender.stackexchange.com/q/177296/107598

Two more options if the UI is messed up completely: restore the workspace (add+delete) -or- save blend file and prevent Load UI: https://blender.stackexchange.com/questions/94308/blender-viewport-and-workspace-reset


text:
How do i delete individual particles

When I try deleting the sprinkles on the left it also deletes the others

Hi :). Just disable the Sprinkles collection using the checkmark. This will hide it in viewport and render.

I do it by either masking out the undesired particles (see pic) or by removing the faces or parts of the emitter that produces them. (see video)
https://1drv.ms/u/s!AtkhCKZLZs_Pg0F_aG_HlwziLm0c?e=Wd59r8


text:
Shading issue with object
I have created an object, when I render it in EEVEE the shading looks decent but when I render it in Cycles it seems to have clear lines where the shading falls.
I tried a shade transfer from another object, but that didn't work, I tried to add subdivision which messed up the mesh, and adding loopcuts didn't really seem to do the trick too.
Is there any way to fix this?

I uploaded the file here in case if anyone wants to have a better look at it. https://easyupload.io/49yd8k

It looks like normals trouble, but why it’s happening for cycles and not EEVEE I have no idea. Are some of the normals inverted? Do you need to merge duplicate verses? Do you have odd n-gon shapes / does triangulating the mash make a huge difference?

It is an artifact of your first Bevel modifier, on the panel on the main cylinder; but I don't know the fix.

I don't think it's an artifact because then it would show up in the face orientation don't you think? I also checked the normals and that seemed in order. It could be the geometry which need to be of a rounded shape for that position. But I have no Idea how to do that. Because if I add loopcuts the shape will still have sharp edges and I can't really use a latice or deform it will affect the whole object instead of that face or edge only.

It looks like it's the Terminator Effect, Blender struggles to create soft shadows with the current lights (you have areas that project parallel rays and a point light that has a very low Radius value), you need to increase the size of a light, like the Radius of the light called Light, or select your object and in the Object panel > Shading, increase the Shadow Terminator Offset.
Here I've just increased the Radius of Light:


text:
Curve is getting bigger when using array mod on a circle
I was trying to make a tire for a car that I'm modelling but every time I add count on the array mod the tire gets bigger.
How do I fix this and what did I do wrong?
[1

Does the object have some unapplied Scale?

I don't think so but I tried control a which didn't help

I think you're gonna need to [edit] your post and add some more pictures of the modifier pane and any other details you think might help.

Or provide your blend file, then we can help you for sure…

I tried adding the blend file im not sure if its going to work.

Your setup is a bit messy, try to put the origins of each object at their geometry, apply the rotations, put the curve and the object at the same position, etc.
A quick fix is to flatten your curve called BezierCurve on the Z axis, you can do it in Object mode and in that case apply the rotation:

Thank you so much!!! I got it fixed ( although I took the short cut)!


text:
I want to copy all my shapekey drivers from 1 mesh to another
I have two characters with corrective shape keys , the one which I get from daz have all driver setup for corrective shape keys . The one I edited have same armature and same shape keys (the have same names on both objects) but now I have to copy all driver from particular shape key to the shape key of my final mesh and that very time consuming and annoying as i have more then 200 shape keys on mesh and I have to do it more many characters.
I found the script which copy all shape keys from one mesh to another I need similar functionality for drives so all the drivers from particular shape key of one object get copied to corresponding shape key of another object.
Shape key transfer Script:
import bpy

def copy_all_shape_keys():
    if len(bpy.context.selected_objects) == 2:
        source = bpy.context.selected_objects[1]
        dest = bpy.context.active_object
        for v in bpy.context.selected_objects:
            if v is not dest:
                source = v
                break

        print("Source: ", source.name)
        print("Destination: ", dest.name)

        if source.data.shape_keys is None:
            print("Source object has no shape keys!")
        else:
            for idx in range(1, len(source.data.shape_keys.key_blocks)):
                source.active_shape_key_index = idx
                print("Copying Shape Key - ", source.active_shape_key.name)
                bpy.ops.object.shape_key_transfer()

print("Start")
copy_all_shape_keys()
print("End")
```


text:
bpy scripting - custom video tools - error in new blender version - TypeError: '<' not supported
I have a custom python script for video editing, which speeds up my video workflow a ton
Script worked like a charm, but I installed a new (lts) Blender 2.93.1, and the script does not work any more
Script code:
    import bpy
    from math import ceil

    bl_info = {
        'name': 'VSE Tools Aum',
        'blender': (2, 80, 0),
        'description': "VSE tools: duplicate & move, apply speed control",
        'category': 'Video Tools',
    }

    class SCENE_PT_vse_tools_aum(bpy.types.Panel):
        bl_label = 'VSE Tools Aum'
        bl_idname = 'SCENE_PT_vse_tools_aum'
        bl_space_type = 'SEQUENCE_EDITOR'
        bl_region_type = 'UI'
        bl_category = 'Tool'
        # bl_options = {'DEFAULT_CLOSED', }

        def draw(self, context):
            layout = self.layout
            # scene = context.scene
            # curr_frame = context.frame_current
            # layout.prop()
            split = layout.split()

            col = split.column()
            col.label(text="Populate",)

            col = split.column()
            col.operator('sequencer.populate',
                         icon='FILE_SCRIPT',
                         text='Run',)

            row = layout.row()
            col = row.column()
            col.label(text="Speed",)

            col = row.column()

            col = row.column()
            col.operator('sequencer.apply_speed',
                         icon='FILE_SCRIPT',
                         text='Run')

    class SEQUENCER_OT_populate(bpy.types.Operator):
        '''with strip selected:
        1) jump playhead (2x),
        2) duplicate strip and
        3) snap it to playhead+/-offset'''
        bl_idname = 'sequencer.populate'
        bl_label = 'Populate'
        bl_options = {'REGISTER', 'UNDO'}
        populate_steps = bpy.props.IntProperty(
            name='Populate steps',
            default=1,
            description="Run script x times",
        )
        snap_offset = bpy.props.IntProperty(
            name='Snap offset',
            default=16,
            description='Offset in frames',
        )
        jump_steps = bpy.props.IntProperty(
            name='Jump playhead steps',
            default=2,
            description="Jump playhead x times",
        )

        def execute(self, context):
            '''automate meta transition strip duplication and move
            strip_jump 2x ->
            duplicate selected meta strip ->
            slip meta strip to playhead minus snap offset
            '''
            # scene = bpy.data.scenes['Scene']
            scene = context.scene
            seq = bpy.ops.sequencer

            @classmethod
            def poll(cls, context):
                scene = context.scene
                seq = scene.sequence_editor
                if (seq and
                    seq.active_strip and
                        seq.active_strip.select):
                    print('populate poll executed')
                    return True
                return False
            '''if active_strip is none or no strip is selected, print message and exit'''
            if not scene.sequence_editor.active_strip or not scene.sequence_editor.active_strip.select:
                # print('NO active strip or NO strip selected, populate script cancelled')
                self.report(
                    {"ERROR_INVALID_INPUT"},
                    "NO active strip or NO strip selected, populate script cancelled",
                )
                return {'FINISHED'}
            '''if strip is selected, run populate magic'''
            if scene.sequence_editor.active_strip.select:
                '''TODO jump playhead only on movie clips'''
                '''loop execute function "populate_steps" times'''
                i = 0
                while i < self.populate_steps:
                    '''move playhead "jump_steps" times (go to the end of next strip)'''
                    j = 0
                    while j < self.jump_steps:
                        seq.strip_jump(next=True, center=False)
                        j += 1
                    '''find current playhead frame'''
                    current_frame = scene.frame_current

                    if seq.duplicate_move.poll():
                        seq.duplicate_move(
                            SEQUENCER_OT_duplicate={},
                            TRANSFORM_OT_seq_slide={
                                "value": (0, 0),
                                "snap": False,
                                "snap_target": "CLOSEST",
                                "snap_point": (0, 0, 0),
                                "snap_align": False,
                                "snap_normal": (0, 0, 0),
                                "release_confirm": False,
                                "use_accurate": False,
                            })
                    '''snap selected strip to current frame minus "snap_offset"'''
                    seq.snap(frame=current_frame-self.snap_offset)
                    i += 1
            # 'DEBUG', 'INFO', 'OPERATOR', 'PROPERTY', 'WARNING', 'ERROR', 'ERROR_INVALID_INPUT', 'ERROR_INVALID_CONTEXT', 'ERROR_OUT_OF_MEMORY'}) – Type
            self.report(
                {"INFO"},
                "Populate script executed, finishing",
            )
            return {'FINISHED'}
            # return {'CANCELLED'}
            # return {'PASS_THROUGH'}
            # return {'RUNNING_MODAL'}

        def invoke(self, context, event):
            '''popup script dialog'''
            return context.window_manager.invoke_props_dialog(self)

    class SEQUENCER_OT_apply_speed(bpy.types.Operator):
        '''with strip selected:
        1) ui: enter speed: float x
        2) add speed_control
        3) movie strip: duration/x
        4) audio strip: duration/x & pitch=x
        5) playhead strip_jump(next=False)
        6) select 'remaining' strips, snap to playhead'''
        bl_idname = 'sequencer.apply_speed'
        bl_label = 'Speed Control'
        bl_options = {'REGISTER', 'UNDO'}

        speed_factor = bpy.props.FloatProperty(
            name='Speed factor',
            default=4.0,
            description="Speed to apply to selected movie and sound clips",
        )
        add_modifiers = bpy.props.BoolProperty(
            name='Add modifiers',
            default=True,
            description=(
                "Add modifiers to movie clip: curves, hue correct, color balance"),
        )

        def execute(self, context):
            '''check if any sequence is selected'''
            sequences = [
                s for s in context.selected_sequences if s.type == 'SOUND' or s.type == 'MOVIE']
            # for strip in sequences:
            #     print('sequence: ', strip, strip.type)
            if not sequences:
                self.report(
                    {"ERROR_INVALID_INPUT"},
                    "No MOVIE or no SOUND strip selected, speed script cancelled",
                )
                return {"FINISHED"}
            sequences_length = len(sequences)
            '''2 sequences should be selected, MOVIE and SOUND'''
            if sequences_length > 2:
                self.report(
                    {"ERROR_INVALID_INPUT"},
                    "More than 2 sequences selected, speed script cancelled",
                )
                return {"FINISHED"}
            '''if 2 strips are selected, run speed apply magic'''
            sequence_editor = context.scene.sequence_editor
            sequencer = bpy.ops.sequencer

            sequencer.select_all(action="DESELECT")

            for strip in sequences:
                '''select SOUND strip, shorten duration / speed_factor'''
                if strip.type == 'SOUND':
                    selected_sound = strip
                    selected_sound.pitch = self.speed_factor
                    duration = ceil(
                        selected_sound.frame_final_duration / self.speed_factor)
                    selected_sound.frame_final_end = selected_sound.frame_final_start + duration
                    self.report(
                        {"INFO"},
                        "Speed script: sound shortened, pitch applied"
                    )

                '''select MOVIE strip, apply SPEED strip, shorten MOVIE duration / speed_factor
                TODO add modifiers curves, hue_correct, color_balance'''
                if strip.type == 'MOVIE':
                    strip.select = True
                    selected_movie = strip

                    print('selected_movie is ', selected_movie, selected_movie.type)

                    sequencer.effect_strip_add(type='SPEED')
                    speed_effect = sequence_editor.active_strip
                    speed_effect.use_default_fade = False
                    speed_effect.speed_factor = self.speed_factor
                    '''shorten MOVIE duration'''
                    duration = ceil(
                        selected_movie.frame_final_duration / self.speed_factor)
                    # selected_movie.frame_final_duration / speed_effect.speed_factor)
                    selected_movie.frame_final_end = selected_movie.frame_final_start + duration
                    speed_effect.select = False
                    self.report(
                        {"INFO"},
                        "Speed script: movie shortened, speed applied",
                    )
                    '''add modifiers'''
                    if self.add_modifiers:
                        sequence_editor.active_strip = selected_movie
                        sequencer.strip_modifier_add(type='CURVES')
                        sequencer.strip_modifier_add(type='HUE_CORRECT')
                        sequencer.strip_modifier_add(type='COLOR_BALANCE')
                        self.report(
                            {"INFO"},
                            "Speed script: added modifiers curves, hue_correct, color_balance",
                        )

            return {"FINISHED"}

        def invoke(self, context, event):
            return context.window_manager.invoke_props_dialog(self)

    classes = (SCENE_PT_vse_tools_aum,
               SEQUENCER_OT_populate,
               SEQUENCER_OT_apply_speed,
               )

    register, unregister = bpy.utils.register_classes_factory(classes)

    if __name__ == '__main__':
        register()

Error when i hit 'run' button:
    Python: Traceback (most recent call last):
      File "C:\Users\chist\AppData\Roaming\Blender Foundation\Blender\2.93\scripts\addons\VSEToolsAum.py", line 113, in execute
        while i < self.populate_steps:
    TypeError: '<' not supported between instances of 'int' and '_PropertyDeferred'

    location: <unknown location>:-1

Also, when I hit 'run' button, previously (when script was working ok) there was pop-up window, with property fields to set, now there is pop-up window with name of script (ie 'populate'), and 'ok' button
obviously, problem is this line:
'while i < self.populate_steps:'
i tried casting into integer:
'while i < int(self.populate_steps):', did not work

Was Blender scripting updated somehow ?
what must i change to make my precious oh precious script be happy again ?

As of Blender 2.93 you have to use annotations. Support is dropped for 'non-annotation' properties, see: https://blender.stackexchange.com/a/228128/31447 Does that help?

thank you for your reply;
will check in future, most probably this is the cause of the error;
for now, i dl blender 2.91.0 version, and will use that, since it works as expected;


text:
How to pause function call(back) for ie intproperty value setting, which has update function?
We have ui panel with intproperty & stringproperty fields (all those below 'timezone'):

ba_props.py
all those properties have 'update=update_coordinates' function
class BastromProps(PropertyGroup):
    ...
    async def update_coordinates(self, context):
        try:
            print(f"BA_PROPS: UPDATE_COORDINATES: CALLING bpy.ops.sweph.coordinates")
            await bpy.ops.sweph.coordinates()
        except Exception as e:
            msg = f"ba_props: update_coordinates: sweph.coordinates error:\n{str(e)}"
            print(msg)

    lat_degree: IntProperty(
        name="",
        description="latitude degree",
        default=60,
        min=0,
        max=179,
        update=update_coordinates,
    )
    ...
    def register():
        bpy.utils.register_class(BastromProps)
        bpy.types.Scene.bapp = PointerProperty(type=BastromProps)

ba_ops.py
'sweph.location' is before 'sweph.coordinates', it will calculate coordinates,
and populate those 9 'bapp.lat_' etc fields
class SWE_OT_location(Operator):
    bl_idname = "sweph.location"
    ...

    def execute(self, context):
        bapp = bpy.data.scenes["cosmos"].bapp
        ...
        # TODO : PAUSE update_coordinates, fill IntProperty 9x, then CONTINUE
        if bapp.coordinates_insert:
            # 'write' call to 'bapp.' will trigger 'update=update_coordinates' call
            # which calls 'bpy.ops.sweph.coordinates' = next class, which calls next
            # class, which calls next class ... which yields a ton of repeating
            # terminal prints & unnecessary code execution
            bapp.altitude = alt_result
            (
                bapp.lat_degree,
                bapp.lat_minute,
                bapp.lat_second,
                bapp.lat_direction,
                bapp.lon_degree,
                bapp.lon_minute,
                bapp.lon_second,
                bapp.lon_direction,
            ) = deg_decimal_to_deg_min_sec_dir(self, lat_result, lon_result)
        # CONTINUE
        ...
        # call next function
        bpy.ops.sweph.coordinates()

        return {"FINISHED"}

class SWE_OT_coordinates(Operator):
    bl_idname = "sweph.coordinates"
    ....
    def execute(self, context):
        bapp = bpy.data.scenes["cosmos"].bapp
        # 'read' call to same intproperties with 'update=update_coordinates' ...
        lat = (bapp.lat_degree * 3600 + bapp.lat_minute * 60 + bapp.lat_second) / 3600
        lat_string = "sn"
        ...
        # call next function
        bpy.ops.sweph.datetime()

        return {"FINISHED"}

searching the net, py coroutines would be the way to go,
but i am having a hard time understanding this
q: which python code will prevent executing this circular code calling, so:
    first all 9 intproperty fields are updated,

    without executing call to (await) `bpy.ops.sweph.coordinates()`

    then the code CONTINUEs

    by calling `bpy.ops.sweph.coordinates()` ?

Hello and welcome. Please avoid "version tagging" your title or posts. It may give the false impression that the answers here will not apply to other versions, misleading future visitors

will keep in mind in future, thx

ok, solving that was quite simple, just did not clicked
SOLVED
make pause flags by enabling & disabling code execution
ba_props.py - add boolproperty as flag
    # bool flag
    update_coordinates_enabled: BoolProperty(default=True)

    def update_coordinates(self, context):
        # check the flag
        if not update_coordinates_enabled:
            return
        try:
            bpy.ops.sweph.coordinates()
        except Exception as e:
            ...

ba_ops.py - set & unset the flag
        # PAUSE update_coordinates, fill IntProperty 9x, then CONTINUE
        if bapp.coordinates_insert:
            # set the GODNOOOO flag
            bapp.update_coordinates_enable = False
            bapp.altitude = alt_result
            (
                bapp.lat_degree,
                ...
            ) = deg_decimal_to_deg_min_sec_dir(self, lat_result, lon_result)
            # CONTINUE -> set the GODYESSSS flag
            bapp.update_coordinates_enable = True

solved, but i didn't learn coroutines use
godspeed


text:
Question from noob about twisting the curve
Was unable to find an answer on the forum and google.
There is a simple curve (circle) and applied "Simple Deform" -> Twist -> 360° by X. Plus added a bit bevel depth in Geometry.
The shape and the cross-section become flattened. But is there a way to keep their initial circle shape like it would be a wire no matter what twisting angle is applied? ?
For example like here

Starting with a Curve > Circle, one way to do this would to be to arrange for the bevel of the curve to take place after the twist, using Geometry Nodes:

Below the Twist modifier on the stack, internally, the geometry is considered to be a Mesh, so has to be converted back to a curve in GN, before profiling:

If you're particular about the overall shape, it may be worth noting the Twist does not produce a perfect sphere from a circle, so you may want to insert a Cast modifier, (Sphere, Factor 1), below the Twist.
Here's a share:

Check out:

The curve-circle has no Object-Mode scale. (CtrlA to apply the scale if necessary)
TIn the circle's own Data tab, it's been set to a high enough resolution to accommodate the curvature

Thank you very very much, Robin, for your time on this issue. At least I can see it is possible and people who know how to do this are alive. As I mentioned above I'm a noob in all this I tried to reproduce everything you described and showed but definitely missed something so I got the following. Could you please point out where I could make a mistake?

@ВадимГусар See edit to my post for a share, and a couple of possible problems with your version.

Robin, thank you very much again. No doubt you are a wizard for me. The problem was that I still used bevel depth in "Object Data Property" -> Geometry, it should be 0 there. Once again, thank you very much, @Robin-Betts

@ВадимГусар No problem at all. If the answer has worked for you, you can click the tick next to it. That will mark it as 'solved' for other users.

Done, marked, and once again thank you, @Robin-Betts. Can you give me a favour and answer the last question? As I understand you provided me (and all the rest who need this) with the solution for the latest version of Blender where GeometryNodes was added. But as I understand from my link reference in the question there was a solution for previous versions without using nodes. Do you have any ideas about how they made this?

Hi, @ВадимГусар Fair question. I don't know whether  the dependency graph has changed since then?  As a mod I get to see deleted posts. A deleted 'answer' to your link was a misplaced supplementary question, complaining that the profile was coming out flat, in 2018. I've tried deforming a mesh cylinder along the twisted curve, but it doesn't pick up the twist..  I can't find a way.. I. too, would be interested in an answer to  this. Still having a think.

Hello, @Robin-Betts. Thank you for your time, help and sharing your knowledge with noobs :)


text:
detect orbit events via API
Tl;Dr:
I want to detect an orbit (could be pan or zoom) event from the Python API.
Longer:
If you want a bit more context, I am hiding some elements when I look through the camera. But when I move away (i.e., by orbiting), I would like these elements to be visible again.
def see_through_selected_camera():
    # Look through camera
    bpy.context.scene.camera = bpy.context.active_object
    area = next(area for area in bpy.context.screen.areas if area.type == 'VIEW_3D')
    area.spaces[0].region_3d.view_perspective = 'CAMERA'

    # hide curves
    objects = bpy.ops.object.select_by_type(type='CURVE')
    objects = bpy.context.selected_objects
    for obj in objects:
        obj.hide_set(True)

    # HERE I WANT TO DETECT A CHANGE IN THE ROTATION SUCH AS:
    rot = area.spaces.active.region_3d.view_rotation
    if detect_orbit_change():
        for obj in objects:
            obj.hide_set(False)

I cannot find a way to write detect_orbit_change() and detect such an event.
I was looking at msgBus but it seems like it is not triggered by changes made directly in the viewport.
It would not be ideal, but at that point, if I could just detect a mouse click I would be happy enough.
Thanks in advance, any help is appreciated!

I have sort of solved it this way. I am not quite happy with that though, because the UI won't respond to anything until the user orbits the camera. So I'm still hoping for better answers!
To test it create a camera, create a Cube and place it in front of it, select the camera, and run the script.
import bpy

class ModalOperator(bpy.types.Operator):
    bl_idname = "object.detect_orbit"
    bl_label = "Detect Orbit (Middle mouse click)"

    def __init__(self):
        print("Waiting for orbiting motion")

    def __del__(self):
        print("Orbiting motion done")

    def execute(self, context):
        return {'FINISHED'}

    def modal(self, context, event):
        if event.type == 'MIDDLEMOUSE':
            hide(objects, False)
            return {'FINISHED'}
        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        self.value = event.mouse_x
        self.execute(context)

        context.window_manager.modal_handler_add(self)
        return {'RUNNING_MODAL'}

bpy.utils.register_class(ModalOperator)

def hide(objects, state):
    for obj in objects:
        obj.hide_set(state)

def see_through_selected_camera():
    # Look through camera
    bpy.context.scene.camera = bpy.context.active_object
    area = next(area for area in bpy.context.screen.areas if area.type == 'VIEW_3D')
    area.spaces[0].region_3d.view_perspective = 'CAMERA'

    # hide curves
    global objects
    objects = bpy.ops.object.select_by_type(type='MESH')
    objects = bpy.context.selected_objects
    hide(objects, True)

    rot = area.spaces.active.region_3d.view_rotation
    bpy.ops.object.detect_orbit('INVOKE_DEFAULT')

see_through_selected_camera()


text:
Yaw Pitch Roll of camera in local coordinate system
I retrieved camera properties from a bunch of Unreal scenes that I want to reproduce in Blender. The Unreal coordinate system is quite different: it is a left-handed one, cameras face +X instead of -Z like in Blender, etc.
What I want to do is simply to orient the camera with Yaw, Pitch, Roll, once I made it look in the +X direction.
Yaw is global/local, Pitch is local around the new pitch axis, Roll is local around the new roll axis. I am having more trouble than I would think, and I don't quite understand how Blender local axes work (I run into gimbal locks while I would think that the whole local coordinate system would rotate along with the camera).
In the end I'll do it programmatically, but a GUI answer is good too as I'm not worried about the coding part. Thank you in advance!

"the whole local coordinate system would rotate along with the camera" Rotating the camera does not rotate the coordinate system; the coordinate system is the static thing that camera rotation is measured relative to.  Rotating the parent rotates the local coordinate system.  I would expect this misconception to be the root of most of your problems.  Yaw/Pitch/Roll, in transformed axes, for a Blender camera, should be a ZXY Euler rotation mode: roll/pitch/yaw; backwards because you want it in transformed axes.  Conversion to different handedness is multiplying one rotation by -1.  Probably Y.


text:
Transformation constraint to the same object
I have an image plane that I would like to constraint to itself, so that it would be scaled when I translate it.
I know how to use a transformation constraint from one object to another, but it does not seem like it works for a single object.
I need to make it a script, but the first step would be to make it work in the GUI.
Thank you for your help!

Thanks! For those who might be interested in the bpy code, something like that worked:
img_vid_path = r'D:\data\Anais\Mathieu\cam01.mp4'
bpy.ops.object.load_reference_image(filepath=img_vid_path)
img = bpy.context.active_object

bpy.ops.object.empty_add(type='PLAIN_AXES')
empty= bpy.context.active_object
img.parent = empty

img.constraints.new(type='TRANSFORM')
img.constraints['Transformation'].target = empty
img.constraints['Transformation'].use_motion_extrapolate = True
img.constraints['Transformation'].target_space = 'LOCAL'
img.constraints['Transformation'].map_to = 'SCALE'
img.constraints['Transformation'].from_max_z = 1
img.constraints['Transformation'].map_to_x_from = 'Z'
img.constraints['Transformation'].to_min_x_scale = 0
img.constraints['Transformation'].to_max_x_scale = 1

However, this lead me into discovering drivers, which I ended up finding a bit more clean and intuitive (it may be my own bias).
It does not require adding any parent empty, and it is more versatile when you need to express a coordinate as a complex linear combination of several variables (for the record, you first need to add your variable in the driver namespace with bpy.app.driver_namespace['new_var'] = new_var
img_vid_path = r'D:\data\Anais\Mathieu\cam01.mp4'
bpy.ops.object.load_reference_image(filepath=img_vid_path)
img = bpy.context.active_object

driver_scalex = img.driver_add('scale', 0)
d_scalex = img.driver_add('scale', 0)
v_scalex = d_scalex.driver.variables.new()
v_scalex.name = 'scaleX'
v_scalex.targets[0].id = img
v_scalex.type = 'TRANSFORMS'
v_scalex.targets[0].transform_type = 'LOC_Z'
v_scalex.targets[0].transform_space = 'LOCAL_SPACE'
d_scalex.driver.expression = '-scaleX'

the first step would be to make it work in the GUI

You can add a layer of indirection, and then it works fine.
Start by making an empty at the location of the plane.  Parent your plane to this empty.  Give your plane a transformation constraint targeting the empty.
Now, you don't interact with the plane directly; you control it via its empty parent.  You might consider disabling "selection" on the plane.  When you move the empty, the plane follows because it is its child, and the plane scales because of the transformation constraint targeting the empty.

Thank you @Nathan! I ended up doing things a bit differently, but it did help me getting unstuck :)


text:
Obj import error
Everything was fine, but at some point when importing/exporting an obj file, an error pops up, I tried different scripts, deleted and installed the blender, nothing helps.What could be the problem?


text:
Is there any way to get the face/vertex normals as it is rendered via python?
Let's get a bit more specific here. In my previous question I mentioned I have a mesh with flipped/misoriented UVs, as it was originally textured for an engine that didn't care about the orientation of UVs in respect to the normal map and UVs. Unfortunately my intended target cares very much about this, leading to sharp changes in shading across the mesh.
Since nobody could or was willing to abide my laziness in expecting someone to hand me the answer, I'm going to try breaking it down a bit.
So, if the UVs are resulting in improper shading, I figure the best course of action is to reduce the variables, and get the data necessary for comparison. So instead of the actual normal map, I'll start with a completely neutral one - therefore the computed normals should be no different than the face normals, correct?
Since, due to said UVs, the improperly oriented UV faces will result in computed normals being different than the face normals, I either need a way to access the normals that Blender calculated, or to learn the calculation myself.
So any help achieving this goal would be greatly appreciated.

I added an answer on your previous post. I don't think that this issue is caused by what you think. Kind of an XY Question IMO.

You have to keep in mind that when normal maps are set to the non-color colorspace, Blender will happily ignore flipped UVs when calculating Normals. Unfortunately the target engine that this mesh will be rendered in is quite a bit more picky about it. For the purpose of the example, I learned that setting the color space to sRGB while dropping the specular and cranking the roughness results in a visually simular result to how it appears in the game and 3ds Max.

In your previous question I wrote "Honestly, I don't understand the question[...]" to which you responded "[...]I've already clearly described by problem and stated my question so that anyone capable of providing an answer can do so[...]". So this is your main problem, your attitude is severely filtering out people who can potentially help you. Next problem is, you use some terms like "UV face" and it's not clear what you mean by that. I think you never mentioned the engine you're exporting to? In Blender, normal direction depends on winding order of vertices, not on UVs.

Though maybe the winding order is exactly what you mean.

My appoligies for coming off as rude, but that response was directed at someone who insisted I add the imgur album I linked in response to the comment you're referring to, in my question. I decided at the time that it really wasn't worth adding it to my question, for the reason I stated. I later changed my mind and added said album anyway... though my explanation for originally choosing not to seems to be validated.

As far as the problem - I'm referring to the triangle elements in the UV editor, made up of 3 sets of UV coordinates. I appologize if I have the terminology wrong.  The problem is, in certain engines, improperly oriented UV triangles will affect the final calculated normals, as the normal map will be calculated based on the UVs in question. effectively flipping the normal map for the corresponding mesh triangles, leading to a similar appearance as if you flipped the normals themselves.

But it's not quite as simple as UVs determined to be flipped, and to make matters worse, Blender will happily ignore said flipped UVs so long as you set the normal map's color space to non-color (which in turn has led to quite a few instructions to do so). Unfortunately it needs to be set to sRGB in order to see the result of said flipped UVs, as merely looking good in Blender doesn't accomplish much.

"Blender will happily ignore said flipped UVs so long as you set the normal map's color space to non-color" - based on my understanding of Blender, this is just not true. I thought this is specific to some engine, but never saw that in Blender. Could you prepare a simple geometry, preferably just 4 separated triangles, and show them in 4 states in a table: sRGB, non-color as columns, normal UV, flipped UV as rows? Then if you embed such .blend we can investigate this interaction.

If you take the normal map and the blend file from the other question, and set the color space of the normal map to non-color it will appear fine. But if you enable Magic UV and have it select flipped UVs in the UV editor you'll see that approximately half of the UV triangles are flipped. If you set the color space to sRGB (and drop specular to zero, and increase rougness to 1) Blender will then show the shading issues related to those flipped UVs which appear as they do in both the game and 3ds max.


text:
How to bake the textures of a decal mesh onto the textures of the base mesh?
I've got a base mesh here with a color, emissive, normal, and roughness map, and surrounding this mesh (see selected) is another mesh that includes a similar texture set (plus an opacity mask) for the windows and escape pods. In the name of simplicity, I'd like to project the appropriate details of the texture set onto the base texture. If anyone could give me an idea of how to accomplish this, I'd be very grateful


text:
How can I fix these vertices/lines without messing up my whole mesh?
So I found out why my mesh acts weird when exporting, how can i 'smooth' those vertices / Lines without messing up the whole mesh??

Tyi

https://blender.stackexchange.com/questions/48954/eliminating-edges-connecting-islands/48967#48967

Hi! It is because when i export it it looks like this: https://prnt.sc/nSmyr3t16mIc

https://blender.stackexchange.com/questions/89/when-should-n-gons-be-used-and-when-shouldnt-they

thanks! I fixed it by: Go to edit mode
Navigate to the Select > All
Go to Face > Triangulate Faces


text:
How to orbit several objects at different speeds and paths around a central location
I am attempting to make spheres orbit around the perimeter of elliptic rings that transect a rotating central sphere, similar to an electron orbiting around a nucleus. The rings and attached spheres also follow the rotation of the central sphere around its axis (see reference image). The rings do not have an independent path. I have successfully rotated the entire object using an empty as a parent, but I need the smaller spheres to orbit along the elliptic path of their rings while also following the rotation of the sphere. When I set the rings to be the parent of the small spheres, they move position. Any advice on how to do this?

Just kidding! I solved it by using axes and follow path

if you solved your own problem: you are encouraged to answer your own question, provid[ng a working solution for your problem!


text:
Black parts on model that arent part of the texture
Im having a bit of a problem where I want to texture this model but after I added on the hair and outfit these black parts appeared and I dont know if its in maybe the vertex paint or something else but ive spent a good few hours on it and I'm stumped.

Hello and welcome. While files, images, and external videos or links may be helpful additions they should not be the only way to obtain information about your issue. Don't make understanding your question rely on downloading a file, watching a video or visiting an external site. Use the builtin tools to upload images or gifs, along with thoroughly explaining the problem in written form so it can be indexed and searched for thus helping future visitors with similar issues.

Ah thank you for the info!! luckily I didn't end up needing yalls help after all I took a break and figured it out on my own

Ended up just needing to fix the normals by going into Viewport Overlays, turning on Face Orientation, pressing Alt + N on the faces that were red and then clicking Recalculate Outside.


text:
Cycles Animation Render Flickering (Motion Blur Artifacts)
I need some help with removing flickering in the final animation render in Cycles when motion blur is enabled.
https://youtu.be/47KbA0EvxOA
Here’s what I’ve tried so far:

Increasing render Max Samples from 128 to 256
Changing Motion Blur > Position to different settings
Adjusting Motion Blur > Shutter to various values

Any suggestions on what else I could try?


text:
Render Layers Output Alpha Issue/Artifacts
The goal is to render in separate layers for compositing in After Effects. I need to get 3 sequences as output (one sequence with alpha for each render layer).
I have 3 render layers:
1. SCENE
2. SMOKE
3. MUZZLE
However, Blender’s output looks different from what I see in Blender’s own compositing (see images). It also looks strange in Photoshop and After Effects. I suspect there’s an issue with the alpha channel, but I can’t figure out how to fix it.

This specific things are semi transparent, because of that it is recommended to render those with a black background and then add them on top of your scene in After effect with a different layer mode, like screen or multiply

There is a node behind File Output, what is it ? Are you sure you plugged the same thing into the File Output, the Viewer and the Composite nodes ? How is it "strange" in PS and AE ? Without seing it, I can't say anything about it.

There are also problems with file format being 8bit PNG. It will have view transform baked into it so it's unusable for compositing. You should do compositing in linear color space preferably with formats containing more data like EXR with 16 or 32 bit per channel color depth.

I mean in addition to what Emir already pointed out - basically the fact that you cannot composite various light effects with alpha only, but need other mathematical operations like addition and/or multiplication.

@Emir, thanks! but what about smoke? what's wrong with it?

@Lutzi it’s just the Viewer Node to show how it looks in compositing. in PS and AE, they look the same as in the screenshot (see image callout)

@MartynasŽiemys thanks! yeah, i tried PNG in 16-bit and EXR, but the result is still the same

It seems you did ignore everything else discussed in the comments though.

I don't think 8-bit is an issue there, it works if you don't change colors&exposure too much. There could be some color banding yes, but not "wrong" alpha. If there is no color grading afterwards, there shouldn't be any issue (assuming OP is exporting to 8-bit video/image).

@MartynasŽiemys sorry, what do you mean by "ignore everything else"? could you please tell me exactly what i can do with the smoke to get it right in the output? i'll try it right away

https://docs.blender.org/manual/en/latest/render/layers/passes.html#id4 This is how you composite render passes. It's confusing since volume passes are not shown, but they are the same as others. Compositing needs to be done in linear color space (EXR saves in linear Rec709 color space and in 16 or 32 bits suitable for compositing). Smoke is volumes - you add volume direct and indirect to the image same as emission. You cannot composite volume(smoke) or emission(muzzle flashes) passes with alpha. Sorry, I was hoping someone else might take the time to answer in full as an official answer.

thanks a lot @MartynasŽiemys! so, if i have some color correction and effects done in blender's compositing, i can't just export it as it is, right? i have to export raw passes and then combine them in AE with additional color correction and effects? sounds like it's a bit trickier than i thought


text:
How do I rotate the bones?

I know there are already questions about this but I don't think there quite available in 2.8 blender. I want to rotate the bone so the bones will be lined up in a straight axis. How do I do it?

Please don't asked the same questions multiple times. If you need to edit the question you can use the [edit] link under it.

@RayMairlot  Yeah I didn't know how to delete my question..

Go into edit mode.
Select the tip of the second bone and snap the cursor to it. ⇧ ShiftS
Select the root of the first bone and extrude a new helper bone from it. E
Select the tip of the helper bone and snap it to the cursor. ⇧ ShiftS

Select the helper bone.
Choose the normal orientation for transformations.
Create a custom transform orientation from the normal orientation.
Delete the helper bone. (We have the custom orientation from the root of the first bone to the tip of the second bone, and that is all that we need.) X
Choose the 3D Cursor as Pivot Point. . / numpadperiod
Select the root of the second bone and scale it to 0 on the custom XZ axis, by pressing S[⇧ ShiftY]0. (Shift has to be held while Y is pressed, this constrain scaling along the XZ axis of the custom transform orientation.)

Copy paste the roll property from one bone to the other.

This answer expands on how the custom transform orientation works.

Thanks for all, but what does 'transformation' do and what is happening when I'm setting it to 'normal' and creating another one?

Does the explanation in this answer help?

Yes it did helped a lot

I'm supposing you have two copy rotation constraints, so that rotating the first bone will cause the rotation of the two others also; but the finger is deforming weirdly. This is not a problem of location and alignement of bones, but to their roll instead (rotation of their longitudinal Y axis in edit mode).
So, this is a good procedure to set up your rig:
select an edge loop in which you want the rotation to happen and press Shift S "Cursor to selected", then select in edit mode the apprpriate bones joint and press Shift S "Selection to cursor"; after having completed the procedure for all bones joints you will have the bone chain that can be straight or curved, according to the mesh, but nevermind.
Activate the axes viewport display in the armature properties and adjust the roll of every bone, so that the desired "main" rotation will happen with positive X axis variations (you could use Z also, but positive X is an accepted convention).
In this way you will see that the behaviour of the rig will be as expected, even if the bones are not aligned in a straight line.
Then, if you really want to align your bones, Leander's answer is perfect.

Ok, I fixed the rotation by editing the W rotation(while in Pose Mode) at the tab on the upper right. But the even after I fixed it, the Copy Rotation restriction isn't working properly. I tried checking only the X check box at the Copy Rotation config panel and the Z but nothings getting better..

You have to fix it in edit mode, with the roll value: editing W rot in pose mode is posing, it's not setting the rig. In this kind of rig you should use XYZ euler rotation instead of quaternions, it makes more easy to understand and edit.

Thanks for the comment, but I don't think I'm getting what you're saying... The pose mode view is different from that of in edit mode and is the same with object mode. Shouldn't I change the pose mode? Plus I tried tweaking in edit mode either but seems no improvements has been made.

In edit mode you build the rig in a way in which it will be the "rest pose": this rest pose will not deform the mesh. Then in pose mode every rotation of a bone will be reflected in the movements of the mesh. Bone costraints work in pose mode (and in your case they should be set in local space, so rotating in pose mode the first bone along its local X axis will be reflected in rotating the second and third constrained bones along their local X axis). This is why if the second bone's local X axis is different than the first, its constrained rotation will be in an unexpected direction.

Now I understand about it Thank you. However for some reason nothings working. Here's my setting:. https://imgur.com/a/DL6PnTF  If you're busy you may not answer this.. I'm such a noob so I have so many questions.. sorry.

Don't worry, it's usual to have troubles when starting rigging. You should think of the axis rappresentation as if they are located on the head of the bone (and I don't know why developers put them on its tail). So you are rotating your bones on their Z axis, and your constraint is set to work on X axis only, so probably your set will work if you set the constraint to work on all axis (and expecially Z!). I suggest you to watch the free YouTube course "Humane rigging" by Nathan Vegdahl, for a deep understanding.

And, in the bone copy rotation constraint, switch the space modes from World to Local.


text:
How does the fac on Mix Shader work?
So if I plug in a black and white image to the fac of the mix shader node, what is happening? What's the difference between when A and B is connected to each socket and when A and B is switched to the other socket(basically switching two lines of wires each other)?

Does this answer your question? Fac input in Blender

When you connect a BW image into the FAC input of the Mix Shader:
Black areas mean A
White areas mean B

When using the FAC slider:
0 means A
1 means B

Universal rule:
For all nodes (roughness, metalness, fac...)
Black means 0, white means 1.
You can use gradual transition as well.


text:
How to separate meshes that are converged into a single object

This is my mesh which has edges that I made with the knife tool to make a brick wall. And I want bricks to have rigid body for each. So I want them to be a separate object. I tried P->By loose parts but it doesn't work. How do I break down the wall into brick pieces(Though the mesh has those grouts in between the bricks and I'm sure I'll be stuck at that part also)?

Let me propose a different approach.
I believe the easiest solution is to recreate it from scratch.

Base bricks with two Array modifiers to make a wall
Apply both modifiers.
Select all > Separate by loose parts


text:
The knife tool won't show the exact result that was done before pressing enter

So the first picture is right after I selected where I will cut, and the second picture is after pressing Enter/Space Bar which should apply my previous result to the world. But it is not what I asked blender for, and it tries to snap at vertices. In the tutorial video, it seems that I can cut edges without already existing vertices but it is not the case for me. How do I change this?

Congrats. You've encountered a weird limitation of the Knife Tool.
It acts up with too large near/far clipping range.
Unexpected behavior with extreme clipping range (0,1mm-1000000mm)

Solution 01
Adjust your clipping range
Lower the highest values, until the knife tool starts working correctly.

Solution 02
Use flat orthographic view.
Knife tool works fine even with extreme clipping values, when using front/top/side orthographic view.

Note
This is actually caused by 3D View limitations that all OpenGL/DirectX graphics applications have. It's not just a Blender thing.
You can read more about it in the Blender Troubleshooting Manual.


text:
I can't find the surface dropdown in the material tab

It looks like this, and I want to change the Displacement value from Bump only to Both so that the mesh has a real bump not just a fake one. Did blender have done an update?

This only works in the Cycles Engine. Make sure you have it set to Cycles in the render properties

Just to illustrate Gorgious's comment.
Material options depend on the selected Render engine.
To get Displacement settings, you need to switch to Cycles.


text:
How do I change strength of emission at Principled BSDF
I want to keep the settings except emission and only change the strength of it like the emission node. Any ways?

This emission strength could be added to the Principled BSDF in the near future, since a patch for this is being implemented.

Blender 2.92 + :
In the newer versions the principled BSDF shader actually has a field for emission strength, right below the emission color field. You can use it much like the simpler Emission Shader.
You can still input color values superior to 1, but there is no need anymore with the new strength field.

Older Versions :
You can manually input values higher than 1 in the red,green,blue fields of the emission color of the principled shader. Keep in mind that this is a workaround and will not mimic exactly how a classic emission shader works when you tweak its strength.

For ease of use you can use such a setup : Add an rgb node in order to input the exact color you want the emission to be, a value node for the strength of the emission, and link both of them to the color inputs of a mix rgb node set to multiply with a factor of 1, then set the output of the mix rgb to the emission input of the bsdf.

Aaah, finally! :)

Try adding a mix shader. Be aware that your Prinipled BSDF emission should be set to black (none) so as to not influence the emission shader

I'm worried about that 'factor'. Doesn't it make all other things(Base color, Subsurface and so on) dim and weaken their influence if it's set lower than 1?

@김준형 Indeed, this method is not physically accurate. A better way would be to use the "Add Shader" node instead of the "Mix Shader" node.

@Bauxite  Thanks!


text:
My Light Has No Shadow Menu
When I click on my light there is no shadow menu on the right as the image shows, I am wondering how do I get this menu back? I am currently running blender 2.8 on Linux. Thank you in advance for all your help.

You are using Cycles as your rendering engine. Only EEVEE has that shadow setting panel:

Things happen a lot between Cycles and EEVEE, beware of what engine are you using.

thank you so much.. sorry I am brand new to blender and did know the engine would change the menus


text:
How do I create my own terrain and 3d print
I want to hand sculpt my terrain and not get it from google maps.But I want it to print on a 3D printer

Welcome to Blender stack exchange. Can you explain what it is you have done so far and what problems you have encountered?

I have subdivided a plane and have changed its shape using modelling tools and have made a terrain.i then exported that file as a Stl to cura.but when I want it to print the model it only predicts slices a little bit

Did you have a look at the blender manual regarding 3D printing? https://docs.blender.org/manual/en/latest/modeling/meshes/mesh_analysis.html?highlight=printing and also this infor for Blender 2.7x https://daler.github.io/blender-for-3d-printing/printing/index.html


text:
Botaniq plugin crash on eevee with OCIO Aces
I installed OCIO Aces on Blender version 3.6.5, when I add an asset from Botaniq by Polygoniq the viewport render using Eevee always crashes, but somehow Cycles works perfectly fine

What OCIO configuration did you install? Where did you get it from?

...I would recommend contacting the creator of the add-on with this question.


text:
Blender keeps rendering same image even after switching off sequencer
Blender rendering is stuck on old scene. I've tried turning off the sequencer as that's what people have suggested online but it keeps showing the same image over and over. Anyone know what I could be doing wrong?

screenshot? Do you mean you are seing an image in the image viewer? Do you have a 3d view open at all? Maybe you need to switch to a 3d viewporr?

What does 'showing the image' mean? is this in a render result? How did you turn off the sequencer? Is there a clip still loaded in it? etc. Please give us some details to help us out, here, or the question is liable to be closed as unclear.


text:
Finger elongates when rotating. Why and how do I fix it?
I'm new to Blender and I've been following some hand rigging tutorials. However when I rotate the fingers they elongate. Why does this happen and how can I fix it so that they have more realistic movement. Please see screenshots below.

Hello, maybe try an Apply Scale (Ctrl A) in Object mode, if it doesn't work please share your file: https://blend-exchange.com/

Hi Nick, i know you are new here...but...think of calling a car maintainer you tell him your car won't drive. Then you make a picture of your car. Won't help much right? Same with your question. We have no idea what you did, how your rig is configured and what settings you made. So i recommend providing your blend file so we can figure it out on our own. thx. By the way: you have already 2 close votes because of lack of detail so you should improve/edit your question.

That worked! Thank you for giving me your time.

You have scaled your armature on an axis, you need to apply the scale in Object mode to prevent this kind of deformation (CtrlA).


text:
How do i move an entirety of a collection to specific cordinates?
There's a rather large collection that i need to have an entirety of it moved to a very specific cordinate. I really couldn't find a way to move an collection in a manner like that. Any way i can do that?

Please specify.. each element to its own coordinate? All to the same? Collection to coordinate, preserving relative offset? .. and, how do you want to enter the coordinate (what interface would you like) ?

Preserving the general shape of the collection so it looks the same while moving the entire thing to a specific cordinates. I'm not sure which interface i want to use because i'm still pretty new to using blender but my requirements are that i should be able to put in specific X Y Z cordinates myself and for it to be not overly complicated and simple to do.

select one object of collection
shift-g -> collection

now all objects of collection are selected
press n to open side panel
hold alt (or ctrl) key while changing coordinates


text:
Blender pattern query
I am looking to create a zig zag pattern across the surface of a sphere with horizontal lines going across the thicker zigzag like the attached picture in blender on a sphere. Can anyone tell me what the texture nodes would be to create this? Thanks very much

https://blender.stackexchange.com/questions/45167/how-to-create-a-procedural-chevron-like-texture-material

Thank you Duarte, I wondered if there is a way to create the lines across the zigzags like the image above? Thanks


text:
Why is my render image appearing with the image and a white background ? Should be transparent PNG
I am looking to render a transparent png logo in Cycles. The logo I have is made with a low poly glass material and I have transparent and transparent glass selected in Film. I have attached pictures of my output settings and my view plus the rendered image (with white background).
Any assistance would be so helpful !!

Maybe an object is set to visible for render, check the Outliner, if it's not the case, please share your file: https://blend-exchange.com/

Also check your compositing nodes.


text:
Why keep Doubling these number instaces?

(Not english speaker, Sorry for clumsiness)
Trying to make dice.
(reference from this video https://youtu.be/qhZWQDDKB_Y?si=3-jKHpYAqSnjX1MY)
When I make instancing texts as a real instance,
It makes duplicated instance.
How to make only single instance for singling text?

Hi. Did you see this comment by the maker of that video? "NOTE: As of Blender 3.0, the Instancing features used here are broken/deprecated-- very likely due to the introduction of Geometry Nodes and how instancing is handled "behind the scenes".  You'll want to use a version of Blender prior to 3.0 in order to use this particular method." Could that be why you are having a problem with what you want to do?

Hello please share your file: https://blend-exchange.com/


text:
what's the best way to render in cycles in 3.0
while rendering with tiles, I got the impression this isn't the best method anymore?
Tell me more, please.
Thanks.

Hello, FYI this site is not a regular forum, we try to keep Questions and Answers as objective as possible, so we cant' really answer questions which begin with "What's the best way" since this is bound to be subjective. You can go to https://blenderartists.org/ instead which is more like a regular forum. Cheers


text:
Setting a temporary script path
I want to set a temporary script path for an instance of blender that will bet set from a python script. That script will be launched with the execution of the blender exe.
It needs to be temporary as I do not want user to have access to certain tools when they are using the exe outside of the project's art pipeline.
I'm having trouble finding a way to set pref automatically using python. On top of that, having that setting being volatile during this instance only.
Any help is welcome! thank you!

Can you please elaborate what you mean by "script path"? Do you mean the script path in Preferences > File Paths > Scripts?

yes the script path from the preferences. I need to set a temporary path where all our in house maintained script are stored and launched. I do not want to alter the artist's c:/ drive in any way a long as he does not launch the software from our launcher, that will launch along with a startup script that alters the paths for the working session only. if the software is launched regularly. that path will not be set.

Setting the script path is easy, making it temporary is difficult. There are no handlers for pre and post saving preferences and atexit is run after the preferences are saved. You can disable auto-saving of the preferences, however you can't re-enable them before closing, because that is the same problem as before. Perhaps the most sensible solution is through CLI options which provide custom user preferences. I'll have to look into that though.

This could be accomplished through a script that sets a temporary environment variable for BLENDER_USER_CONFIG to load the user preferences from a different directory. The downside are that it affects the entirety of the user preferences.

The real question is why the user shouldn't have access to these script outside of the pipeline. If this is an access control issue, then this should be solved in a different way, because the suggested approach doesn't protect against a user manually inserting the path or copying the files from that location.


text:
Blender 2.81 Weight painting bug?
Just started using blender 2.81, I didn't see this issue with 2.80. I do weight painting on one vertex group, and it somehow ends up affecting another vertex group.
When I change weights of one bone, it changes another bone's weights. For example for low poly hair, I have bones with weights on, and after doing all the hair bone weights, it completely messes up the main head bone's weights on the hair mesh. What gives? Why is one bone's weight changing another bone's weight?

This behavior is normal for Blender including versions before 2.80.

Weight > 0 belongs to new or selected Vertex Group.
One bone can affect different groups with blending by weight by design.

Red and blue colors means that the area of the mesh is moving or not moving with a specific bone.
Colors that are in between (like green or yellow) means that the area of the mesh is not totally affected by that specific bone. In Other words, it can be controlled by to bones. Yes, the two bones share the same area of the mesh and can contribute to its deformation or motion.
For example, the elbow area of an arm of a character is stretched or compressed using the upper arm bone and the lower arm bone. This happens in nature and should happen in blender as it will not look good if one bone only is responsible for controlling the elbow area.
In your situation, it seems that you need to use more Red and Blue colors by increasing the strength of the brush. Minimize green, orange, yellow, and other colors as much as possible to get the results that you need.
It's not a bug. It's an intended feature to allow more control over what the bones should move. You can upload your .blend file or take screen shots of your issues and add them to the question so that you can get a more specific answer. Good luck with your project and feel free to leave a comment on this answer if there's anything unclear.


text:
Low poly hair animation with hair bones
So I've been trying to get the hair bones to work with the whole body. I got bones to deform some parts of the polygonal hair and these bones belong to the same body armature. However the problem is when I move the head bone, it deforms the mesh where the hair bones are. So I cannot move the head up and down without the hair going off the rails because of the hair bones.
I understand this is because the hair bones have deform, but I am not bending those hair bones, why is the hair deforming? Btw the hair is a separate mesh.  I want to be able to animate the hair, along with keeping the rotation/location same when the head is moving up and down. Please help.

Okay this is the weirdest solution. What Josh said got me going, checking more and more about parent/child relationship and he was right. But not exactly right.
I have a hair mesh, a body mesh, and one armature. My armature has the usual body bones, and little hair bones offsetting off the head bone that got weights around certain places in the hair mesh so now I can animate my poly hair if I want (Unity). The problem I was having was, as I moved the head bone, the hair mesh was parented to the armature so the hair mesh was moving fine, but so were the hair bones deforming the hair for some reason. I just couldn't get the hair to keep with its original position.
Then I saw the parenting stuff in the hair mesh properties and fiddled around - instead of parent Armature, I made the hair mesh's parent to be the body mesh object. And ODDLY, this fixed it. Now I can move my head and the hair mesh moves perfectly angled, AND I can move the hair bones to move the weighted portions of the hair mesh as I wanted. This is weird. But I am very happy with the results. Thank you Blender Stack Exchange. And thank YOU Josh.

There are always different methods to reach a desired behaviour, but I think you should clarify yourself the difference between moving an object (moving its origin, wich moves all vertices) and moving vertices only (leaving the origin untouched, often in the center of the world scene). This to avoid confusion and unexpected behaviours, expecially when exporting to another software. As a rule of thumb it's better to move vertices only -  with bones, shape keys, lattices - checking if the game engine can support all features you use.

I move only the bones not vertices. I am new to blender so maybe I am misunderstanding something. :) But I am certainly not moving vertices. I got the bone weights set to the hair portions i want to animate, like spiky polygonal hair. And I will clarify this, I am not "moving" those hair bones since they are only offsetting, I can only rotate them. Moving those bones seem to deform the mesh away from the body like stretching the mesh. But I can move the head bone , because it is connected by the bone to the neck.

Probably you have a wrong Parent/Child relationship: hair bones should be child of the head bone (keep offset), so that when you move the head the hair follows. Then hair mesh should have no parent, except that of its bones (if some part of the hair should remain still you can weight thoose vertices to the head bone, or create a new hair bone that you'll not move in animation data).

When I try this, I made the hair bones into their own armature. Otherwise how do I give the hair mesh no parent and to the bones, if the hair bones have the head bone as a parent? The hair mesh does not move at all when it isn't parented to the headbone. Unless I am missing something?


text:
How do I fill/fit an object into the empty space of another (eg the center filling of a cookie)
I'm not actually looking for an answer to help me currently (at least I don't think). Ive managed to move past this step with an acceptable result, but as a beginner, I suspect that there are much better and cleaner techniques of achieving the end result.
Here is my model:

My first try, I wireframed my cookie, duplicated the top half, removed the faces surrounding the center crater, and then added a face on top. This produced a model that had weird/unpleasant geometry on that face that was filled. I scrapped this
What I currently have, is a new object that scaled to roughly fit into that center, and then sculpted the object(filling) to get it to 'fit'/fill into the center. While it looks ok to me, I see that there is a lot of geometry overlapping between both objects in wireframe mode. Is this ok? I couldnt figure out how to 'snap' the faces of my surrounding faces of the 'filling' to the faces inside the cookie.
I'm just wondering what are some better approaches to this kind of situation. Thank you in advance

There almost certainly are better approaches but we'll need to see a picture of what you're trying to achieve before answering.

Rather than trying to fit your center to the cookie itself, try using the cookie as the starting point of the base of the center.
Duplicate your mesh.

Select what will become the bottom of the center.

Delete the inverse. Select the boundary loop and then relax it with Loop Tools > Relax.

Then just extrude up those outer edges, to get your basic shape, Shift + N to invert the normals once your done to get it right-side-out.

Then you can remesh what you've got, sculpt it, etc.

thank you, this was highly helpful. I appreciate the response. after trying this out, i would def do it this way next time