text:
Set keyframe gets distorted after i reproduce it
So, basically, my problem is that I set a pose and then set it as a keyframe, but for some reason the elbows, tail, antlers and ears get distorted and I don't know what to do anymore, did I touch some setting i shouldn't have of?
Let's say I wanna move my tail, I leave the frame and when i return to it it's all curled up and I don't know why, I even tried not setting the whole character as a keyframe and that bone alone and it's all the same. Please help.
Today I tried to go to an auto save file and it was just fine but when i clcik on set keyframe > whole character the problem occurs again and it's never happened before, all my other models are fine as well.
The first picture is what it looks like when I first set the whole character and the second one is the after.

Here's the link to my file https://drive.google.com/file/d/1Goh9bCDoRaWhDmWPrT5CDM-QKEq-v3_i/view?usp=sharing

anyways so, indeed I had touched something, I don't remember what exactly, but when i set blender to factory reset it was all fixed.

You should take some good practices when animating with Rigify. Assuming your character isn't 50 ft tall, scale it properly. Have your character stand at world center. Since your character is digitigrade, adjust your ik feet bones to stand also at world center. Then Ctrl+a.


text:
Python print object volumes with the 3D-Print Toolbox
Using the 3D-Print Toolbox add-on you can obtain object volumes. I have a lot of objects in my scene that I would like to print the volume value from and I was hoping I could do this through python. When I manually click on the Analyse -> Statistics -> "volume button" nothing shows up in the info panel where usually a new entry shows up after an action in the blender UI.
I would highly appreciate any ideas or feedback!
Alex

If you look at the source code for the addon, all that operator is is a wrapper for the bmesh.calc_volume() function:
# from the addon
bm = mesh_helpers.bmesh_copy_from_object(obj, apply_modifiers=True)
volume = bm.calc_volume()
bm.free()

So you could probably just write something like:
import bpy
import bmesh

objs = bpy.context.selected_objects
for obj in objs:
    mesh = obj.data
    bm = bmesh.new()
    bm.from_mesh(mesh)
    vol = bm.calc_volume()
    bm.free()
    print(vol)

Navigating into the add-on's folder you can find the function under operators.py > MESH_OT_print3d_info_volume

from object_print3d_utils import mesh_helpers
import bpy

context = bpy.context
scene = context.scene
unit = scene.unit_settings
scale = 1.0 if unit.system == 'NONE' else unit.scale_length
obj = context.active_object

bm = mesh_helpers.bmesh_copy_from_object(obj, apply_modifiers=True)
volume = bm.calc_volume()
bm.free()

print("volume: ", volume)

i used this from simplifying the existing code:
from object_print3d_utils import operators, mesh_helpers
print(str(mesh_helpers.bmesh_copy_from_object(bpy.context.active_object, apply_modifiers=True).calc_volume()/(operators.get_unit(bpy.context.scene.unit_settings.system, bpy.context.scene.unit_settings.length_unit)[0]/bpy.context.scene.unit_settings.scale_length)**(3))+" "+operators.get_unit(bpy.context.scene.unit_settings.system, bpy.context.scene.unit_settings.length_unit)[1]+str("³"))

As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.

How is it unclear?
Perhaps it needs instructions?
Select your object and run this script from the scripting workspace.
Also, this code stands on its own without any add-on scripts.

It uses internal calc_volume function from bmesh. You can replicate it like this:
import bpy
import bmesh

objs = bpy.context.selected_objects

for obj in objs:
    me = obj.data
    if obj.mode == 'EDIT':
        bm = bmesh.from_edit_mesh(me)
    else:
        bm = bmesh.new()
        bm.from_mesh(me)

    volume = bm.calc_volume()

    print(volume)

source: Stack Exchange

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

sort: votes


text:
How to apply Toon Shader into texture material
I have watched a YouTube video about Toon Shader that use diffuse and Coloramp node to manipulate color and sharpness of the object's shadow:

Then I have a penguin model with texture painted in Substance painter:

Question: How do I apply the Diffuse and ColorRamp node into the Penguin's material so I can manipulate color and sharpness of the Penguin'shadow, but also keep the base material as before
YouTube video of the Toon Shader: https://youtu.be/yjJWEsjR79Q

So you want to preserve the PBR qualities of the material (normal, roughness, etc...) but just be able to better control a "toonish" shadow cutoff?

Yes sir, that's exactly what I want

There are a few ways to accomplish something like that, each with different end results - I guess the best question is do you want the end result to look "toony", or do you just want better (somewhat realistic) control over the shadow?

Since there are a few ways to do this, with somewhat wildly varying results, I'll just start with this example and see how well it goes.
Because you are using an Image Texture for your BaseColor, what you want to do is capture the shadows from a Diffuse BSDF (clamped with a ColorRamp), and then multiply those "shadow" values over your original BaseColor. For added detail, you can connect the Roughness, and Normal (or any combo of the 3) from the appropriate image textures (or Normal Map node for the Normal) to the Diffuse BSDF as well (not shown here):

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


text:
Is only Blender 2.91 for Mac so buggy
contrary to Blender 2.8 Blender 2.91 is very buggy. Each time my mac goes to sleep mode Blender crashes when waking up. And sometimes even my files can be loaded any more, it simply crashes. Will there be updates soon?
KR Thomas

blender should not crash, but if you are experiencing reproducible crashes then you should report it so it can be fixed. See here also

Yes. Apple dropped OpenGL support in favor of their metal engine which needs to be implemented and maintained. I'd suggest switch back to 2.83... or try any linux distro.


text:
How do i smooth specific edges that went sharp when i edited a mesh?

I'm editing a mesh from a game, I'm not sure how to edit it without a lot of the edges getting all sharp the moment I move things out of its original place, and i've looked everywhere and couldn't find an answer that didn't say to just shade smooth or simply can't be applied here. how do i smooth the specific spots that have been borked by me trying to edit it???

In edit mode, select the edges you want to clear sharps from, hit ctrl+e, and select clear sharp

Hello :). Just to add - shading is set per face. So you can select your faces and go Face > Shade smooth


text:
Rigged a hand model, flipped it, and now it isn't deforming correctly. What should I do?
So I was working on a character model, rigged it, and it worked fine. But I noticed that I had the hands backwards and tried to flip it. Now, it's not deforming properly.

The mesh didn't have any weight-painting before or after I flipped the hand, so I don't think that was the issue. Also, the character model is made up of several different meshes, not just one. I'm trying to make a drawing mannequin.

Looks like a weight paint or vertex group issue. Would you mind sharing your file so that we can have a look at it? https://pasteall.org/blend/

Sure! Here you go:
https://pasteall.org/blend/2e3036647a524f4c8f20c7791de42ee3

And here's the original, unflipped file for reference: https://pasteall.org/blend/eabffcc5a0474b6ca0f83a9037f13ddc

Select all the hand objects in Object mode and press SY-1, select all the hand bones in Edit mode and press SY-1 and you're good:

Awesome, it worked! Thank you so much!


text:
Why are my bones deforming incorrectly?

I just don't understand why the armature on the left is deforming correctly, but the one of the left isn't. Why is this happening? What can I do to fix it?
Here's the blend file:
https://pasteall.org/blend/cfa2bb7101fd41368a31e2141ac54982

I don’t know why the one on the left is deforming correctly, but the one on the left isn’t, either. In fact, even if we were talking about the one on the right, the fact that there is one that works correctly does not tell us anything without examining the blend file, thus being a red herring detail that only makes the question seem more complicated.

The meshes don't deform how you expect because their weights aren't right.
The better question is, why aren't their weights right?
Because you autoweighted meshes with backwards normals:

When they get autoweighted with backwards normals, the autoweight algorithm thinks, "Okay, whatever you do, don't weight the vertices to any bones that are outside of the mesh!"  Like it should.  And it uses your normals to determine what is the inside and the outside of the mesh.  And it weights them to everything but the bone that you thought was inside them.
I saw that by enabling "face orientation" on the overlays dropdown.  Everything blue has "properly" facing normals; everything red has backwards normals.
You can recalculate normals by selecting all of the inappropriate faces (or vertices) in edit mode and use a "recalculate normals" operation, ctrl n for me.  When we do that, and then repeat our autoweights, we get deformation that is expected:


text:
Origin set to geometry automatically after P separate
Any suggestions? Is it me that need it as a standard "feature". I laugh at me as expect logical or negative logical blender implementation but this is something between.

there doesn't seem to be this option when you separate but once you've separated, if you select all the parts and right click > Set Origin > Origin to Geometry, it will do it for all the selected objects

The result is quite different as it moves geometry to origin of the origin object that separation was done from.


text:
Fluid simulation render works in viewport, but fluid is missing in image render
Fluid Simulation render works in viewport, but will not render the same.
The viewport produces the image I am trying to capture, but whenever I try to render an image, the fluid is missing. All the objects are visible to both the viewport and render engine.

If the name of you water input is [Sphere] it may have it render capability turned off in the outliner.  Please turn on the render setting in the outliner.  That  is the one that looks like a camera.

If the name of you water input is [Sphere] it may have its render capability turned off in the outliner.  Please turn on the render setting in the outliner.  That  is the one that looks like a camera.

The object labeled LiquidSim has all of the simulation objects in it, and the hidden sphere is just another lighting source.   --Blender file Link: https://drive.google.com/file/d/13BVFpDIG36NdNXH8lS5pKf6WtCqB8B3u/view?usp=sharing


text:
How to make objects attract/stick to a single object
I'm kinda new to blender been using it for a little while now,but was wondering how I could make objects attract/stick to an object (one single object) i have that will be the center of a giant ball of junk im making. would the magnetic force field work? I'm going for a result to the video game Katamari damacy

Yes Force Field with a negative Strength value seems like a good idea

thank you for the help


text:
Interrupt script repeatedly using Application Timer
Dumb Summary: If I wrote the following horrific code and ran it...
import time
import bpy
def blink():
    c = bpy.context.preferences.themes[0].view_3d.space.gradients.high_gradient
    t = time.time()
    c.g = t % 1
    return 0.2

bpy.app.timers.register(blink)

...all my 3D viewports would pulse from ~black to green forever. Would there be any way to stop this, other than quitting Blender?
Actual Problem
I find many of Blender's theme colors rather confusing: both the hierarchy and the naming makes little sense. So, instead of going through the User preferences GUI one at a time, changing and breaking a color, I wrote a script to change every color, one at a time, to hot pink, logging the theme name with each. This script uses an Application Timer via bpy.app.timers.register() so that the UI can redraw/react to eacj color change.
My intention was to let the script run until I saw the color I wanted change, and to fire a quick Ctrl+C at that point, and to look at the log to see the name of the color that changed. But that doesn't work. I can't find any way to kill the script after it has been set in motion.
Now, my script is well-behaved and the function eventually returns None and stops...but how could I stop it early?
For the curious, my script for making parts of the UI blink hot pink is:
import bpy
import mathutils

