text:
Smooth Vertex doesn't work
I am new to Blender. I have an object with some edge loops and a mirror modifier, and when I try to Smooth Vertex the vertices of the object, the object split in two. Any ideas ?

I was able to solve it by enabling "Merge" and increasing the Merge Limit to ~.34. I tested using the dimensions of the default cube.

Thanks ! I forgot to do at least three edge loops and that's why it spilts in two !


text:
Solidify Modifier, Subsurface Scattering, and the Principled Shader
I've read/heard elsewhere that the Subsurface Scattering in the Principled BSDF Shader only works if a Solidify Modifier is present. Is this correct?
If I create a flat Mesh Plane e.g. it would make sense that I need to apply a Solidify Modifier for Subsurface Scattering via the Principled BSDF to have an effect.
However, If I created a Mesh Sphere -- or Cube or any non 2D or non-flat object -- do I also need to add the Solidify Modifier for the Subsurface Scattering via the Principled Shader to have any effect?

If you add the solidify mod to an already closed mesh like a sphere or cube, it will make it hollow but will not change the SSS when seen from the outside

No, i dont think you will need it for a solid object. if you apply a solidify modifier, you will see that all it does is just add another layer of faces to create a closed mesh, which you already have with a sphere.
You can also just try applying a subsurface scattering material to a sphere and see what happens.

source: Stack Exchange

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

sort: votes


text:
How do I add the same Modifiers to all Linked Duplicates?
I am building a scene with a lot of leaves, a macroscopic view, each leaf is an object carefully placed rather than using a particle system. I have a base set of 12 leaves that have each been duplicated dozens of times as linked duplicates using Alt+D rather than Shift+D. Now that each linked duplicate has been carefully rotated, scaled, placed I want to add Solidify and Subsurface Modifiers to all of them but maintain them as Linked Duplicates.
Is it possible to add the same Modifiers to all Linked Duplicates in some way?
When I add these Modifiers to the original object or instance it seems to Unlink it from all the Linked Duplicates creating a new object with the Modifiers.
If this isn't possible to do as with Materials where a Material can be linked to an Object or its Data, is there a good workaround to achieve the same without unlinking all the objects and creating hundreds of new separate objects?

Does this help? https://blender.stackexchange.com/questions/319/add-the-same-modifier-to-multiple-objects-at-once?rq=1

Not quite but close. The problem is finding all linked instances after applying the modifiers to the original instance. If I select the original instance and go into Edit Mode it will show the mesh of all linked instances so i can see them. If I then apply the modifier to the original object, it will no longer show the mesh in Edit Mode of all linked objects, and there are dozens so very difficult to locate all of them in a complex group. It does say they are still linked by the number that is next to the Object but I can't highlight them all to find and select and apply the Modifier w Ctrl L

I worked it out. Each set of objects is named, so all linked duplicates of Leaf05 e.g. are named Leaf05.01, .02 etc. So I can add the modifier to Leaf05, deselect, then select all the Linked Duplicates in the Collections Panel, then reselect the original instance (Leaf05) and Ctrl+L to copy the modifiers. Cheers Ray!

Actually it seems that Ctrl+L copy Modifiers does not change the Linked status of a Linked Duplicate. So it can very simply be done by box selecting all the Linked Duplicates regardless of their original object instance and then selecting one object that has the Modifier Stack you want to copy and then Ctrl+L copying without affecting the Link status. Thinking aloud here, hope it helps another Blender neophyte with a similar problem.

you can also select all linked duplicate with SHIFT + L or Select > Linked then "Object Data"

That's Very Useful Thank You!

If you create a linked duplicate of an object (Alt+D) it will copy any existing modifiers. But the modifier stack of each duplicate can be individually manipulated without affecting the original. So if you retroactively add any modifiers to duplicates they will only be applied to one object.
You cannot add modifiers to multiple objects from the modifier panel. The modifier will only apply to the object selected last. However you can copy modifiers to a group selection, by selecting all the unmodified objects, and then the object with the modifiers, and use Ctrl+L to copy Modifiers.
Useful tip: to select all linked duplicates of a mesh use Shift+L or Select > Linked > "Object Data"

1st Image: Ctrl+L to copy modifiers from the last selected object
2nd Image: Shift+L to select all linked duplicates
S/O to @Ray Mairlot and @Gorgius for their comments, which I have redrafted as an answer for the sake of completion

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


text:
Can you Weight Paint differently on Linked Duplicates?
Is it possible to Weight Paint unique Weight patterns on Linked Duplicates, that share the same mesh? I can't work out how to do it.
In the example images I have set up I have two spheres one is a linked duplicate created with Alt+D. They both share the same particle system using the smaller third sphere as the Instance Object. I want the same Particle System to be used on both spheres but with separate areas painted in weight paint.  How do I achieve this?
When I open the right sphere in Weight Paint mode and start painting, it just inherits the same pattern from the left sphere.
I'm guessing it's something to do with Vertex Groups but is it possible for the same Particle System applied to Linked Duplicates to use multiple Vertex Groups where each one is uniquely painted in Weight Paint?
In the images you can see that the right sphere just inherits the pattern from the left.
I hope that is clear, if not please comment and I can try and edit for clarity.
Sincere thanks for your help.

If you create 2 vertex groups on the same object, then link-duplicate the object, in the Density field you can use the first vertex group for the first object and the second one for the second object, so the object share the same mesh but the emission will happen on 2 different areas, is it what you want?

Thanks a million @moonboots that did it. I knew I was close. So the asnwer: when you select a Linked Duplicate, you have to add a new Vertex Group with a new name, and do the new Weight Paint on that Group. And then call for that new Vertex Group in the Density field under Vertex Groups in Particle Settings for the Duplicate. Wish I could UL a screenshot in the comments. If you draft it as an answer I'll approve it. Otherwise if you don't get to it, I'll do the same and get it up there. Thanks again.

Select your object, go in Edit mode and assign a vertex group to the faces that are supposed to emit the particles. Then in the Properties panel > Particles, create your particle settings and in the Vertex Groups submenu > Density field, choose the vertex group you've created.
Link-duplicate your object (AltD), go in Edit mode and assign a new vertex group to the faces that are supposed to emit the particles on this second object. Then in the Vertex Groups submenu > Density field, choose this new group.
The objects are still linked but the particles emission will happen on 2 different parts.

Nice one @moonboots , thank you. In my case I already have a dozen or so instances or Linked Duplicates, so I was trying to do it retroactively, but the same method seems to work. If you create the new Vertex Group before weight painting or assigning the faces to that group.


text:
Pivot Point Question
Been wondering how to do this for ages but I haven't been able to find a solution, or phrase a search correctly, please link if it's out there.
Here's two abstract flower petals, I want to pivot them towards each other by selecting both and pivoting them in relation to one point, either origin point of each petal or the 3d cursor.

With four petals:

With multiple petals:

I tried: TAB Edit mode, Select top vertex of each petal, O turn on proportional edit, G, Increase Proportional Scale with wheel and move up and down. But this is imprecise and warps the object slightly, with a more complex organic 'petal' problems start arising.

How would you do this?
Thanks for your help!

You can change your pivot point to 3D cursor and then select all verts and rotate without proportional editing.

The main trick is to use the Local transform orientation, since you want all objects to rotate according to their own individual axes. In the video below I'm using the 3D Cursor as the pivot point, because the origin points of my petals are in their geometric centers and not at the pivot point I want them to rotate from (here, that's also the world origin).

If their object origins were at the world center so everything was perfectly symmetrical, all other pivot options would yield the same result:

A perfectly elegant solution, thank you.


