text:
Slide vertices based on angle of adjacent edges
I want to extrude a boundary edge such that angles between any given newly generated perpendicular edge and the edges on either side are equal. That is, I want to do this:

The gif was accomplished by first extruding in the Z axis and then fattening with ⎇ AltS:

Is there a way to do this without the intermediate step? When I do ⎇ AltS with just a boundary edge I get this odd behavior (seems the normals are just set arbitrarily?)

I may have got your meaning wrong ..  but the 'Offset Edges'  Add-On > Extrude preserves angles as you describe .. each new edge from a vertex bisects the angle  between the edges which previously met at that vertex. However, unlike  your illustration, not all the generated bisectors are the same length. Is that important?

Would call that a miter extrude Somewhat related particularly the ammended script here Which use the  miter points via method outlined here mehods here  to stroke edge mesh in XY plane.

@RobinBetts I would actually prefer that the new boundary edges be parallel to the old ones, as that addon does. So that would be perfect, but for the lack of fast tweakability. Though an edge slide can tweak it once the geometry exists, so I'll accept it :)

@batFINGER That does seem rather like what I'm after, but it seems that at least the OSM version does some kind of beveling as well?

Second creates new mesh without centre line., and miters bends ( has some edge cases to fix or it twists. )  Believe what you are after is:  Project edges onto view plane,  calculate  miter vectors and extrude... what do you think?

@batFINGER For a single stand-along edge as shown in my gif that sounds about right, but when the edge is next to some faces I think it would make the most sense to extrude in the plane said  neighboring faces (as the addon mentioned by Robin Betts does)


text:
Reference image workflow with local view in 2.8?
I am aware that reference images are now empties and must be selected to be brought along into local view (Blender 2.8 Reference images in local view).
However, I've set up my scene so that reference images are in a separate collection for easy toggling on/off. I've also disabled selection on this collection, as otherwise I accidentally click and select them from time to time. This means I must:

Re-enable selection of reference images in the outliner
Select the reference image(s) I want
Enter local view
Re-disable selection

Every time I toggle into local view. Surely there's a better way to do things?

One thing that used to work before 2.8 was to hide the Collection (Group) the images were in before entering Local View. If you then unhid the group after entering Local View they would be visible without all the select-deselect shenanigans. Not sure if this still works for 2.8

source: Stack Exchange

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

sort: votes


text:
Mesh modeling review: black hole, cannot select face, joining subdivisions
I've run into some problems with my first mesh model, a boat's hull.
I'm unaware of an SE like code review for modelling, so I hope these questions are not frowned upon.

I hereby place it in the Public Domain, except for the image contained from http://www.elb-h-jolle.de/bauvorschrift/bauunterlagen.php (incomplete hull form lines). It's a single mesh with a mirror modifier.
Now to the questions:
Stern corner mesh joints
I've started with the sides of the hull and added vertices / extruded edges to create faces for the stern and top. Should these be managed as quads or an n-gon?:

Black hole and unselectable face at bottom of cockpit
I've extruded the front part of the cockpit's bottom (after subdividing two edges to create the corrensponding face), but the resulting vertical face is black (I can select it) - why?
The bottom of the cockpit does not appear to be a face (I can't select it) despite a "Make Edge/Face" operation on the respective Edge loop. Why could this be?

Bow
This is missing a curve at the bottom, which is a similar problem the the stern corners. Some of these vertices probably need to be joined?

Is there a way to align multiple vertices to x=0 at once? If I use the transform (Properties Region) for a selection, this seems to apply to the group, not individually.
Alternatively, is it possible to align selected vertices in a plane and move that to the desired location?
Of course the purpose is to align the vertices to close the hull for its mirror modifier.

I am at work so can't check the blend file, but:

Quads are always better. Tris and Ngons are 'ok-ish' only for perfectly flat surfaces - where they don't have opportunity to break too much.

Colour suggests it might have normal issues, Ctrl+N flips them, it is not a proper help, but might give you some direction to what to look for to fix your problem.

Select vertices, press S to scale, press X/Y/Z to choose scaling axis, press 0 to scale by 0. This is old trick that works like everywhere and will flatten positions of all selected verts in relation to selected axis.

@Mar Thanks! 1) will try to "bend" the mesh so quads are used. 2) normal was flipped indeed, but CTRL+N is assigned to recalculate here, so, Mesh>Normals>Flip Normals (dDisplay via Properties/Mesh Display). 3) Works for me!

Your question is loaded with many questions that appear to be regarding best modeling practices.
Quads vs N-Gons
In general, there are many ways to model something with either quad or n-gons. You have to ask yourself what you would like your end result to be.

For example, if you are modeling something that you wish you use a subdivision modifier or use loop cuts, then it is best practice to use quads.
If you are modeling a low poly asset that you wish to export to a game engine, then it is also preferable to use quads (that will then get triangulated upon export).
If you are modeling something that you wish to render within Blender as is, without the need to subdivide the geometry further, then n-gons are suitable to use as well.

In your case, since the hulls of boats are usually smooth, you may need to add additional loops and/or use subdivision modifier, so it is recommended to use quads.
Normals direction
Your next question is regarding the direction of your normals. If their are pointing inwards, then they appear dark.

to enable viewing normals, open up the "N" toolbar by pressing the N key on your keyboard in edit mode, and scroll down to select "view face normals"
You can flip the normal of a face by selecting it, and searching for the flip normals command (using the space bar).

Limiting Selection to visible
Based on the file you provided, you cannot select the face at the bottom of the cockpit because you had you have not limited your selection to visible, meaning you can see the bottom faces in solid view.
To enable the option, click the "limit selection to visible" button in the 3d viewport header
Joined vs separate objects

Similarly to the consideration required for quads vs n-gons, it's best to think about what is the required end result.
If some smootheness (via subdivision modifier or additional edge loops), then it's best to have connected objects. However, they should also be quads.
It instead you are modeling disparate elements, then there is no need for the meshes to share vertices.

Best modeling practices
In general with mesh modeling, it is better to start from a single object that you can then subdivide with loop cuts and/or extrusions to get the desired result. I would suggest going through tutorials on youtube.
Below is a quick example of how to model the boat starting from a plane, with a few edge loops, extruding, adding subdivision modifier, and adding additional edge loops to control the softness/hardness of edges.

Great response, as for quads vs tris - you could add that you usually try to avoid triangles in parts of geometry that will be deformed during animation.