test_color = mathutils.Color((1.0, 0.0, 1.0))
theme_colors = []

def crawl(object, path):
    for name in dir(object):
        if name in ['bl_rna', 'rna_type']:
            continue  # Skip meta-properties that cause infinite loops
        path2 = f'{path}.{name}'
        try:
            value = getattr(object, name)
            if isinstance(value, mathutils.Color):
                theme_colors.append({'path':path2, 'obj':value})
            elif value.__class__.__name__.startswith("Theme"):
                crawl(value, path2)
        except AttributeError as e:
            print(f"Error accessing {path2}, skipping: {e}")
        except Exception as e:
            print(f"Unexpected error on {path2}, skipping: {e}")

last_color = None
def modify_next_color():
    global last_color
    if last_color is not None:
         last_color["obj"][:] = last_color["orig"]

    if len(theme_colors)==0:
        print('done!')
        return None

    color = theme_colors.pop(0)
    color_value = color["obj"]
    last_color = {"obj":color_value, "orig":color_value.copy()}

    print(f'{color["path"]} was {color_value}')
    color_value[:] = test_color
    return 0.2

# Find all theme the colors
crawl(bpy.context.preferences.themes[0], 'theme')

# Kick off the party!
bpy.app.timers.register(modify_next_color)

The function should check a global value and quit if it's true,  then you only need to register a hotkey to change that value

Why not use a modal operator ?

you can catch the Ctrl+C in Python (replace the sys.exit(0)). Set the timer interval to None (the 0.2, use a global variable) or just call bpy.app.timers.unregister(blink) to stop it.

@Blunder That's a functionally-valid answer. Note that on macOS it only works if you've launched Blender from the Terminal, and issue the ctrl+c there, not within any area of the Blender UI. Care to make that a full-fledged answer, not a comment?

You can catch the  Ctrl+c (SIGINT, signal interrupt) in Python with a signal handler.
In the handler you can either call bpy.app.timers.unregister(blink) to stop the timer:
import time
import bpy

import signal
import sys

def signal_handler(sig, frame):
    print('+++++++++++++ You pressed Ctrl+C! +++++++++++++')
    bpy.app.timers.unregister(blink)     # <--- stop the timer

def blink():
    c = bpy.context.preferences.themes[0].view_3d.space.gradients.high_gradient
    t = time.time()
    c.g = t % 1
    return 0.2

signal.signal(signal.SIGINT, signal_handler)
bpy.app.timers.register(blink)

Or you use a global variable to store the timer interval and set it to None in the signal handler to stop the timer:
import time
import bpy

import signal
import sys

timer_interval = 0.2

def signal_handler(sig, frame):
    print('+++++++++++++ You pressed Ctrl+C! +++++++++++++')
    global timer_interval
    timer_interval = None   # <-- stop the timer

def blink():
    c = bpy.context.preferences.themes[0].view_3d.space.gradients.high_gradient
    t = time.time()
    c.g = t % 1
    return timer_interval   # <-- call timer again in x seconds

signal.signal(signal.SIGINT, signal_handler)
bpy.app.timers.register(blink)

Note that on MacOS and Linux it only works if you've launched Blender from the Terminal ($ ./blender &), and issue the Ctrl+c there, not within any area of the Blender UI.
On Windows you need to toggle the System Console window first if it's not open, then run the script and issue the Ctrl+c there to stop it.


text:
What Bézier animations can be safely exported to glTF?
Blender supports Bézier keyframe interpolation:

glTF supports "Cubic Spline Interpolation". The documentation on this is insufficient for me to understand exactly what they mean. (Are the in-tangent and out-tangents scalar distances in time? Rotation angles of the tangent?)
Currently (Blender 3.2.1) exporting the above animation to glTF with "Always Sample Animations" unchecked results in a runtime animation that is similar to what we see when we re-import the glTF back into Blender:

Is this a bug in the glTF exporter? If so, I'd be happy to dive in and try to help fix it.
Or, is this a known limitation of the glTF representation of animation? If so, what tangent adjustments in Blender are "glTF-safe", and what tangent adjustments must be avoided?

tl;dr
You need to use Blender 3.3 and I believe the curve is "glTF-safe" if the handles are evenly spaced along the X-axis ie. they divide the interval between the keyframes into thirds.

Details follow.

About how glTF tangents work: The in-tangent and out-tangent in glTF are just the left-hand and right-hand derivatives with respect to time of the curve at the keyframe.
The glTF exporter does indeed export these wrong in 3.2, but a recent PR (merged two days ago) may have fixed this. So first of all you need to use 3.3 alpha from https://builder.blender.org. If all is well, both the value and the derivative should match at the keyframe points.
In glTF, these four data points, the value and the derivative at both keyframes, uniquely determine the curve at all times in an interval. But not so in Blender. For example, look at the below picture of two curves that differ only in the position of the selected handle.

As you can see, despite the slope of the highlighted line being the same, the right one is more "humpy" in the middle. This means even if the values and the derivatives in the glTF are correct at the keyframes, it doesn't follow the rest of the curve is correct. Blender's curve depends on six parameters, not four, so in general conversion to glTF will be lossy. (Basically Blender does cubic interpolation in both X and Y directions, while glTF does only the Y direction.)
Which curves can be exactly converted? Based on a calculation I did a few years ago, a glTF curve exactly converts to a Blender curve where the X coordinates of the handles are 1/3 and 2/3 of the way along the interval, so this form (pictured in the tl;dr) should also convert exactly to a glTF curve. Be warned: this is a theoretical calculation, I have never tested it, it may be wrong :).
PS. This is only one of many, many reasons a Blender curve cannot be exactly converted to a glTF curve naively ie. without sampling. This is why "Always Sample Animations" is on by default. If possible, prefer to leave it on; you will avoid these kinds of problems.
PPS. The glTF importer does not support cubic spline curves at all; it just throws the tangents away, never setting the handles. So don't bother trying to use the importer to check if the exporter is correct.

Thank you for this, on multiple fronts. I had no idea the roundtripping didn't work; that's clutch information. I'm working to derive the reverse math now (which could also be used to fix the importer), and your point about 1/3, 2/3 totally lines up with what I'm experimentally seeing. There's likely an accept marker coming your way.

FWIW, my own experimentation (also not provably correct) confirms that the curves created by the glTF cubic spline interpolation formula can always be represented by a cubic Bézier with handles always placed 1/3 and 2/3 between the keyframes. The answer I link to there provides the formulae to derive the Bézier control points from the glTF tangent values.

Yeah, that's the same formula I got.


text:
Weird View in Blender Render view, black object in Object while moving, transparent render, Eevee
The problem is this: In the render view it seems that a kind of shadow of the object remains in the object itself when you turn around the object. It's dark gray. Materials and lights stop working.
After I press f12 the image is rendered but the object is rendered transparent.
What can I do?
I have already completely reinstalled Blender.
https://gyazo.com/162b9c83c187ada0c840f3ec57b1d238
And after moving it a bit:
https://gyazo.com/1a82380907ab00fb1215f805229acc19
And the render:
https://gyazo.com/b895d9fd28b06e82e91edb0beb3bda84

This is a problem with the new AMD drivers. You can either degrade them, but i recommend something else. Go to render setting, then find Performance --> High Quality Normals. Enable it and the problems should be gone.

You saved my day, my week and everything else.. Thanks a lot !!

No problem, this is a thing that is very common today


text:
Sheep It not launching
I have downloaded the newest version of Sheep It from the website, but when I launch the exe file (Im on Windows) it says "Extracting __%", and when it finishes extracting it closes and does not do anything. If I go into Task Manager, I see "SheepIt Renderfarm client wrapper" as a background process.
How do I fix this? I have a 64-bit OS.

Questions about external utilites aren't likely to be answered here, however I assume you've seen the very bottom answer on the FAQ page of the web site at https://www.sheepit-renderfarm.com/faq.php ?

I havent, actually, thanks a lot

@JohnEason I don't have that folder

Can't help in that case. I've never used Sheepit. Try asking on that web site.

Thanks anyways and have a happy new year!

Sorry I couldn't help further. Have a good one!

I had the same issue on all 3 of my machines.
This is the solution I found; all you have to do is delete the config file located at C:\Users should be called (.sheepit.config). Then it should launch normally.

First of all, having that file in C:\Users is absurd, as that is the folder that stores all users, so you don't generally put anything into it. Second of all, I don't have that file at all... and yes I have searched for it.

@HighElfWisard Rather oddly, I just read your post and agree that it is absurd. However I've just found it in C:\users. Well actually - in my useraccount, but not in a subfolder of it.  Bizarre! No sarcasm intended btw.

It's 100% empty except for User account folders for me. Might be due to me uninstalling it, as I have found a good solution: Google Colab.


text:
Some Particle Systems glitching for unknown reason only in render
I recently created an animation with 4 particle systems and some force fields. It starts out correctly, but at ~frame 60 one of the particle systems starts glitching like this:
Frame 65

Frame 66

Frame 67

Later this happened to the blue and white particle systems as well. I have attached the full 630 frame animation and the blend file. Sorry that it is in the video sequencer screen.
Video
Blend File
All 630 Frames

I can't reproduce your issue ... so I would say for two reasons

Enable Output Properties > Output > Image Sequence > Overwrite
or try under Particles Properties > Cache > Delete All Bakes and Bake All Dynamics again

It's not the image sequence that is giving the error, as it is showing up during the render process as well... As for baking, Is there a way to bake all 4 particle systems at once? but thanks anyways.

Since Ovewrite was disabled there could be chance there left some old images, but OK. For Bake - that is what I wrote "Bake All Dynamic" button bakes all at once. I suggested delete all bakes since there could left also some mismatch.

I have deleted all previous images from the render folder. As for the "Bake all Dynamics,", thanks, I didn't know this existed. Do you know any ways to approximate the size of the bake if I bake it onto my drive? I don't want it to take up system memory.

I'm not sure if I understood ... if you want to save cache on disk enable "Disk Cache" it will create folder in a file directory ... if you are asking how to make saved files smaller use Compression (Light/Heavy) bellow ... or what are you asking for?

I was just worried that Bake All Dynamics could only save to memory... That wouldn't go well for me...


text:
Is there any function that allow us to clone mesh or a kind of stamp tool?
I am developing a pair of shoes from a standard template, which already has 2 sides of shoes. I have edited the right shoe, but hasn't done the left shoe yet. So, I wonder if there is a way that allows us to copy the shape I have edited in the right shoe to be on the left shoe without manually edit it once again? Both shoes are in the same object, but different vertex groups. Please advise and thank you so much!

