text:
Smoke Render Not showing Smoke but the Flow Source(Particle System)
When I render the smoke simulation all I see is the particles not the smoke itself.
The Way I want it.

The Way I see it when I render.

You need to uncheck emitter in the render panel of the particle system.

Nothing Changed.


text:
Animation & Complexity of Graph Editor

This is an example. The character's arm is passing through space using all X, Y, and Z axes.

I tried to get the least key, but many keys were created to represent the curve.
I don't have the knowledge to edit 3D animations, so I am not confident to adjust the timing in this situation to create a nice tension sense.

Imagine a moving character with various poses. Rigify will create more channels.
From my point of view, the graph editor is too complex to represent good timing and smooth arcs.
But I think there will be channel management methods and graph editing methods that I don't know.
Please let me know the keywords of the techniques needed to solve my problem and I will study hard.
Thank you.

Additional questions:
I want to be checked by you to see if what I have realized is correct.
3D character animation seems to be better suited to frame-by-frame work, such as drawing animation or stop-motion animation.
Only a few in-betweens are automatic. It is a little convenient point of 3D animation.
Graph editing appears to be effective for camera or simple object motion.
Did I realized exactly?
and what is the best interpolation for in-between?

For timing adjust use the dopesheet instead: if you select some keyframes, you can grab them and scale them (time cursor is the pivot point).
Put the timeline in a point: if you right click an the left you will select all keyframes before the timeline, if you right click on the right you will select all keyframes after.
Try also select a group of keyframes and press Shift T and move the mouse, for easing in and out.
Another great way to control the timing is to use the breakdowner in the T panel, pose tools tab (but you have to start with less keyframes).

Thank you.
I didn't know the In-Between feature.
Let me try it.
The Shift T function is also very useful.
I've had additional questions and fixed the posting. Please check.

We are entering the field of opinions, every animator will find his best workflow. I generally work in a pose-to-pose way, then add inbetweens, using Bezier interpolations (generally, not always). I use the graph editor to edit "single movements", i.e. the height of a hip bone or the rotation of a mechanic arm. Graph is useful also to "read" the flow of movements, that can be smoothed and tweaked quite easily. The more inbetweens you set, the more the animation is "yours" and not standard. Some animators suggest to key every frame, for study purposes, without any automatic computer influence!

I learned a lot. Thank you for sharing your time.

source: Stack Exchange

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

sort: votes


text:
The bending direction of IK constraints

I modeled the octopus and I am working on rigging.
I applied IK constraints to the legs and the direction in which they bend is as shown in the GIF.
This is generally good.
However, my octopus sometimes walks upright, so my legs need to bend in the opposite direction.
Can I reverse the bend direction of the IK constraint?
I tried to move the pole target in the opposite direction, but it creates a vortex.
If it wasn't possible, did I have to straighten the octopus' legs in the modeling phase in the first place?

Following moonboots' answer, I replaced IK with Stretch To.
The results seem to work fine.
When I move the pelvis of my octopus, I can attach its legs to the ground and freely set the bending direction of the knees.

Have you thought about a Stretch To constraint for your bone, instead of IK constraint? I'm curious if it would work with IK nevertheless

@moonboots
I couldn't catch the hint. Could you explain it in more detail?

sorry, the right link: https://www.youtube.com/watch?v=WG3PhuzGz_o

but the one I gave before is IK and could also answer? https://www.youtube.com/watch?v=GzboWLUPADY

you also have the Spline IK, there must be some advantages and disadvantages for each of these methods: https://blender.stackexchange.com/questions/116124/how-to-rig-a-cartoon-style-hose-limb-cartoon-arm

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


text:
Problems inside the mesh using boolean modifier (2.8)
I did a boolean (union) between 2 equal pieces but I got a weird problem inside of my item. I want a solid piece in order to add another boolean on it.

Are you sure it is not a solid piece? You can try this by selecting connected vertices with the "L"-key. To me it just looks like a lot of unnecessary edges in the corner which you might consider cleaning up a bit... Does the next boolean fail?

Boolean usage has some constraints. But you should describe a bit more you final objective if you want to get some help. What is the third piece you want to use?

I did a Union, but Robert is right, it's lot of unnecessary edges. But unfortunately I don't have idea how to clean it =(

If you have not precalculated the amount of vertices for the round/cylinder part (depending on the relative rotations), that will be a mess. Boolean is easy to use, but cleaning the unwanted consequences is often difficult and requires a lot of manual work, if not pre-thinking. Again you should indicate where you want to go with the additional part you want to union with this, and the angles between this two parts.

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


text:
How do I render a more HD picture in blender internal 2.79
Here the image I obtain:

Here are rendering options:

Just change the resolution X, Y to what you want in the rendering options.

Please update your question to explain what exactly your trying to achieve and what you've attempted so far to solve the problem. See: https://blender.stackexchange.com/help/how-to-ask


text:
How create perfect mask using ID Pass ( "clown pass" in Photoshop)?
Has anyone looked at the tutorial? regular ID Pass so that later in Photoshop it will be easier to select the necessary objects. But what I don't understand is that even if you have this ID Pass (Clown Pass), you still can't make perfect masks, the first picture shows how bad everything is. How did the dude come out of the video? How? He has perfect masks in the channel, perfect, how simple? How? (second picture - ideal masks that I'm talking about)
Video Tutorial i am talking about

Workbench
It is not that easy :) and in some cases just impossible. If you want to just make parts darker or brighter, there is a change you just dont notice, but it would be there.
This "imperfection" comes from anti-aliased pixels generated on object edge to make them smooth. They consists partly from foreground color and partly from background color. So they are not purely defined only by single color.
To get a pixel perfect for selection you would have to render with Workbench > Render Properties > Sampling > No-Anti-Aliasing, but this renderhas ugly pixelated edged. What people use to do is render double size of final render and downsize after compositing.

Cryptomatte
Feature designed to work with "passes". Check some tutorials. Image saved as Open EXR Multilayer can store cryptomatte data and can be used also by other programs (like Fusion or Nuke). For work with Photoshop EXR – IO plugin should work for you (seems like only for Win).
Blender Manual – Cryptomatte
Cryptomatte tutorial example
Here I got a solution in Blender Compositor. Since this node tree based on InPaint node is technique before cryptomatte time it could work also on Workbench render too.
Result of default setup (issue on edge)

Result of edge refined by node group

Node Group

Detail default issue on edge vs refined edge. For the best result adjust ColorRamp nodes.


text:
Hdri is not clear in blender background no matter what image texture I use
I'm not seeing the HDRI image in background. How to make it appear?

Please don't use all caps in your texts. This is considered as rude for some people. Thank you.

if vklidus answer doesn't help, pls provide blend file. another reason might be, that you checked the transparent checkbox in render settings.

I'm guessing ... You are using probably Image Texture node ... for world you need Environment Texture node with projection set to Equirectangular


text:
About the "Selection" of the Distribute Points on Faces node
I wrote these nodes to test the functionality of Selection.

My grid has four faces. I used a mathematical operation node and wanted to control the threshold to distribute points on the specified faces.
When I set the threshold to 1, it appears as follows.

When I set the threshold to 2, I don't understand why it still looks like the points are only distributed on one face.

I don't think I understand the mechanics, but I can't figure it out.

Index is face corner index in this context.
This is in the documentation ('selection' part).
Force it to face index using "evaluate on domain":

Thank you! I'll try it! By default, how do I know what data the index node is referencing?

In the doc. No general rules, I think. I've added the link to it in the answer.

Here, we can suppose this is face corners because this allows the thinner possible selection.

Thank you for your answers! Now I understand!


text:
Proportionally editing the highlighted area
I'm in the process if trying to create a screen for a project im working on but Im having trouble of proportionally editing.
I just want the highlighted areas to be edited, so that the highlighted areas will have a smooth round bump on the top like a screen some sort, where It basically arches across the top in a smooth and seamless way like the picture below

Hi. Please use a title that matches the content of the question. It should be descriptive but succinct, unique and identifying, summarizing the issue so that anyone searching for a similar problem is likely to find it. Remove anything superfluous, avoid using words like "this", "help with", "issue" or "question about", instead describe what "it" is. Remember, your title is the first thing potential visitors see, answers you get depend heavily on how insightful it is. See What is the problem of asking “How do I do this?"

That can be something like this:

Start with a half cube (cut in half in Z axis).
Flatten it in Z.
Stretch it in X.
Inset the top face.
Add a loop cut along the X axis.
Then another loop cut along Y axis and bevel this last (3 cuts).
Tune the curve aspect grabbing up the top/inside vertices.
Tune the corners to adjust left/right half circle shape.
 (Blender 4.0)

You should begin with a very simple topology like this one:

If you want the slight slope, lift the face:

Give it a Subdivision Surface modifier to have a rounder shape:

If it needs the faces all around, extrude down, bevel the edge a bit:

This is awesome, but im not trying to change the shape of the object I just want to lift the highlighted region to give it a hump while keeping the shape

invert the selection, make the edges invisible, lift the center of the top faces with the Proportional Editing on?


text:
Disable the collection of linked object
I created a 3d house using 2.83.7. The main component are : wall , ceiling , floor , door , window etc. So i created some collection to manage it : WALL, DOOR,FLOOR ,WINDOW etc
WALL collection contains all wall object, DOOR collection store all doors and so on. This way i can easily isolate them when i want for example disabling just the floor and ceiling.
Now the challenge is , i want to make a master bedroom with 3 alternative. Each of this alternative will have its own wall/door/window etc. Practically there will be 3 sets of wall/door/window etc on the same spot but with different design. So later, only 1 of them can be enabled, otherwise they will overlap each other.
Then i created 3 collections :
ROOM_ALT1, ROOM_ALT2, ROOM_ALT3. They will be used to store associate room alternative. Only one of them will be enabled at a time.
I link the objects this collection. So for example for the room alt1 : the wall.01 , while it's  still in WALL collection , it will be linked to ROOM_ALT1 .
I choose to 'link' , not to 'move' because my plan was that i want for example the wall.01 to be under both WALL and ROOM_ALT1 collection. I thought i can disable any wall objects (including walls from any room alternatives) by disabling the WALL collection while i can also disable alt1 by disabling ROOM_ALT1. But it's not working as i expected.
Note: i want to disable/enable , not just hide/unhide them.
Any solution ? Does anyone can help ?

You can ShiftClick on the button:

Thanks a lot , it works perfectly.  I was thinking to on/off that checkbox on left side of the collection name ( exclude from view layer) - not by disabling from viewport. Btw just curious, is possible to use that 'exclude from view layer' checkbox to control it ? i prefer to use it if possible because i will sent it to unity. If it's excluded from view layer in Blender, it will be gone in unity. Anyway , your solution still can work, in unity , it will be hidden rather than permanently gone. Just curious.

I don't think this is possible for view layers this way.

Ok no problem, this solved my problem . Thanks a lot.


text:
Draw curves on image reference's surface while in perspective view
When I add image ref (add/image/reference) , How can I draw curve (using curve pen) on the surface of this image reference while looking from perspective or camera view ?

If you add a reference image you aren't actually creating an object which you can draw onto. Use Add > Images > Images as Planes instead. (In Blender 4.2, it's the Add > Image > Mesh Plane menu entry.)

