text:
Automatically run a script when an object is transformed or a condition is met
I am new to blender coding and I made a script to calculate a complex bone rotation. The script is intended  to run like a constraint in the sense that it will execute only when the "target" object is
transformed. As I am still learning blender API I would like to know which is the best way to implement this.

Driver
It should update if one of the variables changes:
Rotate N objects identically, but with unique variations
Consider using the driver interface even if you do something more elaborate, just in order to communicate the dependency in the depsgraph, as done here, where the solution was to add a driver using a particular variable (meaning not a variable in Python function, but a variable visible in the driver popup in the graphic interface), and therefore guaranteeing that by the time the driver is being evaluated, the variable has already been evaluated.
Msgbus
As in the comments in the code, not all changes will send a message through the bus...
Example of persistent usage of «bpy.msgbus» and how to manage it?
Depsgraph update handler
Here's a nice technique by Martynas Žiemys:
Operator that runs when a value input is changed
Frame change handler or 3D view draw handler
Just keep running a function on each frame change or even each draw call and check if properties of interest changed before running CPU intensive code:
Use a driver to programmatically set the positions of many vertices
You can even cache calculated data similarly to Physics simulation, as in this Q&A:
Distributed interaction visualization
Consider how updating values may require you to update the view layer, and therefore refresh the viewport by... Redrawing it, which should trigger the function again. Beware of accidentally making an infinite loop if your own function changes a state in such a manner, that on the next redraw it changes the state again…
Which is the best?
3d view draw handler will be constantly run, so it will always work. However, it's a script that needs to be run every time you open your project. You can enable auto-execute, but it requires some security consideration I explain here:
How to randomise any value every frame between specific interval?
That makes the project harder to share.
The driver, on the other hand, if not used in a hacky way as above, works out of the box, but its functionality is limited.

Nice collection.. which kind of reminds me.. haven't seen @batFINGER for a bit.....

@RobinBetts I hope he's either enjoying well deserved vacation, or hacking at the problems deserving his time.


text:
Modelling principle: should I optimize mesh by disconnecting pieces of geometry?
I'm learning to make some game assets for Unity using Blender, and in an effort to keep models low poly and reduce the number of vertexes, I've found that in some cases I can bypass vertexes and create a larger face that lies adjacent to the vertexes but doesn't connect to them. In the screenshot below, I've created a face by connecting the vertexes circled in red, and I've ignored the vertexes that are below this face (example circled in yellow).

There is a side effect to this approach, I can grab one of the window vertexes and pull it away and that indicates that perhaps this isn't the correct way to make a model:

Alternatively I can subdivide the top edge of A and use the vertexes to create multiple faces, essentially connecting up all the vertexes around the original idea of face A:

Should I be doing the latter, even if I want to keep the face count low, particularly for game assets? Is there a downside to the first more economical approach in terms of the game engine rendering or maybe creating unwanted artifacts perhaps?

https://blender.stackexchange.com/questions/48954/merge-around-a-face/48967

I would be more worried about collision er... 'edge' cases, if you will.

@Allen Simpson Not a game dev, but I believe a separate mesh would be used for collision detection.

The technique you're describing is similar to one used extensively in gamedev, intersection:

(taken from Stylized 3D Production Guide by Alexander Kuznetsov )
However, in your case it's not an intersection, the elements are touching exactly. The problem is, 3D world is implemented on floating point numbers, which are infamous for failing to be exact.
Let's create a bright, white plane, and slightly above a smaller, black plane.

Boring. Let's cut the plane in half on a diagonal. Still boring, looks the same. Let's separate the two faces. Still boring, we aren't punished for having the geometry separate. This is because each edge is defined by an interpolation between two vertices. And since both edges are built on vertices in same exact spots, regardless of how inaccurate the interpolation is, it is consistently inaccurate for both edges, as the same input is given to the same interpolation algorithm.
But what if I cut off fragments of the plane? Surely, the remaining part of the edge that had no problems a moment ago, still won't produce any problems? It's the same edge, right?

After recording the GIF, turned out I was (un)lucky - I still couldn't see any artifacts. But moving the view around, quickly revealed a problem:

What the f...irefly? The edges still overlap, but not perfectly, because they are defined by interpolations based on different vertices. And even though Blender tried as hard as possible to keep the interpolation same (that's why the edge isn't in a completely different place with a completely different orientation), due to the limits of floats, it couldn't do it perfectly. The camera rays now have a chance to pass through a very tiny hole between the edges. You can see it better if you increase the sample size, as more and more rays happen to go through:

The colors are chosen for high contrast, and so the effect is more visible than usually. However, in games, typically the camera angle to the object changes, because either the camera or the object moves. This results in blinking pixels that are quite visible despite similar colors of the front texture and the leaking texture.
You could deal with this problem by overlapping your faces a little instead, but then you get a similar effect of z-fighting (also caused by the infamous floats). You could add an additional triangle to one of the overlapping objects, going inside the other object, so that the z-fighting occurs in that triangle, but it's set to have the exact same colors as the geometry it overlaps with, so z-fighting is not visible...
... I think it is a moot point, though: you're designing something that seems to be a bus. Probably you're about to extrude it to a side. Once you have a truly three-dimensional object, you should be able to easily intersect objects without z-fighting.

Thank you so much, this is really helpful and answers my question fully.

source: Stack Exchange

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

sort: votes


text:
How do I model an arch gate made from big bricks?
How do I model these connecting bricks with 5 edges while keeping them aligning with the curvature of the arch and the side of the bricks with 4 edges? I tried to recreating that by cutting these shapes on a plane, but this solution is not accurate enough. On the picture you can also see that the grooves are slightly beveled.

Like this? https://i.imgur.com/9VZpb3L.png

After sleeping on it, I think what you need is an arch made of bricks that take the same length of the arc, and snap to the coordinates of the horizontal bricks. Since this is a modeling question, not geometry nodes, here's a manual solution:

Spawn a circle with 16-32 vertices (I'm doing 24)

Create yourself lines aligned to the grid, which will represent the brick layers. Then $\color{#888}{█0█}$ hover mouse cursor over the circle L to select it, I to inset, and align the new loop so that the red edge ends at the green line:

In ortographic mode you can zoom in and easily adjust using S scaling, so that the positioning will be good even by perfectionist standards.

Press I again, and drag it to create roughly a square on the first layer of bricks:

You can now remove the bottom of the circle, and the right side, because later you will mirror it:

We have one vertex at an intersection of two straight lines and a circular loop, created in points 2-3, now travel along the circular loop and using GG shortcut, slide the vertices to align them in the same way, each time going one brick layer higher:

Again like in p. 3. You may want to zoom in to align better. For the worst case of OCD-perfectionism combination, you can also round the Y coordinate in the N Numbers panel:

Select the middle loop and subdivide it, move each just created vertex to the connected vertex above (snap it), and then move it again, lock the $x$ axis and snap to the lower connected vertex:

Delete the outer loop, vertex at origin and guiding horizontal lines.

Move bottom edges to the left to make the brick longer like in the reference image:

If you want 2 bottom bricks to be long, you need to make sure the first from the bottom is entirely horizontal:

The rest is hopefully straight-forward:

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


text:
Blender showing this warning and I can't seem to get rid of it
Not sure how to get rid of this message. I've tried looking for every single "menu" in the keybinds and couldn't find anything that could solve it

are you building your own Blender? Not sure this is the best place to ask about it. Maybe devtalk.blender.org

Hi Please use a title that reflects the content of the question. It should be descriptive but succinct, unique and identifying, summarizing the issue so that users can at a glance understand what your post is about. Use the [edit] link below your post and avoid anything not strictly essential to the post. Remember, your title is the first thing potential visitors will see, and makes your question findable for future users. See "What is the problem with posting an image or link and asking “How do I do this?""


text:
How to give physics to a dress?
I'm mostly done with the rigging of my character, but right now I have stumbled on an issue of how to make dress to move with legs. My dress look like this.

Parts of the dress that touch the body have weight painting so that it moves appropriately with rest of the body, but the other part is not, and I don't want it to look goofy. Any advice how to make it behave like real dress when someone is walking?

You could use a cloth simulation?

Hello, this tutorial is pretty good imho: https://www.youtube.com/watch?v=AbyfuW5Aocg

First, I would Duplicate Part of the Torso Mesh and Seperate it into it's own Object.
Create a Collection Called "Collision"
Make sure to Enable "Collision" in your Physics Prooperties

Then, do the Same thing for the Dress and Extrude the Faces to Make a Cage Around your Skirt. But this Time Create a Collection Called "Cloth"

For the Cloth Cage you're going to want to Select these Verticies and Assign a Vertex Group Called "Pin" then Parent the Cage to the hip bone
Then in the Physics Properties you're going to Add a Cloth Sim.
Under "Shape" assign Pin Group to"Pin" In Collisions enable Object Collisions and assign your "Collision" Collection

On your Dress Object, Add A Surface Deform Modifier and Bind it to the Cloth Cage

if you Follow these Steps your Skirt will be Looking Flow-y.
If for Some Reason your Mesh Starts Spazzing or if there's a Region where Cloth sim isn't Influencing, you may have to Mess with Weight Paint.
I hope This Helps.

I got lost on a step where I'm supposed to "Then, do the Same thing for the Dress and Extrude the Faces to Make a Cage Around your Skirt." how do I extrude it to make cage out of it? Better yet is it possible to make a call on discord or something if you would be willing to help that way?

Ah My bad, to make a Cage from the Skirt, you'll have to: 1. Select the Skirt 2. go to Edit Mode 3. Select the Faces That you want the Skirt to bend Like Cloth 4. Press P> Seperate By Selection 5. Exit Edit mode and Select the Seperated Object 6. use the Solidify Modifier  to Extrude faces from both Sides 7. apply Modifier

Just checking in to see if you made any Progress. Do you have an Email where I can Reach you?

No, i'm still struggling. If you want to reach me you can do so by using gmail (xxthedr0nxx@gmail.com) or discord (rickys).

Add a cloth simulation to the dress, and then, going down to Shape, activate the pin group of whatever bone the dress is parented to.Make sure to add a collision to whatever objects you want the dress to react with, or it will just pass through it.


text:
Offset UV of Sprite Sheet per instance on axis
Let say I have a Sprite Sheet 8 x 4 frames ... and I have a Plane arrayed by Geometry Nodes (imagine stock of layers on top of each other). So I would like to store one sprite sheet's frame per instance. I'm not looking for animation.
How can I offset UV (or sprite sheet) to fit sprite frames per instance?
I'm asking for solution with Sprite Sheet, because if I'm right - GN can't handle Image Sequence yet.
Thank you

Maybe related: https://blender.stackexchange.com/questions/264619/

@quellenform ... not only related, but actually that is almost what I was tried to ask  for (in my bad way) - set UV under GN :) Sadly GN doesn't work with UDIMs (from what I tried), but I got it work for Sprite Sheet.

You can use UDIMs to do it. UDIM tiles are 1x1 unit UV squares that can hold separate individual images in each tile. Starting from the bottom left, they can have up to 10 tiles horizontally, after that a second row is added, then a third, and so on. Adding $[1,0,0]$ to your texture's Mapping—Location would move your UV map one tile to the right horizontally (u). To reach the upper tiles, you add to the Y (v) axis.
First, have an image sequence named in the form of filename.1001.jpg, filename.1002.jpg, and so on...

Although you can generate the planes and set their UVs entirely inside Geometry Nodes procedurally, for simplicity's sake I'm gonna assume you'll unwrap and use a mesh plane as your input object to instance. In the setup below I simply array five planes/pages on a mesh line, and capture their indices as a named attribute.
In the Shader Editor you open your sprites as an image sequence by selecting them all after clicking Open. From the naming convention, Blender will automatically detect that they are UDIMs and switch to the appropriate mode. Using an Attribute node set to Instancer, we can now use the indices we stored beforehand to move the UV mapping sequentially, per instance:

For more than 10 images you need to add $1$ to your Y value after every 10th X, so you can switch to the upper row. Something like this should work:

Thank you for nice hint of UDIM :) I have two things - first I can't get it work - if you can check my file all stores number one ... Secondly - I explained it in a very bad way - I'm looking for a way to be able manipulate image inside GN as factor for curve generation

