text:
UV mapping problem, uv is getting corners of texture only
I'm trying to make a can of soda in blender, testing out the geometry nodes in the process, since I'm very much new to it!
Namely I'm putting water droplets as spheres onto the mesh of the soda can.  This all has gone smoothly so far, but I've encountered a problem with UV mapping.
The original mesh of the soda can does not display its UV's correctly with the nodes. I've noticed that deleting the nodes completely fixed the issue. Simply applying the nodes did not. I did get a temporary solution out of this by applying the nodes and separating the meshes completely. However, i do want to keep my workflow adjustable for later if i want to tweak things on the droplets.
So that brings me here, i was wondering if anyone here had any idea what i might be that I'm doing wrong with my nodes that is causing this? or is it an issue with blender?

It seems to be averaging a single color out of the 4 corners of the texture

This is how it should be looking, and what happens when i delete the nodes completely.

Thanks for your time!

When adding geometry nodes to an object, it's UV-Map will be moved to the attribute UVMap. You can access it in your material likes this:


text:
why does all my copied windows with the same exact materials as the original not look the same
as the title says, i made a window consisting of two layers, a layer of glass using the glass bsdf with some nodes put into it to get a kind of pane effect, the other layer lies behind and is using a gradient into emission to mimic the look of inside lighting shining through. i know its not perfect. but when i copied the window it didnt keep the glow from the emission. i dont know how to fix this

The windows are different because you used the object position (presumably of the "first" window) as a texture coordinate. Change the coordinate input to "generated" to get them all. You will have to adjust your mapping slightly (see below):

source: Stack Exchange

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

sort: votes


text:
How to fix these weird triangles and artifacts in texturing?
when in applied an image texture I got these super weird texture glitches or whatever they are. please help me! (i am using an ANT landscape with a subdivison modifier on if that helps)

can you please share your file via https://blend-exchange.com/

Such problems with ANT and texturing usually come from the unwrapping process. Don't use projections, just Edit mode -> UV -> Unwrap. That should do the trick.

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


text:
ColorRamp does not invert properly
I have a gradient texture in a colorramp to control a mask for shading, but it is masking the opposite part of what I want. This is what I have:

And I want to have this, but opposite, where the white is where the black is and the black is where the white is. So of course I used an invert node because that's what it does right? apparently not exactly, because this is what I got when I plugged it in:

So yeah, how do I invert it properly?

You can just swap the two sliders on the ColorRamp and lack the Invert node with the same result. Probably what we see on the pictures is a kind of illusion, the nodes are works right. May be you have to adjust the ColorRamp to enlarge the black region.

Your original white strip is a range of values from (just over) 0 to 1, the invert node will take value .8 and make it .2, for example.

A color ramp with two white stops on either end, and one or two black stops in the middle might give you what you want

Just because the textures look different, when they've been through whatever view transform they've been put through, for your display device (sRGB?), and then, your display device, doesn't mean they are  different, from the POV of masking. If you put both  gradients through the same threshold ( Math > Less Than say, 0.5 ,) The edges should match.

why don't you just use a math operation after the colorramp (1 - x) where x is the result of the colorramp?

You could do this with Invert if you had a pure black and white mask (values of 0 and 1, and nothing in between).
You can turn your current mask into this with a Math -> Divide node like so.  Be sure to check the Clamp option.

The Invert will simply swap the colors.
However, since you've built a gradient, and I assume you want all of those values in between, the easiest way is probably to duplicate your ColorRamp and modify the stops.


text:
what are these artefacts/faces and ho do I get rid of them?

as shown in the pictures I get these untouchable faces that are part of the bottom face when I move some of the vertex. It does not have any edges, nor does it have any visible vertex. they are glitching in and out when I move the vertex, and seem to increase in size when I pull the wanted vertex in any direction. I have no idea how to remove them, please help!

This screenshots do not clearly show the problem, but it seems that this kind of problem might be particularly tricky to demonstrate visually since it is a visual error.
What I suspect has happened is you’ve managed to end up with bent faces. This can only happen with faces with more than three sides, and when you bend them, you’ll find that the 3-D render engine (whether it be real time OpenGL or cycles) is actually breaking the face up into triangles. This is somewhat arbitrary to the end user, so if the face bends, things get unpredictable.
As is, I can’t really tell what you’re trying to make, or where exactly the problem is, I’m not sure how to fix it. One way to diagnose the problem better would be to select all, and then Split Non-planar Faces (either in the mesh or the face menu, I don’t remember which).


text:
Blenrig 5 Deform Cage isn't symmetrical
I'm new to rigging. I saw the videos for Blenrig on the cloud so I downloaded it and watched all the videos. Everything seems ok except for the deform cage, which is not symmetrical. I wouldn't have too much of a problem with it except for the fact that the x-axis mirroring seems to be permanent, so when I adjust a misplaced vertex on one side it screws up the properly placed vertex on the other side, so that I can never get a symmetrical
Is there any way to either turn off the x-axis mirroring, fix it, then turn it back on? Or a way to make sure it is symmetrical in the first place? Using Blenrig 5 and Blender 2.78c.

did you bake those meshes and armature as well? Make sure when you bake the armature, all layers has content mesh "mdef_cage" and "proxy_model" are visible.

By the time I posted this question I'd already been fighting this problem for a day, but not being one to just sit around waiting for an answer, I kept looking around and trying things.
This has something to do with the scaling. My original model was very large -more than 20x the size of the default Blenrig armature. When I scaled the model down to a size pretty close to the default rig size it all came out fine.
Since extensive searches on multiple boards yielded zero answers I figured I'd answer my own question here in case anyone else has the problem. If anyone comes up with any details about the scaling issue or a way to bypass that problem please let us know!


text:
When I subdivide a face, how do I get each face from the result in Python?
For example, if I subdivided a square face so there were now 4 faces, how I do iterate through those 4 faces in a Blender add-on?

Could you elaborate on the question. Do you mean : you want to map the newly created faces on the old face, which was subdivided? If yes, I don't think that kind of history would be maintained in any of the built-in objects. If you simply want to iterate through the faces, you can do that through bmesh.faces iterator. Here, you won't get the face that was subdivided but the new 4 faces that were the result of the subdivision.

@BlenderDadaist I would like the second option; I simply want to iterate through the new faces.

Here is the code to iterate through the faces of the selected object:
import bmesh
import bpy

obj = bpy.context.object
me = obj.data

if me.is_editmode:
    bm = bmesh.from_edit_mesh(me)
else:
    bm = bmesh.new()
    bm.from_mesh(me)

for face in bm.faces:
    #Your logic here
    print(face.index)

Bmesh approach
Using the bmesh operator bmesh.ops.subdivide_edges(..) with cuts = 1 and use_grid_fill = True will produce the result of subdividing a quad face into four.
Test script, run in edit mode, subdivides face 0, prints the four newly added faces.
import bpy
import bmesh
context = bpy.context
ob = context.edit_object
me = ob.data

bm = bmesh.from_edit_mesh(me)

face = bm.faces[0]
ret = bmesh.ops.subdivide_edges(bm, edges=face.edges[:], cuts=1)
for f in ret['geom']:
    # new geometry
    if isinstance(f, bmesh.types.BMFace):
        print(f)


text:
Does cycles or prorender use combined Ryzen 2700 & Vega 56 capabilities?
Ryzen 7 and Vega 56 uses OpenCl.
Does cycles or amd prorender uses those opencl capabilities combined or do you need to choose gpu or cpu rendering.
I amasking that because i saw in benchmarking that those two are similar in results. So if they aredo not using combined capabilities i could save some money.


text:
Convert polygonal cube to solid primitive cube/box
I have a radiation analysis program (NOVICE by EMPC) that only accepts 3D models made up solely of solid primitives, such as cubes or "boxes".
My strategy is to "voxelize" complex models using blender's particle system, such that I can export the model as an .obj file made up of nothing but cubes. see my previous stack exchange question for context here
However, the cubes produced by blender's particle system do not appear as solid primitives in Fastrad, (another analysis program we use to check for compatibility) but are instead made of polygons. It seems that I am getting a polygonal mesh instead of a solid. see comparison here
Furthermore, when I try testing just a single blender cube in fastrad, instead of the ones produced by the particle system, I get invalid shape errors. See first and second images from this album Although the box looks solid in this case, it seems to be made of "tesselated shapes" so it is actually probably supposed to look like the cube split into triangles from earlier.
The end goal is for my cubes to appear as a box element (see fifth image in above album) rather than a "shape".
I think a large part (if not all) of the issue is that Fastrad appears to polgonize any .step/.stp file it imports (see below). However, the only other file formats Fastrad can import are iges, gdml and sysbas. Only gdml and sysbas do not have discretization as part of the import procedure.

Below are some test files that may shed some light on the problem.

.stp file of a proper solid cube (box) made in fastrad and
translated with fastrad to the step format; this is actually invalid
as well (see fourth image in above album)
.stp file of a cube made in blender (originally exported as
.obj)
.obj of an isolated blender "voxel" from a voxelated model (it's
different)
.mtl for the above .obj
.blend of a simple model I made in catia and voxelated with
blender

Is there a way I can convert my voxelated models such that the cubes are actually solid primitives? The .stp for a solid primitive box made in Fastrad is a lot larger (two or three times the number of lines) than a blender cube, so I would like to avoid writing a translator from scratch if possible.

After further testing it seems that Fastrad's import gdml functions are broken.

Actually I think it only accepts .gdml files that are specifically for Geant4. Unfortunately the FreeCAD module that supports gdml does not export this type of gdml.

Actually it does seem like Fastrad's gdml translation is broken, since it cannot import the gdml that it creates itself...


text:
is there a faster way to copy select vertex position from one side to another
Lets say I am making an object with two sides that are symmetrical, lets say over the X-axis, and I need to realign some vertices to match changes I have made on only one side. then I will go to the first vertex, copy the x-coordinate, paste it into the corresponding vertex on the other side, and put a minus on before hitting enter. Then I will do the same for the Y and the Z-axis, except for the minus. Then I will do that for every single vertex that needs changing. This is boring and takes extra time that I feel I shouldn't need to waste.
now my question is this. Is there a faster way to do this? Can I somehow use something like the symmetrize function for Armatures on a mesh? and also bonus question is it possible to do this to only the selected vertices, and not all of them?

