text:
Link (With Driver) a Custom Property Value to a newly generated piece of Text

 Warning, Potential AI generated content⚠
This post is suspected to have been generated with the help of an artificial intelligence, chat bot, or other language model tools without proper attribution.
There is reason to believe this post was not written by a human due to its structure, and grammatical construction, and has been marked by our community.
Current AI chat bots are a language models, that means they are like a parrot, they can mimic human language well, but they are built to write seemingly logical, seemingly factual grammatically valid text, rather than actually be correct, like a human would.
The veracity of the following content cannot be ascertained.
See the Concerns regarding AI generated content.

I'm trying to create a piece of Blender Text that is linked via a driver to the value of a custom property.  The following keeps throwing an error:
import bpy

# Check if there is an active object
if bpy.context.active_object is None:
    print("Please select an object first.")
else:
    selected_object = bpy.context.active_object

    # Check if the selected object has the specified custom property
    custom_property_name = "0V Description"
    if custom_property_name not in selected_object:
        print(f"The selected object does not have the custom property '{custom_property_name}'.")
    else:
        # Create a new text object
        bpy.ops.object.text_add()
        text_object = bpy.context.active_object
        text_object.name = "Custom_Text"

        # Create a custom property on the text object for the driver
        text_object["_RNA_UI"] = {"Custom_Driver_Property": {"description": "Custom Driver Property", "default": 0.0, "min": 0.0, "max": 1.0}}
        text_object["Custom_Driver_Property"] = 0.0

        # Set the custom property to the value of the custom property of the selected object
        text_object["Custom_Driver_Property"] = selected_object[custom_property_name]

        # Access the driver of the custom property and set its expression
        driver = text_object.driver_add("['Custom_Driver_Property']")
        driver.expression = f'\"{selected_object[custom_property_name]}\"'

Hello. what's the error ?

Blender vanilla text objects contents can't be driven because it doesn't support animation. You'll have to use special callbacks for that

Thanks Gorgeous, I will have a look at 'special callbacks'.  I'm a big fan of yours in the OSArch discussion group!

