text:
Changing bevel modifier
My bevel panel in add modifier pa is like this and I want to change it like this.  Because many of the settings and tutorials I saw are done with this type of panel. I'm confused. What should I do?

You are using a quite old version of Blender (2.80.75), the current stable version is 3.4.1 right now. In newer versions the modifier looks different. You cannot simply switch the appearance from old to new version, this is not a "mode".

My computer is very old and uses Windows 7 32 bit.♀ How can I update this program?

Please don't post images of your computer screen! Blender has a built-in method of saving images via its Window > Save screenshot menu. Having said that, your image shows that you're using a very old version of Blender (2.80). Any tutorials you watch will probably be using version 2.93 or above (the latest is currently 3.4) and the layout of the interface and modifiers have changed significantly since the version you are using.

I'm noob and I didn't even know how to take a screenshot, so I posted a picture from my computer I'm sorry.But what can I do with this old version that can't do anything right?

@Narges Ng: older versions, unless bugged, do things right as well. It all depends on your needs. If you want to be a Blender pro or a new feature enthusiast download the most recent version your hardware is sufficient for and upgrade it if it's necessary. The download site is blender.org

The picture on the right side is the newest version of blender. It means you need to update your blender to 3.0.0 or above.

My computer is very old and uses Windows 7 32 bit. How can I update this program?

You can't. The last version available in 32-bit was 2.8.

But in version 3 and above, the panel changes to this mode.right?

Yes that's it, but anyway it doesn't change a lot of things

Ok, i found that blender 2.91 also has this mode. But unfortunately it doesn't support windows7 32bit. One solution is to compile blender by yourself.

@NargesNg Well, it is like that. If you don't have a 64-bit system, unfortunately your version 2.80 is the last that supported 32-bit Windows. But anyway, the modifier is not in a different mode, it's mostly just a reworked UI there. If you look at the options, you can set all the same things in your version that are available in the old version.

I  just want do copy to selected in add modifier and bevel panel but I can't...my work is incompleted

In the 3D view, hit Ctrl-L > Modifiers to copy the modifiers to your selected object.


text:
disapearing mesh
Why is my mesh disapearing when I add cloth physics?

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.

I am modeling a flag and now I want to add cloth to the flag in the physics properties, but my plane object disappears When I add this mode

Have you pinned the flag to the flagpole? See this tutorial.

Never seen this tutorial before....thanks a lot

How can I completely reset everything in blender.... all my tabs and types is Messed up like uv Editing...cloth physics & ... and I can't fix all of this and my modeling is in trouble
What should I do???
Help me pleasee

Please ask that in a different question including images of your Blender window and if possible your Blend file which you can share via https://blend-exchange.com/ following the instructions there.

I can't ask a diffrent question about this because of quality standards♀

Please share your file: https://blend-exchange.com/

source: Stack Exchange

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

sort: votes


text:
Skin modifier not giving any volume to my mesh
Beginner here. I'm trying to follow up this tutorial. Unfortunately, I'm stuck when it comes to use the skin modifier to thicken up the tree.
I've seen potential related topics (1, 2, and the documentation). But couldn't find anything useful in either of these. In every tutorial I watch about the skin modifer, as soon as someone has 2 connected vertices and apply the skin modifier, there's a shape. In my case nothing, even if I try to ctrl + A to scale it.
I'm on latest version of Blender 3.4.1.
Here's what I'm doing:

Create a tree by extruding vertices

Add skin modifier

If I tab out and go back to object mode, I can see something weird going on, like the mesh is dotted...

I can see that the modifier is here, but nothing is shown in the view despite having that modifier shown

Any idea?

hello could you please share your file?

https://drive.google.com/file/d/1vfdqnDpC-njMetizIvstE3Edeiq_N-5w/view?usp=sharing

You need to apply the scale in Object mode. Then to control the skin thickness, select all in Edit mode and CtrlA:

Daaamn, thank you so much! I've seen warnings in so many tutorials telling everyone don't forget to apply, or it may behave weirdly. And I've been quite careful about it since. But it finally bite me. All working great now, thanks!

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


text:
Fspy: Align photo with existing Mesh
What I've got:

An existing mesh of my living room (made with MeshRoom)
A few 3D boxes added to the scene to simulate where I'll put a TV stand
A picture of the living room. One of the pictures that got used to create the mesh of the living room with MeshRoom
An fspy project, with axes and length reference defined

What I want:

Once I'm in Blender and I'm seeing through the camera created by fspy, I want to align the existing mesh of the living room (and the 3D tv stand boxes I've added) to the scene

Question:

How to align/move/scale the meshes I've got, perfectly with the view of the camera? End goal being to have the picture rendered with only the 3D boxes I've added

I know I could skip the living room mesh and re-create the boxes only from the scene. That'd probably be way easier and I'm going to do that on the side. But I find the use case super interesting, so I just want to know how one would do.

For those not familiar with Fspy some images might help. Maybe not the ones based on your living room (to keep your privacy) but a similar example?

That'd be kinda hard because I wouldn't have the mesh matching the scene I'm afraid

I'm not sure there's any easy way to align an existing mesh with an image, fSpy is precisely made because it's very hard, and even fSpy can not find a solution for every photo (if the objects are not perfectly aligned and perpendicular, etc), but maybe I misunderstand your question...

I can try to reformulate. I've got a picture. I want to render more or less realistically 3D boxes in the scene, to see how much space some furniture is going to take for real. I've seen loads of tutorials to do that while drawing the furnitures from the fspy camera. Here it's a bit different. I've got objects already that I need to align in the scene instead of creating them from the camera POV

In fSpy, place the world origin at some known point. Import into Blender.

Snap the 3D cursor to world origin (Shift+S). Create an Empty object.

Parent the fSpy camera to the new Empty (by shift-dragging it in Outliner).

Move the 3D cursor to the point that you had previously chosen in fSpy.

Select the Empty and Snap it to the 3D cursor position (Shift+S).

If your fSpy and Blender axes don't match, rotate the Empty in 90° increments.
If you didn't set reference distance in fSpy, roughly rescale the Empty.

Enter the camera view. Select it and navigate to the camera data tab.
Under Background Images, set Depth to "Front" and tweak Opacity to taste.

Select the Empty and adjust the final transform. Hold Shift while transforming for better precision.

Note: in the above example, the camera is placed outside the wall, so it had to have its clipping adjusted as well. This was done off-screen, and is unnecessary for most cases.

While this sounds awesome, I'm way too newbie in Blender to understand all this. Could you add a gif, video or screenshots to the post? Thanks!

Edited the answer. Apart from the demos, I have changed the answer itself. Instead of parenting everything (which can cause problems on complex scenes), it's better to just parent the new camera.

This looks brilliant thank you very much for the detailed answer, I'm out of time at the moment but I'll look into it soon!


text:
Why is Blender cancelling my render on "undo"
Everytime a render is processing, while I'm doing other things in the software, and want to undo my last action, Blender cancels the ongoing render.
I thought it was a shortcut issue, but it's not; when I'm clicking on "undo", it also cancels the ongoing render, whatever my last action was.
Does anyone have a clue on how to prevent that?
It seems like I've been suffering from this issue since I installed Blender. I don't think it's a version / update issue.
I'm currently running Blender 3.3 on macOS.
Thanks!

You can't "do other things in the software" (assuming you mean in Blender itself) while Blender is rendering a scene. Ctrl-Z (undo) or Esc will cancel the render if the Blender executable has the focus.

I think John Eason is right, sounds like it's working as intended. You could work around this by opening up another window of Blender and working on your file in there? If you do, be careful with what you save and don't save.

I don't know anything about Macs, but you can certainly open another instance of Blender under Windows. However you wouldn't be able to work on the same file while rendering it in the other instance of course.

Then just work on a copy of the file.

Hey, thanks for your answers.
I can "do other things in the software", it works well, I can't just undo one of them while a render is ongoing.
Isn't it essential to be able to continue to work while waiting for a long render?
For me, seems like most of the render-based software has this ability..!

Yes and no. Many DCC softwares actually have quite a disconnection with the renderer. Some even prevent you from working on the same file currently being used for rendering. The main issue being that having it change while rendering can cause unexpected results or crashes. In production, the rendering process is most often done on a separate file, and on a separate machine. To avoid conflicts, among other things.

Sure, I understand. But in that case, what seems kind of weird with Blender is that you CAN work in the file, save it, make edits... while a render is going.
Just the "undo" action is attributed to the current rendering process, which I find kind of weird and useless, because the rest of the software keeps the "focus" on the usual actions.
Would be great to be able to just unlink the "undo" from the "render" process.

Try posting it as a feature proposal on Right-Click Select. If it was up to me, Blender shouldn't allow to work on the render file at all. It should either block the UI while rendering (with the added benefit of better render times), or completely dissociate the rendering from the current open session (not just Ctrl Z, Esc too). Could be an option. Could also be tied to whether you chose to output the render in a new window or not. Anyway that gets out of topic on BSE x)


text:
Lights cut off abruptly in render - Blender 3.3.1
I'm experiencing an issue with the lights in my scene. I'm attempting to make a lit up chess board with glass pieces. Everything looks alright in the viewport with the pieces completely lit up.

However, when I try to render an image there's a clear line at the top of the image (around file A) where the light ends abruptly.

I'm currently using cycles with 4096 samples and I've increased the max bounces under light paths. I've tried multiple camera angles and a similar issue appears in all of them. The scale of the objects is close to real life size. I've also tried adjusting the size and strength of the lights but it only seems to make a difference to the lights closer to the camera.
Render from another angle.

Thank you for your time and assistance!

Since it seems to be an issue of tower and not spawn figure - ry to render without checkerboard it can be an optical thing (but is should be in preview too) ... or disable Denoise from render if make any difference ... usually it can be Light path issue, but since there is not a different setup for Viewport/Rendrer it is doesn't seem to be the case too.

As vklidu suggested I turned off the board and the lights on the pieces seemed to render properly. I was able to get a passable result by rendering the board, table, and lights on one view layer and just the pieces and lights on another view layer.

Great you found a way, but lights doesn't look the same (especially at bottom of figures) and doesn't explains the issue. If you are OK with that - fine. If you want to know is going on share your blend https://blend-exchange.com


text:
Rendering bottle/liquid
I am fairly new to Blender and am only using it to create a mockup of a bottle and label for a university project.
Now I followed a lot of tutorials and am done with my bottle, yet when I render it, the result turns out to be not only very low quality and pixelated, but the liquid inside the bottle shows these weird lines. I used modifiers to smooth everything out but it still shows up like this ..
Does anyone know some kind of solution?
Thanks in advance!

Welcome to Blender Stackexchange :) It's hard to say what exactly is going wrong. Could you upload your .blend file to https://blend-exchange.com so people can have a look?