text:
PySide2 GUI and creating a cube crashes Blender 2.82
I'm new to Blender and have come across a couple of YouTube tutorials on using PySide2 in Blender. I've followed the tutorials but have found that whenever I connect PySide buttons to functions that create objects, Blender immediately crashes with an exception. Has anyone else encountered this? The easiest way to reproduce this problem is to install PySide2 in blender (https://www.youtube.com/watch?v=LbPJt9upyXs), edit the PySide2 example add-on file found at:
C:\Program Files\Blender Foundation\Blender 2.82\2.82\scripts\addons\camtools\camController.py
....and change....

def create_new_camera(self):
    bpy.ops.object.camera_add()
    self.load_camera()

...to:

def create_new_camera(self):
    bpy.ops.mesh.primitive_cube_add()
    bpy.ops.object.camera_add()
    self.load_camera()

Now load blender, enable the addon (its in the Generic category and is called Pyside2_setup) and press N (if you are in Blender 2.78 keyboard shortcuts). Click on 'VFX Pipeline' and then click on Cam Controller, followed by 'Create a camera'. Blender should immediately crash.

This happens because PySide works on a different thread/process. There are 2 variants how to fix it.
1 Use bpy.app.timers.
Like: bpy.app.timers.register(lambda: create_new_camera())
2 Use bpy.context.temp_override.
Like:
with  bpy.context.temp_override(window=bpy.context.window_manager.windows[0]):
    create_new-camera()

Here is also an example.


text:
Saving progress while Cycles is rendering
Let's say, I am rendering an animation and I am half-way in (frame-wise). I would like to save what has been computed so far and resume the rendering later. I can see that the generated .avi file is updating as the rendering goes, but I am not sure if Blender is smart enough to bootstrap from this file and concatenate more frames later.
Is it possible to save the progress of rendering using Cycles engine? If so, how?
Cheers
Edit:
Running on Blender 2.82

Render as image sequence, this way you can pause anytime....

@brockmann, I guess there is no way to do so for the already rendered stack of frames? As in, while the animation rendering is running, converting what has been rendered to images.

No, unfortunately. Encoding to mp4 or mov directly should be removed from the menu, bad idea in general...

That's a shame. Thanks for your suggestion.


text:
Blender 2.82a very slow compared with 2.79
I am coming back to use Blender after a bit of a break of a couple of years. I did a lot of work using version 2.7x. I am now trying to use version 2.82a.
My PC is running Linux Mint 19.3 I have 32GB RAM, 16 Core Ryzen Threadripper 1950X and 12GB GTX 1080Ti. I have the nvidia drivers installed and I am using CUDA.
What I find that for a modest sized model (approx 1M verts) version 2.79 is very responsive with zero lag. With 2.82a everything lags, not just zooming or moving the model but also menus and any selection can take seconds.This is in Solid viewport mode, so no textures or rendering.Render speeds are OK.
Are there any ideas as to how to fix this?
Thanks
Baz

Do you using Viewport Anti-Aliasing (Preferences > Viewport > Quality) ?

Run blender from terminal and check output during workflow! It may be some lagging addon spoils life! Ether run blender --factory-startup

Thanks. In a sense what you suggested fixed it.  The problem was quite simple - the desktop shortcut I was using  used blender-softwaregl rather than blender. It looks like blender-softwaregl is the root cause. It also appears to cause some faces to not be displayed  in solid or material, which was odd.

If you used software-gl then this is no surprise. It emulates OpenGL in software instead of using your GPU for hardware acceleration.

I had this same problem and I found a few ways to fix this. By default, the resolution % in 2.8 is set to 100%, whereas it was always 50% before. This only applies to renders however, not really anything else. You can find it in the Output tab underneath your dimension. Another thing you should do is make sure Blender is using your GPU. In your Render tab it may tell you it's using GPU compute but you need to go into your Preference settings and make sure it is using Cuda. I found all this out this morning and my render times went from 2 minutes to 12 seconds, and my playback is a lot smoother.


text:
Want to lip sync from Papagyo to a Rigify face rig using PoseLib? Here is the python script to do it
This is a short python script to import moho files into an NLA strip. Bake the strip to an action and then refine if necessary.
For moho the required actions must be called AI, E, etc, FV,L,MBP,O,rest,U and WQ.
Create each pose and save as an asset.
It is quick and dirty but it is easy and it works. I am sure it can be improved.
Enjoy!
import bpy
# Creates a NLA strip of actions - intended for rapid lipsyncing using the PoseLib 3+ and Papagyo
# 1) Define the face poses for each phoneme
# 2) Load this script and run it. A panel will be added to the NLA
# 3) In the NLA editor add a strip to the armature and set the field accordingly
# 4) Load the Moho file. The format is <fame> <Action Name>. This is the output from Papagyo, but any any list of actions could be supported if the pose has been defined.
# 5) The NLA strip will now be the list of assumed face actions
# 6) Bake the track to an action and edit as required
#

# your rig ... or use bpy.context.active_object if you prefer
def loadMoho(context,rig,track, filepath):
    visTrack = rig.animation_data.nla_tracks[track]
    context.view_layer.objects.active = rig
    bpy.ops.object.mode_set(mode='POSE')
    with open(filepath, "r", encoding='utf-8') as fp:
        for line in fp:
            words= line.split()
            if len(words) < 2:
                pass
            else:
                frame = int(words[0])
                if frame > 0:
                    vis = words[1]
                    bpy.context.scene.frame_current = frame
                    action = bpy.data.actions[vis]
                    if action is None:
                        continue
                    cycleStrip = visTrack.strips.new("Cycle",start=frame,action=action)

class MohoLoadOperator(bpy.types.Operator):

    bl_idname = 'cc.control_load'
    bl_label = 'Moho Load'
    filter_glob: bpy.props.StringProperty(default = '*.dat',options = {'HIDDEN'})
    filepath: bpy.props.StringProperty(subtype="FILE_PATH")
    def execute(self, context):
        print("filepath=", self.filepath)
        rigName = context.scene.armature
        rig = bpy.data.objects[rigName]
        track = context.scene.trackName
        loadMoho(context,rig,track,self.filepath)
        # load the moho file
        return {'FINISHED'}

    def invoke(self, context, event): # See comments at end  [1]
        context.window_manager.fileselect_add(self)
        #Open browser, take reference to 'self' read the path to selected
        #file, put path in predetermined data structure self.filepath
        return {'RUNNING_MODAL'}
        # Tells Blender to hang on for the slow user input

class MohoLoadPanel(bpy.types.Panel):
    bl_label = 'Moho Load'
    bl_idname = 'cc.mohoload'
    bl_space_type = 'NLA_EDITOR'
    bl_region_type = 'UI'

    def draw(self, context):
        layout = self.layout
        row = layout.row()
        row.prop_search(context.scene, "armature", context.scene,"objects", text="Rig")
        row = layout.row()
        row.prop(context.scene,"viseme")
        row = layout.row()
        row.prop(context.scene,"trackName")
        row = layout.row()
        row.operator('cc.control_load', text='Load')

def add_properties():
    bpy.types.Scene.armature =  bpy.props.StringProperty(
        name="armature",
        description="Rig to add face animation to",
        default="Armature",
    )
    bpy.types.Scene.viseme =  bpy.props.StringProperty(
        name="viseme",
        description="Face animation file",
        default="viseme.dat",
    )
    bpy.types.Scene.trackName =  bpy.props.StringProperty(
        name="trackName",
        description="Track Name",
        default="NlaTrack",
    )

def remove_properties():
    del bpy.types.Scene.armature
    del bpy.types.Scene.viseme
    del bpy.types.Scene.trackName

CLASSES = [
    MohoLoadOperator,
    MohoLoadPanel,
]

def register():
    for klass in CLASSES:
        bpy.utils.register_class(klass)
    add_properties()

def unregister():
    for klass in CLASSES:
        bpy.utils.unregister_class(klass)
    remove_properties()

if __name__ == '__main__':
    register()
```

What is your question?

Thanks for your post. To keep the Q&A structure of this site intact, you should describe the purpose of the script or what you want to do in the form of a question (edit 1st post). Then you can answer your own question with the script (2nd post).

By the way, what is "moho"? -- nevermind, found it: Moho Pro 13.5 | The all-in-one animation tool for professionals and digital artists | Software for PC and Mac OS for 328 bucks.


text:
Bisecting a mesh along a curved path defined within another mesh
I am trying to make a device mount that will clamp around the rails of a bike seat. I have the shape of the rails (blue) from an imported STL file and have Boolean differenced them to create the corresponding hollow spaces in this block (yellow). I now need to divide the block into a top and bottom half that will clamp around the rails. The cut line needs to follow the centerline of the rail so that each half can fit around the rails. So far I have tried to recreate the rail shape as a Bezier curve but I could not perfectly capture the shape and I need the fit to be exact. TIA!

1.. how was the STL generated? could you get your half-tubes from the same source? 2.. Could you share an example on https://blend-exchange.com/ so we can see its horrible topology?

Resolved -- I was able to better refine the hand-drawn bezier curve, extrude to a surface and then a mesh, then use for Boolean modifier.


text:
How to fix incorrect split normals for extruding reigons
So I am working on the top lid of a treasure trunk. The treasure trunk has 4 thick leather bands around the object.
My problem is that when I try to extrude the 4 bands outwards for thickness, 11/12 of the corners are extruding out the wrong way.
I have toggled on the display for split normals (the ones on vertices) and noticed that the one good corner has purple normals while the rest of the object has blue split normals. I have googled a bunch and found no good resource for explaining this to me. Please help!
Note: I tried to flip the color of the split normals on the bad corners and instead flipped them inward so you cant really see them so well in the images.
Treasure trunk

Extrude faces along normals

The one good corner

Notice the only corner with purple split normals?

What you seem to have done accidentally is using the tool "Extrude Individual Faces" and then aborting the action by right-clicking or hitting Esc. This way, extruded faces are created but stay in place with the original faces you extruded. You can tell it was "Extrude Individual Faces" because there are dots on the edges between selected faces in a face loop selection. Anyway, that's just for explanation, the given answer by @KickAir8p should get rid of the problem.

That's a more thorough explanation than mine, thx!

Looks like you have some duplicated geometry (can happen when extruding without moving the faces without realizing it, and then extruding again).  Select everything in the object and Merge by Distance (M key, bottom option), that should remove the extras.  Then try your extrusion again.

Thank you that worked. I dont fully understand the merge by distance solution but i will look up an explanation.


text:
Is it possible to bake lightmaps with high-poly projection in blender?

I want to bake high polygon lightmaps into low polygon uv channels. This function can be done by using render to texture in 3d max, but even if you look for it in Blender, there are only a lot of projection mapping and it doesn't seem to be visible in this regard. I tried using the Bake-selected to active function, but the map only came out dark, so I'm asking this question.

You can do it with selective-to-active bake.  It's just, do you want to bake final color?  That's what you're baking.  And do you have a material for your high poly?  For your high, plug lightmap into emission, and bake emission.  The resultant image is your high-to-low lightmap.

Does that mean baking a light map in high polygon and then baking the result in low polygon? If correct, it would be better to do 3d max as the process increases. What I wanted was to apply high polygon's detailed light to low polygon without baking the high polygon's light map.

As far as I know, yes, it would be a two-step process, bake lightmap to high poly then bake lightmap from high to low.

Oh, I think I found it. I connected a white diffuse to the high polygon and did the same, and the desired result came out. Thank you for your help. :)


text:
Problem with normal after merging vertices

I was doing some editing on a clone of the object on the left. After some vertices merges, Knife intersect, face deleting etc... the resulted object looks strange...

Here you can see the normals are different so maybe that was the problem. I want to make the object on the right look like the one on the left, what should I do?
I am pretty new to Blender and 3D modeling in general.

you've shade smoothed your object, to undo, right click and Shade Flat

@moonboots Exactly the problem, thanks!

If you just want to copy the per-face-corner normals of the original object, you can use a data transfer modifier after merging vertices:

Notice that I've disabled "evaluate in global space".  Presumably your two objects have identical faces in their own local spaces, but they have different global transforms.  I'm also doing this via nearest corner and best matching face normal, which should be the appropriate method for what you're demonstrating, but other methods are useful in other circumstances (topology, nearest face interpolated are others that I would use frequently.)
You should apply this modifier (from the modifier dropdown menu) if you don't want it to be calculated live.


text:
Split one object into different uv sets for a more detailed texture
I want one joined object to have multiple UV sets, each set corresponding to a particular part of the object. Then I want to export the object to Substance Painter and select a UV set to paint on. How do I do that? And if that is not possible, what should I do to be able to apply a texture to an object and the texture covers a particular part of the object and then I apply another and it covers it's part?

you can create several UV maps (see in the Object Data panel > UV Maps), then in your material create an Input > UV Map node. That way you can assign a big PNG to the parts you want. Is it what you're looking for?

If your objective is simply to have a more detailed texture, then the relative sizes of your UV islands shouldn't matter - rather, the resolution of your image texture is important.
You certainly can map your texture across multiple images like moonboots said, and each of those images can afford to be smaller while still maintaining a highly detailed whole, but if you have everything unwrapped onto a large enough image you'll basically have the same result.
What resolution are you using for your textures? 2k? 4k? It's not unheard of to have 8k+ textures these days.
ETA:
Otherwise, I'm guessing your objective is just to keep these parts of your texture separate? I believe Substance has functionality for masks if you can't separate the meshes.

Somehow I haven't considered increasing the resolution


text:
computer graphics ,render depth image from many meshes and triangle
how to do this?Given a scene consisting of 16000 triangles/meshes, for example, given 1000 cameras pose which expressed in 4x4 rotation matrix, how to quickly render 1000 depth image， does not need RGB information, but only the depth of each pixel (the distance from the camera optical center to a point in the scene), I have written a simple ray casting code, but it is too bad, Traverse 16000 triangles and calculate the intersection of 1224 * 1024 rays and these triangles each time，very slow，any suggestions?
I need to does this fast,the time of render 1000 depth images with 1224*1024 resolution which secne contains 16000 triangles need small than one day?

in blendr there is a depth layer and there is a camera (you got 1000?? camera's..why?, move a single cam) not sure how acurate the depth will be if it would be enough.
Keep the rest simple, in compositor convert the depth to bw picture (loosing some depth data)... i think you should play a bit with compositor, alternately there is backing for bump maps...

Can't help with Python, but for what you want, I would render in Eevee, since you don't actually need bounces.  There are actually many different ways to measure depth (distance from camera, distance from near clip plane projected toward the camera, distance from near clip plane projected toward the plane) but any of them could be done with a simple material, outputting emission without any view transform (or post processing render options) to .exr.  This will be pretty much an instantaneous render.  Can't help with converting camera matrices into actual camera transforms though, sorry.


text:
Hi, Is there any way to know how many objects are referencing other object?
Example- I have a object named Master. Master object is used as a reference in many drivers and constraints(like master object rotation is used in some driver and it is also referenced in constraints like Limit distance constraint). So, is there any way to list all those references where Master object or its properties are used.
In my case I am using someone else rig and it has many bones,constraints,drivers etc and I can't able to understand the connections between them so I thought it would be cool If i could check which thing is used for what?


text:
Large memory consumption upon loading model
When I import a single large STL (700MB), Blender uses 3GB of memory. This is before any operations have been performed. While editing, the memory consumption jumps to 16GB and my computer grinds to a halt. Is there any way that I can reduce the amount of RAM required by Blender if I'm not using any textures / sculpting / etc and just doing mesh operations?

can you have a look at your statistics and tell me how many vertices and faces your viewport is currently handling , also try hiding your model to see if it improves , just to make sure that the model is the root cause


text:
leakage problem in fluid simulation
I am trying to make water flowing through a pipe simulation.
Below screenshot shows the inflow object(sphere) settings.

Below screenshot shows the pipe object settings.

It looks like the water is coming out of another end of the pipe. But the pipe is leaking in the middle.
The procedure that I followed to make pipe is:
Added nurbs path, make it bevel, converted to mesh, added solidify modifier.
.....
I tried with both checking and unchecking the 'is planar' with 0.001 as thickness. In Both cases, the pipe is leaking.
Below screenshots shows the settings of domain.

Please tell me how to solve this leaking problem.
I am new to blender. Expecting detailed explanation.
Thanks in advance.

Fluid sims and pipes can be quite finnicky, I would suggest making a proxy for the collisions, a second collidor that can be left unrendered that helps patch up any holes. You can also try turning up the time steps or quality of the simulation so it takes greater care not to let it pass through.

I'd recommend a higher quality bake, as usually that fixes the problem for me.


text:
Blender renders in color, but I can't see the color when I edit
This is what I'm viewing:

When I render the image I get this:

I can't see the lighting. All I did was close blender and reopen it and the color wasn't there/ I'm new to blender please help.

On the top right hand of the viewport there are four orbs.
(From Left-Right):

Wireframe. This shows the wireframes of all your objects so you can better understand the geometry they have.
Viewport Shading. This shades everything a gray color. This mode is intended to provide the artist a good view of the scene geometry and is very smooth and fast.
Texture Preview. This mode allows you to preview the texture first without actually using the render engine. It's very useful for designing materials.
Rendered View. This will allow you to view the scene using the actual render engine. What you see here will also be what you see when you actually render the scene.

Simply click the orbs to change the shading mode.
Most of the time you should be using Viewport Shading because it is fast and allows you to work quickly.


text:
Pen pressure to z axis(depth)
I am looking for a way to draw in 3d space utilizing stylus pressure (ideally with grease pencil). I am trying to link the stylus pressure to the depth of the stroke points (instead of line width). I also thought this may be possible by first creating a variable width line and then translating the points based on line thickness.
What I'm hoping to achieve with this is line widths created using perspective.
I have done some python scripting but not in blender, any tips on what to investigate would be greatly appreciated.
Forgive me if this is answered somewhere, this is the first question I've had about blender that wasn't already thoroughly covered by the community already.
Cheers,
Old man G


text:
How do I reset my display to default
V2.9.2  Mac OSX 10.13.6
Noob here.
Started following a tutorial and was in the Preference window.
Thought I was saving and clicked some dots in the bottom left of the window.
Now I have miniscule type, too tiny to navigate and try and correct.
I tried reinstalling but I still have to same issue.

maybe first take a look into the Edit > Preferences > Interface > Display > Resolution Scale?

Thank you for taking the time to reply. Can I just point you to, "Now I have miniscule type, too tiny to navigate and try and correct." The image is a clue. I would have done as suggested BUT it is too tiny to navigate. Frustration rather than sarcasm.

so you can't even go into the Preferences?

By dint of a magnifying glass, changing screen resolution, using the accessibility function and lots of trial and errer I managed to fix it myself. I'll get my coat.

Too tiny to read is the clue. Sorted it out, see post below. Got my coat and in the hallway approaching the exit.

Yes I thought about changing the resolution. So how did it happen? Because of a involuntary shortcut? Did you fix it with the Preferences?

That setting can be changed in the Preferences. Go to Edit > Preferences, then adjust your Resolution Scale. That should help!

There's a keyboard shortcut to change it on the fly so you may have done that by accident.

A quick link to the keyboard shortcut would have saved my fat lazy fingers the trouble of searching. Will do a search now.


text:
Smoke simulation not working
I am new to Blender and I am using blender 3.0 I am trying to make a smoke simulation by quick effects but the smoke simulation is not working and also I have a chimney which should work as a effector.
And also I want the smoke to flow faster. Example I want the smoke to touch the upper part of the cube in just 20 Frames any trick for it.
Here is the Blender file = https://drive.google.com/file/d/1ZQ0Bu1cOaPad8leL_OrnCSskKUM4-XYx/view?usp=sharing

It actually works, I checked your scene and it seems that you didn't realize how massive your scene is, by my ruler in blender your power plant has 24 km across... due to that your smoke rises extremely slow and it looks like it doesn't move at all. Try to make it a more realistic size and set your settings again... Also please don't use values like 1000000000 in End value of Clip

The solution would be reducing my object size. Is that right.

pretty much, because if you watch closely even in your scene the smoke actually moves... but it rises so slowly that it looks like it doesn't work

ok, here are several things you should do.

if you check here "face orientation" you will see red areas. These are bad. They will make problems if you are using in simulations/shading etc.

you can repair that in edit mode here:

you should not define everything as effector. Because whatever you add there, will be calculated by Blender in the simulation and will make it significantly slower.

...and to be honest...you used "realistic" values for the sizes. I don't know whether this is a good idea for smoke simulations...i would start with "normal sizes" like some meters...and if you have experience in that i would try bigger sizes.


text:
Weight Paint is streching
I am a beginner in blender and i am using blender 3.0.0 I stretched a plane and subdivided it but when i weight paint it. The weight paint is also stretching. Is there any way so that i can stop weight paint from stretching. Please help me out with your knowledge.
Here's the link of the Blender file
https://drive.google.com/file/d/11eB4Ydo14Hrc4Jsitse03lQxfyYIvGEG/view?usp=sharing Blender file link

Why do you have "Plane" with size of 690 MB? :-)
The problem is that you have uneven scale. Apply scale at first - Ctrl + A ⇾ Scale

Even i am wondering why the file size is 690 MB

you have 4 millions vertices, do you need so many vertices?

I dont know. At first i was unable to apply weight paint at all so i applied so many subdivisions. Now can i dissolve vertices and apply weight paint. your advise would be very helpful.

To add to Crantisz' answer, your topology is stretched a lot on X, thus this stretched weight paint:

Ohh okk. Any solution for it

well, I'm not sure what you're trying to achieve, maybe restart from scratch with a more regular dimension if you don't need it to be stretched, and also subdivide it less if you don't need so many faces (why so many faces btw?)

I dont know. At first i was unable to apply weight paint at all so i seaked for some solutions on the internet and got to know that we should apply subdivisions to apply weight paint so i applied so many subdivisions. Now can i dissolve vertices and apply weight paint. your advise would be very helpful.

what is your project exactly, what kind of object are you working on? you probably don't need so many vertices. If you just want to test the Weight Paint mode, you can do it with a simple plane. Subdivide it a bit if you want to test the different brushes and the different modes

Even with regular grid you will not have good weight paint, see may answer.

@ Crantisz, yes you're right

Actually my project is almost done and i just wanted to add some particles on some parts of the plane. So i was trying to weight paint the plane and all this mess happen.


text:
Is there a way to replace an object with another one AND its children?
I want to replace several objects with a group of objects each. So I tried it with a parent group and linked the data oft the parent with the objects I want to replace, but it only links the data of the parent. Has anybody an idea how to replace an object with a group of objects?
thanks in advance!

This can be done with geometry nodes.

Add your object(s) you want to duplicate/instance in a new collection. Position the object(s) origin on world origin. This can be any number of objects/meshes.

Select an object you want to be replaced and add the Geometry Nodes modifier. In my case, I'm going to replace four cubes. Make sure that these objects are not in the same collection of the objects you want to duplicate.

In the Geometry Node Editor, create a Collection Info node and join the Geometry output of the node to the Geometry input of the Group Output node. In the Collection Info node, select the collection of the object(s) you want to duplicate. If you want to apply the Geometry Node modifier to get a real mesh, add a Realize Instances node between the Collection Info and Group Output node.

The cube with the modifier attached should be replaced with the new mesh. Last step is to select all the objects to replace, then select the object with the modifier on it (should be highlighted light orange), and press Ctrl+L and Copy Modifiers.

Hey thanks for your answer. The Problem whit this is, that this only works with mesh Objects an one of my children objects is a lamp. Sorry i forgot to mention this maybe... But especially its one mesh after i apply the node modifier and not still a Parent group...

Maybe you got also an idea for that?

If you remove the Realize Instance node. Lights and other non mesh objects are copied aswell. You can't edit the new instances separately though because they copy the original. If you need to edit the new instances, you can select it, ctrl+A > Make Instances Real. This wont preserve parenting however.

Ok, not perfect, but pretty damn close! :D Thank you very much, that helps me a lot!

@Benus It does, if you enable Parent in the Make Instances Real operator


text:
What can I do to make my object smoother in the render?
I am a super beginner - would really appreciate help. I have this glass material object and I'm trying to create a render that is actually smooth. You can see in the image that the top right bits have some low-res looking edges. All around it, the edges are actually not looking very smooth.
I've played with:

Render samples: I am rendering it at 1000samples.
Light: I have one point light source off to the side at 500W.
Material: The glass material is created by increasing transmission to 1 and reducing roughness.

I also see a reflection in the background - I would love help on removing the reflection as well. I tried making the background more grainy but I think that made things worse. Thank you!

I believe it has pretty much nothing to do with the number of samples or lighting. i would suggest you add a Subdivision Subsurface modifier to your glass object, set the Render value to $2$, and that's pretty much it.

As for a simple project like this, keeping the samples at 512 should be more than enough. As for the reflection in the background, just go to the Principled BSDF of the background and increase the Roughness to $0.5$ or more.

Thank you! Changing the Subdivision Surface modifier seems to have done it! Really appreciate it.

That's great to hear! I'm glad my Answer was helpful!

By low res, do you mean that they aren't curvy enough, or just that the image is a bit grainy? If it's the latter, try using one of Blender's denoiser algorithms. If it's the former, then try increasing the geometry to smooth out the curve.
If it's actually the resolution then maybe increase the resolution of your render to output a larger image.
And as another person has said, increase the roughness of your ground material to lose the reflection.


text:
Calling bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1) in a for loop stops redrawing the viewport after a few dozens of frames
I would like to write a simple script which loops through a specified number of animation frames with some delay (so I can watch the animation in slow motion without manually skipping frames, and get some data printed into the console for debugging purposes, for example: the euler rotation values of a rotating cube) and it works fine for around 30-40 frames but stops after some time.
What I tried:
    import bpy

    selected_object = bpy.data.objects["Cube"]

    for x in range(60,120):

        bpy.context.scene.frame_set(x)
        print(selected_object.rotation_euler)
        bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)
        time.sleep(.1)

If I increase the sleep delay, the problem gets worse (for example: if the delay is .5, it stops redrawing frames after the fifth or sixth one, however in the console I can see adding new lines every .5 seconds) and can't find any solution for this. Maybe it's a bug? Is there any other solution for debugging animation values while watching the animation itself?

I'm working in a script that receive signals from arduino and change objects in 3d viewport.
I had the same issue with this command and after try so many times and with different ways I found that in my case, the iteration parameter was the key.
I was working with for loop with 100 interactions and the iteration paramenter of 1. The screen stopped updating after a few interactions.
I put the value in 0.1 and the issue was gone.
I didn't use the time.sleep() functions.
So...my working version is this.
for i in range(100):
    #do some stuff
    bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=0.1)

You should try this


text:
Sheep it wont render
i have a few animation projects coming up due to render in the next month or so. I downloaded Sheep It in the mean time so i can contribute to others renders as well as rack up points for myself for when i am ready to render. I set it up across 2 computers (Intel Core i5-4260U @ 1.40CHz x4 and a Intel Core i7-4750HQ @ 2.00GHz x8), and the friend who introduced me to SheepIt linked his computer up as well via the KEY. Seemed to be going fine but when he disconnected the frame render count stopped, it seems that my computers wernt rendering at all it was just piggy backing on his. Can anyone tell me what ive done wrong please.
Ive tried connecting wirelessly as well as via an Ethernet cable and still no change.

I would contact the developers of SheepIt directly. It's unlikely many people here have experienced your specific issue regarding that 3rd party service.

I'm voting to close this question as off-topic because it is about a third party rendering service

I took the Mentalists advice and contacted the developers and they updated the system and it works fine now. Thanks for your replies.

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


text:
How do I fix this issue with these harsh dark-shaded polygons?
Whenever I move the camera/light around I get these harsh shading on these polygons. Any ideas?

try select all faces in the Edit mode and hit Ctrl N to Make Normals Consistent (or spacebar + write it)

Hi, Jan. Thanks for the reply. That doesn't seem to resolve the issue unfortunately.

Just to clarify on what I did:
I selected all of the faces and tried recalculating normals but it just made everything darker (as if it were using the normals from the dark-shaded faces). I also tried selecting just the problematic faces and then recalculating but it issue is still there.
And I displayed the normals and they're all front-facing.

Why mark this as a duplicate? As mentioned above, I've already tried that fix in that thread and it doesn't work for me.

When the entire mesh goes darker you can then use the flip normals command described in the other question I linked to, to invert all the normalized normals.

Ahh. I see. Unfortunately, that didn't seem to fix it.
However, I did kind of hacked my way around the issue. I just replaced those problematic faces with the faces of the rings that are located above/below it since those normals seem to be working just fine.
How can I marked this as solved or just close the thread?

Please upload your blend via http://blend-exchange.giantcowfilms.com so we can investigate your issue closely

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


text:
inconsistent AttributeError when modifying frame_current
I am using this script to render animations because of this issue. It was doing it's job in older blender but now it works well only until I switch viewport shade to rendered. Then after few frames saved I get:

AttributeError: Writing to ID classes in this context is not allowed: Scene, Scene datablock, error setting Scene.frame_current

Btw I would like also to ask is there a way to capture viewport content or rendered border only?

render_time = 3
import bpy, os, time, threading
bpy.context.scene.frame_current=bpy.context.scene.frame_start
class ScriptThread (threading.Thread):
    def init(self, threadID, name):
        threading.Thread.init(self)
        self.threadID = threadID
        self.name = name
    def run(self):
        is_running = True
        tick = time.time()
        while is_running is True:
            if time.time() >= tick+render_time:
                tick = time.time()
                time.sleep(render_time)
                if bpy.context.scene.frame_current >= bpy.context.scene.frame_end:
                    is_running = False
                else:
                    os.system('mkdir render')
                    path='render/'+str(bpy.context.scene.frame_current)+'.jpg'
                    os.system('import -window root '+path)                      # linux
                    os.system('nircmd.exe savescreenshot '+path)                # win
                    bpy.context.scene.frame_current+=1
            else:
                continue
thread = ScriptThread(1, "thread")
thread.start()

Does using bpy.ops.screen.screenshot(filepath=somefilepath) give you the result you are after?  Recommend using scene.frame_set(frame) to set frame.

Blender screenshot indeed works better than system ones (captures only blender window) but inside my thread function gives RuntimeError: Operator bpy.ops.screen.screenshot.poll() failed, context is incorrect.
scene.frame_set(frame) fixed the AttributeError but does not restarts viewport render, it keeps sampling the first frame.

yeah wouldn't use threading at all... context and threading don't in general mix too well.   A modal timer operator that "sleeps" the render time could be one way to go.

Here is an approach using the modal timer operator template.  The modal timer will wait 30 seconds, take screenshot bpy.ops.screen.screenshot() (increment frame).  Stop it with Esc or with a right click.  Change to suit.
import bpy

class ModalTimerOperator(bpy.types.Operator):
    """Operator which runs its self from a timer"""
    bl_idname = "wm.modal_timer_operator"
    bl_label = "Modal Timer Operator"

    _timer = None
    # make delay a scene property can be changed in UI
    delay = 30 # wait 30 between screenshots
    count = 0
    frame = 1

    def modal(self, context, event):
        scene = context.scene
        if event.type in {'RIGHTMOUSE', 'ESC'}:
            self.cancel(context)
            return {'CANCELLED'}

        if event.type == 'TIMER':
            if self.count == 0:
                scene.frame_set(self.frame)
                self.frame += 1
                self.count = 1
            elif self.count < self.delay:
                self.count += 1
            else:
                self.count = 0
                print("rendering /tmp/%04d.png" % scene.frame_current)
                bpy.ops.screen.screenshot(filepath="/tmp/%04d.png" % scene.frame_current)
        return {'PASS_THROUGH'}

    def execute(self, context):
        scene = context.scene
        self.frame = scene.frame_current
        # for all in range
        #scene.frame_set(scene.frame_start)
        wm = context.window_manager
        # make the timer tick every second
        self._timer = wm.event_timer_add(1, context.window)
        wm.modal_handler_add(self)
        return {'RUNNING_MODAL'}

    def cancel(self, context):
        wm = context.window_manager
        wm.event_timer_remove(self._timer)

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

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

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.wm.modal_timer_operator()

Pretty much emulating bpy.ops.screen.screencast(...).


text:
Access material node drivers from python
I would like to store my whole node input driver set up of a material in a txt file and load it back any time. How can I access the driver data along with node name and input number?

Look in NodeTree.animation_data
Python console code.  Loop thru materials that use nodes and have animation data, if so loop the drivers collection.

In simple example below find the couple of simple drivers including a  driver on a value node with expression "frame" (the current frame)
The drivers datapath gives the node name and the index of the socket.
>>> for m in bpy.data.materials:
...     m.name
...     if m.use_nodes and m.node_tree.animation_data:
...         for d in m.node_tree.animation_data.drivers:
...             d.data_path, d.driver.expression
...
'Material'
('nodes["Value"].outputs[0].default_value', 'frame')
('nodes["Principled BSDF"].inputs[9].default_value', 'frame / 20')

>>>

Re socket index and name https://blender.stackexchange.com/a/160069/15543


text:
Blender 2.8 event_timer_add error
Trying to port an AddMIDI addone to B2.8 and started getting this error followed with blender crash
TypeError: WindowManager.event_timer_add(): required parameter "window" to be a keyword argument!
location: C:\Portable\blender\2.80\scripts\modules\bpy\ops.py:200
location: <unknown location>:-1
location: <unknown location>:-1
Error   : EXCEPTION_ACCESS_VIOLATION
Address : 0x00007FF79168062A
Module  : C:\Portable\blender\blender.exe`

Here is a minimal version replicating error. This script works well in B2.79. Not sure if I am doing something wrong or it is the B2.8 bug. API documentation doesn't seem to have this method changed for B2.8. Is there any way to get it working on the latest beta version?
import bpy
from bpy.utils import register_class, unregister_class
import time

class ModalTimer(bpy.types.Operator):
    bl_idname = "addmidi.modal_timer_operator"
    bl_label = "timer"

    _timer = None

    def modal(self, context, event):
        if event.type == 'TIMER':
            print('looping')
        return {'PASS_THROUGH'}

    def execute(self, context):
        context.window_manager.modal_handler_add(self)
        self._timer = context.window_manager.event_timer_add(1/100, context.window)
        return {'RUNNING_MODAL'}

class Paneladd(bpy.types.Panel):
    bl_label = "panel"
    bl_category = "category"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"

    def draw(self, context):
        layout = self.layout
        col = layout.column(align=True)
        row = col.row(align=True)
        row.operator("addmidi.start", text='start loop')

class Button(bpy.types.Operator):
    bl_idname = "addmidi.start"
    bl_label = "start"

    def execute(self, context):
        bpy.ops.addmidi.modal_timer_operator()
        return{'FINISHED'}

def register():
    bpy.utils.register_class(ModalTimer)
    bpy.utils.register_class(Paneladd)
    bpy.utils.register_class(Button)

def unregister():
    bpy.utils.unregister_class(ModalTimer)
    bpy.utils.unregister_class(Paneladd)
    bpy.utils.unregister_class(Button)

if __name__ == "__main__":
    register()

All optional arguments now require keywords in 2.80.
event_timer_add(1/100, context.window)

becomes
event_timer_add(1/100, window=context.window)

I was looking for this everywhere. Thanks for confirming and providing the link!


text:
Roll view by 90 degree angle
How do I rotate my view by a 90 degree angle?
Regardless of how I set up these hotkeys, they roll the view at different angles than what is specified.
These commands should rotate the view by 90 degrees in orthographic view, so the North rolls to the East or West orientation for each respective hotkey.

I think values are in radians.Try to enter "pi/2" instead of "90".

That doesn't work either, I'd like to single press the button, but I still have to press it 4 times. I suspect these being bugged, since none of the values affect the behaviour.

ok... use pi/2 and indicate "Roll angle" for roll angle source (not right or left)

This setting should do:

So "pi/2" or "-pi/2" for the roll. And "Roll angle" for the roll angle source.

That's it, thanks!


text:
Zoom In/Out with mousewheel in compositor
There are a few keymap entries for scrolling in the 2D view section. How do I override these specifically for the compositor to be able to zoom in/out with the mousewheel while leaving scrolling behavior alone in other panels?


text:
Move modifier up/ down and to first/ last with hotkeys
Is it possible to move a modifier up/down or to the first/ last position within the modifier stack?

If I hotkey the operators for "Move to First" and "Move to Last" from the dropdown, Blender requires a modifier name.

Also, is it possible to navigate to the previous/ next modifier in the stack using hotkeys?

Modifiers can be moved to the first place in the stack using: "object.modifier_move_to_index", with the Index set to 0.
The last place index is dependent on the number of modifiers and since the index cannot be -1, this cannot be used for moving to the last position.

Install the hotkeys in the Property Editor section without a modifier name:

Just drag here:
and drop where you want it to have:

you can right click here:

and then assign shortcut.

The shortcut for these operators only works if you specify the modifier name, so it does not work without. It only works if you use it from the dropdown, not with a shortcut.


text:
Select object by pattern (part of the name) and rename ".001", ".002" and ".003"
I want to rename 4 objects, one original and 3 duplicates.
The duplicates have ".001", ".002" and ".003" in their name. How do I rename:
".001" to "A"
".002" to "B"
".003" to "C"
and the original to "D" using Python?

This is a case where brute force works just fine.  Assuming your prefix was 'Suzanne', you could use this code:
import bpy

bpy.data.objects['Suzanne.001'].name = 'SuzanneA'
bpy.data.objects['Suzanne.002'].name = 'SuzanneB'
bpy.data.objects['Suzanne.003'].name = 'SuzanneC'
bpy.data.objects['Suzanne'].name = 'SuzanneD'

the key being that you select the object by its old name and use the .name field to change the name.
If you wanted to, say, use the active_object as the source of the name, rather than have it hard coded you could use
name = bpy.context.active_object.name
parts = name.split(sep = '.')
name = parts[0]
bpy.data.objects[name + '.001'].name = name + '.A'
bpy.data.objects[name + '.002'].name = name + '.B'
bpy.data.objects[name + '.003'].name = name + '.C'
bpy.data.objects[name].name = name + '.D'

You could be clever and generalize this in various ways, creating code that recognized 'SOMENAME.00n' and made the conversion of '00n' to the character 'n' represents; but that would be overkill for a one off.
Here's an example of more general code to solve the problem
def change_names(name):
    replace = 'ABCD'
    for object in bpy.data.objects:
        if object.name.startswith(name):
            parts = object.name.split(sep='.')
            if len(parts) == 1:
                object.name = name + replace[-1]
            elif len(parts) == 2:
                index = int(parts[1]) - 1
                object.name = name + replace[index]

change_names('Suzanne')

There are other ways to code the above, including the use of a dictionary to make the conversion more flexible and using lookup by name to avoid processing all objects; but as you can see, the code just gets more complex with each improvement.

The first solution is elegant enough for my needs. Can you also do a If object name =/= .001, .002 or .003, then rename to "SuzanneD"? The way I'll be using the script, I won't know the name, only the suffix, because I'll be batching a bunch of files with it.

The trick for that would be to notice that all of those numbers start with '.' and use the python construct if not '.' in object.name: object.name = 'SuzanneD'

So how would this line look in python? Sorry, I am completely new to this.
if object.name --does not contain-- ".", then object.name = 'SuzanneD'?

@Hologram I added an example of how to do this when you don't know the name.  Basically you get the name from the active object, so you do have to select an object, but then it just figures out what you need,.

Suppose your object name is "OBJ", "OBJ.001", ...
the solution should be:
import bpy

def rename_4_obj(name):
    objects = bpy.data.objects
    objects[name].name = name + "D"
    objects[name + ".001"].name = name + "A"
    objects[name + ".002"].name = name + "B"
    objects[name + ".003"].name = name + "C"

rename_4_obj("OBJ")

But if you don't know the object name, the solution should be:
import bpy

dic = {
    ".001": "A",
    ".002": "B",
    ".003": "C",
}

for oj in bpy.data.objects:
    if oj.name[-4 :] in dic:
        oj.name = oj.name[: -4] + dic[oj.name[-4 :]]
    else:
        oj.name = oj.name + "D"

here is the reference of string: https://docs.python.org/3/library/string.html

that will rename every object.  The op wanted only those with a specific name prefix.  You need something like if obj.name.startswith("Suzanne"): before your if statment

Hi, thanks for the post. This site is not a regular forum, answers should be substantial, stand on their own, and thoroughly explain the solution and procedure. One liners and short tips and code only answers rarely make for a good answer. If you can [edit] your post and provide some more details about the workflow and how it works, feel free to restore it, otherwise it may be converted to a comment.

I ran this code, but it adds the "D" string to the objects with .001, .002 and .003 in their name.

@X Y
So there is something going wrong with the line:
else: obj.name = obj.name + "_Winter"


text:
Batch rename Mesh and Material data to object name with specific prefix and suffix
I am batch processing asset files of which the scene contains just 4 objects.
Each of these objects and its associated data currently have a generic name.

The mesh should be named "VEG_" + [Object name]

Note: the mesh data is linked across the object
For the object name, I want to:

Apply a prefix "VEG_"
Apply a suffix for each of the seasons "_Spring", "_Summer", "_Winter", "_Autumn", so one for each object

The material name needs to correspond to the object's initial name and receive prefixes.

Apply the prefix "VEG_[Object name]"
Apply the suffix "_Spring", "_Summer", "_Winter", "_Autumn"

Can I rename the objects through python?
See an example below of the current naming scheme and the desired scheme.

How computer know which object use "_Spring", which one use "_Summer" ?

The first object is [object name], which could be "_Spring". The second is [object name].001, which would use "_Summer", the third is [object name].002, etc.

# suppose only 4 objects
import bpy

# generator
gen = (s for s in ["_Spring", "_Summer", "_Winter", "_Autumn"])

bpy.data.objects[0].name = bpy.data.objects[0].name + ".000"

for i, oj in enumerate(bpy.data.objects):
    s = next(gen)
    name = oj.name[: -4]
    oj.name = f"VEG_{name}{s}"
    oj.data.name = oj.name
    if oj.material_slots[0].material:
        mat_name = oj.material_slots[0].material.name
        oj.material_slots[0].material.name = f"VEG_{name}_{mat_name}{s}"
    if oj.material_slots[1].material:
        mat_name = oj.material_slots[1].material.name
        oj.material_slots[1].material.name = f"VEG_{name}.{mat_name}{s}"

reference of f-strings:
https://www.geeksforgeeks.org/formatted-string-literals-f-strings-python/
reference of generator:
https://python-course.eu/advanced-python/generators-iterators.php

Thanks, I will try this out tomorrow. Do you happen to know what I could do to not hardcode "_leaf" and "_trunk"? Some materials have additional slots and therefore different names. Can I process them in a similar way, by adding the suffix to the existing object name, which is treated as a variable in itself?

I update a new one which will follow your material name.


text:
My mesh that is weight painted to a specific bone is moving weirdly when another bone is moved when
I have a mechanical part that I have applied weight paint to be completely red so that it will stay put in it's parented bone but as soon as I move the arm of the character this specific mechanical part that sits on the upper lip and a plate on the chest starts to deform in a wierd way.the mechanical part on the upper lip is weight painted to be a part of the head bone and the chest piece paint is applied to be a part of the torso bone. Both of these deform creating spike like deformations on them when the hand IK is moved

Probably other bones also have some unwanted weight on them. The Weight Paint is handling the vertex groups what you can find in the mesh properties panel. If you want paint fully something you better use the vertex groups instead of the Weight Paint mode. There you can easily assign and remove "weights" in Edit mode. https://docs.blender.org/manual/en/latest/modeling/meshes/properties/vertex_groups/introduction.html

Select the mesh, and in the Vertex Groups panel click on Remove from All Groups, then reassign to the desired group


text:
Blender Rendering causes image to change
 This is my animation tab and 3d viewport. When I try to render the image this happens:  Why do rocks move? What did i do wrong?
I tried to replace the camera and rearrange rocks, but the issue still persists

We'd need to see your Blend file to answer definitely, but are you sure you don't have two sets of rocks in your scene with one enabled in the viewport and one for the render?

For the ones that need the final solution:
I had a layer that contained rocks that I did not use, but still left them on
Make sure you do so as well!


text:
What is causing these sharp protrusions when beveling?
I am trying to bevel a face and keep getting these sharp points, which seem like floating vertices or something. I have tried dissolving extra vertices and faces that might be overlapping, but no avail. Everything else seems to be working fine, it's just these 2 weird points.

I haven't seen such thing, but try to check if there are not doubles (Merge by Distance) before beveling ... if does it make some difference ...

Inverted normals, I think

@lemon Normals look differently https://imgur.com/VsrqBQ5, but hard to say ... probably both cases results in that :) The line looks thicker in that place.

@vklidu, yes. But who knows here.

@vklidu, outer bevel ; ) https://i.sstatic.net/JOUSJ.gif