Hehe cheers. You can look into property group and / or StringProperty (https://docs.blender.org/api/current/bpy.props.html#bpy.props.StringProperty) which you can add an update callback to and tweak the text in there

Yeah, I'll take a look at the StringProperty.  My latest attempt went mad and nearly crashed Blender.  It added a LOT of Text objects rather than just one.

Here's a proposal based on your explanation :

Define a custom prop on bpy.types.Object.
Add a callback to its update method, that will update a children text object's body and create one if it doesn't exist yet.
Since this is a API defined property you can't modify it using the UI anymore so define a new panel to display the prop.

import bpy

def update_text(self, context):
    obj = self
    for text_obj in obj.children:
        if text_obj.type == "FONT":
            text = text_obj.data
            break
    else:  # No text children yet
        text = bpy.data.curves.new(name=obj.name + "_text", type="FONT")
        text_obj = bpy.data.objects.new(object_data=text, name=obj.name + "_text")
        text_obj.parent = obj
        text_obj.matrix_world = obj.matrix_world
        obj.users_collection[0].objects.link(text_obj)
        text_obj.show_in_front = True

    text.body = self.my_string_property

class CustomPanel(bpy.types.Panel):
    bl_label = "Custom Panel"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

    def draw(self, context):
        self.layout.prop(context.object, "my_string_property")

bpy.utils.register_class(CustomPanel)
bpy.types.Object.my_string_property = bpy.props.StringProperty(name="My String Property", update=update_text)

That is amazing!
Now I need to work out how to get it to show in a DXF made with the PRJ addon.
Great work Gorgious!

Cheers. It will be converted to a mesh object on export so it won't export to an Autocad Text object but will show up as a bunch of polylines. In my experience it will lead to artifacts when zoomed out if you plan on printing it. Depends on your end goal

What is your process for creating technical drawings?  (cheeky question - apologies)
I've been trying all sorts of addons (TechSec, Measurable etc) and methods - from exporting to DXF to using Blender's compositor (one camera with a different position per Frame).


text:
Is there a way to add custom primitives?
The first time I had the occasion to need a hexagonal grid mesh, and hexagonal cylindrical grid, I created them, and saved the objects
[
to a library file. But I'm finding them useful enough that I'd like to be able to add them to the "Add mesh" menu so that I could skip the "append" process. Is there a convenient way to add custom primitives?

if you are comfortable with python yes there is a way, see the "extra objects" addon

this question was already asked , answers should go there.

Its not really the same question. Asset flinger is really good but here I think he was looking for a way to add it to the add menu. It can be done in Python. Create an operator to append the objects  and add it to the ui.

@Akelian is correct; I would like to be able to insert custom primitives in the Add Mesh menu.

source: Stack Exchange

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

sort: votes


text:
How do I change the default data settings for an empty?
I know that when I add an empty object to a scene, the empty defaults to a "plain axes" view type, but that I can change the view type to one of several options: Arrows, SingleArrow, Circle, Cube, Sphere, Cone, and Image. But if I want change "plain axes" to "Arrows" almost all the time, it would be more efficient to change the display default to "Arrows". How can I achieve this?

It sounds like you are using an old version, since 2.64 you choose the style of empty in the add menu, so there is no 'default' style. Are you maybe using a button that places a plain axis empty?

Nope, using 2.75a. Yes, I know one can change the style of empty in a submenu, but if one is always changing the style of an empty to something else, efficiency would be served if one could reorder the menu so that the "something else" is the first choice in the menu.

There's no mechanism to change the default, or setting in preferences. It could be added but frankly it's not likely to be considered worth the effort.

When creating the Empty it is picked from a dropdown menu, the next menu item down is Arrows. Moving a few pixels down with the mouse is probably the most non-invasive solution.
Existing key-combos
But by far the easiest is the shortcut sequence Shift + A  >  E  >  A
Making an add-on
But you could write an add-on / operator and bind it to a shortcut to make Arrows the default display type for Empties generated by the operator. See this post for most of the code you'd need.
Add Shortcut
You can also make a shortcut, by right-clicking on the Arrows menu item and choosing Add Shortcut, and it will ask you to press a key or combo.

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


text:
Is there a recommended way to put a copyright notice in a ~.blend file?
Suppose I have just created a ~.blend file, and I want to include in the file a copyright notice. Two ways I can think of to do it off the top of my heard are to create a plane mesh object, and assign an image texture to it, where the image is a copyright notice; and to create a text object, where the object itself is the copyright notice. I'm sure if I think about it more, I can come up with several other methods, too.
Is there a recommended or generally accepted way to put a copyright notice in a Blend file, perhaps in the file's metadata?

Usually I see these kinds of things embedded as a text datablock shown in  the text editor. See http://blender.stackexchange.com/q/15729/599

a text block is no good, because it does not stay with your object when it's copied or appended into other blend files, and it does not scale to scenes with hundreds or thousands of assets..   Today, the best solution is custom properties, though we need a better solution.

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


text:
What are the advantages and disadvantages of different ways of obtaining Blender?
Blender can be downloaded as an installer file, a zipped directory, or from Steam, among other places. What are the advantages and disadvantages of the various methods of obtaining Blender?

Windows Installers
These are useful if you want to have a version of Blender installed system-wide, accessible easily to all users. These will probably install start menu or other shortcuts and be neither installable nor removable by non-administrator users. Blender appears to be available in .msi packages. Although I don't know much about how that type of package is used, 50 seconds of reading the Wikipedia .msi article makes me think that it is sort of like Windows' own native package manager but without repositories. Blender is also available as a self-installing executable, which to an end user should be functionally equivalent to the .msi packages.
Portable pre-compiled archives (Linux and Windows)
These are very useful if you want to use multiple versions of Blender without installing any or all of them. These archives are portable and can be moved between computers on the likes of removable storage without interfering with possible existing versions of Blender. Administrative access to the system should not be required to use these.
OS X
OS X handles applications quite a bit differently from other systems. Many applications, including Blender, are directories suffixed with .app containing a directory tree with the program's executables along with any additional libraries or resources that are not shared with other applications. Usually these bundles are kept in /Applications, but they can be renamed, moved, and used anywhere much like the archives mentioned above.
Package Managers (Unix-like systems)
Many Linux distributions have pre-compiled binary packages of Blender that are distributed through repositories and installed with the distribution's package management system. They have the advantage of being automatically upgradable, although the usefulness of that depends on how quickly a particular distribution updates their Blender package and/or how up-to-date of a version of Blender you require. Like with Windows, this is a good way to make one version of Blender available to all users of a system. Gentoo Linux and the BSDs have similar systems with automatic upgrading and such, but the main difference is that they compile applications "on demand" when they're installed rather than using precompiled packages. Configured properly, this has the obscure benefit of compiling Blender with optimizations specific to your CPU, which might improve performance a bit.
Steam
Steam is a cross-platform software distribution system with a focus on games. I assume that Steam shares the advantage of automatic updating with package managers. If you use Steam for other software, I can see that it would perhaps be convenient to use Blender from it as well, but since there are so many other ways to install Blender, I can't imagine using Steam just for that purpose.


text:
What are the advantages of material nodes?
Applying materials and textures to a particular model, what are the relative advantages and disadvantages of applying materials and textures without nodes, and with nodes?

In cycles the only difference is usability. I find it much easier to work with a node tree than a stack of drop-down menus, but functionally they are the same.

@braasshat: Please specify: What renderer do you use? It's makes a difference between using Cycles or the blender internal render engine.

Blender internal is what I usually work with, as what I produce is for a game with its own render engine.

authors: Илья Величко


text:
Is it possible to use different object interaction display modes on different objects in the same scene?
I have a scene consisting of multiple objects, some of which are objects incorporated in the scene. The other objects are not incorporated in the scene, for example, the lamps, the cameras and certain objects I call "helper geometry". Examples of helper geometry include plane objects onto which a reference image is textured, and cube objects of defined size to use as a quick aid to setting exact sizes of other objects.
I'd like to be able to have the object(s) upon which I am actively working in edit mode, wireframe view, other objects which are useful as references in solid view, and the reference geometry objects--especially those textured with reference images--in textured view. How can this be achieved?

In the "Display" tab of the properties panel you can choose, for each object, the maximum draw Type: textured, solid, wireframe.
This can help.

One way to achieve part of this effect is by manipulating normals. Imagine a reference image of an object whose geometry is to be modeled, for example a horse drawn wagon. Create a plane object, and a textured material where the reference image is the texture assigned to the plane (or activate the "import images as planes" addon.) Start modeling using the usual methods, but every time a face is created, set the normal to that face so that it faces towards the reference image. Now, looking at the model towards the reference image, the reference image is visible through the model. This will work until something better happens along.


text:
Is there a "get individual"?
I have a grid and a plane which are not parallel.

I'd like to move (G-key) the selected set of points down so that the value on the z axis of each point after moving is the same as the value on the Z axis at that corresponding point on the plane. The effect might be what one would achieve if one took the "move" tool, the "individual" part of "extrude individual", and the "snap to plane" function. Am I looking for something which does not yet exist?

Well it doesn't exactly exist as a tool but you can achieve this with a vertex group and the shrinkwrap modifier.
So you first take your selection and assign it to a vertex group, then apply a shrinkwrap modifier with the target being the plane below and the shrinkwrap mode being "Project". Then you just need to select the axis you want to project along and the direction on that axis.
After you've done all that you should have your result. You can now apply the modifier and delete the vertex group.


text:
Obj export : change mtl mapping path mode
I'm on Blender v2.83.1 and I want to export obj to upload into an other software.
When the software is run, I get an error saying that it cannot find the texture files that are stored in the .mtl file. I have a hunch that this is due to the way blender stores file paths in an .mtl when we export an .obj.

In such a situation, a fix is to manually copy paste the image files into the obj folder, and manually change the mtl file in order to remove the file path to only keep the file name

ex) changing "map_Kd c:\folder\image_name.png" into "map_Kd
image_name.png" for all image path.

Is there a way to export my obj file so that my .mtl file will work correctly with the software?

Set Transform > Path Mode to Copy on the OBJ export screen. I'm pretty sure that does what you're asking for.

Hi scurest thank you I should have figured that myself... It is not perfect though I only get the bump image files copied into the folder but at least the mtl has correct paths!

When exporting to obj with mtl there are few things to keep in mind.
Firstly when exporting a blender project to obj with mtl you must use principled BDSF on your surfaces, without this the mtl file will not even contain correct paths to your textures.
Now when we get to the export page for .obj we note the following:

As of Blender 4.0.2 we have the following export options:

Auto: Will use relative paths if the textures are located in a subdirectory with respect to the blend file. This means that if your textures are stored in a parent directory, an absolute file path will be used.
Absolute: The filepath specified from the root directory of your computer is used, if you share your export (with textures) to someone else it will likely not work because they have a different directory structure
Match: When you select a texture in your blender project, if it was selected through an absolute path then that is what gets stored in the .mtl file, if a relative path is used for selection then a relative path is stored in the .mtl file.
Strip: Write the filename only ignoring the path that gets it there.
Copy: Same as strip, but for every texture used it is copied to the output directory where you are exporting your obj, note that if you have a texture directory it will copy the textures from there to this export directory.

Personally I use the relative setting. When I share my work with others, I send them a directory which contains the textures and also the obj files in the correct relative hierarchy so that they can load in objs with mtl's correctly.

For those that export to .obj frequently and don't like to have to select 'Copy' every time try this:
Blender 2.79 change default Path Mode to Copy

Navigate to the io_scene_obj folder in your addons folder <YOUR PATH>\scripts\addons\io_scene_obj

Open the __init__.py file in Notepad

Find the following import line:

    from bpy_extras.io_utils import (
        ImportHelper,
        ExportHelper,
        orientation_helper_factory,
        path_reference_mode,
        axis_conversion,
        )

Add a new line right after that as follows:
path_reference_mode[1]['default'] = 'COPY'

Another helpful thing to change is having Selection Only on by default

Find the following line :

    use_selection = BoolProperty(
        name="Selection Only",
        description="Export selected objects only",
        default=True,
        )

And make sure default=True

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


text:
Disable smoothing of UVMap coordinates between 1.0 and 0.0 (at seams)
is there a way to disable smoothing of UVMap coordinates (not texture, but coordinates) at seams ?
I believe blender smooths transition between 1.0 and 0.0 (or values close to it),
what I currently get is ... 0.8 ... 0.9 ... 0.5 ... 0.1 (notice blender trying to smooth the jump by inserting 0.5 after 0.9).
This is also visible if I display UV coorinates as colors on UV sphere vertices:
Notice blender trying to smooth transition from green to yellow by inserting 1 value in-between them. Again, what I want is a sudden fall from 1.0 (or 0.9 if 1.0 nowhere to place) to 0.0 (so that it's sudden jump from green to yellow on image). Is that possible to do with default blender's UV unwrapping ? If not then what about manual UV unwrapping ?
update:
Here's the node setup I'm using to store a UV coordinate per each vertex (there's additionaly a "Viewer" node that displays UVs on vertices just to illustrate the issue):

("Some work with UVs" frame is just a placeholder for node setup where I need UVs to be in before-mentioned format)

This happens, because UV Map attribute is stored on Face Corners.
Why exactly do you need to sharpen it and is using geometry nodes possible in your project?

I'm trying to apply multivariable function z=f(x,y) on UV coordinates and then move respective point on the object along the normal * z. The function wraps x and y in sin/cos so transition from 1 to 0 should be smooth (1 and 0 are mapped to 2*pi and 0 respectively).
Yes, I'm doing this in geometry nodes and UV coordinates I get by using "Capture Attribute" (per point) + "Named Attribute" (UVMap)

The solution to your problem will be to store the attribute on faces, I suppose. Without more context(node setup) I may be wrong with my assumption

I have only vertices, no faces between them, meaning I can't store attribute per face. Or do you mean something else ? (I've attached a screenshot of node setup)

Oh, I see, It's a bit different from what I thought about initially. For what reason do you need the mesh to points?

I've got it working, here's the result I needed:

And here's the node setup:

Not sure how exactly "Sample nearest surface" works, but it gives the result I need.


text:
Generate Rig from vertecies
I am looking for a way to automate this setup:

Basically, i want to generate a armature with bones for every vertex of a selected mesh. Ideally, the bones should point in the vertex's normal direction (although that's not that important, they can also just point up or forward).
Because my mesh has overlapping vertices, it's important that the weight painting happens automatically. Each vertex should only get assigned to it's designated bone, which doesn't work with blender built-in auto weight's system. (See comment's for more details)
Does anyone here happen to have a python script laying around that does this? Or maybe know about an add-on for this?

Duplicate of https://blender.stackexchange.com/questions/68907/add-a-bone-at-each-vertex-location ?

@Lutzi thanks, but this doesn't assign any weights. I'm working with a somewhat high poly mesh that has overlapping vertecies so that part is pretty important. Automatic weight's wont work with that and painting them by hand would be a nightmare

Why don't automatic weights work? Do Automatic Weights and then > Clean Weights (0 | keep single)

@Leander Automatic weights assigns 0.5 to overlapping vertecies, assigning both vertecies to both bones. The clean weights function doesn't seem to do anything in my case

Your question didnt say anything of overlapping vertices and only shows manifold topo (cube) as an example. Could you update it and include this info please?

Use Automatic Weights

Create the bones using this script.
Parent with automatic weights.

(It works with the Suzanne model.)
Use Weight Paint > Weight > Limit Total > 1 to limit the amount of weight groups per vertex.

Create the weights with a script
import bpy
import math

ob = bpy.context.object

# optionally remove existing modifiers and vertex groups
for mod in ob.modifiers:
    ob.modifiers.remove(mod)
for v in ob.vertex_groups:
    ob.vertex_groups.remove(v)

# store positions for base and tail of bones
coords = [[ob.matrix_world @ v.co, ob.matrix_world @ (v.co + v.normal)]
    for v in ob.data.vertices]

# the padding will be used to create unique names
# eg: 002
padding = math.ceil(math.log10(len(coords)))

# create the armature and link it to the scene
rig_data = bpy.data.armatures.new("rig_data")
rig = bpy.data.objects.new("rig", rig_data)
bpy.context.collection.objects.link(rig)

# add the armature modifier
mod = ob.modifiers.new(type='ARMATURE', name="rig")
mod.object = rig

# go into edit mode (to add bones)
bpy.context.view_layer.objects.active = rig
bpy.ops.object.mode_set(mode='EDIT')

# add a bone for each coordinate pair
for i, coord in enumerate(coords):
    # create a unique name
    name = str(i).zfill(padding)

    # add new bone
    bone = rig_data.edit_bones.new(name)
    bone.head, bone.tail = coord[0], coord[1]

    # assign weight to new group
    grp = ob.vertex_groups.new(name=name)
    grp.add([i], 1, 'REPLACE')

bpy.ops.object.mode_set(mode='OBJECT')


text:
Rename all selected NLA tracks with the name of the actions they are holding
Is there a way to automatically rename all existing NLA tracks with the name of the action that they are holding? Tried to find some scripts but only found the one to create an NLA with the name of the active action, not to rename all the existing selected ones.

Try this. It affects all selected objects.
import bpy
for ob in bpy.context.selected_objects:
    if ob.animation_data:
        for track in ob.animation_data.nla_tracks:
            if track.strips:
                track.name = track.strips[0].action.name

If you want to do only selected tracks, replace if track.strips: with if track.strips and track.select:.


text:
Control Blending Mode of the Color Mix node through the custom driver
Could somebody point me out on how to control the Blending mode of Color Mix nodes through the Custom Properties driver? I want to be able to choose between Mix, Multiply and Add parameters.
I have been creating custom drivers to change floats and colors, but never to pick a value from the list. Can't find any advice on the topic.

Please ask a new question instead of editing the question into a different one.

@3DBear: Editing questions to ask another question is pretty unfair and unthankful to those, who already answered your question. Also consider clicking the confirm button if the answer helped you. As you know you can open as many questions as you want. Thx for your understanding.

I just emphasized what was already in the question. I did not ask for a totally new things, but rather prioritized the different parts of the first question

Don't understand me wrong, I don't accuse you of anything, just look at the difference of the changes you made: https://i.imgur.com/CjuxJTI.png - you removed over half of words and then added majority of the new form of the post - of course metrics like this (amount of words removed/added) can't possibly mean the change is incorrect, but it really should make you reconsider if this is the edit you want to make :D And I think both me and Chris agree the edit was actually changing the meaning of the question too much. Simply ask a new question and link to this one for context.

You can use usual workflow: right-click a field and choose "Copy as a New Driver", and right-click another field and choose "Paste Driver". The value to be used is the index of the option:

LOL! I did not notice that I was already controlling it through a custom property integer driver. =DDD Thanks. Are there any tricks to limit the amount of options though? Instead of going through all the list, would be cool to skip some of the blending modes.

@3DBear x if x < 4 else x+1?

@3DBear: Please click on the checkmark left of Markus answer, if it helped you. Please do NOT ask further questions in the comments, but open a new questions because other people cannot (!) find these questions/answers in the comments and so these are useless for other people who are searching for answers. Thx for your understanding.


text:
How To Do UV Indexing in hexagonal pattern?

how to do uv indexing like this procedurally?
i wanna make some shader that can pixelate image but with hexagonal.

"pixelate" is unclear, do you just need a pattern with a-rows and b-columns? I would recommend starting with a gradient that adds the red channel on the u-axis and green channel on the v-axis. The colors for the hexagons are solid and can be based on their center points. If the last hexagon row/column wraps around (and it does), there are 10 hexagons. So the sample points (centers) will be u = i/10, v = j/10. Of course that isn't the hard part. I'll keep an eye on this question, but I think you need to increment i and j for inequalities in a union of if-statements representing boundaries

This isn't really an "answer" but I started dissecting this free shader and it is interesting. It won't provide exactly the same effect though. Needs some tweaking. It is interesting to examine how modular arithmetic is used to create a repeating pattern.
https://gumroad.com/l/yOBIH

@hatinacat2000 that's cool. https://imgur.com/o1iUZg5 still not there yet but it getting closer. any thoughts on this?

Yes, I have been working on something but it looks like you have it now?

@hatinacat2000 not what i expected

Resolution is too low to read that image, can you share the .blend file?

Here's one I made earlier. It's got a few subgroups in it that can be replaced now, since Vector Math nodes have been improved in 2.81. It has cell index, cell UV, cell distance-from-edge, and cell radial-angle. Christmas is making things a bit busy.. will expand to an explained answer when I get a chance.

@RobinBetts you sunuvabitch...you've done it! Looks great

@Markus about time. Good Call.

Hexagonal Tiling
Updated. See Edit at bottom of this answer..
You can't map the centers of tiled hexagons onto one rectangular grid, but you can map them onto two overlapping rectangular grids, and use a Voronoi-like distance-to-closest-point test to decide which grid a shading point belongs to.
Preparation
Unfortunately, Blender's node implementation of modulo goes into the negative for negative bases, and we would like a plain regular sawtooth, not jumping as input crosses 0. So we can make a group implementing an alternative mod(): x - y * floor(x/y):

which, for convenience, we can use in a group 'Vector Modulus', applying it element-wise to a vector:

Rectangular Grids
We can use the Vector Modulus group to divide a given UV space into rectangular cells, width 1, height sqrt(3). The centers of these rectangular cells are at the centers of successive tessellated  hexagons in a column, and adjacent tessellated  hexagons in a row.
We move (0,0) to the centers of the cells by subtracting (0.5, sqrt(3)/2) from (Cell U, Cell V):

.. and call it 'Grid A'.
We create another grid, 'Grid B', by offsetting Grid A by half its dimensions in both directions, so the corners of A  at the centers of B, and vice-versa.
To Hexagons:
Now, by selecting the shorter of the Grid A UV and the Grid B UV vectors, i.e. the the UV in the space of the closest cell from either grid, the result falls into tessellated hexagons. (Surprising, until you think about it)
We haven't scaled or distorted the original Input UV in this conversion, just renumbered chunks of it. The rate of change in X and Y is the same, so if we subtract the Cell UV from the Input UV, the result will be constant in any cell, and different for each cell, so can be used to index the cells:

The 'Hexagonal Grid' group in the download has the outputs:

Grid ID, a 2D unique ID for each cell
The cell's internal UV, (-.5 to .5)
The  2 distances of the shading point: from the center and the edges of its cell.

Thanks to The Art of Code, aka  BigWings on ShaderToy, for this method.
Edit:
Since answering, and with newer nodes, Wannes Malfait has pointed out a much snappier way of constructing the offset grids, with just 9 nodes:

Victory. And a merry Xmas to you too Mr B.

Adjacent hexagons will be translated by (+-1,+-SQRT(3)/2).
I did not put in a scaling function (though I did attempt to tile it).
Here's the file I was working on. It's not very useful so far but you can move the hexagon by changing the center coordinates:

This has been especially challenging for me because hexagons do not tesselate on a square unless you are willing to crop 7 of them at once. I assumed making the unit based upon multiple hexagons would make it impossible (or more difficult) to link the color data to every hexagon's center. At this stage though, I have not even succeeded at that yet.
EDIT1 Got the color working:

Share your file with me and maybe I'll be inspired.

@Baybaypras and you...  Commenting here, because running out of room in OP.. check out the superb teaching of the Art of Code here.. wish I could credit by name.. I've learned a lot from him... it's where my implementation comes from. Maybe you can improve it.

I started watching this guy this week, he does very cool stuff. I am looking forward to getting into Shadertoy. Also, @Baybaypras, it seems that the guy who made that free hexagonal shader is using the paid version to make the same pattern you cited:
https://youtu.be/OENT4l4PFNE


text:
How to install opencv-python and opencv in blender 3.0 windows
I am trying to install some libraries like opencv-python and mediapipe in Blender (Windows 10, Blender version 3.0). I have used the following commands to install opencv:
cd [Navigate to where python.exe is in blender folder]
The path is:
C:\Program Files\Blender Foundation\Blender 3.0\3.0\python\bin

In command prompt I execute the following statement:
python.exe -m pip install opencv-python

This gives me the following message:

Defaulting to user-installation because normal site package is not writeable

I already have anaconda3 (python-spyder installed on my windows system which I am using for other ML work). So is it possible that installation is causing some clashes?
I also tried the following script:
import subprocess
    import sys
    subprocess.check_call([sys.executable, "-m", "ensurepip"])
    subprocess.check_call([sys.executable, "-m", "pip", "install", "--upgrade", "pip"])
    subprocess.check_call([sys.executable,"-m","pip","install","opencv-python"])
    subprocess.check_call([sys.executable,"-m","pip","install","opencv-contrib-python"])
    subprocess.check_call([sys.executable, "-m", "pip", "install", "mediapipe"])

After the script is executed, when I try to import cv2/mediapipe I am getting no module found error.
Any ideas on how I can resolve this issue?

Have you tried this? https://blender.stackexchange.com/questions/56011/how-to-install-pip-for-blenders-bundled-python

I don't use Anaconda, take a look at this answer which suggests to use conda deactivate twice. However, in case Anaconda is just completely unrelated, try running your command line as an administrator and try installing Blender outside of special folders like Program Files.

Crantisz that was the first thing I looked at,as for markus's suggestion,even after deactivating I am still getting the error

I was able to get the installations done,apparently I had to use pip --t as mentioned here https://stackoverflow.com/questions/2915471/install-a-python-package-into-a-different-directory-using-pip


text:
Is there any way to select regions of mesh with shadow and measure the surface area of the mesh?
I am trying to quantify shadow on different parts of a mesh at different orientations of illumination. So far all I have found is to outline the shadow manually on the mesh, separate it and use the 3d printing add-on.
I have a 3d scan of a face with a light pointing directly at it and I'd like to select the shadows, for example, on one side of the nose compared to the other and measure the surface areas against each other. For example

Please illustrate.. you could mean self-shadow, cast shadow, onto a flat surface, onto an arbitrary surface... anything.

Self shadow. I have a 3d scan of a face with a light pointing directly at it and I'd like to select the shadows, for example, on one side of the nose compared to the other and measure the surface areas against each other. For example

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


text:
How to delete overlapping faces without decimating entire geometry?
I am trying to create a mask for a friend using 2 free models I downloaded.
https://free3d.com/3d-model/base-mesh-ready-to-be-rigged-15483.html
https://sketchfab.com/3d-models/sheep-skull-291dcb390c2f41e0a33e8df98883c291
However, part of the skull model overlaps inside of the head, and all of my attempts to fix this have failed. The Boolean modifier continuously deletes the mesh outside of the head or deletes one of the meshes entirely. Attemping to manually delete individual faces by hand is also deleting unnecessary faces from outside the head as well.
Blend file (blend-exchange would not work):https://drive.google.com/file/d/1Ic6R66jSH9KRSNOYrKgQCg6pqY0pFUgr/view?usp=sharing
What I want the mask to look like:

The part that is clipping:

Hi, Nascarlaser1. It is usual for BSE users to see images in the body of the question. It makes it easier for people who are trying to answer questions when they do not need to follow links. Please post your images inside your questions in the future. I fixed it for you, I hope you don't mind.

It might also be helpful if you could share the .blend file. You can do that using https://blend-exchange.com/

Sorry about the pictures! I will upload the .blend file asap

you could use machine3tools addon
when enabled go to edit mode and press 3 for a clean up
it mostly works for me
there are other addons that can be useful for your scenario too
for example, you use the QuadRemesher addon to remesh  your asset so that the topology of your asset is better

I'll try these out, thanks!


text:
How do I match the indices of attributes to the indices of vertices?
I'm trying to write a mesh exporter that can export vertex colors (color attributes).
On the default cube, I've found the Blender counts 8 regular vertices wherein it stores 24 color attributes.

I assume the attributes consider the faces in a separate context and a vertex shared between multiple faces as unique within that context. Shown by how painting on one corner will have the value appear three times in the color attributes list.
Vertices
1 1.0 1.0 1.0
2 1.0 1.0 -1.0
3 1.0 -1.0 1.0
4 1.0 -1.0 -1.0
5 -1.0 1.0 1.0
6 -1.0 1.0 -1.0
7 -1.0 -1.0 1.0
8 -1.0 -1.0 -1.0

Colour Attributes
1 [1.0, 1.0, 1.0, 1.0]
2 [1.0, 1.0, 1.0, 1.0]
3 [1.0, 1.0, 1.0, 1.0]
4 [1.0, 0.015996292233467102, 0.02732088789343834, 1.0]
5 [1.0, 1.0, 1.0, 1.0]
6 [1.0, 0.015996292233467102, 0.02732088789343834, 1.0]
7 [1.0, 1.0, 1.0, 1.0]
8 [1.0, 1.0, 1.0, 1.0]
9 [1.0, 1.0, 1.0, 1.0]
10 [1.0, 1.0, 1.0, 1.0]
11 [1.0, 1.0, 1.0, 1.0]
12 [1.0, 1.0, 1.0, 1.0]
13 [1.0, 1.0, 1.0, 1.0]
14 [1.0, 1.0, 1.0, 1.0]
15 [1.0, 1.0, 1.0, 1.0]
16 [1.0, 1.0, 1.0, 1.0]
17 [1.0, 1.0, 1.0, 1.0]
18 [1.0, 1.0, 1.0, 1.0]
19 [1.0, 0.015996292233467102, 0.02732088789343834, 1.0]
20 [1.0, 1.0, 1.0, 1.0]
21 [1.0, 1.0, 1.0, 1.0]
22 [1.0, 1.0, 1.0, 1.0]
23 [1.0, 1.0, 1.0, 1.0]
24 [1.0, 1.0, 1.0, 1.0]

What I want to know is how to map these different color attribute vertices to the main positional vertices.

Found it.
The MeshPolygon struct has a field called loop_indices. Each of these indices corresponds to the attribute index I described in my question.
Indexing the Mesh.loops field with this same index will return a MeshLoop struct that has a vertex_index which will get you the positional vertex.

Vertex indices match data indices.
If I make a vector attribute creatively called "VectorAttribute" by converting some color attribute so I can recognise the values I previously painted and want to access it, it is apparently stored in object.data.attributes['VectorAttribute']. If I want to know the value of this attribute assigned to vertex with index 7, it's  C.object.data.attributes['VectorAttribute'].data[7].vector. Console prints:

This matches my expected values.
I used functionality of MeasureIt add-on to visually confirm vertex indices:

I made some changes to the original question which will hopefully better show my problem


text:
Trying to retrieve current frame number for use in Cycles particle age material
I'm trying to create a cycles material to make a particle flare out when it dies in a collision with another particle using Blender 2.72a.
I've managed to get particles to attack and kill other particles using Boid physics, but getting the dead particles to do anything besides disappear or sit there is proving to be a prickly problem.
I'm spit-balling several approaches.  My current attempt is to drive emission strength and transparency based on how untimely a particles death is.  A particle that dies in a collision will have a velocity of zero and an age less than it's lifetime.  However, since dead particles report 0 for their age, you can't use that to determine if a particle just died unnaturally, or if it expired a hundred frames ago.
I can get around this if I can retrieve the current frame number for the scene and I've even got the code snippet:
bpy.data.scenes['CYCLES'].frame_current
I saved it as a script and referenced it in a Script Node that I was able to add to my particle seed, but I can't access the retrieved value.
I was thinking of modifying the scriptlet to populate a global variable or attribute with the frame number and then access it with the Attribute node.
So how can I store the current frame number in a way accessible to the material editor?
I've included a link to my blend file.  The correct answer doesn't have to implement my code.  If you've got an idea that has nothing to do with python, I still want to hear it.

One solution would be using particle nodes, and just emit more particles when the first die; This is, however, not in Blender yet/anymore(there is a build, but it's from 2.62... http://graphicall.org/905).

I'd heard about particle nodes from Andrew Price.  From watching MODO tutorials, I can see how versatile they are.  Hopefully the Blender devs are giving it priority.

watching someonewithpc's videos, it's frustrating to see how close they came to implementing node particles before pulling back.

To be cleat, it's not my video; But, yeah, I feel the same... There probably is some annoying technical reason for it, thought.

One way is to animate it:

Add a value node (⇧ ShiftA)
On the first frame set the value to the frame number (in this case 1) and press I while hovering over the input field.
Do the same for the last frame.
Change the keyframe interpolation to Linear (T) in the graph editor.

Ideally you could just type #frame into the value node, however it seems the value only updates when you toggle in and out of edit mode (or in some way cause the object to re-evaluate). It doesn't update automatically when rendering :/
Hopefully this will be fixed with the new depsgraph :)

That's certainly an innovative way to get the frame number.  Thanks Gandalf, that might do the trick.

2018 and I'm pretty sure the #frame scripted expression bug is still completely unresolved.

@Logic1 Seems to be fixed in 2.8


text:
Where are the instructions for installing the 2.71 Release Candidate?
I've downloaded the Zip file for Windows 64Bit and unpacked it and now have a folder with 226Mb of files that includes a Blender.exe.
I however, couldn't find any installation instructions either in the readme or the created folder structure.
I'm trying to set up 2.71 for production testing.  How do I do that or where do I find instructions on how to do that?
Thanks
John

In that folder you unzipped, just double click on the blender.exe file.  There is no need to "install" blender like you are thinking. Blender runs straight from the unzipped folder.

It appears to work as you described

The Release Candidate seems to be only released as a zip file. This can be unzipped wherever you want and run from the folder, it doesn't need to install.
If you download the latest official release of Blender, currently 2.70, then you have the option of either downloading a regular installer or a zip again.


text:
How to add an object?
I can't find the option to add a new object then new texture and image. I am trying to create a 3D map from a heightmap image.
I have watched a few tutorials but the one that shows how to add a new object is for a different version with a different layout.

To add a new object, you can

Press ShiftA in the 3D view and then select the object you want to add.

Press Add at the bottom of the 3D view and then select the object you want to add.

Firstly, press Shift + A, or change the tab on the Toolbar to "Create" and then select the Plane primitive.
When creating a mesh with a heightmap you will want to first subdivide it a couple of times by pressing W and then selecting the Subdivide option. When you have pressed the Subdivide button you can either press F6 to bring up the options menu or make sure you have the toolbar activated (the one on the left) by pressing T, both will provide you with the same resources. After you've pressed F6 or if you are looking at the bottom of the Toolbar you will see options for the subdivision menu. Crank up the number of cuts to something like 30-50, depending on the detail you want.
Once that's done, go to the Modifiers panel (the wrench icon to the left hand side of the UI) and add a subsurf modifier (or press CTRL + 1/2/3depending on the level of subdivisions you want) to get even more detail.
After you have added the subsurf modifier, add a Displace modifier. Press the New texture button and then click on the checkered board button in the same row as the wrench one. Once there, change the type to Image or Movie. After that you want to press the Open button and select your heightmap, and you should be set. If it is effecting your mesh too much, you can turn down the Strength parameter in the displace modifier.
Oh, and if it isn't working, try to UV Unwrap your plane first. You do this by making sure you are in edit mode Tab and then selecting everything with A, and then press the U button. Also make sure that the Subsurf modifier is at the top of the stack.
I hope I didn't "overanswer" your question, and I also hope I formatted it okay. I'm new to the site! :)

Welcome :) If you need any help formatting, there is a comprehensive guide here.


