text:
How to fix weird edges when doing knife project?
I am quite new to hard surface modeling but wanted to get into it a little bit. I am doing something like a Porsche 911 back and wanted to cut out the bonnet area. Since I thought Knife project would be easier than boolean modif I used that. I also used edge wight and bevel modif to make harder edges. After making the cut it produced those weird shapes, fliping one of the UVs helped near the bottom, but not completely. I know its something to do with the weird face and the fact that its an N-gon, but connecting the corners to something doesn't help at all.
Any and all help will be super helpfull.

here is a link to the .blend file >
 https://drive.google.com/open?id=1aodNFbnb5AjM3tHgwmuXCke7z6NYVbBY
I dont know how else to add it sorry.
there are also rough background images that I have been building off of. I dont need the whole car, just the back of it that is the reason why it cuts off like that.

I'd suggest looking at some references to see what you are going for https://3dexport.com/items/2005/05/06/1656/228642/porsche_911_gt3_rs_2019_3d_model_c4d_max_obj_fbx_ma_lwo_3ds_3dm_stl_2400703_o.jpg and https://i.pinimg.com/originals/3f/55/60/3f55605e3655f5bd76474ced932aef73.jpg and some tutorials on modeling. In your case you have probably non-concave Ngon which won't provide any good topology flow; since reflections are important here you want to make all quads in this case

Before using Bevel modifier and this kind of tool, try to keep only quads. Also, you'll probably need to create some additional edge loops to keep your angles sharp. But maybe show some pictures of this car and share your file so that we can work on it.

@moonboots I wanted to avoid using edge loops as it tends to get really messy after a while, thats why I chose to go with the modifiers. The car is a 1976 911 Turbo. I'm not planing on making it exact, but close to it. I also edited the original Q to add the file.

@MrZak So in short - You would sudgest that I do not use any other tools than the standart loop-cuts, extrudes, move, roate, to keep the model basic. Because using boolean or knife project it would create weird faces, right?

Boolean or Knife project indeed can cause ngons or tris within their workflow however it's not a reason to skip using them since you always can correct any ngon later with knife or joining edges to cut faces. In some cases you might also skip converting ngons but not in the mentioned above. Note also that cars' body is not done out of one piece rather than multiple, that's what simplifies the task actually. There are many tutorials on YT on modeling cars especially, I suggest start from there

So basically. Learn something new every day, even if it's super simple. Conecting Ngon edges to some lines solved the weird bits. I used Knife tool and made every odd shape into little squares.


text:
Eevee textures change brightness depending on rotation of the object
I am rendering an animation of a furniture getting assembled using eevee render. Most of it is white but some parts are made of plywood.
The problem is that the plywood side texture changes brightness depending on how the object is rotated. I can get it the same value as other sides when I rotate UVs, but once the object rotates it changes again.
The two objects use the same texture but are rotated differently and have different values

and then they change values completely when rotated 90° Things that were dark turn lighter and visa versa.
I could just make them all react the same as where all are dark and get light or the other way around upon rotating but the fact that they change colours at all is not too good.
Is this just an eevee thing and I have something to change in those settings or is the texture mapping way off?
Edit: Just checked and to my surprise it looks like it's a UV map problem since it is the same using cycles too. Face orientation is correct and UV unwrap looks good to me so I really don't know. Maybe I should try projecting from view or just unwrap from scratch as it is an imported OBJ model not blender made.

Hi :). Aren't those just light reflections?

hi @JachymMichal! The textures are fairly rough, as natural wood is and it's very evenly lit, both from world texture as well as a large overhead area light and two opposing area lights. Also, changing lights and shadow settings do not change the brightness of the textures as much as rotating objects does. I should do test renders on cycles to see if it's uv and texture issue or just eevee being eevee.

I just stumpled upon your question, because I had the same problem. I could solve it, so I leave the solution that worked for me here for others, that may find this post.
In my case Auto Smooth was causing this problem. I turned it off, and after this the brightness stayed consistent. You can find it in the Object Data Properties>Normals>AutoSmooth.

source: Stack Exchange

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

sort: votes


text:
Display object textured regardless of viewport display mode
I'm working on marine gun turret model and trying to use its drawing/blueprint image to make 3d model more accurate. Blender wireframe view mode is great for modelling but when I switching to it the plane mesh with brawing/blueprint texture also switches to wireframe and texture disappears of course:

And when I switch to wireframe I see the following:

I know about 'Maximum Draw Type' object settings and I probably can set Gun model to 'Wireframe' maximum draw type and don't touch viewport display mode. But somethimes it is better to see gun model in solid mode and sometimes in wireframe. So I need something like 'Minimum draw type' and apply it to gun image plane behind the gun model i'm modelling. Can I do it with Blender?
Thanks in advance.

Do you use image imported as plane to preview the blueprint ?

It is a plane with material. Texture assigned to material and plane appropriately UV unwrapped to take all UV space

As you use the unwrapped plane with image texture (or image imported with Images As Planes addon) to show as the reference, it will lose effects from the Solid shading mode because the plane is a mesh and will behave exactly the same as the one you're modeling. So while changing shading mode to Wireframe no image will be visible.
Use background images instead; they don't depend on shading mode. Note that they will appear only in preset orthographic views, however those should be used for precision modeling anyway.
It's also possible to use an  empty of Image type (Shift+A > Empty > Image) which can be useful as reference image. It doesn't depend neither on shading modes nor on ortho views.

@cegaton I checked the Images As Planes but didn't remember about empty. Thanks for adding that.

Both answers are solving the problem. Personally I will use Empty image solution as it is more flexible and gives more freedom. Thanks for your help.

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


text:
Subdivision surface changes model size. Any way to fix or alternative?
I'm trying to use a Subsurf modifier to create high poly model from low poly model in order to create normal map. And I'm not completely satisfied with the result. As you can see in the image below the size and geometry was changed with subsurf modifier:

I want to keep the original edges (red in the image above) and interpolate between them 'outside' of the model instead of inside of it as subsurf does.
Ideally upper bound of the mesh should follow blue line in the image below:

I know I can do this manually with Subdivide/Subdivide smooth but it takes significant amount of time. I know about Crease weight but setting Crease 1 to red edges will make Subsurf not working for them and geomerty will be unchanged.
Thanks in advance.

Subsurf will eventually shrink the mesh while smoothing and subdividing.. You can avoid that by creating more geometry - either with subdividing / adding loopcuts as you wrote or by increasing Subsurf level (might not work / not be convenient) or scale the mesh a bit to compensate.

Please see the explanation in this thread https://blender.stackexchange.com/questions/282248/why-does-the-subdivision-modifier-leave-a-gap-between-original-and-final-shape?noredirect=1#comment485065_282248

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

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


text:
Get location in scene for pixel?
Given a pixel on the rendered image, is there any easy way to get the 3D location that the pixel corresponds to in the scene using python? i would really like to know before I go through trying to do the math to get it myself.
In case it makes a difference, I'm using an orthographic camera.

It is possible in the game engine, using the 'kx_camera.getScreenVect()' call. Not sure about the viewport.

It's possible in the viewport too, but rendered image? Not sure... What is the application?

There are utility functions to convert 2d region coordinates to 3d:
bpy_extras.view3d_utils
There's also a method to cast a ray in the scene:
Scene.ray_cast
... but it might not work with orthographic view.