@lemon What a cool thing :) +1


text:
How do I use the Curve Profile > Helix (3D)
I'm trying to use a Curve which is under the submenu Curve Profiles > Helix (3D). Is anyone familiar with how to use this? I can't find much about it.
I am trying to create a spiralling helix curve of climbing leaves, as you can see in this picture:

In my setup there is a base set of 8 leaves on the lower right. These are joined to make one base object. This object has an array modifier that uses Object Offset with an Empty to control the rotation of each iteration of the Array. As you can see there is also a curve modifier using the Helix object to create the helixical path of the array iterations.
With the Helix(3D) curve profile, I can't see a way to tell it to make more than one twist of the Helix. Only Height and Width dimensions.

How can I increase the twists in the Helix to 2 or 3 such that the leaf array will keep following the curve. When it reaches the top it stops following the curve and reiterates in a straight line, like this:

The iterations stop curving at the end of the Helix curve. I have tried adding an Array modifer to the curve as well, but the next iterations don't join up. If I convert the curve to a mesh I cannot use the Curve Modifier with it, nor can I merge the two end vertices. This would also result in an imperfect helix most likely.
How do I generate more twists in the Helix(3d) Curve profile?
Or any other methods you might use to achieve the same result?
Thank you!

I can achieve a similar affect using Curve Spirals > Archimedian, when I create the curve. But the Helix has a nicer spiral, though quite similar. I can't quite tell the difference, or why the Helix curve profile only allows one turn, or how to reiterate that helix after creation...