select your vertices -> Mesh > Mirror -> interactive mirror


text:
when using mean crease on subdivision modifier it makes the edge straight the way it should, but it goes over it and negates the crease
as the title says, I have modelled an object using a subdivision surface modifier, and I need  some of the edges to be straight. For that I have used a combination of some crude control edges, but mostly using a mean crease to define the edges I want straight. This works for all cases except for the corners, here it look like it works, but then the modifier goes over the edge and smoothes it out, which is not what I want. See picture below.

and this is how it looks from above

and this is what I want it to look like

and this is the topology view(note that this happens in multiple places, but all have similar geometry to this one)

Either mark this oblique edge as well (1) or remove the support edge loop (2):


text:
Can you save different object transform states similar to shape keys?
So I am making a plane, and I want to easily scroll between the landing gear being open and closed. I want something similar to shape keys, in that I can pull a slider, and it goes from one rotation state to another. The problem is that I cannot just rotate it in edit mode and use shape keys because I need the effect to alter the actual rotational values of the object, as it is a parent for multiple smaller objects.
Is there a way I can store different states of a objects rotation similarly to shape keys, but outside of edit mode?

If I understand you correctly, by "outside of Edit Mode" you mean to alter object properties, as opposed to the mesh data. This is done in Blender by parenting and empties.

If you want a slider, then use a custom property and a driver.


text:
why does one side of the curve get this weird inflated look but not the other side?
I have made a wire-mesh usng verts, then converted it into a curve. I then tried applying some depth to it using the bevel option on the curve. On the curve however, one side of it has gotten this weird inflated look:

whilst the other side looks normal and like I want it to:

both sides were identical when I made them using the wire, I even deleted the half that had problems and mirrored the other side over to replace it, but the issue persisted. When I go into the curve in edit mode, there are some weird things going on with the selection too, with the two sides having different ways of connecting to the main frame and stuff.

it seems like the right side is not connected to the rest of the curve like the left side is, but I have no idea why it is this way, as the sides should be identical.

Curves are a bit weird like this. You will find that if you try and move a control point that is at the intersection, there will be 2 points on top of each other. Try selecting both, right click and fillet. Play around till you get something that looks nice.


text:
Solid primitive cube in script
I am writing a script for applying a particle system on Blender. In the options I want to set a solid primitive cube as the duplicate object, however I can't figure out how to do it without creating a cube in the scene first. Is there a way to do this or must I create the cube as well? If so, I want to be able to delete it after applying the transformation. This is the code I have that does not work:
settings.dupli_object = bpy.data.objects.get("Cube")

If there is no "Cube" to reference in blender's database, what would the syntax be for creating it with the name "Cube" and then deleting it after the transformation is applied?

Would add a new one if the cube option is chosen. If they want to use the old one or any object for that matter, have a use context object or select object option.  Directly after running a create primitive object then new_object = context.object.

# create solid primitive cube to use as duplicate object
bpyscene = bpy.context.scene

# Create an empty mesh and the object.
mesh = bpy.data.meshes.new('Cube')
basic_cube = bpy.data.objects.new("Cube", mesh)

# Add the object into the scene.
bpyscene.objects.link(basic_cube)
bpyscene.objects.active = basic_cube
basic_cube.select = True

# Construct the bmesh cube and assign it to the blender mesh.
bm = bmesh.new()
bmesh.ops.create_cube(bm, size=1.0)
bm.to_mesh(mesh)
bm.free()

and then delete
bpy.ops.object.select_all(action='DESELECT')
bpy.data.objects['Cube'].select = True
bpy.ops.object.delete()

Why not simply bpy.ops.mesh.primitive_cube_add() ?  It is after all exactly what your first script is doing (but in one line).

how do you choose what the cube is called with this?

After running the op: context.object.name = "Blah" the naming system will append numbers if another exists with same name (same with your script wont get "Cube" if name already exists). More important is the reference not the name.  After op newly_added_cube = context.object


text:
Split blocks in block-based mesh
I have a 3D CAD design that I remeshed into blocks. I would like to be able to export or convert the voxelated object in such a way that it is composed of distinct cubes that I can edit etc. individually. My end goal is to have a CAD file that is made up of loads of cubes and nothing else, not one complex shape made of cubes.

Check out this answer

I can't see how particle systems would help. Care to elaborate?

