text:
How do I search for a bone's name, then rename it with a script?
What I need to do is search for a bone then rename that bone, for example I want to find the left hand. I search for that bone with the letters "hand", "ik", and "L" in it (caps don't matter). Then I basically want to rename that bone to a pre-determined name. I've tried this code and it works for bones I already have the name of:
import bpy

bones_list = bpy.data.armatures['Armature'].bones

for item in bones_list:
    item.name=item.name.replace("OldName","NewName")

This seems more of a Python question as you seem to have all the Blender pieces already figured...
import bpy

bones_list = bpy.data.armatures['Armature'].bones

for item in bones_list:
    name = item.name.lower()
    if "hand" not in name: continue
    if "ik" not in name: continue
    if "l" not in name: continue
    item.name = "RENAMED"
    break

I programmed it the way you described your problem, but I have a strong suspicion this is not what you wanted...

Have a look at https://www.python.org/ and https://www.w3schools.com/python/ for resources for learning Python.
In the for loop you are using in the script you go through all bones in your armature one by one so what you replace with the .replace() function will be done for all names, so you can just do that. If you need the name to meet some conditions you can use if  statements
import bpy

bones_list = bpy.data.armatures['Armature'].bones

for item in bones_list:
    if all(words in item.name for words in ("hand", "ik", "L")):
        item.name=item.name + "_something_added_to_the_name"

There are many ways to modify strings in Python and you can find out about them searching the web or even resources I linked to above.

Ok I've ran into an issue. It's basically renaming other things such as widgets and bones which I don't want to be renamed. I'm thinking of a couple work arounds for this but I don't know how to put that into code. The best of these I think would be to somehow have it only search through bones I currently have selected that way it'll avoid all the unwanted things from being renamed. Another way would be to just search through bones and not widgets (as I think I could use not statements and stuff for the unwanted bones but I'm unsure). The problem is the .001 that appears on duplicates


text:
How can I improve my topology to prevent this feature when using subsurface modifier
I'm trying to make this cylindrical object that is smooth and has sharp inner corners. The inner corners end up having a very strange effect on the outer smoothness of the object. I could make this effect by using a bool to remove cut out the inner corner after the subdivision, but it would be nice to just improve the topology. Any suggestions for how to model these inner corners so the curve continues nicely?

I'm not sure you'll be able to do it correctly with so few polygons

If I need to increase my number of polys that is fine. In general I haven't been able to find a simple way to avoid this problem. Ultimately I will be 3d printing this piece so the poly count isn't important.

Hard corners on a round shape is always hard to achieve.
Firstly, you definitely shouldn't use mean crease to get that, it doesn't offer you enough control. It would be fine for quick preview modeling but not for precise retopology. Instead, you can use a Bevel modifier with a lower offset amount, two segments and 66° angle:

Then, you could try doing this manual square bevel in your geometry:

This isn't an ideal solution as it creates an n-gon with an irregularity. But it's definitely closer:

You could begin with more vertices and try this type of topology:

source: Stack Exchange

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

sort: votes


text:
How to add embossed complex logo on a curved surface like a bottle?
I’m really having a hard time trying to emboss or deboss a logo / typography on a shape other than a flat plane. For example trying to get a logo on a curved bottle. I would like to have the edge loop around the logo smooth out and blend into the curved surface as well. I would like to seek for a solution that not using displacement map but actual creating an actual 3D mesh for the object with the embossed logo. Much appreciate any help or solution!

I would use a bump map or a normal map, maybe even both.

For an actual 3d mesh, probably this kind of technics: https://blender.stackexchange.com/a/290356/19156

Why not using a bump map? If you want a real displacement you could use a Dsiplace modifier

https://blender.stackexchange.com/questions/44758/emboss-text-onto-curved-surface

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


text:
Wacom Blender Question
I'd like to ask how I can change the radius of the brush for Proportional Editing while using Wacom?
This is currently my Wacom setting
And I have also activated Emulate 3 button mouse in Preference/ Input.
Thank you!

Devices like pen tablets and laptop touch pads don't have a scrolling part. But it's still possible to use the functionality of a scroll wheel using the page up and page down buttons on your keyboard. They are the equivalent of scrolling your mouse wheel. Page up (pg up) for scroll up and page down (pg dn) for scroll down. Also if you think that the radius was not what you wanted you  can always change that after the operation in the box that appears in the bottom left corner. (Anyone who knows what it's called, please edit this part)

Thank you so much! The page up and page down work perfectly!


text:
Models colors are not visible just an outline
I downloaded a blender model and opened it in blender. There are no colours. I need to see the fully colored model so I can import it into pshop. Any help would be appreciated.

The pink color indicates that the texture is missing, this is why you cannot see the colors on the model. Either you have to go into the material shader and there probably is an image texture node where you manually ahve to add the image texture which might you might have somewhere separately in the download folder, or the texture is missing because it wasn't contained in the download.

Oh - I just read this too. Excellent - you are right. Thanks. You appeard as a comment.

Yes, I appeared as a comment because I commented on it  :)

Whenever blender shows a model in pink color, it means the texture file or an image is missing from that model. Also, sometimes blender fails to link the a texture file.
You can go to File > External data > Find missing files and browse for the location to recover them.
For detail instructions on how to link a texture or image file you may refer to this thread How to re-link missing blender files

Thank you so much Rose.


text:
Bevelling a curve so the diameter gets smaller
I'm trying to model this, which is the internal mold of a seashell. I use the Curve Extra addons to make a spiral and a bevel the curve with a circle. The thing is that the diameteris supposed to get thinner and thinner, and I don't know how to do it but manually (and it's not very good beacause I can't tweak the parameters.
Any help welcome ! Thanks a lot !

Preferably after you enable the curve bevel, so you can see in real time the effect, ⭾ Tab edit the curve, select a point on one side, O enable proportional editing, ⎇ AltS scale the radius, and $\color{#888}{█}\color{green}⬆\color{#888}{█}$ mouse wheel up to increase the influence range:

On the GIF above you can perhaps notice how the curve doesn't thicken nicely along its path, this is because the "Connected" option was not enabled, consider enabling it, as well as try other falloffs:

Hi ! (and I noticed I was to focused on explaining my issue and didn't say hi, how rude, sorry) Thank you very much, this is exactly what I was looking for! I didn't know about the influence range


text:
Rearrange View Layer order for organizational purposes?
Is there a way to rearrange View Layers without having to make copies + delete the original (to effectively bump it to the bottom of the list)? For example, if I wanted to move the 'View All' layer to the top of the list, is there a way to do that?

AFAIK it can't be done out of the box. There used to be this addon used to do it back in Blender v2.78 but it hasn't been updated yet. So either someone updates it, or someone makes a new similar addon for modern Blender.


text:
Blender 3.0 geometry nodes - how to displace mesh using UV?
I have created a mesh in geometry nodes from the curve and want to displace it. Currently, I am doing it by creating a UV attribute and using it in my material. How can I achieve the same result in geometry nodes?

Geometry node setup. Output UV_map is then stored in the UV_map attribute.

Material setup.

You can use noise texture in GN as well. To deform along normal, simply scale the normal vector by texture output. Subtract and multiply simulates mid-level and strength.


text:
Why is there a hard line in my y-axis gradient following a curve?
I'd really appreciate any help or insight here. I've been messing with this for hours and can't figure out how to wrap my gradient around the y-axis seamlessly. No matter what, there's a hard line at one end of the gradient (shown in the picture).

go white to orange in the center and back to white on the color ramp

Allen, here's what that looks like (same issue with the hard line): https://www.dropbox.com/s/snesfloydt71b8w/Screen%20Shot%202022-01-11%20at%204.20.15%20PM.png?dl=0

Ah I see, let me look again

UV coordinates mean that there will always be a seam, the best you can do is hide it when using procedural textures, or use a custom 'seamless' texture

Thanks Allen—makes sense!

If you want to cover the jump from V=0 to V=1, you have to map V to some function of V whose value is the same at V=0 and V=1, and (maybe) approaches that value smoothly from both sides.
Here are 2 examples.. one using a Color-Ramp, and another, mapping V's (0-1) value to (-pi - pi), and then taking 0.5*cos(the result)+0.5.

The second one could be used as a 0-1 mix-factor to blend anything you like smoothly around the curve.

Thanks for helping Robin. I probably shouldn't be wasting anyone's time because I'm so new to this, but now I'm running into a different problem. I set up my nodes the way you suggested, but now none of the lights in my scene will work on my bezier curve. Here's a screen shot: https://www.dropbox.com/s/eij7h80vva96z3u/Screen%20Shot%202022-01-11%20at%205.02.16%20PM.png?dl=0

Hi @stewartmh!.. my apologies for using 'shorthand' in my illustration, to keep it small. You have plugged the color straight into the material output, which, in EEVEE, produces a flat (shadeless) material, and in Cycles, makes an emissive material. To get the surface respond to light, there must be a shader in the pipeline. e.g.... use the color you have produced as the  Base Color of a Principled Shader, and plug that into the material output.

That's super helpful—thank you for explaining that to me! Appreciate your help.


text:
Help with donut tutorial
I've been following the Blender guru donut tutorial for 3.0 and I'm having trouble with the icing. Even when I hide the solidify modifier on the icing, I'm getting a lot of weird clipping with the donut, and I can't seem to get the (magnet?) snapping to work right. When I try to extrude the icing down it clips through the donut, and trying to grab a vertex I'm also having clipping issues. I'm sure I've done something stupid but thought I would ask here before I restart without knowing what I did wrong. Here are some images of the problem, I would really appreciate any help.
Thanks
images

Just type "donut icing" into the search field at the top of this page and press Return...

please don't add external links to pics here. Just paste them in the question. Thanks.

If the icing is low poly, so its faces may penetrate the faces underneath, one thing you could do, if moving vertices doesn't work, is subdivide the icing

Hello and welcome. Instead of having users go through links and external sites please use the builtin tools to embed images in your post. See How to upload an image to a post? or GIFs

One thing that ive spotted that might help - your on the Blender version 2.9.
As you stated, that tutorial is for 3.0
I would suggest updating to 3.0 before continueing the tutorial.


text:
How to use the Anaconda environment on blender at linux?
I'm having problems to use some modes like numpy and pandas on blender, apparently the blender's python do not allow us to install packages using pip; so I thought that I could resolve this issue changing its environment to the Anaconda or something like that. I looked for solutions, but all I founded worked on windows but I use ubuntu. If someone can help me, I really appreciate it.

Based on Using Anaconda in Blender

Install Anaconda and Blender
Use Anaconda to create a python installation.  The article doesn't mention but the installation has to match the version of Python used by the version of Blender.  In the case of Blender 2.93 and 3.0, it's Python 3.9.
Rename the Blender installation's Python directory.  (Don't delete it in case something goes wrong and you need to get back to it.)
Link your Anaconda installed Python into your Blender installation where the Python directory should be.

Test this by using the Blender python console and trying to import bpy and some Anaconda managed package.

note on linux to create a symbolic link you need to use another method than windows eg https://linuxize.com/post/how-to-create-symbolic-links-in-linux-using-the-ln-command/

also on Linux you can use a hard link, but I don't think that's a good idea.


text:
select an object in blender using python command
I'm having problem in working with various objects in blender. I'm writing a code to change the vertices of a object; but, it does not work when there are several objects at the scene, the problem is that I'm not getting change to the edit mode because of the "type" of the selection that I'm doing. When I select one object it do not necessary became the "master" object and so commands like
bpy.ops.object.editmode_toggle()
doesn't work.
I will put a photo to try to explain what a want to say with 'master' object
even when I select the "Circle" and deselect the "Empty" object, the last one remains marked. If someone can help, I appreciate.

If you are using bpy ops commands, be aware that they work on the active object, not the selected one(s).  The active object is usually the last object selected.

I just tested this and it seems bpy.ops applies to the selected objects regardless of their active state. So you need to set the selection state of the objects using obj.select_set(False) (Blender 3.0)

Try setting the objects selection state. bpy.ops (in my brief testing) applies to whatever objects are selected, regardless of whether they are active...
Eg. Add an empty into a default scene with a cube...
import bpy

obj = bpy.context.active_object
bpy.ops.transform.translate(value=(-5, 0, 1))
obj.select_set(False)
#bpy.context.view_layer.objects.active = None

emObj = bpy.data.objects['Empty']
#bpy.context.view_layer.objects.active = emObj
emObj.select_set(True)
bpy.ops.transform.translate(value=(3, 0, -1))
```


text:
Mixing forward and inverse kinematics
So I've made a simple, yet effective human rig with both arms and legs configured to use inverse kinematics (with an IK constraint, pole and target all set up).
This works fine for me and does the job, however, I prefer most of the time to mix forward kinematics and inverse kinematics to set up a pose. Is there a way I can be able to use my IK constraints for the rig's arms and then tweak it up a little rotating the actual arm's bones?

There is no built-in way to perform that task.
Many rigs provide python scripts that show panels in the 3dview for controls such as layer display and IK/FK switching, many also include scripts that snap IK bones to the position of FK bones and vice versa.
You can find the rigify scripts that are included with blender within the addons folder where you can look at how this can be achieved.
Most animators will tend to use one or the other depending on the actions being animated, keying the IK/FK influences on a transition frame when they change over. I believe you will find it difficult to be using both on every frame and only create extra work for yourself.

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


text:
Automatic weights are not being computed as intended (Topology issue?)
I have the following model, and skeleton
I'd say the topology is good enough, so I wanted to use the auto-weights feature to get a quick "draft" for the weights. I know this feature can be a bit rough sometimes, but what I'm seeing in this case is way worse than what I'm used to:

As you can see here, after parenting with auto-weights, the arm deforms both the head and the upper body. You can also see the generated weights for the left leg, which seem to be even higher for the right side than the left side.
I'm thinking there may be something fundamentally wrong with either my topology or my approach. Is such a bad auto-weighting normal for Blender? I certainly remember it performing way better in my previous attempts.
I thought this may be due to a low poly count, so I've tried subdividing the mesh (2x) and applying the modifier. No luck so far.
Any ideas?

It turns out the normals were not correctly oriented. When showing the normals in the editor, I saw this:

After recalculating normals (Ctrl+Shift+N, and unticking the "Inside" checkbox), automatic weights worked much better.


text:
Makehuman pose broken between 2.69 and 2.7x
I just upgraded from Blender 2.69 to 2.71. I loaded my previous save file and found, to my dismay, that my pose no longer displayed properly. I'm using Makehuman version 1.0.0. It appears that FK still functions as expected, but IK does not. IK hand and foot targets do not affect arm and leg placement. The root bone appeared to work.
Any ideas how I can (preferably) revive my save files with the new version? Alternatively, is there a way I can export the pose from 2.69, save in the neutral position, then re-import the pose in 2.71? I don't see any export options for poses in 2.69.

Do you use a Mhx rig or Rigify, Mhx's FK still works for me.

Is it possible some drivers are being blocked?

I use an MHX rig. The FK does work, but IK does not. I'm interested far more in IK, as I find it much easier to use. :)
I am unsure what you mean by drivers being blocked. If you mean my OS is blocking the operation of some part of Blender, I think that is unlikely.

EDIT: I believe you mean the "MHX drivers", which I can see in the properties panel. I don't see anything that appears different in 2.69. And I do have IK enabled in the FK/IK switch.

As a Stack Exchange noob, I wish I could edit comments more than 5 minutes out. --- @gandalf3 - I think you are right. Blender itself was blocking the driver. I just noticed a little message on the status bar. I said "reload trusted", and the pose is working. This may also have to do with the fact that I had "auto-run python scripts" disabled. I think this is resolved. I'm not sure if I'm supposed to retype this info in an answer and credit you?

If you had auto run python scripts enabled in your preferences for 2.69 and you haven't enabled it or copied your user prefs in the new version, then it might be because some python drivers are being blocked.
If this is the case, there should be a message in the info header (at the top of the window by default):

You can either press Reload trusted each time you open the .blend, or make sure auto run python scripts is enabled in User preferences > File > Auto Execution:

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


text:
How to stop texture curving around a hole?
I'm developing a game in Unity and I use Blender to create my models. In my game I need a board with holes in it. I create holes by using a cylinder and a boolean modifier like this:

Then I apply my test texture to the board and it looks nice:

By default, the texture mapping coordinates is set to "Generated". But since I want the texture to transfer to Unity, I need to use UV coordinates and create a UV map for the model. I tried to select the top faces and unwrap, but the end result looks messy because the hole makes my texture to curve.

Is there a simple way to unwrap my board model so that the texture would ignore the hole and look like it did when using generated coordinates? I tried to modify the UV map by selecting different edges from the model and moving the vertices around the UV map but I can't figure out how to do it correctly. I need the texture applied only on the top of my board, if it helps anything.
Or maybe there is some way to import .blend files to Unity with generated coordinates, but I think I have to ask that from the Unity formus instead.


text:
How to set edge bevel weights from a python script
I need to set weights for some edges from a python script. I have tried looping through object.data.edges and setting bevel_weight values but I can't get it right. It only works if I have first edited some edge's bevel weight by hand from the 3d-view's transform window. But I would like to get it work from my script without any manual hacking.
Steps to reproduce:
Start Blender with default cube and switch to Scripting view.
Try to set weights for all edges:
for edge in C.object.data.edges:
    edge.bevel_weight = 1.0

Verify that values changed:
for edge in C.object.data.edges:
    edge.bevel_weight

Switch into edit mode in 3d-view and open up transform window by pressing n. Select edges to see that the change did not work (bevel weights are all zero). Switch back to object mode and read values again in scripting console to see that they were reset to zero:
for edge in C.object.data.edges:
    edge.bevel_weight

Go back to edit mode and change some edge bevel weight straight from the transform window by hand. Go back to object mode and change values again from the scripting console:
for edge in C.object.data.edges:
    edge.bevel_weight = 1.0

This time it works, bevel weights are 1.0 when you go back to edit mode and look from the transform window.
Any ideas? My final need is to apply a bevel modifier to only some set of edges and that's why I'm trying to mark them by using weights. Using vertex group for bevel modifier does not work in my situation, since I need to specify edges, not vertices, which to bevel.
I'm using Blender v2.71.

There is no custom data layer for edge bevel weights by default. You need to explicitly enable it (this is done automatically if you use the Edge Bevel Weight modal operator in the UI):
ob = bpy.context.object
me = ob.data
me.use_customdata_edge_bevel = True

Furthermore, the mesh needs to be in Object Mode when you apply a bevel weight:
if ob.is_editmode:
    bpy.ops.object.mode_set(mode='OBJECT')
me.edges[0].bevel_weight = 0.7

If you want to avoid mode switching, you may use the bmesh module instead (bm.edges.layers.bevel_weight).

I was confused for a while with this.  I thought whenever I printed the bevel weight within my script it would update, but it wouldn't update if I didn't print.  But it turns out correlation isn't causation; what really happened is that I added the print statement, went into edit mode, inadvertently added custom data by messing with the UI bevel weight, and then ran the script to see the bevel weight "magically" update!


text:
Create a plane that always fits the camera viewport
I'll try to keep it clear: I want to use a background in Blender and for that I use a plane that I want always to fit the camera viewport.
I wanted to do it cleanly, so I put a plane at the same location and orientation as the camera and now I want to move the plane along the camera axis and change it's scale to always fit the viewport (what you can see in the camera view).
I used cos and sin with the FOV of the camera to move the plane but I didn't have anything correct (not so good at math...) and I don't get how I can have the plane to always fit the viewport (fill it entirely).

You could use the compositor for maing it be in the back ground, but it will not interact with the ligth; For this you would make the world render tranparent and use a alpha over node in the compositor. If you need it I can explain it a bit better.

Yeah, I thought of that and I got some results. But me and my co-workers wanted to try with a plane. Actually, all I want to do is translate the plane along the camera view axis.

You could parent your background plane to the camera. Then the plane would follow movement and rotation of your camera.

Select the plane
Select camara
Ctrl-P Set parent to object.

In large scenes you would need to scale the plane and move it behind all other objects.

Yeah I see what you mean but that's is not what I want to do. If I do it like you said, I can't move away my plane independently from the camera. I want to be able to move the plane away from the camera while staying in front of it

First you can use the Images as planes add on, to add the background image properly sized and with the texture already applied.
Add a copy rotation constraint to the image plane. Set the target to the camera.

To move the plane, similar to zooming in on the plane.
To move the plane on the camera's axis you can switch the Transform Orientation to ether View or Local.

Then move the plane along the Z axis (view mode will only work the same as local if you are viewing through the camera).

Great, I begin to get it. But then, when I add the constraint to the image plane, I can't move it. Can I a add a constraint that makes the image plane move along the view axis of the camera ?

@Ero Do you want to move the camera, or the image? Also by "move along the view axis of the camera" do you mean moving towards and away from the camera?

It's the image I want to move. Yeah that's exactly what I mean, actually I want the image to always be in front of the camera when I move it toward and away

authors: Александр Федотов


text:
Automatic Weights not recalculating after moving Bone
I am working with a fairly simple rig, as I'm pretty new to rigging/animation in general.
I created my bones, and later parented my mesh to the armature with automatic weights.
Later, I wasn't happy with some of the bone positions/sizes/orientations, so I moved them around in Edit mode.
I visited this question, in what I thought would be a simple way to recalculate the automatic weights. However, nothing appears to happen? Am I doing something incorrectly, or is there some type of problem keeping these weights from being regenerated.
In the provided gif, note that the weights stay the same after the bone is dragged way out of position.

You may want to show the [mode] (object, edit, weight paint) in the future, even if you feel it may be obvious.   Your bones may be in X-Ray which makes sense.  The viewer of your question can only guess the position of the bone.  Quad View can allow the viewer to more fully see the position of bones.

It would be easier for me to see the before and after image with a label in addtion to than the video alone.  The menu choices are quite small.

I would also advise you not assigning dramatically new position to bones and using the steps you outlined above.

Please state what mode you are in.  Perhaps I have not taken the time to determine you mode.  At this point I am looking at your question rather than testing in Blender.

@atomicbezierslinger all very good points! although it turns I had created the problem myself (see below answer)

Yes this points out your original information was too concise.  Then I could ask you for the information and periodically check to see if you have added it.  More time consumption. Yet a total recreation of the data would obviate the need to know such details.  Its adds a little value you know the cause.  However your technique is not something I would advise.  The locking also appears ill advised in this particular example.

As it turns out, the other answer referenced is correct, with an important caveat.
When automatically assigning weights, a vertex group is generated. I had my vertex groups locked so I didn't accidentally mess them up. As a result, this kept the weight paint data from being updated. If the groups are unlocked (or removed), the automatic generation should work.
In short, make sure the vertex groups are unlocked on the mesh you want to deform when automatically assigning weights.

I believe you should be in edit mode and not pose mode.
Suggestion. Manual weight painting is time costly.  If you have zero or or close to zero investment in manual weight painting then simply delete your existing [bone weight] work and start fresh to be time effective.  You have the luxury at the moment of discarding what might be a mistake rather than doing a sequence of recovery steps.
Simply assign automatic weights all over again.  That is 8 seconds of work. In your situation, the action of
Parent Armature with automatic weights Control-P
can be done many times since you are not losing time costly manual weight painting.
Please know that a large bone next to a small bone will have generally more influence except where the small bone is extremely close to the mesh.


text:
Understanding model, texture, UV scale
I am trying to understand the relationship between the scale of the model and how a texture is applied. My workflow is as follows:

Create a model
Create an image in the UV/Image editor of the default size, 1024x1024
UV Unwrap (for my current project just using a smart UV project)
Export UV map to create textures
Export model to .fbx
Combine model & texture in Unity3d

After I'm in Unity, I usually end up scaling my model, and my texture looks quite pixelated, and I'm not sure how to correct that. Theoretically I would ideally not change scale in Unity, but then I'm not sure how the other steps are related. Should I scale up the model first, and THEN do my UV unwrap? Scale the unwrapped UV image? I've got pretty large textures that have to be cut down quite a bit to even fit in the 1024x1024 UV map that is exported. Another thought I had was to start with like a 4096x4096 image.
Any input is appreciated.

I don't know about unity, but at least in blender UV maps are not defined in pixels. The UV map defines a mapping for the 2D image on the 3D surface of the model. The 2D image can be any resolution you want, the only limitation is performance.

@gandalf3 this sounds like "start with a bigger image exporting UVs"? It seems like scaling the UV map after the fact would screw up the coordinate mapping.

You shouldn't need (or want) to scale the UV map.. Simply using a higher resolution image should work. (The size of the UV map and the resolution of the image are not really related)


text:
Is it possible to isolate parts of an armature so the mesh will never deform?
I'm attempting to create a turtle character. I'm new to rigging & animation, so apologies if this doesn't make sense.

Everything has been pretty straightforward thus far, but I'm having problems with the weights. I did the rigging, and then set the meshes to have it as a parent with automatic weights.
I thought that I could paint the weights by bone, but it looks like it's only possible to do so by the whole armature (at least from what I can tell). My goal is to have the shell be completely rigid, and not deform with the rest of the limb movements. However, I still want the shell to be animatable so it can jostle around and such, just not deform like a traditional body.
Is it possible to isolate the shell? Maybe multiple armatures or some feature I'm missing? My goal is to export this as an FBX to Unity, if that has any bearing.
Any input is appreciated.

You could select the shell in Edit mode, go in the Properties panel > Data > Vertex Groups, on the right of the vertex groups list, click on the down arrow button and choose Remove From All Groups. You could now assign these vertices to your big body bone vertex group, or create a new bone, child of this big bone, give it a name, create a vertex group with the same name and assign your shell to it, so that you have a bone completely dedicated to the shell, if you ever need it to move slightly differently sometimes.
You say "I thought that I could paint the weights by bone, but it looks like it's only possible to do so by the whole armature (at least from what I can tell)", I'm not sure what you're saying, maybe you're missing that if you switch your armature to Pose mode, then select your mesh and switch to Weight Paint mode, you can select one bone and see what influence (i.e. vertices groups) it has on the mesh.

Sorry, I was pretty unclear with about the "painting by bone" bit. Essentially, I selected the spine bone and painted the shell with a solid weight of 1. Then, when selecting the arm bone and switching to weight paint mode, I found it was still showing a weight of 1. So, I painted a weight of 0 with the arm bone selected, only to find these changes were reflected when I switched back to the spine. I thought those weights would be isolated on a per-bone basis.
Regardless, I'll try your first selection and see if I can figure it out!


text:
Change Animation parent / link?
Is there a way to "re-parent" animation data? FYI, I don't know much about this, so I'm probably using the wrong term.
Basically, I unintentionally "parented" (or linked? not exactly sure if that word is right, but I see it in a lot of menus I'm trying to use) my animations to random meshes within my models.
See these screenshots:

My expectation (not sure if this is correct), is that all of my animations should "belong" to my top level Armature. Instead, I've got some (but not all) animations attached to various other parts, like a piece of the neck, and the left leg (???).
Not only was this unintentional / messy, it is causing problems down the line, as I'm exporting an FBX which is then imported into Unity. Then Unity seems confused itself, since animations belong to the neck instead of the Armature.
Is there a way to take my existing animations and make them belong to the top level armature? I was able to right click an "unlink" from the hierarchy, but then it appeared they weren't owned by anything, and weren't getting exported/imported.


text:
Can multiple bones influence another bone at once?
Note my screenshot - what I'm trying to accomplish is that when any of the outer "arms" move, the center, vertical bone moves along with it, basically in an IK relationship - tilting based on the moving arm. However, I'm only aware of how to do any IK stuff by using parental relationships. Since bones can only have one parent, I'm not sure how to accomplish what I wanted.
I tried adding multiple "Copy Transform" constraints from the arm bones to the center bone, but it seems like the constraints just execute in order and whichever one is last overwrites the others.

I might try solving this by having the rotation constraints at partial power. There’s an influence slider on the bottom.

I understand that you've got yourself something you're happy with.  If it's working for you, that's all that matters.  However, I suspect you'll find that using Child-ofs to do this is not ideal.  Those 8 child-of constraints are not equal: they are evaluated in order, from top to bottom.  Still, it may be good enough for your purposes.
A better solution here would be an armature constraint.  This works very similarly to weighting meshes, but rather than using multiple bones to move a vertex, it uses multiple bones to move a bone (or object.)  With the armature constraint, you can weight your central bone equally to each of your 8 arms (1/8 = 0.125, so that's the individual weights) and the central bone will move with each evenly.

The short answer here is: yes you can. It turns out my initial instinct of "parenting" was the correct one, but indeed the typical parenting implementation only allows for a 1:1 relationship.
Thankfully there's a solve for this, the Child Of Constraint. I simply added 8 Child Ofs to the center bone, and used TheLabCat's advice of adjusting their influence down a bit for a more realistic look (though it still works with an influence of 1.000 on all parents, for the record).
Check out the screenshot below where multiple arm movements are each applying separate, additive tilts to my center bone.


text:
Assign automatic weights *only* to a specific vertex group?
I might be asking this question wrong, because I've searched around without any luck.
Basically, I want to automatically weight a specific vertex group to a specific set of bones. In my model, I've got a tree where I want to animate certain branches very specifically. When I try to set automatic weights, lot of vertices from other disconnected branches are grabbed as well, due to their radius.
I've already got each branch split out into vertex groups, but I'm not sure how to assign sets of bones to them in an automatic way.
An example is in the image below - I'd like the 3 bones that I have selected to weight themselves to the selected vertex group.

" I'd like the 3 bones that I have selected to weight themselves to the selected vertex group." - This is impossible. Each bone has its own vertex group assigned by its name. It's a 1:1 relationship. Each vertex group can contain many vertices assigned with their own specific weight. In your case, you have 3 bones and 3 vertex groups. Each group defines the influence of the bones by having vertices assigned to it (=section of the branch).

Thanks for clearing that up Blunder, it seems I had a fundamental misunderstanding of Vertex Groups.

The ironclad, fully general way to do this is to use a vertex group modulated data transfer modifier to copy weights from a duplicate:

Here, I've autoweighted an original to one armature and a duplicate to a different armature (with some shared bone names) and am then transferring vertex groups from the duplicate, but only to the vertices assigned to Group.
This isn't necessarily the fastest way to achieve what you're after, just the way that will work in every situation.  I figure that this particular question, especially answered two years late, is focused on the general problem.
Note that the modulating vertex group doesn't have to be all 1 or 0-- you can assign vertices at whatever value, meaning they'll interpolate between original and transferred weights.  This can be a useful way to create smooth transitions.
The data transfer should usually be targeting an undeformed mesh object, and it's wise to apply the modifier when happy with its output.  As a "modify" type modifier it can be applied even to meshes with shapekeys.


text:
How can I align a bunch of verts into a circle at once?
I've been going through the process of creating a turtle shell. I've got everything mostly where I want it, but now, my outer ring of verts are really messy.
My goal is to have the outer ring of verts be a perfect circle, but as you can see, they're kinda scattered around at different positions. I want to align these so they become circular in the Z/X axis, regardless of their Y depth.
Is there a simple way to accomplish this?

Go to preferences and make sure you have an add on enabled called "Loop Tools". Enable it if it is not checked:

Select the outer ring of your mesh, right-click and select LoopTools > Circle:

You can make further adjustments from the Operator Panel in the bottom left if necessary.


text:
Can anyone tell me where these "Actions" come from?
I'm working on a project that features an animated character. I've got a whole humanoid rig / armature that controls all of this.
Sometimes, I'll decide to make changes and add some new objects. It seems like whenever I add these objects (or even transform them in any way), about half the time, they generate themselves these new Actions automatically. Even if I go into the object hierarchy and try hitting Delete or Unlink Action (no idea what is actually going on under the hood with either of these) - eventually I'll just wind up with more of these empty junk actions that only correspond to that specific object.
You can see below that, for instance, CameraAction was added automatically when I was setting up some renders recently (all of that stuff ending in -Action just magically appeared today while I was working).
Maybe I am just misunderstanding Blender / Actions in principle (to be honest I find the entire animation stack really confusing and I'm just lucky if I remember to create a "fake user" for something I actually do want to keep??) so any insight on this issue is appreciated.

In the Timeline, do you have the Auto Keying button enabled (little sphere on the header menu bar)? In that case it will automatically create keyframes if you select and move an object, so disable it

When you insert a keyframe, it will create a action Data-Blocks in that object.
When you delete that object, the action still in the computer's memory and will not be deleted. When you save the file and re-open the file, these unused Data-Blocks will gone.
This is the same as the material, when you delete the object, the material still here until you quit, make it "fake user" and it will remain.
You also can clean up the unused Data-Blocks manually

Is this as a result of having auto keyframing enabled or something? I haven't been trying to insert keyframes. I also thought it was only possible to create keyframes in Pose mode.

If you copy an object that already has an action, the new object will create a new action.

All of these objects are brand new, created with the


text:
How do I get absolute path of a file?
I did the following to achieve an UI for taking in path file
bpy.types.Scene.skeletonImporter = bpy.props.StringProperty(name="Import skeleton.xml path", default = "", description="Import which skeleton.xml file?", subtype = 'FILE_PATH')
bpy.types.Scene.meshImporter = bpy.props.StringProperty(name="Import .mesh path", default = "", description="Import which .mesh file?", subtype = 'FILE_PATH')

which give me this relative path when I try and open a file.

However, I wish to take in the absolute path for my files. How do I go about doing that?
There's no subtype called ABS_FILE_PATH (which would be useful in my situation).

I have seen your answer before I posted, but I'm still not sure how it can be applied to my situation.

bpy.path.abspath(yourpath) should work. It will normalize all the extra ../../s and give you an absolute path. But only if the blend file is saved. Otherwise, '//' has no meaning.


text:
Is there a tool similar to maya's "edit edge flow" in blender
I personally enjoy modeling in blender more than maya, but this one tool is so extremely helpful. It should be included in blender if there isnt something similar already. Is there a place where I can suggest tools?
Heres an example
https://www.youtube.com/watch?v=8-G7UblIjTs

For feature requests see http://blender.stackexchange.com/q/1190/599

Here is some nice tool about it
https://github.com/BenjaminSauder/EdgeFlow

Question: Is there a tool similar to maya's “edit edge flow” in blender? Answer: yes. Here is addon that called EdgeFlow. https://blenderartists.org/t/it-is-finally-here-edge-flow-set-flow-for-blender-benjamin-saunder/1128115

Not exactly, but there are some tools which you can use to get similar results in specific situations.
Shrink/Fatten (Scale along normals)
Press AltS

Smooth subdivide
Change Smoothness in the redo panel (F6) after subdividing

Smooth loop cut
Change Smoothness in the redo panel after cutting, or set the smoothness while positioning the cut with AltMouse Wheel (the smooth value is displayed in the header).

Yes you can do this (even more efficiently then in the video I think)

Select an edge ring (Ctrl+Alt+RMB)
Edge Menu -> Edge Loops (or Ctrl+E, P)
Edge Menu -> Subdivide (Adjust smooth)

Note that this doesn't work for the first example in the video (I haven't found any tools which can do that.. As a matter of fact, this is what I did for the second gif in my answer). It also doesn't work as nicely for editing existing edges..

What exactly doesn't work well?

Sliding an entire edge loop like in the beginning of the OP's video. Here's an example animation: http://pasteall.org/pic/73242. It kind of bulges and deforms along the minor radius, instead of maintaining a nice circle.

Ctrl+V then click V (Smooth Vertices)
It works more like a mix between "Average Vertices" and "Edit Edge Flow", but it's the closest I've found that's useful on the fly.

A workaround is to use Bridge Edge Loops and its Smoothness factor.

Delete the face loop where you want to add an edge loop.
Select edge loops which were holding that face loop, run Ctrl+E > Bridge Edge Loops.
In the Last Operator panel (on the Toolshelf or from F6) change settings for Number of Cuts and Smoothness.

Change the Smoothness of the Loop Cut.
While I haven't found out the optimal setting, smoothness 0.5 seems to be a nice solution.
If it is tedeous to set the smoothness everytime, you can set it from the User Prefs too.

there is no tool like max or maya..
Shrink/Fatten = Manual (not 100% correct and trying to fix more than one takes long time)
Smooth subdivide = you must add loop.. you cant fix older edges or vertexes.
Smooth loop cut = same as smooth subdive.. useless for old edges and vertexes
i have no i dea why we have no set flow / edge flow tool. trying to fix with manually is sucks..


text:
How to export point cache from linked group?
I would like to be able to export the cache from a referenced/linked group of objects. My problem is that even if each mesh of the referenced group exist in the outliner (in BlendfileData > Objects), I can not select them.
In my blend file I have a character with different meshes (head, body, arms, etc) and its rig.


text:
How to block custom properties from being edited by the user?
I'm creating a custom property for each object in my scene but don't want the user to be able to edit it. Is it possible to block the property in ui ?
Here is my code :
import bpy

allObjects = list(bpy.data.objects)

for element in allObjects:
    element["myProp"] = "My value"

You might create a custom property and pass only a get method:
import bpy

#default getter
def get_my_prop(self):
    return self['my_prop']

#omit the setter with a given getter to make it read-only
bpy.types.Object.my_prop = bpy.props.StringProperty(get=get_my_prop)

for obj in bpy.context.selected_objects:
    #assign the value directly
    obj['my_prop'] = "My Value"

It looks like this in the properties panel in blender 2.71:

That works very well but when I close and open the blend file, the custom property is editable again. I tried to use the options={'HIDDEN'} in my stringProperty but it doesn't hide my property...

How can I keep the property not editable by the user from a session to another? I don't need to have it visible in the interface.

You can either check the Register option in the text editor to run the script when the blend file is loaded or create an addon. #1 #2

I was not satisifed with the way the field is dimmed and the value can't be accessed in a color field when it is read-only.
I added custom get and set methods to ensure the user can't modify it from the interface, while being able to click the field and copy the values inside the RGB widget.
import bpy

bpy.types.Object.my_prop = bpy.props.FloatVectorProperty(
    subtype="COLOR",
    set=lambda s, c: None,
    get=lambda s: s["my_prop"],
    min=0,
    max=1
)

for obj in bpy.data.objects:
    obj["my_prop"] = (0.5, 0.3, 0.2)

You can still change the property with a custom Hex value using the interface, but I guess this is managed differently so I don't know how to prevent that. You can also change the HSV sliders but the changes will be discarded when you exit the widget.


text:
Can I add more loop cuts to an existing loop cut?
Sorry if this title is confusing, but what I'm looking for is pretty simple in concept.
Essentially, I'm making use of loop cut & slide to slice up long objects, and then using a Curve modifier to bend them. However, often times I find that I don't have a high enough resolution for my curve, and it starts to look chunky. As such, I need more cuts. However, I don't know how to add them. The Subdivide command works for this, in that you can select all faces and subdivide them as much as you want. However, that create a bunch of junk on the sides that I don't need.
I want to go from this:

to this:

without undoing, or deleting. Is there a way to do this via Loop Cut, Subdivide, or some modifier?

Select the edges that need to be divided, and not the faces. IE: edges that are parallel to the worm’s spine only.

Suggested by Zargul, use Edge Select Mode.

Select these edges.

And now you can Subdivide.

This works perfectly! I thought Zargul meant do another loop cut with the edges selected, which didn't work. Thanks to you both!


text:
Make an Earth Sphere
I'm new to Blender and I need to create a model of spherical earth with all the countries as separate meshes.
For now I've managed to create a flat map of the earth with separate countries from a shapefile, but I'm not really sure what to do next. I've read plenty of stuff in Internet, but couldn't find anything that will help me to get a desirable result (globe with separate meshes as countries).
Is it actually possible with blender? Any ideas and suggestions are very appreciated.

Off topic (and directed to those who are too quick to judge others), but I have a quick complaint: I think it is quite inappropriate to downvote a new contributor's question right away, instead of helping him with an obvious question and maybe helping a little bit to formulate the question better! Please be nice to each other and help if you don't like something and you can do it better!

Back to Topic: @Elmpt, what would be your approach so far? Can you explain a little more with pictures? What have you tried so far and what specific questions have arisen?

I close the question.
Apparently I found a nice tool from domlysz called BlenderGIS: https://github.com/domlysz/BlenderGIS/wiki/Make-an-earth-globe
And it has a nice function to transform lon/lat data from shapefile to sphere.
Thank you @quellenform for your comment!

Btw: If you want to use SRTM data (elevation data) with BlenderGIS, then you need an ID at OpenTopography. Just register your account and attach the ApiKey to the URLs, or use a modified version of BlenderGIS where you can define the ApiKey directly in the settings.

@Elmpt Hi, thanks for the post. This site is not a regular forum, answers should be substantial, stand on their own, and thoroughly explain the solution and procedure. Can you [edit] your post and provide some more details about the workflow and how it to use the mentioned addon? Perhaps add a few images illustrating some steps and final result. See How to write a good answer?


text:
Why are objects see through when rendered with Cycles
Why do I see through it.

Blendfile

Welcome! This question could be improved with some extra clarity. Perhaps describe what you're trying to do, what objects are in your scene, what render settings you're using and any other information that may be relevant. You could also upload your .blend file so that we may crack it open ourselves and have a deeper look.

Without knowing the material setup it's hard to tell...

hey , i put the link

All of your lights are hidden in the viewport

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.

Two of your materials, Carbase and glasstint, have the Alpha value in the Principled BSDF set to a value less than 1. Every value lower than 1 will make them not fully opaque. (Even the glass shouldn't use that for a proper transparency).

Thx ,  i'm new* to blender

@milkyway You're welcome, and as Allen commented above: your lights are disabled, just in case you're wondering why everything is dark except for the emissive materials.


text:
How to select and merge verticies into separate triangles?
For my blender model, I have an image of a half-sphere. On its face it is triangulated and I want to merge the triangles together so they are like the portion that the red arrow is pointing to.

What I have tried doing is first going to select on the bottom left, and then using circle select. I selected the areas and I tried doing many different things :
First, I tried pressing Alt M and I was given the choice of merging at center, at cursor, or collapse. None of these can give the function I need.
Then, I tried pressing Connect (Select -> Vertices -> Connect (c)) and nothing happened.
I have tried using this: http://wiki.blender.org/index.php/Doc:2.4/Manual/Modeling/Meshes/Editing/Vertices/
Does anyone know what I should do?

alt-J will give you quads...


text:
Geometry Node, Projecting Mesh Intersection as Faces on another Mesh
all
working on some sort easier solution for applying stains on my models... main idea is applying  mesh intersection of this default colored grey bloob on surface of my model, to get some nice stains all around.

End result should look like something this (know it's shity but was added by knife tool...)

Was trying to use some geometry nodes pattern find on this forum here --> How to Boolean the intersection of 2 different meshes in Geometry Nodes? Getting "some" results...

but end effect is so far shity asf... multiple face in same place etc...

Can someone help in making it better?

a mesh boolean seems to be a terrible way to add a stain because it adds a hell lot of geometry to a model for a purpose that is typically done with a texture. Some possibly related answers of mine: How to use the contact area between the instance and the mother object as texture coordinate in shader? and Intersecting surface area between two three-dimensional meshes


text:
Python code to operate on all selected objects
im trying to set custom object properties on many objects.  I found this python code in another thread here, and it does work to at least do it 1 object at a time via the Python panel, but altering the code to do it for all selceted objects would be even better.  I know almost nothing about python, so my attempts to modify the code havent worked out.  I also tried Bing AI, and it doesnt seem to know how to format Blender python, because i get all sorts of errors.  Here's where im at so far...
import bpy

obj = bpy.context.active_object

float = "Opacity"
obj[float] = (1.0)
obj.id_properties_ensure()
property_manager = obj.id_properties_ui(float)
property_manager.update(
default=1.0,
    min=0.0,
    max=1.0,
    subtype="FACTOR",
    precision=2
)

I would suggest you don't override builtins, float is a python builtin (hence orange color in the formatted code) which can have unintended consequences in your scripts

I reckon it would be:
import bpy

for obj in bpy.context.selected_objects:

    float = "Opacity"
    obj[float] = (1.0)
    obj.id_properties_ensure()
    property_manager = obj.id_properties_ui(float)
    property_manager.update(
    default=1.0,
        min=0.0,
        max=1.0,
        subtype="FACTOR",
        precision=2
    )

It's just a for loop iterating through each item in the list formed by bpy.context.selected_objects

you reckon correct!  that worked.  i suspected the FOR was needed, as i saw it in Bings attempt, but since there were other errors, i didnt realy know how to fix them.  Would it be possible to turn that into some sort of menu accessible command?  Maybe with a dialogue for options?  I assume thats getting into the world of Add Ons?

Yes, but have you tried to look that up? There are tons of tutorials that show how to use python and bpy, tons of people on BSE who got similar questions before, there are even templates in Blender to do exactly what you ask.

Have not looked yet.  Im pretty new to blender, and as i said above, pretty much 0 python experience.  So, it was more just a general question of it was possible.  I'll look into it eventually.  Thanks again

Check the Text Editor's Templates Menu. The Blender Foundation published a short video guide Scripting for Artists. These could be a nice starting point.


text:
Hair curves transfer, from one blend file to another not working
As you can see here I have one blend file with the hair curves system and the other with the rigged character.
I tried to copy modifiers, but they don't display on the mouse in rendered view.


text:
Adapt Limit Location Constraint to Bounds of Mesh Object
I recently asked a question here looking for advice on constraining a bone to within the internal space of a custom mesh object, using the default bone constraints available in Blender. I've been messing around with this issue myself since, and haven't been able to devise a suitable system or at least had an idea that might be workable - judging by the lack of response, neither has anyone else.
I've all but given up on doing this using the currently available constraints, though I still think that it is such an intuitive feature (at least in my view) that surely someone's come up with a method before? Instead, I think this may only be possible with coding. As someone who is completely new to coding using python and in Blender (though definitely keen to learn), this is quite a daunting task and I was wondering if someone might be able to give me a few pointers.
For anyone that doesn't want to check the link to see exactly what I'm after, I'll briefly explain what I'm looking for:
Essentially, I want to be able to quickly and easily (after the system's been developed, of course) select a specific mesh object such as a cube, sphere or other such arbitrarily shaped entity and make it so that the bone is unable to move outside of this object. It would be able to occupy any location within the object, and on its surface, but not exceed its surface.
In the images below I show the would-be constrained bones (in green) inside 3 different shaped objects (within the volume or on the surface), and 1 additional (grey) bone to show that a bone without the constraint would be able to be placed anywhere as usual (assuming no other constraint was applied). Hopefully this clarifies the problem.

In the original question I provided descriptions of exactly why the other most promising constraints fail to achieve this.
As I have said, I'm still very much open to ways to do this without using code, but I'm increasingly feeling as if that is not possible. I'm also not necessarily asking for some genius to go away and create this system for me (though by all means do so if you wish!), but I'm more looking for pointers about whether this is even possible and if so how someone might go about it.
My gut instinct is that it would be easier to adapt the Limit Location Constraint already in Blender rather than start from scratch, but I may be completely wrong in this assumption.
Any help is greatly appreciated.

With the release of Blender 2.8, there is now a solution to this issue within the mode type section of the Shrinkwrap bone constraint - called 'Inside', it limits the movement of a bone to within a specified mesh object. This is exactly what I was after. More info can be found here in an answer I wrote to the original question.


text:
Modeling a bottle with multiple type of geometry
Greetings Blender community,
I'm struggling to model this perfume bottle

this "form" being super complex for me
because it starts from a square and ends up in a ball form and the best result I have come with so far is this :

the way I'm starting is as follow : youtube video
I would like to know if my process from the beginning is wrong and if so could anyone advice me on the way (or which base) to model this and how could I possibly join the multiple type of geometry together ?

Create a UV sphere, cut its bottom, extrude down and fill the bottom, only keep a quarter, create an empty at the same location and create a cube that intersect with the UV sphere:

Give a Boolean modifier to the UV sphere with the cube as Boolean Object and give an Array modifier with the empty as Array Object, rotate the empty 90° on Z:

Apply the Boolean, correct the topology a bit:

When you're good, apply the Array, etc...


text:
width not divisible by 2
greetings blender community,
I get this error message when trying to render a video :

this should not have happened as my resolution is 1000px X 1000px and the % below is at 100 but here the error message indicates : 997x994. What is this due to and how I can fix this ?

Can you share your Blender project file? Instructions for sharing.

We can see below your render settings that you have a render region with cropping enabled:

Render region is usually set up by hitting ⎈ CtrlB in the viewport and drawing a rectangle to limit the render preview to an area, but it also affects the final render:

There are three ways to go from there:

redo the region all around the camera view, or press ⎈ Ctrl⎇ AltB to remove the region entirely
uncheck the cropping checkbox if you want to keep the render region but not have it crop the final image
uncheck the render region checkbox if you want no render region affecting anything at all but want to keep the region saved for later use.

That being said, the other solution could also be to not use a video format as you render out. There are several cons about it, I went in depth in this other answer you probably should read if you aren't familiar with CGI rendering in general:
Video vs image output and recommendations

the first solution helped me to fix the problem, thank you


text:
Boolean modifier problem
I'm struggling to integrate a logo using the boolean modifier on the top of a bottle cap.
I have two problem, the first is I don't know how to properly apply the bevel modifier on the edges of the integrated logo (after the boolean modifier was applied) and the second problem is like you'll see in the picture the material is messed up because of the boolean effect, it's clear that I'm doing something wrong in my "building order" so, how I can fix this ?

on the 4th picture I was able to apply a bevel modifier (using the weight option) but in this case I used a basic cylinder without any modifier applied to it :

You should delete the top cap, grid fill it and draw the logo there. Booleans are terrible for topology

what do you mean by "draw the logo" ? sculpting ?

I added the grid fill like you adviced me to do and I'm getting closer to the desired result but now I have these issues  : https://ibb.co/B6nJc3M

The “material being messed up” is actually because of the bevel not being there for the smooth shading to work with. See this documentation for more information. As for the bevel not applying to the Boolean geometry, modifiers are executed in top down order, so if you move the bevel modifier to be below the Boolean modifier, it should apply to the Boolean geometry as well. Note that you may need to change some settings of how the bevel deals with corners and overlap to get it to look right.

I added a grid fill, I'm getting closer to the desired result but now I have these issues : ibb.co/B6nJc3M

That's technically a separate question, but try double checking that the normals on the logo stamp object are facing the right way (in edit mode with it all selected, Mesh -> Normals -> Recalculate Outside). Lots of similar questions on here with beveling if you need more info. If that doesn't work, ask a new one.


text:
How to replace Attribute Vector Math in this situation?
Here I am following a tutorial (the hand reveal) where Entagma uses the Attribute Vector Math in Geometry Nodes in Blender 2.93.0 beta but I don't see it anymore in Blender 4.0 and, my question is, how can I replace it ?
Here you can find the screenshot from the tutorial and the screenshot with my datas :
from Entagma's tutorial : https://freeimage.host/i/entegma.JTygpKG
my datas : https://freeimage.host/i/JTyrIRV
link to the blender file : https://file.io/DdV4dFg96mnL
I also couldn't find the Point Instance node, I "solved" this by dragging the cube file directly into the Geometry Nodes board (see Object Info) then I connected it on Instance on Points as seen on the screenshot but, I'm not sure if it's the correct/best way to do it ?
kindly

This might be helpful: Can't find the node! Which node is available in which Blender version?

yes I know that the Vector Math replaces it but (I forgot to mention that, I'm sorry) it looks nothing like the Attribute Vector Math therefore it needs to be completed with other nodes in order to achieve the same function as the Attribute Vector Math, correct me if I'm wrong... Kindly

With the fields workflow there is no concept of attribute vector math node anymore, you simply plug the vector math to the field you want to compute

Following Entagma's formulation..
In GN Fields, to store an attribute on the points of the modified object representing  a clamped linear (0->1) gradient between the locations of external objects A and B, you would now do this:

For this behaviour:

Alright, thank you. I have followed what you've done precisely but now my object is gone.
https://i.postimg.cc/nrcsQBCN/diamond-gone.jpg
To be honest I'm completely lost, being new to Blender it's hard to connect the dots and understand the Geometry Nodes universe.

Hi, @Nexgen...  Instance on Points replaces the provided points with the instances. If you want the underlying geometry to be part of the output, you have to join it back in explicitly: https://imgur.com/a/lWaRbCp.. (maybe it should have been called Points to Instances )


text:
Which modeling tools and modifiers use global space and which use local space?
When modeling and using modifiers some tools and modifiers use global space for their operations e.g. extrude, move and the boolean modifier, while others use local space e.g. insert, bevel and the bevel modifier.
Sometimes the choice is pretty obvious e.g. move or scale, but othertimes it seems kind of arbitrary like with the bevel operation.
Is it somewhere documented which operations use which coordinate space?

In short, edit mode operations (such as pretty much all of the modifiers) use the local transforms while object mode operations use the global matrix, or any other matrix that's currently selected in the viewport (local,normal, gimbal, view, or even custom ones)


text:
How to set Euler rotation order in vector rotate node?
The vector rotate node has a Euler mode. My first problem is that it doesn't state what the Euler rotation order it uses. XYZ? ZYX? YZX?, which is it?
My second problem is that I want to change which rotation order it uses however changing the Euler rotation order in the viewport doesn't change the Euler rotation order of the vector rotate node.
So how would you do that?

There is something nice called API

Could you please explain what you are talking about?

You will find here:https://docs.blender.org/api/current/index.html
in the bpy section, what the function you use in the blender UI refer to, and will get insight on the order of the rotation ops.

@Yvain I am talking about the vector rotate node not the UI.

Yeah right and nodes are not part of the ui...

Oh you see the order is x y z

And how do I change that order?

@tempdevnova doesn't look like you can change it. It's XYZ in the documentation. Don't mind the image, they made a mistake.


text:
How to test if a value is exactly 0.0 in shader nodes?
I have a node setup where I need to test whether or not a value is exactly 0.
Blender's math node has a comparison mode but it uses an epsilon value to check if a value is within a certain tolerance, but I want to know if a value is exactly 0.
How do I do that?

Why don't you just make the tolerance equal to 0?

Stupidly asked: Doesn't this work by setting Epsilon to $0$?

Yeah that is definitely the solution ^^. Only thing to keep in mind is if you set the compare value to 0 with an epsilon of 0 on some gradient from 0 to 1 it's going to show completely black and you won't be able to "see" the result.

So setting Epsilon to 0 actually works? I always thought that epsilon meant strictly greater than and not greater equal than?

Epsilon can be understood here as "tolerance".

@quellenform I tried to find the source code regarding the comparison operation but coulsn't find it can you help here?

Source

Thanks man! Why do the functions all have such weird names...

Ok I had a look at it. It really is divergence<=epsilon. Apart from that it also seems to define cases which are not accessible in Blender.


text:
Why does EEVEE use so much CPU processing power?
To my knowledge EEVEE is only supposed to use the GPU while rendering. But when I render something and inspect task manager my CPu usage is around 30-50%. As a comparison for Cycles with GPU render my CPU usage is around 15%.
Why does EEVEE use so much CPU processing power?

The "proper" way to answer this question is to run Blender under a profiler, do an EEVEE render, and then look at the profile to see where the time goes.  Any other answer is going to be speculative at best. One obvious speculation: You have a compositor denoiser. That would run on the CPU not the GPU.  EEVEE uses opengl and so anything opengl can't do on the GPU would also run on the CPU.

While the rendering itself is indeed only using the GPU because of it being an OpenGL rendering, it is wrong to assume that your CPU isn't involved by Blender in the entire process.

CPU power is still helpful to handle high complexity scenes as the geometry and modifiers are still prepared on the CPU before rendering each frame.

Source: Reference/Release Notes/2.80/EEVEE - Blender Developer Wiki
I don't know the details exactly, but I think that includes BVH, and also all the tasks on the system like writing the files and video encoding if you also output a video file (please don't do that for a final render).
Now, the reason why your specific case uses your CPU and GPU the way it does, can't be answered easily. It could be that your hardware is just bottle-necked by its CPU, or that your scene is not optimized. There have been many cases where people complained about their scene hitting seemingly insane render times only to be told that a simple two-clicks optimization fixes it all.

 I had a quick look at your scene and this is a typical case that screams “instances” to me. (...).
I just deleted all your geometry (...) added a simple plane with a particle system that instances the peg (...) thousands of times, many many more pegs than in your scene plus a building on every single one of it. (...)
File size went from 270MB to a mere 13MB, render preparation (BVH building etc.) takes under a second now and memory consumption during render is 90MB max.

Source: Building BVH is killing render time (Cycles, Eevee, and Redshift Maya Compared) - Lighting and Rendering - Blender Artists Community
Think of Eevee as a video game, it doesn't use "just" either of your GPU and CPU, it uses both for different things. Having bad performance only means that either one of these are hitting their limit or the software is hitting his limit. Most of the time you can either change the load to not hit any limits though.


text:
Is vector math node slower than math node?
I looked at https://docs.blender.org/manual/en/latest/render/cycles/optimizations/nodes.html#node-optimizations and apparently Blender is pretty good at optimizing node trees.
This made me wonder a have a node group that uses vector math nodes. In one part in the tree it is fed input vectors, while in another part it is fed input float values. Preferably I want to use the same node tree twice, however I am not sure if Blender is smart enough to convert the vector math nodes to regular math nodes at render time.
Can someone please help here?

There will probably be a tiny difference here. If you are very precise, the calculation with one float value is always faster than with three.

Are you sure that's the case? Because Blener may be smart enough to notice that it's doing the same calculation three times and simply merge them into one.

Well, not quite sure, but a vector math node would then have to at least check if all three inputs have the same value....

But still: To me it looks like the calculation for Vector-Math is passed directly to the shader without checking if all three float values are equal. Source 1 Source 2

Huh, looks like a possible optimization for me.

@tempdevnova A single vec3 multiplication is basically free. Blender is actively doing raytracing, lighting calculations / GGX, subsurface scattering, all of these are vastly more complicated.
To be precise, and less hand-wavy, an Intel HD Integrated Graphics card does ~400 GFLOPS. So, 1920x1080 resolution gives 185,000 FLOPS / pixel / second. Wasting 2FLOPS per pixel per frame will cost you ~6 microseconds per frame.
In reality, if at any point there's a bottleneck anywhere else (CPU, CPU->GPU, GPU texture fetching), the actual negative impact will be less than 6 microseconds per frame.


text:
What is the difference between Texture coordinate node's "Camera" output and Camera data's "View" output?
According to https://docs.blender.org/manual/en/latest/render/shader_nodes/input/geometry.html Texture coordinate node's "Camera" output is "Position coordinate in camera space."
Meanwhile according to https://docs.blender.org/manual/en/latest/render/shader_nodes/input/camera_data.html Camera data's "View" is "A camera space vector from the camera to the shading point."?
These two descriptions seem to desribe the same thing.
So what is the difference between Texture coordinate node's "Camera" output and Camera data's "View" output?

You're right, that sounds like the same thing. But could it possibly be that the aspect ratio of the view/camera plays a role here?

Well spotted.
As far as I can see, Camera Data > 'View Vector' is in World Space, not Camera Space.
(Besides being a pure, normalized direction, not a position)
These clusters produce identical results:

I've reported it as an issue with the docs, we'll see if an editor agrees.


text:
how to apply slow-motion on a specific sequence?
I have searched on youtube tutorials how to apply slowmotion in a particular sequence (not on the whole rendered sequence) so obviously I found a bunch of videos explaining how to apply slowmotion in general but I have not find someone able to explain how to apply slowmotion on one sequence and let the other sequences on a normal speed, when I tried this on my own the "slowed" sequence had the number of frames going down drastically, here is what I did :
https://youtube.com/shorts/74Y8lvRvdcQ?feature=share
how could I achieve this so that it appears smoother/slower ?

what you call slow motion is rather a lower fps, to do that I would do a normal render from frame 1 to 100, when the fps is normal, then do a second render from 100 to 200 but go into the Output panel > Frame Range > and increase the Step value so that you have this effect

hmmm I tried to play with the numbers in the frame range but !i haven't find any slowmotion being applied

Are you sure that you are looking for slow motion? To me the effect is just a low fps, like 12 images per second or even less, try 6 for example

this is the exact slowmotion i'm looking for (in the first seconds of the video) : https://youtu.be/vO7hKivZmY8?feature=shared

You could accelerate your video clip in the Video Sequencer?


text:
blender assets pack gone
today my assets pack were showing (polyhaven) then after closing blender and opening it they were mysteriously gone and i have no idea how this happened, i haven't touched anything in the file directory or whatever that could interfere, i keep closing and launching blender hopefully it'll return how it was but my assets pack won't simply show up, what could be the reason behind this ? this is not the first time blender is having this type of bug, it's really frustrating but thank God, blender is free.

i'm dropping the screenshots to show that the problem is not coming from me ^^

How Long did you wait for? 8GB can take a while to reindex. Try this: Open Blender, wait for 1-3mins, then split the asset browser window into two areas.

I found the solution, Blender will not load the assets if I don't go to preferences and select one of the assets path and then click on "save preferences" which will trigger the loading (hopefully this will be rectified in the future) but now I ran into another problem is that after finishing the Nextcloud installation (ambientCG) when opening Blender it will load stuffs linked to the assets of ambientCG and then crashes without warning, eh... I guess I won't find anything here this just got too deep. Thanks for your msg @Leander


text:
How to Keep a Product's Brilliance with a White Background (No HDRI)?
I'm trying to maintain the brilliance of a product with 0.050 roughness while avoiding HDRI environments. My goal is to use a white background with minimal reflections, preserving the product's glossy appearance.
Here’s what I’ve tried so far :
Attempt 1 : Standard White Background
I used a standard white background (either on the ground or in the back), but the problem is that it reflects all over the product, giving it a "matte" appearance and ruining the brilliance I'm trying to preserve.
Example :

As you can see, the square background and its corners reflect onto the product, which dulls the glossy effect I'm aiming for.
Attempt 2 : Emission Planes with Adjusted Ray Visibility
I removed the white background and added planes with emission shaders. In the Ray Visibility settings (right-hand panel), I disabled Diffuse and Glossy.
This approach produced results closer to what I’m looking for, but the outcome still looks somewhat harsh or "flashy":

Ideal Outcome Using HDRI
When using HDRI environments, the result is much smoother and closer to my desired look :

However, HDRIs introduce multiple reflections (like windows, lights, or clouds), making it hard to reuse the product in a white background setup. This is why I prefer avoiding HDRIs altogether.
My Question :
How can I achieve the right balance of lighting to keep the product's brilliance with a white background while avoiding unwanted reflections and preserving the smoothness that HDRIs provide?
Any advice or best practices for setting up the lighting would be greatly appreciated!

You can't have gorgeous reflections if the world shader is just plain white. You need an actual environment with details to get detailed reflections. If you are using Cycles, you can use a Light Path > Is Camera Ray to have 2 shaders in one : one is used for reflections, one is used only to display the background (but doesn't affect reflections and such). Did you try that ?

I haven't tried that, is this how you connect it ? :
https://ibb.co/gSk9TGX

Close but no. Is Camera Ray should be the factor of the Mix Shader. Then, you want to have 2 Background connected to it, one is white, one is the HDRI. Alternatively, you can do the same process with a Mix Color (again with 2 colors connected), then use it on a unique Background. Depends if you want to have 2 emission strength or only one. Sorry for not writing a full answer, hope it helps nontheless.

To give you a few examples for what @Lutzi told you about, if you want to use an HDRI for lighting and reflections but do not want to see it in the background, you can always use two different Background nodes and combine them in a Mix Shader, where you can take the Light Path > Is Camera Ray as mix factor. The HDRI should then be the first shader input, the simple color the second input:

This way you can always change the color of the background without any effect on the lighting and reflections in the scene, and as Lutzi mentioned, this method is good if you also want to have different Strength settings for both backgrounds, like the HDRI using default 1, the white background I've set to 15 to make sure it's white even with color management, while the black is set to 0:

Or another way if you do not need different emission strengths for the different backgrounds, you can use just a single Background node and use the Is Camera Ray as mix factor in a Mix Color node instead, where the HDRI will be the first color and you choose a second color for the visible background:

Another method would be doing it in the Compositor. This way you do not have to work on the world background itself, just use an HDRI and in the Render Properties and enable Film > Transparent so that there is no background visible at all:

Then render the image and go to the Compositor afterwards. There you can use an Alpha Over node to overlay a color with the rendered object. To do this choose a background color in the first Image input and plug the render result into the second Image input:


text:
What is orthographic focal length?
Blender's viewport supports both perspective and orthographic viewing modes.
Under Sidebar(N-panel)->View there is an option called focal length. When in perspective mode this focal length is the same as the focal length option of cameras in perspective mode.
However when I switch to orthographic mode this option still stays the same, while cameras switch their focal length option to the orthographic scale option.
The orthographic scale option is pretty self explainatory in cameras but what does the focal length option in the orthographic mode of the viewport camera mean?
I noticed that Blender's viewport does a pretty good job at keeping object's sizes consistent while switching between perspctive and orthographic. Does Blender somehow convert the viewport focal length option in the background to a fitting orthographic scale? And if so what is the mathematical relationship?

Interesting. A focal length for an orthographic camera doesn't make much sense. I assume the same thing as you, when you tweak the viewport focal length while in orthographic, it changes the underlying orthographic scale to stay consistent with what it would look like in perspective mode. I'd like to see the maths and logic behind it though. I wonder if it wouldn't make more sense to do the same thing as with the camera objects, show the setting that makes sense and hide the other one depending on camera type

To match, you need another variable, which is depth.  I would expect this to be set from camera orbit point, and quick experiment suggests that's true.  Internally, Blender is probably using FoV as an angle rather than focal length; conversion from focal length (and sensor size, which is probably set from zoom) to FoV is dealt with elsewhere, incl. on this site.  Solving for the current bounds of the view then becomes solving for the length of one side of a right triangle with 1 known side (depth) and 3 known angles (right angle at depth plane, half of FoV at view, third takes us to 180.)

@Nathan "Blender is probably using FoV as an angle rather than focal length; conversion from focal length (and sensor size, which is probably set from zoom)" I know for a fact that neither zooming nor dollying changes the sensor size or focal length. In fact dollying and zooming in Blender is the same, kind of... Because of the very poor documentation and general misconceptions on viewport navigation I decided to ask the devs directly in https://devtalk.blender.org/t/blender-navigation/24448 Do you maybe have answers on some of my questions asked there?

You're right, it's not sensor size, unless you've adopted a camera view, in which case it is camera sensor size times a constant determined by zoom.  Without a camera view, it is probably a constant, but I don't know an experiment to determine exactly which constant that is.

I'll add that to the questions.


text:
What does 18% gray mean in Blender
In photography there is thing called 18% gray, which as far as I have understand is a color on a "gray card", which reflects 18% of the incoming light and when telling the camera to expose to it will somehow calibrate the exposure for you.
However let's say I have a plane with a material in Blender with e.g. a diffuse shader reflecting 18% of incoming light.
And let's say I use standard view transform since filmic apparently does this automatically.
When setting the exposure what value should the gray have to be properly exposed?

The plane should have a diffuse shader at .18 r,g,b to set 18% reflectance.

Also related https://blender.stackexchange.com/questions/101481/how-do-i-calibrate-exposure-to-match-a-gray-scale

Related info  https://blenderartists.org/t/whats-with-the-value-slider-in-the-hsv-tab-of-the-default-color-picker/1360186  (depending on how the different color-grading schemes Blender uses in different circumstances affects grayscale).  There's also one similar here that I saw in the last few months, but I can't find it now.

Here it is:  https://blender.stackexchange.com/questions/258388/value-in-hsv-not-linear/258402#258402


text:
Does the filmic grayscale look still exist?
In older versions of filmic there was a grayscale option.
But ever since it was officially bundled with Blender it seems to have vanished.
So does the Filmic implementation in default Blender still have the grayscale look somewhere?

There is no specific greyscale look but you can achieve grayscale by using an RGBtoBW node in the compositor.

Agree with the above. Now that doesn't allow to have a BW viewport, but the BF is working on making the compositing visible from the viewport. So once that is done, seeing what you do in the viewport in BW will be possible again. More details on this answer


text:
How does image texture box mapping blend work?
When I use an image texture with box mapping it gives me a blend value. When I increase the blend value it blends the texture at the seams.
How does this work? Does it do a rgbMix Mix operation based on the normals?
Texture:

Mapped on beveled box:

Mapped on Suzanne:

I reproduce box mapping here: Object info "Vertex Normal" for texture projecting in shader node on objeckts - might be useful for testing.


text:
Does the portable ZIP version of Blender have any perfomance differences?
So I want to use the portable ZIP version of Blender, and as far as I know the functionalities are exactly the same as the install version.
But are there any perfomance differences between the portable ZIP and install versions of Blender?

There are no performance differences between the versions. All official release versions are compiled with the same optimization levels and are functionally identical.
There could be performance difference depending on where the executable is located. If you have multiple HDDs and SSDs, then the loading times may be faster on an SSD. The portable ZIP version gives you the flexibility to place it anywhere you like. Hence, this is even a potential performance benefit.

i like the zip version which allows me to have several versions like 2.93, 3.0, 3.1

There's a minor difference between the ZIP (also known as standalone) and the installer version which makes the standalone slightly slower in specific cases.
The one installed via the installer also install the required local system files (dll) required for certain 3D feature in the OS-based cache (which is faster) while the standalone will regenerate those DLL file during the execution and are stored into the RAM. (In short, the installer version is lighter on the RAM and CPU, but it's minor.)


text:
How to get the exact distance to the closest edge from voronoi texture?
The voronoi texture itself comes with a distance to edge option, however it only lets you use the euclidean distance to edge. What I want is the distance to edge for the Manhatten and Chebichev voronoi types and preferebly the Minkowski voronoi type.
I know that you can do the F2-F1 trick, however it is only an approximation of the actual distance to edge and not really precise.
So does anyone know how to get the exact distance to edge for those types of voronoi textures?

If someone wonders about the F2-F1 trick, here's one way to do it:

Hi, MVB .. (I've gone and +1'd it now.. but..)  I guess this just about squeaks into being an answer, but would it be better as an "as shown below" edit of OP? Since this is specifically what is not being asked for?

@RobinBetts I'm not 100% sure that's what tempdev nova meant by F2-F1 so that's one reason not to edit the question  I just had this problem and of course googled it, found no solution so I shared my workaround, maybe it would be better as a comment.

That would mean losing the lovely pictures :) , and the demo... The problems of F2-F1 nicely described here, along with a couple of GLSL solutions, from scratch. Let's say a squeak is good enough .. and useful to others, too :)

Your F2-F1 seems much more sophisticated than just simply subtracting the F1 Distance from the F2 Distance. Could you please elaborate on your implementation?

@tempdevnova what it does is it looks at the position of F2 and moves current position some distance towards F2 to sample if it will end up in F2's cell, if so, it's considered to be near edge with F2. It doesn't actually tell you the distance, therefore it's a bit offtopic. Sadly you can't iterate to do something similar to raymarching known from SDFs… Link provided by R.B. unfortuntely also shows a solution relying on loops.

The link provided by RB is already implemented in Blender by the "Distance to Edge" option. Did you mean that there is an exact solution for Distance to Edge somewhere on the web?


text:
How to Create a Wavy, Gel-Like Transparent Material with a Mysterious Glow?
I am trying to do some practice as a beginner in Blender, and I have come across a very cute creature on the internet.

The problem though is that I can not replicate the same wavy material she is made from - I see that i have to make first an inner body, the orange one, then another duplicate which shrinkwraps it and has a transparent gel texture with a wavy displacement (idk?) and a higher IOR, and the cap with a glass texture. The one with the wavy look disturbs me more, as I have not seen any tutorials anywhere similar to this thing. Any ideas? Would be very grateful!

As I see, there is no way to replicate it through voronoi and noise texture. Here is what i have so far:
If I still get to model the texture by myself, is there a way to make the glass shader more colourful in thicker places? Super sad though it can't be something procedural.

It's not really the material that is difficult here. It's the modelling. You still have to model all the things you see. The material could be made of GlassBSDF shaders with different roughness and maybe some gradients What do you have as far? Could you share a screenshot?

The glass material probably has some volumetrics to make the color more intense on thicker parts and less on thinner parts. And I agree with @MartynasŽiemys that you also have to model this stuff... I'm not entirely sure the wavy part is just from the material... but if that image is the only reference, it's hard to tell.

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


text:
Particle system Help
Why is my particle system not spreading hair all over the plane?

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

Hair is covering the whole plane, but the Turbulence force field is pushing some of it so hard that it bends all the way around to the other side. This is possible (unlike real life) because, by default, hair does not collide with its own source. I don’t think adding such collision would be very helpful to you here, so I recommend you turn down the power of the Turbulence field so it doesn’t blow the hair so hard. How much, I don’t know. You’ll have to experiment with different power settings, recalculating the simulation each time (usually done by just replaying it from the beginning) to see the results.


text:
How do I make a driver alway move forward even if the source moves backwards?
How do I make a "driver" that works like this?
If I move object1 +X forward, then object 2 +X going forward, but if I move object1 -X backwards, also object2 +X going forward.

Using the answer from How to make abs() give correct result for negative numbers?
you can see when using absolute (abs) in the expression, you get a positive movement when object 1 goes to the negative.


text:
What is the best way to model guitar body waist chamfer?
I'm trying to model a guitar as a practice, but I can't figure out how to best get this guitar body waist chamfer. Any ideas?

Please make an effort to describe what you want as part of the title. Read: What is the problem with posting an image (or link) and asking ""How do I do this?"

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

Draw the shape:

Extrude:

Push these vertices:

Rearrange the topology:


text:
What's the difference between UV space and tangent space?
After thinking a while about UV space and tangent space it seems to me that those two spaces are identical. Both use the shading normal as Z axis und both use the U axis of the UV map as X axis und the V axis of the UV map as Y axis.
So what is the difference between UV space and tangent space?

In general computer graphics, tangent space doesn't use the U/V axis of the UV map as X/Y axis. Does Blender do it like that for some reason?

Yes, it needs some space as a reference for the tangent and bitangent

so editing the UVs messes up tangent space?

Well what do you mean by mess up? It just changes them. That's also why we have a UV map input for the normal map node, which uses tangent space.

Well the normal map node needs to know which part of the normal map to look at. That's not the same thing as changing which direction is red.

No that is actually done by the vector input of the image texture conatining your normal map.

UV space

A UVMap basically assigns a (u,v) coordinate to every point on a mesh. You can think of this as a function that assigns to every point on a mesh, a point in a plane. That plane is UV space. It is not a part of the XYZ space the mesh exists in. There's only one UV space for the whole mesh.
Tangent space

Every point on a mesh has a different tangent space. The tangent space can be thought of as all the arrows rooted at that point that lie in the tangent plane (ie. that are perpendicular to the normal). Sometimes a third dimension (the direction of the normal) is added. Unlike UV space you can think of the tangent space as embedded in the same XYZ space the mesh exists in. The zero point in the tangent space at point p would correspond to p itself.

Would the Z axis in tangent space be the same vector as the shading/split normal (are those the same thing?) in global space.

It's the split normal, yes (not sure what the shading normal is).

In https://blender.stackexchange.com/questions/263698/how-are-tangent-and-bitangent-calculated/263748#263748 you said that the X and Y axis of tangent space are computed fro the UV map, such that the tangent and bitangent go in the direction of those lines. But when I think of it wouldn't that mean that the X and Y axis of the tangent space aren't orthogonal to the Z axis if the split normal isn't orthogonal to the underlying geometry, as is usually the case with shade smooth?

The idea is to project the lines into the tangent plane (whatever that plane is).

Oh ok so it's way simpler than i thought thanks!