It is indeed a bit strange that one can't enter a number of twists or revolutions in the Curve Profiles menu. There are workarounds:
Method 1:
Simply duplicate the curve in Edit Mode, move it along the z axis (where the distance is the height of the curve) and delete the bottom vertex of the top curve. Then select the vertices you want to bridge and press F.

Method 2:
Turn your curve into a mesh (Alt + C by default, and choose Mesh from Curve/Meta/Surf/Text) so you can more easily make certain changes. Apply a Array modifier (with the Merge box checked) for instance.

Then after the changes are made to the mesh, turn the object back into a curve. (Alt + C again, and choose Curve from Mesh/Text)

But it might be a different kind of curve now. We can fix that by setting the spline type.
You can do this by pressing the search hotkey (usually F3 or Spacebar) and search for the command "Set Spline Type", and choose for instance Bezier.

Lastly you could select all vertices and change the Handle Type, for instance to Aligned. Now you can have the same kind of curve you started out with, only (most probably) with more vertices than before.

If the curve is a Bezier and you want to reduce the number of vertices in the curve, you can do Decimate Curve and enter a value between 0 and 1.

Great answer, thank you, super helpful.

@Aubrey then accept it.


text:
How to achieve this shading/lighting
Can anyone help me to achieve similar color and lighting scheme as in the model below? So far, I've tried texture coordinate and color ramp nodes, couldn't get the desired result.