text:
dirty vertex color with the multiresolution
I am making a candle with sculpting and I want some dirt on it so I am going to use dirty vertex color but I don't want to apply the multires modifier so is their any way to make dirty vertex color without applying the multires modifier

Not currently. I know of one person who has been on a campaign over this issue for a long time now.
I always have UV's built early so what I do is duplicate the object then move it to another layer.  Then I apply the modifier and bake the results to a texture.
Then I delete the duplicated object and apply the baked texture to the original model which still has the modifier.
Once you get used to doing this it can be usually be redone within a couple of minutes so you can redo it easily if you have updated the mesh and require a rebake.
Here are the relevant bake settings that I use.

BTW, even though there is a bake pass type called Vertex Colors, it does not produce the results that I expect.  For me it always bakes much darken than it should but maybe I'm doing something wrong.  The settings I showed here work well.


text:
Export Ocean Modifier animation to game engine
I am trying to export an interactive Ocean modifier animation to be rendered in a game engine, the modifier allows the export of the displacement and foam maps, but not the animation created by intersecting objects and the foam created by such objects, Alembic exports the animated mesh very well, but does not generate any maps, and FBX does not export the animation and does not generate maps either.
Here is the test file I am using Ocean_test.zip - 228 kb
Any help would be greatly appreciated.