Make it probably more clear - I wanted to answer this ... in a way to generate curve circle profiles based on image sequence and merge by loft node group. Since Texture node inside GN seems to be limited I'm not sure if this node can handle UDIM's kind of texture.

@vklidu Oh wow, I did not get your question's meaning at all. I'll try to find some time to think about that problem later if I can, but the UDIM problem is relatively easier. You need to reset your X value, and add 1 to your Y after every 10th X so you can switch to the upper row. Something like this would do it: https://i.imgur.com/H3YgBAS.png

OK thanks :) ... about UDIM's - I'm still missing something ... May I ask what was wrong with my file? And I don't mean 10+ ... My cards are still number 1. Hm

When I download your file, they're not all 1s, they go up to 10, but then cut out (don't go up to 20 like they should). Here: https://i.imgur.com/4uxRXCC.png Maybe you're using an old version of Blender and something has changed? (Or maybe you're looking at it in Solid—Texture mode and not with Eevee, somehow? https://i.imgur.com/TtVdF2g.png ) That question seems to have been deleted, btw.

At home. I worked in 3.4 Material mode ... now at work 3.5 it works ... hm OK thanks :) Ad - Deleted Q - Yeap :)

Thanks for your contribution, but this question has been answered before: https://blender.stackexchange.com/questions/264619/ ...is this a duplicate?

Sure, they're both explaining how to use UDIMs for slightly different scenarios.

@quellenform Thanks to both of you ... I marked the Q as dupli ...


text:
How can suzanne be scaled relative to the box in geometry nodes?

I need to scale Suzanne relative to boxing. I want to tie Suzanne to boxing so that boxing changes the scale and so does Suzanne.

Assuming the box is axis-aligned like a bounding box, divide the box dimensions by its nominal dimensions, and use that as a scale for the geometry (here: monkey):


text:
How to select loose vertices/edges and delete them?
I tried with W key and and using the cursor, but failed.
I want to remove the vertices/edges visible below (formerly belonging to the head), disconnected from the main body:

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?"

I just came here to say that you are not John Carmack. John Carmack does not roll into Blender Stack Exchange opening with "i have blender".  When actual John Carmack wants to learn Blender he codes an AI clone of himself to do it for him and report back. He's certainly already done this. And even said clone knows better than to opt for the handle "John carmack". Nonetheless, good luck to you in your journey.

Yes, @Mentalist, and I'm actually not a wizard :D

@MarkusvonBroady Fair enough. I hope I didn't come across as harsh. I felt compelled to give a playful jab for impersonation, but no ill will. (Also, you are a wizard.) OP: Don't worry - we really are friendly here! We don't bite.

impersonating anything john carmack is a normal name and im using it because its random and harms nobody, i'd rather stay in the shadows

You could also select the body with L, invert the selection with Ctrli and delete with X.

Z key, switch to Wireframe mode; C key, paint the selection with the brush selection. then ✲ CtrlNumpad +to grow selection. X key or ⌦ Del to delete. If there's something left, you can try from menu Select ‣ Select All by Trait ‣ Loose Geometry.

I just select all( A ), convert selection to faces( 3 ) so I only have faces selected, convert selection to edges( 2 ) - now I have only edges that belong to full faces selected, so no loose edges are selected so just invert selection( Ctrl  +  I ) to select only those loose edges and delete edges. Same goes for vertices: if I select all vertices, convert selection to edges, and back to vertices, only vertices that are part of edges get selected so inverted selection is only loose vertices.


text:
How to copy drivers from empty to a vector rotate node in shader editor using python?
I know how to add drivers to a cube rotation using an empty as a driver. Here's how I know:
import bpy

def add_driver(
        source, target, prop, dataPath,
        index = -1, negative = False, func = ''
    ):
    ''' Add driver to source prop (at index), driven by target dataPath '''

    if index != -1:
        d = source.driver_add( prop, index ).driver
    else:
        d = source.driver_add( prop ).driver

    v = d.variables.new()
    v.name                 = prop
    v.targets[0].id        = target
    v.targets[0].data_path = dataPath

    d.expression = func + "(" + v.name + ")" if func else v.name
    d.expression = d.expression if not negative else "-1 * " + d.expression

empty = bpy.context.scene.objects['Empty']

add_driver( cube, empty, 'rotation_euler', 'rotation_euler.x', 0)

add_driver( cube, empty, 'rotation_euler', 'rotation_euler.y', 1)

add_driver( cube, empty, 'rotation_euler', 'rotation_euler.z', 2)

How do I use the same empty to add drivers to a "vector rotate(Euler)" node in rotation(x,y,z) in shader editor using python?

You should paste your actual code into the question itself, that way we can theoretically help debug it by copying it into our own blender file. Actual text helps with indexing and helps future google searches that might lead others with your problem to this question if it does get answered.

Hi Jakemoyo, it didn't paste properly the first time. I will try to paste it again. Or please tell me why a part of the script is not part of the highlighted area. Thank you.


text:
Incorrect IK behaviours
I am rigging a robot for some personal training, and I got into a very weird issue while rigging the legs.

Here are my two foots, both are parented to the right bones, rigged to their respective Target and all this stuff. But one is acting like if it was parented to the target, while the other reacts like if it was just copying the Target's rotation (which is what I want the other to do).
I double checked all possible parameters that could cause this on each bones of both legs, and I'm still unable to explain why this is happening and how to fix it...

Can you upload a blend file with your problem (should just need the armature, not the model) to https://blend-exchange.giantcowfilms.com/ and add it to your post? Without being able to inspect what you have done its hard to figure out what the problem is.

Added it, I hope it clarifies my problem's nature

Have a look at your upper leg bones.
On the bone properties tab under inverse kinematics, there are the settings for bending limits and stiffness that are used by the IK solver to calculate the end positions/rotations for the bones.
Your left upper leg has different settings than the right here.

ohhhh yeah I actually forgot to check those.
I didn't expected them to cause this kind of troubles...
only disabling the Y axis seems to give the result I want !


text:
Troubles with outline on cubes
I am working on a project that requires me to have outlines on cubes, the outline HAS to be a shader, not matter if it's a combination of nodes or a script,it has to be a shader. Meaning that I can't add extra-mesh like the solidify modifier would do.
And I couldn't find any way to do outlines on a sharp cube with nodes, every single way I saw to do it was with smooth objects. The project I'm working on will be NPR, and I want to render on my GPU to minimize render time.
Here is a mockup of what I want to do, you can see all of the objects in the scene have their outline visible, and only the OUT-lines

The outline also has to be able to take a texture's color, so the solodify modifier is NOT an option (I said it already but I want it to be clear). Here is a mockup of how it would look

Hope this was precise and well explained enough.
EDIT : Freestyle is NOT an option.

I know you said you need a shader, but Freestyle plus the compositor could do exactly what you want. Is that an option?

@hekete it's not an option, I need it to be a shader, the compositor doesn't produce a good enough result. plus freestyle has a lot of problems rendering outlines.

I would say freestyle is pretty good at rendering outlines these days... Any way I think you will have to write a GLSL shader to do what you want otherwise.

@hekete I had some troubles with freestyle, even in 2.8.
And yeah, that's why I precised "node or code" shader.

@hekete to clarify my last answer : no I won't be using freestyle, I didn't precise "shader" to use freestyle, I won't use it because it's not good enough for what I'm looking for.

About the textures, how are they supposed to be mapped to the meshes? I mean, the standard way or flatten as if meshes were flat inside the outlines?

And another question: is it cube only meshes?

@lemon yes it's only cube geometry, and the texture will use UVs, that's part of why I need it to be a material / shader

@azagwen, is coding some event handler (render_pre, render_post for instance) an option?