The proper way to do this is to use a mirror modifier, probably with a target for the modifier to indicate the plane of reflection, and to use techniques that allow the mirror modifier to mirror vertex groups: .r and .l suffixes on any groups to be mirrored, and .r and .l versions of vertex groups on the mesh, even though one side's groups are unpopulated.

@Timaroberts That better?

Thank you!! will try with all the options you suggested and will let you know!

With your object selected, you can press Shift + D to duplicate it, and then Ctrl + M as well as a letter denoting your axis (X, Y, Z) to mirror the object along that axis. Foe example to copy a shoe and Mirror it along the Y axis, I would do Shift + D (Duplicate) and then Ctrl + M + Y (Mirror on Y)


text:
export image slices of model for resin printing
How can I export individual images of a model for daylight resin printing.
Basically slicing the model into layer images.
The idea is to use Arduino to display each image on a LCD for a few seconds to cure each layer of the resin before moving up for the next layer.

What's wrong with a standard slicer like ChituBox? It can export in many formats including B/W jpg.

Thanks Benus, I got Chitubox and still in process of installing it on linux. Could be that I'll have upgrade. I found slic3r but it just doesn't what to open. So, still in progress

Also take in consideration, I'm running 32 bit


text:
Why is it impossible to achieve perfect curve offset in Blender
I have experimented with many methods of curve offset myself and have also used many node groups created by experts, but I am unable to accurately offset text curves perfectly. The ideal curve offset is similar to that in Illustrator. Currently, the most mature method I have seen is this curve offset method, but it still cannot solve the problem of overlapping points. Can we clamp these corners according to the distance between points

https://obsidian-data-1326798899.cos.ap-guangzhou.myqcloud.com/202412311027663.blend This my test file

It took me weeks to figure out a good offset algorithm in c#, it became so wildly complicated that doing it in geonodes would be a project in itself.

Is the code level already quite complex, and it's almost impossible to perfectly implement it with geometry nodes

It's just a hard algorithmic problem and nodes get in the way when solving hard problems, in particular the lack of a while loop and strict functional paradigm.

@DanielMöller tell me if I'm missing something, the way I would approach this is to calculate the offset for each point of the curve (there's a simple formula for this to counter cross-section deformation depending on angles), then for each segment (can convert to mesh temporarily and do for each edge) check neighboring points offsets dot the axis defined by the segment/edge. Then you can calculate what factor t of the entire segment the offsets will move and calculate a factor to make that sum up to 1 - that's the limit. Find the maximum limit of the spline. If lesser than required offset

...scale then don't worry about it and move all points. Otherwise reduce the offsets to that limit, merge point by distance (merge the two points that just forced clamping and just connected), and repeat.

Perhaps you could separate the spline around concavities, as in those places the points will never merge, and this would reduce the number of steps.

Related post ? Reduce text width to 0 (internal wire)

@MarkusvonBroady, after offseting segments, some loops will appear, you have to find the intersection point where the loop can be cut away. I used "is this segment inverted" as a criteria to find these loops, but a loop can contain one or more segments (arbitrary).  But there are more special cases, loops appear on the inside of curved segments, but inverted segments may appear in other places needing different treatment. Maybe there are many tricks with geonodes that can be used to avoid the calculations.

There is also a decision factor for some treatments. I checked Autocad offsets and GIS sofware offsets and they have different decision for some special cases (the most troublesome cases being tiny bends at the start or end of the curve, and absolutely weird results if the original curve has loops). Some softwares simply make a huge polygon  union (extending segments when gaps appear due to angle) and take the contour of this polygon (which may contain strange non intuitive spikes appearing, and not following the sequence of segments), but according to the polygon approach, it makes sense.

@DanielMöller with the algorithm I described you shouldn't get loops because you're clamping before you get a loop. I didn't play around with the idea so maybe I'm missing something.

Figured out a cool way using mesh boolean (heavy and slow, but good).
The example below shows many offsets with different distances, including one that colapses the curve (the nodes produce one offset only, the image here has many duplicated lines for showing different distances together)

Drawback: if the offset of one part of the curve touches the offset of another part of the curve, a mess might happen. In the example above you can see a tiny bit of line remaining from an offset that went too far.
Main nodes
The general setup does this:

Creates a profile to convert the curve to a mesh (this profile is a grid, one point of the grid at 0,0, one side at x = offset distance and the top at an arbitrary Y just to have a volume)

The grid has the offset vertices marked with an attribute

Converts the curve to mesh making a volume from the grid

The volume has the cap faces marked with an attribute

Performs a mesh boolen making a union with itself (removes overlaping and loops, faces inside the volume itself)
Selects only the faces that are vertical and contain some of the interpolated offset attribute
Deletes the cap faces
Selects only the edges that are on Z = 0

Create profile group

Creates a plane (grid with only 4 vertices)

Size X = offset distance
Size Y = arbitrary

Offsets the plane (make one side at X = 0 and one side at Y = 0)
Sets an attribute to the vertices that are not on X = 0 (they will make the offset line)
Converts to curve

Create volume

Converts the curve to mesh using the plane/grid to make a volume
Sets the vertical faces that have the offset attribute in between (neither 0 nor 1) as "cap" faces using an attribute

Vertical face

Just checks if a face is vertical based on its normal

File:


text:
How to fill this face with mesh line？

I created this shape using geometry nodes, but I don't know how to fill the mesh with topology through geometry nodes. I have used curve to mesh, but I am unable to correctly stitch the upper boundary points (because the distribution of points extruded  by circles is uneven, while filling with grids or curve to mesh is uniform)

Add a grid and merge by distance?

It can't be soved ,because the cirle's point is not Uniformly distributed on a quadrilateral，if you add a grid，it cannot merged perfectly

when the topology becomes complex，merge by distance will broken the shape  easily

Not at all, unless you're creating really really tiny topology, then you decrease the distance.

Can we assume that (1) the hole is a quad, with only 4 "sharp" corners, (2) it is a 2D XY geometry ?

Unfortunately, Daniel is exactly right. In geonodes you need to spawn a grid and merge with the rest. You need to use maths to spawn the grid exactly right, however.

This is what frustrates me. I want to generate a perfect topology of a quadrilateral circle through calculation, but I can only piece together the geometriy nodes one by one. When I finally pieced together this quadrilateral, I got stuck, and in the end, I could only get a similar one

Can you do it the other way round, starting with the quad, then making the circle ? From inside to outside, inside of outside to inside ?

I have tried ,but make quad to circle is difficult ，the point’s position is hardly to transform. now I get a new way ,I just make a very simple  circle with 8 edge,make it perfect ,and use the Subdivision Surface nodes，it looks very well. It's always easier to go from simple to complex than from complex to simple

But there is a drawback to this, the number of edges can only be controlled by the subdivision level, which cannot display the total number of edges more intuitively

Could you confirm that this is what you are trying to achieve ? https://i.sstatic.net/itvBAygj.png. It is made with GN starting with the grid and some maths to shape the circle.

Yes，that what I want，it‘s hard to me

Great, I will post the answer tomorrow afternoon. Merry Christmas !

U too，Merry Christmas！

May I suggest to change the title in something more focus, like "How to fill a quadrilateral surface inside a disk" ?

(Using Blender 4.2.5)
Overview
The proposed procedure firstly builds a XY grid, centered on the origin of the object to which the GeometryNodes modifier is attached, and it tags its vertices. Then the border vertices, save the four corners, are moved to match the enclosing circle. Eventually, corners are moved to match the enclosing circle.
Resources:
(Blender 4.2.5+)
GeometryNodes modifier

Figure 1: GeometryNodes modifier main graph and setup.
Dark green nodes: Tagging points
The Tag node group is capturing in Point domain the "Type" attribute equal to:

3 for a point along a vertical border,
4 for a point inside,
5 for a corner,
6 for a point along a horizontal border.

Dark pink nodes: Moving borders
Points along a vertical border, i.e. with "Type" equal to 3, are moved in X direction by the Inflate X group node. While points along a horizontal border, i.e. with "Type" equal to 6, are moved in Y direction by the Inflate Y group node. Border points are selected for the associated Set Position node taking advantage of the Modulo function. Indeed, 3(mod 3)=6(mod 3)=0, and this 0 integer value is converted into False as a boolean value. Consequently, Not("Type"(mod 3)) is True only for "Type" equal to 3 and 6.
Dark blue nodes: Moving corners
Corners, i.e. points with "Type" equal to 5, are moved along the perpendicular bisector of the line segment connecting their displaced adjacent border points. This position dividing in half the corner arc length is computed by the Inflate Corner group node.
Tag group node

Figure 2: Graph tagging a point according its position inside the grid. (a) Edge tag ; (b) Point tag in float algebra ; (c) Point tag in integer algebra.
A discriminant attribute to separate Points "Type" is computed by combining Edges attributes linearly:

Border edges: (see dark green nodes) Such an edge is belonging to only one face, while an inner edge belongs to two faces. This Face Count attribute is returned by the Edge Neighbors node. Through boolean to integer type casting, this attribute is evaluated as "1" for a border edge, and as "0" for an inner one.
Horizontal edges: (see dark pink nodes) By construction with the Grid node, the second vertex of an edge has a higher X or Y coordinate compared to its first vertex. Consequently, horizontal edges are separated from vertical ones by a Greater Than zero X variation with a Y variation equal to zero (i.e. Greater Than -1). Once again through boolean to integer type casting, this attribute is evaluated as "1" for a horizontal edge, and as "0" for a vertical one. This value is then multiplied by 7 (see the discussion afterwards about this factor).

Adding both attributes yields (see Fig.(2a)):

0 for inner vertical edges,
1 for border vertical edges,
7 for inner horizontal edges,
8 for border horizontal edges.

The interpolation triggered by the Capture Attribute node from Edge domain to Point domain, using Float or Integer algrebra, yields (see Fig.(2b) and Fig.(2c) respectively):

for a point along a vertical border: (1+7+1)/3=9/3=3, rounded up to 3.
for a point inside: (7+0+7+0)/4=14/4=3.5, rounded up to 4.
for a corner: (1+8)/2=9/2=4.5, rounded up to 5.
for a point along a horizontal border: (8+0+8)/3=16/3=5.33, rounded up to 6.

The factor 7 was found by trial and error until four distinct "Type" values were returned. It is by chance that these values follow each other (see the section "Mathematical curiosity" at the end of the post for a more rational selection of the linear combination).
Inflate X and Inflate Y group nodes