Thank you very much! I'll try fixing my mesh as quads first as a learning experience, but if that fails I'll start over and follow your example (I'll have to find a way to "watch" it frame-by-frame).

Cheers happy to help

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


text:
How to solve 3D Printing Artifacts?
I'm having a trouble with 3D printing. I do not own a printer and I'm sending to someone for printing. So, the problem is, when they open the model to print, it appears like in the image, with lots of polygon artifacts. Does anyone know the cause of this?
I made the model with sculpting and it's highly polished. Even if I set shade flat it won't have those levels of faces. Can anyone help me? Thanks a lot!

Here goes the images of the sword inside blender.

what does the mesh look like (wireframe)?

@Timaroberts, I added the wireframe and the model visualization as well.

It looks like the result of a decimate modifier set to "planar". Don't know if it helps at all, maybe you have one attached that gets applied on export?

There is no modifier to apply :(

send your client a simple Pyramid (total of 5 verts) see if the software shows it like that. if so it's your client's problem not yours!

Uh, that's nice. Gotta try it. Thanks!

It's difficult for me to tell with these particular images, so I'm not sure whether this is the case here or not - but I have a 3d printer, and it often adds polygons to images to allow them to be printed (you then lop the polygons off after you print).  The issue is that the object being printed is still subject to gravity, so for some geometries the printer will add "supports" that allow it to be printed.


text:
Blender normal map and reflections
Ive just downloaded blender 2.82 and opened my project im working on currently and noticed a big difference in the textures. Below are 2 pictures of before using 2.82 beta and the second using new 2.82 release.
Can anyone shed some light on what has happened.
Thanks,
Danny

Hello and welcome :). This looks like Eevee has Screenspace Reflections and Ambient Occlusion disabled. Is that the case?

Hi and thanks for replying.
I should have said this is in cycles. Sorry.
Danny

Could you add screenshots of your scene setup? Perhaps check the world shading tab, maybe something changed in there.

Hopefully this is what your asking for.
Ive had to put the screenshots in first post as i cant figure out how to add it here.


text:
I have problems assigning different materials to different faces
One plane with one subdivision= 4 faces.
In the material properties, I color with say, blue.  Then in edit mode,  I assign 1 or 2 faces to say, yellow.  Then blue faces become transparent.  If blue is at the top of the stack, then blues are visible but yellow becomes invisible.  If yellow is at the top of the stack, yellow becomes visible but blues, are invisible.  Each material is linked to object.
I tried resetting to factory defaults, and started a new blend file, same result.
Using EVEE. In cycles renders well, but the only viewport shading that shows correctly is rendered.
Had no problems when using 2.79.
Laptop computer with 4 gigs ram, no GPU’s, Windows 7. 2.83 (released June 3, 2020). NVIDIA GeForce GT 330M.  I just found at https://developer.blender.org/T71576 that the problem apparently is older graphics cards.  If this be so, when might the developers have a solution that we can use?
Noticed similar problem in can't use different materials in one object (blender 2.82a). But the answer (Go out of edit, then back in) did not solve the problem.

This might sound stupid but did you check you're not in x-ray mode?
If not, check the Blend Mode and Shadow Mode in the settings of the material tab. Make sure they are both set to "Opaque" if you're not using transparency otherwise materials can appear to slip through each other.

@EANIX  Not in x-ray and Blend mode and Shadow mode are set to opaque.

@EANIX  Your comments are not stupid, appreciate your thinking


text:
Texture/Material not exporting to Unity correctly
I've been learning how to export textures from Blender to Unity, however upon exporting the model and texture separately, I notice that the textures don't look correct in Unity. To get the model and the texture into Unity I export the model as fbx, then UV wrap the model and bake it into an image file.
Texture in Blender vs Unity:

The texture looks less detailed and a lot lighter. I'm not sure if it has to do with lighting or export settings. Any help would be appreciated.
This is the blend file:


text:
missing Layers in CloudRig property in animation

You can see Layers panel is missing all info about layers of the rig I don't know why it's happening there should be layers info for hands, foot etc. as it is an officially made rig by blender, does anyone know why it's happening I am using 4.0 blender version

Bone Layers have been removed from Blender 4.0 and replaced with Bone Collections. The draw function in rig_ui.py script is trying to draw buttons for layers which no longer exist in 4.0, so it fails to render those buttons. However, those layers should show fine in 3.6 and earlier.
Pierrick Picaut made a video explaining how to fix this FOR RIGIFY by adjusting rig_ui.py script so it works with 4.0. The downside of it is that it simply replaces Bone Layers with Bone Collections in the draw() function, so you will now have missing layers if you try to run the rig in 3.6.
What I do in addition to that is a simple version check within the draw() function so the appropriate commands are run for 3.6 and 4.0+, allowing any affected rig to display layers in both 3.6 and 4.0 (or rather, Bone Layers in 3.6 and Bone Collections in 4.0):
def draw(self, context):
    if (4,0,0) > bpy.app.version: #The existing code for 3.6. Nothing to edit here

        row.prop(context.active_object.data, 'layers', index=0, toggle=True, text='Example layer') #Note the index number...

        #Whatever code for layers you have here...

    else: #code for 4.0+

        collection = bpy.data.armatures["rig"].collections #note you have to specify the name of your armature object

        row.prop(collection["Layer 1"],'is_visible',toggle=True,text='Example layer') #Note the collection name

        #You have to adjust the rest of the code the same way as above

As visible in the comments, the name of the corresponding Bone Collection is always "Layer " and an incremented number of the Bone Layer index.
E.g. I have the following code for a layer with index = 5:
        row.prop(context.active_object.data, 'layers', index=5, toggle=True, text='Leg.L (FK)')

Because the index = 5, it will appear in 4.0 in the Bone Collection list as "Layer 6", so the code for 4.0 will look as following:
        row.prop(collection["Layer 6"],'is_visible',toggle=True,text='Leg.L (FK)')

Now as you've mentioned, you're using CloudRig rather than Rigify, but I think you should be able to find a similar function responsible for drawing the UI in there.

well The layers of rig are moved to the other section and they now called "Bone Collection" I guess they should remove the Layers properties panel on CloudRig.


text:
I have a problem with blending the background with lighting to make it look solid

Hi, there!
The highlighted area on the image is the problem here. According to my camera angle, the background needs to cover the angle vertically. So I've extruded the edge and used a bevel with multiple segments to make it look smooth.
I've used area/sun lights to see if it looks solid. But it seems to be highlighting the area where I've used bevel. I hoped to make it look solid background as if there's no difference. I've explored some possible solutions such as setting the lights around or adjusting the angle/size. But it's not enough.
By the way, I'm rendering on Eevee engine because Cycles is too noisy.

hello please share your file

It's probably your plane's topology see this: https://imgur.com/a/p9AB30E , but you need to give more information, add more images your meshes and settings

Hi. You should write an informative title that reflects the content of your question. Tell us what the problem is as well. A picture should only illustrate and support, explain your actual question and you should not skip the main part of describing your problem. Also, be specific. If you have tried some solutions, name them specifically and explain how and why they did not work. See: https://blender.meta.stackexchange.com/questions/2449/what-is-the-problem-with-posting-an-image-or-link-and-asking-how-do-i-do-this

I did downvote the question and also voted to close it as I think it needs details and clarity. Don't take this personally, I just think it is really not formed well as it is now and also it's not useful at all for BSE platform since it has no text that could be used to find it using search engines by people facing similar issues in the future. I think the actual question is a good question and it would be great if it was formed well. And you would also get good answers for it. I think it's worth editing it to make it better.

Hi, there. I'm sorry that I'm being vague because I'm unsure how to address it. Let's say I'm trying to create a background that should cover up the camera radius and look solid. I've made it by using edit mode>edge select and used bevel with multiple segments to make it look smooth. But the bevel area looks brighter and highlighted when I set the lights. I want it to look like as if it is a solid background, no difference in between.

Does it look like the image I shared on the comment above? Also, add your comments to you question using the edit button, it's better for your question

Ah, yes! That's what I was talking about. The second one looks solid while the first one highlights some areas.

Use a subdivision modifier instead of the bevel in order to make your plane smooth, and add some cuts close to the border to keep the shape as close as possible.

https://imgur.com/UmuQzuL, it worked.

Nicely done :)...


text:
I want to make the end/cap of my curve jagged
Hoping to get a jagged effect procedurally going on the end of my curve here as I animate it 'trimming'. I could do this with a noise and a gradient node in shadering but I'd like to sim it in geo nodes.

I tried getting it to work with proximity to an empty (hence that empty in shot) but couldn't get it to work. My thinking was to scale and transform faces closest to the empty. But I'm open to any solution really.
Here is an example of the kinda edge I'd like:

The desired effect is a vine having been ripped out and disintegrating as it unwraps itself from this castle wall.
Thanks in advance.
Here's my current set up:

Here is one way to achieve that. The steps are as follow :

Create low-poly version of the tube
Move the first ring to achieve jagged effect
Apply Subdiv modifier

Base mesh
So first thing, let's generate a low-poly version of the tube. The motivation is that we only have to move the very first ring, and we have room before reaching the second ring.

And here is the same image with the 1st ring highlighted orange, and the 2nd ring highlighted blue :

We only have room until the 2nd ring.
Select 1st ring
The first ring is identifiable by the index : if the resolution of the profile curve is 12, then the first ring is vertices with index 0 to 11. This gives us the following selection :

Move ring vertices
To move the vertices along the tangent, we can Capture Attribute the tangent of the initial curve, and use it as a direction vector for a Set Position node. Basically :

We sample a Noise Texture (so in a [0,1] interval)
We map this interval to a custom [-a,a] so that the vertices are displaced around the initial position (otherwise there is an offset). Note that the a is the amplitude of the jagged effect, controlled in my setup by the Jagged Factor input of the modifier.
We scale the tangent vector with this texture

The danger here is to set an amplitude too high compared to the resolution of the curve and get artifacts :

Subdiv modifier
With the subdiv modifier we get :

If we want to increase the details of the jagged effect, we can :

Increase the Scale of the Noise Texture
Increase the Profile Resolution input of the modifier

Full setup and blend file
Here is the full setup followed by the blend file :


text:
getting low fps and animation is blurred in rendered setting

https://blend-exchange.com/b/JK6JOMER/
okay...so i have my fps set to 30 for my animation intentionally...however i am getting 17-25 fps drops as well as blurred animation. i have a 165 hz curved monitor running on a nividia rtx 2070.
i can share the blend file if anyone wants to look at it. i dont know why its doing this and i need help.

Hi. Please don't post essential information like links, file downloads or additional details in the comments section where it can be easily missed. Instead edit them into your original post with the [Edit] button above. Comments are transitory by nature, are hard to index or search for, and may be erased at any moment.


text:
when i hit try to mirror bones, my bones decided to deform to have one size smaller than the other...why?

when i hit shift e to add a mirrored armature onto a single point it does this deformed thing (i dont know how else to describe it) that you see in the image attached, and i dont know how to fix it. any help would be appreciated.

Hello, what is Shift E supposed to do? To mirror an armature you need to select the bones and Armature > Symmetrize

symmetrize just made it worse

https://youtu.be/mXNK0A8W56Y maybe this will better explain my problem

Could you please share your file? Share the armature only, read the instructions here: https://blend-exchange.com/

I didn't know the Shift E, I've just tested and it works fine in Blender 3 and 4 so there must be something wrong with your armature or the way you do it. Also another way to build your armature is to only build the left or right part, name the bones with the _L or _R suffixe, and symmetrize afterwards.

Your armature origin isn't centered.  Consider applying location first (looks like it's supposed to be originated on world origin.)   It's mirroring about the armature plane, not the world plane.