Manually combine the the exported maps with the FBX generated animation in the game engine

Hola Duarte, many thanks for your reply.
The Ocean Modifier can easily export vector displacement and foam maps to use in a game engine, that's not my problem, my problem is that I cannot find a way to export the extra animation and maps of objects interacting with the ocean, like the ball in the test file I posted, I can export an Alembic file that has the ocean animation as well as the ball interaction, but it does not export the maps that goes with it.


text:
Geometry Nodes: join two circles to create a cylinder
I'm trying to create a procedural mesh using Geometry Nodes.
For example, in this screenshot, I'm joining two Mesh Circles as if to make a Cylinder.

Can I connect the two with geometry somehow? If not using this method, I'd be very grateful to learn however it is possible. I tried with the Solidify and Skin Modifiers, but didn't get anywhere. Thank you!

I think this is also possible to create mesh with a Convex Hull Node. But this method is only to apply for a convex shape.
For details, please see following figure:

I found this method with the Curve to Mesh node:

Since Blender 3.1, you can just create one Circle and use the Extrude Mesh Node:


text:
How to animate perpendicular strips moving along a cable? (visualizing DC electric current)
I'm a newbie to Blender.  I've been doing mediocre solid modeling (using Alibre) for years, so creating models to import isn't a big problem for me.  But I'm wanting to learn to do a very specific simulation of electrical current flowing using Blender.  This animator did a wonderful job of current flow simulation tracking an electrical path (wire) at the 0.48 to 1:10 point:

https://youtu.be/CWulQ1ZSE3c?t=48s
The white cylindrical current objects track the path (wire) even when the wires move as the switch is put in place.
I've watched some tutorials on:

having objects follow a path: https://www.youtube.com/watch?v=G6NdQGySZhU
using keyframes as well as the dope sheet:  https://www.youtube.com/watch?v=LHdh8p37yM8

I'm guessing there may be multiple ways to perform this current flow simulation.  I'm finding Blender so powerful but also feature rich - feature rich enough to be confusing and difficult to learn.  Anyone have ideas on tutorials i should watch to help me get to this electrical current flow faster?  I really appreciate any help! Lane

Create a bi-color cylinder, give it an Array modifier and a Curve modifier, make it move on the right axis so that it moves along the curve. To move the curve you can hook the vertices of the curve for example.

Thanks Moonboots!  I'm not sure how to do that, but i can try to learn how.  any good tutorials you know of to show me how?  Lane

Also, how do i set up the multiple cylinders to track together?  does that have to happen in the dope sheet?

take a look at this kind of tutorial: https://www.youtube.com/watch?v=_3NFtRBDCV0

Can you add a screenshot from the linked video to your question next time, please? If the video goes offline, any future readers will have no idea what you're referring to.

Thanks for the tutorial link Moonboots.  I'll have a look and try it as time allows.  Good tip Blunder.  I'll be sure to screenshot for the future.

If you don't mind some stretching and compression - that happens when the segments of the curve don't have all the same length - then you can just bevel a curve and add a procedural bi-color shader that is driven by the frame rate for the animation.

If you don't like the stretching and compression then you can do what moonboot suggested: create a cylinder, apply an Array and Curve modifier. Last but not least, use a procedural shader for the animation. The drawback of this method is that you need one cylinder for each cable. But it can be a linked duplicate, so no biggy.
Shader for animation

Enter #frame + 12 in the purple value field to create the driver. 6 is the speed, and the +12 (=2x6) is needed for a continuous loop over all frames. 2 because it's bi-color. Switch the Add math node to Substract to reverse the direction.

wow...  thanks much Blunder!  i'm devoting an hour a day to try to pick up these skills.  Something tells me i'll have to put in some overtime!  haha.  but i look forward to running once i learn to crawl, then stand, then walk first.

Thanks Moonboots and Blunder.  i could use some advice.  I have limited number of hours to learn Blender, so i'm trying to maximize of my learning time.  I've been able to figure out (to some degree) setting up the array and curve modifier.  I've just spent some time looking at videos where folks are talking about procedural shading... and i'm not doing well with grasping the concept quickly.  Does Blender Cloud have basic tutorials for newbies?  I am finding this world where there is so much vernacular and use of shortcuts to be challenging for picking up object animation skills quickly.

Just a side-note to Blunder's Answer. You can get a shader-solution with even spacing if:

You convert your curve to a mesh
UV unwrap the mesh with one quad face active, and the 'Follow Active Quads > Average Length' option.

The shader-tree could then look something like this:

You have the option of key-framing the 'Location X'  of the Mapping node to move the bands.

However, these steps are destructive. You would need to take them right at the end, when you are sure your geometry is settled.


text:
How to edit speed on python script?
This might be a very simple problem but my knowledge on programming is limited to logic bricks. I ironically have a player script which determines the speed of my character and was wondering how I can have this change once a certain number is reached on my integer game property (i.e. when "counter" is equal to 5, speed becomes higher) ["Move: 2" refers to speed]. Here is the relevant section of the script.
import bge

from bge import render

cont = bge.logic.getCurrentController()

own = cont.owner

scene = bge.logic.getCurrentScene()

empty = scene.objects["Empty"]

pointer = scene.objects["Empty.002"]

empty.worldPosition = own.worldPosition

move = 2

emptyrot = cont.actuators["rotz"]

playerRot = cont.actuators["playerRot"]

mouseMove = cont.sensors["MouseLook"]

keyboard = bge.logic.keyboard.events

W = keyboard[bge.events.WKEY]

A = keyboard[bge.events.AKEY]

D = keyboard[bge.events.DKEY]

I am assuming this requires an "if" statement but how would I write this? Thanks.

please provide blend file. and looks like your script isn't complete...

what do you mean by edit speed? speed was changed here: https://blender.stackexchange.com/questions/248042/how-to-increase-character-movement-velocity-over-time-upbge

Here is the example file. As you collide with the blue spheres it adds to the counter property. Which edits to the script would you suggest to boost speed (e.g. change the speed value from 1 to 5) once the counter is equal to 3? thanks.

I think I made something that you're looking for. A dynamic speed operation that is activated on collision with a speed boost perk. The speed boost is deactivated after a certain stated time has elapsed, thus returning the player speed to its default speed.
In my blend you can walk around with W, A, S, D keys, look around with the mouse. And also collide with the blue-sphere boost perk for speed. The player speed should also increase accordingly after collision and decrease after a certain time.
Blend
https://github.com/RandomPandaStudios/BSE-Blend-Storage/blob/main/example_mine.blend

Looks good, thanks for the help.

Glad I could help.


text:
all brushes draw differently on different sides
when I use any brush in sculpting mode, I have a problem with how brush work. All brushes draw differently on different sides.
That how it looks after I draw. It's like I used CTRL with one side, but I didn't.

Have you checked if some of the faces are flipped? The face normal determines in which way the sculpting is applied.

I'll add a screenshot with normals

In the following screenshot, some parts of the mesh are indented and some are bulged - using the same brush, not switching any setting:

If you enable Overlays > Face Orientation, you can see that the indented parts are showing in red. The face normals are flipped with their inside out. To repair it, select all in Edit Mode and press Shift+N to recalculate the normals so that they are all blue.

its not worked.

@TheNelloY Yeah sorry, after I saw your edited question with normals it didn't seem like this could be the solution. I'll leave it here for people with similar problems. Maybe you have to upload your file.


text:
Intersection line between surfaces
I am new to using Blender, I am wondering if there is a way to easily get the intersection path between two planes as an object. So far what I've done is use the intersect (knife) tool and then manually delete all the vertices, edges and faces until I'm left with just the path, but doing this is quite laborious with complex surfaces.
Thank you very much for your ideas.
Edit:In the example image, I would look to get the marked area as a path.

Hello and welcome. You mean you did it like this right? I think that is the only way you described. Also you can try this https://blender.stackexchange.com/a/272058/142292

Yes you are right, I am doing it in a similar way, only that the example you give me is of surfaces on the same plane, I did not clarify that I am working with surfaces on different planes. But I guess that also applies

I see you updated the image, it is the same procedure, doesn't matter how you position the planes.

why do you say that it's laborious? Once you've done the Intersect (Knife) you just need to select the new edge, Ctrl i to invert the selection, then delete?

I say it's laborious because the surfaces I'm using are more complex than the example, with loops and small details, as well as the resulting path, so it takes time for me to select specific things. It is true that I was selecting the things that I want to delete instead of the path and then inverting the selection so your suggestion can make that job easier for me. As I said, I am new and sometimes I can get complicated in simple tasks, I will continue learning, thank you both very much for your patience and your comments.


text:
How to recreate the scratched plastic Lens effect, creating dynamic streaks relative to motion around bright object (sun)?
I need to create a lens effect that happens when the lens has many micro-scratches, creating streaks that seem to appear and disappear while also moving toward and away from the light source when the lens moves relative to it.
I tried creating a lens in Blender and adding a procedural micro bump. Although it produced many dots on the lens, it didn’t produce the streaks nor the effects. It seems I need convolution, but I can’t figure it out.

*video source: MadsHagbarthDamsbo


text:
How to move obj's uv map to another obj?(same shape but different vertices)
I have two obj with Almost the same shape but different vertices/faces. I wonder how can I move uv coords/map from one obj to another?

Bake from selected to active. Search for tutorials.

Make sure the vertex count is exactly the same as the source object, otherwise the transfer wont be possible, each vertex has an index number, the operator uses that to know how the data should be preserved.

While in object mode, Select the object you want the UVs transferred first, then while holding down Shift, select the source object with the original UVs,

Press Ctrl+L to open the Link/Transfer data popup > Select Copy UV maps

The final object shall now have the same UV layout successfully transferred.


text:
Make a bezier curve control point exactly vertical
I've created a bezier curve and given it some depth. I'm trying to make the control point on the end point exactly up and down. I guess you could say I'm trying to align it with its local z axis.
I know I can copy and paste the x and y numbers from the center point to the extended arms, but there's got to be a faster way, right? I have 17 of these to do, so any shortcut would be appreciated.
In the picture, I've selected the control point in question. It looks vertical, but it's not exactly vertical (and it needs to be).
Thanks for any help you can give!

What you can do is:

Select the Bezier curve and go into Edit mode.

Select the end point that you want to align.

Press Shift + S and select "Cursor to Selected" from the menu.

Select the control point that you want to align and press Shift + S again. and select "Selection to Cursor (Offset)" from the menu.

See if it helps
There might be other more faster ways I guess but that's one of em

That worked for me. I would also like to add a step 5. Press G, Z, and drag the handle upwards a bit. Otherwise, it sits on top of the center point.


text:
How to swap / invert the RMB (that activates the "object context menu") with the LMB (that selects an object) in 2.8
I would like to swap / invert the right mouse button (that activates the "object context menu") with the left mouse button (that selects an object). how can I do that ? I see that this can be chosen on the splash screen,but when it starts on my blender 2.8,I don't see the chance to do that.

Go to Edit > Preferences > Keymap > • Select with

I've inverted the mouse buttons,now I can select the object with the RMB,BUT when I press the LMB the "object context menu" does not appear anymore.


text:
How to remove the upper and lower checked box out of the render window
I'm trying to understand how to remove the upper and lower checked box out of the render window. I tried to adjust several parameters,but I did not succeed...

The aspect ratio in Render>>Dimensions must be X: 1.000 and Y: 1.000
See the image below.
Good luck.

yeah. it works great,but it's interesting to know how it is changed. I didn't change it.

Yes. If we change the dimensions in the dropdown list we can see the aspect raitos are different. So If we input other dimensions values manually the aspec ratio will not change causing that checked box.


text:
How to setup correctly the spot lamp
Can someone give to me any suggestion to set up correctly the spot lamp ? I would like that the light is like the one that you see on the last attached picture. I watched a tutorial,I tried different kind of parameters,but I'm not fully satisfied....very thanks.

