text:
How to Automatically Stitch UVs via a Script After Merging Vertices in Blender?
I'm working on a mesh in Blender where I've intentionally merged some vertices in Edit Mode—the geometry is exactly how I want it. However, after merging these vertices, the UV map hasn't updated accordingly. This results in gaps between UV vertices because the merged vertices in the mesh remain unconnected in the UV space.
I can manually detect these gaps and use the Stitch tool (Shift+V) to fix them, but this is time-consuming for a large number of vertices. I'd like to automate this process with a script to speed up my workflow.
My goals are:
Detect in the UV map the vertices that are on the borders of UV islands, shared by two islands, which have been merged in the mesh but remain separate in the UV map.
Automatically apply the Stitch operation to these vertices to close the gaps in the UV map.
Is it possible to achieve this through Python scripting in Blender? If so, how can I approach writing such a script?
Any guidance, suggestions, or examples would be greatly appreciated!
I tried simple approaches like:
import bpy
import bmesh

def merge_vertices_and_uv_stitch():
    # In Edit mode
    bpy.ops.object.mode_set(mode='EDIT')
    bpy.ops.mesh.select_mode(type="VERT")

    # Get the active mesh
    obj = bpy.context.edit_object
    me = obj.data
    bm = bmesh.from_edit_mesh(me)

    # Merge selected vertices at center
    bpy.ops.mesh.merge(type='CENTER')

    # Update the mesh
    bmesh.update_edit_mesh(me)

    # Apply SHIFT+V (Stitch) operation in UV space
    bpy.ops.uv.stitch()

    # Update the mesh again
    bmesh.update_edit_mesh(me)

# Run the function
merge_vertices_and_uv_stitch()

And even more abstract ideas like this which makes things weird:
import bpy
import bmesh

def merge_vertices_preserve_uvs():
    # In edit mode
    bpy.ops.object.mode_set(mode='EDIT')
    bpy.ops.mesh.select_mode(type="VERT")

    # Get the active mesh
    obj = bpy.context.edit_object
    me = obj.data
    bm = bmesh.from_edit_mesh(me)

    # Ensure UV layers are available
    if not bm.loops.layers.uv:
        return

    uv_layer = bm.loops.layers.uv.verify()

    # Store original UV coordinates
    original_uvs = {}
    for face in bm.faces:
        for loop in face.loops:
            if loop.vert.select:
                original_uvs[loop.vert.index] = loop[uv_layer].uv.copy()

    # Merge selected vertices at center
    bpy.ops.mesh.merge(type='CENTER')

    # Update the mesh
    bmesh.update_edit_mesh(me)

    # Restore original UV coordinates
    for face in bm.faces:
        for loop in face.loops:
            if loop.vert.index in original_uvs:
                loop[uv_layer].uv = original_uvs[loop.vert.index]

    # Final update
    bmesh.update_edit_mesh(me)

# Run the function
merge_vertices_preserve_uvs()

No luck until now :(
Example of the kind of gap I mean:

Just a note: in Blender 4.2, the shortcut for the Stitch operation in the UV editor is Alt+V, not Shift+V.

You can do the merge of the vertices and UV stitch with bmesh operators.
In your first script, you create a bmesh with bm = bmesh.from_edit_mesh(me) but then you don't use it at all. Instead, you are calling bpy.ops. operators like bpy.ops.mesh.merge. These operators work with a context object that defines the active object, the selected verts, etc. and they rely on specific UI elements.
For example, to call bpy.ops.uv.stitch() the UV editor must be open in the current workspace. If there is no UV editor then you get the infamous context is incorrect error:
RuntimeError: Operator bpy.ops.uv.stitch.poll() failed, context is incorrect

Long story short, use the corresponding bmesh.ops. to work with the bmesh.
Instead of bpy.ops.uv.stitch() you can use bmesh.ops.average_vert_facedata() to stitch the UV verts at the center or bmesh.ops.pointmerge_facedata() to snap them at a given vertex.
After stitching the UVs you can merge the verts with bmesh.ops.pointmerge. For merge_co, you can either use the coordinates of the first or last (second) vertex or calculate the center.
Here is a complete script:
import bpy
import bmesh
import mathutils

def merge_verts_with_UV_verts():

    # Get the active mesh
    me = bpy.context.object.data

    # Get a BMesh representation
    bm = bmesh.from_edit_mesh(me)

    # get selected verts
    selected_verts = [v for v in bm.verts if v.select]

    if len(selected_verts) == 0:
        raise Exception("Error! No verts selected. Select 2 verts to merge.")
        return
    elif len(selected_verts) != 2:
        raise Exception("Error! Need exactly 2 verts to merge.")
        return

    # stitch UV verts as you do in the UV Editor
    bmesh.ops.average_vert_facedata(bm, verts=selected_verts)
    # or stitch with snap to first UV vertex
    # bmesh.ops.pointmerge_facedata(bm, verts=selected_verts, vert_snap=selected_verts[0])

    # merge verts at center as you do in Edit mode
    center_co = (selected_verts[0].co + selected_verts[1].co) / 2
    bmesh.ops.pointmerge(bm, verts=selected_verts, merge_co=center_co)

    # Finish up, write the bmesh back to the mesh
    bmesh.update_edit_mesh(me)
    bm.free()  # free and prevent further access

if __name__ == "__main__":
    merge_verts_with_UV_verts()

You can convert the script into an operator and an add-on. Then it's possible to assign a shortcut and menu entry to it if you like.
Be careful with the bmesh operators. They can mess up your mesh and UV map or even crash Blender if you give them the wrong data or args.

Hi, sorry for the delayed response. Thank you for the input. However the shared code doesn't work for the intended goal. Indeed this is part of a larger add-on I'm developing. I considered iterating through VG vertices and applying the stitch function to each, but without a smart filter, it's not practical. A manual approach is required for now. I’ll update if I find a solution for others with the same issue. Again thanks.


text:
Convert depth/z value to RGBA
I'm trying to render a RGBA depth map of my scene where each channel byte is a byte of the 32-bit single float Z/depth value. The result will look like a blueish/magentaish render instead of a traditional grayscale black/white image.
I've done this before in C++ in my custom software renderer it's really easy in software you just read the bytes off of the float directly:
i32 IntDepth = *(i32 *)&Z;
byte dR = IntDepth >> 0;
byte dG = IntDepth >> 8;
byte dB = IntDepth >> 16;
byte dA = IntDepth >> 24;
i32 Color = RGBAi(dR, dG, dB, dA);
RenderPixel(Context, X, Y, Color);

I'm completely new to blender's node programming. I'm trying to create a node that does the above. Takes a depth/float as input, and outputs 4 bytes/integers.
Here's what I have so far (modified from this source)
    #NOTE: Run this code first then use SHIFT-A, below, to add Custom node type.

import bpy
from bpy.types import NodeTree, Node, NodeSocket

# Implementation of custom nodes from Python
# Derived from the NodeTree base type, similar to Menu, Operator, Panel, etc.
class MyCustomTree(NodeTree):
    bl_idname = 'CustomTreeType'
    bl_label = 'Custom Node Tree'

# Defines a poll function to enable filtering for various node tree types.
class MyCustomTreeNode :
    @classmethod
    def poll(cls, ntree):
        b = False
        # Make your node appear in different node trees by adding their bl_idname type here.
        if ntree.bl_idname == 'ShaderNodeTree': b = True
        return b

# Derived from the Node base type.
class MyCustomNode(Node, MyCustomTreeNode):
    '''A custom node'''
    bl_idname = 'CustomNodeType'
    bl_label = 'DepthToRGBA'
    bl_icon = 'INFO'

    def update_value(self, context):
        self.outputs["Depth"].default_value = self.Depth
        Bytes = bytearray(struct.pack("f", self.Depth))
        self.R = Bytes[0]
        self.G = Bytes[1]
        self.B = Bytes[2]
        self.A = Bytes[3]
        self.outputs["R"].default_value = self.R
        self.outputs["G"].default_value = self.G
        self.outputs["B"].default_value = self.B
        self.outputs["A"].default_value = self.A
        self.update ()

    R = bpy.props.IntProperty(update = update_value)
    G = bpy.props.IntProperty(update = update_value)
    B = bpy.props.IntProperty(update = update_value)
    A = bpy.props.IntProperty(update = update_value)
    Depth = bpy.props.FloatProperty(update = update_value)

    def init(self, context):
        self.outputs.new('NodeSocketInt', "R")
        self.outputs["R"].default_value = self.R
        self.outputs.new('NodeSocketInt', "G")
        self.outputs["G"].default_value = self.G
        self.outputs.new('NodeSocketInt', "B")
        self.outputs["B"].default_value = self.B
        self.outputs.new('NodeSocketInt', "A")
        self.outputs["A"].default_value = self.A
        self.inputs.new('NodeSocketFloat', "Depth")
        self.inputs["Depth"].default_value = self.Depth

    def update_output(self, out_name):
        #Review linked outputs.
        try:
            out = self.outputs[out_name]
            can_continue = True
        except:
            can_continue = False
        if can_continue:
            if out.is_linked:
                # I am an ouput node that is linked, try to update my link.
                for o in out.links:
                    if o.is_valid:
                        o.to_socket.node.inputs[o.to_socket.name].default_value = self.outputs[out_name].default_value

    def update(self):
        self.update_output("R")
        self.update_output("G")
        self.update_output("B")
        self.update_output("A")
        print(self.outputs["R"])
        print(self.outputs["G"])
        print(self.outputs["B"])
        print(self.outputs["A"])

    # Optional: custom label
    # Explicit user label overrides this, but here we can define a label dynamically.
    def draw_label(self):
        return "DepthToRGBA"

### Node Categories ###
import nodeitems_utils
from nodeitems_utils import NodeCategory, NodeItem

# our own base class with an appropriate poll function,
# so the categories only show up in our target tree type
class MyNodeCategory(NodeCategory):
    @classmethod
    def poll(cls, context):
        b = False
        # Make your node appear in different node trees by adding their bl_idname type here.
        if context.space_data.tree_type == 'CompositorNodeTree': b = True
        return b

# all categories in a list
node_categories = [
    # identifier, label, items list
    MyNodeCategory("SOMENODES", "Saedo Nodes", items=[
        NodeItem("CustomNodeType"),
        ]),
    ]

def register():
    bpy.utils.register_class(MyCustomNode)
    nodeitems_utils.register_node_categories("CUSTOM_NODES", node_categories)

def unregister():
    nodeitems_utils.unregister_node_categories("CUSTOM_NODES")
    bpy.utils.unregister_class(MyCustomNode)

if __name__ == "__main__":
    register()

I'm not sure what I'm doing wrong but it doesn't seem to be working, "Backdrop" is ticked but nothing shows up. Here's my node setup in blender:

I figured I need those divides by 255 since bytearray returns values in the range [0->255], is that correct?
My questions:

How can I just debug the values returned by bytearray? I have a
couple of prints there but they don't see to be getting called at all.
Every time I run script, then modify something in it, I can't run it
again unless i close/restart blender. It says Category "CUSTOM_NODES"
is already registered. Is there a way around that?
Finally, how do I correctly get the affect that I want? is
struct.pack the right way to do it in python or?

EDIT: Old engine video, but this is what I want to achieve. @1:55
https://www.youtube.com/watch?v=ouYT_MBPB84
EDIT: More details based on conversation with the super helpful TLousky
First I really appreciate your help! As I was trying to read the texture in engine, I was thinking about it I don't think this RGB mapping gives me the effect I want.
Here's the rundown: We're making a game with prerendered backgrounds, similar to the old FF and Resident Evil games. The artist gives me a colormap of the rendered scene, a lowpoly mesh for collision and a depth map/image corresponding to that render. The depth map is used to create the illusion of depth/occlusion so if something's in front of the player, it would render on top.
The way we do that is: 1) First fill the color buffer with the background 2) Fill the depth buffer with the depth map 3) Render 3D objects normally. Since the depth buffer is already populated, things get occluded correctly. Assuming of course the engine uses the same camera and near/far plane settings as used in the actual render.
The traditional way of doing depth maps is just a grayscale image, where R=G=B=A = depth*255, depth is normalized in the range [0, 1]. The problem with this is we're compressing a float which is 4 bytes, to a single byte. Going down from a huge range to a much smaller one. So when the engine tries to read the depth map, it will get much less accurate results, there's no way it would get the real depth that was encoded this way.
Example:

Writing:
depth = 0.755313
R=G=B=A = (byte)(depth*255.0) = (byte)(192.604815) = 192
Reading: (pick any channel)
depth = R/255.0 = 192/255.0 = 0.752941

Not the same number! This was just an example there could be more accuracy lost.
So I thought why not take each of the float's bytes and broadcast them to each channel. So now R=Byte0, G=Byte1, B=Byte2, A=Byte3. Nothing's lost at all! When reading the depth map now, I can read the values of R/G/B/A, do some bit-shifting and bitwise-OR and get the exact depth that was encoded.
The depth image this way would result in each pixel having color contributions from each channel, instead of red being the closest, blue being the farthest. Something like the following:

(Note: for this shot, the prerendered background and depth image were generated from the engine itself as a test so I had total control, and not from Blender otherwise I wouldn't be asking)

Seems like this is a simple color reampping task, which is exactly what the color_ramp node does. Why not use it instead of code?

I'll try that thanks. Like I said I'm new to this. I saw the color ramp as one of the node names but didn't think of it much. Will try it.

@TLousky so I'm not sure how to use this node. I'm guessing "Z" goes into "Frac" as input, but then what? :S

I've edited my question to include a video of the result I'm after just to make sure we're on the same page

You can remap the Z depth to a color map of your choice using a color_ramp node based method, either in the compositor (after rendering), or in real-time with cycles. Let's look at both methods:
Real time Z depth color remapping in Cycles

Here's the node setup for the material:

The key here is the Converter --> Math --> Multiply node's value, which sets the overall scale of the Z depth. Play with it until you can see a depth color gradient in your scene.
Using the compositor

I think this gives more control since here we have the normalize node, which as its name implies, normalizes the Z depth values. Here's a closer look at the node setup:
How it works - EDITED
We get the Z depth from the render layers node, as a one of the render passes. The values it holds are the Z distance of each surface point from the camera, in blender units. Very relative and not extremely useful for visualization. Each value is a floating point number.
Which is why we're using the normalize node, in order to remap the Z depth values into a tighter range (i.e. black to white on a floating point grayscale color map ranging from 0-1).
The Z values are reversed with the farthest points mapped to white (1.0), and the closest points mapped to black (0.0). We use the Invert node to reverse the mapping.
To convert the grayscale values to RGB values, we use the color_ramp node. It maps values to the colors you choose according to the selected interpolation function. By default it uses a linear mapping. Values closest to the minimum are mapped to the color in the leftmost swatch, and values closest to the maximum are mapped to the rightmost swatch. The color_ramp colors have 4 channel RGBA data.

Why I'm using the Less Than node:

The less than node is used as a mask. In the gif above, you can see that without it, the background (which is presented as black on the inverted grayscale Z depth map), will be mapped to blue on the color ramp. I wanted the background to be black, so I used the less than node as a mask.
Essentially, any value that is below the threshold specified will be mapped to 0, which includes all the background but none of the object's values, while all the rest is mapped to 1.0.
The mix node is used to mix between the color ramp's output and a pure black image, with the result of the less than node used as a mask. This way you see the background as black, but the object remains as rendered by the color ramp.
Further quantitative investigation
To try figure out how this really works, I performed an empirical analysis. I created a scene with an array of 6 boxes, evenly spaced from the camera, placed 10 blender units from the camera on the Y axis and onwards, with 0.5 BU on the X axis between each instance and the next so that they won't hide each other.
I then rendered the scene and saved the pixel data of the raw Z depth, the normalized and inverted Z depth, and the output of the color ramp's RGBA. The ramp's swatches were:
left   - (R=0, G=0, B=1, A=0)
middle - (R=0, G=1, B=0, A=0.5)
right  - (R=1, G=0, B=0, A=1)

I then saved the pixel data as a csv, which you can download here, and plotted the raw Z, normalized and inverted Z and the ramp's RGBA:

It's fairly easy to use various python tools to figure out the interpolation.

You sir are a gentleman and a scholar. My artist will love this. Mucho gracias

Not a problem, you are very welcome sir :)

I have a question though, what about the 4th component/channel? a float is 4 bytes, the color ramp says RGB I don't know if that means it's only using those 3 channels? Also could you maybe explain a bit the purpose of that "Less than", "Invert" and "Mix" nodes? I know what each of them does but just not sure why we need them. I know that blender doesn't store depth in 0->1 range that's why we needed Normalize.

@vexe, added an explanation of the node setup, hope it clarifies how it works

Congrats! Trying to reverse engineer the numbers now. Reading the RGB from the engine, I need to reconstruct the Z value. My ramp has 3 simple colors, Full blue/green/red at 0, 0.5 and 1. Should be simple, but I'm not sure if I also need to reverse the "Mix" and "Invert" nodes too? or is it just finding the 'T' interpolant between the 3 colors? (the whole point of this is to increase Z accuracy when composing Z from 3 bytes instead of 1)

@vexe That's a bit tricky I think, for several reasons: 1. We've normalized the data so the color doesn't represent distance the same way anymore (in the official docs or source code you can find how Z is interpreted as color).  2. The normalize node doesn't work as I expected (instead of transforming all values to the range of 0-1, it does something else that also requires research to understand). I thought you're simply trying to visualize the depth better, but for direct numerical calculation from the color, this requires more thought.

@vexe, what are you aiming for here? I did a bit of digging regarding the values received from the Z depth and the other nodes, and it appears you can get direct access to the Z values through the python API, which would make all the color mapping unnecessary if you're trying to automate some kind of depth related behavior.

OK I dug a little deeper and found out that I was wrong about both RGBA in the color ramp and the normalization (which does indeed generate values from 0-1), and about how the color ramp works.

@TLousky Wow amazing I have to read all that. I made an edit giving more context and explaining what and why I need this stuff. Hopefully gives you a better idea of what I'm after. Will check after work

@TLousky i'm doing something similar to this, but again, using normalize will ruin the scale of the depth information. A shallow object and deep object will have similar gradients. See my post here: https://blender.stackexchange.com/questions/262126/render-layer-compositing-get-closest-pixel-to-camera

source: Stack Exchange

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

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

sort: votes


text:
Make an array without separation/line showing between
I need help figuring out how to model something and use an array with it on the Z axis so it repeats smoothly..
It doesn't seem to do what i want when I apply a glass material.
I can't seem to figure it out exactly but any help would be appreciated, thanks.

Perhaps a picture of what exactly your model is like, or a blend file would help us answer the question more fully.

you nailed it right on the head. thank you, i feel dumb for not seeing that but I appreciate you so much Uncle Snail. Really new to using Blender stack exchange so idk if I was able to select your answer as correct but you're based af. Thanks :)

Yup, you did everything right. You're welcome :)

You can try enabling "merge" in the modifiers panel.

You can also try "first last", which will merge vertices from the first object and the last object in the array. (A circle for example.)
Make sure you set the merge distance.

Hope this helps you out.

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


text:
object turns black when rotating in view

Hi I i'm trying to render this logo out but I notice that it is black when it is sideways. No idea why it's doing this, any help or tips would be great. Thanks
[![enter image description here][2]][2]

Can you show screenshots of the object while in Edit mode ? Also could it be that there is some unrenderable object in the scene just behind this one and the black area is visible because this object partially gets inside of that one ?

https://gyazo.com/2e47b0c99ec3722435b64dec141b8204
https://gyazo.com/0f5fd0c309438bf2b8a4bd4b5416b2c6
https://gyazo.com/24c2ad76095f7cf2c63c6f2e34035613
sorry about the links i can't add more than two photos since i'm new. It doesn't appear to be because of some unrenderable object, I unhide everything and moved them and still showing up black. also when I rotate around the object it's not black. Only when I am viewing it completely sideways.