I tried the mesh plane, but when I draw a curve even with snap is ON, the curve won't be at the surface. what's wrong ?

https://blender.stackexchange.com/questions/291923/how-to-draw-a-curve-onto-a-mesh-with-the-draw-tool

@JohnEason I'm drawing using 'curve pen' tool. that draw on surface option only available on 'draw' tool. Is it possible using 'curve pen' and drawing on surface ?

Why do you want to use the Curve Pen tool? Use the Draw tool which has the Surface setting both on the top-left toolbar and the N panel.

@JohnEason it's a bug on 4.2 (osx m1 version). It doesn't work using Draw tool. but works on 3.4. But anyway, I prefer using Curve Pen -easier to setup the control points - rather than using freehand style.

The Draw tool using Surface works fine here in 4.2 under Windows. As said before, the Curve Pen tool doesn't have that option available unfortunately.


text:
rotation using base snap
I'm trying to use base snapping to rotate my upper cube so the edge will be overlap with the edge of the lower cube. Press R to rotate then press B and select the first edge and then target edge. But it doesn't work :

right now, I have to do quite long process : extract the edge from each of the cubes then 'separate' as new object , then F to create face then create new orientation from this face. Finally use this orientation to rotate.
Any faster method ?

Can you share a bit more about what it is you're actually trying to accomplish? You aren't just rotating cubes together, what is the actual end goal. There are some ways to do this, but most are gonna be a little awkward like this. It's possible that you could go about the entire issue in a way that prevents this problem from ever arising. Sometimes it's better to think about if the method you chose is even good at all, rather than trying to figure out how to make that method work, just cause you already went with it.


text:
How to get reflection pass when there's no light on the scene
Here's my blend file :
https://drive.google.com/file/d/1FDAkvG0ZTkOrBIlyMiR9AsOCbOOMysue/view?usp=sharing
There's no light - only use default world lighting.
I combine 2 render layers using compositor to grab the reflection using render pass.
There are 2 render layer :

2BALLS : Render the 2 spheres using render pass. The shadow/reflection is rendered to separated pass (turn on shadow catcher layer -> view layer/light/shadow catcher )
FLOOR : this layer only render the floor.

Here's the compositor :

The shadow catcher pass is multiplied by the plane/floor to get the reflection.
Here is the result :

Everything works fine here. But I just got the case if I want to make the environment to become pitch black . The problem is If I set the world strength to 0 then the reflection is gone. Seems that it won't work if there's no light at all.

Without using render pass, everything is working fine. This is without render pass /shadow catcher :

How to get the reflection pass while there's no light at all ?in this case, the light only come from emission material (yellow sphere).


text:
How to find image's users
thanks for click my question.
In the past, when the oops Schematic function is present in the blender,
we can found users of datablock very easily. (oops schematic was remove since 2.49b.)
But now, how can I do taht in outliner??
below is a picture of 31 unidentified users.

This image doesn't affect the project.
so i can press Shift + X or delete it from the Blend File view in the outliner.
but I'm curious what 31 users are using this image!!!
Thank you for reading.

You can use the outliner in Datablock mode to inspect your file, see here how to https://blender.stackexchange.com/questions/67630/blender-2-78-file-size-grows-and-does-never-shrink

I've already tried it, but I tried again to open the data block mode.
But it isn't what I want.
What I want is not a way to erase the residual data.
The number of users is also not.
It is just what user is using this data.
Is there something I am missing?
http://imageshack.com/a/img923/9154/3Fttqp.png

As stated by one of the blender developers, there is no easy way. I expect a script or addon could be created though.

personally, I wish oops schematic to be resurrected in add-on form.
The oops schematic increases the work time, but it allows intuitive grasp of the project.

While it will still need some work, try this addon and see how informative it is. I don't think I have all the use cases yet but the main ones are there. The panel is shown in the uv image editor properties (press N) for the active image.

It's a really cool add-on. And I am surprised that you write code so quickly.
I was able to use this script to find a background image at another custom layout.
15_2.png was that guy.
However, as you said, this script doesn't find any empty objects or  hidden images inside the node.

I have posted a question with an example of an image data block, but the real problem is that data blocks, such as textures (not images) and materials, are also often annoyed by unclear users.
Three years ago, there was a person who had trouble with the same problem.
Https://blender.stackexchange.com/questions/10758/find-users-of-a-material-texture-image-which-is-not-displayed-in-the-outline
Even the material and texture doesn't have a separate editor, so I need to create a new 3D object for check the details in the properties window.

Compared to the oops schematic, it seems that the current Blender data block management method is inconsistent.
To make the outliner as good as the oops schematic, the outliner should also provide a list of users in addition to the number of users in the datablocks or blend file mode to make it easier for finding users.

Even if your cool add-on works perfectly, it is difficult to find users of these materials if the material you find is named 'material.001, 002, 003, 004'. Especially for large, complex scenes.

Hey, I found this add-on for find user of material datablocks.
https://blenderartists.org/forum/showthread.php?317507-Addon-Simple-addon-to-display-material-relationships

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


text:
How can I modeling these case more efficiently?

I tried modeling as shown above.
I separated the edge and moved the 3d cursor and origin. I also used multiple snaps and joined the edges back into their original objects to create faces.
I got the results I wanted, but I felt my process was a bit complicated.
The GIF below is a summary of my process.

The extrude region vertex normals (Alt + E) function is close to the operation I want, but it does not produce a flat surface if it carves out the interior.
Probably there seems to be a modeling technique I'm missing. If you have ideas for a faster process, please let me know.
And i attach the blend file for the convenience of the respondent who will show the example.
Thanks for your attention.

One way could probably be copying edges of the original object profile, separating them and turning into a curve, with bevel object you can create indent from the curve like on the end result. Then use Boolean to cut it in

Your way seems pretty sensible to me, but just in case this way introduces a couple of useful add-ons...

Delete the bottom front Ngon, and I inset the remaining front and top faces as a region, with 'Boundary' unchecked, to prevent a margin being formed at the mirror axis, or against the empty face.

Delete the inset faces

Having switched on 'Lengths' in the Property region > Mesh Display panel, take a note of the width the offset will have to be from the marked selected edges
Use the shipped Mesh:'Offset Edges' add-on > 'Extrude' to extrude the front edges back by that width, numerically entered.
There may be some overlapping vertices on the new inner edges of the cluster of loops on the short rear-facing slope. Select the problematic range of vertices and use the shipped add-on 'Loop Tools' > 'Space' to make them regular. ( I went back to make those loops regular all the way round )

E Y the offset edges to the mirror axis, letting the 'Clip' of the mirror modifier do its work
F Fill the Ngon we removed in the first place
Ctrl V >  R remove doubles.

This may well be one of those places where a Boolean is a snappier way of doing it, as Mr Zak has commented .. I'm unreasonably resistant to using Booleans.

amazing!
I did not even know that boundary unchecking and offset edges add-on existed. Now I can model faster.
But after I tried the way you introduced it, there was one more question.
I would like to follow up on another modeling technique in the link below.
https://blender.stackexchange.com/questions/135629/vertex-slide-and-snap-not-working-together


text:
I get border artifacts when using Cryptomatte or ID Mask
I tested masking in the Blender compositor.
Please see the GIF below.
The 1st to 3rd outputs are Crptomattes(obj, mat, asset) and the 4th to 5th outputs are ID Masks(obj, mat).
All mattes have border artifacts on the edges of those things.

The following shows border artifacts not only in black but also in normal color correction.

What did I miss?
How to use Cryptomatte or ID Mask correctly without border artifacts in Blender compositor?
I've attached a blend file to help you write your answer.

In Fusion guys did some macro to avoid this. Would like to if someone can do similar in blender https://blenderartists.org/t/cryptomate-matte-edge-imperfection/1189344/3

The resolution is really low, what nodes are you using for the compositing?

@RobertGützkow
I used an Alpha Over node and found this problem at 2560x1440 resolution.
The image attached to the question was created in a small size just to capture the GIF.
I've written a new Cryptomatte question that adds a resolution perspective.
Please check.

Good news! This has been solved. Our friends at CG Cookie actually made a video in 2013 (before Cryptomatte) that explains the problem and a solution we have when working with a flattened scene: Working with Alpha Edges for Compositing in Blender.  No matter how perfect the matte is, even Cryptomatte cannot solve the subject / background color mixing on the edges. However, the video shows how to use nodes in Blender to get around this! Essentially, you duplicate and invert the matte and apply it to the background, and use Inpaint node on both the foreground and the background to simulate and extend edges of unmixed color. Here is a basic node setup. Note that the ColorRamp nodes each have a black stop and a white stop, they're just VERY close together but they don’t necessarily have to be if your edges look clean:

The techniques work great with Cryptomatte, and solved my edge issues very well. In fact, I believe their Blender compositor approach is the same basic principle used in the Fusion solution linked in comments above. Knowing this approach, it's also useful for working with other types of flat footage that requires mattes and decontaminating the edges of color blend from subject to background.
Another solution would be to use separate render layers via linked scenes and collections, then composite those, but that is not always practical or possible. It would be amazing to have an automated way to render separate layers based upon the Cryptomatte (would probably only work at object level, not material level), or maybe get some kind of deep compositing method like this video shows: Skill Up With Nuke | An Introduction To Deep Compositing In 11.2. Eevee and Cycles do not have deep compositing at the moment, but perhaps another render engine compatible with Blender does have it.