Remeshing creates no subdivision of volume, just a sampled surface.
There is a 'Grid' option in particle systems, that enables you to set a resolution of the grid intersections, and the size of the objects placed on them.
If, rather than re-meshing, you make your object into a particle emitter from volume,  and set a cube as the particle dupli-object, you can voxelize it.
In the example here, (we're on frame 1 in the timeline)  Suzanne is the emitter, and a cube is duplicated to the particle system. All the other particle settings are at their defaults.

If you go to Suzanne's modifier stack, and hit 'Convert' on the particle system, the particles become real instances of the cube. Here I've scaled out all the positions of the cubes so you can see the inside ones...

In the Particles > Emission panel, the 'Resolution' setting divides the longest side of the bounding box of the emitter, and the 'Size' field of the Particles > Render panel will scale the cube-dupli.. (probably best set to 1).
So to make your voxels exactly fill an emitter whose bounding-box longest side is 3.5, with Resolution set to 10, and Size set to 1, your cube would have to be 0.35 on the side.

Thanks for your reply. I am trying to replicate your result with my imported CAD object but my particles are looking a little sparse. See here: https://imgur.com/a/7y6lN5Y
Also, once I get it to look the way I want, how will I export just the cubes? When I delete the main object the cubes go away too although if I am not mistaken there is some "make duplicates real" command that might help? Will these cubes then save as separate elements?

The modifier > 'Convert'  makes the cubes real instances, sharing mesh data. If you need to unlink them, select, and  hit 'U' > unlink mesh and data.  Your example has fine details - if you want to pick that up, the the cube will have to be about half their size, and the Emission> 'Resolution' wound up to fill the volume. Uncheck the Render>'Global' setting if you want the paricles to sit on the emitter.

How can I figure out what size to make the cubes so that the model is watertight?

@alex.l .. see edit.


text:
How to split objects to increase effective resolution of particle effects
Blender has a hard limit of 250 for the resolution of its particle effects. I am using Blender to "voxelize" complex 3D models using its particle system in a tight grid of cubes, and I am trying to find a way to increase the effective resolution by applying the particle effect to parts of the model separately instead of the whole model at once. For example, if I split a model in half my effective resolution can be as high as 500, as I can apply 250 resolution particle effect to each half. I would like to be able to do this splitting procedure in Blender with python. I need the model to be clean so that the particle effect works as intended (is as close to the original model as possible). The method described to me here in a previous question of mine did not work for me, as the cut meshes did not work well with the particle effect.

Do you need effectively a particle system or just to voxelize?

The output I currently generate from Blender is a lot of identical cube objects in a .obj file. I do need the cubes to be distinct.

ok, so no need of any links to the original object except the voxel result, that's it?

Yes that's right.

How many voxel cubes do you expect, concretely?

I expect a near-watertight voxel representation of the original model. The number depends on the model but I want a resolution at least as good as 1mm.

As the particle system is just a way to obtain the result, I propose to do it another way. A script was needed anyway, so the following script does a voxelisation directly.

Instead of PS, it uses a script and dupliverts.
The script creates a mesh with vertices only so that the duplivert can be applied:

It takes a mesh as input
Calculates its boundings
Maps x, y, z inside the boundings at voxel size steps
Then uses a BVHTree to test the distance of these (x, y, z) to the original mesh

Once done, you just have to create a cube at the same voxel size and parent it to the generated mesh (with duplivert).
From that, you may want to make an exportable mesh:

Select the dupli
Use the menu 'object>apply>make instance real'
Select the instances and join them

Performance: tested on this bunny at 2mm voxel size. That's about 350k vertices. So 1mm should be around 8 times this amount.
The calculation is relatively fast, but once the duplivert set up, Blender becomes a bit slow.
The script:
import bpy
import bmesh
from math import ceil
from mathutils import Vector
from mathutils.bvhtree import BVHTree
from itertools import product

# Create an object from vertices only
def create_object( context, vertices ):
    mesh = bpy.data.meshes.new( "voxel" )
    obj = bpy.data.objects.new( "voxel", mesh )
    context.scene.collection.objects.link( obj )
    bm = bmesh.new()

    for v in vertices:
        bm.verts.new(v)

    bm.to_mesh( mesh )
    bm.free()

    return obj

# Get object bounding as min max vectors
def boundings( obj ):
    min_x = min( (Vector(b).x for b in obj.bound_box) )
    max_x = max( (Vector(b).x for b in obj.bound_box) )
    min_y = min( (Vector(b).y for b in obj.bound_box) )
    max_y = max( (Vector(b).y for b in obj.bound_box) )
    min_z = min( (Vector(b).z for b in obj.bound_box) )
    max_z = max( (Vector(b).z for b in obj.bound_box) )
    return Vector( (min_x, min_y, min_z) ), Vector( (max_x, max_y, max_z) )

# Voxel
def voxelize( context, obj, size ):
    # Get boundings
    min_bounds, max_bounds = boundings( obj )
    # Delta vector
    delta_bounds = max_bounds - min_bounds
    # Vertex count in all dimensions
    counts = Vector( (ceil( delta_bounds.x / size ), ceil( delta_bounds.y / size ), ceil( delta_bounds.z / size )) )
    # Reajusted starting position
    starts = min_bounds - ((counts * size) - delta_bounds) * 0.5

    # A BVHTree from the mesh
    depsgraph = context.evaluated_depsgraph_get()
    tree = BVHTree.FromObject( obj, depsgraph )

    half_size = size / 2.0
    vertices = []
    # Cross products of the wanted ranges
    for x, y, z in product( range(int(counts.x)+1), range(int(counts.y)+1), range(int(counts.z)+1) ):
        # Corresponding position
        vert = starts + Vector( (x * size, y * size, z * size) )

        # Test the proximity to the mesh with the BVH tree
        result = tree.find_nearest_range( vert, half_size )
        # If close enough add the location
        if result:
            vertices.append( vert )

    # Create an mesh from the result
    return create_object( context, vertices )

# Get current object
obj = bpy.context.object
# Define voxel size
voxel_size = 0.002 # <<< Change this to change the resolution (in meters)

# Create the voxel
voxelize( bpy.context, obj, voxel_size )

The file with low res voxel:

Another example:

Complements:
To use the script:

This is not an addon to Blender, so you have to open a text view in Blender, create a new text and paste the code in it (same way it is in the uploaded blend file)
The script contains a parameter in the line commented '<<< Change this to change the resolution (in meters)' above. This 'voxel_size' parameter corresponds to the size of the cubes
Then select the mesh (active mesh) in the 3D View and run the script using the button 'run script' which is on the top right of the menus of the text view (you can also use AltP when the mouse is in the text view)
The calculation starts after that and Blender may hang for some seconds. This calculation time depends on the 'voxel_size' parameter and on the mesh dimensions. The ratio 'dimensions/voxel_size' power 3 gives the voxel cubes amount. I preconize you start with a relatively high value for voxel_size so that there is few cubes in result. After that and depending on your configuration lower this value.
Once done, the script has create a new mesh which is vertex only (no faces). You'll have to follow what is written above about dupli and parenting to make a base cube of voxel_size dimension fill the mesh

Thank you so much for you answer. Can you please explain (or point me to an explanation) a bit more what I have to do to add the cubes to the mesh? I want to export a bunch of cubes (only) in the end.

I have the lastest version of Blender and I don't see instancing under object tab (nor duplication).

Just added some explanation... tell me if enough for you ?

Instancing is in the object property panel (tab). It has to be set to 'verts' for the mesh generated by the script. And this object is parent for the little cube.

Perfect thank you!


text:
Play only one action at a time
When i make an action, push it, then make a new one, the keyframes from the other actions are still playing, and blending with the new one, how could i play only the new one?

Mute the NLA

Can mute the entire NLA stack using toggle, as shown in image, or via scripting by setting the object's animation data use_nla property. When muted will only evaluate the active action. I call this the one in the "slot", that displays keyframes in action editor / dope sheet.
>>> C.object.animation_data.use_nla
True

>>> C.object.animation_data.use_nla = False
>>> C.object.animation_data.use_nla
False

A muted NLA stack is a convenient way to store actions with an association to their target object, mesh, shape etc.
Note also: NLA tracks can be muted individually via the similar mute button on each track.


text:
Transparency options are all greyed out?
I'm using the nodes in Internal, and the problem is that the transparency options in the Material tab are blanked out. The Image Texture I'm using has a part where it's transparent!
Here's my setup and the Transparency options greyed out.

Here's the image texture in question (The bottom left part, which is a skirt, is transparent)

And here's the render.

I've connected and disconnected the Alpha part of one material and the other to the output node's Alpha and neither makes a difference, surprisingly.

I didn't realize you moved this to a new question...try this:
In the Material, make sure you select 'Transparency' with Z Transparency under Render Pipeline Options.

Also under 'Options', turn on Face Textures and Face Textures Alpha. Under the Texture itself, make sure 'Use Alpha' is checked in the Image section.

Oh also connect the Alpha from the Material to the Output as before.


text:
Coordinates of the segments of the hair particle
All Hair Particles are based on Vertices. I activated the option in ParticleSystem "Advanced" and switched to Verts. A hair has 4 segments. I would like to read these segments per hair as coordinates. How does that look in Python?

what is your level in Python? I mean are you able to reproduce code from Blender if this need?
I could share with you an approach for this, but more like workaround instead of direct solution,... because I can't understand the main purpose of your question.
What I understood, is that you want to control a particle hair system resolution, emitted trough vertices ...

Or you can only use the Sphere to control, removing  the previous script note property.

Hope this will help you!


text:
Get Location of Particle Keys with real unit size
I get my location of all particles with this script.
ps = bpy.data.objects["Cube"].particle_systems["ParticleSystem"]
ps.particles[0].hair_keys[5].co
-> Vector((0.4008302092552185, -0.8442497253417969, 1.4897942543029785))

The location is not in Unit Scale centimeter 0.01. How can I use and calculate the unit scale?

With a function like this one:
def get_unitscale(scene):
    unit_settings = scene.unit_settings

    if unit_settings.system in {"METRIC", "IMPERIAL"}:
        # The units used in modelling are for display only.
        # Behind the scenes everything is in meters.
        return unit_settings.scale_length
    else:
        # No unit system in use
        return 1

By multiplying with the scale value, you get coordinates in meters:
scale = get_unitscale(bpy.context.scene)
co = ps.particles[0].hair_keys[5].co
# Assuming the unit system is set to meters
co_in_meters = co * scale

By the way, there is also the co_hair() method for getting hair coordinates:
https://docs.blender.org/api/2.79/bpy.types.ParticleSystem.html?highlight=co_hair#bpy.types.ParticleSystem.co_hair
And if you want to retrieve coordinates of the hair with final render settings, you will have to call set_resolution() first:
https://docs.blender.org/api/2.79/bpy.types.ParticleSystem.html?highlight=co_hair#bpy.types.ParticleSystem.set_resolution

Thank you for your information. I have exported an FBX in 20cm x 20cm. I exported the particles as apx. Unfortunately, the particles are 100x smaller than the fbx. Then I noticed that the direction is wrong. I have adjusted my export settings in blender for UE4. Forward: X Forward. Up: Z Up. How can I include them in that direction? But first, only the scale is important to me.

The unit value 0.1 seems to have the right size, but 0.01 is set for centimeters, but that's too small.


text:
Get Normal data from smooth Normal
I don't know about "Shade Smooth", but I hope you can help me there.
If the mesh has "Shade Flat", then you can read every face with "polygons [i] .normal". Can I also read the "normals" from the "Shade Smooth" on the face from the point?
I have illustrated this better in the picture.
I can read 1, 3, 5 with "polygons [i] .normal".
How do I read 2, 4, 6? The "2" could be calculated with 1 and 3. But I have no idea how to calculate that in Blender. Can you read the normal from the "Shade Smooth", which is from the location within the triangle? The location in the triangle is not always central. This is just an example.


text:
No sculping when the other side is hidden
I wanted to model the arms, but I hid the whole body so that I can only see one arm. Unfortunately, the mirror effect is not applied if everything else is hidden. How can I make the mirror effect work?

Press Alt + b while in Sculpt Mode to bring up the Region Clipping tool. A box can now be drawn to define the area you want to keep visible. Everything else will be hidden. The brush symmetry will still work on the hidden parts.
Press Alt + b again to cancel this mode. Note that it's not always easy to see where the edge of this region is, though you can get a sense of it by orbiting your view. As this tool takes a slice out of the visible area, the affected region actually exists within 3D space, meaning that if you are working up a sculpt, and happen to work your way past one of the clipped boundaries, that part of your sculpt will now fall into a masked region. If this happens, you'll simply need to reuse the tool, and define a new region.


text:
How can I edit geo nodes to achieve this?
The final result should look like this:

I changed the settings in the modifiers tab to select my text object instead of the default object. I did that in 3 places in the modifiers tab. But I couldn't achieve the result.
I uploaded the original file and the file that I edited.
https://filebin.net/iegbgcqkeiezxlof

unfortunately google says your file is not safe and warns to download it...

@Chris It's a .blend file (not exe). You should trust me more than google haha. Should I upload it again on another website?

if possible, yes please

Here: https://easyupload.io/m/rsjx5z

ok, thank you, but even the original file you provided does not work...so maybe you should look for an original file which works?! Or does it work for you? if yes, which Blender version r u using?

@Chris It should work on the expermimental version 3.0

@Chris This is the tutorial that I'm trying to follow but he doesn't explain anything hahah: https://www.youtube.com/watch?v=KmrPR10OtZA

@Chris I got the original file from this website. You set the price to 0 and then you can download it. Here: https://blenderthings.gumroad.com/l/GroowyGeoNodes

even if i download that, i got errors like this: [1]: https://i.sstatic.net/G3JXo.png -> rot2 is not defined....so maybe the source is not that good.... and yes, i am on experimental version 3.0 from a few days ago

@Chris Okay I don't want to bother you too much. Thanks anyway for your trials to help me. I'll try to search for alternatives with completely different style haha.

Create a Base Object you want to apply the effect to
Duplicate it: the copy will become the plant once all the modifiers are in place, so we can call it Plant Object
On the Plant Object add the three vertex groups seen on the original plant object ("P", "POF", "PO"). Make sure each group has all vertices assigned
Select your Plant Object, then the original one and copy modifiers (Ctrl+L)
Duplicate the Empty Sphere object to use it as your Plant Controller
On your Plant Object, edit the modifiers: in the VertexWeightProximity modifiers, replace the target object with your Plant Controller. In the Shrinkwrap modifiers, replace the target with your Base Object

Now it should work correctly, except that the plant will react only to the Plant Controller's position and not the scale. To make also the scale work, you need to copy the drivers from the original plant object's VertexWeightProximity modifiers.

Thank you so much I'll try this and get back to you


text:
Is there a "latch" node in animation nodes?
I need a Boolean node that does the following. If the input is true at any time, the output becomes true and stays true. Even if the input is removed or becomes false, the output must stay true. It's like detecting a pulse or touching a button then walking away and the bulb doesn't turn off when you walk away.
By nature, the node should have another input to turn it off.
Is there a node that does that in animation nodes? If no, Is there an easy workaround?
Thank you,

You can use a custom property on an object to do it :
Create a new empty and set your node tree like so :

Now when you toggle the boolean input, the custom property is updated and persists between frames.

Now there may be more efficient ways to rig it but your latch logic boils down to :

In action :


text:
Black pixels in renders
So I'm a newbie in Blender, and when I rendered the model, there were some annoying black pixels. Can you help me?

It looks like you have those faces duplicated...look into z-fighting if you want to read more. You may need to delete duplicate objects (some may only be visible in render), or you may need to remove doubles (w key menu in edit mode).


text:
My Hdri backround isnt showing up in render for some camera angles
My water fluid simulation has multiple camera angles, when i render as an animation my the first 59 frames render correctly from one camera angle.

When the camera changes at frame 60 the hdri backround becomes a solid color. What do I do?

Looks like you´ve animated the cycles properties for "CAMERA" in object properties. It is on up until frame 59 and frame 60 it is animated off. Remove animation on that checkbox.

I don't understand what you mean and am not sure where to find what you are talking about


text:
Convert rigged armature into static object
For 3d printing purposes, can I turn a rigged armature into a static object? If so, how?

If you "apply" your armature modifier and delete your armature, and if your object goes back to it´s original size this is what you do:
Apply armature modifier.
Select model
Press Alt+P (unparent - keep transforms).
Voilá. Posed model with no armature.


text:
Riged bodies not coming to rest and falling through each other
I  am having trouble with a small animation.  All I wan to do is have the wine bottle sit in the rack so that I can tip it over and have the bottle fall out, but the bottle will not even sit in the rack without slipping through the rack mesh.  The rack and floor is passive and the bottle is active with deactivation turn on.  Any help is appreciated.

Is the colisión type turned from "convex hill" to mesh?

Further to @leo's comment, are your normals all pointing in the right direction (outwards). Should also Apply Scale and possibly increase the number of simulation 'steps'.

Yes, mesh type is set on both objects.  Not sure how to increase animation steps . ??

Read the stability part of this : https://docs.blender.org/manual/en/dev/physics/rigid_body/tips.html

I can get it to partially work by setting the wine bottle body to Convex Hull.  Still not the result I hoped for.

on the scene tab increase the Rigid Body World - Steps Per Second and Solver Iterations. It will slow everything down but make it more accurate. Also on the Physics tab for the bottle object check Enable Deactivated and Start Deactivated.


text:
Rendered View very pixelated compared to Rendered Result
I've never noticed this issue before when working.  I am thinking I turned on/off a setting by accident.  Any help?  I set my preview and rendered samples to both the same (16) for comparison.

Noise and fireflies are different from pixelation

Yes that's noise, mostly, and although it could be expected at 16 samples, the right image seems rendered at a higher level. Can you upload your test file to http://blend-exchange.giantcowfilms.com/, then paste the provided link into your question text, so we can check settings and compare results?

https://blend-exchange.giantcowfilms.com/embedImage.png?bid=5343
I have since started over with a new file and used blender provided lighting and not the 10 small mesh lights in the scene and have gotten a much better result, but there has to be a reason I can't get this to work.

The issue appears to be the way that cycles handles small light sources.  To solve this I turned down the brightness for all of my small indoor lights and added a blender internal light (spot light) and placed them as if they were sourced from the bulbs (and parented the meshes to them for ease of adjustment) and adjusted the brightness from there.   This appears to give the realistic affect I was looking for.


text:
Zoom into picture frame
I am not sure how to describe this effect.  but..
I want to show a video with a picture frame in it.  I want the blender camera to zoom in on the picture frame and eventually just be showing the video that was playing in the picture frame.  I am sure this has a name, just not sure what it is.

you can play a movie into your 3D scene if this is what you're looking for, you just need to give a plane an Image Texture node and load the movie into this node or even simpler, Add Image > Image > Image as Planes (you need to enable the Import Image as Planes addon)

Pan & Zoom Slide Show?


text:
Linked object issue with 2.8RC
I am having an issue with linked objects in 2.8
I have mentioned it on the developer forums but have gotten no response so I thought I would bring it here.
https://devtalk.blender.org/t/error-when-opening-classroom-blend-with-2-8rc/8377

This started a few weeks ago using the betas and not continues with the RC
In the screenshot I am trying to load the classroom.blend from the examples page on blender.org.
https://www.blender.org/download/demo-files/
Any help would be appreciated.  I don't know if this is a bug or how I should be handling duplicated objects.

I can't reproduce the problem, both the release candidate and a recent build from the master branch are working fine. Have you modified the scene in anyway? Does this persist with the latest version of Blender?

No modifications.  just
OSX 10.14.5
Blender RC
and download and open classroom.blend

There's been bugs in the first RC release for macOS, try to update it to the most recent one. If that doesn't solve it, it's an issue that should be reported on the bug tracker. https://developer.blender.org/maniphest/task/edit/form/1/

If you need to send a bug report, I recommend doing it from Blender via Help → Report a Bug, it will pre-fill the ticket with your system and build infos.

I got word from Blender that this is a design decision and no longer supported in blender any longer.
Closed issue.


text:
How to sort objects from a collection using python?
So I'm trying to animate a rubiks cube via a python script using the scripting capabilities given with Blender.
My current cube looks like this:

It consists of 27 separate objects (cubelets) that are organized in a collection like this:

Initially the locations of the individual cubelets were not applied and so I could select all cubelets of a given side by sorting the objects of the collection by the corresponding location and reversing the resulting list if necessary:
def cubeletsBySide(cube, side):
    dimensionsBySide = {'U': 2, 'D': 2, 'F': 1, 'B': 1, 'R': 0, 'L': 0}
    revertBySide = {'U': True, 'D': False, 'F': True, 'B': False, 'R': False, 'L': True}
    dimension = dimensionsBySide[side]
    return sorted(
        list(cube.all_objects.values()),
        key=lambda c: c.location[dimension],
        reverse=revertBySide[side])[:9]

After some initial trouble with animating the cube I found a tutorial that helped me in animating a cube by hand. However it seems the right thing to do to apply the locations and set the origins of the individual cubelets to the same common point (the 3D cursor in this case).
While this works when animating the cube manually I can now no longer use the location to reliably sort cubelets. I pondered the idea of attaching custom properties to these objects, but that would imply that I also need to update this data whenever rotating some cubelets. To my mind there is a certain beauty in not needing to keep track of redundant data here and just selecting the desired objects at will. I also looked trough other object properties in the hope that I could find something to sort the cubelets by but had no luck with that.
Simply stated: I desire some sort of property or mechanism to compare objects in a given world location independently of their origins so that I can find the required cubelets independently of previously executed rotations.
For completion here's the code I currently use to rotate a side of the cube that makes use of the cubeletsBySide function:
def rotateSide(cube, side, angle):
    axisBySide = {'U': 'Z', 'D': 'Z', 'F': 'Y', 'B': 'Y', 'R': 'X', 'L': 'X'}
    override = bpy.context.copy()
    override['selected_objects'] = cubeletsBySide(cube, side)
    bpy.ops.transform.rotate(override, value=angle, orient_axis=axisBySide[side])

I'd be grateful for any pointers on this .

Hm - I had some further look and it seems that for an object o I might be able to use the o.data.vertices for this. The MeshVertex.co property seems to hold 3 coordinates, and since cubelets form quite the grid I could maybe just sort using the first of them not worrying about looping trough all or computing in a more complex fashion.

Back in the day to solve a Rubik's cube would pull it apart and put it back together.  AFAIC the gimbal joint in the middle is the key here.  It's our three axes.   Three 3x3 matrices describe the cube.

Alright so what worked for me is this:
For every cubelet the cubelet.data.vertices are all in the same grid cell so to speak. That means it's not important which one of them I take to compare against other cubelets. If it was I could still iterate them and find a min/max/average to my desire.
So using cubelet.data.vertices[0].co works for selecting initial, unrotated cubelets, but it breaks once a cubelet is rotated. This makes sense as the rotation is part of the cubelet.matrix_world rather than the individual vertices being updated.
I've added an exampleVector function encapsulate finding an arbitrary example vector for a cubelet for comparison:
def exampleVector(cubelet):
    return cubelet.matrix_world @ cubelet.data.vertices[0].co

With this my cubeletsBySide function now looks like this:
def cubeletsBySide(cube, side):
    dimensionsBySide = {'U': 2, 'D': 2, 'F': 1, 'B': 1, 'R': 0, 'L': 0}
    revertBySide = {'U': True, 'D': False,
                    'F': True, 'B': False, 'R': False, 'L': True}
    dimension = dimensionsBySide[side]
    return sorted(
        list(cube.all_objects.values()),
        key=lambda c: exampleVector(c)[dimension],
        reverse=revertBySide[side])[:9]

Together with the rest of my code I can now perform the superflip again, which I use to verify that both side selection and rotations are working correctly:
superflip = ["R", "L", "U", "U", "F", "U'", "D", "F", "F", "R", "R", "B", "B", "L", "U", "U", "F'", "B'", "U", "R", "R", "D", "F", "F", "U", "R", "R", "U"]

currentCube = newCube('cube', (0, 0, 0))
shuffle(currentCube, superflip)

The complete code I've written in this context is also here: https://github.com/runjak/2020-06-06.enthusiasticon/blob/master/blender/rotations.py#L56-L64


text:
Will blender 2.8 official realise be able to run on computer with graphics driver that is lower then OpenGL 3.3
I have seen videos on the upcoming blender vision 2.8 and I would also like to expand with blender like everyone. I hope the developers won't let my laptop limits to keep me from developing my skills.
Thank you

nope, but if you are okay with blender 2.79 you shouldn't worry about it

It will not. As stated on the official page, minimum requirements demand at least a minimum supported OpenGl Version of 3.3.
A consensus was reached that this was required to allow supporting all new and upcoming features features of EEVEE viewport. This includes realistic graphics and high visual fidelity, higher viewport performance, better use of resources and take advantage of modern hardware and new graphics cards features, without many compromises for newer hardware.
Unfortunately this means dropping support for older cards and more dated hardware.

For AMD cards, versions prior to HD 2000 series (circa 2007) are no
longer supported
For NVidia cards this means cards older then the GeForce 8 series (G##8000 circa 2010) are no longer supported
For Intel integrated graphics cards you must have at least sixth generation IGP, generally on a i# 2#### processor or newer

Unfortunately if you have hardware older than the above mentioned cards, or that somehow doesn't support OpenGL 3.3 you won't be able to run version of Blender newer than 2.8#. You can try to upgrade your drivers to the newest supported version (unlikely, but some times support was later added to older cards).
You can always run versions from 2.79 and prior.

Hi, nVidia GTX 780 will be fine?

The Mesa Alternative:
I had the same issue.  Tried installing newer drivers (which is always the best option) but the manufacturer's download link was corrupted.  I'll keep checking back, but what do I blend till then!??
Therefore, I needed an alternative.  Enter our old open-source OpenGL alternative Mesa 3D.
To make it happen, either build it yourself or if you're lazy like me, download pre-built binaries.  (The mingw version from that page worked great on my Win7 x64 Intel i3000 graphics card.)
Simply unzip file into your Blender install directory, and viola! :)

If you have an older system doesn't support OpenGL 3.3 now it's unlikely 'upgrading your drivers' would fix it. Staying on to stick Blender 2.79 isn't a good answer because you'll be denied bug fixes and UI improvements.
You either need to buy a new system or switch to Maya or Max both of which have good legacy support for older OpenGL and free educational licenses for students.

You'd suggest using Maya or Max over blender 2.79? I'm not worried about using a legacy version (I still use CS4). If it works, no reason to abandon software just because a new incompatible version came out.


text:
Individual points tranform editing doesnt work when selecting face loops
I am trying to scale an entire object on the faces individual normal axis, by using normal transform origin and the individual origins pivot point in edit mode. This method works fine if I select only a few faces, but when I ALT-select the entire face loop, it stops working, and automatically uses a median point pivot point instead. Pictures attached:

It works when only selecting a few faces

but not when selecting the entire loop. Is there a max number if faces you can select or something? Why is this not working?

The "individual origins" are the median values of "islands", not of faces.  It uses the individual face normals in the first picture because each contiguous selection is an individual face.  In the second picture, the entire selection is contiguous.  Scaling by individual face normal for contiguous selections doesn't make sense, because adjustments to one face affect adjacent faces.  But you can use a checker deselect operation to get every other face selected and do an operation on those.  You will see then how it affects unselected faces as well.

I'm not even sure in which direction you want to scale individually when selecting the whole loop... in the screenshots I see those blue lines, looking like you want to scale in the face normal (which is the local Z of the face) direction. However, on a planar face, the Z dimension is 0. Scaling by x is x · 0 = 0, so scaling in this direction makes only sense if you had a pivot point outside the face like the 3D cursor (and the lines in the first image look like that).

And scaling in all directions with individual origins as pivot points would scale the faces in X and Y direction - but if you want to do it on the complete loop, what should happen to adjacent faces if they are both scaled up or down? Did you really mean scale or move in normal direction? And if you want to scale them away from e.g. the 3D cursor, then you need the 3D cursor as pivot point and not individual origins...

@Nathan that appears to be an answer. Please post it as one.

@TheLabCat My decisions to post as an answer or as a comment are not made in ignorance; they are made on the basis of my experience on this site, as well as my own comfort in whether the detail I am willing to provide is enough to qualify as an answer.  Frequently, the perfect is the enemy of the good on SE, but I want to help people out anyways.  If you feel that what I said is a good answer, please post it as one yourself.

As @Nathan stated in the comments:
The "individual origins" are the median values of "islands", not of faces. It uses the individual face normals in the first picture because each contiguous selection is an individual face. In the second picture, the entire selection is contiguous. Scaling by individual face normal for contiguous selections doesn't make sense, because adjustments to one face affect adjacent faces. But you can use a checker deselect operation to get every other face selected and do an operation on those. You will see then how it affects unselected faces as well.


text:
boolean modifier doesn't work when it should
I want to cut holes in my object using another object to create windows, but when I apply boolean modifier which should work it doesn't. I get these weird lines all over my object and nothing happens(at least not what should happen)
see picture and blend file below:

i think you wanna do this:

delete your boolean modifier on cube.001
add boolean modifier to cube -> choose cube.001 as object
choose fast
hide cube.001 in viewport

to cut out all:
put all in one collection and use this:

thanks that worked

i updated my answer. Please click on the checkmark left of my answer, if it helped you. Thanks.

On top of the issue Chris has pointed out, you should be aware that the top part of your windows have bad topology, as you can see: https://i.imgur.com/tXgW832.png It's not manifold (watertight). That's why the Exact mode is acting up. Fast mode will ignore such things to a degree, but you could end up having to deal with it sooner or later.


text:
Question about memory
A BGE question.
Writing this in order to ask if someone could confirm my confusion.
Lets say PC has 8GB ram and 1.5GB video card.
Lets say I've got a fair amount of stuff as assets stored on layer two.
And lets say some things increase rate of stuff being spawned or added into scene to a certain limited amount.
But which is the moment when stuff starts affecting memory of video card?
Is it already when the stuff is stored on layer two with the total data of the client and the map into which client is loaded into
or does it start affecting when the stuff is being spawned into the main scene where the action is going on?
Many thanks in advance.

You could run a few tests, start your computer, open up your system monitor via Ctrl+Alt+Delete, or however you would on your OS, and then open a few scenes and see what impact it has on your system performance, e.g. what spikes most, GPU, Ram etc.
You could also look into using some resources from this post. It's specific to Linux, but I imagine NVIDIA, AMD, and Intel have similar options for the other OSes.


text:
Annoying selection problem that can't be googled because it's conflated with irrelevant results
For some reason, I don't know how, when I'm in edit mode, my cursor is always a white circle. How do I revert to the more convenient selection mode that's there by default?

Great, thank you for your help!

Press the W (selection mode) key. You will see the selection mode change at the top of the icons on the left bar (the order is Box > Circle > Lasso > Tweak). Keep pressing W to toggle through them. Default is "Box" (meaning you will have to press W 3 times to get back to "normal"):


text:
How do you snap?
In edit mode, I'd like to move one vertex along the y axis until it lines up, perpendicular to the y axis, with another vertex. Is there a way to do this?

Enable the Snap to Vertex option:

You don't have to activate the Snap tool itself, you'll just press Ctrl to snap. Select your vertex, move on Y with GY, press Ctrl to snap to the vertex you want while you point to this vertex:

Great, thank you!


text:
Too many materials! (Help with imported model)
I am very new to modelling, and have no clue what I'm doing; I'm trying to import a model into a game, but the model I'm using has too many materials, with 43 each dedicated to a texture (the game has a limit of 10). I've baked the textures into 3 files, but I have no clue what to do with them. I don't know how to delete existing materials, or add any of my own, and would love any help I could get on this seemingly simple problem.

If you've baked the Diffuse for example you just need to plug the Image Texture node into the Base Color input of the Principled BSDF node

Removing materials
With your object selected, go to the Properties Editor, Materials tab.
Here you can see the material slots of your model, with each slot containing a material.
What you can do to remove all of them is to spam clicking the - button next to the material slots list until you have nothing left in the list:

Making a new material
Once the list is empty, you can click the New button, which will create a new material and assign it to a new slot:

By default, Blender will setup your material with a Principled BSDF — (see Blender Manual). This shader is ideal, among other things, for exporting into modern game engines.
Edit the material
In the Shader editor, add your textures using ⇧ ShiftA → Texture → Image Texture, or by simply doing a drag-and-drop of your files into the Shader Editor.
Now, what to do with your textures entirely depends on the type of texture. Let's say you have a color texture, you can plug it into the "Base Color" input:

If you need more specific setups, you can look at the Principled BSDF manual, or tell us here what kind of textures you have.

Thank you! Worked a charm!

with pleasure! Don't forget to mark my post as the correct answer


text:
I made an object and applied an image texture to it but it won't sohw as it did before
So the texture worked juts fine before but now its missing the image texture and I can't tell why. I appended the object and the texture from another file I worked on before. Here i made a new file. In the screenshot you can see how it looks on the cube (where it perfectly works) and how it looks on the object I want to use. Im not sure what I should tell you. Please ask if you are missing some information.

Have you UV unwrapped your new object?

Jup, seems like Im missing the UV map, thanks so much :D . Is there a way to append the uv map from another blender file as well? Since I already unwrapped it and would rather not do it again.

Not sure - you probably can, but I don't know how - I've never had cause to do it before.

I made the model with ZBrush so I imported the fbx (which has the UV's) again. I also learned that usually blender also imports the uv's of models, I just somehow appended the model (out of many) which apparently hadn't the uv hence it could not append it.


text:
Blurry objects on material preview viewport mode
Suddenly every objects look blurry when I enter the material previwe mode.
I tried reset the pixel filter value, but it doesn't work.
Please help me to figure it out why, and how to fix it !
Thanks for your help!

Hello could you please share your file? Upload and copy paste the URL it will generate: https://pasteall.org/blend/

Does it happen in a new default blend file?


text:
How do I extrude a circle outward
https://youtu.be/Uq4OLSRgSQE?t=202
In this video at 3:20 it says to extrude and when i try it doesn't extrude outwards it extrude forwards and I want it to extrude outwards. How do I do this???

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

Press E to extrude, then right click to reset the new geometry's position. Then press S to scale the geometry outwards. This is assuming the pivot is set to "median point"

It worked. Thank you so much!

since in the video he adds some extra geometry at the top before doing this, it might be best to set the 3D cursor as a pivot point instead (assuming it's already at the center of the sphere). The setting for it is at the top center of the 3D viewport.


text:
Adjust the direction of my 3D texture
I am trying to get a leather texture on my part with the aim of 3d printing it. I am totally new to blender. Got a pretty good result already, but the problem is that it does a displacement for the whole part from 1 direction. So all the vertical parts of the part are good but the horizontal parts are not (see picture 1).

I tried to solve this by working with two vertex groups (one for the horizontal and one for the vertical). This worked for the vertical parts (see picture 2) but it still does not work for the horizontal ones (see picture 3). I have also played with the "direction" option in the displacement function but this still does not work.

Can someone tell me how to adjust the direction of my texture?

Have you tried adjusting the displace texture in the texture panel?

You can solve this with a proper UVMap https://docs.blender.org/manual/en/latest/editors/uv/introduction.html


text:
Bevel end blending
Still very nooby at this, so bear with me.
Are there easy ways to tidy up the end of bevels like this? I'd like to bevel the edge but not the center part.

Looking more for this shape, but with the yawning void filled. Can it be done faster that what I do now, which is to seperate the objects, bevel them seperately, rejoin them and then fill the gaps manually.

Cheers everyone.

I've given an alternative method, but depending on what geometry you actually need it can be done very easily... let's say you don't need that vertical connecting edge and (obviously from your screenshots) n-gons are okay, then simply do only the very first step from the answer @moonboots has given: join the top and bottom vertices with J, then you are already finished.

Oh, I meant horizontal connecting edge, not vertical ♂

You could create this edge with J:

Then this one with the Knife tool:

Dissolve these edges:

Result:

Thank you both for your answers, both methods work perfectly! :)

Make sure you are in Vertex Select mode and Snapping is set to Vertex as well. Then select the vertex going to the back (right in the image) of that non-planar face.

Press GG to enable the Vertex Slide tool and move the vertex to the back (right in the image) along the horizontal edge.

Now press C to disable the Clamp on this edge. You will see the yellow slide line extend to the front. Move the vertex now towards the beveled part.

While you slide it forward, hold Ctrl and move your mouse towards one of the front vertices of the face to snap to it. It is now flush with the top and bottom vertices. Then you can left-click to confirm the action.

This would be enough, if you want the exact mesh like shown in your bottom image, feel free to add these steps:

Select the two vertices for the vertical edge above the bevel and press J to connect them.

In Edge Select mode select the two edges that are missing in your screenshot and press X > Dissolve Edges.

Thank you both for your answers, both methods work perfectly! :)


text:
Best way to create this Streamlined shape and windows?
Good afternoon all,
I'm interested in your takes on the best way to create this nose and cab frame?

Am I better to extrude it from a single cube or use multiple components? I'm not used to fiddling with shapes so streamlined.
Anyone got some steps in the right direction? It needs to have windows as well, which is making it fiddlier for me.
Thanks all. :)