Could you share your blend file? Really helps to have a base starting point


text:
Zooming Out and large scale mesh
When I zoom out the display goes completely gray, and I lose sight of my mesh and the grid floor. Is there a way to fix this? This also occurs when I scale my mesh incredibly large; eventually it gets "lost" in the gray background.

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

Sounds like you're having trouble with viewport clipping, which by default is from 0.01 meters to 1000 meters.  Go to the Sidebar (upper right of the 3D viewport, sometimes called “the N Panel”) > View tab > Clip Start and End settings.

A similar issue can happen with rendering if the camera's clip start and end (0.1 meters to 100 meters by default) are insufficient to the scene.


text:
How to instantiate objects on individual/selected points in geometry nodes?
Let's say I have a simple Mesh Line and use the Instance on Points node to make an instance of a given object on every point of the line. How can I decide for each individual point if it should have an Instance. I know the Instance on Points node has a selection input and I could use the Index input with some math/compare. But that way I would have to add/remove nodes if I would change the point count of the line. What I would like to have is a kind of "boolean list input", i.e. (0,0,1,0,1,1,0) or something similar so that I could specify for each whether there should be an instance or not. Is that possible with geometry nodes?
And how can I access/modify the selection input field of the Instance on Points node with python?

The simplest approach would be to generate the line by some other means, possibly by had, and only have vertices where you want instances.  They don't have to be equally spaced.