How can I make the light wider ? as you can see,the light should have also a larger radius...

maybe something like this ? https://blender.stackexchange.com/questions/24493/is-it-possible-to-make-visible-spotlight-lightrays

ohhh nice. you are the n. 1.


text:
How to align automatically bones in edit mode and in pose mode
I would like to know how to keep aligned bones in edit and in pose mode automatically. Infact I see that when I move bones in edit mode they are not in sync with the same bones in pose mode and viceversa. Why this ? I attach two pictures to show you. thanks.

Bone Edit Mode and Pose Mode are two different things.
The Edit Mode functions like an automated "freeze transform" (if you are coming from Maya). This means in Edit Mode your mesh will always stay in its initial position.
Everything you transform in Pose mode will not get changed/applied in Edit Mode. But in reverse, if you change position in Edit Mode it will be changed/applied in Pose Mode as well.
Also keep in mind, thatin Pose Mode you have various factors, that can change the final position of your Bones. For example ik or postion constraints. Those constraints are also not active in Edit Mode.
So long story short: there is no way to guarantee 100% synchronization between those 2 modes. But in general this dis synchronization comes from wrong setup in the bone constraints.
Also if you want to reset all your manually set transforms in Pose Mode go to "Pose -> clear transform".
But keep in mind "manually set" means everything you have changed by hand (with the translation and rotation tools). If there is still an active constraint that is manipulation the transform of your bone, you will not get the initial set position from Edit Mode.


text:
How to make a fake 3d environment / animation with blender
I'm trying to follow a tutorial that covers all the main steps that I must learn to create an animation with blender. I'm becoming aware of the complexity and that it takes a lot of time. So,I thought that making 3D animations is simply prohibitive for one only person like me. I have also read that I can create 3D animations with a fake 3d perspective, that could be obtained by placing the camera in certain ways and by placing objects on particular inclinations of the X and Y axis. I would like to know more. I found only few informations on the net. But I've found an italian article that explain the logic behind the fake 3d. I have translated it to english language to explain better what I would like to do with blender. Here you can find the italian article :
http://www.francescomilanese.com/jav...o-3d-witu.html
and here you can read the english translation : /tell me what you think and if you know more informations about this matter,thanks/

To familiarize with the 2D representation of a '3D virtual universe' I show you a small application, a little map that has three axes arranged in a way that represents the reference system of Java3d : Y upward , X positive to the right and Z positive coming out from the screen.
The application, called ' witu ' ( Where In The Universe ) is essentially a small java2d panel, resizable and customizable which takes as input the values of X, Y and Z of an object (or of the point of view ) in a Java3D universe and shows a small ball inside a little map. The bead is precisely the object or the point of view, so the application behaves like some kind of panel that says ' you are here ' (it comes from here , in fact , the name witu ).
In the panel , a white dot identifies the origin ( coordinates ( 0.0 , 0.0 , 0.0 ) ) , while on the upper left will be shown the 'real' 3D coordinates (those that comes from the Canvas3D ) and a notice of 'out of bounds '.
The length , in pixels , of the X and Y axes are respectively equal to ( width / 10 ) * 8 and ( height / 10 ) * 8 , the Z axis length is calculated using the Pythagorean theorem.
Because of the limited size of the panel , it can shows the location of an object only if it moves within a space inside a limited area , called ' bounding box ' ; in our case , therefore , we need to define a ' bounding size' ( that will be equivalent to the length of the axis X , then the real 3D position will be translated , with a simple proportion and a pair of trigonometric formulas , in a 3D position). It needs a bit of trigonometry to calculate the ' fake ' Z coordinates (called tmpZx and tmpZy) .
In the ' WITU.java ' source files are present , commented , all the instructions that allow you to simulate a 3D space projecting it , using simple formulas , on a two-dimensional panel. The class witu simply contains the panel , that should be associated with an application that sends data of the 3D coordinates.
Inside the ' WITUapp.java ' files , defined on the same page ( next article in this guide) you can find WITU.java , that precisely defines a small mock object that creates a witu panel and performs some operations : basically , it sends the X values , Y and Z and modifies them in real time . The output of these operations is shown in real time on the Witu panel.

The reason for fake-3d in the article is probably not the same as your reason. Instead I imagine its a way to make things look 3-d while they are not.
While Blender is a suite of applications and capable of many things you may be better off with another application, if you dont want real 3d?

I would like to make fake 3D because I like the way a 3d animation looks into my eyes but It takes too much time and energy to complete only a little one. The logic explained on the article can't be used in blender ? why not ?

If you want to use fake 3d to make simpler animations than in real 3d I think you should use a 2d app.


text:
Display same part of HDRI on the background regardless of camera angle, but lit the objects in the usual way
On the image below, I have a solid color for my background. I want to use an HDRI texture instead, but so that it doesn't change when I move the camera. The objects on the scene should be lit in the usual way, by the entire HDRI.

So you want to see HDRI background, but you want the perspective to be fixed, as if whenever you rotate the camera, it doesn't actually rotate but instead everything else rotates?

The HDRI background image is fixed in A state (so the color is also fixed),
I want only that Gundam image I made to move at various angles.

Do you mean something like this? If so, I'm sure I've seen it posted, but can't find it....

Stupid question but I don't seem to understand what you want. You want the background to be fixed while the camera is moving...? Moving to... see the object from different sides while keeping the background consistent? What about rotating the object instead of moving the camera?

Every time you move the screen, the HDRI background color keeps changing.
I wanted to fix it.
I couldn't find a proper way.
So I just change it to a simple HDRI
Puport background color changes less.
I decided to write this
Thank you very much for your interest in the comments

I edited the content of the question based on OP's comment on Brinkmann's answer; it seems Gordon figured out what OP meant.

I hope I understand correctly what you want to achieve. If so, here is how I would do it when using an HDRI as background. Please note that this only works when using the camera view, since you cannot simply plug the "viewport view" into the Shader Editor (maybe someone else knows a way with some python scripting?):

Place an Empty in the world's center at X/Y/Z = 0/0/0 and leave the rotation 0°/0°/0° as well.

Add a Copy Rotation constraint to the Empty and use the Camera as Target. You can leave all settings at default.

Go into the Shader Editor set to World. Plug a Mapping node into the Environment Texture and connect it to the Object output of a Texture Coordinate node. Choose the Empty as Object.

Now you can use the Rotation in the Mapping node to create an offset to the Camera's rotation to select the view of the HDRI you want to see. You can now move the camera around, the background will always stay the same. Just note that since the background is moving together with the camera, the lighting conditions change.

If you want the view to change but not the lighting, you can duplicate the Environment Texture node and use it without Mapping. Use a Mix Shader with a Light Path node's Is Camera Ray output as factor. Of course both Environment Texture nodes can be mapped if you need it to get the lighting the way you want. You just can't use the Object output of the same _Texture Coordinate _ node for the one that shouldn't move, but the implicit default when not using the Vector input for the Environment Texture is Generated anyway.

Alternatively, you could just use the Texture Coordinate: Camera for the image sampling. But then your HDRI image needs to be flat.

Wow!!!!
This is the need I was so looking for.
I'm so happy you taught me a really cool method!!!!

@MarkusvonBroady Right, but since HDRIs used for lighting are usually 360°, I didn't go for the simple solution here.

@GordonBrinkmann oh, I mean your solution, just that the Camera Ray part could use the Camera coordinate, and another Image Texture. Perhaps you could even figure out the maths to still use the same Image Texture, I've never tried that so I don't know how hard it would be… The simplest approach seems to be to render an empty scene, and then use the resulting image.

@MarkusvonBroady My bad, of course you're right, this would work as well... just the perspective of the background would change, the equirectangular mapping doesn't work the same if you use Camera. Maybe I'll edit the answer later.

Yes, the mapping, also changing output dimensions could be problematic for that idea, but of course you'd know everything about that


text:
Script to draw lines within scene rather than over top of it?
Taking as an example this simple script to display an object's global bounding box:

Is there any way to make lines display in such a way that they are overlapped by the appropriate geometry? I am currently using the batch_for_shader() method, and don't know if I should be using something else instead.
The only solutions I have been able to find involve generating additional objects within the scene, which I would prefer to avoid if possible.

Add a depth test bgl.glEnable(bgl.GL_DEPTH_TEST), disabled by default:  https://www.khronos.org/opengl/wiki/Depth_Test

Code based on: https://docs.blender.org/api/current/gpu.html#d-lines-with-single-color
import bpy
import gpu
import bgl
from gpu_extras.batch import batch_for_shader

coords = [(1, 1, 1), (-2, 0, 0), (-2, -1, 3), (0, 1, 1)]
shader = gpu.shader.from_builtin('3D_UNIFORM_COLOR')
batch = batch_for_shader(shader, 'LINES', {"pos": coords})

def draw():
    bgl.glEnable(bgl.GL_DEPTH_TEST)
    shader.bind()
    shader.uniform_float("color", (1, 1, 0, 1))
    batch.draw(shader)

bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_VIEW')

If you want to disable it use bgl.glDisable(bgl.GL_DEPTH_TEST).

Thank you so much! I guess I didn't realize that I needed to go to the OpenGL documentation rather than the Blender documentation for this. But that does make sense!