Begin with a cube, cut it in half and mirror, extrude its bottom:

Add edge loops and move them:

Bevel in order to round the edges:

Extrude the windows, etc:

Thank you! :) Thank worked pretty much how I wanted it too. Feel bad for wasting your time with such an easy thing haha Thanks :)

you're welcome, it's not so easy, but planes are worse I think  ;)

You up for a more difficult one? I have one other that I think is even worse to get my head around haha

why not, but create a new question

Its up haha :) See how this goes


text:
Creating simple carved animal heads?
Another very specific question: How would you approach modelling this shape?
I have 0 experience with animal/organic shapes like this so it's a bit outside my wheelhouse.
If anyone with experience would be able to suggest a simple approach for making carved styles like this, I'd really appreciate it.
Cheers.

Hello, draw all the lines you see, extrude, pull the edges, etc

Draw the lines of your shape with some edges:

Extrude the shape, mirror:

Pull the edges that are supposed to come forwards, etc:

That's got pretty much exactly what I was looking for. Thank you. :)
Does it actually matter too much how neat the geo is? I TRY to not use ngons but since everything gets triangulated I've seen people who say it doesn't really matter...

if it doesn't create bad shading or artefacts, it's ok


text:
Best approach, multiple curved carriage ends
Working on a railway carriage and I'm looking for some opinions on the best way to approach the ends?