@lemon can you tell me more about this ? Yes coding is an option as long as it's usable in a script node or something similar.
EDIT : even creating a custom node is an option, it just has to be a shader.


text:
How to find models in scene without changing origin point?
I have been doing some experiments with photogrammetry and i imported some models into Blender but I realized after I imported them all that I could not find my models.
I rechecked my photogrammetry program and found that I had left the models positioned over in the next county from the origin point before I imported into blender.
I imported into Blender four models that each had between I dunno 1-4 millions verts each.
Anyway I already started rebuilding my photogrammetry models with the same settings from the actual origin point so i'll reimport into blender later.
But if I do this again and my models end up 50 real life miles from the origin (not an exaggeration) how can i zoom to my models in blender without changing their position in relation to their origin point? I can't change their position or scale because i'll be taking the models back into my photogrammetry program later for textures and uvs and etc., And i need all my old depth map and density cloud data to stick perfectly.
Trying to rescale and reorient 3d models after messing up their placement and size is a nightmare FUBAR so I absolutely need their origin to stay the same while i work in Blender.
Thanks in advance.

Hello :). The origin is only relevant in Object mode. You can move/rotate the geometry in edit mode, and the origin point will stay where it was.

Also, you can use View > Frame selected to zoom in on the geometry no matter how far from the origin it is.

frame all:home key
view selected:  In the outliner, select the model, and press the period key on your Numpad.
To move the entire model to the world origin:  In the outliner, select the model, press shift+s on your keyboard, and there should be a pie menu that says "selection to cursor".
Your settings may be different, but the actions should be the same.

Thank you all very much for the quick replies.


text:
How do you assign a logic brick onto an indivual bone?
I am trying to make a simple head turn but there are multiple bones that are part of the object for rigging... every time I try to assign a logic brick in edit mode to only the bone controlling the turn of the head... it assigns it to every bone making the whole body turn.

You could keyframe multiple bones in a single action: http://blender.stackexchange.com/questions/12134/text-from-updating-file/12138#12138

Blender's logic bricks are attached to an object. An armature is one object that can contain several bones, a simple motion actuator will move the entire armature as one solid object.
To move a single bone you need to create an action, then play the action using an action actuator.

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


text:
Adding blender cloths to a make human model
I have added cloths in blender to a model imported from Make Human.
I linked it with the rig on the make human model using automatic weighting.
Normally it is alright:

But in some cases the model shows though the cloths:

Is there any way to prevent this from happening?

First you select the bone for the upper half of the arm, then edit the weightpaint map, in Weight Paint Mode (Ctrl + Tab, while in object mode), such that the parts that are not supposed to be affected by the bone are blue.

Shift+tab in edit mode toggles snapping. I fail to see how this helps the OP?

I meant object mode

i think someonewithpc means "Weight Painting"

That's still for snapping.. Did you mean Ctrl+Tab?

@gandalf3 Yes, mistakes had been made....

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


text:
Face splitting tool

Is there a tool to split this cubes faces or face into 4 equally spaced faces?
So it will look like this:

Maybe just to split it into 2 equally spaced faces that I can apply twice?

Yes there is. Select the face, then press W and select 'Subdivide'.

The result should look like this:

At the bottom the tools shelf on the right side of the 3D view you can also change the number of cuts and a bunch of other options.

If the tools shelf is not visible, press T while you mouse cursor is inside the 3D view to show it.


text:
Subtracting Geometry?
I have two models - we'll say a sphere and hollow cylinder - that I'm working with.  Effectively, I want to 'subtract' the hollow-cylinder shape from the sphere.  I know from certain orientations (the top of the sphere) this is fairly easily done, just a matter of deleting and creating new faces.  However, from other orientations the edges/geometry doesn't line up so easily.  Is there an automatic (or at least, not terribly difficult/manual) way to 'subtract' one mesh from another?

You can use a Boolean modifier.
For example, adding a boolean modifier to a sphere with the operation set to Difference, the parts of the sphere which intersect the object specified in the modifier will be subtracted.

As a bonus, a quick way to select an object for a modifier (or anywhere a similar selection interface is used) is by pressing E while hovering over the object selection drop down and clicking on the desired object in the 3D view.

Excellent.  Thanks for all the answers so far - expect more questions, I'm still learning. ;)

@David I'm afraid it's not the first.. I'm working on it though :)


text:
Smooth Shading on specifically-oriented edges
I have a spherically tapered cylinder that I'm trying to apply smooth shading to, partially.  (Sorry for the terrible description, picture below)

I'm trying to apply smooth shading to vertical rings in the picture - I like the defined edges that run along the x-axis.  I tried selecting only those rings in edit mode and applying smooth vertex, but that didn't appear to do anything.  Will, I have to put in loop cuts for each x-axis line, then add an edge split with smooth shading to get my desired effect?

No need for loop cuts, just use mark sharp.

Related: How to smooth shade an object while retaining hard edges?

As of this commit (will be in blender 2.71), blender has support for split normals. You can download 2.71 release candidate 2 here.

Set your object to smooth shading.
Enable auto smooth in Properties > object data:

Select every edge loop and mark it as sharp:

Press CtrlAltRMB on one of edge loops you want to make sharp to select that edge ring.
Press Edge Loop in 3D view > Header > Select to select the rest of the loops.
Press Sharp in 3D view > Tool shelf > Shading / UV > Shading > Edges, or press CtrlE> Mark Sharp:

Result:

You really ARE Gandalf - the Gandalf of blender.  Like... a wizard... like... that sounded better in my head.

you just have to wait for 2.71 ! It has custom normals, so you'll be able to specify which edges are sharp, which ones are smooth. As of now we can't except with an edgesplit modifier which is destructive. Wait a few days ! ;)
Hadrien

As long as you don't apply it, an edge split modifier won't do anything to your base mesh.


text:
What is the best way to add windows to this building?
I am making a building for my tiny city square but I have no clue how to add windows simultaneously. Will I have to do it all manually, or is there a way for me to make it more easy? (My topology is not good at all)

What do you mean, add windows? To me this looks like windows there or where else do you want to add windows?

As textures? As holes in the geometry? Procedurally or manually? It's unclear what you want, and what you're trying to do, and what you are asking for help with.

If you are wanting to apply a nice window material to many faces easily, the Select Similar tool will be helpful here.
Select one window pane, and then hit Shift + G.

Use the option "Coplanar", which will select all faces that are in the same plane as the one selected.

Then, it's simply a matter of hitting "Assign" in the materials tab, and all selected objects will now have the material!

Of course, if your window panes are somehow askew, this will not work, and you need to straighten them out with the axis they're supposed to be in plane with.


text:
stuck with the mousewheel, no pan, no rotation
I'm stuck with Blender's mousewheel navigation (in 4.0) because the only responsive feature of mouse 'navigation', which in my case is limited to zoom.
-what doesnt work: pan, rotation with Logitech mouse in blender 4.02, 4.01, 4.00 and 3,79. Same with ...  ¿french? cheapo mouse.
-what does work: of mousewheell navigation, only zoom works. About the rest, it looks like everything is ok.  I've done some tutorials with particles, nodes and whatnot. The numpad navigation is perfect, only it's difficult to manage keys, numpad and mouse.

Though the aux keys are different, the mouse wheel works fine in the 2.79, which I've installed out of desperation.
Mousewheel also works with material nodes nodes. I was told to install a script, node wrangler,wich seemingly worked,

Y installed, uninstalled, read many false 'fixed' claims in the internets, reinstalled drivers, tried a good number of settings in preferences... no luck.
I forgot: Win10 OS, Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz and 16 Gb of ram


text:
How to change/invert color of image texture
I would like these bricks to be white instead of black. Adding a color ramp or invert node causes it to lose the enamel quality that I am trying to maintain, and makes it greyish instead of white. I am using the Green Brick material from Blenderkit.
Thank you!

What do you mean by "enamel quality"?  Are you referring to the grout between each brick?

The shininess of the black brick! I'm less concerned with the grout

I believe your problem is that you don't have the factor of the Invert Color node all the way up to one.  Your third screenshot shows the Invert Color factor is set to ~0.483.
With the Invert Color node at zero, it just uses the original color.
Invert Color set to exactly 0.5 exactly blends the color halfway, leaving it completely washed out.Even turning the contrast up all the way on the Brightness/Contrast node makes no difference, as there isn't even any data to make more contrast-y.
Setting it all the way to 1 completely inverts the color, restoring the original contrast, but inverted.
I hope this clarifies your issues.  Unfortunately, I don't have the materiel you used, so it's hard to know if this is what you encountered.


text:
Text getting progressively smaller in the distance
I want to extrude text getting smaller in the distance.  How to do this ?  Extrude text property does not seem to permit getting the text smaller.

Can you put an example screenshot? I don't quite understand what you're asking.

To edit the text this way you would need to convert it to a mesh.
In Object Mode press Alt-C this brings up the convert popup, select Mesh from Curve/Meta/Surf/Text.
Having the text object converted change to Edit Mode and extrude it manually E and scale S as you want.

If you use a Solidify modifier instead of the extrude setting for the text object, then you can have text that is thinner father away (that tapers).

Add the Solidify modifier to the text object.
Add a Lattice object around the text (scale it in object mode to fit the text)
After the Solidify modifier add a Lattice modifier to the text and put in the name of the new lattice.
in edit mode, edit the lattice so the text tapers the way you want.

authors: Арсен Микитов


text:
How to handle absent textures procedurally?
First time poster, long time lurker here.
I'm using a script in a vector drawing program that separates color fields into greyscale bitmaps, that can then be interpreted as areas with different shaders in a Blender material. These shaders can be metal, glitter, flip flop paint, so just using a texture doesn't work. I'm dealing with 1000s of designs, each needing different shaders from a limited but huge set. Automation to the rescue!
I've neatly lined up all the nodes, so the data can flow without obstruction, but I've run into a problem:
Every design only utilizes a few of the total amount of defined shaders, so at the moment I need to generate fully black 2x2 pixel textures for the unused shaders, otherwise the missing texture gets interpreted as being mid-grey all over.