Try recalculating normals in Edit mode with all selected (press Ctrl+N). If this doesn't solve please upload the file

did not work :/ thanks for helping here is the file:

Tbh I don't see anything bad while it's rendered (images are other ones because yours weren't packed into blend, but I don't think this is the reason). The central face is very big 236-Ngon though, which could cause this behaviour because of bad shading of such enormous face; however to fix it you will need to use Grid Fill I think.

you're like the greatest human ever. thanks for helping me with this silly problem. I think I fixed it by using subdivide/smooth. Fingers crossed. Again, couldn't thank you enough

how do I give you points for helping me

what does Ngon mean. There's no more black because I subdiv it a bunch but there are some "stretch marks" i see. updated the image about so you can take a look

disregard the stretch marks comment

When you see black artifacts on rendered model and you know that all normals are facing correct direction, then most likely it's still bad shading of faces. It will be present because of inappropriate topology of the mesh.
Taking into consideration your example, the reason for black artifacts is Ngon (face with more than 4 vertices, in your case n = 256) in the middle of the mesh. More than that, this face is non-planar (the vertices which form it aren't located on the same imaginary plane):

To fix this first make the face flat (and vertex loop which forms this face being located on flat "surface" too); then either inset the face (more a workaround than a solution) or fill it with new faces.
Start with flattening Ngon.
Use scaling along normals for that (press Alt+Space, choose Normal and scale, see How to flatten a face to avoid distortion (make an ngon planar) for more info).

Insetting Ngon
Once face is flat inset it to avoid presence of Ngon near the curved area of the mesh. Press I and change Thickness value of insetting.

However this isn't the best solution as the vertices will start overlapping when insetted further than half of the original Ngon. This way is easier though as it creates less geometry which is easier to select / handle with.
Fill with new faces
Delete the big face (choose Faces in Delete menu), select boundary loop and use Grid Fill via Ctrl+F or Mesh > Faces menu in 3D View header:

Note that this way create extra geometry at the cost of "all-quads". Beware that this can affect on render times / performance. Also it may be more difficult to handle with bigger amount of faces / verts. You may want to add created faces to a new vertex group while they are selected.
Do the same with second Ngon on the other side of mesh.


text:
Unable to assign materials, maybe a material property setting issue
I'm unable to assign/view a new material(in this case it is "Leather_dark_brown") to an object. I think it has something to do with my material property setting, since it has no problem assigning other materials.

As material is added to the object, what makes you think it hasn't been assigned? Viewport is in Solid shading mode which won't show any materials properties, either Rendered (more accurate) or Material (less accurate) will. Also what do you mean by "assign new material"? Is "new" meant to be one additional to that already present? Or is that "Leather_Dark_Brown" material the one you mean as "new"?

"Leather_Dark_Brown" material is the "new" material. As you can tell, the material is dark brown, however the shading remains the same after I "assign". The reason I'm thinking it's a material property issue is because I can succesfully assign and VIEW the material change if I assign another material.

Cycles materials will display as a solid colour in the viewport, unless the viewport shading is set to material or rendered.
The material settings include the viewport colour to use for the material.

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


text:
Is it possible to setup eyelashes with uv texture without using shaders nor hair particle?
I tried setup eyelashes with uv texture without using shaders nor hair particle system, because hair particle system is a bit naughty and I'm going to use it later on in three.js, which doesn't welcome complex shaders.
What I tried is assigning a transparent material then map the eyelashes to uv texture, but I can't get it working correctly. As you can see the eyelashes still has a bit translucent surface around. Also when I turn on 'receive transparent shadows' on face mesh, it somehow still receives a complete solid shadow. The light in scene is lamp-spot light. .
Update: drop the specular-intensity value & transparency alpha value to 0 will remove the translucent surface around.

If you have a .jpg/.jpeg texture for lashes/hair, set the material's specular-intensity value & transparency alpha value to 0 to show lashes correctly in Blender. The problem of this is that it will look fine in Blender, but if you export to .gltf/.glb file, the lashes/hair will be invisible.
So the only solution I found so far is to use a normal material but with a .PNG texture that has background removed. A little Photoshop work.


text:
How to connect the origin with the model?

The control gizmo is at the world origin but the model is far away as you can see. How do you get the two things back together and how is this even possible?

Hi :). The small orange dot is the Origin Point. Control gizmo always shows on the origin, not the geometry. You need to align the origin with your geometry :))

Hello and welcome! BSE is a question & answer site. Please give your questions a meaningful title and a brief explanation of the problem so that they can help other users with the same or a similar problem. Questions with a simple meaningful title can be easily found and the readers can quickly decide if it is relevant to them.

Right click pick Set Origin and choose what you need.
The orange dot is the origin of the geometry, think of it as an anchor point, it defines how doe the mesh scale (always scales to the origin) and etc.