(https://blend-exchange.com/b/V75VpgK7/) i added the blend file...im not sure how to add the armature only

As Nathan says, the X mirror takes the origin position as center of the symmetry, as it's offset your extrusion is messed up:

You need to bring back the origin at the center of the armature in Object mode with a RMB > Set Origin > Origin to Geometry. Once done the extrusion works as you expect it to do:


text:
rigid body issue

I'm using rigid body into those chains and ball. The angle of ball falling is so weird even thhough I put a lot more heavy mass than chains , and the animation is so slow from some reason than yesterday.
The chains are not even touching each other with rigid body, and there is space between chains.

here is my blender file

Hello could you please share your file? https://blend-exchange.com/

Since I just built almost exactly the same last week, I would also think your file might help to check how you have realised it or else there are too many possible settings to ask for.

Agreed.. I think we need the share, to hunt your problem down quickly.

This is my blender file

Hi. Please don't post essential information like links, file downloads or additional details in the comments section where it can be easily missed. Instead edit them into your original post with the [Edit] button above. Comments are transitory by nature, are hard to index or search for, and may be erased at any moment.

Just apply scale on the chain objects (and all rigid bodies) and that will be much better.
In object mode, select them, then CtrlA and choose 'scale'.


text:
Smoke simulation not showing up in render when rendering animation
I'm trying to render a scene that has a smoke simulation in it. It shows in every view and when rendering individual frames. But when I try to render an animation, it's just missing. The domain has a material and everything ia correct except the animation rendering.

Sorry, just from saying everything is correct it is really hard to determine where the issue lies. You should at the very least show some settings of the domain, flow object and smoke material for example. But even then, smoke simulations can be quite tricky with many things to care for, so it would probably be best to upload your file to https://blend-exchange.com and follow the instructions there to edit it into your question.

It was too big for blend exchange so I uploaded it to dropbox: https://www.dropbox.com/scl/fi/y21ynnd3aksqcairjdmyh/time.blend?rlkey=0k2p17won1oqi5nx1qllcrifp&dl=0

Just a tip for the next time: you don't need to upload a complete scene if there is a problem with the smoke simulation. Delete everything except for the domain, the flow object and the effector objects and save it as a new file. This way it's only 10 MB instead of 107 MB. Regarding your problem: I could render the smoke. However, your domain Cache > Type is set to Replay, which means whenever you are doing something in your scene it might be recalculated and then the smoke information is lost and cannot be rendered. Set it to All and bake the simulation before rendering.


text:
Decrease Instances count by length (Different Object) - Geometry nodes
I asked a similar question some days before. With that way in answer, it works fine. However, that example requires Instances within the same geometry node.
Now I have to take instance from another object or collection. The decreasing failed.
Here is the details:
Object Lv0 takes Object Lv1 as instance, Object Lv1 takes Object Lv2 as instance. The Lv0 and Lv1 is branch, the Lv2 is Icosphere.
I want the number of Lv2 decrease with the length of Lv1, which is scaled in Lv0's geometry node.
Try to:

With the experience i learned form that example, I should do some math with the length or scale data to decrease value of Resample Curve. So i store the scale data in Lv0 and try to retrieved in Lv1 by Store Named Attribute. Unfortunately, decreasing failed.
Hope someone can correct my mistakes,. Any help will be appreciated.

Lv0 and the scale nodes

Lv1. Resample failed

Try to:

Maybe I'm missing something obvious, but why are you resampling by Count rather than by Distance?

@Duarte Farrajota Ramos, you mean the length of current instance? Please tell more details.

Resample Curve node has two modes, one is Count the other is Length. If you apply scale of the base curves instances will be spaced more evenly

@Duarte Farrajota Ramos , I tried resample by Length, still can not decrease. I guess the way of store named attribute is not correct, but i don't kown how to fix.

By definition, every instance is the same, except instances can be in different places (translation), be oriented differently (rotation), and have a different size (scale). They also can hold custom attributes, and based on them or their position, the shader can give them a varying color.
So if you want to have a varying number of points, you have to realize your instances, then resample, and then instance spheres on the lines:

your way requires a precondition，Lv1 and Lv2 (sphere) has to be created in the Geo node of Lv0. I try your way with taking Lv1\Lv2 as instance by Object info node, it can not work. Even if i put a Realize Instance in , seems no different

Base on @MarkusvonBroady 's way i tried more. It can not work if Lv0, Lv1, Lv2 is independent objects. Thanks a lot for your clue. However, Is it impossible to decrease amounts when instances are nested ?

@VeloSong you can't realize the outer instance without realizing the inner instances if that's what you're asking. Only you know the desired effect, interface etc. so without communicating it clearly we can only guess. My answer just shows how to get the effect you sketched in your question. You could use a repeat zone to avoid instancing the object, and then analyze it, separate the instances, take one, instance now just a curve from the object without instances, realize, resample curves, instance on them the separated instance - but that's just more work to get the same result.

I tried, seems realize node that your suggest is the best way. Thank you so much!


text:
Instance has unexpected rotation after Realize Instances
I place an instance (Lv1) on branch level 0. Lv1 takes branch Lv2 as instance. Lv2 takes Lv3 (cube) as instance.
I use Align Euler to Vector node, Roate Rotation node and Curve Tangent node to rotate Lv1 around Lv0's tangent direction. Lv2 has the same nodes waiting for rotating later. At the beginning, when Lv1 rotates, Lv2 follows and keep the orientation relative to Lv1. So far so good.
However, when I put the Realize Instances node to Lv2, things go wrong. If I rotate the Lv1, Lv2 rotates as well, with an unexpected rotation behavior.
I need Realize Instances node to decrease instance amount and maintain Lv3 size. In this case，how can I remove the unexpected rotation ?
Any help will be appreciated.

Replace the Resample Curve node with the Curve to Points node and connect its data to the Instance on Points node. Then use the Rotate Instances node for rotation.
There will be no more additional rotation comparing with Align Euler to Vector of curve tangent. It may not be the only answer, but it should be a better way in this case.


text:
Why are bones twisting and skin weight weird when imported in unreal?
we are currently trying to get an animation made in blender imported into unreal engine. But when we do the bones twist and the skin weights change:

We used autorig pro to create the skeleton and control rig in blender and everything looks fine in there. We also already have 2 other animations for the wolf made the same way that works fine.
here is a picture of a working animation:

and another picture of the failed import:

We have tried a lot of thing and looked for solutions so I hope that somebody will be familiar with this issue.
Thanks in advance!


text:
How to create a thicker bottom of a bottle
I'm quite new to Blender, I've done few things but none of them was so complex regarding modeling of the object in the edit mode as the one I need to seek advice on: so I'm trying to follow this tutorial https://www.youtube.com/watch?v=G_acSZh_BG8 and I don't understand how is the author of the video making the bottom of the glass bottle thicker than the rest of the bottle (it's around 1:30). He applies solidify modifier and then seems to just manipulate the faces and edges of the bottle without manipulating the "outer layer" of the bottom (created by solidify).
I know there are some similar questions already (like here How do I make a glass with a thicker bottom than top?), but I'd like to know how it could be done in this specific way, like in the video. The man just seems to grab and move it like that:
And I don't understand what the hell... (also he's going really fast for me)
I think I've done everything like him, which is:

roughly model it from a cylinder
add subdivision surface mod. (2)
apply layer of subdivision
apply solidify

I added another subdivision surface which he does not do

Thank you so much for any advice!

I think he has just moved up the inside of the bottom part, most likely after the solidify was applied.

I'm not sure what you don't understand, he applies the Solidify modifier, so now the inner faces exist for real, he selects the faces at the center, then extends the selection with Ctrl +, and moves up (GZ)

Yes, but that's the problem with my object – it doesn't work for me, because when i try it, it always moves together with the outside part

maybe proportional editing is still "on". You may see a grey circle around the selection if this is the case.

If the tutorial is too fast you can slow it down to 1/4 speed by clicking on the gear wheel Settings icon on the bottom status bar  then clicking the Playback Speed entry and checking '.25'. As @lemon says you've probably left Proportional Editing turned on.

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

The only clue he's given us is the 'Select More' panel. This implies he's selected the center vertex of the inner base, and Ctrl  Numpad+  expanded the selection from there, before GZ moving it up. He's got the room to do it without prop. editing. You could switch on prop. Editing with 'Connected Only ' checked  if you wanted to ease some of the inner wall up, too, to make room. Personally, I would go with the linked method and weight the Solidify instead, to keep it alive as long as possible, for tweaking geometry at  provisional render-time.

I agree with @lemon here, when your outer part moves although you have only selected the inner part, then Proportional Editing is enabled. Either this or you still have a Solidify modifier on the object.

...then add a solidify modifier to add thickness, apply it and make
any last adjustments such as rounding the shape at the top of the
bottle and I like to make glass at the base slightly thicker.

So the adjustments are not described in the tutorial, but solidify modifier is definitely applied first. It appears the tutorial assumes you have knowledge of modelling and selection functions. If you don't, you should choose other tutorials that would give you that knowledge first.
He is using loop selection tools and transform operators, as well as Loop Cut and Slide, Select More/Less and numerous other functions, that's in my view a bit too much to describe in detail in a single answer. Tutorials will be better suited to cover everything faster, the manual is also a great resource. You should probably go through all these menus in edit mode and make sure you know what each function does try and play around with all of them for a couple of days before following that tutorial:


text:
Need help in creating a chain of bones along a custom rotation axis
I'm struggling to find any helpful information. Every other video or forum keeps repeating what I already know about placement and rotation of the bones, including manual rotation of ones axis.
I want my bone to be oriented along a specific orientation (ex the finger hinges in the image)
I have created a custom rotation axis by selecting one the edges and assigning it.
Now, how do I assign the custom orientation to my bones so that they follow it when rotating? I used to do it in Maya by manually writing the coordinates of each bone but can't seem to find any info for Blender.
Thank you!


text:
Edge selection - cannot select
I want to move a vertex, not duplicate. But I cannot select the vertex with its connected edges, only the vertex
Here is the file:
Try moving the vertex and please find out why its doing this.

Could you be more precise? You cannot select or cannnot extend? What is slightly darker? It can also be useful to add link to related questions if they provide infomation about the scene

Question is unprecise and should improve it's clarity as to what the OP is trying to achieve.

i think the questioner means that he/she wants to extrude/move a vertex, not duplicate, but he/she cannot select the vertex with its connected edges, only the vertex

Faceb Faceb. You are right. I'm sorry and I know that this question is confusing. But it was it really hard to explain

Have you tried switching to Edge Select mode? (Ctrl+Tab)

@Mooneon, may I suggest packing the image into your ~.blend file (using File > external data > Pack all into Blend), and uploading a copy of that Blend file to Blend exchange.

@brasshat that will be suitable, yes I will do that.

@Mooneon, are you referring to the fact that in edit mode, when one selects a vertex, one usually sees the adjacent portion of the edges of which the vertex is a part colored orange? If so, then apparently for some reason, when there is a mirror modifier applied to a mesh, this capability is suppressed. If I block expression of, or remove the mirror modifier, the adjacent portions of the edges including the selected vertex are displayed again. I'm not well enough informed on the mirror modifier to know why it is implemented in this way, or how to change the behaviour.

Pretty simple really. You have 2 vertices on the same spot. You may have accidentally duplicate the vertices while you were working on it. Good news is that it's really easy to solve.

While you are in Edit Mode. Hit W
Look for the option "Remove Double" in the drop down list.
Now try moving the vertex again.

You should have no problems!

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


text:
Why won't the boolean modifier work properly?

I want to cut out the "cylinder" inside this shape I made to create a coffee cup, but after choosing Difference as the operation and the cylinder as the object, all I'm left with is the cylinder.
The outer shape was originally made using several connected bezier curves, closing the shape and then converting it to mesh using Alt+C in object mode.
I have tried removing doubles as a means of resolving this issue (as suggested on other questions) on both objects, but it always says 0 vertices removed.
P.S: I am not very experienced with blender, so excuse my noob-ness.
EDIT:

Try going into both meshes, and in Edit mode select all vertices, then in the Panel @ Left (toggle via the "T" key) there is a tab for "Shading/UVs". Under the Normals section: Click, "Recalculate". Then make sure that you are performing the operation as Blender expects it. If you want to remove the Cylinder from the Rope, then Add the Boolean>>Difference modifier on the rope mesh, and in the object section of the modifier select the reference to the cylinder. Another note of caution, is that these modifiers are never 100% from my experience.

Welcome to the Blender.SE! I'd like to admit this is rather strange coffee cup :) But seriously this may be too complex shape for Boolean modifier which doesn't like intersecting geometry among some other things. You could upload your file to this service for more in-depth investigation.

@RickRiggs I did all those things, and still got the same result, unfortunately. Do you know another way to get the same effect using another tool, maybe?

@MrZak Thank you! It's strange indeed, I'm doing it for a design contest/college project. Do you know another tool or another way to get a similar result? All I'm missing is that inner concavity. I also added the file if anyone wants to check it out.

It will be rather hard using Boolean in this case because there are a lot of self-intersecting parts in the mesh and modifier won't give expected results just after it's added; additional complexity is provided by form of the mesh.
It's possible to cut through it without using Boolean modifier, however form of the cup which should be cut out won't be taken into account.
Knife Project
To cut through this mesh use Knife Project tool. For details see How would you cut a shape out of an object using another object

Enter Edit mode of the cup's design, select its bottom, and separate it by selection (P > By Selection). The bottom part shouldn't be cut through. If skipping this step the hole will be all through the mesh.

Enter Edit mode for cylinder and delete everything but the top face.
In Object mode select ex-cylinder (now that Ngon), then select design of the cup, press Numpad 7 to enter Top View.

Enter Edit mode of the highpoly cup and on the Toolshelf panel (T in 3D View) find Knife Project. After executing in the operator's options check Cut Through. This is done to make tool to cut through all mesh, not just what is seen from the current view.

If the inner part of the mesh shouldn't be filled with loops, then it's ready (you can recreate the cylinder and join it to "hide" the inner geometry). If this open geometry is undesired then you should manually select parts of loops and use Bridge Edge Loops, like this:

Boolean
It is possible to cut the cylinder out using modifier, though it's much more complex. It didn't work before because of self-intersections in the mesh; thus you should get rid of them.
To do that, in Edit mode select all and press Ctrl+F > Intersect. Make sure in operator's options check Self-Intersect. It's a kind of Boolean but in Edit mode.
It made all intersected parts to be cut by each other. The only (easy one) thing left is to delete those parts which were cut.
Example of such selecting these "self-intersecting" parts is shown below:

Note that this is not the only part you should select in order to make Boolean work right afterwards. This is quite time-consuming process so prepare to use some selecting tools like Loop Select, Select Loop-Inner Region and so on.
Once these parts are deleted select all and access Mesh > Clean-Up > Delete Loose, and (there too) Degenerate Dissolve.
Note:  removing doubles will delete supporting vertices around intersecting parts, so shading and form of mesh can be corrupted.

Still the resulting mesh seems to cause Blender not responding sometimes, so it may be unnecessary complex and heavy. It's worth using 1-st way, leave some parts of geometry and hide them with cylinder of the cup itself.
You can take a look at the file if it meets your needs.

Since I did not want to cut the shape all the way through (though now I know how to do it if I ever need to), I kept the file with the cylinder showing and simply deleted the "extra" parts (the parts of the cylinder that extend beyond the rope loop. Thank you so much for your help!

I do know of a way that you can accomplish this.
It is not as elegant as using a Modifier (but hey when the Modifier doesn't work that's not very elegant either).
Essentially here is what I recommend:

go into edit mode on the cylinder (Make sure you are in Ortho Mode NOT Perspective 5 Toggles).
erase the intermediate edges and faces (ONLY).
separate the two circles (highlight one and P >> Selection).
while in edit mode -> if you selected the top and separated that selection from the bottom (then goto the bottom view eg. Ctrl+7), otherwise goto the top view 7.
5.Turn your snapping on to face mode, then make sure the drop-down mode is set to Closest, and then click the button just to the right two buttons that has a circle and square icon (if you mouse over it it will say something like project individual elements...).
Highlight all of your vertices, and  then G, then Z, then move your mouse toward the top of the screen, and left click.
Repeat the same steps for the opposite (separated sides).
When you have both rings projected down to the "Rope" shape, go to the top view and circle select all of the verts inside the circles & delete them.
Go back to edit mode, then select the two loops & the "Rope", and join them all.
you are going to have to fill the gap between all of the perimeter of the broken "Rope" and the rings with new faces.
select both ring verts, and then W >> Bridge Edge Loops.

This should all work.
----Per the comments Below--
Here's the image:

Here's the blend:

OK, I will add both a screenshot and a correlating blend file to this, each number in the screenshot relates to the basic steps described in the answer. The only thing left undone here is the cleanup of the edges, but that is because I don't really have the time to bridge those edge-loops at the moment just to answer the question.

That is fine, thank you very much for your help, I even learned some new things!

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


text:
Programmatically created extruded text's Z dimension returns zero
With Blender 3.2.0 on Ubuntu 22.04 I am creating text using bpy.data.curves.new, bpy.data.objects.new and py.context.scene.collection.objects.link / bpy.context.collection.objects.link (from https://blender.stackexchange.com/a/163680/33447).
Printing the object and its dimensions (bpy.data.objects[-1].dimensions) property returns

<bpy_struct, Object("Font Object") at 0x7f62e023a608> <Vector (0.4050,
0.4670, 0.0000)>

(bpy.data.curves[-1].dimensions also reports zero height)
whereas the Sidebar tells me 429,490,117 mm.
It also does not work with text created with
bpy.ops.object.text_add()
ob=bpy.context.object
ob.data.body = "my text"

However, it does work for manually created text (clear scene, add Text, extrude). Then run:
import bpy

# manual
last = bpy.data.objects[-1]
print(last)
print(last.dimensions)

font_curve = bpy.data.curves.new(type="FONT", name="Font Curve")
font_curve.body = "X"
font_obj = bpy.data.objects.new(name="Font Object", object_data=font_curve)
font_obj.data.extrude = 0.01
bpy.context.collection.objects.link(font_obj)

print(font_obj)
print(font_obj.dimensions)

bpy.ops.object.text_add()
ob=bpy.context.object
ob.data.body = "text"
ob.data.extrude = 0.01

print(ob)
print(ob.dimensions)

Output:
<bpy_struct, Object("Text") at 0x7f62e01f4a08>
<Vector (1.8980, 0.6910, 0.0200)>
<bpy_struct, Object("Font Object") at 0x7f62bfbca608>
<Vector (0.7040, 0.6820, 0.0000)>
<bpy_struct, Object("Text.001") at 0x7f62bfbcbe08>
<Vector (1.8980, 0.6910, 0.0000)>

What am I missing?

It works if, after setting the extrusion and linking to the Scene Collection, I use
bpy.context.view_layer.update()

Source: https://blender.stackexchange.com/a/185962/33447
Docs:

https://docs.blender.org/api/current/bpy.context.html#bpy.context.view_layer
https://docs.blender.org/api/current/bpy.types.ViewLayer.html#bpy.types.ViewLayer.update

Update data tagged to be updated from previous access to data or operators


text:
Convenient method to select different textures on the faces of a die
The situation:
I need to create different renders of (normal shaped, 6-sided) dice.
However, the faces don't show the numbers 1 - 6 but a set of characters (i.e. 6 characters out of A – Z). Each die is different, there could be a die with H,L,O,P,M,R on the sides or one with E,A,Q,I,O,P.
Best case scenario: I'm looking for a method in which I

don't need to make 26 different materials as i maybe need to tweak
the materials later
don't have to offset the UV for each face

I' m thinking maybe to input the textures as image sequence – but I don't know if I can say "face 1, use #18 of the image sequence".
Any solutions?
Answers like Each face of Die a different image don't really help as I know how to apply different materials or textures to individual faces.

Hi. If a different question doesn't help please say why it doesn't help. Thanks.

You could create a node group with input for six image textures, then internally it maps each texture to the correct face by "filtering" faces according to normals with a Input > Geometry > Normal Node

Thats actually not a bad idea. I'd still have to make a material for each die but I think its convenient enough in my case

Does this answer your question? Same Video on each face, but with different time delay?

I thought of this question when I asked but didn't find it. But the answer uses different materials for each face, so this is actually worse for my case then just making a separate material for each face of every die and manually exchange the texture. Duartes method works for me for now.


text:
Make light visible once it passed through a transparent object
I am looking for a better solution to make light in Cycles only visible, once it passed through a transparent object.
Example which is actually pretty close but has a few flaws, see below

A doorframe seems to have an invisible lit room behind it.
Important:

the cone in front of the door, so the light source needs to be a bit further back than the door itself
the floor that is visible through the door should be lit too

what i did:
I created something like a corridor to block the light to the sides but still light the floor inside the doorframe.
I took advantage of the isometric perspective to get away with a kind of wonky shape.
The backside (opposite of the door) is just an emissive material.

The material for the corridor:

This method works, as long as there are no other light sources in the scene, which I need.

Problem:
The corridor blocks the light from the right and casts a shadow.
Method 2:
No corridor this time, just a transparent door guiding the light.

Red is a transparent material, the yellowish meterial is my light source:

The problem is the missing cone in front of the door.
Any ideas on how I could improve my methods?

did you enable portals in the light settings, because if not, that may be exactly what your looking for.

Although, portals are usually used for indoor scenes, I'm not sure how it would affect your scene, but might be worth a try

another thing you could maybe try, is making a light area on the ground in front of the door, and shape it into a cone

@ETHANDAY Portals are used to make light sampling more effective and to guide the raytracing. It won’t block any light. The cone lamp on the floor won’t have proper light falloff.

Hello :). What's the desired result if there are more lights in the scene? Should the doorframe cast any shadow at all? Or should all lights only shine through the transparent door?

@JachymMichal Hi :). Basically what you can see in image 4 without the shadow from the corridor. There should be "outer" and "inner" light sources, the doorframe should cast a shadow. (i have my wonky light-blocking corridor for scenes, where there is no other lighting).

I feel like Robin Betts' Magic Goggles answer could be a good starting point, but I can't figure it out myself :).