Is there a more elegant solution to handle this problem procedurally, from within the nodes system? That way I can render Blender's output from the command line without having to edit every single node tree by hand, or generate about 50 bitmaps for each design (instead of only the ones actually used).
Thanks in advance,
Ron
The image below the result of CreeDorofl's offered solution.
This trick just moves the problem one node further upstream, but when I use "linear light" instead of "add" mode it almost works. Almost, because it shrinks the shader area - it seems to influence the way the mask is interpreted, and when using a blurred texture, it becomes clear that it chops of the darker tones, turning them all black.
Zooming in shows the way it shrinks the green shader area, and it means I can't use gradients in the mask.
[

if I understand the question right...when a texture is missing, you want a specific replacement texture (2x2 black pixel tiled) rather than the blender medium gray substitute?
Maybe you could mix together two materials using a mixRGB mode. One of them will be your desired black color/image. The other will be something else (let's say a bright green image texture), using a blending mode that completely obscures the dark color. Let's say "add".
So if the green image is present, you see all green on your object. But if it's missing, the underlying black texture shows instead.

Thanks very much for your suggestion. So close... See image added in the post above.

shoot, shoulda known it wouldn't be that easy.  Only other thing I can think of is to add a coloramp node between maybe the linear light node and first image texture. Then use the color ramp to reset the boundary of when linear light cuts off color and turns it to black. I usually have to just experiment to figure out how to make coloramp do what I want. You're either moving the black slider all the way in towards the white, or vice versa. Not sure if it'll affect it the way I think.

You should automate it. Not just the import and render, also create the materials with python, so each time all the required nodes are created.

CreeDorofl, I've tried the colorramping, didn't work, and even if it did it would be too imprecise for my needs. Too bad. Thanks again!

sambler, I think that's my only hope. Next-level stuff for me, so I'll stick with this mess for now, but when I get around to a fully programmatic approach, that will probably be the way to go. I might get away with instantiating the blank mask through python, ie. keep the node system intact. But being able to code the node system is about the coolest thing I can imagine, so it sounds like a nice challenge. Thanks for your contribution!

The solution would be to automate creating the material nodes, that way you add the number of colours you want and then add the black filler at the end.
import bpy

obj = bpy.context.object
if obj.active_material is None:
    obj.active_material = bpy.data.materials.new('Material')

mat = obj.active_material
mat.use_nodes = True

mat_nodes = mat.node_tree.nodes
node_links = mat.node_tree.links
# remove everything except the output node
for n in mat_nodes:
    if n.type != 'OUTPUT_MATERIAL':
        mat_nodes.remove(n)

#  RGBA           red       green      blue
colour_list = [(1,0,0,1), (0,1,0,1), (0,0,1,1)]
data_imgs = bpy.data.images
# length should not be less than colour_list
img_list = [data_imgs['img.001'], data_imgs['img.002'],data_imgs['img.003']]

out_node = mat_nodes[0]
col_space = 200
padding = 40
prev_mix = None

for x in range(len(colour_list)):
    mix_node = mat_nodes.new('ShaderNodeMixShader')
    mix_node.location = (out_node.location.x - (mix_node.width+padding) - (col_space*x),
                        out_node.location.y)
    if x == 0:
        node_links.new(mix_node.outputs['Shader'], out_node.inputs['Surface'])
    else:
        node_links.new(mix_node.outputs['Shader'], prev_mix.inputs[1])
    prev_mix = mix_node

    img_node = mat_nodes.new('ShaderNodeTexImage')
    img_node.image = img_list[x]
    img_node.location = (mix_node.location.x - (img_node.width+padding),
                        mix_node.location.y + (img_node.height+padding+150))
    node_links.new(img_node.outputs['Color'], mix_node.inputs['Fac'])

    dif_node = mat_nodes.new('ShaderNodeBsdfDiffuse')
    dif_node.inputs['Color'].default_value = colour_list[x]
    dif_node.location = (mix_node.location.x - (dif_node.width+padding),
                        mix_node.location.y - (dif_node.height+padding))
    node_links.new(dif_node.outputs['BSDF'], mix_node.inputs[2])

fillin = mat_nodes.new('ShaderNodeBsdfDiffuse')
fillin.inputs['Color'].default_value = (0,0,0,1) # black
fillin.location = (prev_mix.location.x - (fillin.width+padding),
                    prev_mix.location.y)
node_links.new(fillin.outputs['BSDF'], prev_mix.inputs[1])

Amazing. Marking this "answered" eventhough I'm not quite sure how it even works. Need time to figure all this out, feeling more noobish than usual. Very greatful for your efforts, thanks again!

The for loop creates, positions and connects three nodes for each colour placed in the colour list, then after the loop the extra black diffuse node is created. If you look at one line at a time, you should be able to get an idea of what it is for. You just need to fill in the colour_list and img_list for each material, then the loop will create enough nodes for your colours.

That seems very useful! I should be able to cobble together some code myself that loads all suitable textures found in the same directory as the blend file so that there is something in the img_list to use.


text:
Different render effect on different machines
Hi I wanted to render my work on different machines - I tried to use both SheepIt Render Farm and Google Cloud Machines but both of the turn up with completely black renders. One time i managed to get something with changed colors from google cloud. Could you tell me where the problem is?
I'm using Blender 2.79b Cycles - Experimental features (I know tha sheepit doesn't support it, but it just should render without it) I really care about Adaptive Subdivision.
I append the blend file and the done render that I did.

(.blend file) https://drive.google.com/open?id=1cDffl04Jo1vVioZYEoN360yx7TA0ZIYj

My file exceeds 30 MB minimum

You need to connect the composite node to the tree (like your 'view' node is connected). On your local machine, you can see the image because you see the render layer. But if you render it with a 3rd party system - likely via command line, you need to have the composite (final output) node connected.

Thank you for help. I already found that fault but thanks anyway for the problem downloading and checking. You're the best! :D

Same Blender version installed on multiple computers and configured identically will produce identical results.
You need to make sure all the settings are the same as in the environment the scenes are going to be rendered in. I would recommend to test render with render border (ctrl+b in object mode in the Viewport looking through the camera,ctrl+alt+b to remove).
You should make sure that you use identical Blender release, feature set and compute device settings or that it renders the same. You should also rename your preferences folder (%appdata%\Blender Foundation\Blender\[version number]) temporarily, restart Blender and make sure you do not have any plugins that may interfere with the render and also that your color management files are the same as in the rendering environment. Also make sure that all the textures are packed properly. That should do it. I am rendering on SheepIt even at the time I am writing this and it does indeed produce results exactly identical to the ones I get on my workstation computers.

I even copied my entire blender to Google's Virtual Machine and the case is still the same - the render is just pure black. It's no the case of missing texture

What about your preferences folder?

I tried to rename it and same thing happen. I found another thing now - if I render via command line same happens on my blender too - black image. Via GUI normal. Do you know what can be problem?


text:
Texture Coordinate overlays another texture on my existing texture
I'm fairly new at Blender so there are so many ways I could be doing this wrong. Right now I'm working on a cobbled street but when I try to scale it using a mapping and texture coordinate node it's almost like the same texture is overlayed on top in rendered view.
Here is my node setup:

And this is what it looks like rendered:

Also, when I add the displacement modifier after subdividing it, the new geometry changes to the weird texture that the texture coordinate made as opposed to the scaled texture.
Shown here:
Thank you!

What I would say from what I understand:
You need to plug the Texture Coordinate > Mapping chain into the Vector of the Image Texture of your Bump, exactly like what you've done for the Image Texture of your Diffuse, otherwise he doesn't know how to project this Bump information on your floor.

Now you say that you've added a Displace modifier. I'm not sure why, as your the Bump method is a way to fake relief within a low-poly mesh without any additional subdivision.
If you choose to use a Displace modifier you should not use a Bump node, just unwrap your mesh (for example in Top Ortho view make a Project From View unwrap), use UV as the output of your Texture Coordinate so that he knows that he must use the UV you've just created, and mix a Diffuse with a Glossy, with your Specularity image as the factor.

Adding to the previous answer, the displacement mod is definitely what is causing the problem. If you look at rendered/material vs. solid, the displacement UV is making the texture (brick) look huge, while in render, the texture is much smaller.
I would fix this by removing the displacement, subdividing the plane and doing like said in the previous answer, or by subdividing, and creating a realistic-looking displace using the roughness texture (usually available with the texture, or if not, then able to be created with crazybump), then to save memory, bake it to a normal map.


text:
Messed object when import to unity (duplicate
i have model in blender

Then i export to .obj and import it to unity. When i drag this file, i got this

i have also tried export to fbx, dae, 3ds
But when i import 3ds, i got this icon

Can aonyone tell me my mistakes?
Sorry if my english so bad :(

In Object mode select the object, press Ctrl+A > Scale to apply it, then (if grey normals still present) enter Edit mode and recalculate normals with Ctrl+N with all selected

See https://blender.stackexchange.com/questions/19325/why-is-my-mesh-inversed-when-imported-to-unity and https://blender.stackexchange.com/questions/15802/mesh-imported-to-unity-is-inside-out

Solved!
Looks like i have duplicate hidden mesh on outliner


text:
How to invert partially inverted UVs?
I am having a weir issues when trying to export an object to a game, causing the UVs to be partially inverted. In blender the normals look fine, however in game only part of the normals appear properly (see attached images, top shows expected from blender, bottom shows actual result from game).
I have made sure all transforms are applied, tried Apply Transform and multiple combinations of export settings, however I can not figure out which setting to change to fix this. I know it is possible to fix this in the export settings, because I have got it working multiple times in the past. Unfortunately, those times appear to be flukes because I can't get it working again.
Could anyone tell me which transform/setting in the obj/fbx exporter this issue is related to? I'd really like to understand why this is happening.

Edit:
I've added a picture showing the normal direction. I was also planning on adding the .blend file via blend-exchange, however I cannot actually post it because I do not have the rights necessary to distribute it as required by blend-exchange. This makes the problem even weirder because this model was ported directly from the game, had its UV-layout slightly modified (1 island with flat normal map moved a tiny bit), and then had this issue when exporting.
I've also added a drawing to clarify how the bevels appears to look vs how they should look from a sliced perspective (bottom picture, left how it appears, right how it should appear).

Edit:
I've now included the model without shading (top) and my normal map (repeated) with UV-islands overlaid (bottom). The normal map has a size of 512x512 and is the same as used in the game. Note that the square on the top left of the UVs is separated onto a different texture and is irrelevant to this question (because I don't see any wrong normals on it in game).
I also wanted to clarify that this model has been imported from the game's data, has been modified (the island in the top left was shrunk to accommodate for more icons), and was then exported successfully on one occasion, which I can not reproduce.

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

Does this answer your question? How do I fix these normal map edges?

As you might see, the normal data on the top face is actually fine. Same goes  for the normal data on some the vertical edges. The only parts which are wrong are the which are actually wrong are the top and bottom edges of vertical faces. It's as if the normal space is inverted in that direction.

That's a good edit, but can you show your UV map, your normal texture, and tell us what is the resolution of your normal texture?

I retracted my close vote because after the edit we can see the edges differ - those without an issue aren't beveled. What if you beveled the top faces after baking? It would be helpful if you also posted the low poly cube without orientation shading, to better see all the bevels. I think this problems comes down to modifying a mesh without rebaking the normals...

I'll be able to post this information this evening (approximately 8 hours from now). I also want to clarify what you mean by low poly cube without orientation shading. You mean shaded with the normal data or without any normal map applied? From my previous randomly succesful attempts to get this export working I know it can be done using export settings only. (This blend file was exported, then saved and now about half a year later I don't know which settings I tried back then. (I'll add this to the question tonight too))

Ah, right, my bad, it's low poly in both cases, just the shading is flat for the orientation overlay...

I've found my solution but I'd like to add a bit more info in my formal answer before closing this, so I'll wait a couple days. Information about said solution in last edit

The solution to this problem is exporting the tangent space vectors when exporting to fbx. When exporting to fbx this option can be found under Geometry > Tangent Space.

From what I read on this forum, tangent space vectors are not supported in obj files. You just have to switch to a file format that does.


text:
how to ravel out the edge of a texture/mask?
i have this:

and want this:

i know how to do this with "normal" texture nodes:

but what if i just have the color input?
like this:

is there a way to just ravel the edges? think of a more complicated texture, not just a circle like in my example.
this is how the result should look like:

The inside should stay the same. The edges should/can be randomized. Best would be if the randomization is bigger at the edges and gets lower to the inside. But no, the form of the edge is not a circle like i have here.

Looks like that it is not possible, overwise we have easily got blur in the textures

That’s a bit sad though….

However... the color input must somehow get information on where to put the color. So there must be some kind of texture coordinate / UV information somewhere...? Is there no way to get this into the nodetree?

Dynamic paint or image texture

Yeah sure, but the image still has to be put onto the plane in the correct orientation, so Blender uses a UV map or a generated texture coordinate. I'm just trying to get my head around how to integrate this into this node setup.

In my current use case it is dynamic paint. So I just have an attribute which is 1 or 0 on vertex points ( I guess). Or maybe a value between 0 and 1 ? I am not sure

tbh...it looks like you gave me an idea again :) there are indeed different values when using dynamic paint so i could use these differences to get those edges...! Thanks!!

but unfortunately that area is always very thin...i can't make it bigger :(  [1]: https://i.sstatic.net/rlTho.png

Im eyes the best solution is not to distort or add/multiply the image, but the texture coordinates.

Depending on the settings of the noise texture and its multiplier, you can keep the 'hole', but ravel its edges.
Keep in mind, if you do this with image textures, you need to set their extrapolation to clipped.
EDIT:

A more complex, but versatile setup.

ok, maybe i should have been more clear...i don't want to "noise" everything inside, but "just" the edge (with some width of course). Maybe my example picture were to simple, but if i e.g. would have a checker texture inside, i just want to ravel out the edges

I don't quite understand, can you post an image where that fails? If you are looking for ways to 'find' a hole, there is no edge detection in Cycles and I think creating one from the available nodes will be very cumbersome.

i update my question, hopefully it is clearer now.

I edited my answer, hope this is what you're going for.

thank you again for your answer, which make a really nice effect, but yours is "just" working for round shape of the mask, isn't it? sorry, but i am searching hoped for a solution which can handle "any" shape, so also it should work for a rectangle or any shape....so maybe a shape of a giraffe or whatever. or didn't i understand your solution maybe....?

It works for any 'hole', you can limit the effect by increasing the multiply node's value, or if you want to preserve rectangular shapes (x,y aligned), split the channels (separate XYZ) and treat x and y individually. As I said, detecting edges isn't something you would do with Cycles shaders, but rather in Image Editing software. I am sure there are OpenGL shaders that can do it, but it would be very slow in Cycles.

ok, let's assume i have (instead of a circle) this random shape here: [1]: https://i.sstatic.net/pUyAA.jpg and i just want to randomize now the edges of this shape as you did - but keeping the overall shape. Where do i plug my image texture in?

Replace the spherical  gradient map with any mask you like. Just give it a try, it might just work.

this is the result i got from your setup: [1]: https://i.sstatic.net/ani19.png now because i have no idea where i should plug my image texture in, i plugged it in all three. results:[1]: https://i.sstatic.net/oIvtU.jpg

It should replace the gradient texture node. And also use UV as input, not object.

i am still not sure whether you mean this?  [1]: https://i.sstatic.net/baZcS.jpg

yes, now play with the factor (multiply node), the scale of the noise and the position of the stops of the color ramps, until you find what you like. You could also subtract 0.5 before the multiply node, that should move the shape less in general.


text:
Rigid body Cell Fractured Wall fails to react to a motion capture character
I have a "Standard Walk" motion capture file from Mixamo.com.  I want the character to walk into a cell fractured wall and activate the rigid body wall when it collides.  However, my character does not interact with the wall when "Deactivation and Start Deactivated" is used.  Character is set to Passive, Mesh, and deforming.  If I try to use "Animated" for the character rigid body, the wall will explode. Very odd and unexpected.  Anyone know if I'm doing something wrong?  Thanks.  File can be downloaded here -
https://drive.google.com/file/d/1BTsUNHyZcQn0cP98LJxaLcVUqB-bwfzt/view?usp=sharing

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

Disclaimer: this is not a real answer, these are some explanations to why things are happening and maybe someone can find a real answer to this if possible. And although I give a method to get it working, this is definitively not the optimal solution.
Well, at first: you have to enable Animated if you want an animated Passive rigid body to interact with an Active rigid body. If it is disabled, the Active object will only interact with the static Passive object.
The reason everything explodes when you switch to Animated is that the Scale_ on the armature is at 0.01 - if you scale it by a factor of 100 so that the scale is back to 1 you will see that the character is standing directly in the wall, therefore it explodes.
Applying the scale on the armature is not a good idea because then the animation breaks. I'm actually no expert on armatures and how you can apply the scale without losing the motion. So it will not work as expected as long as the scale is off - sorry, maybe someone else can also help with this part.
However, I scaled everything by 100 to make the character's and armature's scale 1 again and then applied the scale on the other objects. Now the wall did not explode anymore.
But then nothing happens. The wall does not react to the character, even if Animated is enabled. The problem is explained usually that rigid bodies do not interact with posed meshes, only the base meshes. If you animate the armature object going through the wall, it would react. When the armature object stays in place and only the bones are moving the character through the wall by posing them, the wall keeps standing.
And now the thing is - and I don't know if it's a feature or a bug, because it seems to work inconsistently - I parented the floor to the character mesh (both have their origins in the same location) and all of a sudden the wall reacts to the character. The character is set to Passive, Animated and the Collisions to Mesh > Deform > Deforming. The rigid body settings on the floor cannot be changed now, there is an error message saying "Rigid Body can't be child of a non compound Rigid Body". Same thing vice versa if I parent the character to the floor.
The problem with this is first of all the simulation does not look realistic, the wall pieces are still flying away from the character like in slow motion after contact. Probably everything is on such a large scale now.
Then the other thing is, most of the time it works, sometimes it doesn't. And in a simple test I made with two cubes, one parented to a bone, and a plane as floor, I needed the floor parenting to make the active cube react to the passive cube, but then it worked still after I unparented them again. Also most of the time Deform works, but sometimes Final as well. Then while playing around, the scene with only two cubes,a bone and a plane crashed for no apparent reason.

Thank you for taking a look at this.  I find that if I leave animated off on the character just have deforming mesh, it will interact correction with the cell fractured wall,  as long as the wall components are not using "Deactivation" and "Start Deactivated"  My guess is that it is a bug since the behaviour is not consistant and unexpected.  I do agree about the scale of the armature.  I'm not sure how to correct that from Mixamo.  I'll check to see if Mixamo has a scale option.


text:
Base color of transmissive material doesn't apply to the entire object
I added a material to my bottle model with the transmission set to 1 and roughness to 0.01, with the base color set to a brown-orange.

The color only appears in the center, and the edges just reflect the HDRI.  When I look at the bottle in material preview the color is applied to the entire bottle.However, when I apply the same material to a sphere, the color is on the entire sphere.

I'm also using the bevel, subdivision surface and smooth by angle modifiers, but deleting them didn't help.

hello, it's not clear to me, you could please highlight the areas? Maybe also share your file?

the problem is in the edges of the bottle, how do i upload my blender file here?

The object was too thin, adding the Solidify modifier fixed it.


text:
Finding which addon an operator belongs to
A recent question / answer involves what looks like an overridden operator:
bpy.ops.object.align()

Differing from the documented default, how do we find which addon(s) have registered the operator.
Method 1:
Edit to match operator id.
op_name = "import_scene.obj"

Script:
import addon_utils
from bpy.types import Operator
from importlib import import_module
import inspect

op_name = "import_scene.obj"

for m in addon_utils.modules():
    name = m.__name__
    default, loaded = addon_utils.check(name)
    if loaded:
        mod = import_module(name)
        classes = getattr(mod, "classes", [])
        for c in classes:
            if (
                issubclass(c, Operator)
                and
                getattr(c, "bl_idname", "").startswith(op_name)
                ):
                print(name)

        if not classes:
            for k in dir(mod):
                cls = getattr(mod, k, None)
                if inspect.isclass(cls) and issubclass(cls, Operator):
                    id = getattr(cls, "bl_idname", "")
                    if id.startswith(op_name):
                        print(name)

By either looking at the addons classes or inspecting all objects of enabled addons.  How do I run an existing add-on via the python API?
Method 2:
This approach disable, check op is still registered, re-enable...
Edit your operator of interest into
op_id = bpy.ops.import_scene.obj.idname()

Script:
import addon_utils
import bpy

op_id = bpy.ops.import_scene.obj.idname()

for m in addon_utils.modules():
    name = m.__name__
    default, loaded = addon_utils.check(name)
    if loaded:
        addon_utils.disable(name)
        if not hasattr(bpy.types, op_id):
            print(name)
            #addon_utils.enable(name)
            #break
        addon_utils.enable(name)

How would you approach finding an operators registering addon(s) from its id name?.
Note: don't save preferences after running this, as addon preferences could be lost after disable.

for me, on script 1:  line 15: AttributeError: 'tuple' object has no attribute 'startswith'

Have put in fix for that, prob could flag it since it is "usual practice" to have a tuple for a "bl_idname"

super! thanks,  unfortunately op_name = "bpy.ops.object.align" returns nothing for me, nor does op_name = "bpy" !

ah i changed to op_name in getattr(c, "bl_idname", "") and now op_name = "align" returned "space_view3d_align_tools", so this is getting me what I need to know.  Perhaps I would disable this add-on to help solve my problem.  thanks again!!!

Operator to top module map
import bpy
import sys
import inspect

module_name_to_op_reprs = {}
op_to_module = {}

for cls in bpy.types.Operator.__subclasses__():

    try:
        op_section, op_name = cls.bl_idname.split('.', 1)
        op = getattr(getattr(bpy.ops, op_section), op_name)
        op_repr = repr(op)
        assert op.idname() == getattr(cls, 'bl_rna').name, str(cls)
    except Exception as e:
        print("Not registered:", e)
        continue

    op_module = inspect.getmodule(cls)
    if op_module is None:
        print("No module:", cls)
        continue

    try:
        top_module_name = op_module.__spec__.parent
    except AttributeError:
        top_module_name = op_module.__package__

    if not top_module_name:
        top_module_name = op_module.__name__

    op_to_module[op] = sys.modules[top_module_name]

    try:
        module_name_to_op_reprs[top_module_name].append(op_repr)
    except Exception:
        module_name_to_op_reprs[top_module_name] = [op_repr]

print(op_to_module)

import json
print(json.dumps(module_name_to_op_reprs, indent = 4))


text:
How to export multiple NLAtracks to a single .fbx file in blender 2.80?
Ive been trying to export an object that has 2 animations to the .fbx format, but when I export it back into blender instead of showing both animations playing, I just see one. On top of that in the action menu the action displays the same animation twice.

This happens even though both animations are pushed down and the NLA strips option in exporting is checked.

I do know that I got it to work once, but I don't remember what I did to do so, because i've actually been tweaking export settings and redoing animations for 4 hours now. When I switch the order of the animations (e.g. move to top of list) it will also switch which animation is being exported. It will only export the animation on the bottom of the list.
If this is a bug in 2.80 that would really be a bad thing for me, since my computer doesn't support version 2.79

I'm not sure what your use case is, but I'm using this to import animations into Unity game engine. The NLA tracks thing doesn't seem to work with 2.8 and Unity, but you can have several actions created in the Dope Sheet --> Action Editor, and when you export, select "All Actions":

One thing that messed me up was that you have to completely delete the .fbx file and create a new one in order for Unity to recognize it properly and update the list of animations. Reimporting or refreshing doesn't work if you just replace the file that was already there.

Unchecking and then checking again the "Import Animation" checkbox under the "Animation" tab seem to work.

Exporting with only NLA tracks, nothing in Actin Editor,
"completely delete the .fbx file and create a new" was also the solution.
Blender v3.1.2


text:
Low poly mesh/Oddly sharp edges on normal map where it is supposed to be smooth
I was wondering if anybody could help me with this problem I'm having with all my models/normal maps.

As you can see, it mainly happens on the handles[the handles of a knife model]. You can still see the hard edges of the low poly mesh, but there is still some detail from the high poly mesh. I'm not sure how to describe it.

It happens again here. I've tried to use a cage but that didn't seem to work... I don't really know what to do, and I want to stop this problem before I make anything else because I don't know how much it will take to fix this.
Thanks for any help :)
(edit)Images with it rendered

It doesn't show up much in those images, but it does show up a lot in the game I'm trying to mod it into - maybe this helps too?

Here is one more example with a pole model that I tried to smooth out

This is it with the normal map on - it looks like it barely does anything but it still does - I can see some slight smoothing if I look at it closely, but it's not nearly as smooth as the high poly

Here is one with the normal map off
Forgot to put in a normal map node - woops - this is what it looks like with that active

Could you post a picture with the problem showing on a shaded model with the normal maps?

yeah I can do that - do these work?

There should be some lines on the normal map:

If you have flat faces and bake normals of round forms to them, then the edges should be visible in the normal map because the normal map needs to transform those flat planes to round smooth forms while still being mapped onto the flat faces. Normal directions should change at the edges and cannot be smooth gradients. Let's have a look at what is going on with normal directions when smooth form is mapped on a corner and then the normal directions are projected onto a flat 2d texture:

It makes sense that we see a sudden change of values where the edges are. They should not show on the shaded models. In other words - it's normal to see lines on normal maps like these :D . There may be other issues with the baking process that cause the result not to match your expectations. the game engine may expect different format of normal maps. OpenGL and DirectX treats normal coordinates differently. Try inverting the green channel in the normal map or choose -Y instead of +Y in the baking settings for the second channel:

Ok, thanks! That helped out my understanding of normal maps a lot - also, there was something wrong with the bake settings. I forgot to put one of the normal map nodes in the node editor thing - just me being dumb. Now the render looks how I expected it to be. I'll see if inverting the green channel will work too for the game engine


text:
Is there a way to search and replace in Blender?
In this illustration,

the red line in the upper part of the image is one pair of a large number of pairs of vertices, each pair connected by an edge in Blender. For each pair, I want to replace the edge in red with the vertices and edges in green in the lower picture. If the red edge between one set of vertices is a different length from the red edge between another set of vertices, I want the green replacement to be scaled proportionally, along (in this case) the axis of the existing edge. I know I can do it like Johnny Cash's Caddy, but I'd like to be able to do it more than "one piece at a time". Is it possible, perhaps with an add-on?
.

Are you only concerned about edges or do you want to generate/modify faces as well (which seems to be more complicated)? And how do you intend to orient the new edges? Some global axis or dependent on the normals of the old edge or its vertices?

My main interest at the moment is replacing an edge with a profile, using the existing endpoint of the edge ax the endpoints of the replacement profile. In terms of orientation, if the horizontal red lines lies in the xy plane, I want mainly to vary the z at the inserted intermediate points, although if the at some point or points, if the length of the red edge changes, I wold like the intermediate vertices on the green replacement to change proportionally.

I'm not aware of a simple way to replace edges automatically. The direct approach to this seems to be to loop over the edges and to generate the geometry manually.
With the add-on Animation Nodes I was able to create a setup that replaces all edges of an object with some template profile. Selectively replacing edges based on some condition determined by the coordinates (e.g. replace all edges which are longer than…) is also doable. I was not able to figure out selectively replacing them by criteria like whether the edge is selected or if the edge is marked as seam or sharp.

The new profile could either be oriented along some global axis or an axis dependent on the two vertices' normals. It's also possible to use conditions like “point the profile towards global Z, but point it along the normals if the edge points in Z direction.”

Generating the new edges works fine and this process will also generate any faces that may appear in the template profile. But reusing some faces of the original mesh (without using all of the old vertices and edges of it as well) is more problematic. AN only exposes edges and polygons by index and I assume simply deleting edge indices will lead to errors.
Here is the node setup that I used…

…and the blend file as I guess nobody wants to copy the wiring:


text:
What is the best way to change edge weights on a mesh?
[NB: I think this question may have been asked and answered before, but in doing a search of the archived questions and answers, using what I though would have been words contained, I did not come up with any matches.]
Consider this set of images,
,
and assume that I have made a mesh of any one of them in Blender. Is there a simple way to create the other two from the mesh I made, so that I could change the width of the border around the figure? I want to change the width of the part of the mesh shown in black, while leaving the part of mesh shown in white relatively unaffected. Using the scale function seems to change the width of the border at the outer most points of the mesh by a different amount than the border of the elements that cross nearest to the center.

Maybe Offset Edges can handle with that (I didn't really model from the image, it was simpler, although similar). In this case if using addon most likely you will want to use Ctrl+E > Offset Edges > Move and enter amount. However you could try to model that with curves and change their Mean radius

You could use a skin modifier to create the outline. You can adjust the thickness of the skinning with ⎈ CtrlA in edit mode. The properties region N can also be used to adjust the radius.

Make a duplicate of your mesh to use for the outline, in the duplicate delete all the faces and the edges that cross over the pathways so you only have edges where you want the outline to be. Add the skin modifier to this mesh. For each disconnected piece of mesh you will need to mark a vertex as root (use the button in the modifier), otherwise that section of mesh will not be skinned.

Instead of the skin modifier, another option is to convert the outline mesh to a curve object and use the curves bevel depth to adjust the outline thickness.


text:
What is the significance of this traceback?
I tried to use the add-ons to export elements from a Blender file to the ~.dxf format, and after attempting the export, I tried to re-import the ~.dxf file to make certain that it was working properly. It was apparently was not. Looking at the console window, the export appeared to work fine, but the re-import failed, giving me this traceback:
[
I know what the traceback is, but I don't know how to understand what it means.

The error message is stating  that the exporter's bmesh tried to make a face with only two vertices.  Removing the double fixed this.

I still don't know how to interpret the traceback, but I found out what triggered it. I exported the elements of the original ~.blend file to ~.dxf format one by one, with all but one of them exporting successfully. The problem triggering the failure of the import turned out to be in one portion of export, where there was one duplicate vertex, which I removed by using the "remove doubles" special menu option. After removing the stray vertex, the formerly misbehaving element exported normally, with no error and no traceback.


text:
Apply a Picture Texture
I'm making a quasi-3d model for Sanic the Hegehog where it's just a cut out of an image that was given depth. However, I'm trying to put the same image as the texture, but it's shrunk down and tiled. How could I blow up the image so that way it fits out the cutout

Are you using BI or cycles?

It seems that your cutout model is already extruded.
Select the outline of your cutout and mark seams for unwrap.
Select all the front faces and unwrap them (Project from View is best in this case).
Load your sonic picture in uv window and adjust the resize the unwrap (if the picture is in box size like 400x400, 512x512, it's going to fit perfect)
After this, in 3d view, Press Ctrl+I to invert the selection and unwrap it too. In Uv Window, press w and select weld (This turns the other selected faces into 1 single dot) and place the result where ever you seem appropriate.
Give material to your model and add the sonic texture sheet.

Its sanic not sonic :P


text:
writing "print" statements in Blender console
I know and use the great script from Codemanx from which you can start python script in the Blender-console and you would see print statements in the Blender-console. Unfortunately it looks like this only works for "direct" running the python code.
I have something like this:
def my_handler(scene):

    print("Frame Change", scene.frame_current)

    print ("whatever")

bpy.app.handlers.frame_change_pre.append(my_handler)

so here i call a function (myHandler) via frame handler. Can i get those print statements somehow in the Blender-console?
Blender console:

I'm not sure I understand your problem. By Blender-console do you mean a Linux terminal or the command line (cmd.exe)? So you're saying the print statement is not outputed? Can you also share the command you are running in the Blender-console?

No, I mean the console in Blender. It is all outputted correctly in terminal. But I would love to see it in the Blender console.

hmmm not sure if you mean the System console or the Python console. but I can see print outputs in both. or just show me a pic of the blender console.

try my code, run it, and you will see....nothing in the blender console ;)

i see something. u have to scroll the timeline to trigger the event to print XD

i know - and as i said - i can see my print statements in my terminal - but not in the blender console....maybe it is working on windows. But on mac....unfortunately not.

ah u confused me with "blender console". its the Python Console

ok, sorry for my wrong "naming" ...but i changed the question just for u  with a pic...so you could have known ;)

hahaha no worries sorry for my confusion  hey but i will try to figure it out tomorrow!

Do you know codemanx script? Which I mentioned?

i see it in github. havn't tried it but im a unix/linux nerd so i should figure it out :D


text:
python over rotating cylinder
I am trying to create a cylinder which is rotated 90˚ on the Y axis using, but the cylinder is over rotating to 5156˚.
Why is the cylinder over rotating and how can i rotate it only 90˚ ?
import bpy

object_size = 64.0
sce = bpy.data.scenes
for x in range(-4, 4):
    for y in range(-4, 4):
        for z in range(-1, 1):

            bpy.ops.mesh.primitive_cylinder_add(
                                location=(x, y, z),
                                rotation=(0, 90, 0),
                                radius=1.0/object_size,
                                depth=1,
                                vertices=8)

This is what the rotated cylinder looks like from the side.

When accessed via Python, all angles are in radians, not degrees.
rotation=(0, 90, 0),

If you want to write in degrees for convenience, you can use math.radians eg
rotation=(0, math.radians(90), 0),

or math.pi/2 which is the same as 90 degrees.


text:
How to orient the camera to show the object exactly in the same way your eyes are looking at it
Do you know if there is a way to align automatically the camera to the user persp view that I have at a certain moment,so that the camera can view exactly what I see in that persp view ? For example,let's see the image below. I want to orient automatically the camera on the x;y axis and with the right rotation needed to show the object exactly how my eyes are looking at it. Thanks.

Having your Camera selected press CtrlAltNumpad 0.

When objects are clipped you need to increase Camera Clipping range in Camera tab (you will need to have Camera selected):

like this ? https://drive.google.com/file/d/0B_vrhf_PTNauSkRVTmhEMlp3bTQ/ ; I did it what you explained,but the camera does not look exactly what I want.

I think that your edit does not look complete for me,because I'm not able to understand what to do.

@Marietto this one should be better. You can always look to Blender Docs if you are new in Blender: https://docs.blender.org/manual/en/dev/render/cycles/camera.html

no,I'm not completely new in blender,but don't give me the blender docs,because it's the most annoying way to learn blender. instead,I'm more satisfied if you want to give me a small video tutorial.

now I can see your edit...

now I understood your answer. ok. it works. thanks.

@Marietto, glad that I could help. Remember that video tutorials or any full blown tutorials aren't welcome here as well as external sources as answers.


text:
How to move a bunch of bones exactly to the cursor with a single click operation
I'm trying to find a solution to a problem. I want to move a bunch of bones to the cursor and I did "selection to cursor",but as you can see on the attached video,the bones were placed on the cursor higgledy-piggledy. I would like that they are placed exactly in the way that you see towards the end of the video,but without moving them with the g key,because in this way they aren't placed exactly where the cursor is located....
video

This behaviour is a bit weird indeed. You could create a new bone and snap it to cursor the way you did, and it should be positioned right. After that the snapping tool (snap to vertice) should work on that new bone. But its not an elegant solution I admit

This question is now, in the fashion of a true link only question, completely unclear.

To do this set all the child bones (finger bones) to have the connected option ON
After that select their parent bone (wrist) and then snap selected to cursor as you did, this should move the parent bone with all its child bones together.


text:
Using Grease Pencil to make the projection painting of a real Photo on a 2D plane
Since I've read that the drawings created with grease pencil are objects,I would like to know if I can make the project painting of a new face over the actor's face that I have mapped as an image on a 2D plane. I have 1600 images for which I want to make the same. Let's say that it is one of the picture for which I want to alter the face features :

It comes from a movie,so I can't use it as is. The face should be altered. But the rest of the picture can be the same to save time. This is the texture of the face that i want to use :

It should cover perfectly the original face. I could use a 3D model of the head,but I think that posing the 3D characters exactly over a 2D image is not exactly easy and it takes much more time,so I would like to try to make the projection painting of the texture over the 2D plane. Below you can see that I have mapped the picture over the plane :

I don't know if I should use grease pencil to draw the face border's or if it is enough to make a lot of subdivisions on the plane. For sure I want that the new face will fit perfectly over the original one. Let me know if I can do it and how. thanks.


text:
Regarding the problem that Explorer does not open with "Ctrl + Shift + T" in Blender
I'm using Blender version 4.2.2. With the cube placed by default, I can use Ctrl + Shift + T to open Explorer and assign textures with Node Wrangler without any problems. However, when I do the same operation on a newly added cube (or any other object), the Explorer does not open, and I am unable to assign textures.
The Principled BSDF node is also selected, and Node Wrangler is enabled. Despite these conditions, the Explorer doesn't open.


text:
Weird stretching in pose mode
Here's the pose mode question.
I want to spin the soles of my feet
Why does it stretch like that?

Have you correctly painted the weights of the feet to their respective bones and nothing else?

On my screen, the weight paint seems to have gone right in. I used a mirror and both sides had the same problem.

Thank you for your response, I created a dependent relationship from the beginning again, so the problem has been solved.


text:
How do you learn Blender on a Chromebook
I'm new to 3d modeling and I want to learn Blender.
I'm on a Chromebook, so I don't know if that has anything to do with my trouble.

This is an incredibly vague question; however, I'll throw some good resources below.

I think if you are serious about it, you should consider getting a Windows PC with a big 4K screen and good Nvidia GPU and full size standard keyboard and good mouse for learning Blender. It's not a requirement. Yes, Blender will work on many different kinds of hardware and OSes and yes, you could possibly use a Chromebook, but just because you could, doesn't mean you should. Chromebook is not a very smart choice for this. It's designed for other purpose. Learning 3d is very hard on its own. Why make your life even harder?..

@MartynasŽiemys Although a 4K monitor is overkill, you could use several of them, I use a single 27" Full HD one.

It's not overkill. 4K monitor makes a huge difference. Its not only me I am talking about. I have observed it in others. I have seen in work environment after switching from HD to 4K people report it's a lot easier to work and that it's a huge deal and big improvement. I have had friends freaking out about what a good advice it was to go for a big 4K monitor as well. It makes huge difference in terms of convenience. It's a solid tested advice. Go for a big 4K monitor if possible.

I have personally used Blender on a Chromebook, and it's a bit difficult.  They don't have perfect support, and rendering power is non-existent.However, if you're just looking to learn how to model, it will probably be fine, if you keep it basic.
To install Blender on a Chromebook, you must enable the developer enviroment.
Then, download Blender.  Extract it into your Linux Files.  You will likely have to do this in the terminal.  Open the terminal, and type tar -xf and then the name of the file you downloaded from Blender.org.
To run Blender, open the terminal, and type blender-4.1.1-linux-x64/blender, replacing everything before the "/" with the name of the folder you extracted earlier.
Now that you have Blender working, I highly recomend going through the Donut Tutorial.  It is well made, clear, beginner friendly, and comprehensive.  It'll be tough, stick with it!

Thanks. IMO, this is a really useful answer for folks with limited resources, and so makes the question useful, too.

Chromebook may cost around 300 euros. It might also be a waste of money for someone who is interested in 3d as that could be spent more effectively for that interest.

@RobinBetts Awesome, that was exactly what I was going for.  I don't ever want to kill someone's love of learning, so it was my hope that would be enough to get him started.

@MartynasŽiemys For sure, it's  not the best spend for the purpose. But if it's what you have, it's what you have. And there's an awful lot of learning that can be done before the poor thing grinds to a halt :)  And not just that.. sometimes the greatest art comes from the tightest constraints. It's amazing what some people come up with, when they're cornered.

Sure. If that's all you have - that's amazing, it's infinitely better than no computer and that's all great. Still I think it's very important to keep in mind that it's not ideal and it's possible to increase your chances of success in learning. Robin Betts, do you know anybody who started learning 3d and after a while just forgot about it?.. I've seen a few situations like this. If it's harder to do everything just a little bit, I think it might play a role in this. But then again, there are probably people, who don't give up no matter the circumstances.


text:
Rendering animation doesn't work?
My animation for some reason doesn't render anymore; instead I just get this black picture. It worked fine a few hours ago, so I'm quite confused.
My settings haven't changed since then.

pls provide blend file since you didn't give us any useful settings/information what you have done. thx.

I cannot see your camera in the screenshot, and what your viewport shows is not the view from the camera - so is it even pointing in the right direction to render the scene? Maybe you accidentally moved or rotated it away.


text:
How to rig bones for head and attach it to the model so that the head turns with the bone

The existing rig doesn't move/deform the head.
Video: https://drive.google.com/file/d/1RM5W4aen0HiJqpmfWP6yiaHMy5S-9uL1/view?usp=sharing
Blender project: https://drive.google.com/file/d/1TcJiX2N7iK_e6G54ZoxmBmtakF2zZUQo/view?usp=sharing
I used Mixamo, so it changed the bones.
Here is original project: https://drive.google.com/drive/folders/1MnWMpi-9CXsfRhJ0dvfKhWYSIORnLx--?usp=sharing

You need to have each bone "assigned" to the mesh with weight painting. The easiest way to do is is to have Blender do it for you.
In object mode, select the mesh, and then the armature. (the order matters)  Then, hit Ctrl+P to parent the armature to the mesh.  Use the option, "with automatic weights".  Please note that will clear all previous weight assignments.
I hope that works for you!

Heat Weighting: Failed to find solution for one or more bones and after this error I can move every bone except head bones

These videos might be of help to you: 2 MINUTES to teach bascis of Rigging and Weight Painting Understanding Weight Paint

On the mesh, you need to have a vertex group for each bone in your armature, so each bone can deform it by however much you painted it.

But how to fix this error?

I have no clue.
At this point, I would start fresh with the rig, but other than that, I don't know.  I'm sorry I wasn't able to help you fix this!

authors: Михаил Байраков


text:
How to model buttons for a calculator
I'm not sure whether to model the buttons all from one object, or to create one and then duplicate it?  Would it be better to make them solid meshes, or from a plane mesh?

Hello, yes, create one and repeat

I don't see any particular reason one way would be better then the other. Usually it's better to make one and duplicate, however these can probably be modeled simultaneously extruding individual faces and then performing operations on all of them at the same time this way avoiding the need to move and connect separate geometry later and it might make dealing with corners of the keypad easier.


text:
Need to make a weird shape for quarter circle
I am making a map with roads.  One of these roads has a 90 degree turn in it.  I made by making a round bevel. Now I need to make an inverse of it for the walkway next to it. Something like this:

Hello, so you could just extrude the vertices of the round edge?

it helps (you and us) if you would tell us, if you are a Blender beginner, intermediate or pro. Because depending on that the comments and answers will be different. And if you are a beginner, you might even don't understand the comments or answers.

i am a beginner in Blender.

Select the first edge of the curve, and then extrude it far out on the Y axis.  (It might be the X axis for you)

Enable snapping and set it to edges:

Extrude the other edge, and snap it to that new face you made earlier.

Now snap the edge that is too long back to the other one, so you have a nice square.
Select everything while in edit mode, hit M and Merge by distance.  (This is just good practice.  It looks like the 90-degree angle has one edge, but it actually has two, from both extrusions.  This merges them into one.)
Select all the parts shown, and hit SHIFT + d to duplicate it.  Then, use p to separate it by selection.

Yay!

To finish it off, delete the extra faces from your original shape.
Select the edges of your sidewalk, (You can use ALT + Click to select an entire loop of edges at once), and Fill in the face.  You also need to do this on the underside.

Hope this his helpful!
(Forgetting to disable snapping can lead to a lot of frustration later.  You can use SHIFT + TAB to toggle snapping.)


text:
Empty mesh after "Mesh from Curve" (Alt+C)
Solution
Thanks to moonboots for pointing out my mistake. I forgot to fill the curve before converting it to a mesh. You can see the solution in the screenshot below:

Problem
I have created a (closed) bezier curve. After that I changed the mode from "Edit Mode" to "Object Mode". Finally, I selected the whole curve and hit "Alt+C" to convert it to a mesh.
However, all of a sudden now it does create a mesh but it seems to be empty. You can see the background grid through the mesh because there does not seem to be the default blueish grey color on it.
I have successfully used this method before to convert a curve into a mesh and I can't find what I have done wrong/ different now.
I have already used Google to find a solution but looking for the term "Empty mesh after mesh from curve" has not given me any results.
And looking for tutorials for creating a mesh from a bezier always give me the same error.
There is also a screenshot attached. I can also upload the project file to Dropbox if wanted.
As you can see the selected object is a mesh since it has the triangle icon.

Thanks for any answers. I have already spent quite some time to find a solution but nothing helped me to solve the problem.

you say that you have successfully used this technique before, but wasn't your bezier curve already full, i.e. in properties > Data > Shape > 2D with Fill = Back for example

Thanks for the comment, that was the problem. This time I did not fill the bezier so the mesh remained empty.

If an answer was indeed what helped you, remember to mark it as the correct one!

You have to fill your bezier curve before converting it to mesh: Select your curve then go in Properties > Data > Shape > 2D with Fill = Back, for example

This is the right answer, I also took a screenshot to visualize it. For those who have the same problem: You can see the screenshot on the top of my question. Thanks for helping me (and maybe others) out.


text:
Cloner Object (like in C4D) in Blender
Solution
The Array Modifier is basically equivalent to the Mograph Cloner in Cinema 4D. I was a bit confused since there is also a Mography Array in Cinema 4D which I would not need for this case.
To stack objects vertically you have to:

Go to the Modifiers Tab
Choose Array
Uncheck Relative Offset
Check Constant Offset
Change the Z value

Problem
I would like to duplicate an object and stack it. The current scenario is that I have a business card and I would like to stack the business cards. Here is a screenshot of the project, it is quite simple:

In Cinema 4D (I have used it before Blender) there was a function called "MoGraph Cloner Object" you can see the function of it in this tutorial:
https://youtu.be/2rWnJzf8O0w?t=43s
Of course I could duplicate it and just stack it but this does not feel like a good solution since I have to change EVERY duplicated object instead of just one.
I have tried to google it but I was not successful.  Thanks for any help that is provided.
Kind regards,
Fabian Lins

After watching that video, it acts like the Array modifier in Blender? Tried using the Array modifier?

Thanks for the help. I have not tried the Array Modifier in Blender yet. I have heard of it a bit but did not think it was what I need since there is also an Array Modifier in Cinema 4D. It basically just makes copies of the object aligned as a circle. youtube.com/watch?v=WlT_uquqDqM This video shows what I mean. But I will look up the Array Modifier in Blender. Kind regards, Fabian Lins

An array would definitely do the job. What you've maybe missed, is that you can use an Empty to drive the transformations (it acts like the "P.X, S.X, R.H...."). Create an Empty at the same LRS of your object. In the Array parameters, uncheck Relative,check Object and select the Empty ; then, move/rotate/scale the Empty.

That definitely did the trick. I had to choose constant offset instead of relative offset and to stack the plane/ the card I had to change the Z value.
Now I need to like how I can add some randomness to the copies but this is a different question. Kind regards, Fabian Lins

I think you are after instancing. How this works in Blender is explained here:
What is a Duplivert, or a Dupliframe, internally?
You can also use the Array modifier to make copies, then deform them with another modifier (lattice for example).
The equivalent of MoGraph node system in Blender is the Animation Nodes addon.

I have been successful with the Array modifier. Thanks for your answer. Have not looked up the other two points though. But to be fair stacking a plane vertically is not too complex. Kind regards, Fabian Lins


text:
How to make file dialog work like most other programs?
In most programs, any characters you type will filter the list of files, and pressing Enter will open the selected file/directory. For example, if I wanted to navigate to assets/models/terrain, I could type as<enter>mod<enter>ter<enter>.
In more recent versions of Blender, the file dialog does not seem to work like this. Letter keys seem to map to shortcuts, for example, b will start a rectangular selection inside the file dialog rather than filtering to files starting with letter "b".
I've tried pressing Ctrl+F to start a search, but if I press, for example <ctrl+f>as<enter>, instead of opening the assets folder, it just leaves me in a state where assets is visible but not selected, and I can't type further.
I've tried Tab in the file path as well to complete path segments, but the first completion removes focus from the file path bar. For example, as<tab>mod<tab> will not autocomplete to assets/models, because the first tab removes focus from the file dialog, and the following keys are ignored.
Is there any way to make the file dialog work like other programs (and, if memory serves, how Blender's file dialog used to?)

Apparently I was wrong about older versions of blender behaving like this. I checked 2.79, 2.8, and 2.9, and all have similar behavior.

If there is a folder like "assets" and I type as+TAB in the file name input box at the bottom of the open file dialog then it automatically jumps into that folder. The focus is still in the input box and I can type the next folder's name. But the name is case-sensitive ("Asset" <-> "asset") and it must be unique.

There used to be an add-on that did what you described according to this post: https://blender.stackexchange.com/a/1169/133552
They discuss and link to an add-on called "File Browser Search" that 404's and doesn't exist anymore. There are however many file sorting features included in the current version of blender that you may find useful:

Other than that there doesn't seem to be a tab search feature like you describe in the newer versions of Blender.