text:
Using CMU Graphics Lab Motion Capture Database
I have been attempting to import CMU motion capture into Unity through Blender.  I was specifically using actor number 127, action number 3: Run.  I was downloading asf/amc file format.  I then used amc2bvh to convert it to bvh. (I have also tried the native AMC importer, but it doesn't seem to to work as well) Once it is imported, I save the blend file and import it into Unity.  I change the avatar to be a humanoid avatar and leave the defaults.  This is the result.

If I add bone rotation constraints to the thighs and limit the rotation on the Z-axis, then that seems to resolve the problem with this particular one.  I would like to fix this a better way that way I can use the rolling animation in such in my game.  If anyone has any idea how to solve this, it would be much appreciated.

I suggest using bvh files from this library
CMU-BVH
On youtube, check out Benjycook Blender MoCap Addon Tutorial, which uses the same library.
BenjyCook

Try this port of the CMU collection:
https://sites.google.com/a/cgspeed.com/cgspeed/motion-capture/cmu-bvh-conversion
It contains a few conversions to popular rigs. I've used those a lot and I never had any problems.


text:
The object with "Child of" constraint can't keep up with the target, when animation is played
I am new to blender so maybe there is an easy solution to this but I didn't find anything that could've helped so far.
In a few words, the FPS arms are hitting the lock with the stone. The stone has "Child of" constraint with the target of right palm bone. If I drag the mouse frame by frame then it all looks ok. However when I play the animation, the stone is lagging behind the right hand. I assume its because this constraint has to process where the stone should be, every frame and can't keep up since the hit is a fast and big movement which takes 10 frames. But I don't know how to fix it.
This sounds like common problem to be honest, but I have no idea what can I try to fix it. I tried to play around in graph editor, to make it less visible but it didn't help.

Thank you!

It is a dependency loop.  Blender can't figure out what order you want things evaluated.  Open a console window and look for warnings.  You need to keep a clear hierarchy with any animation: if A depends on B, then B cannot ever depend on A, directly or indirectly.  Because of the loop, Blender is evaluating from the transform from the frame previous.

Thank you very much for this. There is little information on this topic and it isn't widely known for some reason: I found only one video on youtube about dependency cycles ahaha.  Would've taken me a while to find info if not your answer. But it was the problem and now it looks good, thanks.


text:
How to prevent texture being override by blender
I'm trying to baking a high poly texture to low poly model,and I found that somehow when baking blender always override the default image texture used by high poly model,sometimes explicitly clicks on the new texture image created the baking texture data will write to the new texture image,sometimes not it will just override the texture being used by high poly model.
to be clear,my workflow like this:
both blender 2.93 and blender 3 tested,using cycle to bake
high poly model:

a 800000 faces model
a image texture named plane_basecolor.png(as the name showed it contains the base color data which can be used by PSDF)that already imported in to blender project.

low poly model

a 20000 faces model created from high poly model and decimated,smart UV unwarpped.
a image texture named plane_bake.png was blank created by blender->UV editing->new image

follow the https://www.katsbits.com/codex/texture-bake/ guide here to do my bake,and when I finish the bake.I found the high poly model rending in viewport going wrong,check then found that baking result data didn't write to plane_bake.png but override into the plane_basecolor.png,makes the high poly model losing it's original texture,and the low poly didnt get the effective texture data.even I've already explicitly clicked the plane_bake.png in shading window before baking it still write to the plane_basecolor.png.
Is there any way to more explicitly tell blender to write the render result or baking result into the designated picture instead of default output(I'm not sure what this default render/baking output will go,sometimes it go plane_basecolor.png,sometimes go plane_bake.png or other texture),or is there any way to make designate textures in blender readonly?

Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.

Have you selected the objects in the correct order? The active object is highlighted in orange. It's the target The selected one is highlighted in red (darker). It's the source.

The output is baked to whatever image is in the selected Image Texture Node in the target object's material. Try putting your target image there. (You can use a floating Image Texture node that's not connected to anything.)

thanks for help,by checking with what
Samuel Sullins I can confirm it's accidentally changed active image texture node when working and tab from different blender window.but I'm still wondering why not there gives a output filepath options in render->bake menu,since it's always easy to accidentally change window between UV,texture and render will mess up the current active image texture node


text:
Bad artifact when bevelling smooth mesh
Is there any way to do a bevel similar to that on my screenshot without the artifact (the square appearing) with smooth shading? I see the result is due to all the vertices on the face created by the bevel, but I don't know the best way to solve this. All help appreciated.

If you want to keep your object low-poly, if you smooth it it will try to smooth the 90° angles and it will give what you see. A trick is to use Auto-Smooth, i.e. ask Blender to only smooth the lower angles: Select your object in Object mode, press W > Shading Smooth, then go in the Properties panel > Object Data > Normals, enable Auto-Smooth and keep a low angle like for example 30°.

Note that the general shape will stay angular, if you don't want that you'll need to give your object a Subdivision Surface modifier, and add some edge loops to sharp the angles.

I didn't manage to get the result in your last screenshot. I used the subsurf modifier and added some edge loops, but I still get the angular shape.

mmmh weird, maybe make sure that you have a Subdivision value of 2 in the modifier?

what are you talking about when you talk about the angular shape? I was talking about the beveled round angle

Maybe I'm misunderstanding you. I uploaded a new wireframe of the mesh in my post above.

Maybe I wasn't clear enough, what I meant is, to smooth your object, you can either choose the Auto-Smooth trick or the Subsurf modifier, it's your choice. It doesn't seem like you have tried any of these solutions

Ah! I understand. Reason I'm using smooth shading, is because I'm importing it into Substance Painter and can't have flat faces. But how did you get all the edges to go from the bevel to only one vertex? Did you do that manually after applying the bevel?

This is a question about topology... once you've created your bevel, use the knife to create edge loops, use J to join vertices, etc... you need to have a clean topology, particularly no ngons

Yes. The ngon was the reason. I wasn't sure whether or not I had to clean the topology after bevels, but I see now that it's necessary.


text:
Conditionally apply texture based on object behind?
Not entirely sure how to concisely describe this (or what to Google for). I guess it can be done somehow by using conditionals on the light path..?
I have this scene:

Basically, a "terrain" mesh, and two flat planes intersecting it. Now, I would like  to apply a certain texture on the "Yellow" plane, but only on the area directly over the terrain, not over the blue plane.
It's probably clearer what I mean in a top view:

(The clearly yellow area).
The idea is to get some combination of nodes that will give me a 0 or 1 result I can use as "factor" to a mix shader.. but I got stuck trying to find how that could actually be done.

Update: to clarify, I want to apply the texture in the region hit by "vertical" rays, i.e. parallel to the object normals / Z axis, not the camera ray.

It seems the intersecting object is just a flat plane. Is it true for all possible cases?

You need to use the Geometry node with drivers

Basically Blender analyses each every portion of the mesh, and for that portion the Geometry node returns its position.
The Separate XYZ node extracts the height from that position vector
The two Value nodes get their input from two drivers (in the picture there is one of them) that copy the Z position of the two planes

With the two Math nodes, set to Less Than, you calculate if that mesh portion is under one of the two planes. The values you get are 1s (White) or 0s (Black)
You can use those values as the factor input of two Mix shaders to get your final color

Of course if you have textures you can put them instead of the RGB nodes, replace the Mix nodes with Mix Shaders

EDIT
This is your setup in case of horizontal planes. In case of tilted planes there is more math involved, but it's absolutely possible

Cool, that works great! I was actually looking to get it to affect the material on the "top flat plane" rather than terrain.. I guess that could be done using some more math between the objects, via drivers? I'm going to play with it a bit now.

Tareyes' answer is probably the best solution, but you could also use a transparent material as the intersecting object and then use Transparency Depth to separate the shaders in the main material:

You can have a few layers with geometry(solidify modifier maybe) and if you needed other transparent materials not to cause the effect you could replace Transparent shaders with Refraction BSDFs with IOR of 1 as transmission in materials is treated differently than transparency.

Nice solution, but there are 2 problems:
1)This method uses the camera rays, so in your video you can see that at the bottom there is a spot that is under the transparent plane, but since the camera is tilted it is directly visible, therefore its painted blu while it should be red.
2)The Transparent Depth it's not object specific so you can't use 2 planes like in the question and you can't even have other transparent objects in your scene (because it would paint it red where it shouldn't)

Sure this has limitations, but in some simple situations it might be useful. It's nice that glass shaders still work fine since they are transmission and not transparency. One could use Refraction BSDF shader with IOR of 1 to replace transparency. You can also have layers because Transparent Depth could be chosen simply by adding to it with a Math node(bviously at the cost of having more geometry). Anyway that's just an addition to your solution that is more complete in my opinion.


text:
How to either boolean difference or delete vertices of a mesh part way through a simulation
I have modelled a cloth sheet on a washing line that will blow into a Stargate "whoosh" (the vortex that comes out of a Stargate when it first opens).
I would like to have the part of the sheet that intersects the "whoosh" disappear as if it has been disintegrated. I need to delete half the sheet part way through the animation.

I can boolean difference the sheet at frame 0 of the animation, but then half the sheet is missing for the whole animation. I am basically looking for a way to change the mesh half way through the animation.
Is this possible, or can it not be done because the position of the sheet during the animation is going to depend on how the physics bake went?
Edit: Just thinking out loud, could it be done with vertex groups and assigning a transparent material when required? I know enough to describe that but not how to do it!

I don't think you can (or I'm quite sure you can't) change the mesh during a cloth simulation... but your idea with the material isn't bad. You don't need vertex groups, just a duplicate material. Assign one to the faces you want to keep, the other to the faces that should disappear. In the second material you combine the original material nodes through a Mix Shader node with a Transparent BSDF shader. Then you can animate the mix factor.

you can - with the mask modifier ;)

@Chris Well, that's actually not really changing the mesh, masking is just a different form of hiding certain parts ;)

If you just want to delete a part, it is even possible during the cloth animation:
just use the mask modifier, give the part you want to cut off a vertex group with value 0.5
then use this group in the mask modifier and animate the threshold.

possible result:

+1, but in your modifier stack the Mask modifier is shown as the last one. This way the cloth simulation treats the masked out part as if it was still there just as if you only made it transparent in the material. If you want collision and self-collision effects to treat the hidden geometry as if it wasn't there, you have to put the Mask modifier before the Cloth modifier.

Hmmm... the cloth simulation doesn't really like when you change the mask threshold value during the simulation.

Thank you Chris, that worked perfectly, and I learned more about Blender! Awesome!

Glad I could help!

My first draft used the accepted answer, set vertex groups and change their visibility
On my second draft, after a bit more experience, at the point I wanted to slice / cut / put a hole in the cloth

I baked the sim copied the sim object

Converted the copy to a mesh at the frame where the "destruction" begins, so the new mesh matched the shape of the sim at that frame

Boolean-differenced the change I wanted into the new mesh, putting it into its "ruined" form

Hid the old sim (showing the new mesh)

Re-cloth-simmed the new mesh, so it actually simulated the cloth from that point, free to animate the new-shaped / tatty / ruined cloth as it would actually behave.


text:
Problems joining character model objects
I have been learning about blender for a few weeks now and I am currently attempting to make my first character in Blender. I have come to the point where I am about satisfied with the model parts I created and for now I want to rig the character (with rigify) and then see if I can animate it. I have made an armature and a rigify rig for it. In order to connect the deform bones to my character model I read I have to parent the rig to my character. In order to do that it seems I should join all the objects that make up the character first and then parent the rig to it.

Before doing so, I applied modifiers such as mirror and solidify. I did not apply the hair particles, because if I do they become inflated.
Then when I join all objects, some of them become messed up and the character looks weird. For example, all of the hair particles on the face and green coat collar are gone/deformed, the vest material scale is inflated, eyeballs red, hat ring material pattern deformed. Coat buttons and trousers are also changed. This can be seen in the images below.

To me it seems that it (partially?) may have to do with scale issues. I probably have not applied scale where it was needed (& need to learn about this). If I apply scale on my hair objects regardless of joining, the hairs become huge. On the other objects I can seem to succesfully apply scale without change. I have no parents active.
Does anybody have ideas on what causes the problem and how I can go about fixing it? I hope I did not mess up beyond repair. Please let me know if additional info is required.
Thanks in advance!
Thomas

This is expected behaviour, as when you hoin it, the particle modifier is removed and all the scales are reverted to a single object's scale. Therefore, I would recommend you first apply the scales of all the objects by pressing Ctrl + A > Scale and when joining, make sure to select the object with the hair particles last, it should be highlighted light orange instead of dark orange. Or you could parent each object with automatic weights to the armature.

Hello Yousuf, thanks for your reply! I have applied scale now on all objects except for the ones with hair particles. How can I go about selecting the hair objects last when joining, since are multiple hair objects (head hair, mustache, eyebrows, collar, etc.) and I can only seem to get one object highlighted light orange?                        As for the other option, to clarify, do you mean parent each object separately to the rig (select the rig, then hold ctrl and select the object (light orange), then parent - automatic weights and repeat for each object)?