I feel like I'm beyond that starting point. But thanks anyways.

For a "one render pass" solution I'm pretty sure we would need either light linking or a smarter light path node (one that memorizes ray types throughout the whole path).
So in the current state of Blender you have to composite 2 renders: one with your "portal" light source using a pitch black wall around the door and one with your normal light source, without the wall. You can then simply add the 2 renders together and you should get the right result.
PS : if you also use an environment light, only use it on one of the 2 renders of course.

https://imgur.com/a/A7WXHw5 is this ok?

@ChameleonScales I hope there will be a smart light path in a future update. Would solve a lot of my daily struggles...

@ShantanuAryan unfortunately that’s a solution i had in my early stages of exploring.

@ChameleonScales yes, it's annoying that the 'transparent depth' seems just to be an accumulator.. total number of transparent surfaces passed, at all stages.

(This answer revised thanks to @lemon pointing out what should have been obvious..)
If you're prepared to use OSL, (and therefore the CPU for rendering,) this  script might be a tool to add to your box. By tracing back down the incoming ray to a light, it returns information about the object being lit. It's not all used in this example, but might be useful if you go for a different effect.
#include "stdosl.h"

shader LitObjectIDX(
        output float    ObjectIdx = 0.0,
        output float    MaterialIdx = 0.0,
        output vector   LitP = 0.0,
        output vector   LitN = 0.0
)
{

    if (trace(P,I)){
        getmessage("trace", "object:index", ObjectIdx);
        getmessage("trace", "material:index", MaterialIdx);
        getmessage("trace", "P", LitP);
        getmessage("trace", "N", LitN);
    }
}