Figure 3: Graphs computing position along the enclosing circle, while keeping Y or X coordinate unchanged.
The coordinates of points along a circle in the XY plane, of radius $R$, and centered on the origin of the object to which the GeometryNodes modifier is attached, are such that:
$$
X^2 + Y^2 = R^2
$$
Consequently, the X coordinate of points along a vertical border is updated as (see Inflate X group node):
$$
X' = \text{sgn}{(X)} \sqrt{R^2 - Y^2}
$$
And the Y coordinate of points along a horizontal border is updated as (see Inflate Y group node):
$$
Y' = \text{sgn}{(Y)} \sqrt{R^2 - X^2}
$$
The $\text{sgn}{()}$ function is moving "outwards" all the border points, taking advantage that the grid is centered on the object origin.
Inflate Corner group node

Figure 4: Graph computing corners position along the enclosing circle, and illustration of vertices $C$, $V$ and $H$.
Let $C$ be a corner vertex to update, and $V$ and $H$ be the vertices to which $C$ is connected by an edge, initially vertical or horizontal respectively. It is assumed that $V$ and $H$ are already moved on the enclosing circle. To evenly divide the circular arc between $V$ and $H$, $C$ is located along the perpendicular bisector of $\vec{VH}$. Let $I$ be the mid point of $\vec{VH}$. The position of $C$ is computed as (see Inflate Corner group node):
$$
\vec{OC} = R \times \frac{\vec{OI}}{\| \vec{OI} \|} = R \times \frac{\vec{OV}+\vec{OH}}{\| \vec{OV}+\vec{OH} \|}
$$
where the redundant $\frac{1}{2}$ factor is omitted, and the $\vec{\bullet}/{\| \vec{\bullet} \|}$ operator is evaluated by a Normalize vector math node.
The Neighbor group node is returning the position of $V$ and $H$. To do so, the index of one of the two edges connected to $C$ is firstly recovered using an Edges of Vertex node, by linking the index of $C$ to the Vertex Index socket. The selection of the edge connected to $V$ (resp. $H$, the order being irrelevant) is controlled by the Sort Index socket. Then the indices of $V$ (resp. $H$) and $C$ are recovered by an Edge Vertices node, and their addition is triggered by a Sample Index node set in Edge domain. By subtracting the index of $C$, only remains the index of $V$ (resp. $H$). This index is eventually input in an other Sample Index node, set in Point domain, to get the Position of $V$ (resp. $H$).

Mathematical curiosity
Considering a Grid mesh primitive, let $a$ be the tag of a border edge (0 otherwise), and $b$ be the tag of a horizontal edge (0 otherwise). What should be the values of $a$ and $b$ in $\mathbb{N}^*$ such that after interpolation from Edge domain to Point domain, the tag of points is in $\mathbb{N}^*$ also, and it is discriminating points along horizontal borders, from points along vertical borders, from corners, from points inside the grid ?
Adding both edge tags yields:

$0$ for inner vertical edges,
$a$ for border vertical edges,
$b$ for inner horizontal edges,
$a+b$ for border horizontal edges.

The interpolation from Edge domain to Point domain yields:

for a corner: $c=\frac{1}{2}\left[(a)+(a+b)\right] \Leftrightarrow 2a+b=2c$
for a point along a vertical border: $v=\frac{1}{3}\left[(a)+(b)+(a)\right] \Leftrightarrow 2a+b=3v$
for a point along a horizontal border: $h=\frac{1}{3}\left[(a+b)+(0)+(a+b)\right] \Leftrightarrow 2a+2b=3h$
for a point inside: $i=\frac{1}{4}\left[(b)+(0)+(b)+(0)\right] \Leftrightarrow b=2i$

From this system of linear Diophantine equations, $b=3(h-v)$ and $b=2i$ yield:

$b$ is divisible by 2 and 3, i.e. $b=6n$ with $n \in \mathbb{N}^*$
$b \gt 0 \Leftrightarrow h \gt v$

And $2a+b=2c$ and $2a+b=3v$ yield:

$2c=3v$, i.e. $v$ is divisible by 2 and $c$ is divisible by 3, i.e. $v=2m$ and $c=3m$ with $m \in \mathbb{N}^*$
$c \gt v$