When surfaces overlap, it causes glitchy results in cycles. Make sure there's an air gap between the back of the glass and the liquid inside


text:
Align Cursor/Origins to a smooth corner
So anyone know how I can align the origin/Curso so that it hist the point this two vert meet?

If you set Header > Options to 'Origins' in Object mode, all the usual snapping and transform constraints are available, as if the origin was any other object.

Here, Snap set to 'Vertex' and 'Active' , G snapping to a vertex on one edge, and then GX snapping to the X of the other edge.
If the edges are not conveniently aligned to World or Local X,Y or Z, you might have to create a Custom Transform Orientation from the first edge, and then GY in that orientation to snap in line, to the second edge.

A quick method which will only work if your edges are along the axis as they are in your image and the object is not rotated.
On the N panel, click the View tab then Shift-click on the 3D Cursor header to pin it to the panel:

Now select one of the edges and use Shift-S > Cursor to Selected to move the cursor to that edge:

Select the other edge and open the Item tab on the N panel. Ctrl-C copy the X position from the Transform Median entry and Ctrl-V paste it into the 3D Cursor X position location.

Job done!

In Edit Mode, select and duplicate the edges that are not bevelled. Press  P  to separate them from the original object if necessary.

Then go up to auto merge vertices and click that on.

Also check "split edges" from the options menu.

In edit mode, drag the end points to their intersection point.  Press G then  X  (or Y) to snap the move along an axis.

Select the new vertex. Press  shift+s and choose cursor to selected to move the cursor to the point.
Approach 2
You can make corners using the  "Tiny CAD" add-on.  It comes with Blender.  In Edit Mode, select two edges and  right click and  choose Tiny CAD> X-auto.  It will create corners.  You can select the vert and move the 3d cursor/origin to that point.

How do i do the 4th step? Dragging them together? is there a way to make them move to different directions? Since anything i do try i can seem to make them to move an the same time. unless you mean to move them separately

I did it separately, but locked them along an axis.  I have edited my answer.


text:
Why can't I render 16K? (Cycles crash)
I'm trying to render an image at 16K resolution (15360 × 8640) but Blender (version 2.81) keeps crashing after rendering a few tiles. 4K animation (over 5 hours rendering) and 8K static images render just fine without crashes.
Both CPU and GPU render mode has the same behavior (I'm in supported feature set). I thought it was maybe a ram problem but the scene is about 3gb and I have 32GB of RAM installed.
Does anyone have a clue what the problem might be?

Suggest try rendering to exr, enable save buffers and use the command line: https://blender.stackexchange.com/a/16261/3710

@p2or thank you that actually worked for me!

Glad I could help @systemprintln

I'll have the same problem with a small 200mb scene. If I use more than, say 200 samples, then the scene will crash. If it actually was a memory problem, then Blender would give you the error: Out of memory. A few things I have uncovered that help me with this is using less samples, denoising, and using smaller size tiles for rendering. (CPU). Using larger tiles for your GPU may also work. Blender will also crash if your CPU is slower than the minimum speed for processing a huge render. One last thing that might help is to use more CPU threads. More threads will use more of the CPU, so that more of the CPU is used for rendering. This may help Blender to not crash. I compared rendering a scene on one thread as opposed to 250, and there was a big difference. The downside to using more threads is that the rest of your computer may run slower. These are just some options for rendering, but I hope at least a few help.


text:
How to stop IK rotation bending Bones or Mesh
When I enabled the rotation under IK, the bone with IK constraint was bent 90 degrees. I rotated the empty to fix the bend. Why did it automatically do this?

Because it's trying to match the axes of your IK constrained bone to those of the target-- pointing its Y axis, its tail, in the same direction as the empty's Y axis, and it's Z axis in the same direction as the empty's Z axis.

@Nathan Hi, thanks for your comment. Do you know how to fix it? My temporary solution is to rotate the empty 90 degrees to make objects straight. However, I do not know if this will cause any potential issues in the later rig process. Please advise. I am new to rig characters. Thanks again!

Rotating the empty is the right solution.  If you want to enable IK rotation, that is; however, I don't recommend using IK rotation.

@Nathan May I know why it is not a good idea to use IK rotation? What is your suggestion?

I don't think that's a question I can address in comments, and this particular question isn't about that-- you might consider asking a new question for that.  I would ask a question like, "I want this behavior from my armature.  Is rotation IK a good solution?  What other solutions exist to this problem, and what are the benefits/drawbacks?"  It's not that enabling rotation is useless, it's just usually not a good idea, for the things many people want it to do.


text:
Transfer Blend files into a different location: How to avoid missing files/textures/etc?
I need to reorganise my blender folder and move it to another PC and I am afraid that i might lose some linked texture/image sequences/etc that are used in the .blend files.
What should i do to avoid that?

Pack all data into the blend files
Make all paths relative

?
thank you for your help.

you can open your file and go to data->save as. there you can save your file in your new folder structure and set the link paths, so the links should work though.
at least i used to do this, when i have to move files with linked content.

https://blender.stackexchange.com/questions/82963/how-do-you-share-a-blender-file/82965#82965 and https://blender.stackexchange.com/questions/63251/packing-image-and-movie-strips/63253#63253


text:
Plane is not smooth when I render at 400 sample
I added a colored plane below the orange terrain,the plane look weird when I rendered it. I was expecting a smooth surface without weird black lines or dots

How can I solve this please?

Are you sure there is only one plane? Looks like there is some Z fighting?

It does look like z-fighting (when two planes are overlapping or very close to each other). Is the relief map using an alpha channel on a the edges? To fix this try separating the background plane a bit, or adjust the clipping distance on the camera so that there is better precision on the depth buffer.

Thanks Carlo and susu, you are absolutely right. there  are two planes overlapped and very close. So how can I  solve the issue?

How can I separate the lower plan from the upper plane?

You are dealing with Coplanar faces, or surfaces that are parallel and/or overlap.
They should be separated; otherwise you are going to get Z-fighting errors, Where the render engine cannot discern what is in front and what is behind and randomly renders one or the other.

Like in the real world two surfaces cannot share the same space.
If the planes are coplanar and slightly separated, but not enough for the render engine to pick up the difference, then you are dealing with precision on the depth buffer, to fix that you need to adjust the clip distance of the camera (and the viewport) so that the depth of the buffer encompasses your scene and nothing else. In other words the close clipping distance should start at the distance from the camera to the first point in the geometry, and the end of the clip distance should be at the farthest point of the objects not any further.
Use the viewport display>show limits option to visualize the clip range.


text:
What is the proper workflow to model this shape?
I would like to make this shape here in blender with the Subdivision Modifier but I'm not able to make it even with rings.
It is a hard cutted shape along a curved one and I bet it's using Subdivision surface modifier. Here I'm also using a Solidify modifier to make it thicker.

Image credits: Nike - Arezoo from Dibbble
Cross-posted from BlenderArtists


text:
Holes in My Mesh
So I have this bear mesh I made. Set up the armature and weights. Now I'm realizing that if I move the bones in certain ways these holes open up. How do I close these up? I don't know if it's related but I used a mirror modifier.

In edit mode select all and press W and choose Remove Doubles. It should fix the problem. If not, try it again, but increase Merge Distance.
In your particular example, when the mirror modifier is not yet applied you have to enable Clipping in mirror modifier, select middle edge loop and move it towards the center of the mesh on Y axis until you won't be able to move it anymore.It will fix the problem.

Hey man. Thanks for responding. I actually already tried removing doubles and I just tried merge distance but I don't really know how high to go with it. When i raise it the holes get bigger. I also uploaded the blend file

Hey, I tried the clipping and moving the edges and it worked. I'm actually not sure what middle edge select is, but I used shift+w to move the edges together

middle edge loop is an edge loop, that's in the middle of the mesh(including mirror reflection) and select is just select.

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


text:
Connect Hip Bone to the Tail of Backbone
Hi so I know how to connect bones but in this case I'm not sure how to get it working. I want to be able to be able to drag the whole mesh along an axis, but can't because the hips are not connected to the backbone. The armature kind of splits up. I want to parent both hip bones to the end of the backbone. If I try parenting the child bone the regular way, I get what is shown in the picture below. Anyone know how to solve this?
File Link:

A child bone does not have to be directly connected to it's parent. See the "connected" property under bone relations.

Like Sambler eluded to, parent the hip bones to the backbone without being connected.  This is also known as 'Keep Offset'.

Get into Bone Edit mode.
Select Hip_L/Hip_R bone.
Select Backbone.
Hit Ctrl+P and from the menu select Keep Offset.

Here's the result of the above steps, repeated for both hips.

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


text:
Keyframes Not Showing in Dope Sheet
I'm trying to make a simple walk cycle. I've moved the armature to a position I want. I opened the dope sheet, then the action editor, changed the name and saved it, selected LotRot, selected the whole armature in pose mode and hit 'I' in the dope sheet. I get a selection of 'All Channels', 'Selected Channels' and 'In Active Group'. I've tried all of them and I'm not getting any keyframes.
What am I missing?
Blend File:

The 'I' in the dopesheet only adds new keyframes to values that have already been keyed. Start by adding keyframes in the 3DView.

Yup that was it.

If you press I over the 3D window and choose LocRot from the drop-down menu, the keyframe pop up immediately for the selected bone. Perhaps you were pushing I while your mouse was in another window?
I see you have changed LocRot in the automatic record field, which will do nothing unless you activate it by pushing the red button. After activation move bones to your hearts content. Despite the auto-function - general practise is to select you bones in the 3D window and manually set the first keyframes as described above. If you wish to do automatic key framing, understand it will record everything including your mistakes. Advise tuning that off unless you specifically need it.

Yup. I had actually made a walking animation a while ago and forgot about that small detail. Thanks.


text:
Can't Subtract Paint From Part of Mesh
Hey I have a mesh of a deer. I'm currently weight painting it. As you can see from the images below, if I select the left leg there is some paint on the right leg, which means when the left leg moves, a piece of the right leg moves too. If I try subtracting it off with the brush, all that happens is paint from the left leg gets subtracted and the right leg paint remains. I don't have x mirror on either.
Blend File:
How can I remove the paint from the right leg?

Apparently this happens when you start building your mesh with a mirror modifier and forget to apply the modifier BEFORE applying the armature to the mesh. Just go back to the point before applying the mesh, apply mirror modifier so you have only on mesh and try again.

Ahhhh ok. I'll try this if I run into the issue again, Wasn't expecting anyone to reply to this after so much time haha

authors: Роман Харисов


text:
How do i extrude "screws" from my model
I'm making a simple gun model made of mostly cubes but the reference image contains a lot of "screw" extrusions that makes my model look incomplete. Is it possible to do it without individually modelling the screws and placing? If so, how? I cant provide image of my model but imagine it as the reference without the screws.

If you can provide images of your reference, and your model that'd be helpful.

While it is possible to make a round peg fit a square hole in Blender, that's generally more difficult than it's worth.
If you search "Cutting round holes Blender," there are some good resources out there for how to make a round element match up with a square element.
However, it's usually much more convenient to just model the greeble separately. Unless you have some specific reason that it has to be attached, I'd highly recommend this method. Keep in mind that you don't need to model a whole screw. You don't even have to model the whole head of the screw. You only need to model the part that will be seen, which is a tiny sliver of a disk with a slit in it.
If you're wanting to model any part of the hole or dent that the screw goes into on the weapon, it might be enough to just subdivide that area and "push" it in a little. If you want something more than that, a Boolean modifier would be a great way to cut out the part of the hole that you're interested in seeing.
I'll try to upload some images later today, if that helps.

Thanks for the quick answer! I think i get what you mean. I just thought if there was any way then i could extrude it inwards as well which would be useful too.

I'll add some to my answer...

If the final model is going to be used in a game it depends on how many polygons your final model should have. For modern game engines I'd go for a little more than just some cubes. For Unity, UE4 and even Leadwerks I'd go for at least 500.
While you should definitely take a look at the looptools addon for modeling in general, I'd go with Matt's approach and model the screws from separate meshes. It's easier and it definitely saves polygons in areas where they won't be necessary.

Might I ask why such a high polygon amount for modern game engines? Excuse me for my questions this only my  second project on blender :).