ObjectIdx and MaterialIdx are the Pass Index settings for the object and material being lit. LitP and LitN are the location and the normal of the lit point, in World space.
Make a 'Portal' plane, of ordinary fully transparent material, occupying the doorway. For this tree, give it a Pass Index of 20 in its Object > Relations panel. You could use other indices, for other portals.
This node set-up for the yellow through-light restricts the lighting to the portal itself, and areas seen through the portal, contrasting those seen from behind and those seen from in front. Since writing, you've told me that the camera doesn't need to move, so the second restriction, (most of the bottom branch) is not required. Just use the Transparent Depth on its own. My effect looks a bit odd, anyway.

The attached .blend is a bit more complex than needed just to illustrate this method.. you would probably just want to use the script, one way or another, to suit your particular purposes.

Nice one too Mr!

Here too... Both need a mask surrounding the portal instead of one inside it... still searching about that.

@lemon Doooh ! Slaps forehead really hard.. Ouch! Could use my OSL the other way round, and get round the back, by using a portal, as you say. Positively. Going to have to rewrite answer :D

Did not test your osl. But yes if inverting it work, that will be more simple to use for @bstnhnsl

Well, this is a nice approach. My first thought was: well, this won't work if I'd like to have multiple doorways/portals in my scene. But i can just use my stupidly shaped corridor from my first approach. My camera won't ever move so this is actually almost perfect (my cpu is rubbish compared to the GPU, so using OSL isn't great). 98/100 (Y)

@bstnhnsl Edited, to use positive portal instead of negative mask. Should be good for multiple portals.

@RobinBetts very cool! thanks. Really like that you can even look through the portal from the other side. I don't need that, but thats awesome (and maybe helpful for others).

@vklidu ..groan.. will you never give up? :D ... but seriously, you're right. Will revise when I feel a bit more refreshed, re. this Q ...

@vklidu personally, I think compositing is a much better way, if you can.. it leaves so much more flexibility.. and by the time you've burned up time on your CPU.......

Yes but also a lot of inaccuracy in compositing on a pixel level, especially in mixing light coming from scene to scene. Never mind, great solution :)

I have a somewhat similar question about portals and OSL, mostly about the language, can you take a look? https://blender.stackexchange.com/questions/228809/aperture-science-portals-using-osl

It is not meant to be a serious answer, more like a solution on border of insolence :)
I lost patience, so I extrude a face for light on a floor :)

Light node tree

Divide node for a stupid to better incorporate colors.

As extension I tried to animate "floor light" according to light position.
I just could not move Empty on edge and keep virtual center at zero coordinates at the same time. I will try to check that later.

Immediate crash as soon as I use the Cycles rendering button if with CPU. But nice really! even if a bit faked. Don't think testing backfacing for the area light is useful?

'Granny's Cure'.. (if it doesn't work, thump it!). Big fan. Especially for one-offs. :) Not every solution has to be a general-purpose tool.

@lemon I use CPU as well ... hmm. Thanks for point out the light, you'r right, not needed at all (light was brighter, but not natural). I think you noticed I don't have a clue what I'm doing here :) I just spent so much time here, so I wanted to post for fun.

@vklidu, for fun or not this is a good answer. But yes, transparency x light behavior is very strange...

@RobinBetts Haha :) Yep :) :) Any hint how to copy negative location? Like now when Light and Empty are not the same distance from world origin, the center point is not at zero X location (I need like Light Y=6 and Empty Y=-16). Thanks

Cool solution. Not really suitable for me. :)

First solution using glass
A simple solution that may meet your need, but as @vklidu pointed me out in the comments, this is not working well with other lights.

The area where the light is placed is surrounded by a big box (selected below) with an open face where the portal is placed.

The node tree for this surrounding box is simply a "glass" with IOR set to one (flat transparency).

The light source (an area) also has a node tree:

It is emission shader except when the transmission depth (what comes from glass/transmissive materials) is at least 1.
Additionally, the surrounding box has a solidify modifier, as if not the light may go through it at the intersection with the floor plane.
There is some limitations, depending on the shape of the surrounding box (from which points of view you want to catch that).

Second solution, using transparency
The principle is the same with transparency instead of glass, but needs to fake a bit.
But that allows other lights to work well it seems.

Here the mask object is extended along the floor to avoid light going outside of it where the mask meets the floor vertically.
So same mask shape as for @vklidu answer, thanks to him, but different node trees.

The nodes for the area lamp:

The ones for the mask:

Bravo! Very neat, and might do exactly what the @bstnhnsl is looking for.

@vklidu, I know and agree... environment lighting does not work well either. Still thinking about it. But thanks.


text:
How to create a node group to quickly select a color from a list for semantic segmentation
I have a list with 150 colors, all representing a type of object in a scene (for example: walls, ceiling, grass, cabinet, painting, water, chair, table etc).
you can see the list here
I want to create a reusable node group to quickly change an objects color.
What I have done in the past (if i had less than 10 colors):
Node Group
Add every color as RGB node, group them and name every output according to the color

Pros: Colors are available to use in procedural materials, I can hide unneeded colors quickly
Cons: potentially long list and inconvinient to set up for large amount of colors
Seperate material for each color
Pros: quickly apply colors to objects, searchable
Cons: inconvinient to set up for a large amount of colors, not usable for procedural materials