You can apply scale on your hair objects, and then go to the particles system and scale the hair down. Then apply the hair particle modifier, it will be okay. Then you won't have any problem joining everything. Or you could join the main body parts/clothes and parent the hair objects to the face/whole joined mesh excluding the hair.

Tell me if this works, I could make an answer then. Also consider uploading your .blend file: https://blend-exchange.com

Okay, I found out that if I disconnect the hair, then apply scale, and reconnect only the diameter changes a little, which I have now adjusted to the right levels. So now the hair is looking good with scale applied. But when I apply the particle modifier the hair particles are gone and instead the emitter faces (I used part of the head as base to emit hairs from) is shown. See the newly added picture in the post. However, parenting the hair to the head does work now.

Also, joining clothing parts together still results in a change in pattern size of the material, even though I applied scale succesfully on every part without it changing appearance. Do I need to change something in the material manually?

Update: I did manage to readjust the material appearance fairly good manually. Furthermore I tried joining hair objects individually to the head the right way. Sadly the hair particles are visible, but instead the head itself disappears. Same goes for the hairs I have on the coat collar, the hairs stay but the collar itself becomes invisible. I have looked for this online and tried changing some settings, but to no avail. And when actually applying the hair particle system, the head is visible but the hair particles disappear, and only show the emitter faces. Do you have any more suggestions?

Don't apply the hair particles modifier. Click the Convert to Mesh button on the modifier and then just remove the modifier. It should solve it. If it works, tell me, I'll convert it to an answer.

@YousufChaudhry No, converting particles to mesh is a very bad idea if you want to animate the character. The created mesh can easily have several million vertices. It's not fun to weight paint and animate this.

Kindly attach your .blend file. Also, do not join the hair particles object to the face. Just parent them to the face, and since everything else is working, when you move your rigged head the hair objects will follow. Don't apply the hair particles or anything.

Converting the hair to mesh looks weird for me (black hairs mixed in). I parented the hairs and the hat to the head, and the head to the rest of the joined body. Now when I move the character everything moves with it! Also I deleted the collar hairs entirely because that made moving the character slow (1 million hairs). Problem now is when parented to the deform bones of the rig, the head does not move with the rest of the body with the rig controls and other parts like the coat are not deformed properly. Maybe because the head & clothing vertices are not connected since I built them seperate?

Thanks for your help so far. Parenting appears to solve part of the issue. I will attach my blend file in the description so you are better able to take a look at the rig problem. Let me know if it is customary to make a new topic for this instead.

Unfortunately I am unable to upload the file, even after removing all materials/textures from it and trying unpacking and cleaning data blocks, i can not get it below 58 mb.

@Firebee you can share it via google drive, OneDrive, Dropbox, https://wetransfer.com/ (press the (...) menu to create a link, no account required), or try https://mega.io

Good suggestion, here it is including the materials hopefully. https://we.tl/t-VToRsxL2Jy

There are a few issues with your model. 1) It has flipped normals I think that is caused by the Solidify modifier. Something went wrong 2) the mesh is a bit dense and heavy for animation. Maybe do a retopology of the head? 3) it has a lot of loose parts and automatic weights won't work well. Have a look here https://blender.stackexchange.com/q/233759/107598

Hi Blunder, Thanks for your analysis and the link!  I shall try following those steps. It is clear to me that animating a character can be quite a complex process (for a beginner atleast). Thank you both for helping me on my way.


text:
animation_data.action.fcurves.new(data_path='pose.bones["Leg"].rotation_euler', index = 2)
obj.animation_data.action.fcurves.new(data_path='pose.bones["Leg"].rotation_euler', index = 2)

data_path is treat as string rather than rotation_euler.

I want to edit fcurve returned directly, but bone.keyframe_insert does not return it
Solved.
The bone name is incorrect, and I found that the quote around bone name must be double-quote

can you demonstrate via UI what you are trying to do? so we can analyze how to covert it to python.

The code is right. Maybe you are wrong with the naming, double-check bone name.

@Crantisz You're right, the problem is wrong bone name. Thank you very much!


text:
Blender 2.74 exporting custom normals without applying split normals modifier
Blender finally added the possibility to use custom normals in version 2.74. YAY.
I've been playing with them to export and import a custom file format.
For example: I created the custom normals for a mesh, then call the calculate split normals and tessfaces methods
C.active_object.data.calc_normals_split()
C.active_object.data.update(calc_edges=True, calc_tessface=True)

and I can see the custom normals I expected
Vector(C.active_object.data.tessfaces[0].normal)
Vector(C.active_object.data.tessfaces[0].split_normals[0])

But if I try to use the Set Split Normals Modifier to create the normals, and even thou I can see the new normals working in the 3Dview, I can't find a ways to access those normals without appliying the modifier.
Can it be done?
How can access the new normals data without applying the modifier?

What about getting them from obj.to_mesh(scene=bpy.context.scene, apply_modifiers=True, settings='PREVIEW') then freeing the mesh after usage

As @Jerryno said, from python you can only get modifiers’ results by applying them into a temp mesh (using Object.to_mesh()), there is no reason for 'EditNormals' modifier to behave differently.
You can also have a look at some official exporters supporting 'apply modifier' feature (like e.g. .obj exporter), that’s what they are doing.


text:
Semitransparent texture makes some objects behind transparent in viewport
I stumble with this issue and searched for a solution, but haven't even found a reference to it.
The problem is that in the viewport (in the render all is fine) some materials with semitransparent textures make some objects behind them transparent. Alpha values of 0% and 100% work as expected.
The problem is present in Blender Internal and Cycles.
Tried different display options like multitexture, GLSL, display mode Material and Texture but nothing solves or even affects the problem.
After some testing discovered that changing the parent modifies the beheavior, even after unparenting.
In the this images you can see the eyebrow and the sphere make the face behind them transparent. I parented the lower sphere to different object and some became solid and remained that way after being unparented. The eyebrow started working properly after being parented to the face.

Managed to reproduce the problem in a smaller .blend
Even the selection of objects changes the transparency momentarily, so in this examples nothing is selected.
If I select the eyebrow the transparency works as expected.
If the blue plane is selected the problem persists.
And if the red plane is selected, even that one becomes transparent when behind the semitransparency!
To permanently change how the transparency works I had to select the eyebrow and parent it to the blue plane, after this I could unparent it safely. If I wanted to reactivate the problem, select the blue plane and parent it to the eyebrows. The problem is back even if you unparent it.
I don't want to parent the semitransparent object to everything in the scene to avoid this issue. Is the a better solution?

For the .blend you have attached, it seems that ticking "Transparency" option in the object's Display settings does the trick.
If you want to see outline of the selected object, you can enable Bounds in the same Display section.
Still there can be an issue with display multiple faces with the transparent texture stacked behind each other, then can try to tune User Preferences -> System -> OpenGL -> Clip Alpha value.

Thanks, that helped a lot. But its not a perfect solution. Now the wrong transparency only affects a transparent object behind another transparent object. Also, now the object marked with Transparency no longer shows the orange outline when selected.

I updated the answer even I admit it is still not a perfect solution.


text:
Strokes created with python cannot be selected or edited
Blender 3.2.2
from bpy import context as C, data as D, types as T, props as P, utils as U

class CreateLine(T.Operator):
    bl_idname: str = "object.create_line"
    bl_label: str = "Create Line"

    def execute(self, context: T.Context):
        gp: T.GreasePencil = D.objects["Stroke"].data
        layer: T.GPencilLayer = gp.layers.new(name="abc")
        frame: T.GPencilFrame = layer.frames.new(1)
        stroke: T.GPencilStroke = frame.strokes.new()
        stroke.display_mode = "2DSPACE"
        stroke.line_width = 10
        stroke.points.add(2)
        stroke.points[0].co = (0, 0, 0)
        stroke.points[1].co = (1, 0, 0)
        return {"FINISHED"}

def register():
    U.register_class(CreateLine)

def unregister():
    pass

if __name__ == "__main__":
    register()

Might be a bug.

Resolved. Change 2DSPACE to 3DSPACE.
https://developer.blender.org/T100607

I edited the code.
Here it is.
import bpy
from bpy import context as C, data as D, types as T, props as P, utils as U

class CreateLine_PT_new(T.Panel):
    bl_label = "Create Line"
    bl_idname = "PT_CreateLine"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_category = "Create Line"

    def draw(self, context):
        layout = self.layout
        col = layout.column()
        col.operator("object.create_line")

class CreateLine(T.Operator):
    bl_idname: str = "object.create_line"
    bl_label: str = "Create Line"

    def execute(self, context):
        ob = bpy.context.object.data.name
        gp = bpy.data.grease_pencils[ob]
        layer = gp.layers.new(name="abc")
        frame = layer.frames.new(1)
        stroke = frame.strokes.new()
        stroke.display_mode = "2DSPACE"
        stroke.line_width = 10
        stroke.points.add(2)
        stroke.points[0].co = (0, 0, 0)
        stroke.points[1].co = (1, 0, 0)
        return {"FINISHED"}

def register():
    U.register_class(CreateLine_PT_new)
    U.register_class(CreateLine)

def unregister():
    U.unregister_class(CreateLine_PT_new)
    U.unregister_class(CreateLine)

if __name__ == "__main__":
    register()

Here is the result!