Maybe I'm missing something, but if you "would change the point count of the line", this wouldn't affect the vertex order, and so it wouldn't affect the indices on the line? Seems irrelevant to the problem, then. As for specifying some arbitrary input, you could use a string, except in Blender 3.0 you can't use Index to control String Slice, as the parameters are supposed to be constant:

However, you can use an integer input:

Homework
Since an integer $005$ is the same as integer $5$, in order to see leading zeroes, you need to start each number with $1$ and ignore first index.
Since it's not chad Python integer without length limit, but instead virgin C++ signed integer with range $-2147483648..2147483647$, You can only get get 10 digits, however, due to a conversion to float it gets worse: Blender uses float32, which after reaching $2^{24} = 16777216$ drops its precision and rounds to increments of $2$:
>>> import numpy as np
>>> np.float32(111111111)
111111110.0

Since $100000000 > 16777216$, the last digit can no longer be odd like $1$, therefore the maximum number of digits is $8$, and due to necessity of adding $1$ in front, only $7$ digits will carry data. This just can't be. Solve this by changing the base to $2$, you can use something like Windows calculator in programmer's mode, or type in Python console 0b in front of the binary number, to see what's the base 10 integer for it, or use a custom string property and a driver like this:

Homework done by Gorgious
It sounds condescending so let me clarify he figured it out independently and had a smarter approach of just comparing powers (kind of like comparing password hashes) rather than reversing the powers (logarithm). His setup works for any base so I modified it for base 2:

Now you can use a driver like so:
int("111011011001"[::-1],base=2)

>>> bin(16777216)
'0b1000000000000000000000000'

There's 24 zeroes, which means you can store up to 24 booleans this way.
Using another geometry
You could simply create a plane, remove an edge (with verts), subdivide the other edge (you could subdivide it more than needed), enable MeasureIt addon and show the debug overlay with vertex indices, Mesh > Sort Elements > View X Axis, select vertices, zoom in at the beginning and just select the vertices you want to enable and raise them up from Z=0 to anything else:

Use increment snapping to easily return vertices to 0. Use a Python script to import data from external source by assigning coordinates to vertices.
Parsing a string
Just found a way to parse a comma/space separated list and wrote an answer here:
Geometry Nodes - Extrude edge by ID

Oh and you can pass data in different ways too, like by using some geometry for example...

Thank you for your response. Changing the base to 2 would increase the possible positions to 32 since it is a 32-bit integer. Unfortunately, I'll also have cases where that's not enough. But at least a good starting point. It's a shame the Slice String node doesn't take the index as input.

@KevinR what about controlling with a mesh? You can have an edge, subdivide it to get as many vertices as many instance-offsets you want to have, and on each point you want to spawn an instance, just change the vertex Z to 1. Now you can use the vertex Z coordinate to control if an instance should spawn...

Hmm, in that case I would need the same selection to control the Z coordinate of the specified verticies procedurally, or am I missing something?

@KevinR see edit.

In Blender 3.0 to randomize the instance on any points you can use Random Value node with Boolean type input to Transfer Attribute node, and target should be the one points generating geometry. Output of Transfer Attribute node attach it to Selection in Instance on Points node.
Now have fun by changing Probability value and Seed value

I don't think the OP is interested in randomization. He clearly states he wants to decide which points of a mesh line to display, based on some "bulk" input.


text:
how to unhide my vertices?
 I'm following Guru's donut tutorial to make a donut. In part 4, Guru said he had clicked the left button and press G to unreal vertices. But the mesh will just move if I do that. Any ways can I apply to reveal them on the surface?

@HrishavSaha Alt+G resets the location in Object Mode and I think it does nothing in Edit Mode as far as I know. What Blender Guru presses is Alt+Z, this enables the x-ray in both Object Mode and Edit Mode. Some people pronounce Z as zed, some as zee.

God, Im so sorry. I meant Alt+Z. Im an idiot


text:
object in Single vert doesn't have vertex in edit mode
When I added single vert like in this video https://www.youtube.com/watch?v=OuDT9N3ka0A&t=147s
, but my object didn't have any vertex like he had in the video in min 1:47