Any idea for a more convenient way to achieve this is greatly appreciated.
Easy to set up would be great as well as some kind of searchability.
Currently I am thinking about just making a seperate node group for every color/object.

What I would do, in order to not pollute custom groups, is I would use "RGB" nodes, that I would name in a particular way, for example IMPORT_earth. Then I could have Python parse the csv file to map all names to colors, then go through all RGB nodes starting with IMPORT_, and update them to the color mapping[name.split('_')[1]], allowing it to produce an error if the key is not found (a typo).

But this meens i need to create the rgb node for every color, name it and update it EVERY TIME I use that color in a new context (i.e. new material), correct? The node and its name isn't saved anywhere to quickly add to a different material.

"I need to create the rgb node for every color" - yes, as opposed to creating a custom group for every color. "name it" - that's an additional step, though you could say the difference is naming the node instead of choosing the color from available sockets or from available custom groups; naming is choosing color. "update it EVERY TIME I use that color in a new context (i.e. new material)" - no, that's the part done by Python. If you want to have a convenient list of available names, you could create a custom operator that allows you to choose one, and maybe creates the node then.

Creating a separate node group for each color is probably one of the most flexible solutions. They are searchable, available for different materials and if you want to change the color and it's inside a group, it will update everywhere it is used.
If we are talking about setting up hundreds of groups, Python will be the way to go. That's how it might look:
import bpy, requests, csv, io

# Your color values are in sRGB color space (I guess and hope so)
# so we need to convert them to Blender's linear colors with
# some random code I found online. Hopefully it's OK.
def srgb2lin(s):
    if s <= 0.0404482362771082:
        lin = s / 12.92
    else:
        lin = pow(((s + 0.055) / 1.055), 2.4)
    return lin

# You can load CSV file from Google sheets
sheet_id = "1se8YEtb2detS7OuPE86fXGyD269pMycAWe2mtKUj2W8"
#that's the ID I found in the URL you shared
url = "https://docs.google.com/spreadsheets/d/" + sheet_id+ "/gviz/tq?tqx=out:csv"
r = requests.get(url)
reader = csv.reader(io.StringIO(r.text))
next(reader)
for row in reader:
    group = bpy.data.node_groups.new(row[8], 'ShaderNodeTree')
    group.outputs.new("NodeSocketColor", "Color")
    group.use_fake_user = True
    color_node = group.nodes.new('ShaderNodeRGB')
    c = []
    for value in row[5][1:-1].split(","):
        c.append(srgb2lin(1/255*float(value)))
    c.append(1) # thats alpha, because the color in the node is in RGBA format
    color_node.outputs[0].default_value = c
    output_node = group.nodes.new("NodeGroupOutput")
    output_node.location = (200, 0)
    group.links.new(color_node.outputs[0], output_node.inputs[0])

You could also generate a material for each node group that would use the node group for it's color at the same time.

The problem I see about many custom groups is 'namespace pollution'. Especially when you create some kind of an asset, if using this asset floods the "Custom Group" menu with possibly hundreds of custom groups, it could be an annoyance for some users. This is one reason why I avoid using a single-use custom groups in geonodes and I just create big node trees using frames.

Well, I can see where this personal preference comes from, but the way I see it it's just that - personal preference. Custom node group functionality is there to be used. I see no reason not to use it. It's possible to manage them with Outliner and also they can be searched by name. You can't make an omelette without breaking some eggs...

Sure, I only meant it as a subjective criticism, a thing to consider. As for removing the header, perhaps not the idiomatic way, but maybe data = [row for row in reader][1:]. I checked if maybe the hex field can be set directly, but nothing shows in Info panel. Found the conversion in source: math_color.c, ported to Python: (0 if c<0 else c/12.92) if c<0.04045 else ((c+0.055)/1.055)**2.4 (basically same result as your srgb2lin)

I meant, I was sure there was a nice way to just skip the first line containing the header. Apparently you can just do next(reader) and then have only one loop with the reader itself. I did not know how to use it. I have never used an iterator before. I'll edit the answer.

This answer is probably the way to go in my case. I won't have a lot of node groups besides those colors and it seems to be pretty convenient for me. I added a few node groups manually and its really quick and flexible. I'll accept the answer as soon as I tried it via python and everything works for me.


text:
Blender and Active Stereo Display (3D Vision or similar)
I am new to Blender.  I am drawn to it because of 1) its drawing capability and 2) its supposed support of stereoscopic display.
I have an "Nvidia 3D Vision" system that works under either Windows 10 or Ubuntu. 3D Vision is an "active" stereoscopic system aka OpenGL Quad Buffer Stereo, requiring the correct GPU, monitor, and viewing equipment (shutter glasses.)  Does Blender now, or did it ever, offer this display (not rendering) option?  I'm led to believe that it does (did), but I can't get it to work.  I know my OS, driver, hardware are not at fault because there are a few applications, notably sView (displays stereo pair still images and stereo video files) that work perfectly.
Nvidia discontinued the system about four years ago; it's more accurate to say the system is deprecated, as its Quadro Linux drivers still support it (actually three versions of it.)  I know it's a niche interest but I'm very confounded at the way the tech industry has walked away from stereoscopic imaging. A majority of the info on the web is VERY outdated, vague, or oriented to GeForce cards.  It's a tad less deprecated under Linux, as stereo support is retained in the driver itself, whereas under Windows support is "decoupled", requiring an auxiliary program (provided for free by Nvidia, as are the drivers.)
I'm SURE I read some years back Blender supported 3D Vision or other active stereo (there is at least one other system.)  ACTIVE STEREO is presumably equivalent to the "time sequential" stereo option described in the Blender.org manual Stereoscopy section.  I've got everything I need but the option doesn't show up on any of three Blender editions I've tried on Linux.  I can't even get the anaglyphic (red-blue) stereo mode to kick in.  (Several stereo modes are supported by the driver, but I only have equipment for anaglyph and "consumer" 3D Vision.)
Somehow Blender isn't detecting the time sequential option, either because said option does not exist or something else (command line argument?) is missing.  I've dug around the forum and I haven't seen this exact question; puzzling, because 3D Vision was widely marketed to gamers.  I'd think there'd be some of them out there!
3D Vision uses a 120hz display system; the glasses are controlled by IR or RF, depending on the version.  There was an anaglyph 3D Vision "Discover" system too, but I'm really interested in the active systems.  Ironically, active stereo seems like an easy trick for the GPUs that were built to do it.  Mine is a Quadro K4200.
I'm avoiding setting up a "2010-ish" system (Windows 7, old drivers, etc.)  Running an unsupported OS always leads to problems.  My goal is a reasonably modern system in terms of software and PC hardware; the viewing hardware will eventually fail but hopefully by then something new will be available.  I'll accept a limited choice of applications but now I'm on a quest to find them.  I hope Blender is one!


text:
Maze generation - Squared into circular
Hi there i am having a problem with creating a squared maze that turns into a circular one as one goes to the middle of the maze.
I have tried several ways of doing it during the past few days and i just am not being able to do it.
I tried using the add-on "Maze mesh master" but im not able to generate circular mazes it keep giving error every time i try doing it on a circle instead of a square plane.
I also have tried creating the maze i want in illustrator and importing it as a SVG but for some reason the circular part of the maze looses its shape, i have done several tries of the illustrator - svg - blender method and the closes i got is this:
Maze made on illustrator with the help of some online generators

Maze inside blender

As you can see for the pathways are too narrow, and i kinda exhausted all methods i new on how i should create the maze.
The idea was creating a sort of garden maze, the maze being bushes but the pathways be wide enough for "people" to walk comfortably.
Hope i could more or less explain my conundrum :) i only started blender like this year so apologies for any butchering i might be doing.
Regards
ASilva
EDIT: The images are the best results i could accomplish with illustrator - SVG - Blender route
In doing this post i was hoping to find a way to create the same type of maze inside blender witch i have been trying to find and cant find witch was the main reason for going the illustrator route but i am not getting the result i want so i thought i would ask here if there was a different approach i could take.

I do not see where the circular part loses its shape...? Maybe the camera angle is too low to see it? And about the narrow pathways - well, they are a bit wider than the walls, just like in Illustrator. So if you had created them with wider pathways in Illustrator, they would be in Blender as well...

Can you mark the issue in the picture? I didnt get it what is the question here about ... sorry.

Of course you can build all this manually in Blender as well... for example by starting with a square face, extruding it out, building branches where you extrude in different directions etc. But if you are asking if there is some kind of automatic maze builder in Blender, then the answer is no. If this add-on you used does not help, then I can only wish you luck with finding another one. Or building it all manually.

well the add-on i found only lets me generate a squared maze, if it could generate a circular one it would be great but it doesn't.
i might try asking chat gpt to write me a python script and see if the script funtion in blender does something or if i cant find anything else manual labor it is :)

As seen in my comment ... I don't know what is your issue with Illustrator's SVG, so it is hard for me to understand what do you need to solve on final mesh. Anyway here is some result from Blender with Geometry Nodes.

I tried to recreate square to circle grid seen in your reference (the first GN modifier in my file)...

The second GN modifier is a maze generator ... all credits go to Hulifier ... see his answer for more details and would be nice to upvote his answer if his answer works for you.
In my blend is Maze 01 object with GN, just run animation (this GN is based on Simulation nodes).

Result with GN applied and with Solidify modifier (type Complex) is object Maze_02...