authors: Никита Сатаров


text:
Remove drop shadow from label?
I'm completely new to blender, I'm trying to create a simple label for a product as an exercise.

When I use the shrinkwrap modifier to the face of the object in Cycles I get a drop shadow that doesn't appear in Eevee.
I have tried UV Unwrapping as well, and I get the same result.
Q: Is there an easy way to remove this shadow for the label?

There is a problem when you add two surfaces on top of each other. It is called Z-fighting. Read https://blender.stackexchange.com/questions/155086/what-causes-striped-visual-artifacts-in-models/155089#155089. instead of adding a new mehs on top the other use Textures and masks, as sugested below.

The more direct fix is to make your outer material have a mask between the metallic label, and the glass or whatever sub-material it lays upon. This also lets you skip the Shrinkwrap modifier because it uses the UV coordinates to wrap the texture around the object.
For example:
This will blend the Metallic and Color Principled shaders depending on the strength of your mask. In my case, I had a zig zag pattern lying around:

This way you have less geometry, you have very sharp control over the position & pattern using the same image texture as before, and you can make changes on the same material graph.

The easy fix:

Do that for your logo. However you should really consider rendering out your logo and use it as a texture on the bottle, you'll have fewer polies and less problems.
The reason this didn't happen in Eevee btw.: Eevees shadows are less precise and only get casted from lamps, not environment or bounced light. They either weren't created or so small that they disappeared.

i did try this unclicking this box and it made no difference to the render
however i will look at adding as a texture. Many thanks for taking the time to reply
mike

thanks this worked - the issue was caused by the inner liquids IOR setting being too high
appreciate your input Frederik


text:
Merge by distance messes up shading?
I have recently encountered the following problem: I am importing a model from WOW Model Viewer, but it is imported in such a way that faces are not connected, so in order to rig and animate it properly, I have to use Merge by Distance to prevent "...bone heat weighting ..." Error. However, this messes up the shading for whatever reason.
Model before merge by distance:

Model after merge by distance:

Q: How can I get my model shaded as it was originally?

So the problem wasn't in the "Merge by distance", but rather because after I imported the model all edges were marked as sharp and I cleared them. If I don't clear them everything works fine. So to anyone having the same problem leave the edges marked as sharp.


text:
Why two objects behave like one?
After a boolean operation, I had a quite "broken" object, reverse sides which weren't fixed by "fix normals" etc. I decided to create a fresh object, in a hope that it will turn out better this time (the cube to the left). But these two objects are somewhat linked.
For example, why selecting one of these objects selects also the other one? Why there is only one "Cube" in the menu?

You added the new cube while still in Edit Mode.
So both meshes are now part of one object - as shown in the Outliner.
You can easily split them into separate objects through
Mesh > Separate > By Loose Parts


text:
Vertex won't move
When I unwrap my UV map, I always have two vertices that won't move with the rest of their parts. How can I fix this? Below is a picture of one.
I have already turned off UV sync selection and disabled sticky selection mode.

Hi, please help me understand your problem. You have an unwrapped UV-map as seen in the picture. I see 4 selected vertices. So when you move these vertices, the other vertices don't move. Is this correct?

Or when you select everything by pressing 'A', those specific vertices don't move?

The thing is; I selected only one vertex. However, it seems to be attached or shared with the other parts where it is also lightened up, making it impossible to change the shape of each part. Hope this is clear :)


text:
Blender's Simple Operator Example not working
I am just learning programming and am having difficulty running this example code from Blender's official python documentation on the quick start page: https://docs.blender.org/api/2.93/info_quickstart.html
It said to copy and paste what is show below, but the last sends an error message in the system console for the last line( the test call). If I comment it out, no error is sent, but no operator is shown in the 3D viewport's F3 search menu when I type in "simple".
This is the error message in the system console:
Traceback (most recent call last):
  File "C:\Users\north\Downloads\scripting for artists.blend\Text", line 35, in <module>
  File "C:\Program Files\Blender Foundation\Blender 2.93\2.93\scripts\modules\bpy\ops.py", line 132, in __call__
    ret = _op_call(self.idname_py(), None, kw)
RuntimeError: Operator bpy.ops.object.simple_operator.poll() failed, context is incorrect
Error: Python script failed, check the message in the system console

I am using Blender version 2.93.0
Python:
import bpy

def main(context):
    for ob in context.scene.objects:
        print(ob)

class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

    @classmethod
    def poll(cls, context):
        return context.active_object is not None

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

def register():
    bpy.utils.register_class(SimpleOperator)

def unregister():
    bpy.utils.unregister_class(SimpleOperator)

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.object.simple_operator()

consider posting the error message.

Thanks. Just added the error message.

As the message suggests: your poll method failed, one object needs to be active in order to run the operator, related: https://blender.stackexchange.com/questions/19416/what-do-operator-methods-do-poll-invoke-execute-draw-modal If you want to run the operator without having one object active, just remove the poll method.

Thanks. I have now tried running the script with a selected object, but an operator still isn't showing up when I search simple in the F3 menu.

Can not confirm: https://i.sstatic.net/nt4cT.png

I tried running in a new file and in this. The operator still isn't showing up. https://pasteboard.co/KeNOrAh.png. My mouse is in the 3D viewport when I search.

It does show up in the console when I look at the autofill options, but not in my 3D viewport search.

Try to enable Developer Extras (Edit > Preferences > Interface).

That did it! Thanks so much.


text:
2.91 Python API No change after applying boolean modifier operator
How do I 'Apply' the Boolean Difference operation? I've written some Python that creates a hollow object visually, but in fact is not hollow. Visually I get the right thing:

Exporting to STL still has both objects (not an empty shell). I can manually complete the application of the Boolean operation by "Applying"

and deleting the inner object. Then the export to STL file is correct.
Here is the code I wrote, can someone let me know what calls I can make to apply the boolean modifier action and delete the object I used to cut into the other object with?
import sys
import bpy
D = bpy.data
C = bpy.context
from mathutils import *
import math
bpy.app.debug=True