$(c, v, h, i)$ and $(a, b)$ are thus completely defined by $(m,n)$ as:
$$
\left\{
\begin{array}{rcl}
c & = & 3m \\
v & = & 2m \\
h & = & 2(m+n) \\
i & = & 3n \\
\end{array}
\right.
$$
$$
\left\{
\begin{array}{rcl}
a & = & 3(m-n) \\
b & = & 6n \\
\end{array}
\right.
$$
The expression of $a$ yields $m \gt n$.
Adding the arbitrary condition that $c \gt h$ yields:
$$
3m \gt 2(m+n)  \Leftrightarrow m \gt 2n
$$
Choosing the minimal value of $m$ as $m=2n+1$ yields:
$$
\left\{
\begin{array}{rcl}
c & = & 6n+3 \\
v & = & 4n+2 \\
h & = & 6n+2 \\
i & = & 3n \\
\end{array}
\right.
$$
$$
\left\{
\begin{array}{rcl}
a & = & 3n+3 \\
b & = & 6n \\
\end{array}
\right.
$$
Consequently, $i \lt v \lt h \lt c$.
Choosing $n=1$ yields $(c, v, h, i)=(9, 6, 8, 3)$ and $(a, b)=(6, 6)$.


text:
Metarig to Rigify Bendy bones lose settings
Trying to get Bendy bones from Metarig to Rigify with the Bendy settings in tact. And failing!
Can’t figure out what I am doing wrong.
The left side is a “basic.super_copy” rig type and it loses the Bendy info in rigify (stays stretchy though)
The right side is a “skin.stretchy_chain” that I extruded to add a chain. Rigify changes the start and stop points of bendy chain to handles, but they don’t work.( I can grab the controller and bend it though, controller is fine)
Working on this a while with different rig types and can’t seem to figure it out. What am I dong wrong? Any suggestions?
Thanks! (Top pic is metarig and bottom is Rigify?

You could try adding you bendy bones controls to the rig as child of constraint

Thanks DV, sounds interesting. Not really sure how to do this. I see the child of constraint, but how would I add the bendy bone controls to it? Would I put the constraint on the DEF chain to the ORG chain? Could you explain a little how I can do this?

Thanks D, I ended up building separate bones then attaching them to the final rig all at once (Parenting). I also wanted to keep the constraints which disappeared from the model when the rigify rig was created.
I'll try your suggestion on the next try!

Hi, thanks for the post. This site is not a regular forum, answers should be substantial, stand on their own, and thoroughly explain the solution and required steps. One liners and short tips rarely make for a good answer. If you can, [edit] your post and provide some more details about the procedure and how it works, perhaps add a few images illustrating some steps and final result. See How to write a good answer?, otherwise it may be converted to a comment.

By the way: You also have the option of merging two accounts into one if you are interested. You can find the instructions here: https://blender.stackexchange.com/contact (Account Issue > I need to merge user profiles)

You should try setting the rig type to basic.raw_copy for bendy bone. Even set this rig type to the Def bones. Also after generating the rig you should tick Deform in every single bendy bone (unfortunately after every Re-Generating the rig as far as I know).


text:
Can I change the "strength" of perspective for camera?
I want the grey cube to match the blue 2D-overlay, but as you can see, the right face of 3D-cube cannot match the right face of the 2D picture, because perspective is "stronger" on the blue drawn cube. Is there a term to describe the "strength" of perspective and more importantly, can I increase this "strength" so the grey cube could match the blue overlay better?

Try adjusting focal length on the camera object

@AllenSimpson, it doesn't quite work here the way I want it to. The cube just gets closer or further. What I want to do is to make the farthest to camera part of cube go further, while the closest part to remain on place

I think that's a 'dolly zoom'

Yeah, or more like the final frame of it. Never thought that applying it would solve the problem


text:
Issue with Sculpting
I've recently started to work with Blender as part of my job (head of my library's makerspace) but have been running into an issue when using the sculpt tools. They either don't work at all or when they do, even when I have the strength up to 100%, tools like crease or inflate have a very limited effect. I've double checked properties and watched a number of videos on YouTube but can't figure out what's going on. https://i.sstatic.net/Yz3tP.jpg
Quick note that I'm using a PC rather than a graphics tablet so I don't know if the fact I'm using a mouse rather than a stylus might be affecting anything. Anyway, if anyone has any ideas or tips for a total newbie, I'd really appreciate it!

Add one subdivision more, and mantain the wireframe overlay on until you get familiar with the tools. A pen is better than a mouse because of speed and pressure sensivity (a cheap model is enough, but it has to have pressure sensor), but you can also sculpt with a mouse.

Thanks for the advice. I've actually made the levels viewport to 5 but the sculpt tool either doesn't work or still doesn't do a lot.

Save your work, and then apply the subdivision modifier and see if it works.

Ok, I just figured it out...I hadn't applied the subdivisions. Wow do I feel like an idiot! X D


text:
Get parent with recursive function returning None
I am making a function that will get the top-most parent using recursion. I must be missing some logic because it seems like it should work to me. I even print the obj.name right before returning it, but it ends up returning "None".
import bpy

def main():

    def get_parent_object(obj):
        parent = obj.parent

        if parent != None:
            get_parent_object(parent)

        else:
            print(obj.name)
            return obj

    selected_objects = bpy.context.selected_objects

    for obj in selected_objects:
        print(get_parent_object(obj))

if __name__ == "__main__":
    main()

Any help is much appreciated!
Thanks

Hello! you need to return get_parent_object(parent). As it stands, your function scope ends without any return statement in case parent != None which implicitely returns None in python.

I'll suggest another method that will not throw a RecursionError in case you have a really complicated setup with hundreds of parents.
import bpy

obj = bpy.context.active_object
ancestor = obj
while ancestor.parent is not None:
    ancestor = ancestor.parent
print(ancestor)


text:
How to place topology so there is no crease?
I've been stuck on this corner for ages. I want to make it a sharp corner and the edge that's connecting it to be sharp as well . I've tried hard modelling tutorials but none of them fixed my problem. I've tried subdividing but that just makes every every on my model creased? Thanks for any help!

A couple of things:
You have giant n-gons all over for no discernible reason. Figure those out, either git rid of them or connect them to something else and that will probably help. N-Gons aren't the worst thing in the world but that should be first on your mind if you're having issues with sub-d distortion.

You should also try to even things out in that corner. The main thing that can cause Sub-D distortion is when the subdivision tries to interpolate between bunched up and evenly spaced geometry, right next to eachother.
Something more like this:

Also make sure these faces are relatively planar. Having a few verts sticking out weirdly will ruin a Sub-D surface.
You can do this relatively easily by using Select Linked Flat Faces and then scaling to 0 on whatever axis you need.

If you need to flatten out wonky verts on a curved surface, you can do this by modelling a simplified version of the curved surface you want to attain.
"Helmet" and "Simplified Surface":

Then select all the vertices you want to correct and add them to a vertex group.

Then give the helmet a shrinkwrap modifier and set the target as the curve object. You will probably need to adjust the offset and maybe add or remove some verts from the group to get it just right.
Result:

Thanks for the help! My faces form the front of a helmet. Is there any way to make sure the vertices don't stick out weirdly on a curved surface?

I edited my answer to show you.


text:
How to get rid of black overlay on mesh
I don't know how to delete this black lines on line mesh (only can see them in material preview and rendered mode, both eevee and cycles):

eevee:

cycles:

Does this happen when you go to Edit Preferences > Viewport > Qualityand enable Anti Aliasing?

Yes, Anti Aliasing is enabled (8 samples)

Can you share your .blend file?

Sure, here it is:
https://drive.google.com/drive/folders/1DZ3qXvzcBXevDkel_lW3zo3TolMXWul7?usp=sharing

FYI, i included a link in that last comment, that is usually the best place for sharing blend files on this platform. Just for future reference.

Your problem is you have doubled geometry on a lot of these meshes.
Just select all, run Remove Doubles and it seems to solve the problem.

Thank You a lot, I didn't seen share link

No worries! Stackoverflow gives you the ability to put a link inside text by writing it like this: [what I want the person to read](www.the-link-they-can-click-on-goes-here.com). Helps to save space and make the comments more readable.


text:
I cannot change / delete a shortcut. - Shortcut Cycle in Select Box "W"
I need to use hotkey "W" for an addon (Pie menu editor). But "W" is bound to Select Box, Shortcuts Cycle.
I can go in and change the Shortcut for "Select Box" but not the Shortcut Cycle. - Where can I find this shortcutkey? / Where can I delete this shortcutkey.
Thanks in advance.
Sincerely, Peter

I think it's under Preferences > Keymap >3D View > Set Tool by Name (wm.tool_set_by_id). I just changed it successfully to the Page Up key there although it then disappeared from the keymap view and I had to get it back by using Reset on the 3D View setting.

Thanks for reply. I solved it inside the Pie Menu Editor. Here it is possible to set up which shortcuts are to be overridden.

Glad to hear that you're sorted!

I solved it inside the Pie Menu Editor. Here it is possible to set up which shortcuts to be override.


text:
how to achieve slerp in the graph editor
i have keyframed an objects rotation, im using quaternion rotation mode cuz i wanna avoid gimbal lock, however a new issue arises.
i need there to be proper linear interpolation between these keyframes, selecting linear interpolation mode wont do the trick if im using quaternion rotations.
i figured there must be some code involved, im not very good at coding, but is there a function somewhere in the API that would make this possible, or am i down the wrong path?

For emphasis that you can control the individual rotation components, I keyframed both w and x of the quaternion rotations and gave them different interpolations. For completeness, I also included easing for the x rotation. Since I keyframed two components, there are two fcurves in obj.animation_data.action.fcurves. The 0th index belongs to w and the 1st to x. The keyframe points are extracted from an fcurve using fcurve.keyframe_points. For interpolating/easing between two keyframes, you only need to set the interpolation/easing for the first of those two keyframes, which is why I only use pts[0] and not both pts[0] and pts[1].
import bpy

# keyframe the object
obj = bpy.context.object
bpy.context.object.rotation_quaternion.w = 0
bpy.context.object.rotation_quaternion.x = 0
obj.keyframe_insert("rotation_quaternion", frame = 1)
bpy.context.object.rotation_quaternion.w = 1
bpy.context.object.rotation_quaternion.x = 1
obj.keyframe_insert("rotation_quaternion", frame = 100)

# get the interpolation curves
fcurves = obj.animation_data.action.fcurves

# get the keyframe points of w
fcurve = fcurves[0]
pts = fcurve.keyframe_points

# interpolation = 'CONSTANT', 'LINEAR', 'BEZIER', 'SINE', 'QUAD', 'CUBIC', 'QUART', 'QUINT', 'EXPO', 'CIRC', 'BACK', 'BOUNCE', 'ELASTIC'
# easing = 'AUTO', 'EASE_IN', 'EASE_OUT', 'EASE_IN_OUT'

# set interpolation of w
pts[0].interpolation = 'LINEAR'

# set interpolation/easing of x
fcurve = fcurves[1]
pts = fcurve.keyframe_points
pts[0].interpolation = 'SINE'
pts[0].easing = 'EASE_IN'

If you don't care about the individual component keyframes, you can also just select the only the object in question, go into the fcurves editor, and set interpolation/easing for all the object's keyframes using
bpy.context.area.ui_type = "FCURVES"
bpy.ops.graph.interpolation_type(type = "BEZIER")
bpy.ops.graph.easing_type(type = "EASE_IN_OUT")
bpy.context.area.ui_type = "TEXT_EDITOR"


text:
How do I cut these curves in geo nodes?
I've created vines that grow up the side of a castle wall.

I want to simulate them being cut down.
I could create an entirely new geo node set up where there are two segments and one falls away, then cut it together. But I'm wondering if there are any inventive ideas anyone has to simulate this in the current set up?
Bonus objectives:
-The stems curling up like they would in real life.
-Falling vine debris.
Here is my current node set up:


text:
Step-by-step debugging in Blender UI
I'm currently using VS code to write a Blender script in Python. The script places objects, creates materials, unwraps objects, and finally renders an image. I'm using the "Blender Development" extension to make debugging easier. When debugging I can step through the code and see the variables change but no changes are made in the Blender UI until the script ends. Is there a way to have the blender UI change as I step through the code?
Example:
bpy.ops.mesh.primitive_cube_add(size=1)

*Breakpoint* The UI updates to show the created cube

cube_obj = bpy.context.active_object
cube_obj.location.x = 5

*Breakpoint* The UI updates to show the cube move

...

I'm not sure this is possible since I haven't found any information about it. The closest thing I can think of is to create an add-on consisting of a series of buttons that I press sequentially to run the code piece by piece.
All suggestions are appreciated, thanks!

I guess this section from the docs is what you're looking for? In short it seem to be possible, but discouraged. I have not tried this myself. Hope it helped.

@Sindri Thank you for the suggestion, this was what I was looking for!

The docs state that you can force an update from your script. It is discouraged because it can lead to instabilities. Expect crashes. However I don't think it's a problem if you only use it in a debugging environment. Just make sure you delete the lines when you release your addon.
Add this line between the two breakpoints :
bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)

Thank you, this was what i was looking for. I have been testing it a bit and Blender does crash a lot when I add too many breakpoints and redraws, but if I'm restrictive it works fine!

When you run a script, the Blender interface hangs until the script finished. You cannot, therefore, pause the execution of the script and update the UI. What you can do, however, is: load the script state from previous execution if available, move to the next step, execute this step, save the state of the script, and somehow schedule to run it again. Take a look here:
How to hide_viewport object per execution?
There the way you "schedule to run again" is simply having the user click a ▶ Play button repeatedly. But you could subscribe to a timer instead, or to any other event...
Likewise remember editing self is probably not the best way to miantain state - use a separate text block, or a custom property or a global variable...


text:
Adjusting distance between instanced objects in geometry node
I have a collection of objects in varied sizes and have them distributed along a curve I created. The objects have inconsistent distances between them, and ultimately i would like to control the distance between these objects, making them right next to each other. Any helps is greatly appreciated!

https://youtu.be/XFbD3rqE1eM

https://www.youtube.com/watch?v=Ms6CX8Gsd5A

https://youtu.be/xhmxZCiFtLs

here are some youtube tutorials to help you

you can use this node tree:

to get this:


text:
how do i animate a flag with armatures
enter link description here
okay...so...how do i animate a flag/item without attaching armatures to main body armature set?
the image attached has a blue bandana and big triangular side engines that articulate somewhat however i dont know how to do that.
i hope the video attached helps.

it depends how you want the bandana to move, you can use Cloth simulation, or fake it with addons like Wiggle Bones or BoneDynamics (that make bones move as if there were physics). Also what you show ARE bones, as I said you can switch to the default octahedral appearance, but it won't help to animate in Blender because this setup is made for game engines

imaware that the setup in the video is made for game engines...fully aware...i dont need it to move much.

if you don't plan to export to a game engine, Cloth would be a good way to animate, just add a wind

im not planning on animating it...i just want to move it around...right now it is stiff as a board

you said "how do i animate a flag", so maybe clarify what you want   ;)   if you just want to change its shape, if it is correctly rigged, move the bones?

there are no bones on it same with the side skirts the only thing thats got bones is the main body


text:
Create plane with vertices at multiple objects' origins
I'm completely new to Blender, and I have been playing around in it to create some atomic-level models of crystal structures. I've been using the Atomic Blender add-on to create spheres for atoms and cylinders for bonds.
I would like to create polyhedra as well, so I'm trying to figure out how to add planes between atoms. Is there a simple way to create planes with vertices located at the origins of the spheres?
For reference, in the image below, I am trying to make a triangular plane between the selected spheres.

Furthermore, if there's a way to add planes in a more automated manner, that would be great to know too.

You can duplicate a sphere, and in Edit mode select all and press M > Merge at Center in order to have one unique vertex, then join 3 vertices into one object (Ctrl J), in Edit mode select the 3 vertices and press F to Fill

You may want to look at this https://www.youtube.com/c/CGFigures/videos to get some ideas.

@RickT Thanks! I actually found their video on making crystal structures, which is what motivated me to pick up and play around with blender. They have a lot of videos, so it might take me a while to get through them all.

@moonboots Thank you! I find that this works!

there is no simple method to do this. you have to do it with your hands. join spheres (ctrl+j), select sphere (point the mouse on it and press L), then place cursor on the center of sphere (shift+s and drag mouse down), then add single vertex. repeat with another spheres, and then you can make plane with vertexes that you have created (select required vertexes and press f)

This worked pretty well, except I had issues trying to select the vertices in the center of the spheres without selecting vertices on the surface of the sphere. I combined this technique with moonboot's comment (above), where I merged at center for each sphere, then used the fill function. Thank you!


text:
Why can't I set width and depth of a bevel?
I'm new to blender and I've gotten stuck trying to create a lozenge with rounded ends. Once edges are selected, I draw in the bevel but I cannot set the width of the new beveled ends. The bevel dialogue has a tab to set these but change width and it pulls the depth, change the depth and it pulls the width. Really annoying problem.

Make sure to apply scale to the object first (Ctrl+A > Scale in object mode)

https://blender.stackexchange.com/questions/12288/why-are-the-longer-edges-being-beveled-more/ https://blender.stackexchange.com/questions/7298/why-is-it-important-to-apply-transformation-to-an-objects-data/ https://blender.stackexchange.com/questions/82515/first-time-using-bevel-tool-doesnt-bevel-evenly-what-am-i-doing-wrong


text:
Import UV Mapping on mesh
i would like to import a uv mapping coordinate to a mesh, but the code didn't work, cause there is an error on Blender 3.3:
File "C:\Users\Marku\Desktop\Blender Plugin\uvw.blend\Text.001", line 24, in
KeyError: 40
import bpy

me = bpy.context.object.data

uv_tex = me.uv_layers.new()
uv_layer = me.uv_layers[-1].data

vert_loops = {}
for l in me.loops:
    vert_loops.setdefault(l.vertex_index, []).append(l.index)

vert_uvs = [(0.12384849786758423, 0.5494712591171265),(0.12384811043739319, 0.0034536700695753098),(0.24882176518440247, 0.0034535210579633713),(0.2488219141960144, 0.5494712591171265),(0.2488219141960144, 0.5494712591171265),(0.24882176518440247, 0.0034535210579633713),(0.3737952411174774, 0.0034535210579633713),
(0.3737952709197998, 0.5494711399078369),(0.3737952709197998, 0.5494711399078369),(0.3737952411174774, 0.0034535210579633713),(0.49876871705055237, 0.0034535210579633713),(0.49876868724823, 0.5494711399078369),(0.49876868724823, 0.5494711399078369),(0.49876871705055237, 0.0034535210579633713),(0.6237421631813049, 0.0034536700695753098),(0.6237420439720154, 0.5494711399078369),(0.6237420439720154, 0.5494711399078369),(0.6237421631813049, 0.0034536700695753098),(0.7487156987190247, 0.0034536700695753098),(0.7487152814865112, 0.5494711399078369),(0.7487152814865112, 0.5494711399078369),(0.7487156987190247, 0.0034536700695753098),
(0.8736891150474548, 0.003453729674220085),(0.8736886978149414, 0.5494712591171265),(0.8736886978149414, 0.5494712591171265),(0.8736891150474548, 0.003453729674220085),(0.998662531375885, 0.003453848883509636),(0.998661994934082, 0.5494712591171265),(-0.0011249184608459473, 0.549471378326416),(-0.001125425100326538, 0.0034536700695753098),(0.12384811043739319, 0.0034536700695753098),(0.12384849786758423, 0.5494712591171265),(0.8936221599578857, 0.5762031078338623),(0.7818735837936401, 0.5759849548339844),(0.7706657648086548, 0.5497416257858276),(0.9041361808776855, 0.5496834516525269),(0.7818735837936401, 0.5759849548339844),(0.7023438215255737, 0.6543290615081787),(0.6758830547332764, 0.6436777114868164),(0.7706657648086548, 0.5497416257858276),(0.7023438215255737, 0.6543290615081787),
(0.7018402218818665, 0.7655781507492065),(0.6756812334060669, 0.7768880128860474),(0.6758830547332764, 0.6436777114868164),(0.7018402218818665, 0.7655781507492065),(0.7807475328445435, 0.8440647125244141),(0.7702689170837402, 0.8705624341964722),(0.6756812334060669, 0.7768880128860474),(0.7807475328445435, 0.8440647125244141),(0.8924964666366577, 0.8443202972412109),(0.9036567211151123, 0.8705623149871826),(0.7702689170837402, 0.8705624341964722),(0.8924964666366577, 0.8443202972412109),(0.9721583127975464, 0.766228437423706),(0.9986177682876587, 0.7768851518630981),(0.9036567211151123, 0.8705623149871826),(0.9721583127975464, 0.766228437423706),(0.9724907875061035, 0.6549867391586304),
(0.9986627101898193, 0.6436810493469238),(0.9986177682876587, 0.7768851518630981),(0.9724907875061035, 0.6549867391586304),(0.8936221599578857, 0.5762031078338623),(0.9041361808776855, 0.5496834516525269),(0.9986627101898193, 0.6436810493469238),(0.8842759132385254, 0.5983641147613525),(0.7908287048339844, 0.5983297824859619),(0.7818735837936401, 0.5759849548339844),(0.8936221599578857, 0.5762031078338623),(0.7908287048339844, 0.5983297824859619),(0.7244090437889099, 0.6638002395629883),(0.7023438215255737, 0.6543290615081787),(0.7818735837936401, 0.5759849548339844),(0.7244090437889099, 0.6638002395629883),
(0.7240447998046875, 0.7565466165542603),(0.7018402218818665, 0.7655781507492065),(0.7023438215255737, 0.6543290615081787),(0.7240447998046875, 0.7565466165542603),(0.7900638580322266, 0.821906328201294),(0.7807475328445435, 0.8440647125244141),(0.7018402218818665, 0.7655781507492065),(0.7900638580322266, 0.821906328201294),(0.8835827112197876, 0.8219642639160156),(0.8924964666366577, 0.8443202972412109),(0.7807475328445435, 0.8440647125244141),(0.8835827112197876, 0.8219642639160156),(0.9501087665557861, 0.7567672729492188),(0.9721583127975464, 0.766228437423706),(0.8924964666366577, 0.8443202972412109),(0.9501087665557861, 0.7567672729492188),(0.9502570629119873, 0.6640243530273438),(0.9724907875061035, 0.6549867391586304),(30, 0.9721583127975464, 0.766228437423706),(39, 0.9502570629119873, 0.6640243530273438),(32, 0.8842759132385254, 0.5983641147613525),(25, 0.8936221599578857, 0.5762031078338623),(31, 0.9724907875061035, 0.6549867391586304),(15, 0.9216725826263428, 0.676622748374939),(1, 0.8729163408279419, 0.6276178359985352),(32, 0.8842759132385254, 0.5983641147613525),(39, 0.9502570629119873, 0.6640243530273438),(13, 0.9211483001708984, 0.7452778816223145),(15, 0.9216725826263428, 0.676622748374939),(39, 0.9502570629119873, 0.6640243530273438),(38, 0.9501087665557861, 0.7567672729492188),(11, 0.8711893558502197, 0.7930192947387695),
(13, 0.9211483001708984, 0.7452778816223145),(38, 0.9501087665557861, 0.7567672729492188),(37, 0.8835827112197876, 0.8219642639160156),(9, 0.801383376121521, 0.7926114797592163),(11, 0.8711893558502197, 0.7930192947387695),(37, 0.8835827112197876, 0.8219642639160156),(36, 0.7900638580322266, 0.821906328201294),(7, 0.7525244951248169, 0.7439746856689453),(9, 0.801383376121521, 0.7926114797592163),(36, 0.7900638580322266, 0.821906328201294),(35, 0.7240447998046875, 0.7565466165542603),(5, 0.753441333770752, 0.6753729581832886),(7, 0.7525244951248169, 0.7439746856689453),(35, 0.7240447998046875, 0.7565466165542603),(34, 0.7244090437889099, 0.6638002395629883),(3, 0.8032954931259155, 0.6272165775299072),(5, 0.753441333770752, 0.6753729581832886),(34, 0.7244090437889099, 0.6638002395629883),(33, 0.7908287048339844, 0.5983297824859619),(1, 0.8729163408279419, 0.6276178359985352),(3, 0.8032954931259155, 0.6272165775299072),(33, 0.7908287048339844, 0.5983297824859619),
(32, 0.8842759132385254, 0.5983641147613525)]
# with uv coords in order of vertices

for i, coord in enumerate(vert_uvs):
    # For every loop of a vertex
    for li in vert_loops[i]:
        uv_layer[li].uv = coord
```

Your code expects the active mesh to have at least 128 verts, but your mesh presumably has only 40.

https://blenderartists.org/t/importing-uv-coordinates/595872/5 i change to that code, but have now the problem, that the uv mapping don't use "mark seam" .. hm


text:
Animation Problem Box is bouncing
Hi my problem is when I start the animation the box keeps bouncing or slides trough the mesh
https://i.sstatic.net/uNvA8.jpg

Hello, it works fine for me (Blender 3.3.0), maybe apply the scale of your objects?

thank you for the help.Seems like the problem disappeared over night.But now the the box doesnt move as fast as the conveyor belt any suggestions how I can change that ?

maybe cheat with an invisible mesh that follows the belt and push the cube?


text:
Plane tracker in viewport
I have tried to place a phone in the hand with object tracker and it just doesnt line up when rotating etc,
if i use the plane tracker the plane track is perfect, but i cant find any option to export my plane tracker to the 3d viewport. Is there any way to do it?
If i could export the plane tracker to my 3d viewport i could align my mesh to that plane and it should be perfect


text:
Blender Animation or Physics?
So i see this video here where the character leafs move with the character https://www.youtube.com/watch?v=PunVHiOxUEk&t=902s
In blender is there any physics that can achieve this effect? or would you just have to animate the leaf with the motion?
Sorry for the noob question but want to start learning some of this animation

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.

You can do both.

what physic would i be looking at? im trying to find some sort of tutorial but i havent touched physics yet and dont know what im looking for

rigid body physics or soft body physics.


text:
How to disable an armature modifier in a single animation for character's clothes in order to animate them separately?
I want to temporarily animate clothes of my character, for example taking off shoes or watch. I don't understand how to manipulate objects armature modifiers while animating them (clothes) in a separate way. I need some solution to detach an object from character's armature inside an animation.

Child of constraint? Influence value?

@Chris Thanks, I'll try that out. I'm not really experienced with that, so naming the directions is really helpful for me.

the shoe can be part of the body most of the time, but when the character needs to tak off his shoes, make it a different object and use the Dynamic Parent addon so that it can be parented to the foot bone, then to the hand bone, then released, etc...

@moonboots oh, thank you, I think that's gonna work for me nicely


text:
How to rotate a vertex group accordingly to a specific face from that group? (not manual rotation)
I want to make an edge (highlighted with green) parallel to X axis (red arrow) and with that to rotate other edges accordingly as a whole.

Unfortunately that's not possible.
I would recommend the following to try to achieve the effect that you want:

In Edit mode, select the edge circled in green.
Press Shift+S > Cursor to Selected
In Object mode, select Shift+A > Mesh > Plane

You can use this Plane object to manually line up your object.

In Object mode, set your Pivot Point to 3D cursor:

You can now rotate your original object around the edge highlighted in green, until the edge lines up with the plane object. If you Zoom in as far as possible you should be able to get this perfect. Don't forget to hold Shift while rotating to making smaller changes.
Once done you can delete your plane object.

Thanks for you answer! Although I am practicing in making game assets, so I just wanted to find a solution for when I messed my geometry up and didn't notice that. And I thought I could make some fast adjustment in order not to start sketching forms again. Manual adjustments aren't good I guess for that purpose. I thought something like "s > z > 0" could work, but seems there's no option to adjust other geometry accordingly, as you mentioned at the beginning.

You could also make sure that the two vertices at the ends of that line have exactly the same 'Z' value when rotating the object. Certainly a bit of a fiddle though!

@DmitryGuskov zooming in, in the orthographic view, will definitely give you enough precision when rotating - basically just put a line that goes from the right vert left parallel to X axis, and now rotate so your face/edge of choice aligns with it. Otherwise you can use maths, and e.g. take the Z difference between the verts, divide by the length of the edge, pass to arcsine and now you have the angle to rotate everything by...


text:
Vertex, edge, face select shortcut on Mac
For Blender 2.8x on Mac.  In edit mode, Windows shortcuts 1,2,3 to select vertex, edge,face are not the default and select preset viewpoints instead.  Are there default shortcuts to select them on a Mac, without remapping the keyboard.  Selecting from top menu is slow.

For Linux users, the 1, 2, and 3 keys on the number row switch between vertex, edge, and face selection modes respectively.


text:
Blender 2.82 Grease Pencil not showing properly after instance

The instance of grease pencil dissapears in viewport for somereason when I rotate the camera.
I basicly just draw three cubes, put them into one collection and made an instance collection.
Hope my description is clear enough, thank you for any suggestions!

does it help switching the Stroke depth order to 3D location?

I tried all sort of solutions but upgrading it to 2.83 solve the problem, it probably just a bug or something in 2.82. Thx for the reply!


text:
Blender 2.82 Light go through mesh after applying volumetric

I am not sure wha is causing this problem, please tell me what you think! Thanks.

Does this also happen when looking through the camera or being in perspective mode?

Hello :). I remember some other posts regarding the same issue. You can try searching this site, perhaps it has a solution. (or maybe it's a bug)

Sry I didn’t find the answer on this site, It will still occurs when I look through camera

Volumétrica un revés are quite limited, if the light is not in visible fo camera the effect doesn't work


text:
how to bake a roughness map with different intensity reflections
I color my object with two colors, the first color uses metal elements, then for the second color I make it with metal elements as well but for the second material I make it by drawing in a texture paint, so the two colors overlap (the first color is below and the second color is above)  then what I wanted to ask, how do I bake the two materials with different reflex intensities? ( to lowpoly object)

Use a Mix Shader node to combine your two different materials then use a black and white mask to tell that material what part is what, if you don't want to make a new texture you might be able to get away with doing a color ramp.


text:
Animation artifact issue
Hope everyone is safe.
I have created this small test animation. A clean raptor and a HDRi in the scene that's it.
https://www.dropbox.com/s/c8dvulisy02nfs9/0001-0060.mp4?dl=1
As you can see i have those strange sparkles, artifacts on the skin and eyes. I thought it was the denoiser but when i test without i have the same issue.
I use cycle , 128 samples render + motion blur. I go to png first then mp4. But already when i play the PNG i have the issue.
I have this issue in all my animations!
Thanks for your help!
Cheers

Depending on the complexity of the hdri (wide dynamic range) and the material setup this could be fireflies or noise (improve your sample settings possible with branched path tracing).

Thanks man! I will try that! thanks again the quick feedback!


text:
How to set random botttom or top Cone radius in Geometry nodes

Im trying to create random top radius, but when im trying to put Random value in the socket and because random value has circle output and Cone Radius input has diamond shape they dont work

I somewhere read that i should put interget node into ID socket, it createt diamond with dot output but when connected this there is no any randomness. Can someone explain why does it happen? Thank you, ive been searching for the answer almost 2 days :)

Hello & welcome to https://blender.stackexchange.com/. There are two things playing together here: On the one hand, the types of the inputs/outputs differ (This is explained here: Why is there a red line when I try to connect one node to another?) and on the other hand, you apparently want to instantiate the cone multiple times with random parameters (This problem is described here: How can I instantiate a procedural node group with different parameters?).

...These are two different problems, yet I mark the question as duplicate, because this is primarily about the red connecting line. Feel free to edit the post, and reopen your question if necessary. Thank you!


text:
What is the parameter in theme to change the color of the Camera Frame
I'd like to change the frame color when looking through the camera viewport both when locked and unlocked -  is this possible?
Thanks!

I suspect that's just the colour of any selected or active object in Blender so if you change that you change the lot!

The orange frame when the camera is selected is the Active Object color, so changing it for the camera will change it for other objects as well. But I haven't found out which is the yellow color displaying the field of view or whatever.


text:
Change Menu Button Text from Operator variable
I would like to change the text on a button that locks the Camera to View Window. When it is locked I would like it to say Unlock Camera and when it is unlocked I would like it so say Lock Camera.
Here is my code which is not working...
Operator Code
class ADD_OT_nms_lockcamera(bpy.types.Operator):
    bl_idname = 'add.nms_lockcamera'
    bl_description = 'Lock Cam to View'
    bl_category = 'NMS'
    bl_label = 'Lock to view'

    def execute(self, context):
        obj_camera = bpy.context.scene.camera
        for area in bpy.context.screen.areas:
           if area.type == 'VIEW_3D':
              for space in area.spaces:
                 if space.type == 'VIEW_3D':
                    if space.lock_camera == False:
                        space.lock_camera = True
                        button_name=obj_camera.name +" Locked"
                        print(button_name)
                    else:
                        space.lock_camera = False
                        button_name= obj_camera.name +" Unlocked"
                        print(button_name)
        return {"FINISHED"}

Panel code
...
 layout.separator()
        layout.label(text="Lock Cam to View")
        layout.operator("add.nms_lockcamera", text=button_name)

I get the error NameError: name 'button_name' is not defined I have tried trapping with
try:... except NameError: but with no success

In short: the panel doesn´t know button_name
An variable belongs to its class (instance attribute) and won´t affect other classes. The reason why a attribute name can be assigned more than once - in different classes. The change is made in the operator class. The new value must be returned to the panel.
Two possibilities:
A) The standard way is to use a property. The operator changes the property. The panel gets the new value from property when redrawn by mouseover.
B) A class attribute in the operator and change the meta object with __class__ for the panel.
https://stackoverflow.com/questions/7374748/whats-the-difference-between-a-python-property-and-attribute
https://www.pythontutorial.net/python-oop/python-class-attributes/
https://stackoverflow.com/questions/8060751/what-in-the-world-is-the-attribute-class-in-python
import bpy

### UI
class TESTPANEL_PT_Main(bpy.types.Panel):
    bl_idname = 'TEST_PANEL_PT_main'
    bl_label = "Test Panel"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = "TEST"
    def draw(self, context):
        layout = self.layout
        layout.separator()
        layout.label(text="Lock Cam to View")

        # A) with property
        layout.operator("add.nms_lockcamera", text= context.scene.my_props.camera) # text = propertyClass.property)

        # B) with class attribute
        layout.operator("add.nms_lockcamera", text= ADD_OT_nms_lockcamera.camera)  # text = operatorClass.attribute

### OPERATOR
class ADD_OT_nms_lockcamera(bpy.types.Operator):
    bl_idname = 'add.nms_lockcamera'
    bl_description = 'Lock Cam to View'
    bl_category = 'NMS'
    bl_label = 'Lock to view'

    camera = ""   # B) class attribute

    def execute(self, context):
        obj_camera = bpy.context.scene.camera
        for area in bpy.context.screen.areas:
           if area.type == 'VIEW_3D':
              for space in area.spaces:
                 if space.type == 'VIEW_3D':
                    if space.lock_camera == False:
                        space.lock_camera = True
                        button_name=obj_camera.name +" Locked"
                        print(button_name)
                    else:
                        space.lock_camera = False
                        button_name= obj_camera.name +" Unlocked"
                        print(button_name)

        # A) change property in propertyClass
        context.scene.my_props.camera = button_name

        # B) change meta-class object for referenced panel
        self.__class__.camera = button_name

        return {"FINISHED"}

### PROPERTIES
class TestProperties(bpy.types.PropertyGroup):
    camera : bpy.props.StringProperty(default = "ggg")  # A) property

### REGISTRY
classes = (
    TESTPANEL_PT_Main,
    ADD_OT_nms_lockcamera,
    TestProperties,
    )

def register():
    from bpy.utils import register_class
    for cls in classes:
        register_class(cls)
    bpy.types.Scene.my_props = bpy.props.PointerProperty(type = TestProperties)

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

if __name__ == "__main__":
    register()

Perfect thanks so much. i didn't understand the scope in Python. I used the property method and all is great


text:
Blender scale problem with Assets
I have a problem dragging assets into the workspace in various versions of Blender. In the original File the assets itselfs are fine. When I drag them into a new workspace, the actual size is reduced on "0". You can see in the statistics in the screenshot that the object is completely there, but it is reduced to a size of "0". When I change the size, the object is visible again. I can't find any solution in the blender settings or here in the chats.

It doesn't happen with all assets and not always.


text:
How to select, preview, edit actions imported from glTF?
I have a glTF file (authored by someone else) with many named animation tracks. These are modifying transforms on many different discrete nodes within a scene hierarchy for an automobile. (These are not actions on bones or a rig.) For example, one animation causes all four wheels to rotate, another causes the front wheels to steer left/right, another causes the front left door to open.
I have imported the glTF into Blender. Currently, there are no actions listed in the Action Editor, the Dope Sheet, the Timeline, or the Graph Editor. Scrubbing any timeline causes no action to be applied.
However, I see all the actions listed in the Action Editor's "Browse Action to be Linked" dropdown. I want to select one of these actions, preview just that action (dragging the timeline), edit the keyframes of it, and rename the NLA Tracks to match my needs.
I've watched a handful of videos on the NLA. I understand (I think) that selecting an action in the Action Editor links it to the selected object. I don't want to do that. If I happen to have selected the Front Left Door Empty  and "choose" the Tire Rotation action to try and preview it, the door now rotates 360 degrees. That's not what I want. But, selecting Front Left Door empty ALSO did not cause any action/animation to show up in any editor.
How do I "select" an Action so that it shows up in the Action Editor, without accidentally linking it to some object in the tree?
I think if you can help me with just that I will be able to tweak keyframes, modify the animations for the action, and move forward.
I'm using Blender v2.83.20, but if you feel I must I can upgrade to a newer version.

Open the Nonlinear Animation editor.
Enable the animations you wish to preview (checkbox on the right side of each track, next to the lock icon).
Click on the name of the object (parent of the Action Track) to select the object. (Thanks, @scurest!)

Needed so that the object's animations will show up in the Graph Editor, Dope Sheet, or Action Editor later.

Select an Action Strip in the track (the named box to the right of the animation track name) by clicking on it.

The selected strip turns bright orange.

Press the tab key, or right-click on the strip and choose Start Editing Stashed Action.

The selected strip turns bright green.
Keyframes for the strip show up in the Graph Editor, Action Editor, Dope Sheet, and Timeline.

Modify the animation as desired.

If you don't see keyframes after step 5, you may have skipped step 3. If so, you cannot select the object via the NLA editor at this point. However, you can deselect the "Only Show Selected" options in the Graph Editor or Dope Sheet to see the object and its animations in the track. This does not work for the Action Editor...but once you can see the object name in the Graph Editor or Dope Sheet, you can click the name there to select the object, causing it to show up in the Action Editor.

You can click the name of an object in the NLA editor to select it.

@scurest You are right! Thank you. (Further, you can uncheck "Only Show Selected" in the Graph Editor and Dope Sheet to see the list of objects and channels; clicking on those names will also select it, causing the object to be selected in the Action Editor, too.)


text:
Parametric surfaces in Geometry Nodes
again a Question related to Math & Geometry Node. I ´m still working on Algebraic Surface in Blender Geometry Nodes. Meanwhile the Integration of parametric equations wiht x,y,z, in Geometry Nodes works fine, but i still struggle with some fine details. The way to create 3D Objects in Geometry Nodes with the help of the Volume Cube (thx to @Markus von Broady) is a cool way for almost all kind of formula.
(see; "implicit equation in blender?" Search an import way for implicit equation in blender?)

But to get the Workflow perfect i would like to cut the "Volume Cube" on the Outer Faces inside the Node-tree. I know it is easy to aply the Geometry Nodes and cut it later, but i hope there is a way to "clean" it with the help of a Node? As you see in the Picture, or in the Blend File;
VER1 is how it should look (i cuttet it afterwards)
VER2 how it looks without cutting the outer Faces.
Does someone of you know how to realize this in GN? Thanks for all ideas :)

one way is to cut it off via compare node with x,y,z coordinate:

result:

Hi @Chris, wow, very simple and smart - works perfect. Great, thx! (PS: I don´t see a function or effect in the "lenght vector node", it right?) Saved my day

if my answer helped you, please click on the checkmark left of my answer. thx. the length node was my first idea. it kind of works, but then the cutout will be round/spherical. Don't know whether you wanted that ;)


text:
Making conjunction between instances and objects nice
I'm looking for a way to make the connection between instance and object in geometry nodes appear more natural. The edge at the connection is often hard, straight and artificial. I know that the impression can be improved using the material shader or material displacement, but I would like to find a way to add a kind of additional geometry at the connection/ conjunction.
Does someone have any experience or idea about this issue?

Hi, like I said, i am searching for a way to make the conjunction „ more natural“ looking. Not by material, by geometry. Usually the result looks like on the image, sticks on TOP of each other.
To be even more precise, it should be like a irregular „extrude mesh node“ with adjustable random effect. - or some geometry between main object and joined object…

OK, but that's exactly the point: it's not clear to me what kind of object this is, because "beautiful", "natural" and "some geometry" can mean many things. ...especially when someone like me doesn't even realize what is actually in the picture. I also think it would be helpful if you shared your blend file.

This is a very simple setup. It’s a icosphere in geometry nodes with a Bézier curve randomly instanced on points in the normal’s axis of the ico.
Where instance (bezier) the object (ico) meets, it’s now a hard straight conjunction, like one is sticked on another.
With natural I mean a conjunction like a human hair coming out of the skin. If you have a close view on your skin, you’ll see a tiny organic growth structure around the hair. this would be my favorite look - hope i could explain it better

Basically, it is easier to build something that curves outwards instead of inwards, because otherwise the geometry would have to have a sufficiently high resolution to be able to depict these details. Is there a particular reason why you absolutely want to do this with GN instead of a shader (with which it would be easier and better to realize)?

Well, in the best case, if you really want to realize this under all circumstances with geometry nodes, the underlying geometry would need a sufficiently high resolution to be able to depict the desired details.
However, a simplified example with less high-resolution geometry could look like this:

Since I assume you somehow distribute the hair on the sphere using Distribute Points on Faces, you could directly select the closest points on the sphere based on the distance to these points, and move them slightly inwards. The Map Range node helps you to do this, allowing you to define the intensity and the area of effect.

That is a very good approach. Instead on moving them slightly inwards it should be also possible to move them slightly randomly. Using the „distribute“ points the effect should effect only the closer area around the instances, or not?
Many thanks for your input  it will help me further…

@smice Yes, correct, but you can of course also use the geometry of the hair directly as a target. The combination of Random Value and Map Range can then generate the variability.


text:
How to place letters without rotation on the faces of a torus with Geometry Nodes?
In addition to my last question, I have another question on the same topic. As you can see at the screenshot, the letters are clean and straight on the surfaces of the cube. The letters on the Torus do this too, but unfortunately the letters rotate around their own axis. How can you prevent this rotation with geometry nodes?

Link to my first question with the related blend file
Question Part 1

(This has been answered before, so may get wiped as a duplicate if someone can find  a close-enough match .. but here goes, to make sure you get a timely response.)
To fully define an orientation, some kind of two-step alignment is needed. One to establish an axis, and another to spin around it.
If, for example, you wanted Object-Z to be your 'up' vector, this would do it for you:

I knew that the second "Align Euler" is the right way but i didn´t check the Pivot Field. Thanks so much


text:
Is it okay for normal map to have transparency?
Recently, I was creating a normal map from a transparent height map (both normal map and height map are pinned below). There isn't any shading problems (I'm using Blender) when I'm using a normal map with transparency in it (normal map from the picture below). Is it okay for normal map to have transparency in it? And if it's not, then in what exactly color should I paint these empty transparent areas? Sorry if there's any grammar mistakes – English is just isn't my native language.

The parts of the map that are not transparent seem to be according to some UV layout... so if the transparent parts don't belong to certain it doesn't matter if they are transparent or not.

For the record, the transparent areas (which would be shown as perfectly "flat" if they were displayed), would be the color rgb[0.5, 0.5, 1] (or rgb[128, 128, 255]).

Thanks so much guys!


text:
how do i make the bones this way?
enter link description here

how do i do this with the exact model im working with...image below is not the model im working with...im working with the same model but diferent way...video attached.

these are bones that are customed, you can bring them back to the octahedral appearance but anyway they are set to work in the game engine, they won't help to animate in Blender, you need to use the armature you showed in your previous question. By the way, if someone answered to your previous question, mark it as correct

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


text:
okay...im getting a scripting error when trying to port a map from a game to blender

I'm getting an error stating,
"
Error: Python:   File "\Text", line 9
base_dir ="G:\umodel\game\assets"
^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \uXXXX escape  "
i cant exactly remember what im doing wrong...i havent done this in quite sometime.

Backslashes are treated as escape characters in Python strings. Either use forward slashes for paths ('C:/blah') or use raw strings (r'C:\blah').


text:
why does the outline of sections of the body glow like this?

i want to know why this model vertices are glowing like this and how to stop this glow? this is getting annoying and i dont know how to fix it.
the blend file is here:

@Chris Edge crease is pink.

It's the Mark Sharp, it allows you to keep the edges sharp if you've shaded smooth your object, you can remove with a CtrlE > Clear Sharp.
To add to John's answer, if you want to keep them but make them invisible, in Blender 4 the display option is not available in the Viewport Overlays anymore, it's in the Mesh Edit Mode Overlays:

Yes. I missed that one because I opened the file in Blender 3.6.8.

As @moonboots says it's because the edges/vertices have been Marked Sharp. You can toggle their visibility on the Show Overlays menu by clicking on Sharp.

Oh yes I missed the option in Blender 4 because it's a new panel (Mesh Edit Mode Overlays)

@moonboots I wouldn't call it a "new panel", Blender 2.83 is quite old nowadays... (or that's the oldest version I got left on my PC, I think it's been there before)

I'm not sure what you mean, the panel I'm talking about seems to be here since Blender 4, it's not the Viewport Overlays anymore, see my edit @Gordon Brinkmann

@moonboots Oops, you're right... it has been moved. But the option to disable visibility has been there before, so no need to use Clear Sharp, because maybe the edges need to be sharp for some reason.

Sure, I just meant that I couldn't find it first when I checked the Viewport Overlays


text:
weight painting trouble need help

I just added the automatic weight to the model succesfully however i am adding weight to the bones as u can see here...however i have been stuck on red for a while and cant get the red to go into place...anyone got any ideas?

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

What exactlly do you mean by "stuck on the red"? If you want to replace a red area with blue just turn the Weight setting in the top bar down to zero and paint the section that you don't want the selected bone to influence so that it's fully blue.

here is the file

i dont meant that its stuck on red...it just wont go into place

[link] (https://youtu.be/llv68gVPuZA) here is a video better explaining my issue

For an object like a robot, weight painting is not a good idea because it's long and you're going to assign some vertices to the wrong vertex group. For this kind of object, it's better to directly assign to the good vertex group. Generally you'll parent With Empty Group, then select the vertices, select the vertex group and click on Assign.
In your case, if you just want to assign the forearm only, first check the name of the bone (it is lower arm l, which is not a good name, rename with the _l or .l suffixe instead), then select all the vertices of this part (make sure that you don't forget any vertex), then in the Data panel > Vertex Groups > Remove from All Groups:

Then assign to the correct group:

okay...i think i see what ur saying...follow up question...how do i select the specific parts like you did in the images without picking up the background stuff like pieces of the leg area or p[arts of the area that i want to be the upper arm/hand?

cause when i do left click hold and select an area it picks up part of the leg area and parts of the upper arm area

Use L to select a separate part of the mesh (if this is what you mean)

thank you...i think i got it now

In weight paint mode, brushes can have struggles with overlapping geometry.
In the Brush menu disable the "Front Face Only" option, and in the Falloff menu change the shape from "Sphere" to "Projected".
In this way the brush will affect everything is under the cursor circle (even unwanted areas, so be aware).
Remember that weight is affecting vertices, not faces, turn on wireframe overlay to check where exactly vertices are.
If this doesn't solve, try directly assigning weight in Edit mode for problematic areas.


text:
mirror axis not duplicating armatures

okay...im not sure what I'm doing wrong, I have x mirror axis on to duplicate the bone as u  can see in the image...however it is not duplicating like it should.

Maybe first apply the Rotation in Object mode (Ctrl A)

Your armature first needs to be symmetrized. Make sure that you've called your left bone with the _L or .L suffixe (for example arm_L) then go into Armature > Symmetrize, it will automatically create a bone with the invert name (arm_R). If the X-Axis Mirror option is activated you'll act on the mirrored bone.
Also, apply the Rotation of your object in Object mode (CtrlA)

rotation is appied and it still doesnt work

I've edited, I guess this is the problem here?