text:
Applying a depth map to a plane using displacement modifier
I'm experimenting with 3d reconstruction in blender and wanted to use a depth map as a means for a displacement modifier (through an image texture) on a plane in order to see how accurate I could recreate a mesh in blender. My issue is that the displacement modifier doesn't seem to interpret the depth map texture correctly (mainly the modifier repeats the image and doesn't seem to map it correctly to the subfaces) so I was wondering what is the best way to use a depth map as a texture reference for a displacement modifier.
For that matter any advice on recreating a mesh from a depth map would be greatly appreciated, thanks
In summary of my issue, the displacement map is mapping the image to only a corner of the image while in reality I want the 1920x1080 depth map to align with the similar-sized plane

Can you elaborate on " doesn't map it correctly to the subfaces"?  A screenshot with description might be helpful.

@Crantisz Just made edits to the main post


text:
Trying to bake a normal map but get blotchy textures
I'm new to baking normal maps within Blender and I'm trying to get a glitch-less, blotchy-less bake. However, this is what I keep getting from it:

Here is my current settings for the scene:
Scene Hierarchy:

The cage is slightly bigger than the rest of the models involved. As you can see I've also selected the high poly first and then the low poly.
Here's my material node for it:

As you can also see, this has been applied to the low poly model.
Finally, here are my settings for the bake:

What you cannot see in this image is that it's set to Cycles and the feature set is pointing to Supported.
I'm not sure how I can get it to look the way a normal map should at this point.
EDIT:
Here's the file:

maybe share your objects? https://blend-exchange.com/

@moonboots - I've added the blend file.

You need to increase you max ray distance, you're trying to bake a building model and only have the rays casting out 1mm that's probably not going to be enough.

There are 2 things here in my opinion:

Put the Max Ray Distance at 0 as you don't want the ray to stop before scanning the surface of the low-poly
The cage won't scan a lot of things because baking the normals allows to save the orientation or tilt of the faces, if the faces are parallel or perpendicular to the low-poly normals nothing will be recorded, see the difference between picture 1 and 2 (1: nothing is baked, 2: the rays bake the faces that are tilted):

Sorry for the delay in getting back to you... So you're saying that because the faces are parallel with the cage(?) it won't bake properly? However, if I were to tilt the faces, it would?
I'm just finding this a little confusing if I'm honest.

I'm saying that only the faces that are not completely parallel or perpendicular to the cage faces can be baked, yes

Baking the normals means baking the orientation of a face, how it is tilted, if the face that bakes has the exact same orientation, nothing will be baked

So to be sure, what you see in the normal map, is this how it should look?

yes, actually as most of the faces you're trying to bake are parallel or perpendicular to the faces of the cage, you have almost nothing baked, you need to tilt a bit the faces of your high-poly if you want to bake something


text:
Manage a lot of addon_pref settings efficiently?
i try to save a lot of user stored data inside of the addon pref and i would like to have something like that.
class myaddonpref(AddonPreferences):
    bl_idname = __name__
    addon_prefs = context.preferences.addons[__name__].preferences

    myEnumpref._01 = EnumProperty(name='Categories',description='test',items =[('Keymap','Keymap','','MOUSE_MMB',1),('Custom Slots','Custom Slots','','COLLAPSEMENU',2),('Auto Slots','Auto Slots','','COLLAPSEMENU',3),('Notes','Notes','','FILE_TEXT',4),],default='Custom Slots')
    myboolpref._01 = BoolProperty(name="Use Custom slot 01 for scattering",subtype='NONE',default=True)

    myEnumpref._02 = EnumProperty(name='Categories',description='test',items =[('Keymap','Keymap','','MOUSE_MMB',1),('Custom Slots','Custom Slots','','COLLAPSEMENU',2),('Auto Slots','Auto Slots','','COLLAPSEMENU',3),('Notes','Notes','','FILE_TEXT',4),],default='Custom Slots')
    myboolpref._02 = BoolProperty(name="Use Custom slot 01 for scattering",subtype='NONE',default=True)

    myEnumpref._03 = EnumProperty(name='Categories',description='test',items =[('Keymap','Keymap','','MOUSE_MMB',1),('Custom Slots','Custom Slots','','COLLAPSEMENU',2),('Auto Slots','Auto Slots','','COLLAPSEMENU',3),('Notes','Notes','','FILE_TEXT',4),],default='Custom Slots')
    myboolpref._03 = BoolProperty(name="Use Custom slot 01 for scattering",subtype='NONE',default=True)

This kind of keywords (with dots) don't work for addon prefs. it could be really really really useful for me later when creating def of whole operators to easely influence parameters to the operator.
for example like this:
def myautomaticoperator(_XX):
    if addon_prefs.myboolpref._XX == True:
        if addon_prefs.myEnumpref._XX ==False:
            print('hello world')

myautomaticoperator(_01)
myautomaticoperator(_02)
myautomaticoperator(_03)

This could really really really boost my workflow. How am is supposed to make this work ? could someone show me ?
it could be even better to use an int like this. myboolpref.02
i also tried to do that with list.
    name = [StringProperty(name="Custom slot name",subtype='NONE',default="Custom01"),
                    StringProperty(name="Custom slot name",subtype='NONE',default="Custom02")]

... ...

        col.prop(self,"name[0]")
        col.prop(self,"name[1]")

but it didn't work. name[x] was not recognized.
i also tried class xxx(bpy.types.PropertyGroup): but how to let the user save his property like he does in the addon_pref class ?
i'm so confused, i just want to find a better organisation system !


text:
Timer that can interact with context.object?
i'd like to create a timer that can interract with the active object.
every time the active object is not the same as the object in my pointer prop it automatically replace pointer object with the active object.
i don't understand why they restric us doing this kind of things.
how can i achieve something similar ?
class SCATTER_OT_terrain_is_active(bpy.types.Operator):
    bl_idname = "scatter.terrain_is_active"
    bl_label = ""
    bl_description = "Constantly use the active object as Terrain"

    def execute(self, context):
        addon_prefs = bpy.context.preferences.addons[__name__].preferences
        C_Slots     = bpy.context.scene.C_Slots_settings

        addon_prefs.active_is_terrain = not addon_prefs.active_is_terrain

        if addon_prefs.active_is_terrain == True:
            print("start timer")
            bpy.app.timers.register(check_active)
        else: print("stop timer")
        return {'FINISHED'}

def check_active():
    addon_prefs = context.preferences.addons[__name__].preferences
    C_Slots     = bpy.context.scene.C_Slots_settings
    Active      = bpy.context.object

    print("check")
    if addon_prefs.active_is_terrain == False:
        return None

    if Active != C_Slots.Terrain_pointer:
        C_Slots.Terrain_pointer = Active
    return 0.65

Can you please clarify: "...it automatically replace the new one and add the new one." - what automatically replaces what and adds what to what?

sorry, mispells

with a handler it may work
import bpy, os

ao = None

def h(s):
    # just for testing, normally i won't use global
    global ao
    o = bpy.context.active_object
    if(ao != o):
        ao = o
        print(ao)
    if ao.name == "Cam Small":
        return None

bpy.app.handlers.depsgraph_update_post.append(h)

but that doesn't really respond to the goal of the question

Remember  the argument of handlers is the scene. (except load where it is  value None dummy)  For a  handler defined  def handler(scene):.  the active object is scene.objects.active  Your pointer is scene.C_slots.Terrain_pointer  which can be tested against for change without using the global (otherwise changing scenes will most likely flag a change to global).  Re your OP, the context reference is lost to the timer thread. Could pass the scene to a partial and use that as timer method (see timer example in docs)  IMO if you wish to do something on change in user UI a modal timer

operator is the go. (see example in text editor python script templates) Give the user the option to invoke it with button or boolean, to turn it on or off.


text:
Posing Overlay Model Over Model Causes Clipping
Sorry if I'm bad at explaining this, I always stayed away from looking for help online and just try to fix my problems myself, also i'm by no means an animator or even much of a modeler, I'm actually a programmer so excuse me not describing this well and feel free to ask for any needed info to help.
basically i got a cube (the head) inside of another cube (the overlay), they are rigged and have the same weights on but the head deforms more than the overlay, thus creating clipping, i have overlays on each body part but for some reason it's only the head that is giving problems

If the two cubes deform in different ways, they surely have different weights. Remember that every deformation is leaded by more than a bone, if a vertex is weighted to one bone only, it moves exactly with that bone, regardeless the value of its weight.
Probably you have the same weights relatively to the head bone, but different weights relatively to some others bones (maybe shoulders and/or arms). To check this, select a vertex and search in the "N" properties panel for the "vertex weights" tab.

Thank you so so much, I didn't think of other bones impacting the head cause on a similar model i've made that didn't happen, thank you so so much, instead just went and weight painted the shoulders to have 0 weight on the head and head overlay so just a slightly easier way then you recommended, but still wouldn't have figured it out without your help, thanks a ton


text:
2.8 Properties Tabs all disappeared and nothing I've tried from other answers works
my little boy loves Blender, but the new 2.8 release just did something odd, he can't remember doing anything but the tabs that used to propagate the right-hand side panel no longer appear when clicking the model to modify it.
See picture...
Tried scrolling, there's nothing hidden, can't find anything else relevent to 2.8 so we are missing something.
Thanks very much in advance for helping a little boy and a noob father.

Thanks to all the help. I found a "Fix"? Although the video he's watching is exclusively in "Layout" tab mode at the top... simply switching to "Modelling" mode brings the editing properties all back - but I thought this was just a layout so haven't figured out why they are still gone. Certainly my boy has a lot my on-screen icons and properties now than the Blender guy in the video...
The video doesn't show this>??! See Pics (the update didn't do anything for this issue).

Hi. To save other people suggesting something you've already tried, can you mention which other answers you tried that didn't work?

Don't know if it is the reason, but the last version should not be 2.80.74.

Only valid situation where tabs disappear is when there is no active object (deleted for example). Even then world tabs and render settings should always be availabe. That looks like a glitch

Fixed for now - see my workaround - although I'm not happy I understand where the tabs went? How do you mess with a layout?

Very glad to hear Blender is a family thing. Hope we get another Blender artist! And next time when you find a solution make it an answer.

I spent over a day with this problem eventually taking bits from other results, putting them together, then investigating the few property tabs that I had still got I discovered that the Render tab had somehow acquired the Pin in it's top right corner. Un-pinning it brought back the rest of the property tabs.

Zaccyboy, I had a similar problem but mine was merely that the properties icons were hidden, not missing as I note yours are.  This will not address your problem but maybe it'll help save some time for others.  I'm running BLENDER 2.82.  My icons were hidden but there is a very tiny arrow near the top of the properties menu and clicking it brings the hidden icons back.  See image 1.
Also, if you place your cursor on the boundary ( between the properties menu and whatever screen you have open next to it ) and acquire the double arrow, a left click and drag to the right brings the icons back.  See image 2.

It's great you found a fix but next time try to snswer the question

I actually did address and answer the subject line which was "Property Tabs all disappeared."  In fact, when I googled my problem I was sent right here.  Anyone having a similar problem will also be sent right here. So, although I did not solve Zaccyboy's exact problem, there will be others who will be sent right here because of the wording of the subject line.  If they had the same problem I had they will be helped and hopefully I have saved them some time.