The roof has a curve running accross it, as well as curved corners on the ends, the sides have a curve on the bottom and the top, though not as extreme as the roof, the windows are on a flat strip in the center. The end also has a boxy roof extrusion with curved edges. Anyone got a quick run down on how they would approach The end sections? Am I better off using multiple different meshes or extuding from one? It's doing my head in a little bit.
Thanks for helping a noob out! :)
Cheers

Begin with a cube, scale it, create 2 loopcuts:

Then delete 3/4 of the cube, give it a Mirror modifier on X and Y, bevel its top and bottom, then create an edge at its side:

Cut off a hole at the front and fill with orthogonal faces:

Bevel this angle (of course you'll need to correct the topology afterwards):

Extrude the top:

Then lower down, merge the vertices, etc:

As the wagon is made of different pieces you could also separate them.

although i am using Blender a few days, i have no idea how you made that...if i mirror a cube in edit mode (or do you mean modifier?) ...i already fail at step 1

@Chris yes I meant a Mirror modifier on X and Y   ;)

ok, thank you for that info. Now...i just used a default cube - no movement at all, added mirror modifier, how do i create that edge? mine looks like this: [1]: https://i.sstatic.net/rXIfl.png ...and since your edit mode looks totally different to mine, i assume i "forgot" to do....what? :D