Hi! Link-only answers are discouraged. If the link of "our friends" goes down so does the answer. This is not a regular forum, it's a Q&A site so please include all relevant steps into this answer. Consider that eevee and cycles can't render deep so your last paragraph won't really help... Also watching a 15min video to resolve possible artefacts is a real waste of time IMHO.


text:
Anti-aliasing of ID Mask is more coarse than Cryptomatte
The edges of the Cryptomatte are smooth, but the edges of the ID Mask are rough even if the anti-aliasing option is checked.
The anti-aliasing option of ID Mask seems to have a very small difference between on and off.
How can I make the ID Mask's anti-aliasing as smooth as Cryptomatte?

I've attached the blend file I set below.

You can use Blur, Dilate/Erode nodes in different variations to smooth it. But it will be still worse than cryptomatte.

I don't think there is any decent, that is why cryptomatte became "game changer" (with som eissues as well, as you can see). You can play with edge in composite, but it always brings some artefacts (inaccuracy) in final comp.

@vklidu
I understood the limitations of ID masks.
However, the issue of edge artifacts in Cryptomatte remains.
Please review the additional questions on the link.

I already commented there :) few hours ago  :) see the link there. And I know you know about ID, but you are looking for answer and I think there is not any for ID (except what I and Serge where mentioned).

@vklidu Oh! I was hasty. There was already your comment. In the meantime, I searched for hours and got a conclusion. The border expansion technique is inevitable and doesn't use matte as raw. As an alternative, it is assumed that you should use viewlayers or look at deepEXR. Or bringing the work of the fusion guys into the blender.

If the antialiased pixels are completed, the emissions are intertwined along the edge. In theory, assuming you know the exact antialiasing approach, and have a non-antialiased version of the foreground element and background, it would be feasible to separate the emissions for a clean edge.

@troy_s Is there a name for that technique? I want to search. Or let me know if there is a video or topic link.

If you can get the plates, we could probably demo it here. It is basic light emission concepts. To peel the mixed emissions along that edge apart, you need to know exactly how they are mixed in the anti-aliased edge so that you can replicate it perfectly without the foreground or background element. The brute force way would seem to be a pass with no AA for both elements, and a pass with. That should be enough information I think? Speculating, so need a test.

@troy_s It's a bit understandable .. But the concept is unfamiliar to me and I'm not native to English, so textual commentary alone doesn't give me a sense of what I should be doing in Blender. It would be great if i could see the visuals.

We would need non-anti-aliased output. I'm not sure Blender can deliver it. Your English is better than mine, and it's the only language I speak.

@troy_s good. I'm sorry I made you repeat the same thing. Blender can output non AA images. Just set the filter value on the film tab to 0. But I'm away from work for a while, so next week I'll attach a non-AA image at the bottom of this topic and I'll wait for your further instructions.

I thought the AA was limited to 0.01? We would need four plates I believe. 1. Foreground no AA 2. Background no AA 3. Foreground AA 4. Mix with AA.

@troy_s Hi troy_s, I'm back. I prepared the four plates you asked for at the bottom of the topic. What is next step?

You have several issues here. First is that a JPEG has crosstalk due to compression. You'd need uncompressed plates. EXRs would work. Second, you've composited against full emission backdrops. That's contaminating the edges. You want no emission backdrops for this to even have a hope. Third, if your goal were to isolate the grey objects, you provided the wrong plates; the grey object is "foreground" to the magenta, for example.

@troy_s I will answer you on several issues.

When I upload an image to Blender Stack Exchange, JPEG conversion happens automatically.
I actually have a clean PNG with transparency. If you want, i can render the EXR and proceed to the next step.
Sorry for the confusion. In this demonstration, let's proceed to separating the turquoise objects.
Please guide me through the following steps.

I spoke to some others and it sounds like the ID / Cryptomatte is some artificial AA, not the AA in the beauty passes, so the idea won’t work. Basically garbage that can’t be fixed sadly. Sorry.

@troy_s Fine. Thank you for continuing the conversation over the last few days. These failure cases can further improve my understanding of ID / Cryptomatte. I find Cryptomatte a big advantage, but at the same time there are limitations. In blenders, Cryptomatte is great to use for make ups with a little color correction, but it's hard to deal with excessive color variations.

It's unfortunate because in theory it would be entirely feasible to do what you are hoping to do. I suspect it would require deep pixels and the ability to set the Cryptomatte / ID in during path tracing. Otherwise it's impossible to unbundle the emissions perfectly, which is what you are attempting to do. The math to peel the emissions apart would be very easy, but it simply isn't possible due to how the Cryptomatte / ID generates AA differently to the final product.

@troy_s I would like to learn math to peel the emissions irrespective of the ID Mask / Cryptomatte. Can you guide me a little bit more? I want to finish our demo.

I have posted answers both here and here related to finally getting rid of the nasty edge colors when using mattes and compositing, but would like to add to this post relating to the OP's question about edge anti-aliasing. If you use the methods described by vklidu, but also by this YouTube video by CG Cookie using Inpaint nodes and inverse masking etc, you should have practical and near total control of edge sharpness AND get rid of those nasty unwanted edge colors. I have attached a node setup for this:

Also, a word of caution: you will see a difference in edge quality for Cryptomatte (but NOT ID Mask, as of 2.82a) based upon Cycles Render Properties>Film>Pixel Filter settings. The Cryptomatte will automatically match the sharpness of your pixel filter settings / overall render, so essentially down to a style choice, but be warned that softer edges (like with depth of field and motion blur) can be very challenging to matte and even Inpaint out.

I don't think there is any decent way. That is why cryptomatte became "game changer" (with some issues as well, as you can see in your screen). You can play with edge in compositor, but it always brings some artefacts (inaccuracy) in final comp.

Short pixel "steps" can be disolved quite easily, but long pixel "steps" can't (as you can see on vertical edge). Also corners became a bit chewy. I used ColorRamp instead of Delite/Erode, because it was easier to adjust edge.

Ad Cryptomatte - in Fusion, there seems to be a way of node tree that can avoid that. So probably someone can bring it into a blender as well. https://blenderartists.org/t/cryptomate-matte-edge-imperfection/1189344/3


text:
spider's web in geonodes
Good day! I converted the mesh into a curve, to make a kind of web. But how to make them rounded in the center?

this kind of spider web should be a spiral in reality, isn't it? Does that matter? Additionally, could you share your blend file? What you're starting with to make it is not totally clear to me.

guys...please....add a blend file to make it as easy as possible for us, who help you for free in our spare time!

Looks pretty round in the centre to me.. so presumably you mean something else.. could you illustrate what that is, please?


text:
can someone explain me the node setup in red and why does the -0.5 value keeps the plane from moving up and down?
I am trying to understand why the value of -0.5 stops the plane from moving vertically and how do

Wherever you got this setup from, either the one who made this had no idea what he did so made it unnecessarily complicated or there was a specific reason to build it like that which should be explained somewhere.

@GordonBrinkmann I am following a udemy course for environment creation where this particular node setup is used to create terrain without displacing it from its origin

Okay, I don't know if this will make sense somewhere in the course, but the result of the whole frame in the middle between the Color Ramp and the Set Position nodes can be achieved much easier and less redundant with one of the setup in the answer by @lemon

@GordonBrinkmann Yes, lemon provided better solutions and were easy to understand as well

In short, it allows to shift Z of a value between -0.59 and 0.59.

Noise texture outputs a value between 0 and 1.
Color ramp, as it is, keeps the value between 0 and 1.
The calculation:
Upper part will shift the position in Z between 0 and 1 multiplied by 1.180, so 0 to 1.180.
Lower part half and negates then value of 1.180 and sets it as a second shift for Z.
So the result is a shift on Z position between -1.180 * 0.5 and 1.180 - (1.180 * 0.5) which is from -0.59 to 0.59.

That can be also done by:

As we go from 0 to 1, substract 0.5, so that it is now from -0.5 and 0.5 and multiply by 1.180 to finally have it between -0.59 and 0.59.
Or by:

which directly remaps from 0 to 1 into -0.59 to 0.59.

0.5 comes from this:

What occurs to 1 above is proportionally the same for 1.180.

the value of 1.180 can be changed according to our needs but the -0.5 value cannot be changed as the plane will start moving in the z direction and not just the texture. the -0.5 value keeps the plane attached to the origin and only moves the texture How do we come to that value?

@NishchayGawai The Noise Texture produces pseudo-random values between 0 and 1 (in case of the Fac output single float values, while the Color output has random values between 0 and 1 per each of its RGB channels), which average around 0.5, so the plane is moved upwards 0.5 on average (because X and Y offset are set to 0).

@NishchayGawai, I have added a figure, in hope that helps to see where 0.5 comes from.

@lemon: May I ask why do you keep the Color Ramp node and not just plug the Fac socket of the Noise Texture node to the Map Range Value socket ? I don't see why adding RGBA single float values is "better" than a single float value.

@StefLAncien, I think we need to keep things as close possible to the question here, with no other enhancements. And anyway we don't know why the original node setup has been made this way...

i am new to geometry nodes so map range has been a little hard so i use color ramp so that i can see it visually in viewer node

@lemon is there any way I can share the file with you?

you can use this https://blend-exchange.com/ and copy/paste the link you've obtained here.

@StefLAncien Since the original setup is from a course, it might also be that the Color Ramp is used to later manipulate the interpolation between 0 and 1 other than linear, so I would leave it in there as well.

@lemon what I understood was that whatever value I put to manipulate the terrain the -0.5 value will always halve the value into the negative direction and positive direction

Yes, more exactly, in your original node setup, it set the position to the full positive value and offset it back by half of it.

More exactly by half of the full possible positive value.

yes, will this setup [the ones provided by you as well] always work for any texture ?

Well, there is no general case, but yes, you can always apply this calculation to textures: color output are convertible to float between 0 and 1, so you can.


text:
How to insert 3d model in 2d image based on skeleton-like keypoints (thinking about same mesh transformation as in Deforming Bones)
I'm new in Blender and 3d modeling in general. The task is as follows:
I have a pose estimation algorithm that can estimate such keypoints on image.