You need to enable X-Ray mode to see the vertex in edit mode. It's is inside the skin mesh. Look at the blue buttons in the top right corner of the interface

I tried it, it's still the same.

are you in vertex selection mode when you go to Edit Mode?

@aliasguru No the problem is with the single vertex. when i add single vertex the object doesn't have any vertex except 2.

Maybe your vertex is too small to see.Pls go to Preferences-Themes-3D Viewport to change the size of vertex.

i also tried that and there's only two vertex in the object


text:
Mass removal of materials with active F option
In my projects I have plenty of materials with active F option (bpy.data.materials["name"].use_fake_user). Manually removing them one by one is horrible. What is the quick way?

You can remove fake user in Outliner in Orphan Data mode:

For complite remove materials if they haven't users, press Purge All button


text:
Read shader node data from *.blender file by using external python
I have *.blend file and would like to read materials data from it by using standalone Python 2.7. I am using Blender File module from here. It allows to read data from blender files. But I can't find a way to read all parameters of each shader node in the node tree.
For example, I have a very simple material with one GlossyBSDF node connected to the Surface port of the Material Output. This node contains four parameters: Distribution, Color, Roughness and Normal. When I enumerate inputs of this node, I obtain only three parameters (without Distribution). So, the first question: how to get access to all parameters of the node?
Also I can't get values of the node parameters. There is a property default_value for each socket object, but I can't understand how to use it. So, the second question: how it is properly to get access to parameters values?


text:
Why does my procedural texture look different after cell fracture?
I've got a character out of MakeHuman that I want to break apart like a statue. I've applied a procedural stone texture to the character.

I applied the armature modifier, then separated the hand (the part I want to break apart) into a new object.

With the hand object selected, I broke it apart with the cell fracture addon. After the fracture, the new pieces aren't textured the same as the rest of the arm, or the original hand. What am I missing?

When you use procedural textures the texture coordinates are based on the object's position, rotation and size. When you shatter the object it will turn into many objects with different position. It can be solved by using the Texture Coordinate node's Object output using a common object as reference. This will however not solve the problem once you move the parts away. The texture will "slide".
You will need to create UV coordinates and bake down your procedural texture to an image and have this applied as a new material.

After a good night's sleep, I woke up with a pretty simple solution to my problem. Instead of UV unwrapping the hand, or even worse, hundreds of individual objects from the fracture, I just duplicated my procedural material and adjusted the scaling of various nodes to roughly match the scaling of the original material. No UV unwraps. No baking. No texture sliding. Still procedural. Problem solved.


text:
Blender 3.0: Warning colors on faces of object on extrude

In Blender 3.0, warning colors on faces appear as you extrude planes. Also occurs when moving planes. I've never seen this in other versions and can't find documentation on this enhancement. Please clarify.

It looks to me like you have enabled the Mesh Analysis overlay.

Simply disable the overlay in the viewport header to view the object as normal.


text:
Can't see any fluid mesh in any view after i bake it in blender 3.0.0
I can't find any fluid mesh after I bake it in blender 3.0.0. I bake the fluid simulation and the mesh separately. I'm sure the mesh was baked because the processing bar showed up. and the mesh parameters are grey, Free Mesh bottom was enabled.  But still, I couldn't see the mesh in any view. I'm using blender 3.0.0 in M1 chip iMac.  Does anyone have a similar issue?

It turns out that fluid mesh baking is not creating a new object in the scene, but basically turning the domain object into the scene. As I previously set my domain cube viewport visibility into bounds rather than the default solid mode. the mesh that has been generated from the domain object was displayed as bounds as well.


text:
How to export Blender spreadsheet data into .csv file without applying GN?

I created this geometry in Blender GN, and I need to export the 3d coordinates of a list of points(These points are not on the input geometry), the data is already shown in the "Blender spreadsheet--Evaluated--point cloud-point-position" section. How can I export them as .csv or even text?

Does https://blender.stackexchange.com/questions/274936/is-it-possible-to-export-instances-data-from-spreadsheet-viewer help?

Hi, I‘ve tried the solution before, It gives me a list with one Vector(0,0,0). It's understandable because I didn't have more instances in my scene. I'm sure there is a way just similar to that solution. I've tried but no luck. the patch https://developer.blender.org/D12546, could perfectly solve my problem, but it hasn't been created/realised as I know.

It's a bit of a workaround, as I don't believe this data is exposed to the python API yet. However it does get you the coordinates of your points in a csv file.
The one thing you'll need to add is a 'points to vertices' node, as python doesn't have access to 'points', but DOES have access to vertices.
After adding this node, you can use the following script to create a csv file with the coordinates of each vertex of the selected object. This doesn't really fix your problem if you wanted needed to keep your points as points, or if you wanted to exclude certain vertices (you may be able to do that with a stored attribute). Hope this helps!

import bpy
import csv
import os

m = bpy.context.object.evaluated_get(bpy.context.evaluated_depsgraph_get()).to_mesh()

# Get the path to the current Blender file
blend_file_path = bpy.data.filepath

# Get the directory of the Blender file
blend_dir = os.path.dirname(blend_file_path)

# Construct the absolute path to the "data.csv" file
data_file_path = os.path.join(blend_dir, "data.csv")

def append_to_csv(filepath, x, y, z):
    # Check if the file exists
    file_exists = os.path.isfile(filepath)

    # Open the file in append mode
    with open(filepath, 'a', newline='') as file:
        writer = csv.writer(file)

        # If the file doesn't exist, write the header
        if not file_exists:
            writer.writerow(['x', 'y', 'z'])

        # Write the values to the file
        writer.writerow([x, y, z])

for i in range(0, len(m.vertices)):
    v = m.vertices[i].co
    append_to_csv(data_file_path,v[0],v[1],v[2])

Thank you! This is just what I need!


text:
Zero Normal with GeoNode "Distribute Points on Faces"
I have distributed points to the surface of a sphere and instanced another sphere on to those points.

I would like to move the small spheres along the surface of the first sphere. I was planning on taking the cross product of some movement vector with the normal vector from the "Distribute points on faces" node and using that to translate each instance. However it appears that my normal vector contains only (0,0,0). When I output the normal vector to position to check it's value the sphere is on the origin.

What is it that I'm doing wrong? As I understand it the "normal" output should contain the normal vector for each point distributed on the original sphere. Am I misunderstanding the normal output from this node? Thanks for the help.

you can see the values like this: [1]: https://i.sstatic.net/Qr3Hn.jpg and then here: [1]: https://i.sstatic.net/xcv70.png

Thanks! I'm pretty new to Blender and didn't even know about this. That's helpful.

Glad I could help. You are welcome!