text:
How to transfer an Auto Rig Pro Rig from an original rigged character to a modified FBX version of the same character
I have a character that is rigged with Auto Rig Pro. Now, I am sharing an FBX export of this character with a guy who will create ARKit blendshapes/shape keys for me. Unfortunately, the bones and rig are all messed up when I export this character from Blender (don't know if I am making a mistake).
So I have shared a plain FBX o the mesh with this guy, who will create blendshapes on this mesh for me.
My question is that when I get that FBX with blendshapes, would it possible for me to attach my original rig to this FBX? If yes, how to do that?
I want to know because I would be paying the guy for blendshapes and I would go ahead only if I know that it will work out for me.
What I am trying to do is to use my existing rig for body animation. But for face animation, I want to use facial mocap using blendshapes. This is why I want the guy to create blendshapes for me on my existing model. If someone has a better workflow on how I can achieve body animation + facial mocap, please help.

Yes, you should be able to re-attach the original rig to an imported FBX. The rig is an armature with control and deformation bones. You can use the operation "Parent To > With Empty Groups" to bind the mesh to the armature and leave the weights in the vertex groups untouched. An Armature modifier will be added to the mesh again. It reads the deformation bones and weights and does the mesh deformation. In the worst case, you can still transfer the weights from your original model to the model with the shape keys.

When in doubt: try it yourself. Export only the mesh as FBX, create a new blend file and import the FBX file, then add a shape key and export it again as FBX. Now open the original blend file, import the FBX and re-attach the rig.

THank you, i will try it.


text:
Large mesh problem
Hi! I generate a landscape. So it is large, about 2000m. But in my camera view, it's not showing it as if there is nothing. And in my viewpoint, it only shows half of it.

maybe in the N panel > View, play with the Clip Start and End?

At view point it helped but in camera mod it's still the same

You also need to set the camera clipping values, select it and go in the Camera panel

Select your Camera in the scene
Go to Camera settings in the Properties tab
Tweak the End value to fit your needs

For the viewport, there is a similar setting. Open the side panel of the viewport (N key), select View tab and there is View > (Clip) End. You need to change this setting for each viewport. Every workspace (Layout, Modeling, Sculpting, UV Editing, ...) has its own viewport.


text:
Images Not Rendering Onto The Faces Of A Cube
Newbie here with Blender, using version 3.1.2 - trying to get my head around the basics.
I've run into an issue where I'm trying to place five different images onto the inside faces of an open cube (I warned you it was basic!).
I've created five new material layers and assigned each one to each of the faces. I've replaced the base colour on each one with a different image, doing this in the shading workspace in exactly the same way.
When I view the preview in the shading workspace, it looks as I'd expect it to. But when I render the image, two of the faces are totally blank - the left one and the bottom one.
I've rechecked everything, including the UV Editing workspace and compared the blank side settings with the ones which are working, but I cannot see any difference at all with the parameters!
Has anyone got any idea what I'm doing wrong? Cheers in advance - Graham

hello please pack the image (File > External Data > Pack Resources) and share your file: https://pasteall.org/blend/

Please use (https://blend-exchange.com/) for sharing your blend-file. blend-exchange is dedicated to uploading files concerning posts at blender.stackexchange. This way you make sure, that the file will be present, when someone reads this thread in the future.

Any chance you have a second object hidden in the viewport?

Hello and welcome. Please don't write in all caps, it is the online equivalent of shouting, is harder to read and may be considered rude. You can use the [edit] button below to change you text into regular case.


text:
How to make the transition between two cylinders with different angles smoother?
I'm new to Blender and I want to make this transition smoother. I've already tried looking on Youtube, but nothing work's (including Boolean. I don't know why).
The transition in question:

Retract the edges a little, to leave a gap, and use Bridge Edge Loops?

Side note: You can also use extruded Curve objects to model pipes.

Do they have to be separate objects or can they be combined into one object?

Join the two pipes with CTRL+J, then in Edit Mode select the edge loop of the right pipe with ALT+LMB and move it a bit to the right with G to make enough space for a bridge.
Select the edge loops of both ends of the pipes you want to join and go to Edge > Bridge Edge Loops. You can also move the pipes around a bit to make this transition look smoother, before or even after this operation.

You can also just use one pipe and in Edit Mode select the edge loop you want to extend and CTRL+RMB to any location where you want to bend to. Repeatedly do this to get a curve as well.


text:
Why can't I connect my head/face armature to my body armature using parent, bone constraints, or anything!
I have a perfectly working body rig, everything is parented and works fine. I have a face rig that does everything that I want it to do. The eyes and teeth follow the head and the bones for the lips and jaw all work as well as I could hope for my first lip rig! The only thing I regret is not adding some eyebrow bones, but that wasn't in the tutorial I watched anyway.
Problem is, If I move the 'neck' portion of the body, all of the bones paired with the face just stay in place. The head and body don't interact at all so I would have to switch between object and pose mode to use the two armatures as is; which makes sense, because the two aren't parented or joined. But no matter which way I try to combine everything (even just one at a time, like only the eye + body, then teeth etc.) something stops working.
Mainly, The head bone suddenly locks up if parented to the body and none of the face bones work. If the body is parented to the face, then for some reason the face mesh follows the movements about 2-5 seconds behind so the teeth and eyes are always flying outside the mesh flesh. If 'joined', then the entire thing loses all connection to mesh and the bones don't move anything at all.
I've tried looking up 'how to connect face rig/armature/bones to body rig/armature/bones' but that's an elusive topic apparently. I'm really at a loss and don't want to have to re-rig everything just because Blender decided that I can't combine my two good rigs for no reason.
I've even tried applying the rig modifiers, but that literally made my computer explode, and then when I re-tried it after a restart it didn't help at all.
Here's the problem child today:

Does this help? https://blender.stackexchange.com/questions/275338/parent-bones-in-blender

No, but thanks. I tried this for the last hour. No combination of parenting or xyz did anything close to right.

Since your head armature is just four bones and a couple of constraints, I'd be inclined to delete it and rebuild the head armature from the body bone. As you've found out, Blender doesn't like using two connected armatures.

That is exactly what I've done, lol. I deleted the head and made a new one as apt of the already existing body. Repainted everything and it seems to be working fine. Still, I wish connecting the two was an option. It would have saved me a lot of stress and time!


text:
How can I make this more veil like? Used the cloth modifier but would like it to be more flush with the model. Similar to Greek sculptures
 My model. I used cloth modifier.

Here is my desired look. Would I achieve this from sculpting instead? Similar to how I made the dress.

Would like some recommendations for creating the blindfold as well.

You're on the right track, the look of that veil is much more particular than simply dropping a cloth atop the model.  From there I think I would try sculpting with the cloth brush.

Thank you! I'll try to follow the silhouette of my models face in sculpt mode.

Maybe try a Cloth, apply, then use a Shrinkwrap, then a Cloth, it will make the cloth stick more, then sculpt as suggested by Allen

oh shrinkwrap is a great idea


text:
One arm bends incorrectly but the other is fine
I made two arms, one of the two being a duplicate with ScaleX =-1. I placed the armature one the right side and used Symmetrize to mirror it on the other side. Then I set parent with automatic weights, but when I go into pose the right arm bends correctly when I move the upper arm bone while the other twists around. I have no idea why it does this.
Thanks.

File:

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

How do I do that?

Read the instructions and share the link here, or use another platform like workupload

I added link to file at the end of my post.

Apply the transforms, as you have negative scale values it will flip the normals, you need to recalculate them in Edit mode, then parent again With Automatic Weights and it will work.


text:
Object becomes dark with mesh glitches after rendering as a glass using Cycles
I'm a beginner in Blender and I was trying to do a glass bottle. The problem is that when I render the object, the glass become dark in it's bottom side, as for the image:

I've tried a variety of things to try and fix this problem such as:

Change the Shader to Glass BSDF
Change the values in Max Bounces
Recalculate Normals
Change the HDR since I was using a darker one
And other things that I saw in tutorials and other questions here

But I have not succeded in any of this alternatives.
My object is currently using the following modifiers

Solidify with 0.5 Thickness
Subdivision Surface with default values
Fluid since the object will be an effector for fluids inside it

I'm using Blender in version 3.4.1

Are you talking about the reflection of the HDRI?

Hi Vagabonk! Actually no, I was just under the impression that a dark HDR would result in a dark light shining through the bottle, I dont know if this makes sense but I thought about it while troubleshooting when I found this question https://blender.stackexchange.com/questions/172384/glass-material-with-darker-areas-cycles


text:
Shape keys not exporting to FBX
So I'm pulling my hair here. I cannot get Shape keys to export in FBX with Blender. I've tried by unckecking the "Apply Modifiers" box and trying with different export options from different forum answers I've encountered, none seem to work. The console doesn't say there's any problem and the only time it did, it was this:
Error: Shapekey KEKey has an invalid 'from' pointer (0000000000000000), it will be deleted
I've exported shape keys before without a problem, I don't understand what is going on and it happens only with this one file I've been working on. Please help, I've been stuck with this for a couple weeks now.
Here's the file in question.

I have updated my answer below to include an FBX round trip from your blend file.  Seemed to work okay.  not all of your (original) objects have shape keys.

I used the following examples with a trivial shape key on a cube:

try exporting the cube as an FBX
and then import into a new file session.  Here is the fbx I exported via dropbox
blender v3.4.0
I you want someone to look at your particular example, delete all but the object of concern, and use blend-exchange to a link to your question.
EDIT/ADDED 15-Mar:
As you added your blend file, I have made a round-trip through an FBX export/import.  My resulting FBX and imported into  appears to work fine in blender 3.4.0.

Thank you, I have added the blend file. And hope someone can see it. I've been able to export shape keys before. It's just this particular one that has not worked with anything I've tried.


text:
Customized Force Fields - Modifying collosion options?
I am new to force fields in Blender. I was wondering if it is possible to define a new customized force field for rigid body simulations by scripting?

There is some flexibility in existing force fields. How do you want a force field to behave.

I have randomly falling objects that can interact with each other before settling down. coefficient of restitution and Young's modulus are very important in this simulation. So I need to define them, since I could not find them in blender options.

I also want to implement Hertz-Mindlin Contact model, to model the contacts between the particles.


text:
Moving vertices of two objects away from each other
Consider having two (multiple) objects that are very close to each other. Is there any algorithm which can identify vertices of these objects that their distances are less than a tolerance and then move those vertices away from each other until the defined tolerance is reached?
the figure is a 2D representation of the problem which is actually in 3d space.

Gonna need more information on this.  How many vertices are you talking about?  Can you create a diagram image to show what you mean?

please look at the updated image

Yes, I understand the tolerance factor, but I'm assuming you don't mean two one-vertex-objects.  How many vertices are you talking about?  All of the vertices of an object?  Do you want the object to stay intact (i.e. keep it's form... be static)?  Are you applying physics/rigid-body to the objects?  Animating them?

There are potentially multiple ways of doing this, you just need to narrow down the application.

objects are static, each object has a few hundred vertices, a proximity query for each vertex of one objects with all vertices of surrendering objects can identify the vertices that are "close" to each other, then those pairs need to be distanced. however, they should not be distance too much since it is desired to keep the shape and volume of the objects intact.

Are you animating this or are you moving them yourself and expecting it to auto-update the scene in real time?

No, this is rather a static geometry that I am going to use it for an engineering applications. the only thing I need is to have a minimum distance between my objects. objects are not going to move or animated.

Probably a nice balance between easy to implement and reasonably efficient would be to create a BVHTree for the mesh of one object, and query that with all the vertices of the other mesh using find_nearest_range(...).
Moving the vertices away is probably easiest if you mark the entire mesh as smooth first. That will casue the vertex normals to be in the opposite direction you want to move the vertices in. Then, for each vertex v that you want to move, you can do v.co -= f * v.normal, where f is a smoothing factor. The value of f depends on how quickly you want the vertices to move. You can use a fixed value like 0.01 to move them by 1/100th unit, or you could use a dynamic value that depends on the distance between the two meshes at that point.

yes, an efficient search for finding the vertices is possible with BVHTree or KDtree, but what I'm interested in is an algorithm to move these vertices away from each other.

Then you have to decide how you want to do  that. Do you want to move each point away from the closest point on the other mesh? Or in the direction of the average face normal of the surrounding faces? Or parallel to the lines between the object origins? First you need to decide this, only then can you think of an algorithm to do it.

I want to move vertices on the two objects away from each other in direction of the average face normal of the surrounding faces of each vertex.

I've added an approach to the answer that should do this.

thanks for the answer! could please clarify what do you mean by marking the entire mesh as smooth? are you talking about smooth modifier?

No, just the Smooth button in the toolshelf.

doesn't Crt + N in the mesh mode do the same?


text:
How do you go about solving a bug in Blender: language selector in python console
For example, based on: Purpose of the languages selector in the Python Console
I am familiar with git and reporting a bug.
But my question is: How do you go about solving such a bug?
Blender uses C/C++ and Python. And think its a python script bug.
After downloading blender source code and successfully compiled it.
Looking into:
blender/release/scripts/bl_operators/console.py
blender/release/scripts/bl_ui/space_console.py

and
blender/release/scripts/modules/console_python
blender/release/scripts/modules/console_shell

Apparently, using the linked example to add shell to space_data adds the shell environment into console language.
(I used bpy.ops.console.language(language=shell) with same result).
However, for the life in me, I could not find a solution to show the language at startup. Unless its hard coded into space_console. But that is not an elegant solution..
So, in brief, I think, blender looks up for modules in path, but not picking up console_shell.py? to be added into language list.

Hi. The title of your question seems to be about solving a specific bug (which I think would be off-topic to this site for being too localised a problem) but the second part of your post seems to be the actual question ("I could not find a solution to show the language at startup"). I would suggest editing your question to focus on that part (however, if it is a bug, this would also end up being off-topic). Thanks.

Hi, and thank you for your comments and edits. Much appreciated. However, it's not a bug report, it is more on how to solve such a bug? So someone would show me that Blender uses, for example, bpy.context to look for module files separated by "_". But it was meant to be left out due to bugs.. etc.


text:
How to deform a "plane"
I really can't form this question, lol. So i'll post two images.

So first is the mesh. Second is somewhat what i want to do, but simple grab makes it wrong. Of course i need faces to rotate accordingly. Like taking a carton and bending it in hands.
How can i achieve this?

Did you try using proportional editing ? See Is there a way to move multiple vertices gradually at a time

proportional editing works better, but small surface deformation occurs nevertheless. i saw such shapes made in 3d models. are they made by hand (moving and rotating faces)?

I would start with a flat plane in “Top View”. Cut it in half and add a “Mirror Modifier”. Select the edge where you want the bend to take place then press “Shift” + “S” and select “Cursor to Selected” from the drop down menu.

Then change the “Pivot Center” to the 3D Cursor.

Then select the part of the plane you want to rotate and rotate around the 3D Cursor constrained to the “Y” axis. Press “R” + “Y” to accomplish this.

Then add a “Solidify Modifier”

great! forgot about the pivot thing. alternative method i just found would be hook to empty, but this is even better

yeah! that's seems to be the thing about modeling "flat" forms! thanks!

I found a soulution - there are propably better ways, but here you go:

Select only one side of the selected faces in your screenshot.
Press P and select Seperate by Selection. Now these faces are a second object.
Select the first object. Select edit: not all verts, only those that are where the 'wing' or whatever is - the rotation axis should be verts and press Shift s and select Cursor to selected.
Now select the second object again and (this time in object mode) press Ctrl Shift Alt C (do it with two hands ;) I know, it's a pain) and select Origin to 3D cursor.
what this does is set the origin of the second object to where you want to rotate it around, as the objects origin defines it's rotation axis.
Now just rotate Object 2 around the Y axis in your example and there you go.
Do this for both sides and then join the objects back together with both selected and Ctrl J.
From there you have to connect the edges and faces to the rotated faces (wich is suitable for low vertex counts, but for more complex meshes you'll have to find another and propably way simpler method).

you're right. i suggested you to reconnect them manually. so that you got the rotation right. i know, overly complicated, as i said

connecting vertices causes frustration lol. if i got you right, i have now flat main mesh with removed faces, that are placed over at correct position. but how can i now connect lower vertices with upper? one by one?

yeah.. with your mesh this takes 10 secs, but for more complex meshes i have no clue and i'm waiting for some better method

thanks! when i was asking this, i was thinking that i'm missing something obvious


text:
Objects are not affected by lights in cycles
I've imported obj file to blender and tried to add textures, but it failed with cycles.
In internal renderer everything seems ok, normal map works, specular map too. Diffuse has good visibility. But in cycles everything is very dark, normal map won't work along with specularity. And what is more - lights don't affect the object at all! Only world beckground affects the object.
With default cube everything is alright, so there is some problem in that object, but i don't know how to find it. I've already done converting tris to quads, removing doubles and clearing custom split normals, but it does not helped tho.
Here are screens of cycles and blender internal of the same object (there is no texture in cycles, to show that lights have no effect, while hemi is set to 100. with texture it would be boring almost black object). Notice normal map effect in internal render, while there is none in cycles, but nodes are set for it.
blend file: http://www.pasteall.org/blend/43121

is the hemi in an active (visible) layer ? On top of the screen shot : 0/0 lamps. So the hemi is on layer 2 or 10, maybe.

yeah. that is strange, because hemi is on 1st layer and enabled. i added blend file

to me, it works... just give the hemi more strength (note that hemi are like sun in in Blender2.77)

and what can you say about normal map? there is none applying in cycles, but works ok in BI.

I've made it a little bit different then @lemon.

Light changed to Sun > Emission 70.
Normal connected to Glossy material.

yes, you are right

@CurlyBrace, LukeD answer is better. You should consider to validate his answer. Thanks

Just few little things to change :

The diff texture is nearly black (so that explain that few colors are visible)
Your diff texture node was on 'non color data'
I added the specular map
Normal map is ok
Lamp : strength keeped to 1 (was the diff texture problem)

wow! are you sure that you've only changed the diffuse texture? that's amazing! seems like i know nothing about cycles, lol.

but i can't understand how did you changed it? it seems to be still dark and i see no additional color manipulation nodes..

It came 'naturally'... Check if I have changed other things, but I don't think so... main thing : you have your rendering ok !

@curlybrace, what do you mean by " it seems to be still dark and i see no additional color manipulation nodes" ?

@curlybrace, all is due to the specular map. If not the model is black as the diff texture is.

now i've got the thing. specular map brought everything to live. thank you!


text:
How to create a GUI based window in Blender Game Engine that displays text?
How to create a GUI based window in Blender Game Engine that displays text? So I was going to create a NPC chatting menu in my RPG based game, using only logic bricks. I found this to be difficuly because what I wanted to have happen is when the player is talking to the NPC, a window within the game pops-up and Displays what the NPC is saying.

Have you tried some Tutorials like for a HUD or a Health Bar? Or maybe some Word Wrapping of a text overlay...

@Samoth the tutorials are familiar to me, I'll attempt at seeing what these will do, but to be honest, this would have been a good answer.

You know, in earlier days I just would have posted this as an answer - but there are crazy people here who are scared of links. They don't like the concept of Hyperlinks (which is a basic part of HTML...) to other sites which may eventually expire some day... But I'll give it another try.

@Samoth Pardon me, but this is SE site-wide policy. There is a special delete reason for it because it happens so often. This is a very important part of the way SE works. I would question whether it is an answer or not if it relies solely on external links. I am glad to see that you are considering revising this answer, and hope you eventually learn the quirks of this community and become a valuable member :)

@NᴏᴠɪᴄᴇIɴDɪsɢᴜɪsᴇ If you ask me Samoth is already quite a valuable contributor to this site ;) Especially considering how recently they joined.

@Samoth NᴏᴠɪᴄᴇIɴDɪsɢᴜɪsᴇ has a good point, this philosophy doesn't originate here. There has been plenty of debate and discussion on this subject on the main meta, in case you are interested in reading more about the rational behind this.

You can try to follow some Tutorials like for a HUD, a Health Bar or maybe some Word Wrapping of a text overlay...

Don't delete this answer - the question asker is happy with this kind of post... Yeah, links are sometimes very helpful.

There's nothing wrong with including links in answers (quite the contrary!), however relying on them as the only piece of information is discouraged for reasons you already seem to be aware of (linked content changing or disappearing). The solution is to to provide (at minimum) a brief quote or summary of the content at the other end of the link, so in the far future there is at least something to prevent the answer from becoming wholly useless.

@Samoth Well, to be honest, I already seen these tuts quiet some years ago. I forgot about them and they are very helpful back then and they are still helpful now, so really, that's all I need for now ;) - Thanks!

Actually these "answers" should preferably be comments, as someone who curates a playlist of videos I find from time to time videos get removed or made private which is very annoying. If say by chance the creators remove these videos in the future even say 2 years from now this now accepted answer is effectively useless. It's a gray area I agree but if you can't condense it or link to a written article at least (that can be cached) I'd recommend in the future leaving comments instead, we are trying to create an archive of answers, linking to external content defeats that purpose.

That being said, this post is "rare" or somewhat localized enough for an exception so it can stay up until its flagged (if and when) in the future for missing content or similar. :)