There is not probably a real path to reach a center, it is just an illusion of a maze :), but seems to me easy to adjust result to get one ... Apply > Visual Geometry to Mesh (Ctr+A) and add/erase some walls.

WoW thanks for this it what i was looking for. Though i need to study a bit more of blender cuz i still dont know how to mess with geometry nodes. But i for the time being made my maze in a more complicated way using illustrator kinda gave a lot of head aches to get the spacings more or less the way i wanted them to be.
Any how thanks :) PS: I would upvote your reply but have no rep to do it :)

I can organised some base values (like grid resolution or circle radius) into modifier inputs (to make it simpler control result) so you dont have to understand to whole noodling behind, but my nodes are not some master-piece as well :) If your issue was just a pathway width It sounds simple to adjust in illustrator, but I havent seen your script ... anyway great you found a way :) About upvote - you need rep for for that? There are some limits for newbies on this site, but this is weird, so you can only mark answer as accepted (solved)?


text:
Animation Nodes: How to create faces from a Particle System?
I just started using animation nodes and don't understand a lot quiet yet.
What do I want to achieve?
I've set up a particle system with an icosphere as emitter and used animation nodes to create splines between the particles:
This is my node setup so far (it's basically the node setup from the AN-docs):

And this is the result:

So far so good. But now i want to create triangular faces (and different objects for each face) between close edges that are already connected.
I've played around with some nodes, i.e. "Combine Mesh Data", "Create polygon indices" and others. As i'm new to AN I don't really understand the input and output format for each node so i'm stuck here.
Any help is greatly appreciated!
I looked at this question but didn't understand how to apply the provided answer to my question... :(
Create a Mesh with vertices
EDIT:
I uploaded the blend file:

And this is similar to what i want to achieve:

The shape of the faces doesn't matter that much. But it's still important which parties connect, so the faces don't go right through the center of the sphere.

There is no direct way to do this in Animation Nodes. You will have to implement a node tree that does that yourself. Also, as far as I know, there no easy way to do it effectively, so it can be quite hard to create. I will research that and get back to you if I have an answer.

that would be awesome! thank you for your time, Omar.

Is a manual editing step ok, or are you trying to animate the effect?

i want to animate this, so no editing is preferred.

It would save time to start with your file. Could you post a blend file to experiment with?

i uploaded the file, see the edit above. :)

Would the creation of a convex hull about the points satisfy your needs, or are you looking for some algorithm that creates faces only between edges that are close enough. Could you show a picture of what you have in mind?

Polygon Indices List
Before getting into the answer, let us first study some facts about polygon indices lists:

A polygon indices list is a list of tuples each of which include the indices of the vertices each polygon is composed of.
The order of indices of each polygon does not matter, so the polygon (triangle) with indices (0, 1, 2) is the same as (1, 2, 0), (2, 0, 1), (2, 1, 0), (1, 0, 2) and (0, 2, 1). However, the normals of the first three triangles will be the inverse of the later three, that is due to the fact that the mathematical operation used to compute polygon normals cares about the order.
A polygon indices list can not contain:

Two similar polygons, so only one of the indices mentioned in the previous point can exist in the list.
Each indices has to have at least 3 indices.
The indices should be of existing vertices, so if there are n number of vertices, the maximum index that can be used is n-1.

Generating Polygon Indices
The underlying structure used in the Find Close Points node is the KD Tree and we will be using it to generate our polygons as well. A KD Tree can provide you with the indices of the n closest vertices to a given point--Which can be any arbitrary point. If we used those indices to create a polygon where n=3 we will get the polygon indices of the triangles you wanted. if we used n=4, we will get quads and so on.
So we create a loop that takes the KD Tree that represents the vertices locations and n as inputs, a list of arbitrary vectors as an iterator and returns the created polygon indices as an output:

If we attempts to use the output directly, AN may return an error, that is because some indices might have been created more than one time, this is due to the fact that the same n vertices might be the closest to multiple arbitrary vector. So it is obvious that we have to make sure no polygon is created twice (Remember that a polygon can take multiple forms since order of indices doesn't matter).
To make sure we don't add two similar polygons, we keep track of the polygons created in previous iterations and only add the polygon generated in the current iteration if and only if it wasn't similar to any of the polygons created in the previous iterations. To keep track of the polygons already created, we create an empty polygon indices list as an input, append the created polygon and reassign the list:

Study Loops in the documentation to understand how this reassign works. We then need to check if the current polygon exist in the list of polygons we just created by appending and reassigning, this can be done by using a simple python generator:
not any(set(p) == polygon for p in polygons)

Where polygon is the set of the indices of the current polygon and polygons is the list of polygons we just created by appending and reassigning. We simply convert the polygons to sets (Because order doesn't matter, remember) and check if they are equal, If any of them is True, True will be returned and False otherwise, the not invert the boolean so that we can use it as a condition in the loop generator:

By using the condition input in the generator, we only add the polygon if all the booleans in the list is False.
And by using the loop we created, we get:

By setting the amount to four, we get quads, however, quads might not always be coplanar nor convex, so the results might be messy:

So far we have been using the vertices locations as the arbitrary vector list, and it works, but better result may come out when you use different vector lists (In my case another random vector list but with different seed):

Omar you lovely human being! Thanks a lot. That really helped. Especially as your answer is well explained and understandable!

@bstnhnsl Edited the answer, my original answer was created in a hurry yesterday, so I added more info today.


text:
Best workflow to mix several takes in VSE
I'm mixing a music clip of my band in VSE. I've got three takes (1 hour each) of the same show, and I would like to mix them.
Because of the length of the project, I would need a fast way to change the mix of  the three videos, preferably with autokey turned on, and editing while playing.
Any workflow or addon that help me in this task?

Decide on your output framerate first (24, 25, 30, etc). Set that in the render panel and don't ever touch that value again or it will mess up the av sync.
In the timeline window, make sure AV-Sync is turn on. This will help you during preview playback.
Lay down the audio track first, and then lock that layer down with Shift+L.
Turn on the Draw Waveform for the audio track so you can see where the beats are.
Lay down all the video tracks you have, one on each 'layer', and make sure they are in sync with the audio from beginning to end.
Use the Multicam selector to switch between the video tracks.
If the video is in a compressed format with lots of P-frames, you won't be able to scrub through the video smoothly. Consider using the Proxy feature in Blender to generate a smaller, scrubbable version.

Below is a sample of how the setup might look. From the bottom, you see a locked audio track, 3 video-only track, and multicam selectors on the top.

Source: I've edited down 20GBs of footage down to a 4 minutes trailer with VSE before.

That's just it! I should have search better. Thanks!


text:
How to rotate an image in compositor without cropping it?
I have an image that I want to rotate in compositor, to mix it with another image later. But as you can see in the images attached, when I use the rotate node, the image gets cropped.
I could create a plane in 3DView and render it, but I would prefer a shorter solution inside the compositor.
Is there any way to extend the canvas of the image, so this operation can be done?

see this question: http://blender.stackexchange.com/questions/2376/how-can-i-resize-move-the-canvas-of-an-image-in-the-compositor


text:
Align an object to a specific face
I usually face this problem when I cut objects to make them printable in my 3D printer. As you may know, you need your object to have a nice base to be printed.
So I usually use bisect to cut an object to different pieces. As in this example:

and I need to rotate the top part to have a face as bottom:

I'll share my workflow in an answer, but I'm asking for a simpler solution, if there were any.

So this is my workflow:
First select the face you want to be the ground of the object, and create a custom Transform Orientation from the N panel:

Then select the new orientation and place 3D Cursor at the face center with ShiftS, Cursor to Selected. You could also move object center to the same place with  ShiftCtrlAltC>Object to 3D Cursor.

Now add an emtpy and align it to my custom orientation.

Now parent the object to the empty (CtrlP), clear the empty rotation (AltR), and clear the object's parent keeping transformation (AltP>...).

Finally rotate the piece 180º, and you have the face as the ground.

Try my addon, Mesh Align Plus (we align an object in the example below, but you can also do this to a mesh selection or whole mesh):

You can use vertex snapping to achieve this effect.
Note before we begin: You can activate snapping by holding down Ctrl

Enable vertex snapping

Select all the vertices along the edge of the cut face, then with the pivot point set to anything except active element, press Shift S > Cursor to selected
Set the origin of the mesh to the 3D cursor(ShiftCtrlAltC>Origin to 3D cursor) If you don't want to move the origin,  set the pivit point to 3D cursor.
Add a plane in object mode. we will align the mesh to this plane.

Now with the mesh selected, hit R, (lock rotation to the axis of the cut mesh). With snapping turned on, move your cursor over one of the vertices on the plane.

Gif Demo:

Edit:
This will work on multiple axis, first perform the snap on the X then the Y. I will note that it is incredibly difficult to get the snapping right. The best technique is to do the rotation in edit mode with snapping set to active.

Exactly, you can rotate the mesh using snapping. I will add a .gif demonstrating this to the post in a second.

Nice one. But as you say, it seems it only works if you cut the object in one of the main views.

I've been trying to apply this method in Blender 3.0, and I couldn't get it to work. I then figured out that in the little snap options, you need to make sure that "Affect: Rotate" is enabled, and "Align rotation to Target" is checked.

Although developed in a fork there is a tool that simplifies this requirement.
It works over selected data, in ob and editmode, and developed as a new  transform tool. It's not and addon. You must specify 1, 2, or 3 points as origin (using snap tool most times), and then the same number of points as destiny. First point is a translation. With the second point it performs and axis match, and with the 3rd point a plane match (rotating over the axis defined).
The project also allows to move the view during transform, which is also great.
https://vimeo.com/161994522
http://www.mechanicalblender.org/features/match-tool.html

Welcome to the site :) Is it possible you could add a short summary of the linked video, describing how to use the feature? We like answers to be able to stand on their own if linked content becomes unavailable in the future. Thanks

You have an object that is rotated in an strange angle.

You add a default cube then by use of snapping as in below  you drag it to the surface that you want to be un-turned of a strange angle

As a result the cube will be turned into the same orientation.

Next you select your object then the cube and press CTRL+J.
This join the object, and by doing so your object gets a new origin
which is rorated as the cube.

Now you can go to your object and undo any strange rotations by setting the object roations to zero


text:
Camera animation - path creation - Walking effect
Hi there sorry again for bothering you guys with what might be something rudimentary, but i am having trouble animating a camera and make it look like someone is walking in the maze i have created.
So this is the maze and the solution is the black path i have highlighted.

I have tried animating the camera using the "follow path" method but for some reason the camera instead of following the shape from start to finish it only follows the outlines.
Here is how the camera looks when i have the "follow path" on the camera.

I think it is important to say that this "solution" of the maze that i am trying to make the camera go trough is imported from illustrator along side the with the maze could that be the reason i am not being able to make the animation of the camera correctly ??
I also tried creating a new path with bezier curves but i'm not being able to make straight lines then curved ones like i have right now.
If someone can help me with this i would be appreciated.
Regards
ASilva
Edit: blender file link bellow in case it is needed, only have the Maze, the solution and the floor cuz i was testing a walk/fly mode of the camera with gravity but did not look so good.

Hello could you please share your file? Only keep the curve and camera if the rest is not useful: https://blend-exchange.com/

@moonboots hi there i just shared the blend file.

For the moment your camera has no reason to move, you need to either keyframe the Offset value of the Follow Path constraint, or select the curve, go into the Data panel > Path Animation > keyframe the Evaluation Time value

@moonboots humm i think there might be some communication problem from my part. What i am having trouble with is not animating the camera ... but making the path a single line with smooth curves so i can simulate a POV of a character walking in the maze. The current path i have is imported from illustrator and the camera kinda looks like the does laps around it instead of starting and finishing.
Was i able to clarify the situation better ?? the problem with the path and not the camera witch is i why i looking for alt ways to create the path.

OK I've tried an answer, tell me if I understand correctly your question

Fo the moment you have 2 parallel curves:

Remove the parrallel curve in order to have only one and choose 3D instead of 2D:

To get round corners change the handle type with V > Automatic:

Then switch the Transform Pivot Points to Individual Origins and scale down the vertices as much as needed:

Also you could make the camera go up and down so that it looks more like a camera walking: create a location keyframe, select the Z location track in the Graph Editor, and in the N panel > Modifiers > add a Noise modifier:

i have a feeling that this is exactly what i need but ... how should i remove the "2 parallel curves" to only 1 curve ?? should i like delete the vertices of the other curve 1 by 1 ??

it looks like it's one unique curve that is closed, you need to select all the vertices and delete (X)

Ok i will try that.

So i was able to convert this to only 1 curve and set the fill mode to none, how ever the curve merge it self, and does not look like your example.
Here take a look - https://i.imgur.com/07wXIqE.png

Yes you need to select the first and last vertices and press X > Delete Segments

hum ok ok ok thanks, now quick question does blender allow to set witch one is the first and last vértice ?

If you're talking about a closed curve, take a look at my answer here: https://blender.stackexchange.com/questions/92912/can-i-set-the-start-point-of-a-bezier-curve


text:
Shadow catcher woes
So, I have a shadow catcher set up to gather the light from a fireball in a VFX shot. It shows on the shadow catcher pass in the viewport render view, but not when I take the shadow catcher pass in compositing and alpha over the footage with it. What am I doing wrong?
render view:

composite

Here are how my layers are set up
Background

Foreground

And this is how I have my shadow catcher set up to be used in the compositor. I'm just taking the shadow catcher output from the render layer node and that's what I get.

Is this a bug? Or is this not doing what I'm thinking it does? How would I get the render view shadow catcher?
Node setup

See my answer on how the Shadow Catcher pass works in general. But one question: is there some volumetric fog in the scene? Because it looks like that... this might interfere with the transparency of the scene and the fog can throw shadows as well...

The Shadow Catcher pass is not doing what you think it does. You cannot use it with an Alpha Over node because it has no transparency. The Shadow Catcher pass gives a completely opaque output which you have to multiply with the image.
Here is an example of a use case: I put a cube with a red emissive part upon a plane. There is a light source which makes the cube throw a shadow on the plane, which is also partly lit from the emission. The plane itself by the way only has a Diffuse BSDF set to completely white. The background is set to Film > Transparent.

If you now enable the Shadow Catcher option on the plane, it will become transparent and only show the shadows. Note that it really shows only shadows, no emitted light or anything. Where the red light brightens up the shadow, there is simply no or less shadow. And that is a big difference between using a shadow catcher directly in rendering or using the Shadow Catcher pass. The shadow catcher rendered directly is always only a greyscale value darkening the background.

So to have the darkening and brightening you need to enable the Shadow Catcher pass in the View Layer properties under Passes > Light as you already did. After rendering, the rendered image will not show the shadows or light on the floor, just the cube on a transparent background.

The Shadow Catcher pass shows a non-transparent image with the shadow and light information. It might not be visible, but other than the direct shadow catcher just darkening with greyscale values, the Shadow Catcher pass also gives color information and is not limited to the 0 to 1 range, i.e. pixels can have values higher than 1 per channel.

So the order of operations to use this pass now is, first of all you place your rendered image (the cube in this example) over some background with the Alpha Over node, either some reference image or here a simple blue color.

Now you can darken and brighten the image according to the data from the Shadow Catcher pass by using a Mix Color node set to Multiply.

By the way, the mix factor can of course be used to decrease the shadow effect by using values less than 1. Or to intensify the effect you can increase the value, below I have set it to a value of 2, mostly to show one thing: as you can see to the right of the cube, the Shadow Catcher also catches the light bouncing of the bright side of the cube.

Thank you for your suggestion to use multiply! However, the render view in viewport shows the correct thing, but its as if something is blocking a portion of the emitted light in the shadow catcher pass in compositing. I still get the color, but it's only a small part of where the light needs to be. Is there something that could be causing this? I'll add my nodes to the original post if it helps. EDIT - no fog, but I'm using a volume shader for my fire.

I accidentally had holdout switched on for my background collection this whole time... Didn't see it because blender likes to hide it sometimes, and I must've pressed it at some point. Thank you for your help, Gordon

@BraedonRogers Yeah, sorry that wasn't what you were looking for.

That was one of my problems, so your comment helped tremendously! Thank you!

@BraedonRogers Okay... I just thought it didn't since the answer was not accepted.


text:
Fire simulation casts light with weird holes/shadows in it. How can I fix this?
This project uses a shadow catcher to catch light and shadows and is composited onto my footage. I'm using adaptive domain (though I tried a low res bake with no adaptive domain, that just killed any light I was getting before), with the domain set to not cast shadows in Object Properties > Ray Visibility.
I'll include some of the stills from the animation so far, but the gist of the matter is this: My fire casts a nice, warm, roundish light and it looks great from the first two frames of fire. On the third frame, it's almost as if an invisible cube is casting a shadow between the fire and the shadow catcher I have for the ground. Fourth frame is similar, but with a bigger, sort of pixel-y circle, and beyond frame four there's no light being cast.
Frame 1

Frame 2

Frame 3

Frame 4

The only objects in my scene are:
Camera
Shadow catcher plane
Domain
Flame inflow 1
Flame inflow 2
Flame inflow 3
Each inflow is marked as invisible to renders, plus they're icospheres anyway, so I don't think it's them casting shadows from inside the fire.
Not sure it matters, but I'm using two render layers, one with just the fire, and the second with just the shadow catcher; indirect bounces turned on for the fire and camera on layer two.
Any help would be appreciated!
I may have messed up the photo formatting, I've never posted here before, sorry in advance.
Edit -
Maybe it has something to do with how voxel-y the fire looks? It's at 850 resolution divisions, but maybe I just need more? Here's another pic

Anyone know what could be causing this?

Domain lowres ... number of divisions is related to longest edge of your domain ... there is nothing easier to confirm that than just encrease it. If your domain covers start end position of sphere inflow it would be always hard to calculate sim. Consider animate domain location covering just a sphere and fire tail. Or consider this approache https://blender.stackexchange.com/a/199176/2214

or multiple domains ... https://vimeo.com/246353861

So low res divisions contributes to the lighting problem? That seems really weird, but I'll take a stab at using multiple domains. Thanks!

Rather start with one domain with animated location ... Multiple can be tricky.

Yes, I noticed this yesterday... I'll try animating, thanks!


text:
Faking HDRi Reflections with an orthographic camera
Is it possible to fake perspective reflections of a HRDi in a scene with an orthographic camera?
As reflection rays are parallel on flat surfaces, every face of a glossy object has a uniform color instead of color variations from the HDRi.
I'd prefer a node-only setup to baking textures.
Setting the camera back to perspective and using a high focal length is Plan B.

Reflections work fine with orthographic cameras, at least on non planar geometry

obviously, as rays from non planar faces won't be parallel. edited my answer to target falt faces specifically.