you first need to delete 3/4 of your cube, then give it the Mirror modifier

sorry, i know i am modelling beginner, but how do i delete 3/4 of a cube? knife tool?

is it possible you just moved the cube in edit mode so that it is completely in positive xyz and one edge is on 0,0,0?

I've edited, create 2 loopcuts, then remove 3/4 of your object

Let us continue this discussion in chat.

@Chris you can join our Discord if you want me to show you  ;)

yes, show me, link to discord?

this one should work:  discord.gg/E6wXbR7A5S

Thank you so much. I was heading in the right direction, just getting more experienced opinions is always helpful. Thank you so much. :)


text:
Creating curves that blend into flat sides?
Greeting all,
I have a reference model here I'm trying to understand (learning as I go) .
I'd like to know how to break down this beautifully curved front section and understand how to blend it into the flat panels on the sides. Curves like this a definetly a weak spot for me so some ideas on how to achieve this shape would be awesome.
Cheers

There are ways to do this in Blender, but the illustrated model was almost certainly made in a CAD software

It's not clear what you want, do you want to redo from scratch the exact same shape?

You could begin with this shape (mirror it):

Move the edges to get that:

Add some edge loops:

Bevel the edge loops to round the shape:

Same thing for the perpendicular edge loops:

Result:

That's a great start - did you inset the faces on the side to provide a new edge loop to tidy up the geo in that last picture?

I've used the knife to extend the edge loops that are on the front


text:
How do you access the TEXT_EDITOR header so you can add an operator?
I'm trying to create a button in the Header of the TEXT_EDITOR but for some reason the button isn't actually appearing in the header when I run the code? I'm not sure why this is happening.
import bpy

def main(self, context):
    text = bpy.data.texts.get(self.text)
    if text is not None:
        text = "exec(compile(" + repr(text) + ".as_string(), '" + text.name + "', 'exec'))"
        bpy.ops.console.clear_line()
        bpy.ops.console.insert(text=text)
        bpy.ops.console.execute()

class TEXT_EDITOR_OT_run_file(bpy.types.Operator):
    bl_idname = 'console.run_file'
    bl_label = 'Run File in Console'

    text = bpy.props.StringProperty()

    @classmethod
    def poll(cls, context):
        return context.area.ui_type == 'CONSOLE'

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

class TEheader(bpy.types.Header):
    bl_idname = 'TEXT_EDITOR_HT_newheader'
    bl_label = 'New Header'
    bl_space_type = 'TEXT_EDITOR'

    def draw(self, context):
        print ('code ran')
        self.layout.operator(TEXT_EDITOR_OT_run_file.bl_idname, icon='CONSOLE')

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

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

if __name__ == "__main__":
    register()
    print ('registered')

I found another article here that seems to be exactly what I'm looking for, but when I attempted something similar with my code, it didn't work. It said that TEXT_EDITOR_HT_header is not a valid attribute of bpy.types so I assumed that blender has since been updated and you can no longer reference headers that way anymore.
I tried reformatting so that instead I was creating a new header and drawing the button, but nothing changes and the print('code ran') bit that I put in didn't run, and I can't figure out how to get it to run.

Result:
You can see the operator button added to the header

Answer:
You were on the right path. The link you shared shows how to add extra items in headers. You don't need to create new header class for that. you can append draw function to the header.

it said that TEXT_EDITOR_HT_header is not a valid attribute of bpy.types

Yes if you type bpy.types.TEXT in console, autocomplete shows that headerin  text editor can be accessed now via bpy.types.TEXT_HT_footer

You can achieve what you are trying with this code. Important code blocks are these 2:
def draw_item(self, context):
    layout = self.layout
    layout.operator('console.run_file', icon='CONSOLE')

bpy.types.TEXT_HT_header.append(draw_item)

Full Code:
import bpy

def main(self, context):
    text = bpy.data.texts.get(self.text)
    if text is not None:
        text = "exec(compile(" + repr(text) + ".as_string(), '" + text.name + "', 'exec'))"
        bpy.ops.console.clear_line()
        bpy.ops.console.insert(text=text)
        bpy.ops.console.execute()

class TEXT_EDITOR_OT_run_file(bpy.types.Operator):
    bl_idname = 'console.run_file'
    bl_label = 'Run File in Console'

    text = bpy.props.StringProperty()

    @classmethod
    def poll(cls, context):
        return context.area.ui_type == 'CONSOLE'

    def execute(self, context):
        main(self, context)

def draw_item(self, context):
    layout = self.layout
    layout.operator('console.run_file', icon='CONSOLE')

def register():
    bpy.utils.register_class(TEXT_EDITOR_OT_run_file)
    bpy.types.TEXT_HT_header.append(draw_item)

def unregister():
    bpy.types.TEXT_HT_header.remove(draw_item)
    bpy.utils.unregister_class(TEXT_EDITOR_OT_run_file)

if __name__ == "__main__":
    register()

Note:
In the Code you have posted, You are not registering the operator.

I thought bpy.utils.register_class() registered the operator? What do you mean that I'm not registering the operator

bpy.utils.register_class(TEXT_EDITOR_OT_run_file) This line is missing in the code snippet


text:
How to eliminate 'stars' on sharp-cornered surfaces
I am modelling the eyeglasses frame and have encountered two places where I have 5-point star in topology, which messes up my lighting even with subsurf set to 2.
First one:

And second one:

I can visually remove them if I set the subdivision level to 4, but I'd like to keep the polygon count in final model to lower number, so I'd really appreciate if you could give some advices on how to remove those stars/minimize their influence on the lighting, and how is it possible (if at all) to avoid those topology problems in the future.
Thanks!

You cannot eliminate stars (aka poles), not on any kind of reasonably interesting mesh, not on anything manifold.  You will need some places where 3 faces connect, some places where 5 faces connect.
What you can do is move where those stars/poles are. The goal is to move those poles to the most planar parts of your mesh-- to places where the faces they are a part of are in the same plane.  Any artifacts from poles will be smaller as the faces approach a single plane; if they ever reach a single, perfect plane, the artifacts disappear.
For a guide to moving 5-poles, I'll just provide an image by Jason Martin at https://topologyguides.com/ :

Since it's related, here's Martin's guide to moving a 3-pole:

That site is, maybe, the only site on the internet that I'd recommend to anyone that cares about topology.
Well, Google image search is okay too.  Not as generalized.

Thank you! In some cases it helped, in others just deleting one of the rays and having N-gon instead of "perfect" topology was the way to go!

@YRSHKHN Yeah, basically what you did was move the pole.  Create a single level of subdivision and apply it, and you'll see that the hexagon you made turned into a 6-pole next to the location of the old pole; its new location is now planar (or, much more planar, depending on if you did simple or CC subdivision.)  Poles and tris/ngons are basically the same problem for subdivision: quads turn into 4-poles, which are fine everywhere; other faces turn into stars, which aren't.


text:
Problem with subdividing an octagon
I found a weird problem - when applying a subdivision (in this case level 2, but it happens with any level) on the octagon, there is a strange pinching happening in two opposite corners.
Before:

And after:

Scale and rotation are applied if this could be related.
I'd really appreciate any tip on how to fix this!

Can you share your blend file? https://blend-exchange.com/

You should add more details about the way your mesh was made in order to get a better picture of your problem. add as many images and information as you can. the more the better.

It is not strange as long as we don't know how you created it... things that could cause this: the edges there have a crease set, the edges are split there, duplicate vertices in this area etc.

try going into edit mode and pressing a to select all then m > Merge By Distance

I can't reproduce the problem, so you must have overlapping vertices or inner faces, please share your file

Thank you everyone for your suggestions! That was a long night and I was too tired to check one of the basic things one should check before posting a question - face orientation! For some reason, half of the mesh was facing the other direction, so I recalculated normals and subdivision started working properly!

Face orientation was wrong, so I needed to recalculate normals. After that everything worked properly.


text:
I don't know how to add background at 2d animation
I don't know how to add background at 2d animation, I tried to export an image but that happens.

Also when I press  F12 for testing, I can't see the image (background)

Please clarify your specific problem or provide additional details to highlight exactly what you need. As it's currently written, it's hard to tell exactly what you're asking.

Next time, please upload and add the images to your question so they don't go lost and visitors don't need to click external links.

I’ve done this before by using the image as a world background, but putting in window vectors instead of the generated coordinates.

Blender being a 3D program, there's not really a concept of 2D background in the 3D rendering. You could theoretically add a 2D background behind the rendered image via compositing nodes, but I guess you'd be more interested to see your background in the viewport as well.
So the solution is to literally add a 3D plane in the 3D space, textured with your background image.
From your outliner it looks like you have added your background as an Empty Image object. This kind of object is not renderable, as it is meant to be used only as reference content for creating assets, not for being actually rendered. You need a mesh object instead.
Turns out there's an addon for importing images as planes. If you've never used it before, go to Edit menu > Preferences > Addons tab > search for Images as planes and enable this addon.
Then, go to File menu > Import > Impage as plane > browse to your image and select it, open the sidebar with N and set the materials settings to Emit. Then you can hit the Import button.
This will create a mesh plane with your texture on it. Move it around the scene however you like.
If you want it to fit the camera, there isn't an automated to do it AFAIK. Just eyeball it.


text:
Blender particle system disintegration effect
I'm following this tutorial.
Whenever I preview the disintegration effect, I see it being done properly and it breaks into pieces of smaller sheets (above). But when I bake or export the animation, I see the pieces clump up into balls (below). Would anyone know how to fix this? I want the pieces to not clump up into smaller balls

It looks like somehow the cloth physics is being altered, possibly because of collision calculation difference.

can you add your blend file (How to add a blend file) or at least a screen shot showing your modifier settings?


text:
Export geo node animations and materials
I created a simple sphere with faces being scaled by distance with geometry nodes.  In the geo node tree, I also applied two materials to the faces.  The material is not animated.
It's not exact, but is based off of this tutorial.  I'm doing something similar, but to the faces.
https://www.youtube.com/watch?v=keKDABQfxQU&t=283s
Is there a way to export this to Maya or Unity with the animated faces and materials applied?

The only way I know is to export this in an Alembic format. But that probably won't help you in Unity either... But I can be wrong.

https://blender.stackexchange.com/questions/57531/fbx-export-why-there-are-no-materials-or-textures

@quellenform I'm able to get the allembic to work in Unity, but this won't hold any material info.  However, based off the link Duarte Farrajota Ramos posted, the solution would be to created uv islands for the different materials and apply them in the other app.  So then now another question arises, how can you uv geometry nodes that are applied to a plane?  Just throwing that out there, but will do my research right now :)

That didn't take too long.  For anyone wondering this same question, here are two very helpful links.  It's also worth noting I'm in 3.0 and looks like 3.3 now has a uv unwrap node.
https://youtu.be/_zXbPRYpi5I
https://youtu.be/tqoIyfKuGK4

@JerryT Sounds good! Could you please write an answer to this and possibly make it without external links (Youtube, etc.). That would be awesome and very helpful for all who have a similar problem.

@quellenform Whoops, noob here :)  Thanks, reposted.

@JerryT Perfect, no problem, welcome to BSE! If your answer to your question led to a solution, please do not forget to mark it as "Accepted Answer" so that the question appears as solved. Well done!

Awesome!  Thank you! @quellenform

Also 100% credit to Bradley Animation for the video in the links above.

Unwrapping objects procedurally:

First duplicate the object
Apply the modifier to the duplicated object
Now go into Edit Mode on that newly duplicated object
Select all faces and either project UV’s or unwrap fully
Go to the UV’d object's Data Properties > UV Maps and rename to something like "Test" for now.
Now select the original object. Go to its geo nodes panel and add the following nodes:
a. Object Info node with the UV’d object as the source. Connect to Transfer Attribute
b. Transfer Attribute node set to Vector, Index, Face Corner
c. Group Input connected to Transfer Attribute
After you connect these nodes it will add an "Attribute" to the Geometry Node modifier.
a. Click the little cross or plus sign to blank out the name and type in the name of the UV map you named "Test" previously.
Then connect these nodes to the group output.
A new "Attribute" field will be added to the Output Attributes rollout in the Geo Node modifier
Type in "UV"
Go to your shader node window and add an Attribute node with "UV" typed for the name.
a.Connect that to your image and your image to the Base Color
Make sure in Geo Nodes under the right panel, Outputs > Attribute is set to Face Corner
To change the texture from repeating go to the image node and change from repeat to clip


text:
The object is transparent, when imported from FBX file
My downloaded object is transparent. How to fix it?
The file
https://i.sstatic.net/HCzzD.png

Hello, I'm voting to close this question because as it stands it's impossible to answer on its own. Please add screens of your interface.

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

In the Material panel, under Settings, choose Blend Mode > Opaque:


text:
Both sides are rendered differently in the mirror

After making one eyeball, I copied the object to the mirror, and the pupil is showing normally.
On the other hand, the white eyeball part shows a different rendering.
Why are the two rendering views different?
Blender is version 3.1.2. Since I'm just starting out with Blender, it was hard to find the cause on my own. I couldn't find a similar issue on the website either.

Maybe flipped normals, which does happen with certain mirrors. Edit mode, select all, Normals -> recalculate outside.

Thanks for your reply. It's my first time using Blender, so I couldn't find the "recalculate outside" menu. I searched the website and barely applied it, but nothing changed. Any other solutions, please? (sad...)

What exactly do you mean by "copied the object to the mirror" ? - It looks as if you might have two eyeballs in the same position.

@Caco Sorry. Here. https://docs.blender.org/manual/en/latest/modeling/meshes/editing/mesh/normals.html

Thank you all. I found the problem. Contrary to what was described in the lecture I was watching, the texture coordinates were linked as generated in the node. I connected this with UV and the problem was solved. It seems that the problem was caused by a mismatch between the versions of my blender and the blender of the course.


text:
Perfect 45 deg mitre ( 22.5 joint cut ) between two objects
This is a precision modelling question which I'm hoping has a somewhat updated answer. Historical suggestions either seemed too complex or haven't worked as expected.
These objects are identical in width and height, and consist of only outer and top faces.
The intuitive approach would be to have the knife snap to the intersections of the two objects ( in top view ), and draw the cut line between these snap points. This doesn't appear to be available in 2.92.
Is there a quick and easy way to accomplish this? Grid snap is of no use, as shown in the maximum close up of one of the intersection points. I've tried all manner of other snap options but I'm either doing it wrong or they refuse to activate.

There are other ways to do this, but here's one that I use a lot when I want this kind of precision.  This will give you a miter cut. It will work for any miter angle. It assumes you have already placed the two pieces how you want them. You can modify vertex placement to get other results.
This technique relies on

Subdividing edges
"Edge" (in this case vertex) slide
Snapping vertices to edges on other objects
The knife tool.

If you  need a refresher on how to use them, see below.  The first part is only a step by step to reshaping the pieces.
Step by Step
This is the best I can do, using 3.1.2:

Set Snapping to Edge and turn off Project onto Self

Select the object that is at the angle.  Cube.001 in your example. Plane.001 in mine

In edit mode, select one of the long edges.

Subdivide that edge.