you can do it with this node setup (it's not perfect yet, maybe you should stop all 3 axis from unfortunately getting 0)

Spheres are so convenient :D

I am so totally sorry man….

Thanks so much for the answer! This is really helpful. I'll have to play around with it some more but I think this will help me get where I want to go.

You are welcome!!


text:
What issues causes separating a mesh and putting its part back together in terms of UVmaps, Textures and similar?
Soo, I explain mzself with a practical example.
I am about to finish a project based on a Mill. After the modelling phase I thought the best thing to do before UV unwrapping was to separate the Mesh in its different parts (so for examples the arms of the Mill, the central wheel, the rings on the side, the screws and so on). I then UVunwrapped the different parts singularly (some of them required the use of seams, some were good to go with the smart project function) and then exported my Blender file as an .fbx, with all its UVmaps, to Substance Painter for the texturing phase. (This part can be totally wrong in terminology. I am not sure if in this process the UVmaps are actually exported or which role they are playing whatsoever).
Everything fine in Substance Painter, even though I had many different objects since they were separated not only in the model but also with different materials.
When I finished the texture phase in Substance Painter I imported everything back to Blender where I decided to put all of the pieces of the mill back together in order to do an animation.
After doing so, even though the object looks as I want, I have noticed that the UV maps of the separate objects are now all together (overlapping like crazy) and it seems to me that, even though it causes no apparent problem, that is not the good way to go. Plus, after this separating-putting-back-again the parts the model is not so clean. I feel as if I am totally missing comprehension on what is the meaning of UVmaps and materials, how they interact with one another (specifically in the case of future editing of the model) and above all what is the best workflow to model something in Blender, moving it to Substance Painter after having unwrapped it and going back to Blender without any issue and with the most efficiency.
I couldn’t find much resources about this on the internet, I am very open for your suggestions, opinions and hints on what is a good workflow or which resources should I read to understand such things.
If the question is not too clear I can reformulate it, in such case please just ask.
Thanks in advance

You're quite close to the correct workflow:
UV maps are a flat projection of the 3D mesh, where every face gets mapped into a 1 x 1 square (or rectangle), meaning that every UV vertex gets a value X (U) between 0 and 1 and a value Y (V) between 0 and 1.
UV maps travel with vertices, they are simply 2 numbers (U and V) that define a location into a square, every vertex gets a UV coordinate, when exporting this coordinate gets exported too.
Every material rely on a UV map to correctly place textures: as soon as materials are different they don't get problems from overlapping UVs.
Every mesh can have multiple UVs, in the shader editor you can add a UV map node to choose which UV map will use the material (without an UV node the first UV map in the list gets used by default).
So, after joining the mesh you can add a new UV map using the + button (it will be a copy of the overlapping UV) then in a UV editor you can select all UV islands one by one and move and scale them so that no overlap occours (give more UV space where more details are needed, give less UV space where there are flat colors and less details).
Then create a new material, assign to it the new UV map and bake all textures one by one.
Then you can delete all others materials and UV maps and use the new ones for the whole model, with a single non overlapping UV map and a single set of textures.
Last professional touch can be store greyscale textures into a single channel of an image (i.e. Roughness into Red channel, Metalness into Green, AO into blue).
This workflow is a good habit, it becomes essential if you will export your model to others softwares, expecially game engines. If you remain in Blender - Substance Painter don't worry about overlapping UVs, they're fine as soon as materials are different.

Thanks for the answer. I was still missing the part of "Every material rely on a UV map to correctly place textures: as soon as materials are different they don't get problems from overlapping UVs". But what I still don't understand is what, how can one pack all the different parts of an object into the same UVmap in order to have only one instead of many? Maybe by grouping the different objects? What I think would be the best is to have an object with its many parts but with only one UVmap (or two maximum) but to unwrap the single parts separetely in order to choose the best way in each case.

The procedure I describe "after joining the mesh ...." is exactly how to obtain a single material with a single UV Map and a single set of textures for any complex object.


text:
When I import an OBJ it won't show up, does anybody know how to fix it?
When I try to import wavefront .obj, it won't show up. It appears in the explorer, but I can't see it when I try to edit. Does anybody know how to solve this?

For me at times, .obj files have imported super huge or super small. It might still be there but out of view. Try selecting it in outliner window in upper right and then in the 3D window hit . on your numpad or choose View > Selection in Object Mode.


text:
Should doubles always be removed
Should doubles always be removed from the whole mesh or are there any situations where they shouldn't?

In many cases, doubles are useful
Let's say you want to use a Subdivision Surface modifier to get a shape like the one on the top :

One of the way to do that is to split the mesh into two pieces, like shown on the bottom, but keep them on the same position like shown on the top. (please note that it's not a really good way to do that ; you should use a Edge Split modifier or Crease edges)
A similar case but with a Bevel modifier :

More generaly, you can have two pieces which are touching, or even glued together, but are not the same physical object ; and you want to keep them separated for various reasons.


text:
Keep a set of objects from casting shadows while having a shadow
I am making an animation in Blender 2.82 that shows the Earth and the Moon orbiting around the Sun. For clarity, I want to avoid the Earth and the Moon to cast shadows on each other because I made them move in the same plane. I use the Cycles rendering engine.
In a previous version, the Earth and the Moon were single spheres. In the “Visibility” section of the “Object” panel, unchecking the “Shadow” box did the job.

However, I wanted something more realistic and followed the Blender Guru tutorial on how to make a realistic Earth so now the Earth is 3 concentric sphere and everything I tried did not give the right result. (Note that I did not follow the tutorial for the atmosphere: mine has a volume scatter shader only.) The Moon is still a single sphere so the problem is with the Earth only.
What I would like is a way to tell Blender that the 3 Earth spheres can have shadows casted on them, cast shadows on themselves, but not on other objects.

This is what I have now, physically correct but the moon is not visible due to she shadow (it’s located on the missing arc of the blue circle):

My first try was unchecking the “Shadow” box just for the surface. The moon is then visible but the night side of the Earth becomes reddish and it’s not realistic at all. With the box unchecked for the surface, the clouds and the atmosphere, the Earth is invisible except a few reflections, but the moon looks as wanted:

Then, with every boxes for the Earth checked, I tried to prevent the light source to cast shadows. The Moon looks great and the Earth is quite good but its shadow is way too light:

This last try would be perfect if the shadow on the night side was darker.

I’m answering my own question. The solution was found while working on the compositing phase.
It is possible to do this using view layers and compositing. It is necessary to create an masking object, in this case a sphere centered on the Earth and with the same size as the atmosphere, with all needed relations to follow it during animation. Then, in the “Object” panel, the “Visibility” section is set like this:

The “Holdout” makes the masking sphere appear like the background (in this case transparent, as usual with view layers). In unchecked every other boxes except “Camera” to avoid interference with lighting.


text:
Blender 2.82a Cant select through bones
In edit mode, with the bones set to wireframe view, I'm simply trying to select one bone, and then shift select another bone, in order to parent one to the other.
The issue, is that the target bone is inside/behind another. and I cant seem to select through it? Each time I go to shift select in inner bone, it selects the larger outer bone.
I believe this should be possible in wireframe mode by selecting the bone outline? But it doesn't seem to be the case?
I can work around it using the outlier, but the issue of selecting bones inside/behind other bones is something I'm looking to solve.

A bone inside like that is more difficult to select but you can do it two other ways that I know of:

Double click on it. Be fast! Mouse cursor right on it, and it works.
Select larger bone, Shift+G "Direction", "child" ect and it may also help in certain situations, especially when dealing with multiple parent bones and children.

Hey. Thanks for those tricks.
Though, if i shift double click the bone, it adds both the outer and inner bone to my selection, leaving the smaller bone as the active object. This would then lead to both the top and outer bone being parented to the inner bone. Instead of  just the top bone.
I'm new to rigging in blender, but I've been rigging in general for a while. It's is a common technique to have bones laid out like this.
This was definitely possible in other versions of blender. Can see here:
link

I've just noticed this only seems to affect orthographic view / edit mode. Can select the inner bone through the larger bone ok in perspective view in pose mode... Perhaps a bug?

Good question. Man I see from the gif it looks so easy and nearly effortless to select the bone inside. It also appears that they were in wire frame view ("Z" key. Shading>Wireframe). Goes and tries in 2.82a Yup. It's easier in wire frame mode! How do you like it?

I had the same problem as you and I've just found a way to make it work.
On the Blender Preferences, under the Viewport tab you'll find a selection dropdown. If you uncheck the OpenGL Depth Picking option it should work as you expected.

I´m having the same problem. What I´m doing as a workaround is first to select the inner bone with double click, then Shift +  LMB  and drag anywhere in the outer bone. This way the outer bone will be selected and the inner bone will still be the active selection.

What seems to be repeatedly working for me in 3.2 is to select the inner bone at this exact location. (The orange marking, not the yellow.)


text:
Texturing deformation through a sequence of meshes
I have several (externally generated) two-mesh sequences representing undeformed/deformed objects.  I would like to visualize these deformations using texture mappings on the meshes.
In particular, I would like to place a texture on the undeformed object, and have it deform along with the mapping to the deformed object.  The mesh connectivity between undeformed/deformed is the same.
Is there an established method for doing this in Blender?  I have heard that this can be done using "shape keys", although I do not know what this means.  I am very new to Blender and graphics software in general, so basic advice is appreciated.

I solved the problem.  I did not use shape keys at all.
This can be done by copying the UV-mapping from the source mesh onto the target mesh (c.f. https://docs.blender.org/manual/en/2.79/editors/uv_image/uv/layout_management.html).
Since both objects have the same topology, this is straightforward.


text:
Motion tracking error
I keep getting cant reconstruct error every time I solve, it keeps jumping from different scenes with that error.
When I first done a motion tracking before it was on the the clear, now its not.
I have read about better shots and clearer and such, though the clips i can't redone do to the time I made it. These scenes are in the woods also.
How to fix it?

What does the console say?

Sorry just saw your question now. It was say "some data failed to reconstruct"

I saw the condole, the errors that was there had like track 1 error couldnt reconstruct no frame I took picture before but I couldnt upload was to big for the forum.

Try getting rid of the one track

I tried getting all the tracks that gave the error and that couldnt reconstruct.

Do you have 8 tracks on the keyframes?

Thanks for trying to help, I gave up on it. Went a different route. Dont something more simple and thinking now on my next thing to do other wise the fun will die for me.


text:
Why does my render smudge?

Hey everyone, new to blender. Learning the best I can.
Just practising some sun light with cycles render. My renders are coming out smudgy, all detail lost.
All of the render settings are normal, render sampling is at 500. No ambient occlusion or HDRI image.
Am using denoise in the compositing, have tried to research this answer. I boosted my sampling and still smudgy. My textures have a diffuse, roughness and normal map.
If more info is required then I will do my best to give that info.
Thank you for reading this ^^

Usually smudge is due to the denoiser. Bringing your samples closer to 1000 might be necessary for a fully detailed image. Your image doesn't seem to be suffering from denoising, though. However, if you want better details, you may consider boosting the number of image pixels as well (Output Properties, Resolution X, Resolution Y). Another thing you can check is camera focus. There's nothing prominently wrong with your image, so it's difficult to understand what's wrong. What area is the smudge in?

Hey :). As @Denis pointed out, these smudges are definitely Denoiser artifacts. What kind of denoiser are you using?

In the compositor panel there is a denoise node, which can be plug in between the render layers and composite.   https://i.imgur.com/aeULAfh.jpg

@AndrewHam Hey :). In that case, your best bet is to increase the sample count. Indoor scenes often require 1000+ samples even with denoiser, 2000+ isn't unusual.

Okay, thank you ever so much for your help. It has worked with more samples. Feel like a dumb ass :D the answers were much grateful, so thanks.

@AndrewHam No problem, we've all been there :). Good luck with your project.


text:
IK not moving correctly
I'm having an issue with IK, despite it always working fine previously. I've set up an IK on the lower leg bone as shown below. The IK target is the bone opposite the foot, and the IK pole target is the floating bone. The chain length is 2 and the pole rotation is 90 so that the leg faces forward. WHen I try and move the bone with G, all I get is the rotation as see in the gif below. The pole target and IK target are both set to not deform. Does anyone know what might be going wrong?

SHikha Mittal is right, you don't move the right bone, if it still doesn't fix your problem, please share your file: https://blend-exchange.giantcowfilms.com/

You are moving the wrong bone , the Target is the bone that is used to move the IK , Thats why it is called Controller bone


text:
Bake Textures after adding nodes
World,
i am fairly new to Blender, so please treat me as a noob.
I have the following scenario: I exported a Model from Google Maps, duplicated the model, created a UV Map of the new model, decimated the vertices, created one single material and backed the original texture on the duplicated model:

Afterwards, I added the Color correction nodes shown above.

My Problem is the following: how do I re-bake this new version of texture onto the model?
Or better: how do I extract the texture.png with the color corrected textures?
Is there a way or should I correct the color before I bake the original texture?
I would be happy about any help!

I don't get the point: if you've successfully baked once, why can't you bake again? Anyway to do it, just create a new image texture, save it put it as unconnected node in the shader and select this node. Now go to the bake panel.

This was my first idea. But when i try to bake, i get the message "No valid selected objects" link

'selected to active' is still checked

Sadly, the result does not change link

well, is the object to bake selected?

Ok, I see my mistake. It seems to be working right now! Thank you kindly sir.


text:
all my collada files import without textures

I downloaded characters from miximo but when I import them into blender they all seem to be dark without textures .and some nodes appear to be disconnected please help

Look at the Alpha socket on the Principled node. Is it 0? If you connect the Texture node's Alpha to it, do the textures work?

Thank you it worked