text:
How to make chest and hip bones
I want to make chest and hip bones like the ones used in rigify. (See image below for more clarification) I've searched several places but couldn't find any information on how to make them. How can I make these for my own armature? Specifically, what types of bones/ constraints do I need to use?
*Rigify is too confusing for me and I want to make the rig myself for those asking.

Those bones are part of the torso rig, which for a couple of reasons is one of the most complex parts of a bipedal rig. They are control bones that are colocated and both parented to the torso:

by convention the chest is the larger of the two bones.  The upper part of the torso is parented indirectly to the chest while the lower part is parented indirectly to the hips.  If you enable the Torso tweak bones you can see that this is a pretty complex structure:

A complete description of how to do this would amount to a tutorial on rigging, and that's frowned on by Stack Exchange.  You might find Episode 3 - Spine and Torso Rig - Blender Complete Professional Rigging workflow for animations to be a good starting point.
To give you some idea of how complex this is, I've revised some notes from a course I took.  Here's the section on the torso:
torso rig - part 1
  * Torso rather than spine because it includes the hips but not the neck
  * Start with a simple FK rig.
  * Use a minimum of 3 bones
    * Pelvis
    * Rib cage
    * Spine connecting them
  * He thinks 2 for the rib cage is usually good for humanoid characters
  * Quadrupeds, for example, have long spines and will need more spine bones
  * Not a good rig because it requires a lot of counter animation
    * The rib cage and pelvis rotate independently a lot
    * The pelvis pivot point is too low. When people walk, their hips tend to swing from higher up, closer to the waist
    * One solution
      * Unparent the spine from the pelvis
      * Flip the pelvis with an ALT-F
      * Constrain the spine to it with a copy rotation constraint
      * Problem: animator has to control all four bones.  It would be nice to only have to control the top and bottom and have the middle bones follow nicely
        * Create a head and neck style rig
            * Add the parent bones
            * Align them properly
            * Set up the child/parent hierarch
            * Create the two control bones
            * Add copy rotation constraints
            * Adjust the constraint influences to create a nice bend
      * Problem: real people can swing their hips and chest side-to-side and front-to-back
          * Add a new 'middle' control
          * Remove the constraints from the middle spine parents
          * Constrain the upper parent to the upper and middle control
          * Constrain the lower parent to the lower and middle control
          * Adjust influences for that nice curve
          * Give the middle control a parent and constrain it to the upper and lower controls.  This way the animator can normally ignore the middle control but has it when needed
      * This rig will do for a lot of characters, but this character has to do acrobatics. The pivot point should be closer to the neck for this.
      * It's very hard to move the pivot point.  Move the torso instead
      * Two bad things about moving the pivot point.
          * The translation doesn't show up in the normal transform values
          * Earlier parts of the animation affect later parts

These are custom bones, you just need to create a mesh that has the shape you want, them select the bone in Pose mode, go into the Bone properties panel > Viewport Display > Custom Shape and select the mesh as Custom Object:

The bone is no longer a octahedral, it has taken the shape of your mesh, you can now hide the mesh:

Then select the mesh

I'm looking for how to make the bones themselves, not the shapes.

oh ok so maybe share the armature so that people who don't know rigify can test them: https://pasteall.org/blend/https://pasteall.org/blend/

https://pasteall.org/blend/3d0ab29502224a659b8bcfc399f22cbd


text:
Can't enable SketchUp Add on
I see the checkbox for the SketchUp add-on in the preferences, but cannot enable it.
Using Blender 3.1 and Sketch Up Pro 2022
Add on: SketchUp Importer 0.23.0
Please help, thanks a lot

Hello, could you explain the process you used to install it ? Did you unzip the file before installing it as an addon ? If yes, you shouldn't have,

I've checked this against 3.1 and it works for me.  As @Gorgious suggests, the correct steps are 1) download sketchup_importer.zip. 2) start blender. 3) Edit preferences and go to add-ons. 4) select install.  You have to wait a bit though it seems to take nearly a minute for it to be ready to install.  Did you follow those steps or do something else?

Thanks for your quick answers!I just tried it again in the same way you said - unfortunately still the same result. Cannot enable the checkbox..Any ideas?

Check if there is any message printed out when you open the console with Window > Toggle System Console and copy/paste it in the question

Last login: Wed Mar 30 14:12:48 on ttys000
/Applications/Blender.app/Contents/MacOS/Blender ; exit;
ADBKMHN-HRWJ1G9:~ di57pam$ /Applications/Blender.app/Contents/MacOS/Blender ; exit;
Read prefs: /Users/di57pam/Library/Application Support/Blender/3.1/config/userpref.blend
Is this what you meant? Using mac - there is no Toggel System Control, have to open Terminal Blender.

Have you Sketchup in the same computer? because the plug-in depend on that.

from what i can see, that sketchup_importer.zip offered at the RedHaloStudio repo is targeted to windows machines. you might need to run the python setup script in one of the other deliverables. i tried just importing the original python script from (url)[https://github.com/heikkisa/blender-import-sketchup] which recognises the plugin (and can be enabled) but doesnt show up in the import menu (probably because it was made a while back and might not be compatible anymore with newer Blender versions).

the process to install on mac seems to require files from the sketchup developer API (signup required). [https://github.com/martijnberger/pyslapi]. the setup fails without the API.

for mac users, you can try this build: https://github.com/reyem/Sketchup_Importer/releases/tag/v0.23.0 but as the repo says its minimal tested (Monteray), and altho it appeared to install and enable for me (on Big Sur), it didnt show up as an option in import file menu.

Have you been able to resolve this? I am having the same issue, the version provided by jsky is not working, throwing an error once I try to enable it.

I had the same issue. Looked on the github page of the addon and there are many issues open about this.
However user 'helsharif' posted a link to this addon:
https://github.com/RedHaloStudio/Sketchup_Importer/releases

So any success?

The addon I linked works for me. I'm able to import .skp files and they all look okay. I don't know why the "standard" addon doesn't work but this one is a good alternative. Just make sure to remove the 'old' addon before installing this one.

source: Stack Exchange

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

sort: votes


text:
How to parent a bone to a bone on another armature
I'm making a model with different sets of hair, so I want to the hairs to have separate armatures. The issue is how do I connect the armatures to the main one so the function properly. I tried using a child of constraint, but that moved the mesh into a different spot. What's the proper solution here?

after adding the child constraint, click on "set inverse".

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


text:
Blender curve shape glitch/problem
I'm not completely sure if it's the curve but these random line figures keep appearing in the background and I don't want it. They're the ones with no vertices.

Higher resolution image

The vertices were on the bigger object on the screen, I was on object mode. ;-;

pls upload your file


text:
How to create a double vaulted ceiling
So I understand how to make a vaulted ceiling from this:
How to create an arch (vault) that is curved inside?
But I am wondering how I would trim the individual triangles that make the vault up with more vaults like pic related? Any help would be appreciated

You can try it this way:

Create a 16/8 vertex UV sphere, cut it in half:

Scale 1 edge out of 2, constrain on X and Y:

Give your object a Boolean modifier with a cube as Object:

Cut this vertical edge with the knife:

Cut a hole, duplicate the stained glass window and shift it on the right:

Create a bridge between the window and the hole:

Only keep 1/8th of the whole shape and mirror it:

Array the shape with an Object Offset:

You have your basis shape (view from the bottom):

Wow, cool - I would have never figured that out. I just looked at the reference and actually didn't know how it was built in detail. The only thing that bothers me while trying to rebuild your solution: no matter how much more or less I scale in the edges of the sphere in the beginning, I never get it to the point where the cube cuts the "windows" so far in that the top has these three vertices and still keeps the corners at the bottom...

To be honest I almost gave up as it seemed rather complicated, until I found how to begin (with a sphere that needs 1 edge out of 2 to be scaled). I wonder how these architects had so crazy ideas. I'm not sure it's very important to have the 3 vertices, you can still create them afterwards. I've just released a tutorial on this vault on my channel btw, if it helps.

I'll try to look at the tutorial... going further I get more problems. The window in the middle is much too large when I duplicate it and move it over, it exceeds the overall shape by far. It looks all so different in your screenshots although I seem to be doing exactly what you explain there. And I'm no beginner at Blender modelling.

Yes it needs a bit of corrections afterwards, like narrowing the window, or moving the pillars a bit, not a lot though

I watched the tutorial, okay that explains a lot... you scaled it much more in than it appears in the screenshot and the cube isn't going down to the bottom of the sphere, it sits higher... that makes much more of a difference than I thought.


text:
How to add "quickly" mesh to an armature?
I know i can simply create one vertex, extrude vertices from there, add a "skin modifier" and then click on "create armature" and so i have a very quick armature + mesh setup - which i really appreciate.
Is there a "similar" trick to add mesh to an existing armature?

with a script you can create a skeleton mesh from the bones fairly quickly. Then mark the roots of the limbs as roots for the skin modifier and you have a stick figure.

There is the Object: Skinify Rig addon. It comes with Blender and can create a mesh from selected bones: https://youtu.be/v4K8I0gSIuQ


text:
How to add a cube between two points in python?
I want to add a cube between two points in python.
The result should look like this:

So i have two world coordinate positions (the empties) and the cube should be places between it. How can i do that?

This might be what you're looking for. Let me know if I need to fix anything :)
import bpy
from math import atan, pi, sqrt

empty1 = bpy.context.scene.objects["Empty1"]
empty2 = bpy.context.scene.objects["Empty2"]

p1 = empty1.location
p2 = empty2.location

x = p2[0] - p1[0]
y = p2[1] - p1[1]
z = p2[2] - p1[2]

mag = sqrt(x**2 + y**2)

if x == 0:
    beta = 0
else:
    beta = atan(y/x)
if (x <= 0 and y >= 0) or (x <= 0 and y <= 0):
    beta = pi + beta
if mag == 0:
    theta = pi/2
else:
    theta = atan(z/mag)

bpy.ops.mesh.primitive_cube_add()

gap = (p2 - p1).magnitude

cube = bpy.context.scene.objects["Cube"]

cube.scale.z = gap/2

cube.location = p1 + (p2 - p1)/2

cube.rotation_euler.z = beta
cube.rotation_euler.y = -theta + pi/2

great, thanks mate! Exactly was i was searching!

You're welcome! I realized that I didn't handle divide by zero when x = 0, so I set beta = 0 when x = 0 to fix it. This occurs when the empties are aligned vertically.

thank you again! ;)


text:
how to set parent of mesh to a bone
I am struggling with parenting meshes to bones.
Here is the complete runnable script:
import bpy

def create_mesh_for_armature(context, name):

    counter = 0

    armature = context.scene.objects[name]

    selected_bones = []

    for pose_bone in armature.pose.bones:

        if pose_bone.bone.select:
            selected_bones.append(pose_bone)

    for eachSelectedBone in selected_bones:

            tail = armature.location + eachSelectedBone.tail
            head = armature.location + eachSelectedBone.head

            bpy.ops.mesh.primitive_cube_add()
            ob = context.active_object

            bpy.ops.object.select_all(action='DESELECT') #deselect all objects

            if context.object == None:
                print("NOOOOOONE")

            ob.select_set(True)

            context.view_layer.objects.active = armature

            context.object.data.bones.active = eachSelectedBone.bone

            bpy.ops.object.parent_set(type='BONE', keep_transform=True)

            counter += 1

    print(counter, "meshes for bones created")

class Create_cubes_for_bones(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.create_cubes_for_bones"
    bl_label = "Create cubes for bones"

    @classmethod
    def poll(cls, context):
        return context.active_object is not None

    def execute(self, context):
        ob = context.active_object
        print("in execute: ob:",ob)
        if ob.type == 'ARMATURE':
            create_mesh_for_armature(context, ob.name)
        return {'FINISHED'}

def menu_func(self, context):
    self.layout.operator(Create_cubes_for_bones.bl_idname, text=Create_cubes_for_bones.bl_label)

# Register and add to the "object" menu (required to also use F3 search "Simple Object Operator" for quick access)
def register():
    bpy.utils.register_class(Create_cubes_for_bones)
    bpy.types.VIEW3D_MT_object.append(menu_func)

def unregister():
    bpy.utils.unregister_class(Create_cubes_for_bones)
    bpy.types.VIEW3D_MT_object.remove(menu_func)

if __name__ == "__main__":
    register()

    bpy.ops.object.create_cubes_for_bones()

class LayoutDemoPanel(bpy.types.Panel):
    """Creates a Panel in the scene context of the properties editor"""
    bl_label = "Layout Demo"
    bl_idname = "SCENE_PT_layout"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "scene"

    def draw(self, context):
        layout = self.layout

        scene = context.scene

        row = layout.row(align=True)
        row.scale_y = 3.0
        row.operator("object.create_cubes_for_bones")

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

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

if __name__ == "__main__":
    register()

First, select the armature, then select in pose mode minimum 1 bone. Then run the script. It will create cube(s) and parent it to the bones.
But...if you go to scene tab and press the button, you will get an error...and i have no clue why...

If i run my add-on/script directly, it works.
If i run it by pressing my custom button, context.object.data is None. (although it should be the armature).
Can anybody tell me how i ensure that context.object.data is set? or how i set it? or am i doing it totally wrong here?
Armature is filled, i checked that by a print statement.

This depends on what the context is and whether the currently active object is set / your armature. I would suggest that you edit your post and include a minimal self-contained script that shows how you call it with your button. This way we can provide a specific answer to your problem.

i am sorry, i improved my post. Do i have to add more? blend file?

import bpy

# select and del all object
if bpy.context.object:
    bpy.ops.object.mode_set(mode='OBJECT')
    bpy.ops.object.select_all(action = "SELECT")
    bpy.ops.object.delete(use_global=True, confirm=False)

bpy.ops.object.armature_add(enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))
armature = bpy.context.object

bpy.ops.mesh.primitive_cube_add(size=1, enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))
cube = bpy.context.object