In vertex select mode, slide the vertex created by the subdivision until it snap to the "outside" long edges of the other object.  (I've exaggerated vertex size in preferences to make the snap point obvious.)

Repeat for the other edge.

Go to top view

Use the knife tool to create an edge.  Type C to enable cut through. The knife tool will snap to vertices, so start at either and go to the other.

You can remove the three "waste" vertices giving you the bevel on that beam.

Switch objects and do the same for the other beam.

At this point you could join the two objects; select all of the vertices; and merge by distance to get a single object.
Tools Used (all in edit mode)

Subdivide edge

Select the edge to subdivide
Type Ctrl–E to bring up the Edge context menu
Select subdivide from the menu.

Edge Slide

Select the vertex to slide
Type GG to start the slide.
Move the vertex to where you want it.
Type Enter to accept the slide.
(Because we're using snapping, a circle will appear when the vertex is near an edge.  If you accept the slide at this point the vertex will jump to that edge.)

Snapping is enabled with the snap menu:

To toggle snapping on or off, type Ctrl–Tab or push the button with the magnet icon.
For this, we want Edge snapping enabled.
To avoid complications, disable Project onto Self

Knife Tool

Type K to start a cut.
Type C to enable cut through. This will continue the cut down the side saving having to do extra cuts.
Move the tool to a vertex.  The green box will have a red outline if the tool has selected that vertex.
Left click to start the cut
Move the tool to the other vertex.
Left click to finish the cut.
Type Enter to finish using the knife tool.


text:
infinite ocean plane
I need to render some stills of ships at sea. I've played with the ocean tool for literally days and the results I get are pretty terrible. The rendering time goes up so high it becomes impractical, and I get striping/banding whenever I do any kind of repeat. I just want a simple infinite ocean plane like I used to be able to do in Bryce 5 back in the day on a Windows 98 machine. I don't want to see any striping/tiling. How can I accomplish this.
Also, can't use cycles for this as I am automating it with a python script and the 3DS models I import in the script do not have materials/textures that work with cycles (and I have 100s of models).

I don't think that trying for 'infinite ocean plane' is a good idea. I think you should try to restrict your scene to a small area, enough for your ships, and position the camera so your renders hide the boundaries.

unfortunately for my use case that isn't possible. We are generating open sea imagery where there are no landmarks or harbors etc in sight for an ML application.

Then I guess you'll have to cheat. I've given a quick look at ocean questions on this stack, maybe those could help: https://blender.stackexchange.com/questions/92570/creating-an-infinite-ocean-looping?rq=1 or https://blender.stackexchange.com/questions/17787/avoiding-a-tiled-looking-ocean-simulation for example. Else there seems to be many questions about ocean, you're likely to find something helpful.


text:
How does one continuously draw straight lines in Grease Pencil 2.8?
When I select the Line option in the Shapes pull-down menu inside Grease Pencil 2.8 I can only draw one line at a time at the moment.

alt key only works for horizontal and vertical line. I'm still looking for straight line with an angle. Hope it helps you a bit ;)
Press 'W' to select which path you want to draw (line, rectangle or circle)


text:
Registering classes in Blender 2.8
Can you please tell me how to remake it for Blender 2.8x version?
def register():
    bpy.utils.register_module(__name__)
    bpy.types.INFO_MT_file_export.append(menu_func_export)
def unregister():
    bpy.utils.unregister_module(__name__)
    bpy.types.INFO_MT_file_export.remove(menu_func_export)
if __name__ == "__main__":
    register()

see https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API/Addons#Registration

There is two things to consider. First, API changes have been made, and one of the decisions was to remove the register_module() and unregister_module() convenience functions. The code below is an excerpt from the more detailed Release Notes of Blender 2.80 (https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Python_API/Addons#Registration):
classes = (
    FooClass,
    BarClass,
    BazClass,
)

def register():
    from bpy.utils import register_class
    for cls in classes:
        register_class(cls)

def unregister():
    from bpy.utils import unregister_class
    for cls in reversed(classes):
        unregister_class(cls)

Second, the INFO_MT_file_export has been moved to TOPBAR_MT_file_export. So your code should be this in the end:
__classes__ = (
    list_of_classes_you_have
)

def register():
    for c in __classes__:
        bpy.utils.register_class(c)
    bpy.types.TOPBAR_MT_file_export.append(menu_func_export)
def unregister():
    for c in reversed(__classes__):
        bpy.utils.unregister_class(c)
    bpy.types.TOPBAR_MT_file_export.remove(menu_func_export)
if __name__ == "__main__":
    register()


text:
Wrong shadow on the mesh? (bl nodes)
When I cast a shadow on my NPR model, I found that there were always some areas of bump that would not receive the shadow, So I seperate the part of the mesh that went wrong. As shown in the picture below, there is one area in the middle that does not receive the shadow. Basically, I use a plane as a shield, and use the sun light to cast shadow in the node. If I don't use nodes, the shadow is fine, So I'm sure there's something wrong with the shadow of my nodes setting. Who can tell me what I did wrong? I will upload the .blender file soon

Here's a simple solution:

Your shadow is working correctly. The problem is that lighting in blender internal/GLSL has several parts to it. Shadows (cast by other objects that block light sources) are one part, separate from shading (an object getting darker where it faces away from a light source). In other words, using just the "Shadow" output of the lamp data node will allow other objects to cast shadows on the material, but not allow the object to cast shadows on itself.
The bright spot in the middle of the shadow was there because shadows work by projecting the light-blocking mesh onto the shadowed mesh. The protruding nose on your shadowed mesh was shielding some of it from being touched by that projection; you could say it was like an anti-shadow. If this seems ridiculous to you, you may enjoy the cycles rendering engine.

Thanks to @dixiepig, your answer made me clear: light shadows only work on surfaces with normal angles greater than or equal to 90 degrees. If the Angle between normal and light direction is less than 90 degrees,the face's color will be controlled by the value of the light direction * surface normal direction. As I don't want to cast shadows on the concavoconvex parts of my lips when no other object casts a shadow, which will broke the look of the animated character, finally my solution is: allow the object to cast shadows on itself, but change the normal of
some particular area such as lips, now it seems great for me.


text:
Why Geometry's Tangent are difference from Tangent node?
According to the document, geometry node's tangent is surface tangent in world space. And tangent node is from a manually created UV Map for full control when use UVMap. They output difference result to me.

In my understanding, tangent inherently associated with uv, so the tangent node output result is right. I just wonder what exactly is the geometry's tangent to. Can anyone explaning it to me? Thanks

Per your link:

Direction Type
The tangent direction can be derived from a cylindrical projection
around the X, Y, or Z axis (radial), or from a manually created UV
Map for full control.

Geometry -> Tangent is giving you the same output as the Tangent node set to Radial Z.

Nicely illustrated


text:
Make all around rounded object from curve
I'm trying to model a sculpture ad I've tried using meshes and extruding but I don't have enough knowledge to do it that way yet since I am a beginner. Now I'm trying to use curves to trace it. I've traced the outline but I don't know how to make a mesh out of it because I need it to be round and if I extrude the curve I end up with flat face on the Y axis.
 and . Does anyone know how I can make the sculpture out of the curve? Or does anyone know another easy way to model this?

You can draw its profile with as few vertices as possible:

Extrude:

Give it a Subdivision Surface modifier:

Cut in half, give it a Mirror modifier, add edge loops to sharpen some edges, move some edges to round some parts:

Edit: From your current topology, if you want to round the shape and sharpen the edges you need to move some edges and add support edge loops:

Thank you so much!!!!!!!!

Hello! For the past few days I've tried modeling this sculpture at least 5 times from scratch and I'm still failing. The topography ends up all kinds of crooked and weird. Would you mind sharing with me your file or maybe explaining a little bit more the steps after the mirror modifier? I'm having a lot of trouble with making it look actually round.

it will look round if you give it a Subdivision Surface modifier, and to keep some edges sharp you need to add support edge loops

please share your last attempt so that I can take a look to what you've done: https://pasteall.org/blend/

I have my second attempt saved but I didn't even save the following attempts because they turned out worse and not saving forces me to start from scratch again and practice more. In this attempt, I already applied the subsurface modifier and did a limited dissolve to lessen the number of faces (I plan to use the model in a game so I try to keep things as low poly as possible). https://pasteall.org/blend/44ddae1ea5da4f84bd76a3ada3beac08

why is the topology so bad? Don't apply any Subdivision Surface unless you're satisfied and unless you really need to, and any way always keep a version with the Subdivision unapplied. But here the topology looks like if you've used a remesh tool, why did you?

The topology is wonky because I've dissolved some faces because I need the model to be low poly. But regardless of that, I don't know how to make it look cylindrical. https://pasteall.org/blend/9f08241e07ed4dcb947bd4c2c2f70bc7 Here is an attempt I worked on since I replied to your comment. The faces still look flat on the sides. I don't know how to fix it :( I'm sorry to bother you this much but I'm genuinely at a loss.

I've edited my answer, I hope it helps

Thank you so so so MUCH!!!!!!!


text:
How Can I Curve My Object Like In The Reference Provided

I'm using an array modifier for the object and i need to curve it like in the reference. I'm not worried about the pattern on the end, I just need to curve my existing object.
Here's my blender file

Create a circle curve and keep only one half (select 3 vertices and Delete > Segments):

Extrude to get this shape, rotate in Edit mode to align the way you wan, put its origin at its geometry:

Put your object at the same position, give it a Curve modifier, choose the curve as Curve Object:


text:
Not Getting the Result I Need With the "Object Offset Array Option"
I'm attempting to make a revolver cylinder following this video.
https://www.youtube.com/watch?v=J0ZISNcC6kM&t=262s.
The problem is occurring when I change the array modifier to object offset rather than relative offset. They should be of the same scale and be in the same position, but instead they're scaling down and moving toward the center. This method worked for me previously on the same project, but I decided to restart because I realized the cylinder was in the shape of an octagon instead of a hexagon.
If anyone can give some help It would be greatly appreciated.

Select RhinoCylinder Apply Scale and Rotate in 60 deg ...

Apply the scale of your RhinoCylinder object so that it's 1:1:1, rotate it 60° on Y (this is what he's doing with his empty at 4:10):