Well, I'll see if I can summarize some things. But there's a problem with the comments: You can't get reputation for them. So basically if someone wants to "thank" for a helpful link in a comment, there is no real possibility. Comments shouldn't be "Thanks" anyways. I'd vote for at least getting one point reputation for an upvoted comment then ;-)

@Samoth well if you can come up with a better answer that also b very well appreciated. I'm still working on the GUI Text thing.

Case in point: 1/3 of the links are now broken...


text:
How would I go about creating a 3D MMORPG Mouse Look?
How would I go about creating a 3D MMORPG Mouse Look? I have created a 3D Space Rpg that is almost finished with success so far. However, I didn't have a clue, how I would attempt to make a Mouse Look method where if a user right clickes and then holds the right mouse button and moves it around the camera moves around with the mouse. The camera can not move away from your character/ship, it should act as if the character/ship is it's origin and that it rotates all around the origin.
I don't mind coding this with python either. Advice is welcome!

All you need to do to get your desired functionally is add the logic bricks pictured below to your camera.

The most important part is the Mouse Actuator, set to Look that is what moves the view
The Always Sensor is needed to make the mouse look actuator work.
The Mouse Sensor set to Right Button is what triggers the mouse look actuator.

David's answer almost works (sorry Dave, let the pros handle this).
The problem is, as most people will notice, that this orbits the camera around itself, and not, as Blender_Warrior said

it should act as if the character/ship is it's origin and that it rotates all around the origin.

Now all you need to do is have all the logic from David's answer onto an empty at the position of your player/ship. Move the camera the required and parent it to they empty. YAY! RPG camera as simple as they come.

NOTE: the cubes are just so you have something for your camera to look at so you can see the system working.


text:
How To Make Gunfire Animations?
How do I make gunfire animations with blender? I never animated anything in blender except to build models. Here is a picture of my model:

Is there anything I can try to make gunfire animations?

Closed? really I was about to post the settings for a simple line emitting particle system, please reopen. Much easier and less steps than most editing questions.

@ideasman42 I already prepared an answer could you please reopen?

Answer posted here: http://chat.stackexchange.com/transcript/message/15825049#15825049


text:
How to sculpt seperately?

I tried sculpting on the original model, but that it giving weird blur effect around the design. As per the video, the tutor created/ sculpted the design separately. How is that possible?

No idea since we can't read your mind to find out what video you're watching!

I have attached screen shot. If anyone can understand please let me know

Doesn't help as you still haven't said what video it's come from!

To me, it doesn't look like the design is separated from the teapot. You can sculpt such a design with an inverted mask or alpha brushes. Or maybe a displacement modifier.


text:
Character model blocky and not smooth and fluent
A while back, I made a character but there was a problem - its joints had cracks, like if you used a block and used another block, then put a bone, then moved that bone in Edit mode, there would be a crack from the opposite direction you were moving it. However, in all these videos I see, their models look like one piece and move fluently.
Another thing, I don't want to have to go to Edit mode or Pose mode because in Object mode I'm pretty sure they were just moving it straight "up". I don't get it.
Here is my old model -
Here is my new model -
I just want my new model to look smooth and be one piece and not fifty and also any character that I so make. I can't find one video that explains it, so if you can link me a video and or comment on a solution.
Also, the bones moved weirdly. I'm fine with making a whole new body for my character. So if there is a way I can make a smooth character and not have weird cracks when I move the bones that will be fine, I'll remodel. Please and thanks to all for the solution.

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

You need to watch some basic character modelling and rigging videos! There are hundreds online.

Here are a few things that are good to know regarding the topology and animation Modeling For Animation and Retopology A Detailed Guide - What is Retopology & Why Do We Need It?

Duarte Farrajota Ramos is right that some more images or gifs would be helpful, but I'll try my best to understand your question. I've had a look at your models and see that you've got some experience with modelling, that's good. The problem with the joints that you're describing, it works that way because you've made it that way. With your first model the upper arms, the lower arms and the torso are all separate meshes. You want these to be one mesh.
You say the bones move weird. You have a basic rig but it's not very functional at the moment. John Eason is right that there are many videos to help you out on YouTube, however not all of them respect your time. Royal Skies is a channel on YouTube that does very short but information-rich tutorials on Blender. Here are a couple that should help you:

Basic Rigging
Inverse Kinematics (to create controls for your rig)
Weight painting (to connect your mesh to your rig)

As for the shading, go into object mode, press spacebar and search for 'Shade Smooth'. Using this this will change the shading of whatever object you have selected to smooth shading, like so:

Good luck on your Blender journey!
Edit: Removed my ending comment, seemed a bit rude.


text:
index of CSV file seems to be treating 10s as the same
I am working through this very helpful tutorial "Data Visualization in Blender and Python", but have hit a snag.
I'm using this dummy CSV file:
width,5
width,10
width,2
width,6
width,10
width,9
width,1
width,10
width,7
width,8

and this version of the YouTuber's code
import csv
import bpy

with open ('/Users/me/Desktop/widthCSV5 - Sheet1.csv', newline='') as f:
    readout = list(csv.reader(f))

for a in readout:
    placement = readout.index(a)
    print(placement)

I get this output:
0
1
2
3
1
5
6
1
8
9

The entries that had 10 as a value all get 1 as the index. Has anyone run into this issue before?
Thank you in advance!

"The index() method only returns the first occurrence of the matching element."

The output is correct. The numbers are index values of the found values in the list, not the values themselves.
You can execute the code in the Python console. See also Easy way to run python script in blender python console?
Here is the data that is read from the file:
>>> readout
[['width', '5'], ['width', '10'], ['width', '2'], ['width', '6'], ['width', '10'], ['width', '9'], ['width', '1'], ['width', '10'], ['width', '7'], ['width', '8']]

In the loop a is an element of the list:
>>> for a in readout:
...     print(a)
...
['width', '5']       # index 0
['width', '10']      # index 1
['width', '2']       # index 2
['width', '6']       # index 3
['width', '10']      # index 4
['width', '9']       #  ...
['width', '1']
['width', '10']
['width', '7']
['width', '8']