bpy.context.view_layer.objects.active = armature
bpy.ops.object.parent_set(type='BONE', keep_transform=True)

Changed in line 33
import bpy

def create_mesh_for_armature(context, name):

    counter = 0

    armature = context.scene.objects[name]

    selected_bones = []

    for pose_bone in armature.pose.bones:

        if pose_bone.bone.select:
            selected_bones.append(pose_bone)

    for eachSelectedBone in selected_bones:

            tail = armature.location + eachSelectedBone.tail
            head = armature.location + eachSelectedBone.head

            bpy.ops.mesh.primitive_cube_add()
            ob = context.active_object

            bpy.ops.object.select_all(action='DESELECT') #deselect all objects

            if context.object == None:
                print("NOOOOOONE")

            ob.select_set(True)

            context.view_layer.objects.active = armature

            armature.data.bones.active = eachSelectedBone.bone

            bpy.ops.object.parent_set(type='BONE', keep_transform=True)

            counter += 1

    print(counter, "meshes for bones created")

class Create_cubes_for_bones(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.create_cubes_for_bones"
    bl_label = "Create cubes for bones"

    @classmethod
    def poll(cls, context):
        return context.active_object is not None

    def execute(self, context):
        ob = context.active_object
        print("in execute: ob:",ob)
        if ob.type == 'ARMATURE':
            create_mesh_for_armature(context, ob.name)
        return {'FINISHED'}

def menu_func(self, context):
    self.layout.operator(Create_cubes_for_bones.bl_idname, text=Create_cubes_for_bones.bl_label)

class LayoutDemoPanel(bpy.types.Panel):
    """Creates a Panel in the scene context of the properties editor"""
    bl_label = "Layout Demo"
    bl_idname = "SCENE_PT_layout"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "scene"

    def draw(self, context):
        layout = self.layout

        scene = context.scene

        row = layout.row(align=True)
        row.scale_y = 3.0
        row.operator("object.create_cubes_for_bones")

def register():
    bpy.utils.register_class(Create_cubes_for_bones)
    bpy.types.VIEW3D_MT_object.append(menu_func)
    bpy.utils.register_class(LayoutDemoPanel)

def unregister():
    bpy.utils.unregister_class(Create_cubes_for_bones)
    bpy.types.VIEW3D_MT_object.remove(menu_func)
    bpy.utils.unregister_class(LayoutDemoPanel)

if __name__ == "__main__":
    register()

uhm...ok, thank you for your answer. But i am not sure whether i don't get it or you don't get it. My problem isn't to make the code run. It works. It just doesn't work if it is started by a button in an add-on. So i am not sure what i should do with your code now...?

It will work fine after modified.

thank you very much ! works like a charm!!!


text:
How do I make a pillars cap, inset, with flattened edges?
So I understand how to inset a plane to make a curve from here: How can I make a plane's edges taper inwards?, but how do I flatten the edges like pic related

Hello, what kind of inner topology do you need?

So this is the top view, do you have a front view? Is what we see completely flat the extruded on Z?

Hello and welcome. Please don't post the same question more than once. If your previous question was put on hold, address raised the issues by editing it so it can be reopened rather than post a new one, otherwise see What should I do if no one answers my question?

Duarte please don't comment on posts like you did my previous question that is deleted and not the same as this one without reading the post first. You linked me to a post that had nothing to do with the question I asked. It was not put on hold. there was no "raised issues". The only raised issue I had with my previous post was the fact you replied with something I explained I already knew how to do. Please refer to the rules where it says read the post in its entirety before replying

feel free to go to https://blender.meta.stackexchange.com/ with questions about the site

Start with a mesh plane, subdivide it and then use the knife tool to cut the corners and scale the mid-verts towards the center. Object > Convert > Curve. Go into edit mode of new curve object and select all, right-click > Set Spline Type > Bezier. Then follow the rest of the steps from the link you posted.

It won't be perfect, you'll have to adjust the curve handles a little bit.

Create a plane, bevel it with CtrlB and V to switch to vertices bevel:

By default it won't give what I show but you just need to tweak the Width, Segments and Shape values in the Operator Box, lower down the Shape below 0.5:

To most folks, that pointy thing looks like a corner. To moonboots, it looks like a side , that hasn't yet reached its potential. :)

yes at first I had the reflex to flatten the corners but I remembered another shape that was quite similar and that I've done with bevel  ^^

If it lines up with the local orientation you can scale the points flat since its not lined up for global. If not you can make a custom axis on that 45° angle and scale to flat one at a time. Not sure how else since its on an angle.


text:
adding or filling export to csv/excel fill
adding or filling export to csv/excel fill test

Are you familiar with python?  I just tried https://blender.stackexchange.com/questions/1311/how-can-i-get-vertex-positions-from-a-mesh on a cube and it worked.  You could then import csv and pass in the list of vertices you get and specify the disk location you want the csv file.

Run this from the GUI, change your file output location from my directory to whatever you want to call it, and select the correct object for csv_obj
import bpy
import csv

csv_obj = bpy.data.objects['Cube']

out_list = []
for i, vert in enumerate(csv_obj.data.vertices):
    out_list.append(vert.co)

print(out_list)

file = open('/home/harrison/Documents/blender_stack.csv', 'w+', newline='')
with file:
    write = csv.writer(file)
    write.writerows(out_list)

```


text:
trying to find ijk values for 3d mesh plot
i created a mesh monkey object from blender option. On the screen, you see the spreadsheet which only give xyz values and i trying to figure where are the ijk. The reason i want these values is to make a 3d mesh in plotly .
On the second screenshot, I've exported the spreadsheet to be use in plotly studio and you see how the monkey look like with just the XYZ values which does not look right in plotly studio because it's missing the ijk values.
I was wondering if blenders have the option to view/export ijk data so that the model would look like the same as in plotly studio?https://computergraphics.stackexchange.com/questions/8960/what-are-the-i-j-k-components-of-a-3d-mesh-on-plot-ly-online

Get indices of mesh

Go to Edit mode, select All and make Triangulate Faces

Exit Edit mode >To Object mode

Run script

import bpy

obj = bpy.context.object
mesh = obj.data

print("coor: ")
for vert in mesh.vertices:
    xyz = vert.co.xyz
    print(f"{xyz[0]}, {xyz[1]}, {xyz[2]}")
print("")

print("indices: ")
for face in mesh.polygons:
    print(f"{face.vertices[0]}, {face.vertices[1]}, {face.vertices[2]}")
print("")

Open console

Export to csv
import bpy

outputFile = 'C:/yourlocation/list.csv'

obj = bpy.context.object
mesh = obj.data

coor = []
for vert in mesh.vertices:
    xyz = vert.co.xyz
    coor.append(f"{xyz[0]},{xyz[1]},{xyz[2]}")

indices = []
for face in mesh.polygons:
    indices.append(f"{face.vertices[0]},{face.vertices[1]},{face.vertices[2]}")

line = ["X,Y,Z,I,J,K\n"]
if len(indices) >= len(coor):
    for i, s in enumerate(coor):
        line.append(f"{s},{indices[i]}\n")
    for i in range(len(coor), len(indices)):
        line.append(f",,,{indices[i]}\n")
else:
    for i, s in enumerate(indices):
        line.append(f"{coor[i]},{s}\n")
    for i in range(len(indices), len(coor)):
        line.append(f"{coor[i]}\n")

f = open(outputFile, 'w')
f.writelines(line)
f.close()

Really impressive stuff. Do you if there is a possible way to export the indices values to a csv file?
The only way i manage to do it is to copy and paste the command prompt onto spreadsheet and use data - text to columns, delimiter command - finish. This will separate each value into a separate column.

Yes, it can. A write a new script for you.


text:
How to move view forwards / backwards
I'm very new to Blender, and am struggling to even move the view / camera
I can rotate, pan up/down and left/right, zoom in/out... but I can't actually move forward / backward?
Is the only way to move forward / backward simply by zooming in/out? would this not really mess things up in terms of depth of field?

The most convenient way to move the camera imho is to activate the Camera from View option in the N panel > View. Now when you'll be in camera view it will work as if you were in viewport navigation:

Also it's convenient to have the Orbit Around Selection option enabled in the Edit > Preferences > Orbit & Pan.


text:
Is there a maximum amount of shapekeys I can have?
Is there a maximum amount of shape keys I can have for a mesh, or is it unlimited?

Max length of the name is 63.
The combination of name is $ 144697^{63}= 12851392879591122911761589304575794295758797271787940570926311614287919224341791971469577328053770301824716271030055608943648883125919393360195551682522819982095389316489211601257250722083879440804630034307102152166481391108662198091375635962541703419882552734342779293835756366410618237248180266663032403968561741920274718473$
Name cannot repeat in blender, So there exist a maximum amount of object you can have.


text:
Turning mesh shapes into shape keys
I've imported into Blender a human figure made and rigged in Makehuman. It has about 50 ready-made face shapes but I am unable to control them although their shape-key drivers are visible in the shape-keys tab under object data properties. I need help in how can I turn them into shape-keys that I can animate?

You make want to try this question on the MakeHuman forums as few of us here use MakeHuman and even though I use it, I don't recall how to use the shapekey driver.

In the shape keys panel, select the imported mesh shape. Click on the shape key specials button and from the dropdown menu, select "New shape from mix". This creates a shape key that you can manipulate in normal Blender shape key fashion.

Even better, left-click on the imported mesh shape (coloured purple; see image above) and in the drop-down menu, click "delete driver." These leaves you with a ready-made shape key for that particular mesh shape.


text:
How to batch rename vertex groups
I am working on a rigify rig, but made the mistake of setting up the weights before generating the rig, so all the vertex group names correspond to bones on the metarig. Is there an easy way to quickly add the DEF- prefix to all the vertex groups so I don't have to manually go through all of them?

This should work
You can execute it from the Python Console
for i in bpy.context.active_object.vertex_groups:
    oldn=i.name
    i.name='DEF-'+oldn

Cheers,


text:
How do I add hair (3D segments, coord from file) to a head?
[Blender newbie here] I have the 3D mesh of a head, saved as a .obj file, and I need to place some hair on top of it. The hairstyle is defined in a .data file, which consists of 10.000 hair strands. Each hair strand is made of 100 segments.
How can I place the hair on top of the head? Should I convert the .hair file in a .obj mesh? If so, how do you recommend to do it? Thanks heaps!
I am working with the USC - HairSalon dataset, which you can download from here.

I still haven't found a way to do this using Blender. As a temporary fix, I managed to load the convert the hairstyle in a set of 3D points, store these in a csv file and display both the points and the head in 3D using ParaView.

You could import the data with a Python script and create the hair mesh. Then you can convert it into curves and extrude them for stylized hair or use the HairNet add-on to create particle hair. (oof, it's a 3.2 GB solid database file)

Here is a script that reads the data file and creates the strands of the hair mesh.

The script is straightforward. It reads the file, checks the number of strands, then reads them one by one and creates the edges of the strands. Empty roots will be skipped.
To run the script, go to the Scripting workspace and select menu Text > New to create a new text data block. Then copy & paste the script. Adjust the path of the directory for the data files and the ID that defines which of the files you want to import. Finally, press the run button.
If something goes wrong you need to check the system console (main menu Window > Toggle System Console).
Keep in mind that a hairstyle can have up to 1 million vertices. If you want to import more than one I strongly recommend only keeping every Nth strand to reduce the amount of incoming data. (Reducing the number of vertices is more difficult because it shortens the hair.)

Performance test - imported all 343 hair styles but only 1250 strands for each head (=12.5%), 5GB RAM usage
# Importer for USC-HairSalon: A 3D Hairstyle Database for Hair Modeling
#  https://www-scf.usc.edu/%7Eliwenhu/SHM/database.html
import bpy
import bmesh
import math
from mathutils import Vector
import struct
import array

data_path = "C:/tmp"      # <------------------- path
hairstyle_id = "00144"    # <------------------- strand id

def addStrand(vertices, edges, strand_data_xyz):

    # add first vertex of strand
    xyz_idx = 0
    vec =  Vector((strand_data_xyz[xyz_idx], strand_data_xyz[xyz_idx+1], strand_data_xyz[xyz_idx+2]))
    vertices.append(vec)

    num_verts_to_add = int(len(strand_data_xyz) / 3)
    edge_vidx = len(vertices)

    for i in range(1, num_verts_to_add):
        xyz_idx += 3
        vec =  Vector((strand_data_xyz[xyz_idx], strand_data_xyz[xyz_idx+1], strand_data_xyz[xyz_idx+2]))
        vertices.append(vec)

        edges.append((edge_vidx-1, edge_vidx))
        edge_vidx += 1

# -----------------------------------------
# data of the mesh
vertices = []  # XYZ coords
edges = []
faces = []

fin = open(f"{data_path}/strands{hairstyle_id}.data", "rb")

num_strands = struct.unpack('<i', fin.read(4))[0]
print("num_strands = ", num_strands)
assert num_strands == 10000, f"exspected 10000 strands, got: {num_strands}"

strand_idx = 0
while (strand_idx < num_strands):

    # read num of verts of strand
    strand_idx = strand_idx + 1
    num_verts = struct.unpack('<i', fin.read(4))[0]
    assert num_verts == 1 or num_verts == 100, f"num_verts should be 1 or 100, got: {num_verts}"

    # read strand
    strand_data_xyz = array.array('f')
    strand_data_xyz.fromfile(fin, 3 * num_verts) # vert's XYZ corrds

    if (num_verts < 2):  # skip empty roots
        continue

    addStrand(vertices, edges, strand_data_xyz.tolist())

fin.close()

print("Data read, creating hair object...")

# create the mesh
hair_mesh = bpy.data.meshes.new(f"hair_mesh_{hairstyle_id}")
hair_mesh.from_pydata(vertices, edges, faces)
hair_mesh.update()

# create object from mesh
hair_object = bpy.data.objects.new(f"hair style {hairstyle_id}", hair_mesh)
# get collection
collection_name = 'USC-HairSalon (imported hair styles)'
hair_collection = bpy.data.collections.get(collection_name)
if hair_collection is None:
    hair_collection = bpy.data.collections.new(collection_name)
    bpy.context.scene.collection.children.link(hair_collection)
# add object to scene collection
hair_collection.objects.link(hair_object)

# fix rotation (90° X-axis)
hair_object.rotation_euler[0] = math.radians(90)
#select object & apply rotation
bpy.ops.object.select_all(action='DESELECT')
bpy.context.view_layer.objects.active = hair_object
hair_object.select_set(True)
bpy.ops.object.transform_apply(rotation=True)

Converting the Hair
With the HairNet add-on, the hair strands can be converted into particle hair.
Or you can convert the strands (mesh) into curves and vice versa (menu Object > Convert > ...). Curves can be extruded (Object Data Properties > Geometry) and converted back into a mesh if you want. If you pick a few strands you can create polygon hair that way (Blender Tutorial - Hair With Curves).


text:
How to paint on model
I want to paint onto my model but artifacts keep appearing.

You have inner faces that go outside, select them and scale down:

The unwrap is bad, some big faces of your object are tiny in the UV Editor and vice-versa. You need to Unwrap > Reset. Your object is made of two meshes, so select a face of the bottom part, then select the whole bottom Unwrap > Follow Active Quads. Do the same for the top part. You'll get something like that:

actually you need to select the outer faces as these are the ones that should be the inner faces  ;)

the inner faces cross the outer ones, so you need to fix that a way or another, it should not change the shape a lot

press Alt Z to have transparency, you need to select and scale down the bottom edge loops to avoid inner faces going through outer faces. If you're a bit lost you can also delete these faces and redo the bottom


text:
How can I assign color to a specific Blender 3 object using a python script?
I would like to apply custom colors to script-generated objects (mostly cubes). The setup I have is something like:
import bpy

# function that takes as input an object and color parameters,
# and applies the color (r,g,b) to object obj
colorCube(obj, r, g, b):
    # apply color defined by r, g, b to obj

obj1 = bpy.ops.mesh.primitive_cube_add(location=(0,0,0), scale=(1,1,1))
obj2 = bpy.ops.mesh.primitive_cube_add(location=(2,2,2), scale=(1,1,1))
obj3 = bpy.ops.mesh.primitive_cube_add(location=(4,4,4), scale=(1,1,1))
obj4 = bpy.ops.mesh.primitive_cube_add(location=(6,6,6), scale=(1,1,1))
obj5 = bpy.ops.mesh.primitive_cube_add(location=(8,8,8), scale=(1,1,1))

# color obj4 in red
colorCube(obj4, 255, 0, 0)

How do I go about defining colorCube()?
What I have so far is the following function that I scavenged from the web.
def createMat(object, r, g, b):
    newMat = bpy.data.materials.new(name = 'Material')
    object.data.materials.append(newMat)
    newMat.use_nodes = True
    nodes = newMat.node_tree.nodes
    material_output = nodes.get("Material Output")
    node_emission = nodes.new(type='ShaderNodeBsdfDiffuse')
    node_emission.inputs[0].default_value = (r/255,g/255,b/255,1)
    links = newMat.node_tree.links
    newLink = links.new(node_emission.outputs[0], material_output.inputs[0])

I call it after the object I want to color. For example:
import bpy

def createMat(object, r, g, b):
    newMat = bpy.data.materials.new(name = 'Material')
    object.data.materials.append(newMat)
    newMat.use_nodes = True
    nodes = newMat.node_tree.nodes
    material_output = nodes.get("Material Output")
    node_emission = nodes.new(type='ShaderNodeBsdfDiffuse')
    node_emission.inputs[0].default_value = (r/255,g/255,b/255,1)
    links = newMat.node_tree.links
    newLink = links.new(node_emission.outputs[0], material_output.inputs[0])

obj1 = bpy.ops.mesh.primitive_cube_add(location=(0,0,0), scale=(1,1,1))
obj2 = bpy.ops.mesh.primitive_cube_add(location=(2,2,2), scale=(1,1,1))
obj3 = bpy.ops.mesh.primitive_cube_add(location=(4,4,4), scale=(1,1,1))
obj4 = bpy.ops.mesh.primitive_cube_add(location=(6,6,6), scale=(1,1,1))
# color obj4 in red
actObj = bpy.context.active_object
createMat(actObj, 255, 0, 0)
obj5 = bpy.ops.mesh.primitive_cube_add(location=(8,8,8), scale=(1,1,1))

However, from my understanding, this function applies material to the last created object only -- or the active object. I need a function that colors the cubes I want after I have finished adding all the blocks to the scene.
Any thoughts?

Assign material to a mesh object
import bpy, math

cubes = []
x = 0

# create 5 cubes and append to a list
for r in range(5):
    bpy.ops.mesh.primitive_cube_add(location=(x, x, x), scale=(1,1,1))
    cubes.append(bpy.context.object)
    x += 2

def to_blender_color(c):    # gamma correction
    c = min(max(0, c), 255) / 255
    return c / 12.92 if c < 0.04045 else math.pow((c + 0.055) / 1.055, 2.4)

# function to create a material that not assign to any object
def create_simple_mat(r, g, b, gamma_correction = True):
    newMat = bpy.data.materials.new(name = 'Material')
    newMat.use_nodes = True
    nodes = newMat.node_tree.nodes
    material_output = nodes.get("Material Output")
    node_emission = nodes.new(type='ShaderNodeBsdfDiffuse')
    if gamma_correction:
        node_emission.inputs[0].default_value = (
            to_blender_color(r),
            to_blender_color(g),
            to_blender_color(b),
            1
        )
    else:
        node_emission.inputs[0].default_value = (r/255,g/255,b/255,1)
    links = newMat.node_tree.links
    newLink = links.new(node_emission.outputs[0], material_output.inputs[0])
    return newMat

mat = create_simple_mat(255, 0, 0)

# assign material to object
obj = cubes[3]
if obj.type == "MESH":
    obj.data.materials.append(mat)
    obj.active_material_index = len(obj.data.materials) - 1

Access a object by name
import bpy

obj = bpy.data.objects["my_object"]

@Minoush82 is rather quiet!

This helped me solve the issue :-) Actually I was waiting to finish my whole script before coming back here :-)

all you have to do is loop through the objects you created, assigning the material to each in turn:
for obj in bpy.context.editable_objects:
        if 'Cube' in obj.name:
            createMat(obj, 255, 0, 0)

Thanks, help very much appreciated!


text:
Random objects at random frames rendering black when Film->Transparency is ON
Blender 3.1.2
Cycles
Film-> Transparency is ON.
Animation of multiple objects. Some of them has animated alpha values in materials.
At random frames random object just turn black. It's related only to objects with animated alpha value. This happens for one frame, than after a few more frames another random object turns black. And so on.
I thought it's about Transparent Max bounces in Light paths setting but after cranking it up to maximum value (1024) problem still exists.
Is there any setting to look at in this case? Or is it a bug/limitation?

What are that objects? How have you done the animation? Can you share some screenshots?

I've edited the post. Added screenshots.

did you try increase the transparent light path max bounces in render properties -> light path -> max bounces -> transparent?

I would check these objects if they have interesting faces... Can you share the file?

I can't send a file. But there are definitelly intersecting faces here. This is a technical piece of machinery so things has to fit together.
But what's the problem with intersecting geometry? On many frames there is no glitch. It appears on some of them. Always randomly.

Look at this: https://blender.stackexchange.com/questions/259081/meshes-appear-darker-when-rendering-with-cycles/259094#259094

There is a huge difference in my case:

normals are facing in oposite directions

glitch happens on some frames instead of all frames.

glitch happens on entire object, not on the overlapping faces region.

I have no more ideas to aid without looking at the file. Maybe you can get some problematic parts from it to have a look?

@Crantisz - via e-mail?


text:
Exporting Mesh + Material does not work with error message "NO NODES!"
I have the following simple script that draws a cube and color it in red.
import bpy

# Create a red material
newMat = bpy.data.materials.new(name = "Material")
newMat.use_nodes = True
nodes = newMat.node_tree.nodes
material_output = nodes.get("Material Output")
node_emission = nodes.new(type="ShaderNodeBsdfDiffuse")
node_emission.inputs[0].default_value = (1,0,0,1)
links = newMat.node_tree.links
newLink = links.new(node_emission.outputs[0], material_output.inputs[0])

# Create a cube and add the red material to it
bpy.ops.mesh.primitive_cube_add(location=[0,0,0], scale=[10,10,10])
bpy.context.object.data.materials.append(newMat)

When I export this to FBX with Path Mode = Copy and Embed Textures = True, I get an FBX that shows the uncolored cube; together with an error message in the console that says:
FBX export starting... 'Z:\\Workspace\\red-cube.fbx'
NO NODES!
export finished in 0.0000 sec.

I have read many other posts about the issue but being a novice in Blender I could not make much sense of them. It seems that the issue is related to "Principled BSDF" that is apparently missing from the above script.
How would I fix this script so that it exports both mesh and color?

No, nothing is missing from your material. You used a readymade Diffuse BSDF rather than the ultra-tuneable Principled BSDF, which is fine, however code wise IDK why you named it “node_emission” since it’s not an emission node. I am unfamiliar with the last operator that adds the material to the cube, and the FBX exporter at this level, so I don’t think I can say any more at the moment.

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

I am no expert, but perhaps Blender cannot export materials as defined in my code.
My workaround is to apply colors using textures instead of generating the colors through Blender. So basically, I create a file "red.png" that contains a solid red square (e.g. in MS Paint) and apply it to the object.
import bpy

# Create a red material from texture
newMat = bpy.data.materials.new(name="Material")
newMat.use_nodes = True
bsdf = newMat.node_tree.nodes["Principled BSDF"]
texImage = newMat.node_tree.nodes.new('ShaderNodeTexImage')
texImage.image = bpy.data.images.load("Z:/Workspace/textures/colors/red.png")
newMat.node_tree.links.new(bsdf.inputs['Base Color'], texImage.outputs['Color'])

# Create a cube and add the red material to it
bpy.ops.mesh.primitive_cube_add(location=[0,0,0], scale=[10,10,10])
bpy.context.object.data.materials.append(newMat)

Now I can export to FBX and the colors show fine.
This is not exactly a solution to the problem, but is good enough for me to work with.


text:
How to quickly apply subdivision modifier to mesh with many shape keys?
I am wanting to apply a subdivision surface modifier to a mesh, but I can't because it has shape keys.
I tried to get help from this question: Shape keys and applying subdivision surface modifier
but the issue is that the solution only works well for objects with only a few shape keys. My mesh has 100+ shape keys and it would be very tedious to do it this way. Is there a quicker solution to this issue?

In your link there is a script to automate the process for 2.91 ...

@vklidu I've tries using it, but it doesn't work.

I started a bounty on that Q ... so check the link in a few days ... if someone was interested to update script into current version.

It was a hell now ... the script updated for 2.91 (from Ned) works even in 3.3 ... but for some reason you have to select "Key1" to prevent error (the first shape key after "Basis" key) ... than it works for me in any blender version.

@vklidu I've tried the script but it doesn't seem to work for me. All it does is continuously load until my computer says that too much memory has been used up. Is there a fix for this?

I don't have those skills ... and given bounty was lost since no-one was interested in fixing. I don't know how to help. Sorry.


text:
How to move bones with shape key
A shape key for a model Im working with makes the legs longer. The issue is that the bones look offplace due to the mesh changes. Is there a way to make necessary bones move with the shape key to make it look better (perhaps a driver?)

Have you just answered yourself? Use driver.

Disconnect bone (Alt+P), so that it can be moved
Go to shapekey - RMB → Copy as new driver
Go to bone - RMB → Paste driver
Edit driver - manipulate curve so that it works good for you

Probably mesh will be moved also due to bone move... So maybe you are going to have to move bone points back due to bone moving

The right way to do this is make adjustments with the bone first, and shapekeys only for what you can't do with the bone alone, such that the bone is in the right place for the mesh changes, because the shapekey doesn't change where the bone should be, only the pose changes where the bone should be.
However, it's not impossible to make a bone (or "armature structure", I guess) that changes its "rest" position to adjust to a shapekey.

In edit mode, duplicate the bone that needs to change its "rest position" and parent the original to the duplicate.  Consider disabling "deform" property on the duplicate.  Consider transform locking all axes of the original bone.

Give the original bone a copy location constraint, local->local space, with invert enabled on all axes.

Now, in pose mode, adjust the position of the new bone to match where it should be for your new shapepkey.  You may notice that the original doesn't move; it shouldn't, if it moved then that would mean that the mesh would move with it, and you'd be getting double deforms.  But now rotate or scale the new bone.  Now the old bone will follow the new bone-- particularly, it will rotate and scale about the new origin defined by your movement of its parent.


text:
Is there a way to do an "slice boolean"-type effect with just geometry nodes and/or material nodes?
Something like the below image, but done either with geometry nodes and/or material nodes. The actual boolean modifier is not desirable here since it requires the affected mesh (the solid cube) to be multiple meshes, where as I'd like it to just be a single mesh.

$$\text{Using Two Materials}$$
Result:

Geometry Nodes:

What the nodes are doing here is calculating the intersect and difference boolean operations and then selecting a material for each before joining them and merging by distance.
It also deletes the internal faces using an anonymous attribute added to the faces of the second cube:

$$\text{For a Single Material}$$
Geometry Nodes:

Naming Attribute:

Single Material:

Here we're adding a boolean attribute with a true value to the resulting mesh from intersect and then passing it to the material using a output attribute.
Remember to set the attribute domain to face:

Good solution +1 The only thing I would change is using a mesh primitive inside Geometry Nodes for the effector cube, moving it around with a Translate node or something... Because an external cube is not wanted, or at least that's how I understand this sentence: "boolean modifier is not desirable here since it requires the affected mesh (the solid cube) to be multiple meshes, where as I'd like it to just be a single mesh"

@GordonBrinkmann I think that this sentence refers to the fact that, to get the same results with only boolean modifiers, the solid cube would need to be two objects, one with intersect boolean mode and another with difference mode. But now I'm not so sure as i was. ... Better wait for the question's author so we can find out the exact meaning.

Oh, I guess you're right... but still it sounds a little confusing. I actually thought when I wrote my comment, there would be a possibility to assign different material slots to different parts of the boolean result. Like the Solidify modifier where you can give the new faces and the rim new materials or with the Cell Fracture tool where you can assign a material to the inside faces. But now that I'm on a PC and opened Blender I realize, this is not the case. So I think you are correct with your assumption.

Yep, apologies for the confusion. I meant just for the cube that's getting sliced, since using the boolean modifier requires that cube to be split up into 2+ meshes, I am still fine with using another mesh as the actual cutter.

Shader only version:

Works only with simple shapes (that can be described mathematically) as boolean cuter


text:
How to create and "layer" texture nodes into one material?
Hello guys how are yall?
I edited this plot bc the question I posted week earlier seems kinda impossible to solve but I kinda figure this is easy to recreate it so i wont have to ask a duplicate,lemme try again.
so hey! this the texture I want to recreate, cute i know.

this texture is composed of two layers or materials or what you like to call
The first layer is the shadeless base which the spherical gradient from white to green like this

the other layer is the shade aka the dark green part of the texture
so I have already know how to recreate the first layer (shadeless base) but I'm struggling to remake tbhe second layer (the shade) and thing is the shade must take the curve of the object facing the camera like the texture i gave (like a fresnel) the shade looks oval bc its on a sphere, for spherical objects like the model im gonna listed down, see the linked picture in the next paragraph(focus on the green figure)
it should be noted the shade is not centered but rather mid-down like this pic (focus on the head of the yellow figure)
so first mini questions whats the best way to make the shade?
now whens that solves, how can i layer them into one material without effecting the colors of the texture
also here's the blend File if yall intrested

Thanks in advance and sorry for editing the old post
and Happy Bl!

I'm having trouble seeing the differences.  But what you're doing here is basically sphere mapping, the same as a matcap.  Have you tried setting your vector transform to "normal" mode rather than "point"?  The mapping won't change with camera or character translation once you do that.

Hey @Nathan ! thank you answering, sorry if I wasnt clear abt the difference but I already edit the pose so you can see it better, also the "normal"  mode didnt work for me sadly

With the material and camera settings you're showing I'm unable to replicate your results.  Using a grid pattern composited with your image in GIMP I can see distortion, but don't know what's causing it.  It might be helpful if you included the blend file in your ask, or a a truncated version of the blend file that has the problem, and any needed image textures packed. The Blender StackExchange has its own service to share blend files: blend-exchange.com/help

Hello @KickAir8p , the reason the texture is distorting is the prespective, to be exact spherically distorted, I think I might know the solution but I don't know the way to solve it. I think I can take the texture coordinates and flatten out the depth or one of the axis or thats at least what I think, maybe using camera data or something like that to do the job? (also is it ok to send the blend privately?)

Your question and the answer/s aren't just for you, they're for everyone who has similar problems to look up -- so, no, the blend file should be part of your ask for anyone to download later (as will .blends in any answers).  If there's something you shouldn't share, either remove it or replace it with something generic (I tested on a few roundcubes, some elongated into torso'n'arm shapes).  If the problem doesn't happen on your generic test objects, that'll be a big clue right there.

Hello @KickAir8p amny apologize for the last comment, here's the blend file

The image you're using isn't packed into the .blend, but since you included it your ask I grabbed that one.  I think the problem I was having was I didn't get in all your camera settings -- using your camera I can replicate the problem.  Pls see my answer below.

Ok Turns out there is a solution for the old question and it was simple as hell ~facepalms~
anyways here's what I did:
first I change the render engine into workbench...then imported the texture image as a matcap
and pretty much thats it
and the good news it doesn't effect by the prespective so thats a win , look at this
and boom look at this beauty

now all I need to do is tweak the texture to get the results i want but right now Im happy with the solution
Also thanks to everyone who helped me and happy Bl!
EDIT:
after few thoughts, I want to make the matcap into a material instead bc I used to EEVEE engine more so I found this nice guy node setup for using matcap in EEVEE and the results is beautifully accurate for me.
now I cropped the image texture earlier to fit the texture better and I tried again and its beautiful.
now I tried with another texture (a golden one) cropped and use it on the eevee setup...added a white outline via Outline Helper addon (and glow was done on photoshop) and now look at this beauty.

I don't know why the render looks dark tho its not in my studio but im still amazed by this simple solution

So the answer was from @Nathan 's first comment, matcap. His idea was to replicate matcap settings in a material, but the answer was to use it as a matcap.

yes, I doubt that at first bc I need to replicate the texture, but by the look of image again, the texture is already matcap, even tho im eager to find a way to make the matcap into a material not bc simplicity in handling with texture but also I want to have the body and the heady different portions of the gradient; I can try try that with normal nodes but still I may stick with workbenches and im pretty happy w8 the results.

For testing purposes I composited a grid with your image and added some roundcubes:

In your current setup the camera is over a meter below your figure's head, so it's looking up at it.  When in Orthographic this doesn't matter, but when you use Perspective this will make the texture appear to be higher on your figure's head:

Raising the Z-height of the perspective camera to be level with your figure's head helps, so long as the Location Y-mapping of the material is also adjusted:

(Screenshots composited to simultaneously show camera info and material settings.)
Although this should answer your question, I'm uncertain how usable it'll be for your purpose.  You might want to edit your question with anything relevant that I haven't addressed and see if someone else comes up with better.

Thanks for your answer; I think I get the idea however the distortion doenst apply on y axis but also on X axis too, I can always center the model but it will work too right?

sorry for commenting again, but someone told me to remake the texture woth materials...even tho the gradient is achievable with this shadless head its the shadding (the dark green) i might get struggle with, how to get it? based on camera or the object itself?

The distortion is (IMHO) very subtle and difficult to see clearly enough to test, that's why I added a grid to the texture.  What I've posted in my answer is as far as my knowledge and abilities will go on this, hopefully someone with more relevant skills can help.

hello @KickAir8p sorry for late response, I tried the blend you gave me and it sadly didnt work but however I think i have kinda a solution but i dont know how to execute that, i edited the post into a different question, sorry abt that but thanks again for the help


text:
Unable to GPU Render in 2.79 with RTX 3080 ti card
I have just set up my new rig and an unexpected (to me, anyway) issue has cropped up: when I try to render in Cycles in 2.79, the following error pops up:

"CUDA binary kernel for this graphics card compute capability (8.6)
not found"

I tried out some of the fixes available online—namely grabbing some .cubin files from a Linux build of Blender and placing them in the appropriate folder—but none have worked for me.
I rely on some features that have been discontinued staring with 2.8, such as the legacy texture display mode in Blender internal. Unfortunately it's not possible for me to use a newer version of Blender fulltime, so any help will be much appreciated!

When you say "Legacy texture display mode", are you referring to the ability to see a live preview of procedural textures in the shader editor?

No, sorry—I mean the ability to preview textures by applying them to the mesh through the UV editor, without creating a material. This function is very important to me as I work with an older game engine

Ahh, I see. I was just looking for possible workarounds. It's been a while since I've used 2.79, and I can't speak to how it handles newer (CUDA enabled) gpu's. I think you may have to (re)compile blender 2.79 with support for CUDA toolkit 10.1.


text:
Filling in model when separating parts
I have created a head... It has hair and flat eye.
I have now separated the hair and eye from model and parented it to the head.

Do I need to fill in under the eye and under the hair?

should I and can I hide the faces inside the model that you don't see?

You can do whatever you want with your model. The only thing that matters is the comfort with which you will then edit your model. If those mesh parts won't be seen in the final render or etc. and you don't need them to affect any kind of source, that of course you don't have to fill them if there is no particular need.

I think the question is, as I have separated the hair from the face, it opens up the head under it. I see other blender models they have closed off under the hair and eyes. So wondering as it is hollow do I need to close it off from not bleeding out.

Can you add a screenshot to your question, please

I will try and add a picture, however basically the question is, does the mesh need to be closed when you seperate a part.
I modelled a character in full. So created a Face with eyes/mouth/ears/hair all in one model.
I have seperated features with "P" and parented them to the face. Now I have done this, I want to know if I need to Fill the parts that are not whole.

If it doesn't affect the final look, no, if it does, fill it

Amazing thank you.
I needed to know if all Meshes need to be fully wrapped. It won't ever be seen no, however it is still a "open" mesh with seperated objects.
I have seen other models from creators where they have fully closed all their meshes, so I thought it is best practice or a Must to do this.


text:
Moving a texture with UV warp modifier and an empty
I asked a question with an old account about moving eye textures and got an answer about using empties and the UV warp modifier. I cannot seem to find the question itself, so was wanting to know if anyone else knew how the process works. I'm trying to use it to be able to animate eye textures.

I've given some answers here, I hope it helps: https://blender.stackexchange.com/questions/181389/how-can-i-animate-a-2d-face-rig-on-any-3d-object

@moonboots you could post it here again, it would get accepted (since the question mentions it)

actually it's better to point to the page if the question has already been answered

I'm not sure what you mean, but here's a solution: Add an empty, and in the texture coordinate node (if you don't have one, add one and connect it into the vector of your textures, add a mapping node in between for more control over size/location/dimensions/rotation) of your material, there will be an object input. Select your empty from there and now if you move your empty the texture will move with it.

I've tried that solution, but all it does is mess up the texture.

@Ethan so you've lost access to your old account? Can you share some screenshots and the desired result? Because at one point you're saying "moving" eye textures, which you can do by animating the eye rotation in object mode, and at the other point you're saying animating the eye textures. Can you explain what you mean?

What I mean is to use an empty to directly move the uv of the texture with it. The eyes are not spherical so rotation won't work.

@Ethan would you attach some screenshots of the eye and your material? Since technically this solution works. If it's possible, also kindly attach your .blend file :)

@Ethan also did you try placing the empty in the exact same location as the eyes first?

@Ethan Have you set your texture coordinate to object instead of UV? Of yes and it's happening, I guess there's another solution, I'll try to find out (though remember that you can always animate the mapping node's rotation or location properties.)

Here's a picture of how I set up my texture coordinates. The empty does nothing when I move it. https://imgur.com/a/MaQePpq

@Ethan connect the object output, not the UV output from the texture coordinate node.

So it appears to work, but the UVs get screwed and I don't know how to fix that.

@Ethan Did you check moonboots' answer here: https://blender.stackexchange.com/questions/181389/how-can-i-animate-a-2d-face-rig-on-any-3d-object?


text:
no movement between key frames
I am running a mid 2015 mac with OS 11.6.6 (can't upgrade toOS 12)
I've been trying Default cubes latest tutorial, and in part he sets key frames in geometry nodes to rotate a sphere. but when I do it theres to movement or interpolation (is that the right word) when playing back or scrubbing through the time line, once it reaches the frame that the second key frame is on it just jumps to that position. I've tried this on an object using the object properties and the same thing happens.
I have updated to the most recent build of blender before asking this and the same issue occurs.
When I view the timeline, the keyframes do not appear for the geometry nodes object, though they do when in the object properties, I have also tried it by pressing i to insert a key frame and right clicking and selecting insert key frame but it is still the same.
not sure how to add an attachment so here is a link to the file on my google drive
https://drive.google.com/file/d/1Jzr1rWeyuKKxNr_geP_WRQ5vsbYRWXou/view?usp=sharing
could it be my hard wear is not up to it, now blender has updated?
hope you can help
thanks in advance
Simon

sorted. It seems that in preferences under animation, the default interpolation had be set to constant. switched it linear, and its working fine now


text:
I have an i3 5005u cpu, and an intel Hd graphics 5500 gpu, so which one should i use to render a 3d animation in cycles?
I have an i3 5005u processor and intel hd graphics 5500 graphics card, which one should i use to render a 3d animation in cycles engine in blender?

The GPU, of course. But the Intel HD graphics 5500 would be an integrated graphics card, so you won't have an option to render on your GPU, so you will have to render on your CPU since you don't have a discrete graphics card.

Considering Intel GPUs are not currently supported for Cycles GPU rendering, I don't think you have much of a dilemma

The GPU, of course. But the Intel HD graphics 5500 would be an integrated graphics card, so you won't have an option to render on your GPU, so you will have to render on your CPU since you don't have a discrete graphics card.


text:
collision object outside mesh o cloth sim when rendering
I've tried following a 'default cube' tutorial on Youtube. which is a glowing sphere inside a cube that has a cloth sim on it. I've used the same settings. When viewing it in the viewports the spare collides with the cloth object moving it around. But when I try to render it, as a still frame or animation, parts of the cloth disappear and the sphere is outside this mesh. I have tried it also with a default principled BSDF incase the transparent shader was causing the issue, but the effect is the same
here's a link to the tutorial
https://www.youtube.com/watch?v=wsTkoyRaKO0&t=395s
and a google drive link to the blend file and a screen shot showing the difference between the rendered image and the viewport.
https://drive.google.com/drive/folders/1OChKIjC1lzAon5RYcRwYW_L9DB-OXJV0?usp=sharing
I am using the latest 'official' release o blender (not a beta or alpha) and I'm running it on a mid 2015 iMac with Big Sur OS
Hope someone can help
Best Wishes
Simon

Bake the physics. Press F3 and search bake all physics.

Or look for baking in cache settings of cloth physics.
With physics baked, you should have no problems

Hi thank you for replying.
I have tried baking the physics but I am still having the same issue


text:
When I use proportional editing the vertices tend to raise without the mesh itself
I have this visual problem that always occurs when I use proportional editing. The vertices tend to raise without the mesh itself. This creates a wireframe effect without being in wireframe mode that's incredibly jarring.

This is what happens when I subdivide the mesh.

Does anyone know how to solve it, and, better yet, can anyone teach me how to use proportional editing without falling into this pitfall?
Blend File
Latest edit:
I currently believe this problem to be a bug on Macbook version v2.83.4 . Will do the usual updates, debug on different platforms, etc.

Could you please attach your .blend file from here: https://blend-exchange.com. Also, please take screenshots directly from the computer (If you are on windows just press Widnows Key + Shift + S to take a screenshot) and do not take pictures of the monitor screen, it's confusing. Also, can you show them in solid view edit mode?

Maybe you have a shrinkwrap modifier and raising the mesh doesn't have a difference.

Hello and welcome. Rather than take photos of your monitor post actual screenshots instead, see How to take a screenshot. Photos are harder to read, because we have to guess if we are looking at a external interference like reflections or smudges or Moiré patterns, hardware issues such as a malfunctioning display or connection, a software level bug or driver malfunction, or an or actual artifact or issue with the model itself.

I see no problem. I downloaded your file, and everything worked fine. Try copy-pasting objects into a new file and try.

No luck I'm afraid on my end (but thank you). I wish to view the plane close-up, and on my computer, if the viewport is positioned like a car, the geometry still clips before the camera clips into the plane. If the plane still doesn't clip as described on your end then I might have to replace my computer lol.

@JamesLowry Try downloading the file you uploaded and opening it again. Maybe your problem is to shade smooth? Otherwise, I do not see any glitches at all. Maybe try restarting your computer or increase your view clipping end distance and decrease your clip start distance by pressing N > View > You'll see the settings on the top.

@Yousuf Chaudhry huh... I wonder if that means I'm encountering a bug. Again, no luck upon restart or increasing the clip start distance. Let's  see.. I'm using Blender on Macbook v2.83.4. Let me do the usual: update blender to the latest version on Macbook, try installing Blender on my Windows computer(s), try the files there, etc. I'll update the post accordingly.


text:
how can I create a bone-based "Scaling" animation without actual scaling?
I would like to potentially create some 3d models for the Source engine (portal 2) that would require a "scaling" effect/size-changing certain elements. However, due to engine limitations and the limitations imposed by the addon which exports to the correct format, I can only make bone-based animations, and as far as I know, that cant include scaling the bones, only moving them or rotating them. the engine does not support vertexes being animated without bones as far as I know; and that includes scaling stuff.
I would like to know if there's some kind of practical animation trick I can use as a workaround for similar effects. one idea I had was to bind each individual vert to a separate bone and then just move the bones equally towards or away from each other. that'd work fine but would be highly impractical for more complex meshes for obvious reasons.
a couple examples of stuff I'd use this for:

A closing/opening mechanical iris thing
a shockwave ring texture that moves outwards from something (don't want to use source engine particles for this due to difficult-to-use tools)
a collapsible/telescoping mechanical thing


text:
How to Flatten Geometry and Keep Curved Shape
I'm trying to smooth this curve while maintaining it's shape.

You mean smooth shading like right-click the object and select Shade Smooth? Or do you want to give the curve a higher resolution to smooth the geometry? For smooth shading don't forget to enable Normals > Auto Smooth in the Object Data Properties to maintain the sharp edges to the front faces.

For a mesh object
Mesh objects can be set to smooth shading to hide the transitions between faces, and then be told to flatten edges that are above a certain angle.
First, enable the smooth shading by selecting your object and  RMB → Shade Smooth.
Then go to Properties Editor → Mesh Tab → Normals panel → enable Auto smooth and set the angle to something that looks like what you need.

For a text object
Text objects are smooth shaded but have no auto smooth option. Though we can use an edge split modifier which will split the text's mesh at the edges above a certain angle. It makes more geometry, but the visual result is the same.
Go in Properties Editor → Modifier → Add modifier → Edge Split. Set whatever angle that works for you.

For a Curve object
Curve objects are a mix of both the above. You can set them to smooth shading like a mesh using  RMB → Shade Smooth, but you need an Edge Split modifier like a text to preserve some angles.


text:
One God Ray Effect
I am setting up lighting for a scene and I want one light to have a god ray effect. However, when I use volume scatter on the scene it works for ALL lights. How do I isolate a spot light source for this effect or if there is any other way please let me know.

Hello, you've tagged your question as Python, is it the case? If you're using a Spot light, you could create a volume that has the same shape as the Spot cone. Or you can create the shape and use a mix between Emission and Transparent with a (Input) Layer Weight node as factor

Or you could use light groups...


text:
Not seeing AddonPreferences after registering
I'm sure I am just doing something stupid here, but whenever I create an addon preferences class and register it, I am not seeing it appear in bpy.context.preferences.addons.
Furthermore, In the examples I see in the documentation, it appears that for addon preferences I am supposed to assign __name__ to the preference class' bl_idname but throughout execution, I never see __name__ being anything other than "__main__", which I would expect if the goal was to name the id after the script or package. As a result, I keep running into the following error when I run my script.

Traceback (most recent call last):   File "/home/sigs/blender/pugin-dev.blend/SIGExport.py", line 50, in execute KeyError: 'bpy_prop_collection[key]: key "__main__" not found'

here is my code:
import bpy;
import bpy_extras;

from bpy.types import AddonPreferences;
from bpy.types import Operator;
from bpy.types import Panel;
from bpy_extras.io_utils import ExportHelper;

bl_info = {
    "name":"SIGExport",
    "author":"sigs",
    "version": {1, 0},
    "blender": {3, 21, 0},
    "location": "View3D -> Export Mesh",
    "category": "Mesh Export",
};
#bl_info = {};
#bl_info["name"] = "SIGExport";
#bl_info["author"] = "sigs";
#bl_info["version"] = {1, 0};
#bl_info["blender"] = {3, 21, 0};
#bl_info["location"] = "View3D -> Export Mesh";
#bl_info["warning"] = "";
#bl_info["wiki_url"] = "";
#bl_info["category"] = "Mesh Export";

class SIGExportPreferences(AddonPreferences):
    bl_idname = __name__;
    export_path : bpy.props.StringProperty(
        subtype="FILE_PATH",
        default="out.sig"
    );
    def draw(self, context):
        row = self.layout.row();
        row.prop(self, "export_path");
        return;

class SIGExportFilePrompt(Operator, ExportHelper):
    bl_idname = "sigexport.prompt_export_file";
    bl_label = "Select Export File";
    release_confirm = False;
    filter_glob : bpy.props.StringProperty(
        default="*.sig",
        options={"HIDDEN"}
    );
    filename_ext = ".sig"

    def execute(self, context):
        print("__name__:"+__name__);
        prefs = context.preferences.addons[__name__].preferences;
        prefs.export_path = self.filepath;
        print("export_path:"+export_path);
        return {"FINISHED"};

class SIGExportPanel(Panel):
    bl_label = "Export SIG";
    bl_idname = "SIGEXPORT_PT_TOOL_PANEL";
    bl_space_type = 'VIEW_3D';
    bl_region_type = 'UI';
    bl_category = "Export Mesh";

    def draw(self, context):
        row = self.layout.row();
        row.operator("sigexport.prompt_export_file", text="", icon="FILE_FOLDER");
        return;

def register():
    bpy.utils.register_class(SIGExportPanel);
    bpy.utils.register_class(SIGExportFilePrompt);
    bpy.utils.register_class(SIGExportPreferences);

    return;

def unregister():
    bpy.utils.unregister_class(SIGExportPanel);
    bpy.utils.unregister_class(SIGExportFilePrompt);
    bpy.utils.unregister_class(SIGExportPreferences);
    return;

if __name__ == "__main__":
    register();

try changing "blender": {3, 21, 0}, to 3,2,0

@Chris okay... I'm still seeing the same error. I also tried it in 2.8 and saw the same thing

bl_idname = __package__ is correct.  __name__ only works if the addon is a single file that is given the package name.  If you have an __init__.py file then you need __package__.  The documentation is unclear.

@Marty Fouts i did see something about that. This addon is (so far) only one file, I did try  __package__ anyways just for the heck of it, and that didnt work either

I just noticed that you're using curly brackets for "version" and "blender", but they are supposed to be tuples. Switch those to parenthesis.

@MartyFouts okay, i changed that, and im still seeing the same thing

You have several problems, but the main one is this:  If you install your addon from FILE.py the bl_idname = "FILE" works and your preferences are drawn.

@MartyFouts the main problem (as i said below) turned out to be that the code only works when installed, and not when debugging it as a script

Ah, I didn't see that comment.  Yes, when running from the text editor, __main__ doesn't have a file name to use.

As I said in comments, the documentation is a bit obscure.  There are two ways to prepare an addon for installation and they require different settings for the preference class bl_idname variable:

You install from a single python file: bl_idname = __name__
You install from a zip file:

Your initialization code must be in a file named '__init__.py'.
bl_idname = __package__

But you have a few other problems with your addon, and they were obscuring the correct answer for bl_idname.  Here's an edited version that solves all but one of those problems:
bl_info = {
    "name":"SIGExport",
    "description": "SIG Exporter",
    "author": "sigs",
    "version": (1, 0),
    "blender": (3, 2, 0),
    "location": "View3D > Export Mesh",
    "support": "COMMUNITY",
    "category": "Import-Export",
};

import bpy;
import bpy_extras;

from bpy.types import AddonPreferences;
from bpy.types import Operator;
from bpy.types import Panel;
from bpy_extras.io_utils import ExportHelper;

class SIGExportPreferences(AddonPreferences):
    bl_idname = __name__;
    export_path : bpy.props.StringProperty(
        subtype="FILE_PATH",
        default="out.sig"
    );
    def draw(self, context):
        self.layout.prop(self, "export_path");
        return;

class SIGExport_OT_FilePrompt(Operator, ExportHelper):
    bl_idname = "sigexport.prompt_export_file";
    bl_label = "Select Export File";
    release_confirm = False;
    filter_glob : bpy.props.StringProperty(
        default="*.sig",
        options={"HIDDEN"}
    );
    filename_ext = ".sig"

    def execute(self, context):
        print("__name__:"+__name__);
        prefs = context.preferences.addons[__name__].preferences;
        prefs.export_path = self.filepath;
        print("export_path:"+export_path);
        return {"FINISHED"};

class SIGExport_PT_Panel(Panel):
    bl_label = "Export SIG";
    bl_idname = "SIGEXPORT_PT_TOOL_PANEL";
    bl_space_type = 'VIEW_3D';
    bl_region_type = 'UI';
    bl_category = "Export Mesh";

    def draw(self, context):
        row = self.layout.row();
        row.operator("sigexport.prompt_export_file", text="", icon="FILE_FOLDER");
        return;

def register():
    bpy.utils.register_class(SIGExport_PT_Panel);
    bpy.utils.register_class(SIGExport_OT_FilePrompt);
    bpy.utils.register_class(SIGExportPreferences);

    return;

def unregister():
    bpy.utils.unregister_class(SIGExport_PT_Panel);
    bpy.utils.unregister_class(SIGExport_OT_FilePrompt);
    bpy.utils.unregister_class(SIGExportPreferences);
    return;

if __name__ == "__main__":
    register();

bl_info should be before any of the imports. (Convention)
I added a description to bl_info.  Not really a problem but see the Addons Guideline
Also see the Guideline for categories.
There's a naming convention for addons, introduces in 2.80. I applied it to your operator and panel classes.

Edit As the OP pointed out, the main problem was

that the code only works when installed, and not when debugging it as a script

__name__ isn't set when you run from a script.

Make an addon folder and put __init__.py inside and zip the folder then install it.
Addon
|
|-->  __init__.py

bl_info = {
    'name': 'SIGExport',
    'author': 'sigs',
    'description': '',
    'blender': (3, 2, 0),
    'version': (1, 0, 0),
    'category': 'Import-Export',
    'location': 'View3D -> Export Mesh',
    'support': 'COMMUNITY',
    'warning': '',
    'doc_url': '',
    'tracker_url': ''
}

import bpy
from bpy.types import Panel, Operator, AddonPreferences
from bpy_extras.io_utils import ExportHelper

class SIGExportFilePrompt(Operator, ExportHelper):

    bl_idname = 'sigexport.prompt_export_file'
    bl_label = 'Select Export File'

    release_confirm = False

    filter_glob : bpy.props.StringProperty(
        default='*.sig',
        options={'HIDDEN'}
    )

    filename_ext = '.sig'

    def execute(self, context):
        print(f'__name__:{__name__}')
        prefs = context.preferences.addons[__name__].preferences
        prefs.export_path = self.filepath
        print(f'export_path:{export_path}')
        return {'FINISHED'}

class SIGExportPanel(Panel):

    bl_label = 'Export SIG'
    bl_idname = 'SIGEXPORT_PT_TOOL_PANEL'
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = 'Export Mesh'

    def draw(self, context):
        layout = self.layout

        row = layout.row()
        row.operator('sigexport.prompt_export_file', text='', icon='FILE_FOLDER')

class SIGExportPreferences(AddonPreferences):

    bl_idname = __package__

    export_path : bpy.props.StringProperty(
        subtype='FILE_PATH',
        default='out.sig'
    )

    def draw(self, context):
        layout = self.layout
        row = layout.row()
        row.prop(self, 'export_path')

classes = (
    SIGExportFilePrompt,
    SIGExportPanel,
    SIGExportPreferences,
)

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

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

I see nothing when running this. I got some errors after zipping it and installing it as a plugin. after fixing those errors in the code i do see the correct name showing up for __package__ so it seems like the issue is not the code changes above, but how im loading it

Make an addon folder and put __init__.py inside and zip the folder then install it


text:
How can removing faces increase file size?
This isn't so much a "how to do something" question, but the issue is: I was working on a model and deleted a bunch of faces that was overlapping with another mesh, and then I joined the mesh to the first one, and then when I save the model is up about 200 MB for some reason. How is this possible?

Maybe try File > Clean Up > Unused Data-Blocks, close and open again?

Tried that, it said there was nothing to purge. It is a model imported from Daz, not sure if that might have any effect on it.


text:
Create bones with a python script
I am new to asking questions on S/O, so if the question is vague, let me know. I have an issue with trying to create bones in blender and coverting it a bvh or any other file format( i.e. fbx, obj, etc). I am working with this mocap code
https://github.com/SpectralVectors/PosePipe
There is a section that says to generate bones, and that code is here:
class SkeletonBuilder(bpy.types.Operator):

With :
bpy.ops.armature.bone_primitive_add(name="clavicle_l")
        clavicle_l = bpy.context.active_object.data.edit_bones["clavicle_l"]
        bpy.context.active_object.data.edit_bones["clavicle_l"].tail[2] = 0.1
        clavicle_l.parent = spine03

When I generate bones, the lower half creates a useable skeleton and the upper half doesn't and produces this error:
Python: Traceback (most recent call last):
  File "C:\Program Files\Blender Foundation\Blender 3.2\3.2\scripts\addons\io_anim_bvh\__init__.py", line 295, in execute
    return export_bvh.save(context, **keywords)
  File "C:\Program Files\Blender Foundation\Blender 3.2\3.2\scripts\addons\io_anim_bvh\export_bvh.py", line 277, in save
    write_armature(
  File "C:\Program Files\Blender Foundation\Blender 3.2\3.2\scripts\addons\io_anim_bvh\export_bvh.py", line 213, in write_armature
    bones_decorated = [DecoratedBone(bone_name) for bone_name in serialized_names]
  File "C:\Program Files\Blender Foundation\Blender 3.2\3.2\scripts\addons\io_anim_bvh\export_bvh.py", line 213, in <listcomp>
    bones_decorated = [DecoratedBone(bone_name) for bone_name in serialized_names]
  File "C:\Program Files\Blender Foundation\Blender 3.2\3.2\scripts\addons\io_anim_bvh\export_bvh.py", line 195, in __init__
    self.pose_imat = self.pose_mat.inverted()
ValueError: Matrix.invert(ed): matrix does not have an inverse

If someone could point me in the right direction, I would be grateful

Fails to install for me.  You're going to have to contact the author on this one.

@MartyFouts, thank you.


text:
Increase rigidbody collider accuracy
This is my first time doing any serious physics simulations and I have a doughnut shaped object that needs 100% collider accuracy, but the doughnut hole collides with things, all settings are on default except the weight, how can I increase the accuracy of the collider?

Did you get to fix this?

You must change the Shape of your collision object from "Convex Hull" to "Mesh."
With a detailed mesh like that, you may also want to create a simpler torus mesh for collisions and physics, and parent the non-physics higher poly rope mesh to that to speed up physics calculations.

With mesh it flies off still but in a different direction

Is the mesh its colliding with also set to Mesh? Also if it's the body, it should have it's Type set to Passive, and the Animated option checked.

Making both the rope and engineer meshes instead of hulls still has a similar problem


text:
Asset Browser works only for current file?
Hey the asset browser doesn't works for me here ? I do select my models in Object Mode or select materials and mark them as Asset.
The marked assets appears in the Asset Browser section and I can add them in a fresh created category.
The assets stay in the current blend file only and doesn't appear in my library.
I've checked the path in the Blender preferences and created a Library with the name "User Library" - Path: /home/myusername/ProjectFiles/Blender/Assets
I also checked the Assets folder and can see it is empty.
I do not have any assets if I create a new Blend Project File
Using Blender version 3.2.1 on Linux
EDITED:
Works now! I didn't know and missed to save the .blend files which contains marked assets into my Library Assets path. Assets appears in a new created project file now

Hello, please add your solution as an answer (scroll down and enter it in the textfield on the bottom of the page) so that it can benefit other people in the future, too. Thank you :)


text:
Trouble getting the end of the ponytail red and black on the other side of the bead (Solved)

Ok so, I’m trying to make my OC Zoro into 3D but I cant make the end be red and the red become black. Can someone help?

are you using an image as mask (as factor in a Mix Shader or in a Mix RGB)?

I’m completely new at this. So basically I’m gonna be confused a lot.

maybe pack your images and share your file? https://blend-exchange.com/

Hello, you need to pack your images before saving and sharing (File > External Data > Pack Resources). If it's too heavy for blend-exchange, use another platform like workupload or other

As you see if you open the Image Editor and open the image that is used to color these parts, the colors are inverted, it is red where it is supposed to be black and vice-versa:

A quick fix would be to choose the side or top view, switch to Edit mode, press U and unwrap with the Project from View option:

In the UV Editor put the island over the image so that the red comes at the tip of the tail:

Result:

However, the hair at the front needs to stay black, and the spikes needs to be red.

@ZoroTheZoroark I've edited my answer, re-unwrap is probably the easiest way

Found it. Had to go to vertical mode then head back to edit mode in layout.

what do you mean?

Ok update, I cant seem to color everything in black cause the bead is LITERALLY in the way.

But I tried to copy your vertical that’s located and I can’t seem to align it correctly.

You need to select only the tip in the 3D view, to do that put your mouse cursor on it and press L, then press U (unwrap) > Project from View

Then, how I get the bead out the way? I’m trying to paint the remain red colors to black.

Ok, I did a different approach but, my friend must've forgotten to pack the resources.


text:
Blender Interface Glitching? Any ideas on how to fix, haven't come across this before

Hi, Been working on a scene for a few days suddenly having issues with the interface glitching (see image below) lagging also occurring. Is this an issue I can fix within Blender or is it to do with having too much geometry/materials in the file?

That looks like something is seriously wrong. Perhaps an OpenGL error? At worst case a failing GPU (but doubtful since the "problem" is restricted to the viewport). Definitely make sure your graphics drivers are up to date, and possibly try with a fresh install of blender.

Thank you Christopher, I agree looks like there is definitely something seriously wrong - will do as you suggested!

Does the problem affect all of the different modes? Edit mode, sculpt mode, etc?

Does that scene from the image above occur all at once, or is that screenshot the result of panning around the viewport, and it's "keeping" the lines as you go (like a blurring and/or ghosting effect)? Also, what kind of GPU do you have?

@REMCodes it affects all tabs, different sorts of glitches on each

@ChristopherBennett its a result of panning around the viewport, I'm currently working with a MacBook Pro + Monitor so, Intel Iris Pro 1536 MB (I'm aware this is probably not technical enough, but I don't know too much about this) I have worked out if I delete the chair object all is fixed, so I believe its a problem within the chair model, may just have to backtrack to a previous version and work forward from there

^ Added Image of Previously Rendered Scene for Material/Geometry Context


text:
Geometry Nodes. How do I shift a plain's vertex position based on whether or not a selected object hits it/ lands on it?
I've made this simple plain, and used it's noise attribute to guide positions of instances,
Wherever the ground is lower than a certain z,

The grass is thicker
There are pebbles
Node Trees Below

Is there a way I can tell this ground plain to bend (move points -z), 12 frames after an object (a mesh, a ball, a cube) lands on the ground (via external/geometry nodes animation)??
I want do it in a way that the bending caused by external objects is added to the current noise pattern. The pebbles in the further node tree would then appear and over up the object that had fallen.
Basically a ground that eats up objects that land on it (except the pebbles and grass that are already on the plain)

And how do the pebbles land on the ground? Is there an existing animation? ...it looks more like physics to me.

@quellenform I will add that animation, thought I could do it after I set up the nodes for ground. Basic drop animation from viewport or geometry nodes I'm thinking

@quellenform BTW, the pebbles you see stay on the ground, they don't land. But I wanna make some other object (mesh) land on the ground and that should affect the displacement of z in ground plane, and in turn it would tell my current pebbles where to appear

Correction: A ground that eats up selected objects that land on it, but it doesn't eat the pebbles or the grass.

Solved. Used Raycasting on realised instances.

Would you be so kind and write a short answer and mark it as "Accepted Answer"? That would reduce the number of "unsolved" questions here a bit and help others to find the right answer more easily. Thank you!


text:
Why is object axis broken in Geometry Nodes?
I'm having an issue with Geometry Nodes where the object's Y and Z axes seem to be switched. The object should move along Z axis not Y. Orientation is set to global. How to fix this?

I found this for a fix maybe. https://usamababar.com/fixing-rotation-of-instances-of-geometry-nodes-in-blender/

Additional 180-degree rotation on z axis should fix problem after first post. go ahead edit me, but thanks for no help on the topic everyone!!!

lol...i don't want to...because of point 3. If you would have read my answer of geometry nodes you would have known that your question is super easy to answer....but i think you live in your own little world...and i won't answer you anymore because it is waste of time

I am being rude, sorry! You know your stuff. Read you profile, you have much to offer.

it's ok. I am glad you have self reflection.

lol sorry been at this for a day, gets upsetting.

I'm sorry for you if you have misunderstood the stack exchange platform but nobody is by any means obligated to provide anyone with any answers. We do this in our free time with our free will, we are not employees. If we know the answers, have the time, and are in a good mood, and feel that you are a nice person and deserve it then consider yourself blessed to get an answer. Apparently one of these conditions is not fulfilled as of the moment so you probably need more patience or we really don't know the answer :)

Some of us go to bed in a different time zone too! :^)

You can visualize the direction of the axes about which each point will rotate by adding a few nodes to your group:

The points will rotate about axes in these (object-space) directions, but passing through the center, which you have asked to be the object origin.

Your calculated cross-product is a vector at right-angles to both (0,0,0) -> Position and (0,0,-1).
In other words, normal to the triangle (0,0,0) , Position , (0,0,-1).
In other other words, tangential to the sphere and lying in XY.

"Why the hot plate hot?" ...and Robin comes right along with a scientific paper as an answer! :D +1


text:
How to view vertices on model when not showing
I have the model from the bellow image and when I'm entering Edit mode, I can't see any vertices. How can I enable them? I want to remove some parts of it. If I add a simple cube, on that I can see them. Does it have something to do with the model and it can't be changed?

This is the wireframe view:

All the tutorials I've seen start with them on and tell you how to move/delete, and none of them talk about the situation when they aren't showing.

it looks like you've selected the armature, not the character object, if you want to edit the character, switch back to Object mode, select the character, switch to Edit mode, then choose the Vertex Select mode, press Alt Z if you want transparency

You are right, thank you. I'm not "character/actor maker", so even something simple like this will cause problems for me. I'm only using blender when I really have to. Make your comment as an answer to accept it.

You've selected the armature, not the character object, if you want to edit the character, switch back to Object mode, select the character, switch to Edit mode, then choose the Vertex Select mode, press AltZ if you want transparency.


text:
Mesh problems after dissolving vertices
After a pause of some years I am trying to learn Blender again. I created a loop cut in my mesh and dissolved half of the vertices. After that my mesh show a strange look. I have a  subdivision surface modifier added. I cannot see any strange things in edit mode.
This is mesh before dissolving the vertices.

And this is my mesh after dissolving the vertices

It has been a long time since I posted a question here. So I hope my question is correctly formulated.

Please include an image in Edit mode so that we can see the vertices.

When you dissolve vertices instead of deleting them, Blender keeps the connections between adjacent vertices as far as possible, so for example if you have a quarter circle and you dissolve all vertices building the curve except for the center and two outer vertices, you'll get a triangle, whereas deleting them would leave you with two edges building a right angle.

Gordon, you were right. Thanks


text:
How to redirect a PointerProperty to Object when the owner is Linked
I'have a pointer to object initialized on an armature like this:
bpy.types.Armature.myPointer = bpy.props.PointerProperty(type = bpy.types.Object)

When I link the Armature with library override (together with the object in question) the pointer is still pointing to the original object, where I need it to point to the new object (the linked one).
How can I 'redirect' the pointer if the armature is linked?
p.s. Already triyed to add override = {'LIBRARY_OVERRIDABLE'} to the definition

This seems to be a deficiency in library overrides. Built-in pointers (parents, constraint targets, etc) are remapped correctly via system overrides, but not custom properties.
The workaround is to manually define a user override (rmb on your data, option at the top of the menu in blender 3.3).
It would be great to get a better answer...

In Blender 3.3 they work nicely. Define the pointer in the original file with  {'LIBRARY_OVERRIDABLE'}.
In the linked file right click on the linked folder -> library override -> make -> select and content. Then right click on the armature and do the same.


text:
OBJ File only has color when in my documents folder?
I am trying to 3D print a model at my local library, and need to have an OBJ file of my model. When I export it, the OBJ file only shows color when it and the MTL file are in my laptop's documents folder. When I export it anywhere else, it is completely gray. I even make sure to have the MTL file with it. What do I do?
Here are pictures of it when I open it from my documents folder, and it when I open it from anywhere else.

Does it have textures?

The first thing I think of is that the MTL file is using global paths to find textures. Are there textures? What happens if they are in the Documents folder but everything else (or just the obj file) isn’t?

It only has colors using nodes.

I came home from school today and it was fixed, how strange.


text:
Can I convert a modifier modified object to a simple object?
I am desperately trying to use a hair modifier around a sphere to grow hairs that are based on a specified object. I would like this to be a pre-generated 3D curve that I have hair modified BUT this is not working.  Only the curve itself (not with its modified "hairs") is being grown from the sphere.  I hope this makes sense and apologies of this is a dumb question.  any help hugely appreciated

if you can share a screenshot to better understand what you're trying to achieve, maybe it could help.

Hi...in essence I want the grown hairs to be objects that I have pre-made within another collection from a particle modifier.  I can select the latter and select "convert particles to mesh" and then use that as the object but that actually doesn't work (the hairs grown in the secondary particle modification dont render)

The problem is highlighted here but I am not keen on their workaround: https://www.youtube.com/watch?v=LYKIaXCmvJo

There are several ways to grow hair, but I don't know what you mean by pregenerated curve, that's why I asked you for a screenshot. But if you can share your project it would be much better.

Hi, many thanks again, I appreciate it.  No doubt I am being dumb but I can't see how I upload a screenshot.  the only option I have is "add a comment".

I start like this.  I have a new 3D noise curve and hair modify this to generate a "functionalism hair".  I then want to grow this "functionalism hair" from another object.  That's basically it.   Ideally I would be able to convert the initially modified hair into a simple object but that simply doesn't seem to be an option


text:
Retopology mesh experiencing errors while moving / deleting original mesh
I am a beginner at Blender. This sculpture is my very first.
I have completed the sculpture and retopology.
This is the sculpture: https://twitter.com/DariaWinnicka/status/1516069031673012224
This is the retopology: https://twitter.com/DariaWinnicka/status/1575455988655734786
During retopology, I followed this step-by-step video: https://www.youtube.com/watch?v=CuQzPDs99yM&list=WL&index=32&t=605s
Problem:

I'd like to delete the original mesh from the file (I create a copy of the file after each stage is completed - the last stage was retopology).
However, if I move or delete the original mesh, the retopology mesh experiences errors.

Please watch the video to understand further: https://youtu.be/6YHAv5M-hbU
I appreciate all the help.
Thank you.

Apply (Ctrl A) the shrinkwrap modifier before moving the original sculpt.

I applied all modifiers (inc. shrinkwrap + mirror + subdivide) and that worked wonderfully: https://youtu.be/1qRH7xmCRCc
I appreciate your help very much, thank you.

Subdivide modifier is better to mantain unapplied, generally speaking.

I was able to return to the previous stage and keep the subdivision modifier unapplied. That's very helpful of you, thank you.