########################################################################
# Stitch together vertices to create a face in the arc
def face(column, row, columns, rows):
   v3 = ((column + 1) * rows) + row
   v3 = (((v3 // 4) * 4) + (v3 + 1) % 4)
   v4 = (column * rows + 1) + row
   v4a =  (((v4 // 4) * 4) + (v4) % 4)
   if v4a == v3:
      v4 = v4a - 4
   return (column* rows + row,
           (column + 1) * rows + row,
           v3,
           v4)

########################################################################
# Create an arc, start and eng angle, a scale to convert units, inner/outer size, height and the number of segments
def arc_segment(nme, start_ang, end_ang, scale, outer_size, inner_size, height, segs):
   # Assuming arguments are in centimeters and in degrees, adjust o meters and radians.
   # Change from degrees to radians
   start_ang = (math.tau / 360.0) * start_ang
   end_ang = (math.tau / 360.0) * end_ang
   if start_ang > end_ang:
      start_ang, end_ang = end_ang, start_ang

   # Change from meters (unit of measure in Blender) to centimeters
   outer_size = scale * outer_size
   inner_size = scale * inner_size

   # We're creating the arc, beginning with the newmericly smaller angle.
   if outer_size < inner_size:
      outer_size, inner_size = inner_size, outer_size

   # Arc will be created withe center at 0, 1/2 infront and 1/2 behing X/Y plane
   height = scale * height
   # Use z for "height", center is 0, so 1/2 height away (plus), and 1/2 height close (minus)
   p_height = (height * 0.5)
   m_height = (height * -0.5)

   # Think of the arc as a tube. This loop connects the faces to create the tube.
   verts = []
   for seg in range(0, segs + 1):
      verts.append((math.cos(start_ang + (end_ang - start_ang) * (seg / segs)) * inner_size,
                    math.sin(start_ang + (end_ang - start_ang) * (seg / segs)) * inner_size,    p_height))
      verts.append((math.cos(start_ang + (end_ang - start_ang) * (seg / segs)) * inner_size,
                    math.sin(start_ang + (end_ang - start_ang) * (seg / segs)) * inner_size,    m_height))
      verts.append((math.cos(start_ang + (end_ang - start_ang) * (seg / segs)) * outer_size,
                    math.sin(start_ang + (end_ang - start_ang) * (seg / segs)) * outer_size,    m_height))
      verts.append((math.cos(start_ang + (end_ang - start_ang) * (seg / segs)) * outer_size,
                    math.sin(start_ang + (end_ang - start_ang) * (seg / segs)) * outer_size,    p_height))

   sides = 4
   args = (segs, sides)
   faces = [face(x, y, segs, sides) for x in range(segs) for y in range(sides)]

   # Now cap the ends of the tube
   faces.append((0, 1, 2, 3))
   vbase = segs * sides
   faces.append((vbase + 3, vbase + 2, vbase + 1, vbase))

   # Create object, link it into the scene, make it 'active'.
   mesh_data = bpy.data.meshes.new(nme)
   mesh_data.from_pydata(verts, [], faces)
   mesh_data.update() # (calc_edges=True) not needed here

   cube_object = bpy.data.objects.new(nme, mesh_data)

   scene = bpy.context.scene
   bpy.context.collection.objects.link(cube_object)
   cube_object.select_set(state=True)

########################################################################
# Solids modeling (CSG) take away coliding parts of one shape from another.
def csg(prim, cut, new_name, objects, operation):
   o_prim = objects[prim]
   o_cut = objects[cut]
   cut_work = o_prim.modifiers.new(type="BOOLEAN", name=new_name)
   cut_work.object = o_cut
   cut_work.operation = 'DIFFERENCE'
   o_cut.hide_set(True)                 # Hidden--But will still exist in an STL export.
   # --  --  --  --  --  --  --  --  --  --  --  --  --
   # What calls do I add here to "apply" the "difference" and delete the o_cut object?

   # --  --  --  --  --  --  --  --  --  --  --  --  --

########################################################################
#
objects = bpy.data.objects
set_scale = 2.54 * 2
#
# Create some arcs
arc_segment("big_display_hull", 5.0, 90.0, set_scale, 11.5, 8.0, 4.5, 34)
arc_segment("big_hollow_hull", 6.5, 88.5, set_scale, 11.6, 7.7, 4.1, 34)

csg("big_display_hull", "big_hollow_hull", "o1", objects, 'DIFFERENCE')

arc_segment("attach_hulls",        360 + 110, 360 - 110.0, set_scale, 9.0, 8.0, 4.9, 120)
arc_segment("attach_hollow_hulls", 360 + 113, 360 - 113.0, set_scale, 9.2, 7.9, 4.1, 120)
csg("attach_hulls", "attach_hollow_hulls", "o3", objects, 'DIFFERENCE')

arc_segment("small_display_hull", 360 - 10, 360 - 65, set_scale, 11.5, 8.0, 4.5, 22)
arc_segment("small_hollow_hull", 360 - 11.5, 360 - 63.5, set_scale, 11.6, 7.7, 4.1, 22)
csg("small_display_hull", "small_hollow_hull", "o3", objects, 'DIFFERENCE')

I did try a suggested solution Scripting:How to correctly add a boolean modifer to an object? , after fixing a "'apply_as' unrecognized" issue, it ran. However I see that the boolean is still not applied. Given that blender 2.90.1 is so different than v 2.79, can someone post a complete python Boolean (CSG) example where the resulting meshes are the 'finished' objects? -- Also, I saw that 2.91 (beta) has something called 'exact solver', could someone post similar code to use the "exact solver"?

Hi and welcome! I think that's well explained in the linked answer. If you run into other issues, just let us know.

Tried the referenced, but after fixing "'apply_as' unrecognized" issue, I see that the boolean is still not applied. given that 2.90.1 is so different, can someone post a complete python Boolean (CSG) example where the model only has the 'finished' objects?
Also, I saw that 2.91 (beta) has something called 'exact solver', could someone post the code to use the "exact solver"?

Very borderline, have re-opened and answered.  Main issue was assigning an active object for the operator.

Turn on developer extras / use autocomplete in the console.

Please use 4 space indent (not 3).

As noted the apply modifier no longer has an "apply_as" property.

For the exact solver set the solver attribute to exact, which is
the default value anyway. Turn on developer extras in user prefs to get a tooltip displaying this, or use auto-complete in the console.
 >>> C.object.modifiers['o1']
 bpy.data.objects['big_display_hull'].modifiers["o1"]

 >>> C.object.modifiers['o1'].solver
 'EXACT'

 >>> C.object.modifiers['o1'].solver = 'FOO'
 Traceback (most recent call last):
   File "<blender_console>", line 1, in <module>
 TypeError: bpy_struct: item.attr = val: enum "FOO" not found in ('FAST', 'EXACT')

Operators work on the active and selected object(s). Have overridden
the operator such that the active object is the prim. Can set the active object with context.view_layer.objects.active = ob (You were only selecting)

The apply modifier operator will fail silently, test run active object has no modifiers
 >>> bpy.ops.object.modifier_apply()
 {'CANCELLED'}

Remove any object with bpy.data.objects.remove(ob) This has been well documented and answered here

Changes for 2.91 using exact solver. There is no need to set as it is the default when modifier added
def csg(prim, cut, new_name, objects, operation):
   o_prim = objects[prim]
   o_cut = objects[cut]
   cut_work = o_prim.modifiers.new(type="BOOLEAN", name=new_name)
   cut_work.object = o_cut
   cut_work.operation = 'DIFFERENCE'
   o_cut.hide_set(True)                 # Hidden--But will still exist in an STL export.
   # --  --  --  --  --  --  --  --  --  --  --  --  --
   # What calls do I add here to "apply" the "difference" and delete the o_cut object?
   #cut_work.solver = 'EXACT' # it's the default anyhow.
   bpy.ops.object.modifier_apply(
      {"object" : o_prim},
      modifier=cut_work.name,
      )
   # --  -

Result of running with changes above.

High orange area is z-fighting between "big display hull" and "attach hulls"

I'd love to know how to apply a collection to the modifier, now that's a thing in 2.92

I found out. operand_type="COLLECTION"

Got it!
The main goal is now solved: an STL file that looks the same as in Blender.  The corrected code is below.

The Boolean DIFFERENCE modifier runs successfully--Apparently it can "quietly" fail. <Any insight on getting more info on this?>
Once an object is used to cut away "material", the code deletes it successfully now.
Code now uses the implication that a modifier is created "as a child" of the currently active object

import sys
import bpy

D = bpy.data
C = bpy.context
from mathutils import *
import math

bpy.app.debug = True

########################################################################
# Stitch together vertices to create a face in the arc
def face(column, row, columns, rows):
    v3 = ((column + 1) * rows) + row
    v3 = ((v3 // 4) * 4) + (v3 + 1) % 4
    v4 = (column * rows + 1) + row
    v4a = ((v4 // 4) * 4) + (v4) % 4
    if v4a == v3:
        v4 = v4a - 4
    return (column * rows + row, (column + 1) * rows + row, v3, v4)

########################################################################
# Create an arc, start and eng angle, a scale to convert units, inner/outer size, height and the number of segments
def arc_segment(nme, start_ang, end_ang, scale, outer_size, inner_size, height, segs):
    # Assuming arguments are in centimeters and in degrees, adjust o meters and radians.
    # Change from degrees to radians
    start_ang = (math.tau / 360.0) * start_ang
    end_ang = (math.tau / 360.0) * end_ang
    if start_ang > end_ang:
        start_ang, end_ang = end_ang, start_ang

    # Change from meters (unit of measure in Blender) to centimeters
    outer_size = scale * outer_size
    inner_size = scale * inner_size

    # We're creating the arc, beginning with the newmericly smaller angle.
    if outer_size < inner_size:
        outer_size, inner_size = inner_size, outer_size

    # Arc will be created withe center at 0, 1/2 infront and 1/2 behing X/Y plane
    height = scale * height
    # Use z for "height", center is 0, so 1/2 height away (plus), and 1/2 height close (minus)
    p_height = height * 0.5
    m_height = height * -0.5

    # Think of the arc as a tube. This loop connects the faces to create the tube.
    verts = []
    for seg in range(0, segs + 1):
        verts.append(
            (
                math.cos(start_ang + (end_ang - start_ang) * (seg / segs)) * inner_size,
                math.sin(start_ang + (end_ang - start_ang) * (seg / segs)) * inner_size,
                p_height,
            )
        )
        verts.append(
            (
                math.cos(start_ang + (end_ang - start_ang) * (seg / segs)) * inner_size,
                math.sin(start_ang + (end_ang - start_ang) * (seg / segs)) * inner_size,
                m_height,
            )
        )
        verts.append(
            (
                math.cos(start_ang + (end_ang - start_ang) * (seg / segs)) * outer_size,
                math.sin(start_ang + (end_ang - start_ang) * (seg / segs)) * outer_size,
                m_height,
            )
        )
        verts.append(
            (
                math.cos(start_ang + (end_ang - start_ang) * (seg / segs)) * outer_size,
                math.sin(start_ang + (end_ang - start_ang) * (seg / segs)) * outer_size,
                p_height,
            )
        )

    sides = 4
    args = (segs, sides)
    faces = [face(x, y, segs, sides) for x in range(segs) for y in range(sides)]

    # Now cap the ends of the tube
    faces.append((0, 1, 2, 3))
    vbase = segs * sides
    faces.append((vbase + 3, vbase + 2, vbase + 1, vbase))

    # Create object, link it into the scene, make it 'active'.
    mesh_data = bpy.data.meshes.new(nme)
    mesh_data.from_pydata(verts, [], faces)
    mesh_data.update()  # (calc_edges=True) not needed here

    cube_object = bpy.data.objects.new(nme, mesh_data)

    scene = bpy.context.scene
    bpy.context.collection.objects.link(cube_object)
    cube_object.select_set(state=True)

########################################################################
# Solids modeling (CSG) take away coliding parts of one shape from another.
# The main corrections (the "answer") are in this method here:
#
def csg(prim, cut, new_name, objects, operation):
    o_prim = objects[prim]
    o_cut = objects[cut]
    bpy.context.view_layer.objects.active = o_prim   #Setting the primary object as active.
    cut_work = o_prim.modifiers.new(type="BOOLEAN", name=new_name)
    cut_work.object = o_cut
    cut_work.operation = "DIFFERENCE"
    o_cut.hide_set(True)  # Hidden--But will still exist in an STL export.
    rs = bpy.ops.object.modifier_apply({"object": cut_work.object}, modifier=cut_work.name)
    print(rs)   # If this quietly fails, this prints {'CANCELLED'}. How can one know what to fix? Maybe logs or something that can be looked at to find out why?

########################################################################
#
objects = bpy.data.objects
set_scale = 2.54 * 2
#
# Create some arcs
arc_segment("big_display_hull", 5.0, 90.0, set_scale, 11.5, 8.0, 4.5, 34)
arc_segment("big_hollow_hull", 6.5, 88.5, set_scale, 11.6, 7.7, 4.1, 34)

csg("big_display_hull", "big_hollow_hull", "o1", objects, "DIFFERENCE")

arc_segment("attach_hulls", 360 + 110, 360 - 110.0, set_scale, 9.0, 8.0, 4.9, 120)
arc_segment(
    "attach_hollow_hulls", 360 + 113, 360 - 113.0, set_scale, 9.2, 7.9, 4.1, 120
)
csg("attach_hulls", "attach_hollow_hulls", "o2", objects, "DIFFERENCE")

arc_segment("small_display_hull", 360 - 10, 360 - 65, set_scale, 11.5, 8.0, 4.5, 22)
arc_segment("small_hollow_hull", 360 - 11.5, 360 - 63.5, set_scale, 11.6, 7.7, 4.1, 22)
csg("small_display_hull", "small_hollow_hull", "o3", objects, "DIFFERENCE")

```

Thanks to all who helped me connect the dots :-)


text:
Connecting Vertices
What is the correct option and procedure to connect 2 vertices and thus obtaining an edge line between them?
Here is a photo of what I am modeling in the hopes to obtain a base for the modeling of this crossguard end.

As you can see when I click vertex/connect vertex path or connect vertex pairs, blender gives me an invalid selection.
When I click vertex/new edge line from vertices a line connect the vertices but it does not appear to be a solid line on which I can work and I do not know its proper function.
Again thanks for any help in advance.

Hello :). To connect two free floating vertices press F. To connect vertices across a polygon press J. To connect two edge loops go to Edge->Bridge edge loops. Don't worry, we've all been there :).

I don't think you can connect them all at once though, you'd better re-extrude from the faces

Here is an answer covering the basics:
1) Connecting free floating vertices
Vertex->New edge/Face from vertices
Shortcut: F

2) Connecting vertices across a face
Vertex->Connect vertex path
Shortcut: J

3) Conecting two edge loops
Edge->Bridge edge loops
Note: Your loops need to be a part of one object.

THANKS very much for this basic lesson. Thanks to you I have managed not only to connect the vertices I showed but to build the whole skeleton section of the referred crossguard edge.  Thanks again.

@ronin074 Happy to help :).  You can now mark the question as answered.


text:
Python scripting, shows 'nonetype' error for modifier
import bpy

def main(context):
    bpy.ops.mesh.primitive_uv_sphere_add(enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))
    bpy.ops.object.modifier_add(type='ARRAY')
    bpy.context.object.modifiers["Array"].relative_offset_displace[0] = 10

    bpy.context.object.modifiers["Array"].count = 4
    bpy.ops.object.modifier_add(type='ARRAY')
    bpy.context.object.modifiers["Array.001"].relative_offset_displace[1] = 2
    bpy.context.object.modifiers["Array.001"].relative_offset_displace[0] = 0

    bpy.context.object.modifiers["Array.001"].count = 4

class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Simple Object Operator"

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

I want to add sphere and array modifier, error at line 10

Recommend  mod = ob.modifiers.new(name, type)  example https://blender.stackexchange.com/a/125098/15543  Then there is no need to guess at the modifiers name.  (if using op will be last one added if successful. new_mod = ob.modifiers[-1])

sry I don't understand, elaborate pls


text:
How to change move cursor location when in edit mode
So I want to move 2 vetext at the same time but i want to use snap mode and move them based on the location of one of the vertex. How do I change the move cursor?
So this for example. What if i want to move it in abolute grid to make sure it matches but i want to make sure the move cursor is on the corner that is on the gird.

Is there a way to do that?
(This questions also works if i want to move an edge or a face in absolute gird snap mode based on a specific vertex)

NVM I FINALLY FOUND A GOOD VIDOE ON IT
https://www.youtube.com/watch?v=clcyYUM29bQ
here is the link i am so happy to have found this
Dont know if there is a way to make the cursor follow the edge or vertex you made as the pivot point when you move it


text:
How to match Maya Units to blender units
So am trying to match my blender Grid I had in maya while in uni but am struggling to do so and thus it make it hard to work with the modular tool kit i had made in maya anyway i can match them up?
here is what i used to have in maya, thought it might have been 10000 and 100 instead. either or i would like to match blender with this maya units

Without knowing what length each "unit" is in Maya, it's impossible to answer that question!

Maya's default is in centimeters, same as blender, unless you change that to other metric system

i know that it is in centimetres but the way you edit the units in maya is different to the way you do it in blender. all i remember is that the way it used to work was so that it matched unreals movement increments. so it would snap 5 by 5, 10 by 10 and so on. i guess the best way i can say is that one box should be 5by 5 unreal units


text:
How do you change local axis?
I am fresh off Maya and something I really liked about it was being able to change the local axis of an object to different parts of it. I really want to set the axis in one of my verts since the object is a wall that is supposed to connect with other wall pieces when placed in UE. Basically i want to move the axis from the middle of its body down to its far corner vertex. How do i do that?

Does this answer your question? Move cursor to center of some selected geometry/faces

You can move object's origin with all transform tools when you enable Affect Only: 'Origins' in (Object-Mode) Header > Options or Tool Properties tab in the Properties Editor:

This way you can transform the origin of object space and object space itself any way you wish using all transform functionality including snapping, numerical input and all other tricks you can think of.

(okay so I was given an answer that was half of what I wanted. So to make sure I get it and to make sure anyone with the same question gets it I will explain what I did). From what I can tell the best way to get this is to take the cursor and then whit Snap selected to Vertex you can move the cursor to the the vertex you want. From there all you gotta do is follow the instructions given by ppl on here Move cursor to center of some selected geometry/faces .
If that is the best version then thank you very much for the hint.

I think it's called "Pivot Point" in Maya, but it is "Origin" in Blender. "Pivot Point" in Blender defines the origin for transform operations while object space has origin that is a separate thing. I don't remember exactly how it is done in Maya, but you don't necessarily need to modify object space in order to change transform pivot or transform orientation in Blender.


text:
How to billboard game sprites based on camera angle?
So to keep things simple, here is a sphere with a blue and green line going through it for reference:

Here is a sprite sheet with roughly the same angles portraying the 3d sphere:

My question is, how do I change sprites based on the camera angle in the scene to match that of its 3d counterpart?
I have successfully learnt how to use the lock track object constraint, but how would I go about actually changing the sprites as well?
Here is my character front on with lock tracked object constraints for all the limbs.

But when I turn the camera i want his eyes to be facing forwards by using a different sprite (he shouldnt still be looking at the camera):

Any help would be much appreciated, thank you!


text:
Blender render output is completely white
In my layout view, everything looks perfectly fine, but when I hit F12 in Blender the render output is completely white:
Layout view:

Render View:

I tried some suggestions I found in other answers, but they were hard to follow due to being for older versions of blender, and finding the similar settings here was hard/had no effect.
How can I get Blender to render the output normally? I don't see any layers that should obstruct, and even when I disable everything all I get is white, I can't find an "ambient" light setting that might bleed over everything. I tried changing the settings of rendering to color, opacity etc.. but it had no discernable effect. I tried moving the camera, ensuring my item is in field. I tried hiding the plane layer to see if that caused issues, but nothing I did seemed to have an effect on the rendering.
I'm using blender 2.90.1

Your world shader is the culprit.
The Background Shader has a strength of 500!

Change that to a more sane value, and you will see results more like you would expect.

Ah... I guess I messed up trying to do stuff with settings. Thanks!

It happens! Glad to help :)

Thanks to your help I managed to get this beauty :-) https://i.imgur.com/76d0NOc.png


text:
How to use a background image in sculpting mode?
I know that you can use a background image in layout mode(?) with Shift + A and then do the modelling there (by setting the opacity lower and so on ..)
I was wondering if I could do a similar thing when sculpting so that I can sculpt the proportions 'better' by using the image ? I couldn't find a guide on the internet for this so here I am.

Go to the camera properties and choose the image background images option.

hmm i tried doing so, here are my results: imgur link
it shows the image when in camera view (numpad 0), but if i rotate the scene it doesn't anymore. is it meant to work like this ?


text:
When I Add A Color To An Object It's Always Transparent When Rendering
When I add a color to an object it's always transparent when rendering or gray in viewport shading tab.
What should I do?

one possibility is, that your alpha value is 0

I dont think just by adding color, something like this can happen. Please share your file via https://blend-exchange.giantcowfilms.com to let us see your file setup.

..Or its collection is set to 'Holdout'?

@Robin Betts The Outliner looks like the cube is not in a collection. But I guess you're right with the holdout, presumably Object Properties > Visibility > Holdout is enabled.

@GordonBrinkmann  .. ahh! well spotted! It's still only a 'maybe', I guess..

@Robin Betts Definitely maybe ;) It looks strange because the object holdout seems like the view is set to Film > Transparent, but what looks like the normal grey background is still there... maybe there's a plane behind the object blocking out the transparent background?

@GordonBrinkmann Indeed.. that's the only way I could reproduce this, when I tried it at home.. but couldn't turn that into a 'for sure' answer.

Yes, a blend file would be helpful. To reproduce it seems much easier to do on purpose than by mistake :D


text:
Bevel Modifier On A Solidified Plane Doesn't Work
To fix this I followed step by step the blender guru tutorial on how to make a chair, but I failed.
There's my object,

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

Apply all transforms before applying the solidify modifier


text:
Ivy gen addon creates round shapes
I was working on a scene but needed some quick realistic ivy. I heard good things about the ivy gen add-on so I tried it. I followed some tutorials but whenever I change the length or any settings of the ivy it turns into large spheres and round shapes.

Try setting Ivy Branch size to 0.001


text:
How to enable/disable or delete modifiers on multiple objects at the same time
I have downloaded a nice car model from the web.
But when I move it, some parts deform.
I found out that the cause is the "Shrinkwrap" modifier.
As there are many parts, I do not want to disable or delete it one by one.
Can I do it together?

This could be done with python so I added a python tag. Someone well versed in python should be able to write a short script that can batch disable and remove modifiers.

someone did.  That's would be the modifier tools addon I mentioned.

@Benus I think tags are not meant to reflect how the questions can be answered, but rather to define the global scope of the problem. Otherwise we could add the python tag to pretty much all questions since the python API can almost always be used to solve or help solve problems. (Just my opinion :) )

Modifier tools doesn't let you batch remove certain modifiers. I should've been more clear on that. And for the python tag, I added it as more of a call for help because batch removing modifiers could can be done with a script of some kind. If that was the wrong thing to do, then woopsies.

@Benus not a wrong thing, but I think I screwed up and re-deleted the tag. My pad.  Putting it back.

@MartyFouts  tags really shouldn't be added in accordance to possible solutions, but for the actual problem the OP is having. In this case, it is a modifier/ workflow question for the OP, not really a python question for them although very true could be answered with a python solution. hould not be retagged as such unless that is the answer the OP is looking for.

@Timaroberts good point.  Thanks for the explanation.

You could try selecting all objects then Alt+Left Click on the Show in Viewport and Show in Render buttons in the Shrinkwrap Modifiers.

This will work for toggling visibility but not for deleting modifiers.

Unfortunately, no. But Franson Wu did state "I do not want to disable or delete it one by one" so I assumed disabling would be alright for him.

I did it several times and done. that is, I select all, did it, and it remain some parts unchanged, then I did it again, thus after several times, it is done. thanks!

If disabling object mode visibility is sufficient, there is a built-in add-on Modifier Tools that you can enable.  Once it is enabled a new panel will show up in the modifier tab of the properties editor:

There isn't an equivalent command for disabling viewing in just edit mode or applying to the render, but it would not be difficult to add such commands using Python.
The Add-on also supports batch removing of all modifiers with the Delete All option; or applying them with the Apply All option.
Note: this is a toggle.  Hitting it when the view is disabled reenables it.  Also, you can apply it to multiple objects at once by selecting all of the objects and clicking the button while holding Alt


text:
Alt + Z shortcut conflicts with Geforce Experience overlay
How do I make it so when I press ⌥ Alt + Z it actually works because when I do it, it doesn't work and instead, the Geforce Experience overlay pops up.

You need to open the Nvidia control panel and disable the overlay.
Steps from  a web search

Right click on the Nvidia system tray icon and select NVIDIA GeForce Experience.
Log into your NVIDIA account.
Click the Settings icon (gear) on top right.
In the GENERAL tab, turn off IN-GAME OVERLAY and exit.

Add a screenshot of the panel for clarity.

The problem is I only want to disable it for Blender.

This is an old question, but for posterity: https://www.reddit.com/r/GeForceExperience/comments/khegza/how_to_tell_geforceexperience_that_zoom_is_not_a/ggr3k6n/

If you want to keep the overlay enabled, it's a better option to change the keybinding itself. I know this isn't as good as disabling it only for a certain program, but at least you can set and forget.

Open the overlay panel with Alt+Z
Click the gear settings icon
Click on Keyboard Shortcuts
Change your shortcut to a different binding so it doesn't conflict with Blender (I used Alt+X)


text:
Importing model with transparent vertex colors not working
I'm trying to import a 3d mesh I generated in another program to blender which uses vertex colors, but the transparent areas always look opaque. I've tried changing the material blend mode, viewport display color, and the alpha slider, but nothing has worked. Also, the mesh is darker in blender for some reason. Any idea on how I can get this to work?
What it's supposed to look like

What it looks like in blender

What do your shader nodes look like?

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.

to be more specific, when the mesh is not in blender, parts of it are transparent. when it is imported into blender, it is no longer transparent.


text:
Remaking an ambient "glitter" like effect
I am modeling some low poly mushrooms in a cave like area, and I would like to add something like these ambient "glitter" things seen in the image below. (they are probably light reflecting in spores or something.)

I think it would be the handiest to add this while rendering randomly but I don't know. Does someone maybe know a way to do this?

It looks like Bokeh ... defocused particles ... just add some particle system and for Camera enable Depth of Field ...

You can defocus in postproduction (after rendering), but you would have to render a Z-pass (Depth) separately or into OpenEXR Multilayered file format.

Thanks for the awnser , i will try this when i have time


text:
Object are not in the correct orientation in the asset library. How do you change this?

Is there a way to edit the rotation of assets in the library so that when I drag them into the scene they will be in the correct orientation? I don't know why all of the objects are lying down.

You need to rotate them so the Z axis is up before marking them as assets

Your orientation is set to local. Set it to global and everyhing will be ok.


text:
Geometry Node - recursion
I'm a bit new on blender and I want to make a building but with random size.
The first try was to make a vertical grid with a random on "vectices Y" but this field dont accept random numbers.
The second try was to make it recursively : GN know how many stage left to do, it make a stage and if there is more to make, I call himself asking one less. Again, blender dont accept recursion ... Even with 2 same Geometry Node calling themself. WHY Blender ! Why :'( !
Did you have any idea how to make this ?
Thanks !

Thanks for the first answer.
I would like to generate a city with different buildings over a grid but with random size for each building.
In you first link (good link I keep it!), I see that I need an ID and that's the thing I was guessing a bit. But if I put one directly, all buildings are the same.
But considering the first grid, can we get a different ID for each point generated?

Hello and welcome to https://blender.stackexchange.com/! Please take a closer look at the following posts: Why is there a red line when I try to connect one node to another?) and How can I instantiate a procedural node group with different parameters?. Maybe this will help you. If not, please be so kind and explain more precisely what the problem is, what you have tried so far, and supplement the question with pictures or your blend file. Thank you!

Regarding your update: Exactly this problem is described in the second link.

So, because I have possibly 100 kind of return, I have to put 100 new nodes. I'll make a group, I already have approximately 20 nodes on my sheet (and I'll make variations of this 100 buildings). Thank you!

You're welcome! Feel free to edit and reopen the question at any time if clarification is needed.


text:
Translucent parts not actually translucent
I'm a bit new to blender, so apologies if my terminology is difficult to understand.
I am trying to render a part that is translucent (representing a real life part made from a translucent plastic). I want the background of the PNG to also be translucent.
I have the translucent background working fine, but the part itself in the final render isn't actually translucent.
In the final PNG render, the pixels making up the part are fully opaque.
The parts are also very gray (This is not supposed to be the case).
It's as if I'm looking through the part and seeing the gray background of blender.
I tried running a Transparent BSDF in the shading, but that really just lowers the opacity of the entire image in the final render (not what I want).
In the end, I would be happy if:

the part was rendered properly with actual semi-opaque pixels representing a translucent part with NO GRAY BACKGROUND INFLUENCING THE RENDER.

OR

I was able to change the "background color that is influencing the shade of the render" to white.

See the example images below.

NOTE: the image here of the shading nodes includes a bunch of different color options that I use form different material types. You can see that most colors are not being used.

Translucent shader is meant to be used with an Add Shader node over the top of an existing BSDF with a surface response.
The Translucent Shader says nothing about the surface of the object and is somewhat unique in its usage.  It only allows light to pass through the object.
Kuboå answer illustrating the effect very nicely

Making the part translucent is not my issue. I've gotten the part to be translucent as you can see from the image with the green background. What I need is for the final render of the translucent part to actually have semi-opaque pixels so that it actually looks like a translucent part on any background.


text:
Geometry Nodes - Incremental increases & controls
I found this youtube clip which shows exactly what I'm trying to do. At about the 10 second mark of the linked video, he shows controls working as integers. That in a nutshell is what I want to do.

I'm trying to figure out how to use Geometry Nodes but I'm starting at a pretty low level of understanding. There is a project I want to develop that I've broken down into a bunch of simpler tasks that I need to learn how to do. This is one of them. I'm using Blender 2.93 beta.
I want to be able to translate and scale by specific increments. Attached is a screen capture showing my node tree and the modifiers tab. I've used the Math node "Snap" to set an increment of 1 unit for scaling. That actually does what I want, only adjusting the cube by 1 unit increments. Success!.... however, the X (Width), Y (Depth) and Z (Height) are connected to the Group Input to give me a control for each under Geometry Nodes in the Modifiers Tab but these controls don't conform to the 1 unit increment. Currently they increase by 0.001 units at a time not by 1. Is there a way of making those controls conform?

Re: Chris's answer, This in some ways produce something which is another way of doing the same thing I already did with the snap function plus have added an offset which could be useful. This isn't what I was trying to resolve though. I've attached another pic. On it I've written the length of each of the sides, w=3, D=2 and H=1,but the controls on the right hand side say something different they say W= 3.37 etc These are the pre snapped sizes.
I want the controls on the right hand side (Width, Depth, Height) to say the actual size not the pre.snapped size. In other words the controls themselves should reflect the snap/rounding that is set inside the geometry node tree. Can this be done?

Input sockets can be forced integers, but you have to use a workaround if you're going to plug them into nodes that use float values.
You can use any node that has an integer input type, for instance the Level input of the Subdivide node. Integers have dark green sockets. Plug a new input from the Group Input node into the Level socket.

Delete the Subdivide node. You can now plug the Level integer input into any socket. Blender will automatically convert to the target type if possible.
╔═══════════════════╦═══════════════════════════════╗
║ Integer - v     ║ Conversion                 ║
╠═══════════════════╬═══════════════════════════════╣
║ Float           ║ Rounded                    ║
║ Boolean         ║ False if v <= 0, else True ║
║ Vector          ║ v => (v, v, v)             ║
║ Color           ║ v => RGB(v, v, v)          ║
║ Geometry        ║ Unsupported                ║
║ String          ║ Unsupported                ║
║ Material        ║ Unsupported                ║
║ Texture         ║ Unsupported                ║
╚═══════════════════╩════════════════════════════════╝

To change the Min and Max values of the input, expand the N panel with shortcut N or by cliking on the arrow in the top right of the shader editor or click on View > Sidebar. There, click on the input and it will expand its properties.

wow...cool workaround!! Love it!

@Chris Developers are working on dynamic type switching in the node properties so it won't be needed for long I hope :)

i hope too... ;)

Not sure I get it just reading it but I'm about to go to work so I'll have a crack at it later today. Thanks very much Gorgious and I concur with the idea that the node properties is the place for a control switch. (I think you can already do that with Animation Nodes.)

Yes it works great - I used the Triangulate Node to get the Level output from. My little test no longer needs the Snap Maths Node.  Thanks again Gorgious the question is answered and solved.

Good tip thanks! I was momentarily confused - the tick is grey and turns green when you click on it!

Outdated (already implemented) ... Hard to say if make it sense to update the answer, since I'm not sure someone is looking for this kind of question :)

@vklidu it does make sense I think, the UI can be confusing to newcomers and I'm sure it'd help at least some people down the line.

OK so may I ask you ...? :)

@vklidu hehe I'll add on my todo list, in the meantime if you or anyone reading this feels like it, feel free to add as another answer :p


text:
How to re-map the shortcut to remove a node connection (cutting tool)?
I use a graphics tablet because using a mouse starts to hurt my wrist. I need to either find the NAME of the "slashing" disconnect function between nodes that works identically like in Houdini FX (the name for the keybind Ctrl RMB, the wrangler doesn't list it, at least to my eyes across 2 days in the list), or I need to make a custom keybind of ShiftLMB because it's a dup for box select.
In the documentation in the blender addon, it says CtrlRMB is lazy connect, but it's showing me a cut tool icon, so that doesn't seem right at all... The documentation for it on the online Blender site is WRONG. CtrlRMB is the cutter tool, not Lazy Connect. Lazy Connect in the Addon keybind list is AltRMB.
Any help would be greatly appreciated, I don't want to wear out my right mouse button on my graphics pen!

You'd like to re-map the cutting tool to basically remove the connection right? If so, it's a built-in key and has nothing to do with node wrangler. Go to Keymap > Node Editor Global > Cut Links. Set the map type to keyboard and its type to Y. Does that help?

Tyvm, no one on the Blender discord wanted to hep meh.  You have no idea how much this lowers my stress.  It's beautiful!

Weird, at the time I couldn't upvote the answer to see the note that said click the check mark.  Now I could and did.  Thanks again.

That's a built-in key and has nothing to do with Node Wrangler.
Go to Keymap > Node Editor Global > Cut Links and change it to whatever you like:

To get a Houdini like key binding, set its 'map type' to 'keyboard' and its type to Y.


text:
Rough transparent Plastic Material
I am trying to recreate the FN P90 submachine gun. I followed a tutorial on modelling and UV unwrapping. Now I tried adding procedural Textures to it.
As you can see, the clip is made up of a rough transparent plastic material:

The clip is a model with an inside with correct normals so the refraction works. On here I saw others use a mix shader with some Gloss and Diffuse to make it less glassy. But that did not really work. Is my factory to high? Here is the shader I used:

For basic materials like plastic, glass and metal, you only need Principled BSDF.
Rough plastic has similar properties as rough glass.

Transmission = 1
Roughness = 0,2
That's it.


text:
Why does it displays a kernel error message whenever I try GPU rendering in Cycles?
Whenever I select GPU rendering it displays an error message. I have a Radeon RX Vega 8 GPU but still it doesn't get to work. I tried selecting only GPU rendering in Preferences tab but still it doesn't work in Blender.
The Error shows like this:  Split kernel error: failed to load kernel_path_init.
This happens every time I select GPU rendering.

https://blender.stackexchange.com/questions/221683/cycles-opencl-and-mesa-driver-support/221710#221710

It seems to be a problem with the Radeon RX cards if I understand this bug report correctly, updating the card drivers can help in some but not all cases as far as I've read:
https://developer.blender.org/T83130

There isn't any update available to my card driver recently but still I hope this error gets fixed soon.
Thanks for the information.

Well, some comments there also say that the driver update didn't help them, so I keep my fingers crossed for you this will be fixed soon.


text:
Changing 'Emulate 3 Button mouse option' when entering sculpt mode?
I would like to make addon that every time I enter sculpt mode it turns on "Emulate 3 Button Mouse" and when I leave it will turn off.
I am no programmer, I tried to find some parts of code and get it together, I will post it in here. It´s somehow working but for some reason in new projects it´s not working at all, only after reinstalling addon:
bl_info = {
    "name": "Emulate 3 Button Mouse",
    "blender": (2, 91, 2),
    "category": "Object",
}

import bpy

handle = object()

def notify_test(*args):
    print( "Mode:", bpy.context.mode )
    bpy.context.preferences.inputs.use_mouse_emulate_3_button = bpy.context.object.mode == 'SCULPT'

subscribe_to = bpy.types.Object, "mode"

bpy.msgbus.subscribe_rna(
    key=subscribe_to,
    owner=handle,
    args=(1, 2, 3),
    notify=notify_test,
    )

def register():
    bpy.msgbus.subscribe_rna(
    key=subscribe_to,
    owner=handle,
    args=(1, 2, 3),
    notify=notify_test,
    )

def unregister():
    pass

if __name__ == "__main__":
    register()

Q: What's wrong and how to fix that bug?

The following script should work: https://pasteall.org/gGNy/raw Can you test it and report back?

It´s working until for example I open my project again next day its not working again. Then I need to reinstall addon in order to work again or when I open older project it´s the same problem

Cool. Yeah, needs to be enabled per file using application handlers (on file load)... but it's working as expected? For now you can just copy/paste my code into the text editor and run it per session.

Oh sry, now I realized that code you posted was in that link. I was kinda confused. Previously I was talking about that my script again.
*And I tried you code and it was working. Previously I did not get what you mean by enabled per file. Now I get it and it seems to work :-D
I really appreciate your effort to help and also thanks for editing my question :-)


text:
Why my object is not present in some of the frames I rendered?
I am working on a project and it contains some animation. Issue is that my object is not present in all frames. For example, the object is visible or part of the rendering between frame 50-55 but somehow it's not rendering after frame 55 until frame 60.

What am I doing wrong? Thanks.

Sorry about that. Here is the file, https://blend-exchange.giantcowfilms.com/b/49en9yG3/

Which object is missing during the render?

Seems to disappear from viewport but it is actually there in the render, the scene is very heavy on geometry ( 0.5 million faces ).  There seems to be an issue with your "Plane" object with the shrinkwrap modfier on it.

The yellow boat is missing. @stphnl329

@Moog thanks for the comment. But object is missing in render. :(

Well...there's only one boat as far as I can see and it's showing up when I try to run the render - ignoring the entire world turning pink due to the world background texture not being present.

Thanks for the reply. When I trying to render it. It shows for me as well. But in some frames. It won't.


text:
Where is the render display mode setting in 2.8x?
I can't find display mode in 2.8x versions. In older versions when you hit the render button from the navigation there was a display mode option. Now it's gone.
Where can I find it?

OK, so you want to change how the render is displayed, right? You should state it more clearly. It's not a 'button' you are talking about, that's a menu and that is not 'navigation', it's the topbar. It's best to post a screenshot if you are not sure about the terminology. You can find how parts of the UI are called in the documentation This is important, because other way, it's impossible to understand what you are talking about.

people who are new to blender/3d modelling/python sometimes don't even know how to ask the question they have, I'm definitely one of them ..  could have used more detail or a screenshot, but seems you knew exactly what he meant

You can access the settings related to displaying the render in the Preferences now (Interface > Editors > Temporary Windows > Render In):

To get to the Preferences you can hit F4 followed by P or go to Edit menu on the Topbar and choose Preferences:

Martynas Žiemys that was exactly what I was looking for! Thank you very much!


text:
Is there any way to turn displacement of a shader into actual geometry?
I created a terrain in cycles using displacement and noise texture nodes like this:

But this is all only applied at render time to a plane. Is there any way to turn this into actual geometry that I could use in a fluid sim as an effector for liquid to flow over? I can't seem to find any answer to this. Would be an awesome way to generate terrain for this.

You will have to bake the displacement to a texture, then apply this texture in a displace modifier. Related : https://www.youtube.com/watch?v=McALCOr39rY


text:
How to merge all vertices by distance and remove all inner faces?
I have a bunch of 3D objects adjacent one to another (they all have a coincident face). I want to merge them all without having inner faces. I can achieve this by doing the following:

Object Mode an select all objects, then I join them with Ctrl+J.
Edit Mode -> Select -> All -> Vertex -> Merge Vertices -> By Distance
Select All by Trait -> Interior Faces -> then I delete all of them

That way I end up with a single object with no inner faces.
I would like to do the same exact thing but through a Python Script. I have thought about a couple of options which I do not know how to apply:

Emulate the process mentioned before with python commands
Doing boolean operations over and over (there are more than 100 objects), but for some reason the result is very messy and a bit slower

Any help will be highly appreciated, thank you very much in advance! :)

As of Blender 2.8, you can enter Edit Mode for all objects at once (without joining them) so... Do you need a script still? If so, have a look into Remove Doubles on multiple objects.

First of all if you want to write your own basic scripts you should go to Edit -> Preferences -> Interface and enable "Python Tooltips".
After that you will see pop-up hints with python references for certain buttons, menus and values commands every time you place a mouse cursor over them. Also you can press Ctrl+C (or Cmd+C on mac) when your cursor is over the button and it will copy the python command for that button to the buffer, so you can paste it in your script.
Also you can open up the Info Window in Blender, many commands appear there right after executing and you can copy them from there. Also you can open Console Window in Blender and start typing in commands you know - and use an autocomplete option (shortcuts may be different but you can easily find it).
A little bit of theory before the script. Note that in most cases copying python commands from the buttons will give you a Blender operator starting with bpy.ops. It is not prohibited to use those operators in the scripts, but it is not very stable and may cause errors because all Blender operators rely on context (exact window, screen, area and region from which it is called). There are hints to override a context, here for example. But generally the more efficient way is to use direct access to blender data and change it directly without using the operators. Unfortunately direct editing of the mesh data with Blender API is pretty... let's call it strange and unpredictable (in my opinion). There is bmesh module which has been written specially for this purpose, but I'd say it is pretty complex especially if you are a beginner not recommended. Anyway, if you are not writing a very complex program, using bpy.ops is ok.
According to your algorithm a script may look like this:
import bpy

merge_threshold = 0.05 # here you can define Merge By Distance threshold

if bpy.context.mode != 'OBJECT':
    bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.object.select_all(action='SELECT')
# This is to make sure that there is an active object in the scene:
#----------------------------------------------
if not bpy.context.active_object.hide_viewport:
    for object in bpy.context.scene.objects:
        if not object.hide_viewport:
            bpy.context.view_layer.objects.active = object
            break
#----------------------------------------------
bpy.ops.object.join()
bpy.ops.object.convert(target='MESH') # Here I've added an option which will
                                      # apply all modifiers by converting object
                                      # to mesh
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.select_all(action='SELECT')
bpy.ops.mesh.remove_doubles(threshold = merge_threshold)
bpy.ops.mesh.select_all(action='DESELECT')
bpy.ops.mesh.select_mode(type = 'FACE')
bpy.ops.mesh.select_interior_faces()
bpy.ops.mesh.delete(type='FACE')
bpy.ops.object.mode_set(mode='OBJECT')

UPD. Info Window and Python Console Window can be opened as any other window in Blender:

Toggle System Console in Windows opens up a system console where you can find detailed information about errors, results of your print() functions, etc.

Thank you very much! This not only did solve my problem but it also gave me such valuable information. I do appreciate a lot the well explained answer and the crazy short time you took to answer it since I posted it.
I have been playing with the "Python Tooltips", sometimes I get some errors, I guess it is because the context.
I have not been able to find the Info and Console Windows. If I go to "Window -> Toggle Window Console" I can not input commands there. On the lower left corner of the Scripting window I can see the python commands appearing, maybe this already is the Info Window.


text:
How to add an image texture to a single face?
I'm expecting to see the face selected for adding it into a vertex group later on and the image texture mapped to the front face in order to map the image onto a road sign.
I've tried assigning the texture via material_index and I get the selected face but the image is not mapped properly. I guess something has been changed as of 2.8+, What am I missing here?
import bpy, bmesh, os

bpy.ops.mesh.primitive_cube_add()
bpy.ops.object.mode_set(mode = 'OBJECT')
bpy.ops.transform.resize(use_proportional_edit=True, value=(1.5, 0.005, 2))
bpy.context.object.location = (0, 0, 4)
bpy.ops.object.transform_apply(location=True, rotation=True, scale=True, properties=True)
bpy.context.object.name = "sign1"

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

mat = bpy.data.materials.new(name="matsign")
mat.use_nodes = True
bsdf = mat.node_tree.nodes["Principled BSDF"]
texImage = mat.node_tree.nodes.new('ShaderNodeTexImage')
texImage.image = bpy.data.images.load("S:\\roadsigns\\124_67.png")

if ob.data.materials:
    ob.data.materials[0] = mat
else:
    ob.data.materials.append(mat)

bm = bmesh.from_edit_mesh(ob.data)

bm.select_mode = {'FACE'}
bpy.ops.mesh.select_all(action='DESELECT')
bm.faces.ensure_lookup_table()
bm.faces[3].select_set(True)       # front face selected
bm.faces[3].material_index = ob.data.materials["matsign"].pass_index    # why can't I see it?

The image node must be connected
You create an image node but don't connect it to anything. A node needs to ultimately flow into the output node to have an effect. You need to connect the image node's Color socket to the Principled node's Base Color socket. You can do that with (I also moved the node so its easier to see)
bsdf = mat.node_tree.nodes["Principled BSDF"]
texImage = mat.node_tree.nodes.new('ShaderNodeTexImage')
texImage.image = bpy.data.images.load("S:\\roadsigns\\124_67.png")
texImage.location = -300, 120
mat.node_tree.links.new(bsdf.inputs['Base Color'], texImage.outputs['Color'])

Your shader will now look like

The poly's material_index is an index into the object's material slots
You have
bm.faces[3].material_index = ob.data.materials["matsign"].pass_index

The pass_index has nothing to do with this and this only works by coincidence because it's 0 by default.
The material_index is an index into the objects' material slots. So since here
if ob.data.materials:
    ob.data.materials[0] = mat
else:
    ob.data.materials.append(mat)

you are ensuring the material is in the 0th slot, all polys with material_index 0 will use that material.
And since 0 is the default value for material_index, all polys will use that material without you having to do anything.

mat.node_tree.links was the missing link for me, now it all starts to make sense.
My intent was to only make the front face pick up the texture though. Now everything has the texture; I am guessing this is because everything is assigned to the "0" index, not just the intended face.
Programmatically, what is the correct way to reference an index by material name so I can use several? Do I just manually add one to a counter every time I do a data.materials.append or can I interrogate this?

You can do mesh.materials.find(material_name) to get the material_index if that's what you're asking. -1 is "not found".

I tried that, but mesh was not defined. However, bpy.data.materials.find(material_name) seemed to do the trick - was this the right one in this context?

No. In your code above, mesh is ob.data.


text:
How can I toggle the mirror modifier visibility of all selected objects?
I'd like to toggle the Mirror modifier of selected object. I always do weight paint without the Mirror modifier but I have to check the mirrored half part sometimes. This script works fine but it is not so good.
objname = bpy.context.active_object.name
bpy.data.objects[objname].modifiers["User Defined Modifier Name"].show_viewport = not bpy.data.objects[objname].modifiers["User Defined Modifier Name"].show_viewport

This can toggle modifier with modifier name "User Defined Modifier Name" of active object but I need to pre-define modifier name to work it correctly. What I'd like to do is like this. I want to toggle all Mirror modifiers of currently selected objects.
objname = bpy.context.active_object.name
for modifier in bpy.data.objects[objname].modifiers:
    if modifier.type == "MIRROR":
        if modifier == False:
            modifier = True
        else
            modifier = False

of course it does not work because I need to use this format to disable Mirror modifier.
bpy.data.objects[objname].modifiers["User Defined Modifier Name"].show_viewport

but I don't know how to get modifier name. Do you know how to get modifier name?

Hi and welcome to BSE. If obj = context.object then bpy.data.objects[obj.name] is obj  there is really no need to get the name from the object then get the object via the name.

I didn't know it. thank you.

Find mirror modifiers by type.
This will toggle all mirror modifiers of all selected objects
import bpy
from bpy import context

for ob in context.selected_objects:
    mods = getattr(ob, "modifiers", [])
    for m in mods:
        if m.type == 'MIRROR':
            m.show_viewport ^= True

for just the context object, remove the outer  loop
ob = context.object
mods = getattr(ob, "modifiers", [])
# .. as above ..

If you only want to change those with a specific name, for example only those with name prefixed with "X"
        if m.type == 'MIRROR' and m.name.startswith("X"):
            m.show_viewport ^= True

If we have a unique and specific name
name = "Bob"
mod = getattr(ob, "modifiers", dict()).get(name)

in which case mod will be the modifier named "Bob" or None if there are no modifiers on this object named "Bob".
Note getattr(ob, property_name, fallback) is used in case an object does not have modifiers.  An empty dictionary was used in this case, since it has a get method, as do all blender collections, eg bpy.data.objects.get("Cube")  It is rarely the case that objects[name] is used as it will throw a key error if it does not exist.
Consider writing a generic method, and pass modifier type, and one of 'ENABLE', 'DISABLE', 'TOGGLE'

thanx. it works. I will use your script with keyboard shortcut. Your script can disable any modifiers.It's super useful.

@Yokomizo If so, please consider to accept the answer, thanks. How this site works: https://blender.stackexchange.com/tour, also see: https://blender.stackexchange.com/help/someone-answers


text:
Create LightCone (GodRays) with only light, no black, much transparencies; to place over (Alpha Over in VideoEditing) a video
Sorry to come again with this.
In Blender 2.79b this works easily and perfectly by just switching on "Halo" in the "Spot" setting. Didn't even set the World's Alpha to "transparent" instead of "Sky".
Now I try to translate this into a 2.82 (oder higher) version. Tried Film->transparent for background and did a long orgy with nodes of all sorts. Material nodes for the Cone-Mesh for volumetric scattering (Node "scatter volume"), every alpha-over, keying etc.
The problem still remains: The shadows of the light cone's (I split it into several parts by a slit mask in front of the spot's light source) are rendered black and not "no light but transparent".
I enclose the (simple) blender 2.79b project here; any ideas? MakeLightCone-2.79b

https://blender.stackexchange.com/questions/215396/cant-get-transparency-right-for-god-rays


text:
How to make emission object transparent in EEVEE?
I would like to make this emission material I made transparent in order to make it look like an energy field and be able to see the door behind it:

Tried the alpha blend option in EEVEE but it did not work

And idea how I can do that?

do you have a picture of what you're trying to achieve?

I added a picture.  I want the blue emission to be transparent in order to look like an energy shield protecting the door behind it.  I want the door to be seen through the blue light.

you need to mix Emission and Transparent in a Mix Shader, maybe plug a Noise Texture into the factor of the Mix Shader (and Texture Coordinate > Mapping node before the Noise), it would be a basic way to do it, and you can animate the energy effect with the Mapping parameters

Use something like this. make sure to change your blend mode.

For an energy shield effect, you can try adding a wave texture (vertical lines) with a bit of distortion to make it look "energized", and mixing it with a gradient texture to make the field "weaker" in the middle.

what is the multiply not called? I cannot find it. Thanks very much.  Found it.

It's a MixRGB node set to "multiply" instead of "mix"

A reference image would be good to start. Have a look at the render. Is it what you are asking for. And yes it can be done using emission and glass shader with some noise as a factor.