If you enter readout.index( and hit the Tab key you will get a short description of the index() function. It tries to find the given value in the list and returns its index. The index starts at 0 for the first element. If the element is not found you will get an exception (error).
>>> readout.index(
index(value, start=0, stop=9223372036854775807)
Return first index of value.
Raises ValueError if the value is not present.

If you call the index() function with the element ['width', '10'] (which is a list with the two column values from the file) then you will get its index: 1
>>> readout.index(['width', '10'])
1

If you increase the start index to '2', you will get the next search result: 4. This is correct.
>>> readout.index(['width', '10'], 2)
4

If you want to see just the numbers, you need to use a[1] to access the nested list element:
>>> for a in readout:
...     print(a[1])
...
5
10
2
6
10
9
1
10
7
8

Hi, thank you for your help. I guess I was misunderstanding the youtuber's intention with the index as it was being used more like an incrementor to position each new object. It now seems like index would be hazardous to use like that. Thanks for clearing that up, I will probably just use a separate incrementing variable.

Now you mentioned this I had to watch the part of the video. Indeed he does this around timestamp 13:45. But that's not a good way to get the element's index and it only works because the unique names of the months are used. In your case, the elements are not unique in the list and it doesn't work. Better use enumeration as shown here Accessing the index in 'for' loops at stackoverflow.com

that looks like the one I need, thanks again!


text:
How to unwrap/unravel the curved face of a cylinder to become a rectangle
Just to give a bit of background; I generally create 2D animations using Apple Motion on videos, but I'm looking to do a small number of 3D animations.
I have no prior experience with 3D animations, but I've come across Blender before.
I'm just wondering whether blender can create video animations for the folllowing:

shade sides to a shape, such as a cuboid
general animation of a 3D shape (rotate it around so that others can see the other faces)
animate the increase the size/dimensions/lengths of a 3D shape
animate the unwrapping/unraveling of a cylinder (in particular unravel the curved face to become a rectangle)

I assume that the first three are easily done, but the fourth could be more difficult.
I work as a maths teacher so I'm showing my students some animations of 3D shapes on how to find surface area/volume etc in a fun way.
Assuming that Blender can do this, I can then get cracking learning Blender ASAP to complete these tasks.
Thanks,
Steve90

yes it can do that tasks

Thanks for letting me know.
Are these easily done for someone who has no prior experience?

Thanks for the responses, that's appreciated :)
I work as a maths teacher so I'm showing my students some animations of 3D shapes on how to find surface area/volume etc in a fun way. I've been makign 2D animations in my classes already: just looking to do a smaller number of 3D ones.

@Steve90 Ahh, okay. Well, it doesn’t have to be too pretty then, just make sense. I’ll toy around a bit. Meanwhile, here's the Blender Manual page on animating (introduction): https://docs.blender.org/manual/en/latest/animation/introduction.html

Yes exactly. Great, I'm sure with practice I can make the animations look good. I'll start learning the software tomorrow

I recommend you "fake" the cylinder unrolling using gradients in the shaders to have the side of the cylinder disappear as the rolled out version appears, or use a cloth simulation.

Great, I'll look into that. Thanks again. If I have any trouble with that, I'll look on the forum once I become more acquainted with the software.

Hello and welcome. This BSE is a question and answer site and it works a bit different than a common forum. I would edit and focus this question more to your 4th point so it will be helpful for other users with a similar problem in future.

"Are these easily done for someone who has no prior experience?"  You're a math teacher.  Is trigonometry easy to do for someone who has no prior experience?  Yes, it's easy, after learning what you need to get there; it's part of secondary school curriculum, after all, and all of those students started with no math experience.  How long will it take to get there?  Just like your students, it depends.  Some will get there more quickly than others.  Some could be learning trig in fifth grade, and some will only ever be able to learn it, even assuming hard work, in college.


text:
Showing the speed of Object or the speed of Camera (Speed Graph)
I am amazed that there is no speed graph or a way to show the speed of the Object Moving (or the Camera Moving). Can you guys tell me the way to show it ??
I have checked the old posts and there are some Script/Python in there. But I have NO IDEA how to use them. I never learned code, I never learned Python, I don't know how to use Script on Blender. Please tell me step by step as if I am a baby.
Thanks a lot for your help
PS: there is a Geometry Nodes to calculate the length of Curve: https://www.youtube.com/watch?v=8NbCwGYEjWc&t=221s . And I find it very helpful. It would be great if there were a Geometry Nodes for speed.

You can measure speed, acceleration, jerk etc. https://blender.stackexchange.com/a/294231/60486

The suggested duplicate does seem to answer your question quite comprehensively. If you disagree, go ahead and edit, linking back there, explaining why it doesn't quite work for you, and we can re-open for you..


text:
Images Error When Rendering Animation
when I rendered the animation (in EEVEE), for some reason, some images are like that:

What is the problem here? Why do some frames have this problem??

Have you tried to render this problematic frames again? Does issue persist?

there is no problem when rendering each frame. But the animation has around 30-40 frames with that error and it appears randomly. It took too much time to fix, so I re-rendered in PNG format and it is still here.  I can't find the reason for the error

I looks like graphics card issue ... Eevee is GPU renderer ... Try to render at another machine if you can to check if issue persists. Or check supported graphics cards for blender.

BTW ... Does it happening during scene rendering or Compositor calculation?

I rendered it on a different computer and yes, it's still here
I used Compositor calculation in this. I am not sure if it happened on scene rendering or not.

What Blender version you use? I rendered (old B3.64) 10% size (now I'm at frame 400) and no issue, but ... one thing that seems to be visible - the issued segment is the part of screen with creature (at least in your screenshots) ... also I got crash blender any time creature was enabled for rendering. So I appended creature into a new file to separate issue ... and for some reason any time Noise Texture is plugged into Bump or Displacement node it crash. It can be just my old station, but you can try to unplug Bump and Displacement node to see if issue persists.

I am using Blender 3.6.
"Noise Texture is plugged into Bump or Displacement node it crash.". Thanks, I will try to fix it

Thanks to #vklidu I finally fixed the problem. The error is on the Creature Meaty Material. This material was created in an older Blender and imported into Blender 3.6, it somehow makes the render problematic. Just a simple BAKE MATERIAL fixes the problem. Thanks a lot for your help, #vklidu


text:
Geometry Nodes - Rotate legos based on Normal Faces
I make a Lego model using Geometry Nodes from this tutorial: https://www.youtube.com/watch?v=LrEHoaq6QFE.

But now all the legos have the same rotation and face in 1 direction. If I want the Lego rotate followed the face normal (like the egg below). Do you guys know how to do it ??? (Lego limits by the 90-degree rotation, can't rotate freely)

You could probably do this with proximity. For each box you have find the closest face of the original geometry. Get normal of that face. Compare it with the list of the 6 directional vectors you want and find the closest. Finally rotate each box so that top is in the direction of this vector. This is of course gonna be just visual and it won't give you a way to reconstruct it with real lego bricks

Can you give me the image of the geometry nodes? It really hard to understand.

Ok I recreated my answer from the comment and made some screenshots so that you can Follow. What you need to do is find the closest face of the original geometry to each center point of the instances. This can be done by 'sample nearest' node and pluging 'position' node to sample position socket. The output of this node is an index of the closest face for each center point of instance.

After that you need to retrieve the normal attribute from the original geometry for each center point of the instances based on the index you retrieved in previous step.

And finally you need to align the z vector of the instanced geometry to the normal of the closest face and rotate the instance by it. This will give you this result which is exactly what you are asking for:

Now the thing is - like this it will work only for ortoghonal original geometry (as the normals are always facing the 6 directions you want). To make it work for any geometry you have two ways to go. Either Voxelise the original geometry before applying the geometry nodes. (remesh modifier -> Blocks) This way the normals are always gonna be within the bounds you want. Or you can compare the new normals to the 6 directional vectors you want, find the closest one for each normal and use it instead of it.

I'd also recommend to delete points that are inside of the geometry before putting instances on them so that blender doesn't have to calculate with them (they are not visible anyway)

Thanks a lot for Jiří Honzák answer. And to be honest, I have used the simple way by using "Sample Nearest Surface" Nodes.

But your last sentence is what I really looking for: " Voxelise the original geometry before applying the geometry nodes. (remesh modifier -> Blocks)".
Thanks a lot bro


text:
Rigging - First time rigging a character in blender, I have the whole body rigged and skinned but need help with his eyebrows and holster
This is my character - I modeled, textured, and am now attempting to rig him. I previously knew Maya, but because of budget switched to blender. He is fully rigged using rigify, however because his eyebrows sit over his eyes - I'm not quite sure how to actually rig them for animation.
His holster is also confusing me. I did not attach it to the rig because I know as he twists his body it will get messed up - how do I avoid any stretching/pull in that area? I'm a beginner when it comes to blender's terminology, so please forgive my ignorance. In maya I could add clusters to the model to move pieces around that didn't work well with the rig. I cannot for the life of me figure out how to do this in Blender. I know there is a hook modifer, but I can't figure out how to get it to follow the rig. (was thinking about using hook modifiers for eyebrow manipulation).
I appreciate any help! If you have any links to videos that cover this - that would be awesome. I've been scouring the internet but I feel my particular situation might be unique enough to not be covered.
Thanks a bunch,
Em

For the eyebrows you can create 3 bones that are parented to the head bone, keep them selected in Edit mode, switch to Object mode, select your object, in Edit mode select your eyebrow's faces, make sure that they have not been assigned to any vertex group, if they have remove them from any group, switch to Object mode, select your armature, shift select your object, switch to Weight Paint mode, enable the Paint Mask option, then go into the Weights panel and Assign Automatic from Bones:

For the holster, create a bone that will be the controller of the holster, give it a name (like Holster) parent this bone to the first spine bone (or to any other adequat bone), select the vertices of the holster, make sure that they have not been assigned to any vertex group, in the Object Data panel > Vertex Groups list, create a new vertex group that has the same name as the bone (Holster) and click on Assign:

After changing to the paint weight option and enabling paint mask, the option to Assign Automatic Weights with Bones is grayed out.

Could you please share your file?

I got it to work - sorry. I reversed the parenting - how silly. Appreciate your help Moonboots!

Oh ok great ;)  ...


text:
Is it possible to unwrap genus-0 mesh so each vert has one and only unique uv?
To unwrap a genus-0 mesh such as a sphere, I can make a full sphere from an unwrapped half sphere applied with mirror modifier. the amount of uvs equal the amount of vertices.  But the two verts selected in image below have two different uvs with the same value.(by checking in the exported .obj)
Or I can make a seam then 'Unwrap'. This way the number of uvs is larger than the amount of vertices. Each uv coord is unique, no repeated values.
I wonder how to unwrap a genus-0 mesh so each vert has one and only unique uv? Unique means there're no repeated uv coord values, it's not unique if the ith vt and jth vt have the same coord values.

How did you know that the v 1 2 3 represent a uv coord? I check the obj definition which indicate that v stand-for vertices coord and vt stand for uv values.

And I think it is totally possible to unwrap using only one uv per vertices (depend on how the data is interpreted). You can try project from view, which always give you a merged uv coord. And after export to obj file, the vt amount should meet the v numbers.

Also keep an eye on f. eg. A cube face:f 8/5/6 4/13/6 2/14/6 6/7/6. the element indicate which vt values to use in a face and vertices. So it doesn't to store duplicated data.

@Hikariztw Woops, I got the wrong screenshot. Let me update it

@Hikariztw Project from view will give me one uv per vert, but the half the vertices will share the same uv coord values with the other half. i.e. the uvs for (-1.5, 1,5, 3.0) and (1.5, 1,5, 3.0) are both (0.88, 0.30). What I'm looking for is that each vertex has a unique uv coord

@batFINGER It doesn't matter which projection Im using, my question was to make each vertex one and only unique uv with no repeated uv coords.  It's possible theoretically and in practice to merge the UV coords of boundary vertex . For example, for each boundary vertex, I can manually move the uvs to the same uv space, then remove the duplicated uv coords manually in text editor. But this is the most time consuming way.

@batFINGER I was playing around with this on a sphere and found one ok solution for the sphere, only one vert overlapping. You can check the updated question

Could  I enquire why you want to do this?

@batFINGER I want the uv to represent vertices too, and the texture of the verts on the back can be ignored. I guess I can try 'project from view' again and move the verts from the mirrored side slightly so each vert has a unique uv.

≫ I want the uv to represent vertices too, so each vert has a unique uv.

If the word "represent" is to identify which vertex is it, then it is doable.
A cube is almost the same thing to a UV sphere(g-0). You can project from view to make all uv shared by all edges and faces connect to it.

So we get 6 uv values only? No.
Actually, we still have 24 uv values inside Blender data. Those connected and shared vertices uv move together in Blender by default. You can even move the individual uv by adjust the selection option.

An uv map is depend on the topology of face. So there should be the same amount of uv tuples to represent a texture coordinate. In a cube, 4 for a face, and 6 face: 4×6=24 uv tuples. You can share the uv values, but you can't ignore that the uv query times should still be 24 to mapping the texture space.

Technically 100% right. I just thought he does not like seams and expressed his desire to get rid of them in a complex way. But if its the uniqueness alone is whats important, than this works perfectly ;)

Yes, project from view indeed seems to be a solution. You actually get 8 uvs when export it into .obj, I do not know where 24 come from tho.Thanks

@JuneWang From how blender treat those data in python. When export to obj, those connect and shared vertices were combined automatically to single data record.

No.
Unwrap. Meaning peeling the surface off of a solid and laying it out flat on the ground.
If your requirement is that there are no duplicated texture coordinates at all, it would mean that you are trying to peel an orange without cutting its skin. Even if you manage to "beam off" the skin in one piece you end up with a hollow shell that you cannot lay out flat on the ground without the front and back sharing the same area.
And the moment you cut it you get seams and therefore more uvs than vertices. if you merge them again later you once more end up in the situation described above.
This is true for all solids, not just genus-0 ones like a sphere.

Solids have no holes/knots are also genus-0. Okay, looks like this overlapping situation is inevitable. Thanks.

It's possible to have each vertex with a unique UV, but not every interpolated surface point.

@RobinBetts What's the difference?

@June e.g.  trivially, you could project from view the front half of a sphere, move its UVs out of the way, and then project the back half. No two verts would have the same UV, but the faces stretched between them would overlap.


text:
Part of the vertices are not moving correctly when moving root bone
When I move the root bone, part of the vertices-tail area in this case will not move accordingly. I've tried remove the tail vertices from all groups then reassign them to the tail bones, but the problem continues. I also checked in weight paint mode, it seems fine. Thanks in advance.

I guess we don't know enough about your rigging and weight painting, perhaps share your file


text:
How do I make something like this in Blender?
Is it possible to set a boundary for the model for certain frames then remove the boundary afterward?
See the image, first the model is set within a smaller canvas(the laptop), then remove the boundary so model will show in entire scene. Meanwhile laptop canvas will act like a portal hiding part of the model, kinda similar to cutting a section with a plane surface in Vred.
(https://www.youtube.com/watch?v=xSlA-EREDr8
@6:45-6:53)

https://blender.meta.stackexchange.com/questions/2449/what-is-the-problem-with-posting-an-image-or-link-and-asking-how-do-i-do-this

Hi. Please include screenshots of whatever the effect is so that if the youtube link is not available at some point this question will still be intact (and useful) for other users with the same question.

Sort of. You can animate a mix mask with transparency for both models and keyframe the mix factor so they appear and disappear exactly when you want them to. Alternately, you can simply make two completely different scenes and composite them.


text:
What's the algorithm used in 'tris to quads' (Alt+J)?
Does anyone know the algorithm used in 'tris to quads' function in Blender or the script containing this function? Thanks!


text:
Strange Nodes in imported .obj file from Alias .wire export
I exported an .obj file from Alias, then import it to Blender. It was able to import, but all I see is broken surfaces/edges and lots of CVs/points.
I've also tried with .fbx format, the mesh will not be shown at all in Blender.
Anyone can help? Thanks.

Blender requires a specific fbx version on import. Which Alias version are you using, and which version of Blender? Did you tessellate the data in Alias before export?

Blender version 2.79, Alias 2017, FBK 2016. I wasn't able to tessellate data during .obj export.

When transferring data from application A to application B, the challenge is that there is always two potential sources of the problem. In your case, I suspect it to be an incomplete Alias export. You've stated in the comments that you were not able to tessellate the data during .obj export. Just in case, you have been using settings similar to the ones in the screenshot below?

Note that Tessellate is checked (the tolerance depends on your model), and that the output units are set to Meters. Importing such a file to Blender 2.79b worked fine for me in a quick test.
If you still get a faulty export, it's worth converting the data yourself to Meshes before exporting. The NurbsToMesh tool from the Palette is your friend:

If you check use existing tessellation you don't need to enter values yourself. The existing viewport shading tessellation is used instead. Pick the resulting Meshes and export them to OBJ as proposed above.
The preferred way is to use the .fbx Interface, but there were API changes in Alias from 2017 to 2018, resulting in different options available. The screenshot here is from Alias 2018. Note the File Version setting, which is important for Blender to be able to read the .fbx:


text:
Cloth effect acting strange when I scale the pinning group
I have a problem.
I'm kind of new to blender. I'm trying to simulate a curtain and everything works well except when I scale the pinning points in order to get the "waves". Could someone please help me? I would be really grateful!

Curtains: https://blender.stackexchange.com/questions/71721/how-to-make-a-curtain/71727#71727 and here with pinning: https://blender.stackexchange.com/questions/98315/how-to-create-a-cloth-stage-valance/98330#98330

Can you please add more explanation as to what precisely you mean by 'scale the pinning points'. I have just tried this by assigning a set of vertices to a 'pinning' vertex group and then keyframing the horizontal scale of the curtains and this appears to be working fine. Please use the Edit link to add more detail to your question so that we can better understand your specific situation and issue.

Thank you for trying to help me! I added 2 more images. There are also clips on youtube, with simulating cloth. The most of them are using this method, scaling the vertices group used for pinning. I'm doing exactly how they are doing and the result is what you see..

I think I see your problem... Looks like you've scaled the points that are in the pinned group while in edit mode. The problem with this is that you're affecting the geometry of the cloth itself. I'll put together an answer detailing how to do this.

When running a cloth simulation, Blender uses the state of the mesh at the start of the simulation to determine the properties of the cloth - in particular, the size and dimensions of the individual faces. It appears that in your example that you have scaled a set of vertices while in Edit mode and this has affected the dimensions of the cloth itself, rather than just moving those vertices as intended.
In order to resolve this you need to know a little about how the cloth simulation operates. Firstly, the 'base' state of the mesh determines the underlying geometry of the cloth - ie, the vertices of the cloth and the length of any edges connecting those vertices. Once the simulation is started, Blender effectively makes a copy of the entire mesh and moves the location of that copy's vertices based on the simulation - but, importantly, Blender will use the 'actual' mesh edges to limit how far neighbouring vertices can move away from each other - ie, the 'structure' of the cloth. In addition to just the 'distance' between the vertices. Settings in the cloth simulation allow the 'stiffness' of this structure to be set, allowing the cloth to retain it's original shape.
When you 'pin' vertices, you are effectively tying those vertices to the corresponding vertices in the original mesh (rather than the 'copy' that follows the simulation). When you manipulate the original mesh, any 'pinned' vertices will follow where the 'actual' vertex moves. This allows the original mesh to be manipulated to effectively 'drag' the simulated mesh to affect the simulation.
So, to achieve the effect you are looking for, first create the mesh in a form that mimics the actual structure of the cloth - in this case, the curtain is a simple subdivided plane - more subdivisions gives more resolution to the cloth :

Select some of the vertices to be 'pinned' - ie, the points where it would be attached to a curtain rail or whatever. Assign those vertices to a vertex group with an appropriate name - eg, 'Pin' :

Setup your cloth properties with Pinning enabled, specifying your new 'Pin' vertex group.
Now, simply add a keyframe at the start of the animation to set the scale of the entire mesh to 1.0 and add a second keyframe to reduce the scale of the mesh (in the appropriate dimension - in my case this was in the Y-axis only). Since only the pinned vertices affect the simulation it is not necessary to limit the scaling to only the pinned vertices.

This produces the following result :

Blend file included

Ok. That is the effect you get on your first set of frames.


text:
how to use curvature in paint mode?
i'm trying to use curvature while painting texture, but it seems to fail in some way.

dirty vertex color seems fail too

i just modeled this object in one minute in freshly opened blender. what am i supposed to do to make right curvature calculations?
more simplier shape just appears to have no cavity at all.

i'm using blender 2.76b btw
EDIT:
just tested it with deformed plane and it worked!!!

but how am i supposed to paint over complex mesh?

come to a solution based on the fact that cavity is calculated in blender based on the verticies. made a tripple subdivisio and was able to paint edges properly.

Another solution is to generate a curvature map by baking the mesh's curvature then add a layer and paint in overlay mode.


text:
Align vertices in a line NOT in axes
So here is a picture:

Here i have 3 verts. I want to align them in diagonal, centering on middle vertex.
There is a solution tho - creating an edge and setting it as a custom transform orientation, but it seems to be overcomplicated. What if i need to do this on multiple vertex groups?
May be there is another way to straighten verts in a line, that is not aligned with axes?
UPD: actually above situation can be solved by scaling along normal Z axis.
But what if i have this:

Here i want verts to be aligned in a line between first and last verts. But transforming by normal orientation does not help here.
UPD: tried making an edge between these two verts, but its orientation appeared unsuitable for scaling (like on image).
UPD: used lower face as transform orientation, but result was not as expected. And what if i have no suitable faces, oriented appropriately?

Please advice, what am i doing wrong here?

Related - http://blender.stackexchange.com/questions/28063/straighten-edges-not-on-axis

It appeared that the problem is easily solvable by creating the edge between two extreme verts by F and then subdividing that edge, so it has the corresponding number of verts. Then simply slide the verts of the edge with double G with enabled snapping to vertex, so every new verts are aligned with the verts that need to be straigtened. Lastly i managed to get perfect straight edge of verts by merging them!
Thanks Mr Zak for the hint!
Also i've found a nice plugin shipped with blender - Loop Tools. It has a tool named "Flatten". It also performs fine in this situation.


text:
split object into equal halves
i've made a mistake - modeled a complex (consisting of a number of meshes) object without a mirror modifier.
and now i came to unwrapping and decided to use mirror modifier.
but stuck. i don't know how to split this object into halves, because tools i know (knife, edge loop, bisect) won't do it.
i was adviced to use boolean modifier first with a cube. it seems to work, but may be there is some simplier way?
EDIT: boolean worked only on somehow simple objects, but failed on something more complex.
here is the image:

it is perfectly symmetrical. it not always has edges in the middle, but i think it's not a problem (faces there are flat)?
here is the blend: http://www.pasteall.org/blend/43072

Does the geometry have a straight edges at the center,where the cut would be made?

It largely depends on the object. Can you add an image to your question?

and is your model totally symmetrical ?

Could you split the object into multiple, boolean that and recombine them?

The knife tool would work for this. Follow my answer, but also press Z before making the cut.

'Knife project' works well here :

Add a plane
Place one of its edges along the middle (at the exact center)
You may work in a ortho view and along the axis (here top ortho)
Stretch it so that it covers your mesh
Select your mesh (keeping the plane selected) and enter edit mode
Hit 'knife project' and make sure the option is 'cut through'
Select the half to remove and add the mirror modifier

wow! cool! thank you! i have never used this tool and thought it something identical to simple knife, lol

In Blender 2.83 I've had success using the knife tool but it's a little different than above. This will only work with symmetrical objects.

Switch to whichever ortho view you want
Select the knife tool.
Click the most top and most middle edge, close to where half would be. You should then see some key functions show up in the bottom bar of the screen.
Press Z  to toggle the cut-through option. This will cut through the whole object. By default this is off and it would only cut the viewable faces.
Hold Ctrl to snap to the middle of edges. You should notice the first vertex where you clicked shift slightly to the center (or maybe not at all if you were perfect).
Continue holding Ctrl and move the mouse to the most bottom middle edge and click. Then double click again on that vertex to close the cut.

Check out the cut in mesh mode to make sure it went all the way through, then press Enter to finish the cut. You can now split the object at this line for two perfect halves.


text:
Geometry Nodes: Retrieve individual object from an instance of a collection
Using geometry nodes, I'm creating multiple instances of a collection. I'm not using 'pick instance', but simply want to duplicate the whole collection.
In this example, the collection consists of a white cube with a blue sphere above it, and it is instanced three times:

I know that I can also address indivdual instances via their index.
Here, I'm picking out the middle instance (the one with index 1) via a Separate Geometry node and giving it a red material:

However, what I want is to not just pick out a specific collection instance, but then also a specific object from it.
So in this example, let's say I want to apply the red material only to the sphere from the middle instance.

What I've tried:
Simply adding a second Separate Geometry node behind the first one doesn't work, since it seems to still use the same Index field as before (the one that indexes the instances created by Instance on Points):

Workaround:
While I can't seem to separate the geometry after indexing, I can separate it before and then instance everything individually like this:

This produces the desired output, but makes the node tree pretty unwieldy and defeats the purpose of putting the objects in a collection to begin with.

I'm using Blender version 3.4.1.
Attached is a .blend file producing the above: the node trees are assigned to a plane object, and there's a node tree for both the failed attempt and the workaround.

An instance is a linked duplicate of an existing object, collection or other things. It is not editable on its own and is acting as a closed unit. Therefore you cannot pick single items out of an instance. For the same reason the Set Position cannot move vertices of an instance separately unless they are converted into a mesh by realizing them.

...thinking about it now it might be possible to capture an attribute or store a named attribute before instancing, for example the index assigned to the separate objects in the collection (which you would use for picking a certain object to instance specifically this) and later call this attribute as a selector for parts of the instance. But this might fail due to the fact that an instance acts as a unit as well, I'm not on a PC to check this out at the moment.

You have to realize the instance and then separate by mesh island

Oh, of course that's a good solution. I was somehow thinking it was not only the goal to pick one object in one instance, but let's say all spheres in all instances. But in the question is asked for a specific object in a specific instance, so I misunderstood that.


text:
Intersection between rotated plane and volume sometimes fails
I want to use geometry nodes to cut out the part of a 2D plane that lies inside a cube.
As a minimal setup, I just added a plane to the exisiting default cube and scaled it up by 3:

When applying the follwing geometry nodes to the plane (simply adding a 'Mesh Boolean' node, setting it to 'Intersect' and combining the plane's geometry with that of the cube) I can get the intersection quite nicely. It even works when rotating the plane in the 3D Viewport (by pressing R or entering angles in the sidebar).

However, for some rotation angles, the output geometry suddenly switches to a volume, consisting of the cutout of the plane and the part of the cube below it:

(The angles in this example are X: -23.5°, Y: -128°, Z: -104°.)
I assume this happens because boolean intersect is made for two volumes, not a volume and a plane. Indeed, adding some thickness to the plane seems to remove the issue.
However, I want to add further nodes to modify the cutout of the plane, and it having thickness really complicates that.
Using geometry nodes, is there any simple workaround for this, without replacing the plane by a volume?
I also tried adding 'Subdive Mesh' nodes to the geometry of the plane and/or the cube. This sometimes removes the issue for a specific angle, but it's never completely gone.
I'm running Blender version 3.4.1.

You can use boolean modifier with different solver, "Fast":

Even the 'Fast' solver sometimes produces the effect, but at least more rarely, it seems. However, I would really prefer to do this completely in geometry nodes.


text:
I can only edit the time-line
As you can see from the image I'm stuck in the timeline, I pressed some hotkey but I don't know which one.
Thank you

You probably hit Ctrl+Alt+Spacebar (Toggle Area Fullscreen) by accident. Just do it again.