I had the same problem (blender 2.91.2) and solved it very easily. You need to find the pin in the top right side menu and click on it.

Fixed for now - see my workaround - although I'm not happy I understand where the tabs went?
Basically the tabs are all there in Modelling mode on the top bar... but have disappeared from Layout mode.
Not a full answer as to why they have disappeared from Layout when they were there before, but this should get users back in the game!

You could try to disable Load UI for the affected project (https://blender.stackexchange.com/questions/149545/lost-the-workspace-menu-how-to-get-it-back/149547#149547)

I had the same issue, i fixed it.
There is an icon where you can change the content of the view. You can change that back to properties, see screenshot

In the corner you can add also views by dragging the when the cursor becomes a crosshair.

I ran into a similar issue where Lights tab on my properties editor disappeared. This was resolved by adding a new light to the scene. Then I could select my point lights and the properties would show up again, even after deleting the new light
The Properties tabs are supposed to be context-sensitive based on whatever object is selected, but it's obviously a little buggy.

I have also suffered from the same problem. As there has no good option, I use the following method.

Close the file.
Ensure Load UI option is unchecked when reopening file by clicking the
right top wheel icon to get the Load UI option.
Open the file.

I know this is old questions but because of googling "Properties panel missing in blender" take me here I think this is good place to write my way.
If the properties panel closed or disappeared, you could take it back by using this method (the GIF below):

Click "Top,Left" of another panel and drag it to make a new panel and then change it to "Properties" as shown.

This is not really an answer to the quite old question (which the asker never bothered to accept any answers to, not even his own), because you are showing how to get the Properties window itself back, however the in the question the window is open, it is just missing all tabs except for the Tool properties.


text:
How do I make a script for adding modifiers?
I have made a script for adding VertexWeightMix modifers to a selected mesh. However, when I run the script, it adds tons of modifers, but only changes the first one it adds. How can I fix this? I don't want to apply them immediatly once a modifier is created.
for vertex_b in namelist:
    vertex_a = "bone_01D2"
    vertexA = bpy.context.object.vertex_groups.get(vertex_a)
    vertexB = bpy.context.object.vertex_groups.get(vertex_b)
    if vertexA is None:
        print("Vertex " + vertex_a + " Does not Exist!")
        continue
    if vertexB is None:
        print("Vertex " + vertex_b + " Does not Exist!")
        continue
    bpy.ops.object.modifier_add(type='VERTEX_WEIGHT_MIX')
    bpy.context.object.modifiers["VertexWeightMix"].vertex_group_a = vertex_a
    bpy.context.object.modifiers["VertexWeightMix"].vertex_group_b = vertex_b
    bpy.context.object.modifiers["VertexWeightMix"].mix_mode = 'ADD'
    bpy.context.object.modifiers["VertexWeightMix"].mix_set = 'B'

Edit: I figured out that if you declare a variable i = 0, then you can convert it to a string, append it to the name, then increase it. However, if I ran it again, it would not work.

I can just grab the length of the number of modifiers and then subtract it by one to get the index.
        bpy.context.object.modifiers[len(bpy.context.object.modifiers)-1].name = name
        bpy.context.object.modifiers[len(bpy.context.object.modifiers)-1].vertex_group_a = vertex_a
        bpy.context.object.modifiers[len(bpy.context.object.modifiers)-1].vertex_group_b = vertex_b
        bpy.context.object.modifiers[len(bpy.context.object.modifiers)-1].mix_mode = 'ADD'
        bpy.context.object.modifiers[len(bpy.context.object.modifiers)-1].mix_set = 'B'

In as much as this "works"  I wouldn't do it this way.  Can add a modifier to any object ob with m = ob.modifiers.new("name", 'TYPE') set properties on the newly added modifier via   m.prop = foo.  Please take a look at https://blender.stackexchange.com/a/132861/15543 for an example. Also the last item of a list can be indexed via foo[-1]


text:
How Use the rotation of a driver object to drive the 0-1 position of 12 driven objects

I've specfied my question so its hopefully a bit clearer.
The idea is to use the rotation of a driver, to drive 12 driven objects.
This means that for every 30 degrees of rotation, a driven object goes from 0, to 1 and back to 0. Gradually.
What does this specificly look like for one driven object?
Driver rotates to 15 degrees. Driven object is on Tz = 0
Driver rotates to 30 degrees. Driven object gradualy moved to tz = 1
Driver rotates to 45 degrees. Driven object gradually moved to tz = 0
Driver rotation can be > 360
and only when it reaches the equivalent of 15-45 degrees, should driven object gradually move from 0, to 1, and back to 0

What do you mean by "activates from 0 to 1"? Should they shift or rotate? Could you add some "before" and "after" images?

Hi Lemon, Good point.
When driver rotates to 0 degrees. The first driven bone would translate in z from 0 to 1.
Then when driver rotates to 30 degrees. The first driven bone would translate back to 0, and the second driven bone would translate in z from 0 to 1.
Does that help?

Yes, much more clear. Does the driven bones belong to the same armature?

absolutely. And I've taken care of the driver creation itself, Its just that Im not really sure how to go about getting rotation converted to translation combined with not getting them all to go at the same time.
sorry if this question isnt more clear. if it would be helpful I could make a blend file to give a clearer use case

Somewhat related https://blender.stackexchange.com/a/133920/15543  in that a single driver can be copied pasted that uses a custom prop of the objects.

If you don't mind editing the drivers for every object individually its quit simple.
radians((LOWER_LIMIT <= (abs(degrees(var)) % 360) < UPPER_LIMIT) * 90)

with:

var = z rotation driver
UPPER_LIMIT = minumum rotation of driver to rotate object
LOWER_LIMIT = maximum rotation of driver to rotate object

How this works:

The comparisons return either a value 1 (True) or 0 (False)

NOTICE:  for the modulo to work you have to anable Auto run python script.
And to make it work gradually (totates 360d):
radians(LOWER_LIMIT <= (abs(degrees(var)) % 360) < UPPER_LIMIT) * (abs(degrees(var)) % 360 - LOWER_LIMIT) * 6

And if you want it to rotate back in opposite direction:
radians((LOWER_LIMIT <= abs(degrees(var)) % 360 < UPPER_LIMIT) * (-(1 / 15 ** 2) * (abs(degrees(var)) % 360 - LOWER_LIMIT - 15) ** 2 + 1) * 90)

Completely unrelated:
-binary counter
radians( ( ( degrees(var) % 2**(Driven_Object_Number))>2**(Driven_Object_Number-1))* 90)

here it is counting to 128

And if you don't want to edit the drivers for every object individually, you can add a layer of indirection: drive an empty or something, and then use drivers or constraints from it to apply those changes to a large number of objects.  (Constraints are the easiest, can use "copy constraint to selected bone/object" operations.)

sorry i am a little confused, because this way you still have to set the individual drivers?

you set it once, for the empty, to drive some value off it.  Then for the rest of the objects, you can create simpler drivers without any script (like, by copy as new driver, paste as driver), or even better, use constraints to translate the action taken by the empty onto everything else.

Hi Alex, interesting tried it on the first 4 driven objects and that worked quite well.
Rotating beyond 360 degrees doesn't work just yet. Perhaps I overlooked something.
Switching from True to False is cool, but what I should've said was: gradually shift between those two states. Not sure if thats a tough call, but figure I'd ask
if needed I have the blend file ready as well.

@HenkKok, what do you mean exactly by shift between the two stages.
like at 15 degree being true and at 0 and 30 false, or at 0 false and gardually going to true at 30 degrees?

Hi Alex, What I tried to say was:  At 15 degrees, the first driven object is 0. Then as the driver rotates to 30 degrees,, gradually the driven object translates and reaches 1 at 30 degrees. And when the driver continues to rotate all the way to 45, the driven object gradually moved back to zero.
The current function almost has that. And it works with rotations beyond 360 as well. To my eye it starts to look like wizardry. My god what a combination. But its doing it!

just one more question,
do you want it to get back in oposit direction or do 360 flip:
(radians(0) <= (abs(var) %(2pi)) < radians(30)) * ((abs(var) % (2pi)) - radians(0)) * 6
(this is the 360 flip)

Hi Alex, I respecified the question to hopefully clarify things a bit. (see description on top)
A 360 flip sounds cool, but basicly the driven object would ideally move from 0, gradually to 1, and back to 0 whenever the driver goes from 15 degrees, to 30 degrees and then to 45 degrees.
Hope that makes sense. Thanks for helping out man. I could not do this without diving deeper into radians and complex expressions

Alex, that last one nailed it.
I filled out all the drivers for the 12 driven objects
with the correct values and it works like a charm.
Thank you man! I`ll post the code in my original question so others can use it in the future, in case they need something like it.
Also, That binary counter, haha, what a cool idea.

Alex, sorry for asking an additional question.I have the setup working I realized something new.  The current setup has always ONE driven object moving.
This is not entirely correct. As the first driven object goes back down. The second object should already start moving. So its like with Phases. Currently each driven object is one phase apart. But what I realized is that I actually need them to be half a phase apart. I've updated what that looks like in my original question.
I can make this a new question, since its the second update to the original question :-)

No problem @HenkKok but actually the answer is the same. you only have to change the upper and lower limit, so first object 0 - 30, second 15-45, third 30-60, 4th 45-75 etc

Brilliant. Solved it. Thank you!


text:
Report vertex locations of parented geometry
How can I  find the vertex locations when the vertices of a cube are controlled by bones of an armature? This parenting thing is causing my regular setup to break.
I found this post, but struggle with applying it, anybody got an idea how to tackle this one?:
Does a child object inherit the matrix from the parent?
# Cube, verts are controlled with hooks / empties
target_object = 'Cube'

def vertex_loc_iter():
        target = bpy.context.scene.objects.get(target_object)
        vertices = target.data.vertices
        for vertex in vertices:
            localmatrix = vertex.co
            worldmatrix = target.matrix_world
            location = worldmatrix @ localmatrix
            yield location

for vertex in vertex_loc_iter():
    print ('vertex', vertex)

I suspect rewriting the matrices part would solve this, but so far my matrices trial and error rewrites haven't paid off.


text:
problem with extrude tool
My skill are very limited with blender, however I need to print a tool but can't seem to make it properly on blender
This is my initial object, but I need to add a additional layer (finer) on the top so it look a bit like the second pictures :

I tried to select the edge and extrude them which seems fine and then select the faces that I just extruded and extrude them in X so it can be a few mm thick (for printing)

but that doesn't work and it make something like this

I also tried to created a duplicate of the first object and change the dimension on X/Y but it's change complete the angle of the object
Blender file

If I understand correctly what you want (?), you can:

Create an new edge loop:

Select the faces:

Extrude up:

Thank you I didn't think of this but that make sense

For most of the faces, using "Extrude Along Normals" works. Something about the geometry of the long face in the second quadrant (postive X value, negative Y value) is messed up though--you might want to just edit it manually there.
Quick note: choosing this option will mean you have two sets of faces (one for the top surface of the bigger bottom part of the shape, and one for the bottom part of the side faces you just extruded)! I can imagine this might be a problem for a 3D-print, although I have no experience in that area, so I can't say for sure.

The "how to fix" is already given as answer.
Though, this is due to the fact that the mesh is non manifold (normals conflict).
You can reproduce it with this setting: a divided plane with inverted normal on a side.

And your mesh is in the same situation:


text:
Bone index change after parenting
I create an armature an all the bones through a script, then parent them. But the bones change the order in the list after setting the parents.
This script shows that each bone index changes after the modifying the parents
import bpy
import mathutils

print('HELLO')
#Clear all
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete()

#create armature
armature_da = bpy.data.armatures.new("Armature")
armature_ob = bpy.data.objects.new("Armature", armature_da)
bpy.context.scene.objects.link(armature_ob)
bpy.context.scene.objects.active = armature_ob

bpy.ops.object.mode_set(mode='EDIT')

for i in range(10):
    bone = bpy.context.active_object.data.edit_bones.new(str(i))
    bone.head = mathutils.Vector((.01,0,0)) * i
    bone.tail = bone.head + mathutils.Vector((0,0,0.01))
bpy.ops.object.mode_set(mode='OBJECT')
print('creation',bpy.context.active_object.data.bones.keys())

print('first parenting')

armature = bpy.context.scene.objects.active
bpy.ops.object.mode_set(mode='EDIT')
bones = armature.data.edit_bones
for i in range(9):
    editBone = bones[9-i]
#    editBone.parent = bones[9-i-1]

#    editBone = bones[i]
    editBone.parent = bones[i+1]

print('pre object',bpy.context.active_object.data.edit_bones.keys())
bpy.ops.object.mode_set(mode='OBJECT')
print('pos object',bpy.context.active_object.data.bones.keys())

print('second parenting')

armature = bpy.context.scene.objects.active
bpy.ops.object.mode_set(mode='EDIT')
bones = armature.data.edit_bones
for i in range(9):
#    editBone = bones[9-i]
    editBone.parent = bones[9-i-1]

    editBone = bones[i]
#    editBone.parent = bones[i+1]

print('pre object',bpy.context.active_object.data.edit_bones.keys())
bpy.ops.object.mode_set(mode='OBJECT')
print('pos object',bpy.context.active_object.data.bones.keys())

Am I using a incorrect way to set parents?
Is there a way to preserve the bone indexes?
I am aware that I could use the names to reference the bones from the array, but I prefer to stick to indexes.

No, you can't preserve bone indices, outside of edit-mode, bones are order by their hierarchy.
Its best to reference bones by name rather then index, (Or at least get their index once, outside of edit-mode)


text:
Rescaling/transform affects 2 objects instead of just the one selected?
Whenever I try to create a new object and scale/transform it in object mode, it automatically selects another object and scales that object too without me selecting that object.
I think this has something to do with the origin of the object that is automatically selected given that it has the same origin as the new object created.
Note: The object that is automatically selected is not highlighted in the scene section and I cannot deselect it.
Any idea how I can fix this problem? Thanks!

Could you upload your .blend and/or some screenshots?

Related: http://blender.stackexchange.com/q/1495/599

Sounds like you added you new object in Edit mode. Press tab to toggle between edit mode and object mode.

If in fact you have one object, then in edit press P then choose loose parts. That will split the object in to multiple pieces.

I created the object in object mode, not edit mode.


text:
exporting animated model to unity 5 totally deform the mesh
I am trying to import a model in unity from blender. But using FBX is a total disaster, collada looks "better", at least I can recognize the arms and legs.
This is the link for the original blend file:
https://copy.com/DHMZ4ACjSoyYroAm

hopefully someone can give me a clue, thanks in advance.

I found I had better luck using the FBX 6.1 ASCII settings when exporting to Unity.  Are you animating using bones? I never had any luck importing shape key animations into Unity.

These are the settings I used and had the most success.

you are awesome!!! the corrective shapekeys used to fix deformation inside blender make the problem, i deleted all but the "basis" and used the export setting you recommended, it works thanks!!!

Glad I could help!  I actually just switched back to .FBX.  Before I was loading the .blend files into Unity.  I just found out that Unity just opens the .blend file up in the background and converts it to a .FBX


text:
why the options to modify a primitive are grayed out in blender 2.75?

In blender 2.74 I can add a circle in object mode and change the number of sides, but in 2.75 I can't. I have to add the circle,enter edit mode and delete it, add it again and then i can edit. I add objects every second, I feel like I waste a lot of time. Is there a way to go back to the old behaviour?.

Is global undo disabled? in Ctrl Alt U > User preferences?

YEEES!!! THANKS!!! but I still don't understand why

wow, this is very old:
"With 2.35 Blender now offers a 'global undo' as well. It is called global, because it works outside of the temporal editing modes (like mesh editing or vertex paint) and restores on 'undo' the entire database of Blender."

I put a short explanation in my answer here: http://blender.stackexchange.com/a/8263/599


text:
Blend Smooth tool leaves random empty holes
Currently I have a model and I go to Blend Smooth, but after clicking the option I am left with parts of the model that are left empty and distorted. I tried adding more lines and tried refilling parts where the holes appeared, but I still cant completely smooth the model. This is my first time using Blender and I am just learning to use the software.

This may be topology related (tri's and n-gon's), but one thing to try before messing with that is to make sure all the surface normals are pointed the right way (Select all in edit mode then Shift+N)

If Christopher's solutions don't work, please share your file: https://blend-exchange.com/

I tried your fix with making sure the surface normals were correct and it didnt seem to work. I am sharing my file.


text:
I can't get the normal interface back

I'm pretty new to Blender, so I'm not sure what happened, but I accidentally opened a bunch of windows. While I was trying to close them, this happened and I haven't been able to get back to normal since.

https://blender.stackexchange.com/questions/8384/how-can-i-reset-my-menus https://blender.stackexchange.com/questions/2151/is-it-possible-to-use-the-startup-blend-ui-layout-in-older-files

Press Ctrl Spacebar?


text:
Why can't I see the render result of fire and smoke simulation?
I'm doing some fire and smoke simulation, and I can see the result in Solid Mode, but not in Render Preview, and I can't explain why.
I have no material on the domain because I was never told to do so in the tutorial I follow.
Blender version is 3.1.2, and graphic card is a GTX 1650 over an Intel i5-9400f.
Using Cycles.

Do you have a material on the smoke domain? A volumetric material?

as you can see on the comments of Gordon you didn't provide enough information for your question. So please edit your question and improve it by showing us all relevant settings/details. Thanks. I would be quick with that before your question gets closed....

This is either because of a bad or missing domain material, or because you’re using an old version of blender that had a bug in it where volumetrics would not be visible.

Your edit confirms the issue: you have no material.
Now if you are following a tutorial that shows you a renderable result, either you missed the part where they show how to get the material, or it might be - debatably - not that good of a tutorial.
The simplest and easy way to get a functional material from a fire simulation, is simply to plug a Principled Volume shader to your domain's volume material output, and set the Blackbody Intensity value to 1:

That was it bro, thank you so much. I don't know how I could know that by myself D:


text:
Texture of an instanced object is different to the original
I want to have the same texture on each plate which is just a cube attached to the four sideways facing sides of each pillar.
I added four plates to the original pillar and duplicated them with the same instance on point setup I used for the pillars, but as you can tell, the texture is really stretched and also different on each pillar.
Therefore, even if I fix the stretching on a single side of only one pillar, it's off on the other sides and also on the other pillars. It's more off the further away the pillar is from the fixed one, like the texture orientates itself with coordinates a not on the object it's applied to.
I tried all the different outputs of the texture coordinate node, but no matter what I tried the texture was always different on each plate.

You should definitely not use the generated coordinates, because this remaps the Texture coordinates to the bounds of the mesh, and the bounds of your "all pillars" objects are naturally way bigger than your "single pillar" object, so it's logical the texture is stretched. Have you tried the "Object" output ?

I tried that already, didn't work unfortunately. I added another picture to show how it looks, when I use the object output.

UV or Object coordinates should work, but the texture may need to be resized.  You could also try checking 'use instancer' in the texture coordinate node


text:
How do I handle UV hand-painted stuff on glass-like materials?

I want to change the transparent-looking canopy detonation lines (highlighted in blue) to white, like in the last image, but i want to keep their bump/indent thing visible. I drew them on by projecting the UV from top view, exporting it to a painting app, and using the edited finished png as the image texture. But it didn't turn out the way i wanted, can someone help me? Thanks in advance. (first pic is what it looks like, i obviously disabled the Canopy layer before putting it in blender, but it's visible here)

Hi :). Hi, how does the image texture look like? Could be as simple as inverting the color...

Just edited it now

Hey :). It looks like it would be a lot easier to change the det. cord lines inside your painting app, no? :)

Nope. No change, no matter what colour i picked.


text:
IK Bone act weird with control bone and does a 180° rotation
when I try to position my control bone from my armature the whole construct makes a 180° roation which I don't want.

But the pose that my object should do looks like this and I can't get it this way.

Since I'm new to IK I have no idea how to solve this.
Here are a few more pictures from the bones in edit mode and the IK propertie window.

I call this "IK twitch".  Avoid angle limits.  Avoid angles that are distant from rest pose; adjust rest pose to be the median of your anticipated transformations.  Avoid manually rotating the bones or using constraints/drivers to do so, avoid stiffness.  Any more suggestions, I'd need a file to say.

did u try pole target?

Well this is kinda embarrasing for me, but the solution was to reduce the Chain Length by one inside the IK properties.
I'm thankful for the advice and help I got, but this was just the Chain length that caused the problem.


text:
Error: Modifiers cannot be applied to multi-user data- solving with python API
Modifiers cannot be applied to multi-user data - how can I solve for complex deeply nested meshes via Python
I have looked at https://blender.stackexchange.com/a/253286/151885 is there a way to set this option in the API?
This seems to be a slightly different context than my issue, where I'm importing many gltf files via a headless script, whereas they're working in the editor.

Apply modifier to multi-user
import bpy

def apply_md_by_name(name):
    try:
        bpy.ops.object.modifier_apply(modifier=name)
        return True
    except: # wrong name, modifier disabled, no data to apply, ...
        bpy.ops.object.modifier_remove(modifier=name)
        return False

def apply_md(obj, md_name):
    try:
        # set active object
        bpy.context.view_layer.objects.active = obj

        # add a mesh to blend data
        temp = bpy.data.meshes.new("temp")

        # get users
        me = obj.data
        users = [o for o in bpy.data.objects if o.data == me and o != obj]

        for u in users:
            u.data = temp

        apply_md_by_name(md_name)

        for u in users:
            u.data = me

        bpy.data.meshes.remove(temp)
        del users
    except:
        print("    Fail")
        # not in object mode, wrong name, ...

apply_md(bpy.context.object, "Bevel")

you posted your answer twice. probably should remove the other answer.


text:
Is there in Python to check if the tools collapsible menu is open/closed?
I'm trying to see if there is a way for me to get a boolean value for the tools menu being opened or closed. I know you can see a few toggle options using something like console.toggle() but I wasn't able to find anything about the tools menu in the Blender Documentation or other similar questions on this platform. Thanks!

Tools Menu Open

Tools Menu Closed

I fiddled a bit in the python console and found the show_region_ui property of the 3D Viewport space indicating this:
for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        for space in area.spaces:
            if space.type == 'VIEW_3D':
                # True: n-panel is open
                # False: n-panel is closed
                n_panel_is_open = space.show_region_ui

                # You can even set it
                if not n_panel_is_open:
                    space.show_region_ui = True

                break

Thank you so much! Is show_region_ui in the docs? Every time I search for it I don't get results... this is such a useful method to know!

Well, technically there is an entry in the docs, but it is explaining nothing, so not of much use.


text:
TypeError: EnumProperty(...): return value from the callback was not a sequence
I'm using a callback for an enumproperty type to display a dropdown menu:
def item_callback(self, context=None):
        global modelDropdownIndex
        global enumHolder
        if modelDropdownIndex == 0:
            enumHolder = fetcher.enumModelTotal[0]
            return enumHolder

dropdown_Parts: bpy.props.EnumProperty(
    items=item_callback,
    name="Parts",
    description="Model Parts",
    default=None,
    options={'ANIMATABLE'},
    update=None,
    get=None,
    set=None
)

Here is the link to the documentation. I do know that the return value is correct, as the dropdown box always has the accurate first entry. Still, when I try to expand the dropdown to view the rest of the tuples, I get the error TypeError: EnumProperty(...): return value from the callback was not a sequence, and I cannot figure out what it means. I've tried sending longer and shorter lists, all to the same error, and I resolved the potential callback error not holding memory by using the global variable enumHolder to ensure that I can access the variable at all times. Yes, I have checked to make sure that the variable is holding the correct contents and it was correct, I've looked on the blender docs and online but I'm not sure what sequence means in the context of a callback.

Hello ! Is fetcher.enumModelTotal[0] a sequence (list, tuple, ...) ? I would try with fetcher.enumModelTotal instead

For anyone trying to do something similar - I wasn't able to achieve my output with the if statement. I changed the logic for what to compare modelDropdownIndex to earlier and returned just the dynamic class list after calling the function and it works? Super weird solution - but hopefully that helps someone.


text:
Blender on Linux starting, but not showing a window
Blender 3.2.1 starts without crashing and runs, but doesn't actually open a window. It shows a window preview of the default start screen, but the actual window does not appear.
I am running pop!_OS 22.04. I tried installing blender from the official repos, via flathub and downloading from the official website and get the same behavior. Graphics drivers are installed and working correctly, and I don't get this behavior with any other applications. What could be the Issue here?
Edit:
Starting blender from terminal, with or without sudo, does not return any errors or warnings

Is it possible it’s appearing on another desktop/workspace?

I figured it out, the window was appearing on a screen that was connected but turned off. I feel kinda stupid now

I was starting to think how that was even possible aside from the possibility as mentioned by TheLabCat. But glad you figured it out :)


text:
Weird artifact after enabling "Harden normals" in bevel modifier
Harden normals option causing artifact to my model. It looks ok without it, but the shading is ugly so I need to use it. How to fix that artifact?

Experiment with the Width Type settings, as well as the Geometry settings

It think your problem stems from the overall topology. the hard normals are just making it show more. You have overlapping faces in the bevel. You could share a problematic chunk of your model on  https://blend-exchange.com/

@Evripidis Lalissidis I have played around with Width Type settings before post here, but I wasn't satisfied with the results

@Robin Betts I agree, bad topology might be the answer. When I applied the bevel modifier, there were unconnected vertices. But I don't have a solution for this. I added a link to the post

2 suggestions, that don't quite constitute an answer, because they're opinion, and depend on what you want, exactly. 1: Reduce your bevel segments to 4. (For topo reasons, it's generally better to use an even number)  2. If you want variable bevel-widths by weight, a reasonable workflow is to set all weights to 0.5, adjust mid-width bevel in the modifier, and then go round making other coherent loops tighter or looser. Switch Clamp Overlap off, and keep an eye out for overlapping generated faces.

@Robin Betts thank you. The second decision is what I have needed! Please put your comment in answer, so I can close question


text:
Quick effects smoke simulation not rendering in viewport together with other animations
I'm relatively new to blender, and today I started exploring smoke simulations. I encountered a weird issue when creating a smoke simulation inside of an animated scene, there is simply no proper simulation playback in the viewport and instead it makes the whole domain grey with smoke. Wouldn't want to keep rendering it to make edits, that would take forever.
My main idea was to give the little guy a smoking head as he is walking inside.

In a fresh blender file, the quick smoke effect works as expected and without issues, without baking first. I tried appending the walking body mesh and armature into a new blender file, and upon adding a quick smoke simulation, the same thing happened, it's all weird and glitchy.
I tried changing from "replay" to "all" in the cache settings, baking it, but still no luck, it just won't play together with other animations in the viewport.
The only way I can preview the smoke animations is through rendering them first and previewing in the animation viewer. But another problem arises when I try to move the smoke domain or resize it - blender crashes.

Thank you for your time!
My system specs:
i9-119000k
RTX 3090
Windows 10 64 bit

How much experience do you have in smoke simulations? No offense, but first of all it sounds as if you haven't baked your simulation yet. The smoke simulation uses a lot of resources, and (depending on the resolution of course) without baking it will probably never play proper in the viewport. Even with baking, high resolution smoke simulations won't play very well. I would recommend this tutorial by Polyfjord for a beginner's guide to smoke simulations and how to preview the resulting animation: Creating a fireball in Blender

That's the exact tutorial I followed. As I already mentioned in my post, I just started today, and I already tried baking it and it still would not play.

I found that there is unfortunately no way to preview quick smoke simulation in the viewport when there are other simulations. The only way is to use mp4 animation previews.
The issue with the smoke domain refusing to move/be resized without crashing blender seems to be because I was not at frame 0 and needed to press "Free Bake".


text:
Dashed Line Removed

Both the object (Vases) are somehow connected. I think I messed up with some of the controls. Every time I tried to scale one of them the other will also scale up. How can I remove that dashed line?

that means it is parented to another object. try to move the objects around to find out which objects are connected by the dashed/dotted line then press Alt+P on the child object but since we can't tell from your screenshot which one is the child or parent object, just do Alt+P > Clear and Keep Transformation both objects.

Oh, that solves it. Thanks, man.

you're welcome :)

It seems like one of the vases is paranted to another.
Try to use Alt + P to Clear Parent > Clear and Keep Transformation

All is good now. Thanks for the response.


text:
Black Object in Render Image
So I'm doing the cartoon house tutorial and am almost finished. I just have one problem. Every time I get the rendered image one of the bricks appeared to be black while the others aren't even though they're all connected. Is there something that I accidentally clicked or something?
Blend File

can you share your blend file https://blend-exchange.com

I did just now.

you uploaded the backup file .blend1 instead of the regular .blend file. i could still open the backup file but don't see the black brick anomaly on blender 3.1. maybe try to upload the .blend file instead.

What about now?

ah easy fix. there is an overlapping of bricks. just take the duplicate brick out. just move them around and you'll see 3 overlapping bricks

The brick is doubled, thats why it is black. Delete the brick.


text:
ViewLayer problem
I can't see the object in ViewLayer.
I had created a suit of armor and merged with the orginal design then I decided to create clothes to my character and did SHIFT D, it created the shirt for me but I can't see the object in ViewLayer, how can I do it?
In the image you can see that anxhe if I select a view layer object remains the same.

What do you mean by "ViewLayer"? The outliner at the top right on the screen? The mesh is most likely a child of the armature object and is listed below this entry. Just expand it.

Yes, the outliner at the top right. The problem is that I can't expand and I don't know why

The armature is hidden and can't be selected. Click on the "closed eye" icon right next to its name to make it visible. Then you can expand it and have a look at its children, the mesh parts. -- For easy access, you also can move all mesh objects in a separate collection. They will still be visible and accessible under the armature object but also in their own collection.


text:
Set height in different object
I have two objects (Avatar and base) separated with random dimensions. I need to scale them using a specific dimension (in this case, the avatar's height). I want to scale the avatar in 1.60 height and the base proportionally. How Can I do it?

what if you select both the 2 objects, switch to Edit mode, select all, press SZ1.6?

It doesn't work. Do you have another solution?

Could you please show a screenshot, maybe even share your file so that we understand?

The file is too heavy, I can share the screenshot


text:
Surface mesh problem
I have downloaded a file that has some problems with the mesh. The meshes are not connected correctly, is it possible to connect only the visible part of the meshes?

Hello, you could select one of your mesh with L then Ctrl F > Intersect (Boolean) but it won't give a good topology at the end, you'll need to correct it

Unfortunately, L then Ctrl F > Intersect (Boolean) doesn't work. The command delete one piece. I add the file in the post

Once you've booleaned you need to choose Union in the Operator Box (bottom left of your 3D view)

Thank you so much!

You can select one of your mesh with L then CtrlF > Intersect (Boolean) but it won't give a good topology at the end, you'll need to correct afterwards:

Once you've booleaned you need to choose Union in the Operator Box (bottom left of your 3D view):


text:
Deformation apply armature
I would like to apply the pose and the corrective smooth, but the corrective doesn't work if I do it the object has a deformation! How can I solve it?
The problem are the feet.

You can convert your mesh to mesh: in object mode, "object" menu, then "convert to" and "mesh".

Note: This does not answer the exact question of how to apply the Corrective Smooth but shows how to change the character's pose from a "high-heel pose" to a "flat shoe pose".
The root problem that you have here is the bad deformation. The Corrective Smooth just hides the problem but doesn't fix it in a proper way. It also has crazy high settings for smoothing.
Let's delete the modifier and have a look at the model.
The Problem - Bad Deformation
The "High Heels" rest position looks good:

but the desired pose looks terrible without the Corrective Smooth modifier:
This is probably caused by too many bones and from them poorly calculated weights.
Let's Fix It With A Better Bone Layout
Preparation/fix the mesh - First, make a backup of the character. Then select the body mesh and remove duplicated vertices (Edit mode, M > Merge By Distance, use default distance of 0.0001). There will be 68 vertices removed.
There is also a small area at the right shoulder and at both armpits. Here the mesh has flipped faces and duplicated edges. Use the Face Orientation overlay to check the mesh. Delete the red faces at the shoulder, delete the unwanted edges, and re-create the faces. Under the arms, the mesh might only be overlapping/distorted.

New Bone Layout - Next, edit the armature. Remove the all bones of the foot, and create 3 new bones to control the shape of the foot and the toes. One bone for all 5 toes is sufficient.
Bind the armature to the mesh (Ctrl+P > With Automatic Weights. Then go to Pose mode and change the pose of the foot as you like.

Rogue Vertices - The left foot has 3 rogue vertices that do their own thing and don't follow the armature for some reason. Let's get rid of them. Enable the On Cage option for the Armature modifier. Now you can fix the mesh in Edit mode. Just delete and re-create these vertices with Grid Fill.
The On Cage option of the armature modifier
Polish The Shape - Last but not least, you can adjust the shape of the foot in Sculpt mode. Don't forget to enable the X-mirror for symmetry and look at reference images to get the right shape. For the toes you can create Face Sets and limit the influence of brushes to the Faces Sets. Select the tip vertex of the toe in Edit mode, and select More Vertices with Ctrl+Numpad+ to select the whole toe. Then switch to Sculpt mode and create a Face Set from the selection (Face Sets menu). Note: The big toe is connected to the other toe. You can fix this in Edit mode.

The shape keys here only exist to illustrate the difference.
When you are happy with the result apply the Armature modifier to make the pose the new permanent rest pose of the mesh. Eventually, you can put on her flat shoes and re-bind the armature to animate, pose and print the model.

The default corrective smooth operates on original mesh coordinates to determine how to smooth the mesh.  When you apply the armature, the effect of the armature is baked into the "original" mesh coordinates, and so the corrective smooth does nothing-- the mesh is in its undeformed state.
To apply both the pose and the corrective smooth, you'll need to use bind coordinates instead.  From left to right: live armature only; live armature and corrective smooth from original coords; live armature and corrective smooth to bound coordinates; applied armature with the same, bound corrective smooth.

To bind the corrective smooth in the same way that it would function from original coordinates, first pin the Basis shapekey if the mesh has any shapekeys, disable your armature modifier temporarily, set the rest source as "bind coords", and click the bind button.  Then, restore your original shapekeys and armature modifier.
Additional modifiers on the stack may require tweaking.  In general, you want to bind without any deforming modifiers active.
After binding the corrective smooth, it will remember the bind even after applying the armature.  You can apply the modifiers in order, or alt-c convert to->mesh to apply both modifiers.

I have tried but I am not sure if my process is correct.. Can you take the screenshots of your process?

I don't understand this part: set the rest source as "bind coords", and click the bind button.

@Inuraghe Look on the corrective smooth modifier settings.


text:
How improve armature in blender in a character
I was trying to move the mesh using armature but the result is terrible, I think I create an armature wrong but I don't know how to make changes.
Have you some ideas? I think the food's bones are wrong but I don't know how.
Also, I would like to dress the character, it is best to do it before changing pose or after?

First of all apply the scale of the armature, select the mesh in Edit mode, press M to Merge by Distance because you may have overlapping vertices, and also recalculate the normals of your mesh as it looks like you have inverted normals:

It looks like these vertices are not assigned to any vertex group, so they can't be influenced by any bone, you need to make some corrections in Weight Paint mode: Switch to Solid mode and to Object mode, enable the armature In Front option in the Object panel > Viewport Display, select the armature, shift select the character object, switch to Weight Paint mode, select a bone with Ctrl left click and paint:

exactly the same way, except you need to select other bones


text:
Image Texture with opacity map over another material
I am trying to get an image texture with an opacity map to appear over another texture, but I am having some trouble getting the base material to show under the texture I am attempting to apply.
I am trying to get some leaves to show a roof texture under them, and only have that show up in specific areas that I am painting in texture paint. So far, I am able to get the painting portion working, but the leaf texture is replacing my roof texture instead of overlaying it. I am pretty sure this is because of the way that I am mixing the shaders.

Here is my current setup of nodes:

I am not sure what I should be doing with the opacity map from the leaf texture, I have tried feeding that into a "Transparent BSDF" node which then feeds into a "Mix Shader" node, but what I get is the transparency showing the HDR reflections instead of the roof material below.
I am pretty sure my issue is here with this "Mix Shader" node, but I am not sure what to replace it with:

If cut the line from the bottom shader (the leaves) I am left with a big black splotch:

Is there a way to overlay rather than mix shaders? I feel like this would fix the issue, but I could only find overlaying for RGB.

The problem you are experiencing consists of two parts: first of all, as you already realized and tried to compensate with the Transparency BSDF, your leaves texture is not transparent between the leaves. If the original texture (which I cannot see in your question) has transparency, then you should plug the Alpha output of the leaves' Image Texture node into the Alpha input of their Principled BSDF.
Now you have transparency between your leaves. This reveals the second problem as you also have realized with the transparency you mixed in: The Mix Shader shows either only the roof texture where the mix factor is 0 or black, or it shows the leaves completely with transparency where you expect to see the underlying roof texture.
The Mix Shader unfortunately is no Alpha Over node like you have in the Compositor. It's not overlaying one shader above the other - it is either showing the first (0) or the second (1) with the grey values gradually changing between those two shaders.
So you have to integrate the Alpha of the leaves into the mix factor by combining it with the opacity map through a Math node:

Where the opacity map is black = 0, you want to have roof texture.
Where the opacity map is white = 1, you want the leaves to show.
The leaves themselves have an alpha channel which is white = 1 where you want to see the leaves, and black = 0 where you want the roof texture to be seen.

If you now plug the opacity map in a Math node set to Multiply, you can use this output as a mix factor for the Mix Shader node:

opacity 0 × alpha 0 or 1 results in 0, the roof texture is shown as expected.
opacity 1 × alpha 1 gives 1, so in an area where the leaves are supposed to be and their texture is not transparent, leaves are showing.
opacity 1 × alpha 0 results in 0, this is an area where leaves are, but their texture is transparent there and since the result is 0, the roof texture will show.

Example in images: let's say that purple color on the left is the roof, the image with transparency in the middle is the leaves texure and on the right is the opacity map, black where the roof should be and white for the leaves.

If you now plug the opacity map in the Fac input of the Mix Shader, with the roof in the first shader socket and the leaves in the second, you'll get this: The plane is either showing the roof where it's black or the leaves with a transparent background where it's white.

But what you actually want is to see the roof where the leaves are transparent like this:

Now if you think about the mixing, what does this mean? In the opacity map you need black where it is black and where the leaves are transparent, i.e. where their alpha map is black. And you can achieve this by simple math logic. 0 is false, 1 is true, logical AND is multiplying.

And this is the node setup for mixing it:

By the way, of course there are also possibilites to combine textures etc. before you plug them into a Principled BSDF so that you wouldn't even need to mix two of them together. But especially when you want more complex setups and have one material per shader output, the method I showed above is possibly better instead of thinking how you have to mix textures, bump maps, roughness etc. before the Principled BSDF.

The problem here is deciding what your alpha channel is as there are different methods of solving it. The first and most common method is to use an image with a transparent background. These are relatively straightforward to use as the background has no data while visible image is visible. The following image has an alpha channel:

Another method is using black and white values as the opacity. A 100% black value means no data while a 100% white one represents full data. Any values in between the two will decrease and increase the opacity respectively. The following image is a black and white version of the previous image:

Here is a common setup for the alpha workflow:

Another one for the black and white workflow:

Also it's important to change the color space option sRGB to Non-Color if you use the black and white method. Otherwise, Blender can't read what data should go where and it won't render the material properly.

As I understand the question, the problem here is the Mix Shader node doesn't work like an Alpha Over node in the compositor, it's not overlaying but replacing one shader with the other. Even if you mix one image texture with another in a Mix RGB node this will not be sufficient if it's not just colors to be overlayed but also other properties to be mixed, like rust on a glossy surface or opaque stains on a glass surface etc. As I said at the end of my answer, you could combine all this beforehand to use only a single Principled BSDF, but sometimes it's easier to mix the end result.

Especially this last paragraph of the question is important: "Is there a way to overlay rather than mix shaders? I feel like this would fix the issue, but I could only find overlaying for RGB." What you are showing there is overlaying RGB, that is explicitly mentioned to be not sufficient.