I want to be able to properly insert 3d model depending on those keypoints and implement it in python. I found out that bones from blender might be very useful for this purpose.
It may be very helpful if you shared some insights or steps to deal with such task.

do you mean that you have no other input than images? Maybe using opencv with some color filters (if color contrasts are possible) and determinate some feature points?

As input I'm using images and keypoints (json).
I didn't quite understand what are feature points.

so the json provides all needed information? what about the images in this case? I think you should provide more details about what the json file contains.

The json provides the coordinates of this "skeleton" points you see on the picture above.

@EddudosKim 2D or 3D?

@RobinBetts, it is 2D keypoints. It's OpenPose python library.
I think that I can't properly insert 3D model onto 2D image without any knowledge of depth from the image, right? At least seems like bones don't work that way.

Hi, Edduos, just checking .. with AI, there might be some informed guessing going on.

@EddudosKim Regarding depth, if you have fixed bone lengths (which you should), you can figure out the angle toward or away from the camera (but, can't decide between the two.)


text:
how to make lines in the bottom of sink

I want to make these lines in the bottom of the sink. I tried, but I couldn't make them. Does anyone have any suggestions on how to do it? I am sharing my blender file screenshots in wireframe and with material.enter image description here

any suggestion

in your reference image the middle piece is square, do you want it square or circular like in your mesh?

did you try edge crease?

Create a plane, subdivide it, inset:

Move down the inset:

Extrude up the borders:

Bevel these edges:

If you need to make the center circular (?), inset the center, then right click > LoopTools > Circle:

Work the topology a bit, etc:


text:
How to triangulate a polygon using Python?
I often meet the following problem: mapping a point on the surface of a polygon in 3D coordinates to the corresponding polygon in a UV map.
To do that, the only way I've found is to:

Triangulate the mesh (by copying the original, and use bmesh.ops.triangulate
Then use a barycentric transform with barycentric_transform from mathutils.geometry

I'd like to avoid copying and triangulating the whole mesh.
My question is: how to transform on the fly the list of vertex indices associated to a polygon (which seems to be a fan) into a list of tris the same way bmesh.ops.triangulate does it (or in a coherent other way)?


text:
mask/roto the part of the texture inside the shader editor
I draw a mask in the image editor. How can I use this custom mask inside the shader editor ? I want to mask out some part of the image texture using mask/roto directly - without have to render the mask first as image using blender compositor or other image editing app.
Is it possible ? I can't find mask node in the shader editor.
EDIT :
I added this new screenshot below.

How do you draw a mask in the Image Editor? Drawing black and white areas on an image? Then you need an Image Texture node in the Shader Editor to use it. And if you don't want it to get lost you should save the image on your drive.

Sorry forgot to mention , I didn't paint a raster image (using paint tool), I draw a vector mask as spline (in image editor , I switched the mode to 'mask' ).

I've just added the screenshot on my post. The option I have now is to load the mask/spline into compositor using 'mask' node , write it out as image file then bring it back into image editor . It takes too many steps.


text:
how to get reflection on a surface while the surface has to be hidden from camera?

lower left is the footage/image where I want to put 3d object on it. upper left is my 3d setup where I use a plane for the desk ( image is projected on the plane to match camera angle). I use reflective material for the desk/table so I can get the reflection of the glass and sphere. upper right is the render result if I render all the objects . But I don't want to render the plane/desk , just need the sphere and glass + reflection on the table. I will comp them later on top of the desk image using compositing app.
So for the plane/desk , in the object property -> visiblity -> ray visbility -> turn OFF camera. The problem if I hide the plane this way, I will lost the reflection on that desk. How can I get reflection passes on the desk without rendering the desk object.
blend file :
https://drive.google.com/file/d/1Y3rzWReivhvIXSjUOGR7qniCFqv2kuTx/view?usp=sharing
image link :
https://media.istockphoto.com/id/513821918/photo/close-up-of-a-luxurious-table-corner.jpg?s=612x612&w=0&k=20&c=wT5GL-dH1msU5DdieewhB_aahVTeiSgDgAbesxHdrMo=
Thanks


text:
Python: How do you code drag and drop base color to emission color?
You can select the base color swatch of any BSDF and drag it down to the emission color.  This will paste the HSV values.  This produces a nice, fast, emission effect.  For a while now, I have been trying to duplicate this action with Python but I can't seem to get it to work.
Any ideas about the Python script to describe that action?
I have tried to script an add on.  The action is part of a "light switch" like functionality for selected objects.  It does not perform as expected.
     import bpy
from mathutils import Vector, Color

class MYADDON_PT_Panel(bpy.types.Panel):
    bl_idname = "MYADDON_PT_Panel"
    bl_label = "My Addon Panel"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_category = "My Addon"

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

        layout.prop(light_switch, "toggle_box")

class MyAddonProperties(bpy.types.PropertyGroup):
    toggle_box: bpy.props.BoolProperty(
        name="Toggle Box",
        description="Toggle the emission material of selected objects",
        default=False,
        update=lambda self, context: LightSwitch.toggle_emission_material(context.active_object.material_slots[0].material, context.scene.light_switch.toggle_box) if context.active_object is not None and len(context.active_object.material_slots) > 0 and context.active_object.active_material is not None else None,
    )

class LightSwitch(bpy.types.Operator):
    bl_idname = "object.toggle_emission_material"
    bl_label = "Toggle Emission Material"

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

    @staticmethod
    def toggle_emission_material(material, toggle_box):
        if material is None:
            return
        for obj in bpy.context.selected_objects:
            for slot in obj.material_slots:
                mat = slot.material
                if mat == material:
                    if toggle_box:
                        # Get the base color of the material (input 0)
                        base_color = material.node_tree.nodes.get('Principled BSDF').inputs[0].default_value
                        # Set the emission color (input 0) to the base color
                        material.node_tree.nodes.get('Emission').inputs[0].default_value = base_color
                        # Set emission strength to 3
                        material.node_tree.nodes.get('Emission').inputs[1].default_value = 3.0
                    else:
                        # Set emission color to black (0,0,0,1)
                        material.node_tree.nodes.get('Emission').inputs[0].default_value = (0.0, 0.0, 0.0, 1.0)
                        # Set emission strength to 0.0
                        material.node_tree.nodes.get('Emission').inputs[1].default_value = 0.0

classes = [MYADDON_PT_Panel, LightSwitch, MyAddonProperties]

def register():

    for cls in classes:
        bpy.utils.register_class(cls)

    bpy.types.Scene.light_switch = bpy.props.PointerProperty(type=MyAddonProperties)

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

    for cls in classes:
        bpy.utils.unregister_class(cls)

    del bpy.types.Scene.light_switch
    for cls in classes:
        bpy.utils.unregister_class(cls)

if __name__ == "__main__":
    register()

you mean copying the base color of principled bsdf to its emission color? what have you tried that does not work?

ok, I'm not sure about which information you're looking for? Know how to find the material? the node in it, or its inputs?

Sorry lemon, just updating my question.  I run the script and it doesn't change the emission properties of the selected objects.

OK. Is it about setting the Emission input of the principled or getting another Emission node? If another node (and if this node exists), your script should work (and it works)

Question is about the changing the emission color to be the same as the base color of a given material.  (After checking a toggle box would be a nice extra.)

What you have done works: https://i.sstatic.net/b8v2l.gif you just need to have the good shader settings... Or do you want to change the "emission" input of the principled?

Thank you for demonstrating that.  I didn't realize the script would function if I set up the nodes in the shader editor. (!)   I wanted the script to work just with the principled in material properties.

Hello ! I don't think you need an operator class to fire the update callback. This is a bit weird to see and I would advise you to not do it. If you want to call an operator this is not the method, and I would also advise not calling operators in property callback methods.

You can also change the callback, self contains the property group object so you can access the toggle with self.toggle_box in the lambda instead of context.scene.light_switch.toggle_box which also brings the risk of not using the correct property group if your file has more than one scene.

BTW the two for loops and if mat == material: are superfluous here, material data is shared among objects so if you modify one material, you'll modify all instances of it across all objects in the file. You can if toggle_box: directly after testing if your material is not None.

Thanks Gorgious, appreciate the suggestions.

OK, thank you for clarifying your question.
Using it with principled only, you can change this part of the script like so:
        if mat == material:
            principled = material.node_tree.nodes.get('Principled BSDF')
            if toggle_box:
                # Get the base color of the material (input 0)
                base_color = principled.inputs[0].default_value
                # Set the emission color (input 0) to the base color
                principled.inputs[19].default_value = base_color
                # Set emission strength to 3
                principled.inputs[20].default_value = 3.0
            else:
                # Set emission color to black (0,0,0,1)
                principled.inputs[19].default_value = (0.0, 0.0, 0.0, 1.0)
                # Set emission strength to 0.0
                principled.inputs[20].default_value = 0.0

To know the inputs of a node, you can, in Python console:

Inputs can also be accessed by their names. For example principled.inputs['Emission'] instead of principled.inputs[19].

I've attached a blend file, in case of...

I got it right before you sent the blend.  Thanks lemon, well done.


text:
Customizing a shortcut for the UV Editor no longer works in 2.8+
Customizing a shortcut to Snap Cursor to Selected in the UV Editor used to work in 2.79
The syntax to define this shortcut is no longer working in 2.8+
That syntax is: uv.snap_cursor

After typing it in, the Target drop-down selector appears, indicating that Blender still recognizes the command on some level.
Furthermore, after performing this action using the standard ShiftS (and Pie Menu) the Console indicates that the command has not changed. It just doesn't seem to be assignable to a keyboard shortcut anymore.

What needs to be changed for this to work? Thanks.

@RobertGützkow You were right! I had created the shortcut in the wrong section. (facepalm) It's working for me now. Thank you! If you post an answer, I'll accept.

The shortcut has to be created in the correct category otherwise it won't work. For the UV Editor that is: Image > UV Editor > UV Editor (Global)


text:
Why are the python style modules of freestyle not working?
I downloaded and tested the example from several links, including the freestyle official page,
but it did not work at all.
official page of freestyle,
blendswap,
freestyleintegration
However, the examples written by dfelinto on this github worked.
github
What is the difference between the both? Did Blender lose compatibility with freestyle API while version up?

Yes there have been changes made to the freestyle api in various versions since it was added to blender. Freestyle is still there and working, it is just that some of the older python scripts might need updating. I'm not sure of any list of these changes, but you could compare the above page to this first release of the freestyle api. You could find the api used in other releases by starting here.
The first link you have are examples from five years before freestyle was added to blender and may not be close to the python support that was included with the first version of freestyle in blender.
Looking at the console output when using any of these older scripts might be helpful in finding where they fail.
The link to dfelinto's github repo has the same files that are included with blender releases, these files in his repo are identical to the current official development version of blender. Dalai is one of the blender developers and that repo is a copy of blenders code with some changes that he is working on.

Thank you for your specific details. I got a clear answer.


text:
The Shade Smooth option is ignored when baking a displacement map

Is the smoothing option meaningless since the displacement map is meant to be extracted from high polygons?
So what is the correct way to create a greyscale bump map?
And here is my blend file

can you detail how exactly are you baking from 1 to 2?

Well ... I baked the sphere to the plane to get a dome-shaped bump map. So I do not have to overlap two spheres. The reason for capturing the two spheres is to show you that the blender ignores the shade smooth option when baking works. I modified the attached image to help you understand.

I mean, which render engine? which kind of bake, how can I reproduce exactly? can you share the file (use http://blend-exchange.giantcowfilms.com/ then paste the provided link text iediting your question)? Anyway I guess yuor bake reflects object geometry, and shading doesn't alter that.

I apologize for posting duplicate questions. I made my question more clear. And I attached the blend file according to your advice. I baked it in BI and then rendered it in Cycles. Could you check my file?

Now it's much more clear and you put your "real" question.
It seems you wish to bake displacement (ie: geometry) from shading (ie lighting): it will never work imho.
Use a real "smoothing" option, like more subsurf

so, why "Shade Smooth" doesn't work when baking a displacement map, unlike the "normal map" (that works)?
because "smooth shading" is, in fact, just a shading trick: it alters the normals, to let the object appear smooth (as if it had more geometry, which it has not), so the normal baking takes it into account.
the "displacement baking" instead needs to bake the geometry "height levels" into color levels (the baked image), but since "smooth shading" leaves the geometry untouched, you get the same identical result as without the smooth shading...

Thank you. This is a nice solution.
But I'm studying the theory now, so I wonder why Shade Smooth doesn't work when baking a displacement map, unlike the normal map.
My guess is that shade smoothing is meaningless because a single polygon has a size of less than 1 pixel on the image to be baked, because the original displacement map baking feature was intended to be extracted from the high polygon model. Am I making the right guess?

I edited the answer to explain why (imho)...


text:
Can I reuse a character to multiple characters in one scene with the link feature in Blender 2.8?

What I want to do is look like the image above.
In fact, I posted the same question about Blender 2.79
In the meantime, i have heard static override of the 2.8 version.
Therefore, I thought the above operation would be possible.
But today I tried one collection multiple linking & make proxy in Blender 2.8 and it failed.

I tried to create a separate proxy for the linked objects, but all the objects are controlled by the last proxy I've created.
What did I miss?

Dan's method: failure

I tested Dan's method.
(Operation in the following order: link → make proxy → link → make proxy)
However, the result is that the last-generated proxy controls all linked objects.

I don't know much about this but does it change if you make a proxy on one copy first (before duplicating), then repeat (Link in another copy > make proxy)?

@Dan
I tested your suggestion and attached a GIF at the bottom of the text. Please confirm.

Hm, I had trouble with something similar a while ago. Will see if I can work out what I did.

I just had a look and turns out I didn't solve it, I had to create duplicate rigs that weren't linked... I think it's still a shortfall of Blender unfortunately (?) https://blender.stackexchange.com/questions/80522/multiple-character-instances-with-blenrig-workflow

This seems to be a limitation of Blender at the moment. You can't link in multiple copies of the same rig for independent animations.
The workaround is to create copies of the original blender file and link in the copies.

good. Using multiple copies can accomplish my purpose.
However, this video demonstrates that multiple overrides work in Blender 2.8 by static override. Is the update missing?
https://www.youtube.com/watch?v=X_-cKpV6Reg

Edit: Just watched that video and appear it is possible! Sorry that looks like it should work but haven't tried in the new version of Blender.

Update: Appears it didn't make it into 2.8... https://blenderartists.org/t/static-override-wont-make-it-to-blender-2-80/1130694

Ah, if I had been constantly monitoring blenderartists, I would have noticed this. But I did not know that the static overrid has been postponed since 2.81.
Anyway, for now, let's link the characters using multiple copies methods. I would like to quickly try Blender's new referencing system!


text:
How to Track Users of Data Blocks?
I find it difficult to understand that there are two users of that mesh data in my blend file.
How can I clearly track the user of a block of data in Blender?

First, deselect all.
You can then select all users of (eg) a mesh by right clicking that mesh in the outliner then clicking "select linked":

It should work with any linked item as materials, etc.
Then if you switch the outliner to "selected", it will list just all linked users.

bring now able to look at your file, it seams really weird...
you have 1 scene, and bender reports 1 object, but in the datablocks you have 188 objects... how many should it have in your goal?

and you "only" object has currently one of dozen other meshes...

could it be that this file has issues due to a "troubled" history..?
I tried appending only this object from your file (all 188 objects are still there) to a blank new file, and it works well now, and its mesh has only 1 real user, as it should have been...

Thanks for the reply.
But that doesn't work for my files. Only one object in my scene is still selected.
I have attached a blend file for you.
Please check my file.

I updated my answer...

OMG...Yes I did a lot of work in this scene.
But I knew that Blender would delete the data it did not use when closing the file.
Why dose the blend file has leftover residue data?
What habits do I have to prevent this from happening?

I tried appending objects from your file into a blank new file, it works, objects are all still there... you could do the same, either import in the new file only what you need, or as they are many, import a bunch of them and delete what should be gone. Then import others, and continue until your new file is OK.

updated answer again

Yes, thank you very much. I learned a lot. I thought it was a bug in the program, but I think I've worked too excessive. In the next work, I will parallel data cleanup.

that should not happen, imho, but I don't know the history of this file... if you delete an object, it should go away... why you had such a mess, it is a mistery to me... if you can understand how that happens, you should open a bug tracker issue, adding details on how to reproduce.

I'm afraid I don't know why this happened...It is a mystery to me too. Currently, Blender seems to have a hard time tracking the blocks of data.
If Blender's data block tracking was convenient, you would not need to move objects to a new file.
I think OOPS Schematic, which existed in Blender in the past, would be useful.

I found out that the group kept them. If I want to completely remove an object from the scene, I should also make sure it remains in the group.

Via a script.
Re-visiting https://blender.stackexchange.com/a/230425/15543 which was written to see which material data-block used which images.
An image, like a mesh, world, material ... in blender is an ID object. Given the image is our ID object of interest Run over all the ID objects in the blend and list and report any where ob.user_of_id(ID) is > 0
Copy and paste the script block below into the text editor and run it. Output is written to the system console:
import bpy
from bpy.types import bpy_prop_collection

def search(ID):
    def users(col):
        ret =  tuple(repr(o) for o in col if o.user_of_id(ID))
        return ret if ret else None
    return filter(None, (
        users(getattr(bpy.data, p))
        for p in  dir(bpy.data)
        if isinstance(
                getattr(bpy.data, p, None),
                bpy_prop_collection
                )
        )
        )

img = bpy.data.images[0]
#img = bpy.data.images['Foo'] # an image named Foo

# report
print(repr(img))
print("Users:", img.users)
for users in search(img):
    print(users)

Test run. Image used in material, "Material", node group "NodeGroup", reference image empty "Empty", texture "Texture" and world "World".
bpy.data.images['Screenshot from 2021-06-17 17-17-47.png']
Users: 5
("bpy.data.materials['Material']",)
("bpy.data.node_groups['NodeGroup']",)
("bpy.data.objects['Empty']",)
("bpy.data.textures['Texture']",)
("bpy.data.worlds['World']",)

Or for an Object type
.. or users of context object, edit to img = bpy.context.object
result
bpy.data.objects['Cube']
Users: 2
("bpy.data.collections['Collection 1']",)
("bpy.data.scenes['Scene']",)

How to find out what is using an image in a blend file
How to find the users of a material?
How do I find which materials are using a particular node group


text:
trying open blender but getting error failed to set 44100hz, got 48000hz instead.and crashing. what to do?
I am new to blender and installed it for the first time in my computer.
And when i started it  showed a error "Error AL lib: UpdateDeviceParams: Failed to set 44100hz, got 48000hz instead.". And the error closed automatically and blender did not open at all.
I looked around on internet and found the most common solution to this problem was deleting the config files in appdata. But the thing is there is no Blender Foundation folder in my appdata\Roaming
What should i do?. My blender is 2.79

No in that question the error after the program opened. And for him it did not crash. But for me the program did not even open.

It is likely that the crash is not related to the error you see (many people get that message) but something entirely different that remains unreported, ie. you are really getting a silent crash.

I get that error constantly, blender works fine with it


text:
Location change of child as gaming mode activated
I have two cylinders, one is the puck, other is the handle. The handle is child of the puck. They both have dynamic physics.
I use python to define their motion.
As soon as I hit p and enter gaming/testing mode, their locations are changed. But the handle has more dramatical location change than the puck.

Here is two photos of before and after hitting p:
Before:

After:

I cannot figure out why this sudden change of location and getting compressed in y direction.
Here is my script:
import bge

def main():
    cont = bge.logic.getCurrentController()
    scene = bge.logic.getCurrentScene()
    keyboard = bge.logic.keyboard
    puck = cont.owner

    # sensors
    bottom_edge_collision = cont.sensors["bottom_edge"]

    # keys
    r_pressed = bge.logic.KX_INPUT_JUST_ACTIVATED == keyboard.events[bge.events.RKEY]

    if r_pressed:
        scene.restart()
        print("rsrt", puck.localPosition)

main()

Here is my blend file:
https://drive.google.com/drive/folders/1dcXSZ7HHZH9h8f6KFJWUsVmuRl69o6bd?usp=sharing

You do not need "main()" and "def main()". It makes the code harder to read.

Without seeing your blend file we can only guess. The most likely candidate is a non-unit scale. Select the objects, press CTRL+A and choose "Scale". This applies the object-level scale factor to the mesh itself, and resets the object-level scale to (1, 1, 1).

This sounds like an old bug of Blender (which can't be compensated by the BGE).
in Blender:

Unparent the objects.
Reset both objects to the scene origin (Rot, Pos, Scale).
Parent them together
move the parent to the desired location.

When I use no scale, your solution is perfect. But when I make the handle slimmer, same problem occurs. How can I make a thin-long handle other than using scale?

As mentioned in the other answer, apply the scale, which deforms the vertices rather than the object.


text:
Making holes in an object using an image as a reference
I have an object already created in blender, a tree, or a human, or a pipe.. and I need this to be drilled with multiple holes.
The holes are painted in an image, that is, it is an image that has a repeating an images pattern (they can be circles, squares, or any form).
Here are some examples for drilling-pattern:

Well I try with the Knife project tool in edit mode .. it is not perfect sollution but it works...

Well, the knife project tool on edit mode is very easy, just put in front of the object to be affected, the design wished, in  my case I imported an svg image and convert it to a mesh.. it works. I would to try several times with diferent sizes with the svg images.

Ok I will . I am new on this page..

Assuming Cycles (and using your first sample image), you can achieve this effect using a volumetric material to render the insides of any 'holes' in the mesh :

This is achieved with the following material :

The 'surface' is a mix between a Transparent shader and a Diffuse shader (or whatever surface shader you want to use) - using the image as the mix factor. Unfortunately you cannot use UV coordinates for this since the coordinates need to also be used for the volumetric (and UVs don't support points below the surface - in my case I have used Object coordinates, passed through a Mapping nodes to allow them to be rotated and scales as desired.
For the 'internal' structure, the same image is used to affect the density of the volumetric - for the 'spaces' the density will be zero (ie, empty space) while for the 'solid' sections the density needs to be high so as to appear solid. This can be achieved using Maths nodes (in this case, Subtract from 1 (as the 'black' in the image was to be 'solid', the white 'trasparent') and then multiply by 15 for the 'high' density - even higher values will make the 'internal' substance less translucent). The Volume Scatter and Volume Absorption setup is the same as would be used for smoke (just higher density than would be typical for smoke).
To increase the quality of the volumetric you may need to decrease the 'step' size in the volumetric properties (although this will slow down the render). Also, don't forget to set Light Paths Volume scattering (in Render properties) to more than 0 (eg, 4 or 5 should be sufficient).

It looks very complex! but professional, I would to be honest, I don;t understand it.. I should learn first this new area called Cycles..

It looks nice! It is like a very complex Boolean operation over those objects but it is automatic he! It would be very amazing if something like that would be incorporated on a script.

Thanks. Cycles is well worth the effort to learn - it's not as complicated as it looks and produces much more realistic results than Blender Internal render. From your comments on other answers it looks like you're looking for actual changes to the mesh rather than a purely visual effect (using volumetrics effects such as this cannot be 3D printed as there is no change to the underlying mesh). I suspect a 'true' boolean operation on the mesh would be better suited to your needs - which means using an image to drive the 'holes' is probably not practical.

Mmm Can be possible to import a mask from and image and apply that to the object mesh and then delete the faces selected ... ??? the faces selected should been the graphics wished..

If you want holes in your actual mesh (rather than just the appearance of holes) I think your only option will be to create a mesh instead of the image and use Array modifiers to replicate it, and use Boolean modifier to subtract it from your mesh - but then you aren't sourcing the 'subtract' from an image. I don't believe this is possible directly from an image without creating a mesh from the image first.

@cegaton Good point - I can never decide whether a new answer or an edit is the best option. I’ve added a new answer.

You could use the Boolean modifier to alter the base mesh (making 'real' holes rather than just the appearance of holes). This can be achieved directly from the image by way of a Displace modifier - however, this is far from efficient due to the very large amount of subdivision required, so be warned!
Add a plane to the scene and add a Texture set to the image to use for the mask.

Add a Subdivision Surface modifier to the plane. Ensure it's set to 'Simple' (so it subdivides without distorting the original mesh). You may need to add multiple Subdivision Surface modifiers to get the required subdivision levels (there's an upper limit of how many levels of subdivision each modifier can apply). Below the Subdivision Surface modifiers, add a Displace modifier using the texture created from your image as shown below :

Adjust the Displace settings (Midlevel and Strength) until you get a surface suitable for carving out from your mesh :

Next you need to ensure your target mesh is manifold - effectively a complete solid - since the Boolean can produce unexpected results if the mesh is not manifold (it cannot determine what is 'in' and what is 'out'). The default Suzanne mesh is not manifold, due to the eyes, and so needs some minor tweaks - I removed the 'eyes' and filled in the sockets to make it manifold :

Now you can add a Boolean modifier. Set the Operation to Intersect and the Solver to 'Carve' (this allows the 'cutting' object to be non-manifold, to slice out sections of the target mesh).

This can produce the following result. Note that you'll need to crank up the levels of subdivision to get sufficient detail from the image for well defined rounded holes (otherwise it becomes very 'pixelated'). The resolution of your image is also significant here.

Note that this method is very CPU intensive due to the very large number of generated faces required. A better method would be to dispose of using an image and to model the 'mask' mesh directly - eg, by creating a cylinder and using Array modifiers to duplicate it into a grid.

Well, I use the knife project tool on edit mode. Just I put in front of the object to be affected, the design wished, in my case I imported an svg image and convert it to a mesh.. it works. It is like boolean operation but it is more fast. When those finish it just mark the faces affected, if you are agree with them then just deleted them, or you can modify the selected faces and choose more or less..
I would to try several times with diferent sizes with the svg images.


text:
How to add Modifier to an NLA strip using Python?
Unlike objects, NLA strips do not seem to have the modifiers.new() method. Instead, there was a bpy.ops.nla.fmodifier_add(), so I tried to activate the strip to use it, but it was difficult. The active was a read-only property.

So unwillingly, after clicking the strip in the GUI to confirm that the active value was true, the ops was executed, but the incorrect context error was obtained.

What is the correct way to add Modifier to the NLA strip using Python without clicking GUI?

With the blender 3.0 update, the modifier of NLA strip is no longer read-only. [Release note]

The command is strip.modifiers.new('your name here', 'STEPPED')
documented here. The below example adds a modifier to the currently selected strip.
# get the currently selected strip
cur_strip = bpy.context.scene.sequence_editor.active_strip

# add a modifier to the strip
new_modifier = cur_strip.modifiers.new('your name here', 'STEPPED')

Also, you're getting the failed, context is incorrect error message because I believe all the bpy.ops.XXX commands need to be run while the mouse is in the correct area (in this case, the video editor). Since your mouse is in the scripting console, it errors. So you would need to run the below command. Unfortunately usually doing something in the video editor, then looking at the command in the scripting console gives you the non-console friendly bpy.ops.XXX version of the command.
bpy.context.area.type = 'SEQUENCE_EDITOR';<your command here>;bpy.context.area.type = 'CONSOLE'

I'm using Blender 3.0, I don't know if its different in Blender 2.X


text:
How do I custom set the origin when use the mapping node?

I'm going to use the mapping node to rotate my X-mark texture.
However, the origin isn't centered on the X-mark.
How do I custom set the origin when I use mapping nodes?

Test Chris's Answer
The origin of the geometry seems like independent of the rotation origin of the mapping node.

All you have to do is add a vector math node before mapping node, set it to add. Now you can easily change the origin by changing the value of vector math node

I had the same problem and i could not fix it with the vector math node alone. I also had to add $-0.5$ to the mapping node.

This does not really answer the question. If you have a different question, you can ask it by clicking Ask Question. To get notified when this question gets new answers, you can follow this question. Once you have enough reputation, you can also add a bounty to draw more attention to this question. - From Review

Tap on cross to select

object -> set origin -> to geometry

I tested the geometry origin, but it didn't work. I added a test gif to the question.


text:
To control the Bind of the Surface Deform Modifier with Python
I'm going to write a script that adds Surface Deform Modifier to multiple objects in batches and binds it to the target object.
I succeeded in adding a Modifier to all selected objects and setting a target object, but failed to bind. Currently, my script runs Bind operation only for the active object.
How can I fix my script?
import bpy

obs             = bpy.context.selected_objects
modifier_type   = 'SURFACE_DEFORM'
modifier_target = bpy.data.objects['Plane']

for ob in obs :
    ob.modifiers.new(name=modifier_type,type=modifier_type)
    ob.modifiers[modifier_type].target=modifier_target
    bpy.ops.object.surfacedeform_bind(modifier=modifier_type)

Override the context.
Another option other than setting the active object is to send an alternative (overridden) context to the operator.
Have used normal blender practice of using the active object to be the target, and add and bind modifier to other mesh objects selected.
Have named the modifier "Foo" to emphasize the use of the reference and not rely on the modifier having the name suggested.  Relying on it having name given is a common way to have blender scripts not work as expected because of the naming convention requiring a unique name, that only the first can have.
import bpy

context = bpy.context
target = context.active_object
obs = [o for o in context.selected_objects
        if o.type == 'MESH'
        and o is not target]

for ob in obs:
    mod = ob.modifiers.new("Foo", 'SURFACE_DEFORM')
    mod.target = target
    bpy.ops.object.surfacedeform_bind(
        {"object" : ob},
        modifier=mod.name
        )

From Blender 3.2+ temp_override method is introduced.
Which looks like this:
for ob in obs:
    mod = ob.modifiers.new("Foo", 'SURFACE_DEFORM')
    mod.target = target
    with bpy.context.temp_override(object=obj):
    bpy.ops.object.surfacedeform_bind(
        modifier=mod.name
        )

Finally   In as much as aligning equals signs is "nicey nicey" and nostalgic for anyone who remembers COBOL, blender recommends the usage of PEP8 for formatting code.  If your addon makes the repo it will be cleaned away by autopep8

remember me to never again answer Python questions, except if you tell me you're gone for hollidays or something! ; )

@lemon. Timing wise had started answer before yours popped up, got lost in the COBOL link.  Fortunately there was a point of difference.

Set the object active (and preferably, use the new modifier name instead of a constant name).
import bpy

obs             = bpy.context.selected_objects
modifier_type   = 'SURFACE_DEFORM'
modifier_target = bpy.data.objects['Plane']

for ob in obs :
    # Set the object active
    bpy.context.view_layer.objects.active = ob
    modifier = ob.modifiers.new(name=modifier_type,type=modifier_type)
    modifier.target = modifier_target
    bpy.ops.object.surfacedeform_bind(modifier=modifier.name)


text:
Why does 'bpy.ops.nla.fmodifier_add' fail due to 'context is incorrect' error?
My nla strip confirmed that the active attribute is True, but bpy.ops.nla.fmodifier_add failed due to the context is correct error. What's the reason? For you, I attach my blender work screen and api capture image.

You apparently have to override the context to make Blender believe you are inside the NLA editor.
import bpy

win    = bpy.context.window
scr    = win.screen
area   = [area for area in scr.areas if area.type == 'NLA_EDITOR'][0]
region = area.regions[0]

override = {
    'window': win,
    'screen': scr,
    'area'  : area,
    'region': region,
    'scene' : bpy.context.scene,
}

bpy.ops.nla.fmodifier_add(override, type="STEPPED", only_active=True)

Of course this only works if there is an NLA editor area open. Otherwise you'll have to create one first.

Thank you, it works perfectly for me. I never knew there was a third hidden parameter. To infer that, I probably need a deeper understanding of Python's inheritance.

If you are interested, please take a look at this question. It's a question about how to add an NLA strip modifier without using ops.

Having to pretend to be in a particular area is certainly one of the stupider bits of Blender operators. Unfortunately I don't think there's a way to do it without an op here.


text:
About terms : Data Path, RNA Path and Property
First of all, I'm sorry. My question seems to be somewhat comprehensive.
While setting up the driver and writing related rudimentary scripts, I confirmed that both RNA Path and Property were mentioned in the Data Path pop-up. At first glance, it seems to have a similar meaning.
Can you explain the difference between these terms and the concept of constructing the data path in the blender?

*Sorry, I attached an image for drawing annotation, but I will add text for the convenience of copying and pasting the code.
# Copy Data Path
'key_blocks["shapeKeyName"].value'

# Copy Full Data Path
bpy.data.shape_keys["Key.001"].key_blocks["shapeKeyName"].value

For shapekeys.
[Hunt down link re ID objects and paths]
Basically ID objects get stored in the data of the blend.
path_from_id(property="")
.. method:: path_from_id(property="")
Returns the data path from the ID to this object (string).
:arg property: Optional property name which can be used if the path is
   to a property of this object.
:type property: string
:return: The path from :class:`bpy.types.bpy_struct.id_data`
   to this struct and property (when given).
:rtype: str

For the key 1 shape value on the context objects mesh
>>> C.object.data.shape_keys.key_blocks['Key 1'].path_from_id('value')
'key_blocks["Key 1"].value'

Ok that's different, let's check the
>>> C.object.data.shape_keys.key_blocks['Key 1'].id_data
bpy.data.shape_keys['Key']

or via
>>> C.object.data.shape_keys
bpy.data.shape_keys['Key']

confirms that the shape keys property on the mesh points to the Keys type ID object in the blend data shape keys collection.
Just like the data property of a mesh type object points to a mesh
>>> C.object.data
bpy.data.meshes['Cylinder']

If you are going to use shape keys as driver variables then set the ID type to Key and select the set named "Key" in this example.
The data path (RNA is blender jargon how it is stored internally) to this ID object value to put in datapath field (from above)
'key_blocks["Key 1"].value'


text:
How to merge at intersection line point?
i want to merge at intersection line point , how can i do ?

If these are edges at the same height (co-planar), in Options check Auto Merge and Split Edges & Faces.
Select a point and press  e to extrude it over the other, or grab and drag the edge until the intersection point. At the intersection point, there will be a new vertex.

A useful free extension on the Blender website is TinyCAD. It has a command called 'XALL' that will take all existing overlapping edges and create vertices at the intersections.

related: Can I automatically extend lines from SVG?


text:
Transparent material overlapped error when i export GLTF
I'm trying to export transparent materials in GLTF for AR.
but i found some issue when transparent materials overlapped in view, the texture looks like it breaks. I guess it's from the alpha map. It can't separate front and back.

however this GLTF file coverted in USDZ and open it up in IOS AR, it works well.

i searched BSDF settings for transparent materials in GLTF and followed it but how can i fix it in this situation.

so i really want to fix in GLTF for AR. thanks in advance for the help!

Are all the ice-cube things part of the same mesh in Blender, or are they separate objects?

not separate. same mesh!

Try making each one a separate object. Viewers may sort transparent objects.

wow.. thank you. it works well!!


text:
How to make the curved part of this traffic light?

How do I make the curve parts of this traffic light in blender?

Hello and welcome. Please use a title that matches the content of the post. It should read like a question, be descriptive but succinct, unique and identifying, summarizing the problem so that anyone searching for similar issues is likely to find this. Remove anything superfluous, avoid using words like "this", "help with", "issue" or "question about", instead describe what "it" is. Remember, your title is the first thing visitors see, answers you get depend heavily on it. See What is the problem of asking “How do I do this?"

Create a cylinder (Cap Fill Type > Nothing):

In Edit mode, rotate 90° on X, delete the bottom half:

Move the bottom vertices backwards:

Select all and AltE > Extrude Faces Along Normals to give thickness:

Add a circle mesh
TAB to go into Edit mode
Delete enough vertices such that the edges that are left resembles the required shape.
Select the remaining vertices and press E to extrude along the Y-axis to get the thickness of the the shape. Press S to scale, to fan the upper vertices outward.
Select all vertices and extrude along the Z-axis.
Alternatively, just create a plane scale it along the X-axis to make it rectangular. Apply a bend modifier to shape it and a solidify modifier to give it thickness.


text:
viewport → background → world: how to use?
name of the button: Way to display the background: world
how to use this function? For me (v4.3) it has no effect

From the Blender Manual-
"World:
Use the color from the World’s Viewport Display options."
Pick the 'World' tab in the dropdown  first.
Then in Properties, go to
World Properties and set the color under Viewport Display.

Blender gives you multiple options.

That being said, choosing the  'Viewport' tab in the dropdown menu and setting it there is probably easier.


text:
Despite weights being painted correctly, mesh moves in weird ways when I try to animate bones
So I'm trying to rig this little wolf up, but the weighting is really weird. Whenever I move any of the bones, despite the weight painting being all correct, it moves the entire mesh rather than just that bone and its children. So in the second picture, as you can see the whole wolf moves, but it really should only be the upper body.

I read somewhere that it could be something to do with 'rubber tweak' but I can't find that option anywhere, and I don't even know if that's actually the issue.
Additionally, when I move some other objects that have the weights painted correctly, it doesn't move things enough, like on the tail:

Finally, it seems that it's only the spine that's causing the whole mesh to move, while other bones just don't move the rig enough.
I used the wolf premade riggify rig and edited it to suit my needs.
Here is the Blender file, better late than never: https://pasteall.org/blend/92d516501ec14a029255840b655c5a6e

hello, please share your file: https://pasteall.org/blend/

@moonbots Ok, uploaded! Thanks for the help I had no idea how to upload a blend file.

You have overlapping vertices, so go in Edit mode and merge by distance. You'll maybe have some corrections to do though.

So I've removed the doubles (thanks!) however I don't understand when you say to fix spine004 and 5 as they're weighted how I wanted them to move. Unless I'm doing something catastrophically wrong.
I have sort of solved my issue by not using a rigify premade rig, as I made another quadruped model and made the rig myself from scratch and everything moves as I want it to based on the weights I paint. I'm just going to delete the rigify rig and create my own.

oh ok then....  ;)


text:
Why is the NLA Editor the Only Animation Editor in 2.8 Without a Hotkey?
For some reason, when I click on the "Editor Type" button which appears to the left of any editor window header, the resulting editor window popup flickers and disappears as soon as my mouse is moved afterwards (probably a problem with my mouse and not Blender). So, as a workaround to this weirdness, I decided to familiarize myself with the editor window hotkeys, as this would bypass the problem by giving me access to the editor windows without the need for clicks. This works for all animation editors fine, provided I can remember the shortcuts, such as Shift-F6 for the Graph Editor/Driver Editor, etc. But the NLA has no such shortcut listed. I did some research and discovered that there was once such a shortcut in previous versions of Blender (Shift-Ctrl-F12 or something like that). I was going to try to create such a shortcut in 2.8 manually, but there would appear to be no way to right-click in the Editor Window popup and create a shortcut there. Where else would I create such a shortcut, using the UI? Failing a UI method, how else might I create a shortcut for the NLA editor window? Is there a preference file that I can edit manually? I'm running 2.82a on Ubunto Studio 19.10.

In Edit > Preferences... > Keymap > Window you'll find the Shift+F* shortcuts as "Cycle Space Type Set". Open up one you don't use and change its type to "Nonlinear Animation". Or you can create a new shortcut and set it to screen.space_type_set_or_cycle, then add the type.

I get as far as Keymap > Window, and then find that I can't follow any of your other instructions. "You'll find the Shift+F shortcuts..." I don't find them. "... as Cycle Space Type Set." I don't see that either. "Or you could create a new shortcut and..." This is exactly what I'm asking how to do in the OP. "... set it to screen.space_type_set_or_cycle..." I have no idea what this is or what its in reference to.

okay, under the window drop down, what do you see? do you have entries with the first one being "New file", then "Open recent", then some more?

added a gif, hopefully that'll help you

@R-800 any luck?

It took a while, but I finally figured it out. It wasn't straightforward at all. I think it's really something how I had to paste that cryptic string "screen.space_type_set_or_cycle before I could get access to the NLA as a mappable target. But even after getting that far, it wasn't smooth sailing. Turns out that I was adding a key modifier when I had only intended to add the main keypress, and so this modifier was being required along with the main keypress every time. The tooltip for the main keypress says "Type of Event." That is probably not the clearest choice of words.

@R-800 yep, I agree. Keymaps are such a pain to work with, wish it was easier.


text:
Is it possible to swap parts of a mesh that are hidden and unhidden?
I'm trying to create some corrective shape keys, and I am finding that it would be very handy if I could hide the currently visible parts of a mesh while, at the same time, unhiding the currently hidden parts of the mesh. Is there a way to do this? 'H' will hide everything selected, Alt-H will reveal everything hidden, and Shift-H will hide everything not selected. But I want a change in hidden status that is only based on what is and isn't hidden, not on what is or isn't selected. If I could swap what is hidden and unhidden back and forth, I could really nail these problem areas quickly. As it is, the only solution I can think of is to create vertex groups for the problem areas so that I can easily select them, and then hide/unhide parts based on selection. But this means extra steps.
EDIT: If anyone can post a script which does this in one operation, I will mark it as the accepted answer.

bl_info = {
    "name": "InvertHide",
    "author": "Martynas Žiemys",
    "version": (1, 0),
    "blender": (2, 82, 0),
    "location": "ctrl+alt+shift+h",
    "description": "Inverts hiden mesh parts",
    "warning": "",
    "wiki_url": "",
    "category": "Mesh",
}

import bpy

def main(context):
    bpy.ops.mesh.select_all(action='DESELECT')
    bpy.ops.mesh.reveal()
    bpy.ops.mesh.select_all(action='INVERT')
    bpy.ops.mesh.hide(unselected=False)

class InvertHide(bpy.types.Operator):
    """Inverts hidden parts of mesh"""
    bl_idname = "mesh.invert_hide"
    bl_label = "Invert Hide"

    @classmethod
    def poll(cls, context):
        return context.mode == 'EDIT_MESH'
    def execute(self, context):
        main(context)
        return {'FINISHED'}

addon_keymaps = []
def registerKeymaps():
    wm = bpy.context.window_manager
    if wm.keyconfigs.addon:
        km = wm.keyconfigs.addon.keymaps.new(name='3D View', space_type='VIEW_3D')
        kmi = km.keymap_items.new('mesh.invert_hide', 'H', 'PRESS', shift=True, alt=True,ctrl=True)
        addon_keymaps.append((km, kmi))

def unregisterKeymaps():
    for km, kmi in addon_keymaps:
        km.keymap_items.remove(kmi)
    addon_keymaps.clear()

def register():
    bpy.utils.register_class(InvertHide)
    registerKeymaps()

def unregister():
    unregisterKeymaps()
    bpy.utils.unregister_class(InvertHide)

if __name__ == "__main__":
    register()

Save this with Blender's text editor(UTF-8 encoding needed) to a .py file and install it as an add-on. You will have the functionality with alt+ctrl+ shift+h

Thank you so very much! :)

Hide the part of the mesh you want to hide (H).
Deselect everything (Double tap A).
Unhide everything (Alt+H).

The part that was unhidden will be automatically selected by default.
Simply invert the selection (Ctrl+I) and hide the selection (H).

I thought I tried this already and couldn't get it to work. I even almost mentioned this method in the question as being something I could alternatively do, except that I thought it took a lot of steps, and I couldn't get it to work besides. So I edited it out. But when I follow your steps just now, it does work. I still want a faster way, though.

A faster way would be using an addon called command recorder and saving this as an action in it. Then you can pretty much do this with 1 press of a button. https://github.com/Muthird/CommandRecorder2.8

I was happy to learn about the Command Recorder addon you mentioned. Sadly it breaks when I try to load it. :(

Which version of blender are you using?

Hi. Nice answer. Please use  tags around keyboard keys (see my edits), e.g. H. Thanks.

@RayMairlot I don't think it is necessary to use  to wrap all key in answer(Although I did). See https://meta.stackexchange.com/questions/1939/kbd-elements-are-way-too-intrusive, and https://meta.stackoverflow.com/questions/270967/proper-use-of-the-kbd-tag/

@HikariTW Neither of those links seem to say that you shouldn't use kbd tags, and it's standard on this site to do so.

@RayMairlot Is there a guide book for it? I mean... you just edit his post and said "Hey! you should write in this strange format which is not markdown but an html tag". I though it was a little bit rude toward user but this is just my opinion. (And c'mon there should be a short cut for , we don't write answer with Emmet)

@HikariTW If you want to discuss this further I've created a chatroom and replied to you there: https://chat.stackexchange.com/rooms/108631/discussion-between-ray-mairlot-and-hikaritw

Personally I am grateful if I miss  tags and someone takes the time to fix them. They are so annoying to type or even copy and paste and then edit. I think it makes sense to do these little edits because it has a logical purpose - it makes it easier to read.

BMesh version
For the sake of for the sake of, here is an alternative main for @MartinZ's answer using an edit mode bmesh instead of operators.
Thought I could simply toggle each elements hide property, instead

Make a set for each geometry type (particularly edges and verts)
Toggle hidden faces. Remove edges and verts from their respective set (they've come with the face)
Similarly for edges.
Finally for verts.

Test script.
import bpy
import bmesh

def main(context):
    meshes = [ob.data for ob in context.objects_in_mode_unique_data if ob.type == 'MESH']
    for me in meshes:
        #print(f"unhide {me.name}")
        bm = bmesh.from_edit_mesh(me)
        faces = set(bm.faces)
        edges = set(bm.edges)
        verts = set(bm.verts)
        for f in faces:
            f.hide_set(not f.hide)

            edges -= set(f.edges)
            verts -= set(f.verts)
        for e in edges:
            e.hide_set(not e.hide)
            verts -= set(e.verts)
        for v in verts:
            v.hide_set(not v.hide)

        bmesh.update_edit_mesh(me)

# test call
main(bpy.context)


text:
Scrubbing Past "Viewport Visibility" Keyframe in Timeline Unselects my Object, Causing All Keyframes/Channels to Disappear
In 2.93.3 (haven't tested this in other versions), when I have a Grease Pencil object in Draw mode, and have a viewport visibility keyframe set on the grease pencil object itself (set via Object Properties), as soon as I scrub past where the visibility keyframe is in the timeline, not only does the grease pencil object disappear from view, as it should, but it also becomes unselected at the same time, which I don't want it to do. This is because, in becoming unselected, its keyframes no longer display in the timeline. What's more, I can't reselect it at this stage to get the view of its keyframes back, because it's invisible in the viewport. I can scrub back to the point before it became invisible, and it reappears, but is still unselected, and must be manually selected again before its keyframes reappear in the timeline.
I'm trying to discover a workflow for doing cut-out style 2D animation, which, in my experience, makes use of a lot of object hiding trickery to make everything work visually. Blender seems to be fighting me every step of the way, and this is only the latest headache.
What am I supposed to do to achieve a straightforward workflow that includes hiding objects temporarily in 2D animation? I clearly can't get viewport hiding to work in a way that lets me keep working after the effect has been added to the timeline, for the above-stated reason. Maybe some solution having to do with view layers and collections? How would that workflow be different from this one? Is it straightforward or complicated? How many workarounds will it require?
In case anyone is wondering why I don't confine my visibility changes to layers within the Grease Pencil object, it's because I want this object controlled by a separate bone, so that it can have an action clip associated with it, to the exclusion of anything else in the scene.
Note: I would be happy to set renderability keyframes instead of viewport visibility keyframes (and in fact, I'm already setting renderability keyframes anyway, ones which coincide with the viewport visibility keyframes I'm trying to get working) in order to bypass this issue. However, setting viewport display to "Rendered" View doesn't seem to mean I will then be able to see keyframed renderability changes on the fly, within the viewport. It doesn't seem to do this. So that solution is out.


text:
How do you allow inertia in bones for animating in pose mode?
Suppose you want bones to move more realistically where energy is not instantaneously dispersed throughout a character, like a person standing on a surfboard on the ocean. When the board moves upwards due to the wave, the entire person doesn't completely move up right away, their legs move up first, then their hips/chest, then their shoulders and neck. Or, suppose someone gets hit in the chest by something like a punch. Their chest moves backwards first while their arms, legs and head remain still due to inertia in the first moments, then as their chest moves back move it pulls on those arms and legs more and more until they speed up to the same speed as the rest of the person.
How can this cascading motion be efficiently animated for when animating keyframes in pose mode in variable circumstances? Or in other words, how can bones themselves in pose mode be made to simulate collisions as opposed to making an entire mesh a rigid or soft body?
The closest thing I've come up with is keyframing a delay in the influence of a child-of or inverse-kinematic relationship, but it seems like there should be a more automated way of accomplishing this and its very hard to manually animate this proportional to velocity.

What you want is currently not (simply) available as far as i know.
When animating on the right there is options, there you could enable AutoIk.
Together width that i would use helper empties. So you can set Bone constrains so that for example the feed take 100 height influence of the surfboard, and the hip takes 30%... but it might not realy look 'elastic movement' that way. This is currently still mostly the art of animating.
Perhaps if your handy with python script you could automate the movement or the influence of the helper empties a bit.
Tough yet alone using empty constrains on bones to set their position can reduce work time (if the autoIK bones wont bend wrongly (fix width more constrains)..). Animating by such empties usually does give a better result.


text:
How do you align a local scaling along a global coordinate
I have a bone. I am scaling it's tail along its local y-axis, and I want the tail to be located at the global z=0 while the x and y coordinates can vary. The problem is if I type in 0 in its z coordinate, it only shifts up, not along its local y axis.
How can I shift something along its local axis such that it meets the global coordinate z=0?

Couldn't reproduce. Created armature, entered edit mode, selected tail, pressed S to scale, but since only the tail was selected, nothing scaled.

Adding some images and clearly stating what you want to achieve would help... . Your description is really unclear, please apply more effort if you really need an answer.


text:
How do you control the number of loops on a bevel of a path?
Changing the resolution just doesn't do the trick. How can I control the bevel on a path to change the number of loops it uses to comprise the bevel?

It is in the resolution of the host path, not of the target bevel path.


text:
Is there a way to "remesh" a mesh with even edge loops?
I made a mesh manually, but I want the mesh to be remeshed in such a way that the edge loops that comprise it are all as evenly spaced as possible, similar to what bevels do on their own along a single curve. Is there any addon for that?

If you search for an addon called Loop Tools, they allow to space vertices or edges. Once you have enabled this addon, select all the vertices or edges you want to space, press W --> Loop Tools --> Space.

I don't understand what this tool is doing, it just terribly deforms the mesh in random ways.

Make sure you are selecting each edge loop individually and doing the above to each one separately and not all at once.