text:
How to stop original array object from moving (circular array)
I am trying to get this rectangular object to array in a circle, evenly spaced so I can execute a boolean. I am able to do this, however for some reason, every time I do the original array object for the modifier moves one place over (I'm guessing 4.5°) away from the Y axis which I want it to keep locked on. This is because it is then much easier to edit down the line. How do i keep it locked to the Y axis and not move at all?

Hello it's hard to understand could you please share your file? https://blend-exchange.com/

Array modifier shouldn't move the original object  Maybe you parented the original object to the used empty? Select the original object and alt+P, clear parent.

Shared the file here

I tried to clear parent, still did the same thing when I tried the array :(

Your array modifier doesn't rotate your object, which you can clearly see by disabling/removing it:

You rotated the object yourself. So it is rotated. In order to apply object offset, don't rotate original object, rotate the empty used as object offset:


text:
Animate Locomotive by follow Path
I want my locomotive to follow rails over a hill.
The loc should always be on the rails.
I've tried a few things (such as https://www.youtube.com/watch?v=OruVKMGGPX8), but I always come back to the same problem: the locomotive follows the rail, but leans into the curve:

How can I fix this?

https://blend-exchange.com is the place to upload .blend files to be shared. Once uploaded, copy the generated link, edit your question here and paste the link in. Well prepared and explained screenshots can also help.

If your curve is flat you can simply change the curve type to 2D to ignore the tilt for each control point:

If it is 3D and you want to keep it that way, you need to reset the tilt of each control point that isn't set to 0 degrees:

EDIT: You can also try setting the Twist Method to Z-Up.
EDIT 2 (after seeing the blend file):
Start with applying all transform on the curve (CTRL + A > All Transforms), then set the Twist Method on the curve to Z-Up. Then you'll have to tweak the Z-rotation of the locomotive to make it line up with the track, something like -28 degrees seemed to do the trick for me.

It's a 3d hill with a 3d curve! And each tilt of all control points are set to 0 degrees!

Ok, upload the blend file so we can take a look.

Ok, the file is uploaded on Blend exchange!

@Capodelosplasticos, see my updated answer.

Hey Tobias, thank you for your help!!! I will try it out next weekend!!

That's really cool, it works perfectly!!!

Thank you very much!!!

if you delete your path constraint and if you use a bone and use follow path constraint like this:

and apply scale + rotation for curve + locomotive and use edit mode to place the locomotive exact on the rails, you will get this:

I investigated WHY it works, because to my understanding it shouldn't… So apparently the real solution is to apply the rotation of the curve and - which you don't mention, but you did it - set twist method to z-up. The twist didn't work for me when I tried it, because I was unaware of curve's rotation. And this is what Tobias Einarsson said in the first answer in the thread

uhm...just read...i wrote "apply scale + rotation for curve + locomotive"

Notice the - hyphen inset - is after the "and" in my prior comment :P

Hey Chris, thank you for your help!!! I will try it out next weekend!!

You are welcome!

I couldn't find anything on automatically aligning curve tilt to +Z, so you would need to use a complex geonodes setup, then, because apparently the constraint isn't affected by geonodes, you would need to capture the calculated tilt as attribute, make Python read the evaluated attribute and write it to the original geometry (and you would need to run the Python script after each modification of the curve)…
Or you could just align your object up using Geometry Nodes:

Clear all rotations on your loco.
Change Forward Axis of your tracking to $-x$, because that's the direction your loco looks at when you duplicate it and ⎇ AltP clear parent:
Add Geonodes setup to your loco:

Of course you could animate it all in geonodes to begin with:

Hey Markus, thank you for your help!!! I will try it out next weekend!!

@Capodelosplasticos consider my answer if you want to learn something new, but I think Tobias' answer is on point and most appropriate for your scenario.

You've right, Tobias solution is very smart and also easy! But you have to find out first! Thanks anyway for your help


text:
How to set correct measurements
I have a floor plan and as per image i have scale the reference image. Started with the elevator 5x5.6 that looks perfect in size marked in red. But with the terrace 6.6x19 feet why it's not matching the red rectangle.

Anyway to fix.

I suspect that plan is not drawn to scale. For instance the 10' x 12' bedroom is wrong too as is the 10' dimension at the bottom of the plan.

i agree with John. The plan is wrong.

@JohnEason can i share the pdf file?

No point really. I've extracted the image from the blend file but don't really have an accurate way of measuring it here.


text:
Whats going wrong with the Hinge

With the boolean modifier, I try to cut both the end, what's going wrong, and why there is overlapping. I want to make a hinge so that it can fold, Any suggestions or help? thanks

First question: Do you have the scale applied to both objects? (In Object mode, Ctrl-A > Scale.) If you do then you'll need to share your file so that we can see what's going on. https://blend-exchange.com/ and follow the instructions there.

@JohnEason Yes scale are applied, and i have attach the file, plz check the question.

Looks as if the Y dimensons and spacing of your cutter object is wrong at a quick glance.

@JohnEason did not get what u mean

there is this "overlapping" because your individual meshes in the Cutter1 object are not wide enough. They have to be wider than the meshes in Cutter2

it gets pretty obvious, if you just move your one part to the side: [1]: https://i.sstatic.net/YTbAI.jpg

@Chris how to solve any suggestion plz

@atek increase the cutter size

as Harry and Markus already commented...just change the cutter sizes

@Chris i tried but the below part also getting overlap

so pls upload the new blend file with your new try


text:
XOR node for edge matte
Is there an XOR node to XOR a dilated-out matte with a dilated-in matte, so that you just have the edge of the object masked; to do things like edge blur; or color correcting... Like brightness etc. ?

There is not an exclusive-or (Xor) function in shader nodes; but you can synthesize an Xor using two nodes.  Here is a very contrived example of this:

and here is a plane that demonstrates the result:

Here I have coded, roughly, "the region of the UV map where $X \lt .8$ or $X \gt .9$"
Note that I'm actually computing the negative of the XOR.  The white region represents the truth value of the XOR but is output on the 0 value of the compare node.  To make a true XOR, add a math node after the compare and set it to subtract the compare output from 1.
Basically this works as follows:  The Greater Than and Less Then nodes produce Boolean values, 0 for False, and 1 for True.  The required input to the XOR must have this property.  XOR should produce a 1 if either value is True but not both.  If you look at this as an arithmetic problem, you can add the two Boolean input values.  This will produce 0 or 2 if the XOR is not satisfied, or 1 if it is.
So the XOR comes down to adding two integers and comparing the result to 1.
The mix node is just for visualization.  If Fac is 0, it will produce black, otherwise white.
It's a bit fragile and my own implementation has some extra logic to convert the inputs to Booleans using C logic: Anything not equal to 0 is True.
Using XORs on both the X and Y UV values you can produce the mask you're looking for.

Mix RGB node in Difference mode can work as XOR:

See also:
What does the MixRGB or Mix Shader node factor do exactly?


text:
My G hotkey doesn't work, how to rework it?
When I wanted to edit my donut, I suddenly found that it has no reaction when I hit G, is there something I can do to fix the problem?

Try turning off Proportional Editing (letter O).

You can switch to the Move gizmo (on the left “toolbar”) and use that instead.

@ChristopherBennett@TheLabCat Hi, thanks for your help. I reopened blender and it just work again. Still thanks! BTW, I have another problem about shadows , do you know how to fix it? below is the link to my question https://blender.stackexchange.com/questions/255690/how-can-i-make-my-donut-has-shadows-just-like-another-picture

You might have accidentally turned on snapping (magnet icon by proportional editing). I figured this out myself when I had the same issue. But if you meant to use snapping, then I'm not sure.


text:
Fill holes in a convex mesh using Geometry Nodes
I need to fill the holes in the mesh using Geometry Nodes:

I've tried using the Convex Hull node, but it creates a lot of extra edges:

Expected result:

(Blender 3.6.1)

In case you didn't know, you can easily create this star-shape Icosahedron class 2 type of mesh using Geodesic Domes addon  using these settings

@HarryMcKenzie Thank you, but i have a strong "Addon-phobia" :) Plus, I want to use transform animation, so it's important that this is achieved by geometry nodes

It's an included addon. Many of blender's current functions were, at one point, addons. But ok, do you.

You could decimate the triangulated faces that Convex Hull creates for you with this technique: "Decimate: Planar" in Geo nodes. Something like this: https://i.sstatic.net/QPQgi.jpg

@quellenform Only "native" nodes are used, so this answer works for me. Write this as a complete answer to close the question.

If the other answer basically is a solution to your question, I would rather say this question could be closed as a duplicate with a link to the other question...?

@GordonBrinkmann i was thinking the same thing, but this is about how to fill faces. Maybe someone can come up with a solution on how to fill faces? Convex Hull doesn't work properly.

@GordonBrinkmann Technically, you're absolutely right, which is why I was still hesitant. The question is different, but the solution is the same in this particular case. I'll leave the question open for now, because there may be another solution.

I solved your dilemma by editing the title to more accurately describe the OP's problem - cheers! :D

Here's a simple approach that puts missing pentagons in your holes:

I don't know if this question deserves this answer (maybe it should be marked as duplicate), but I'll post it anyway. Maybe another idea will come up that will solve the task better.
My idea would be to proceed exactly as in the question, and remove the excess edges that Convex Hull creates with another node group, which is described in more detail here: "Decimate: Planar" in Geo nodes

In this example, the node "299231" contains exactly the node group given in the other answer.
It may not be the best solution, but it works.

I'm curious, why is the node called 299231? :)

@HarryMcKenzie I always use the ID of the question as the name of my node groups. This way you can deduce from the screenshots and blend files where you can find more information.


text:
Random height node. Help needed!
I have this pattern of dots. A lot of them. Like 1000. Which I created as an svg. Imported. And converted to mesh.
I want to extrude each one randomly between values 1-5mm.
Are there any node / geometry artists here that can help and I can share the file so they can help to show me how they do it? I watched YouTube videos but couldn’t get it to work.

"This pattern of dots" - which pattern of dots? Why not use the Extrude Mesh node together with a Random Value with a Min value of 0.01 and a Max value of 0.05? I have no idea what your converted mesh looks like... are the dots separate vertices or do you have mesh circles now where the dots were in the SVG?

Hi Gordon. Thanks for your reply. Any chance you can contact me via Instagram so I can share some images. My handle is: @3xddd_

No, share your images in the question please for all to see here and having more chances to find a solution.


text:
Material applied to an object is darker than it should be
I am new to Blender. I do not know how the solve the problem that a material (beige, see screenshot) on an object is shown darker than it should be. I use Blender 3.2.1 and Cycles. The weird thing is that if I place other materials (red and green fabric from the same asset browser) on the same object it is shown correctly.
I read other posts here and tried standard + filmic, exposure 1, clamping 0/0, contrast, but nothing has changed.
Does anyone know how can I solve this ?

Hi. Please don't add "Solved" to your question or title. Instead we encourage you to post an answer below with a short description of the solution and what steps you took to reach it. Perhaps add a few images illustrating the workflow and final results. See How do I write a good answer?

I just found the solution (I think, for the moment). I increased the exposure to 5, checking with false color in color management, if there is clipping or not. Now the color beige is beige as it should be, yeah. Thanks @DuarteFarrajotaRamos


text:
How to add an asymmetric mesh to a mesh with mirror modifier
I feel like this question must have been asked before, but i can't find anyone who asked it here
I am making a robot figure. The main body is a hexagon that was made symmetrical using the mirror modifier. Now i want to put a cube on the back right portion, but when i add the mesh, it mirrors it, and adds a mirrored mesh. I don't want to mirror the additional mesh, how can I choose which mesh gets mirrored and which do not?
This video seems to do something like it from 1:22 to 1:40

You need to keep your cube as a different object as long as you use a Mirror modifier for the body, when you'll apply the Mirror you'll be able to join the cube to the body (Ctrl J)

https://blender.stackexchange.com/questions/70068/is-there-any-way-to-disable-the-mirror-modifier-temporarily/ https://blender.stackexchange.com/questions/30356/excluding-part-of-the-mesh-from-mirror-modifier

Add it as a new object in Object mode. It sounds as if you're adding it in Edit mode which will still be affected by the mirror modifier.

@JohnEason that makes sense, I'm going to try that


text:
Custom spacing between instances?
Is it possible to use a repeating, or customized, spacing between instances?
For example, the geometry nodes below space the instances out evenly, but what nodes would be needed to create this A/B/A/B type repeating spacing between the instances?

I've been looking around and have only found these nodes below that hide every 3rd instance:
... but that's not what I'm looking for and am hoping to show all the instances with just the space between them altered.
Thanks!

I think I found another solution that fits what I'm trying to do by using an accumulate field.  I've attached the node layout below and highlighted the editable A and B distances.
There's also the excellent solution put forth by quellenform above.
Thanks! This question is answered.

The simple solution could look like this:

First create a Mesh Line whose Offset equals $A+B$.
With the help of the node Duplicate Elements this line is then simply duplicated.
The Duplicate Index is then queried with Compare, which marks the points of the duplicated line and then move them with Set Position.
Finally you can remove the last point again with a Compare node, using the number of total points.

An even simpler alternative would be this one:

First create a Mesh Line whose Offset equals $A+B$.
Then subdivide this line with Subdivide Mesh, which gives you more points in between, but with higher indices.
Compare these indices with a Compare node and move the points with Set Position.

(Blender 3.2+)

Brilliant solutions! Thanks for this!


text:
Background doesn't render transparent
I set film to transparent, RGBA. No objects in background. In preview and until the last moment of rendering it is transparent and then the white background appears in rendered .png.

In the Compositor you use an Alpha Over node to put the image over the blurred Env (=Environment) output of the Render Layers node.

The environment is the world background, in your case you have an image called "Untitled.001" there which is just plain white.

It is useless to enable Film > Transparent if you later bring the background back in with plugging Env into the Alpha Over node. Also the Blur node for a plain white image is kind of nonsense because even if blurred it will still be just a plain white image, so you could as well delete it.
And the Viewer node in the Compositor will only show something if you enable the Backdrop option in the menu bar, otherwise you can delete it, too.


text:
Morph two objects, but the targeted one doesn't fill up entirely
[Filelink]
1I'm trying to morph that torus to this ring, when I apply the shrinkwrap modifier works perfect but the target object (torus) dont fill up entirely.
How can i resolve this morph problem?

how shall we know and be able to help you if you show us none of your settings and how you did it? pls provide blend file so we can check it out on our own. thx

thanks Chris for your interest, i will upload

https://drive.google.com/drive/u/0/my-drive

sorry, but your link doesn't work


text:
Particles Systems and Cloth Simulation
I'm trying to do an animation of a rug that falls from a height but I discovered that particle systems can't become a real mesh, so the cloth simulation only acts on the mesh body emitter. Do you have any suggestions for solving this problem?

The scene is something like this, I move the rug up to the Z and then I let it fall for make this kind of exercise where the fall of the fabric make more realistic shape when hit the ground. The circule and the letters have both a particules systems that looks more realistic than made a carpet material for the mesh, but when I make the cloth simulation after this, looks like both mesh disapear and the cloth simulation hasnt any geometry for play with (only particules). I have been reading that I should put some bevel in the particules for get some geometry but the result of that doesnt look photorealistic like I want.
I really apreciate your fast answer and the posible solution for my problem but Im so bad with geometry know even knowing the improves that use them can make to my workflow, I should definitely work more in this topics and learn from cool tutorial and course online. Im trying to look for a solution that doenst need geo nodes in this moment. Im trying now the gypsy way of make the more realistic material of carpet in a normal mesh for later make the cloth simulation without problems like usually. But I really want to try the simulation with real hair that looks much better. I let this conver here for open a discussion and see the posible solutions.
Thanks a lot to all the people that make blender big and grow community cheers for all of you.

It's hard to tell without knowing more about your project, but Geometry Nodes can do pretty much anything particles can do, and if you use a Realize Instances node, it will provide a "real mesh surface" for the cloth simulation to interact with:

In the example above, the Geometry Nodes object ("Balls") has Collision Physics attached to it in addition to the Geo Nodes modifier. The cloth plane simply has Cloth Physics added. Without applying the modifier, the cloth is still able to interact with the "balls".


text:
Garbage characters appeared in my Enum property
I was making an addon which required a feature to select a material in an enum property. This is part of the code which I wrote to generate the enum property.
def GenerateProperty():
  def getMaterialList(self,context):
    _materials = []
    for i in range(0,len(bpy.data.materials)):
      mat = bpy.data.materials[i]
      _materials.append((str(i),mat.name,''))
    return _materials
  bpy.types.Scene.Materials = bpy.props.EnumProperty(name="Materials", items=getMaterialList)

The items of the enum is dynamically updated while each clicking event. The result ends up like this:

Everything works well until I add a material with Chinese characters. Now the enum property looks like this:

But my material slot displays these characters properly.

I try to print mat.name in python console, and it displays correctly as well. I am now stuck and would appreciate any help!

https://blender.stackexchange.com/questions/216230/is-there-a-workaround-for-the-known-bug-in-dynamic-enumproperty

@scurest so this seems to be a known bug in enum property? thanks so much for your reply!

Yup, especially for non latin characters

@Gorgious I tried again by creating a global _material list and manually update that list before "draw" function. That works, and garbage characters no longer appear anymore.

@Gorgious So it turns out that it's not a problem associated with decoding errors. It is actually a problem of the dynamic enum property.


text:
Is it possible to bend a shape in various directions and keep the texture in place as if it was printed material?
In real life I can print out a pattern onto a material, (which bends but isn't stretchy), cut out its shape and then stitch it together to make a 3D object.
I want to create mock-ups from the same 2D pattern by applying it as a texture to the same shape as the real life cut-out, which is bent in Blendr in the same way that it would be in real life.
Is this even possible, or will I have to recreate the finished shape in Blendr, create a UV map, and use other software to translate the 2D print to the UV map, then apply that to the object in Blendr? Or something else?
As a simple example this shows a 2D print and the 3D item. A and B are holes, which are rivetted together.

Hello could you please show some image or drawing in order to understand better?

@moonbots sure, updated.

Yes.  For example, try menu File::Import::Images_as_planes to get a picture image into blender.  Then for the plane, in Edit mode, RMB (right-mouse-btn) subdivide several times.  Then apply a SimpleDeform modifier and select Twist and change the angle around.   That proves it can be done.

You don't need other software to translate an image to the UV map. The thing with a UV map is, you can create it when the object is completely flat and simply use it to display the image. Then you can bend the object and the image stays placed on the faces according to the UV layout of the flat object - that's how you would do for example a cloth simulation of a flag waving in the wind. The only problem here is, depending on how much you want to bend the object, if there is enough geometry to accomplish those shapes without stretching the faces (and thus stretching the image as well).


text:
How to reproduce "Crackle" Voronoi option in Blender 3.6?
I want to create similar Voronoi texture in Blender 3.6.

So that's the problem? Nodes are basically the same in 2.8 and 3.6

@Crantisz Voronoi texture node is different in 3.6. It is missing Crackle option. Anyway I am not able to reproduce this effect using workflow from the video. The closest I get is by subtracting two Voronoi texture nodes.

Does this help? https://blender.stackexchange.com/questions/162867/voronoi-texture-node-with-differing-options#162869

No. Unfortunately it doesn't reproduce the effect.

I don't know if this is what you want.
Buried somewhere in the comments below that tutorial video, Shadowreaper8435 said that he originally did the tutorial in Blender 2.8. When he opened it in 2.81, Blender automatically changed the nodes to the setup using the subtract node with two Voronoi texture nodes.
Duplicating his effort, this is what I get when I open a file created in 2.80, in 3.6.2:

The image in your question appears to be at a point before he adjusts the Color Ramp node that connects to the Mix Shader, so that is what this image represents.
This is the node tree that 3.6.2 creates from the 2.80 saved file. It is as I used it to for the above image:

Here is the 2.80 .blend file:

Yes. This looks like the same effect. Thanks.


text:
Geonodes delete points too close to main point
I am making a points collision solver in simulation nodes. Long story short I have a problem, when a sphere is inside a bigger sphere and has a close neighbor with same problem, they do not detect bigger circle as too close one. So I want to delete them if they are inside for too long. The basic idea is to detect nearest point with index of nearest point and if it is too close to the point, mark it as an inside point an create timer. If it stays inside for few steps, delete it. The problem is I can't find a way to store attribute by index.
The main point has 3 points too close to them, so I find the closest one and want to delete it.

But this setup does not work.

It might be helpful to people trying to help you if you uploaded an example blend file to the site https://blend-exchange.com and add that link in the question.

It seems your problem stems from using "nearest neighbor", but instead you need to iterate over all neighbors within some threshold. Hard to advise something without knowing what exactly you want to achieve (where do the inner spheres comes from?), but you could take a look at my answer here on how to check multiple nearest elements: https://blender.stackexchange.com/a/293797/60486

Feels like i can solve my problem with your answer, TY

authors: Кирилл Алексеевский