text:
How to reset motion with a button click in UPBGE?
I am working on a game where you can zoom in and out with the camera (which is linked to a character controller) using the mouse wheel. Would it be possible to reset the camera to the starting position by clicking the middle mouse button (i.e. undo the motion)? This is to make it more convenient when players zoom too far in or out.
thanks!

This is about UpBGE, not Blender

Apparently you solved the issue on a duplicate thread: https://blenderartists.org/t/how-to-reset-motion-with-a-button-click-in-upbge/1321897


text:
Generate 3d mesh from 2d sprite?
I would like to know if it's possible to automatically generate a mesh based on a texture. Let's say I have a sprite like this:

And I would like to turn it into something like this:

Doesn't need to be exactly like this example, I'm fine if the mesh has flat colors and a flat surface with no additional details.
Is there a way to create a mesh like this from a sprite, preferably in a non-destructive way? The way I imagined it possibly working is by using a flat plane as the mesh, applying the sprite as a texture and using some sort of modifier to add depth to the plane based on the texture. Is there a modifier of some sort that would allow me to do that?
Bonus: if you know how to add detail to the generated mesh like in the example above, please post it too! I don't personally need it, but I imagine other people might find use for it.

You can use Python to do that. Execute this script :
How to run a script in Blender
import bpy

def threedify(image_name, mask_color):
    img = bpy.data.images.get(image_name)

    if not img:
        print(f"No image named {image_name} in memory")
        return

    # Get or create mesh
    mesh = bpy.data.meshes.get(image_name)

    if not mesh:
        mesh = bpy.data.meshes.new(image_name)

    mesh.clear_geometry()

    # Get or create object
    obj = bpy.data.objects.get(image_name)

    if not obj:
        obj = bpy.data.objects.new(image_name, object_data=mesh)
        bpy.context.scene.collection.objects.link(obj)

    # Fill verts, faces and colors
    verts = []
    faces = []
    colors = []

    img_width = img.size[0]
    for i, col in enumerate(zip(*[iter(img.pixels)]*4)):
        if col == mask_color:
            continue
        x, y = i % img_width, i // img_width
        verts.extend(((x - 0.5, y - 0.5, 0), (x + 0.5, y - 0.5, 0), (x + 0.5, y + 0.5, 0), (x - 0.5, y + 0.5, 0)))
        verts_amount = len(verts)
        colors.extend((col,)*4)

        faces.append((verts_amount - 4, verts_amount - 3, verts_amount - 2, verts_amount - 1))

    mesh.from_pydata(verts, (), faces)

    # Add modifiers
    obj.modifiers.clear()
    solid = obj.modifiers.new(type='SOLIDIFY', name="solid")
    solid.thickness = 0.5
    bvl = obj.modifiers.new(type='BEVEL', name="bvl")

    # Set vertex colors
    mode = bpy.context.active_object.mode

    if not obj.data.vertex_colors:
       obj.data.vertex_colors.new(name="vcols")
    vcols = obj.data.vertex_colors.get("vcols")
    if vcols is None:
        vcols = obj.data.vertex_colors.new(name="vcols")
    for i, vcol in enumerate(vcols.data):
        vcol.color = colors[i]

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

if __name__ == "__main__":
    threedify("arrow.png", mask_color=(1, 0, 1, 1))

In a nutshell, this scripts iterates over all the pixels of an image which needs to be loaded in memory (case-sensitive), then recreates a mesh with 1 square face = 1 pixel from this image. The important thing is that the base image must have an exact mask color. I used this one made rapidly in paint with a mask key of (Red = 1, Green = 0, Blue = 1, Alpha = 1):

Result (Make sure to enable Vertex color mode) :

With your example - Make sure to replace the last line with
threedify("cbNd2.png", mask_color=(0, 0, 0, 0))

The result is not the same as in your question because your image is actually 72*96 pixels.

Warning : This will likely crash blender or hang your PC for non-pixel-art images.
You can then tweak the modifiers to fine tune the effect.

If you want to actually see it in material preview or rendered view, here is a minimal working example of a shader tree :

Add some lighting, and voilà :

I can't get this to work. I never used scripts before, so I'm a little confused. I created a .py file with your code, and in the same folder, I have the image saved as "pixel.png", which I assume means I don't have to change your code, if the script starts from its own folder location to look for the file. I don't get any errors when I execute script, but I don't see the result, even when I switch to the vertex mode, and I don't see a new object in the scene.

@SynnKo There is a link in the second line of the answer explaining how to run the script, it points to https://stackoverflow.com/questions/11604548/running-python-script-in-blender/11604587#11604587

@SynnKo you don't have to do anything outside of Blender, just open a text editor and paste the code into it. Then open an image editor or a UV texture editor, click on open in the top-middle of the editor and select your picture. Its name doesn't matter so long as you type the exact same name in the last line of the script instead of "arrow.png". Make sure to keep the " before and after the file name

@Gorgious Well... it sort of worked, but I don't really understand how it all works yet. Only thing that's missing is the colors, and I'm sure I switched the color mode to vertex. Is there another setting I need to change to make the texture show up?

Strange, maybe share your blend file or the picture you used so I can see if there is a hiccup somewhere ?

@Gorgious Awesome :) thank you. Works fine for me, only the Vertex overlay in Solid mode is not working for me too. (Vertex Paint mode, Material or Render display preview with material set is fine.) BTW Wouldn't it be better to let script generate object from selected object than specify image name any time to run a new image? Plus - usually alpha channel will be a mask, and since inside some of the PNG files are still stored RGB values (that can be more than one color) seems to me better if your script will ignore RGB and takes only alpha value into account.

@vklidu Might have to do with the mode in which you are when you execute the script. Did you do it in object mode ? I agree with your comment about alpha values, I used pure pink as an example but you can easily modify the script to say if col[3] == 0: continue instead of if col == mask_color: continue Might be good also to use an epsilon to deal with potentially lossy image types. Doesn't work with jpg since it doesn't store an alpha value. But it's garbage for any kind of precise work anyway

You can use Hair particle system with Cube as Render > Object.
Cubes are emitted based on texture Density.

Sprite to Cubes
Like here your image 16 x 16 px ...

add Plane, Subdivide by 4 to get 16x16 grid, delete one row to get 15x15 faces, because Cubes will be emitted from vertices
add Particle System > Hair, Source > Vertices with disabled Random, Render > Object (assign Cube), Texture > add New and under Texture Properties assign your image, enable ColorRamp (that switch image to Black&White), under Influence enable Density.

Colors per cube should be easily taken from texture.
Like here, I just cant figure out what is wrong with setup in my file.
Edit: If this is still valid https://developer.blender.org/T42706 - emit from vertex is the issue.

Color per Cube
So you would have to go to Modifier Properties > Convert. Join Ctrl+J Cubes (if you want cubes as one object). In Edit mode with all selected Unwrap > From View. Switch to UV layout and in UV Editor switch to Individual Origins and Scale S the UV a bit.

Shader is smart enough ... UVMap is used automatically.

Notes:

You can use plane and use Subdivision Surface Modifier and Particle System after, just se Use modifier stack if enabled under Particle System
You can Separate P by Loose parts back into individual cubes if you need it.
You can use just a Plane (instead of Cube) for whole proces to make it lighter and use Solidify modifier as final touch :)
By default are images interpolated, to keep lowers images pixelated choose in Shader editor in Texture node > Closest. For Particle System Texture go to Properties Editor > Texture > Sampling > Interpolation disabled
in some of my screens is missing one Cube at a hat because I used Mapping > Generated instead UV

I'm having issues with this approach. My plane stays flat and I'm not sure what I'm doing wrong. Do I need to assign the texture to the object?

Would be easier for me if you can share your file via https://blend-exchange.giantcowfilms.com here. Thank you

Sorry for the late response, I wanted to tinker with this method a bit more before I ask another stupid question, and the last few days left me with very little time. I now understand what I did wrong thanks to your Blender file. Technically you answered my question, although I don't know if it would be a good fit for me personally as I plan on working with many sprites and the method you suggested for coloring cubes seems like a huge time sink.

Sure :) If you have a lot of these it is faster to use Gorgious script, that is great timesaver. I just wanted to mention other methods, that are more versatile and dont lay on a specific script, that has to be maintained in long term. Ad Coloring - almost three clicks Convert-Unwrap-Scale doesnt seem to be a big issue, but if I skipped something to make it clear let me know :)

Three clicks doesn't seem like an issue, until you need to do it a few hundred times... thank you for your help anyway, I could probably still make use for it, but I don't really know to what extent yet.

Image to Volume
In some cases can be enough just volumetric shader.
This example rendered with 10 samples, Denoiser enabled.
It is just a few second to render.

Render Properties > Volume > Step Rate 0.01

Viewport screenshot is only Volume material - means it can have only a diffuse look. You can get glossiness for front / back by connecting Principled BSDF node to Surface socket, but sides (thickness) stay volumetric.
By adding PrincipledBSDF to surface socket you can benefit also in other areas

sharp texture
shorter render-time
(switch from NLM denoiser to OpenImageDenoise cut render-time to half)

Originaly I wanted after this step use another object with Volume to Mesh modifier plus Remesh modifier, but it seems Volume to Mesh modifier supports only imported VDB files at the moment.

Maybe this is just my beginner mind talking, but this seems like the least time consuming method out of all the answers. Can you provide a blender file like in your other answer? I'm not knowledgeable enough to recreate all steps (like I said, beginner) and I learn better when I have an example to work with.

@SynnKo I can provide the file, but there is nothing more than you see here. This method I added just for couriousity. It is very limited, it isnt real geometry, so no bevel, no gaps controll between cubes ... so as I mentioned already Gorgious script is the quicker way to get result.

That's fine, this method already achieves the look I want (the rest was optional anyway) and it might be easier to work with if I ever wanted to animate my 3D sprites, which would require switching around the texture on different frames instead of switching around different models. I'll still consider Gorgious' script, though. Btw. you forgot to add a camera to the scene. Also, how long did it take to render for you? For me, it took roughly a minute, which is not ideal for something this simple...

Rendering FullHD format takes 22 sec on my Mac (CPU only, since GPU is not supported). When PrincipledBSDF node is used for surface socket of Output node and OpenImageDenoise type is used - time was 11 sec. Answer updated.

source: Stack Exchange

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

sort: votes


text:
Non-destructive flattening of animated models?
In the game Super Smash Bros. Melee, there is a stage called Flat Zone, which flattens every playable character along the z-axis, as if they are within the screen of the Game & Watch handheld. All of the characters still use their regular 3D models and their respective animations that were animated in a 3D space, but the stage permanently flattens all of it, making them appear paper-thin when you rotate the camera. The character Mr. Game & Watch, who also uses a normal 3D model, is permanently flattened in a similar manner, regardless of the stage he's on.
Here are examples taken from Super Smash Bros. Ultimate:
Normal 3D View

"2D" View

Is there a way to achieve such an effect in Blender in a non-destructive manner?

You can flatten a geometry on an arbitrary axis like this : create a new object, delete all geometry (in edit mode), and create a geometry nodes modifier like this :

This joins all the objects contained in your character, regardless of their own transformations, and flattens them on the X axis.
Setting the multiplying factor to 0 would have mesh elements overlap and cause z-fighting, so I advise setting it to a very low value instead (as pictured). This will also ensure the depth order is respected, so your character should more or less look like the original (when viewed from the side, at least).

I don't know if I did something wrong, but it doesn't quite work yet. It flattens the model alright, but the animation doesn't get translated into the flat plane properly. If part of the model is rotated for example, the previously flat model now deforms into the axis it's not supposed to be deformed into.

Modifiers work in object space, so any object-level rotation will change the "flattening plane". In order to solve this, I would have to know more about your particular use case.

I'll try to upload a GIF of an example when I have time and I'm at my PC, but the low upload size limit here is giving me trouble.

Apologies for the delay, I've finally added some example GIFs. I hope this gets my point across better than my words could.

What doesn't work with the method I suggested ? does your character use an armature ?

Yes, I used an armature. I don't "have" a character at the moment to easily test these things, I just used the default monkey model, slapped a simple rig on it, made a simple animation, and checked how your solution would look like on that animation. As I mentioned, the model doesn't stay flat, part of it sticks out from the third axis when it shouldn't.

Yes, this is going to happen unless you scale down to 0. Try it, but it may mess up the depth sorting on your geometry.
I think developers of the game may have a different way of going about it. They probably swap the model for a flat card that's textured with renders of the actual 3D model. It works because it's a game, and there's only a finite amount of animations the character can have. I guess now it depends on what you want to do with this technique. A short film ?

I'm not sure I follow... what should I scale down to 0 exactly? Did you get this to work with an animation? If so, can you post a GIF of it? I'm curious to see how it looks like in motion on your side. As for why I asked my original question, I don't really have any plans for this, I just wanted to experiment with the look, that's all.

The vector math node that does the flattening, see my capture.

Added information in the original answer

It seems to me problem is related to the order of operations. You want all the armatures and stuff to be evaluated BEFORE your flatten and rotate the object. And this answer seems to do just that. It could use a Collection Info instead of multiple Object Infos for convenience, but the key information is to not use e.g. an armature on the geonodes object - the geonodes object should be the last element of evaluation, except for rotations and other stuff that already treats the object as a plane.

Sorry for the late response, I didn't see the notification. You were right, I had the modifiers in the wrong order... such a stupid mistake, I apologize. Thank you for your help!

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


text:
Why is my 3d viewport is different from my f12 cycles render?

So I made a little scene a while ago, put it on the shelf, bought a new computer recently, and tried to enter the project and work some more.
Its a plane flying through some clouds, the clouds come out blocky and bad looking in the render, but if I change the settings in viewport to make it look better, hell even if I make them all weird looking or barely there, they still come out as big and blocky.
Not sure if it has something to do with the new computer or not. Everything is saved to my external hard drive, and everything else seems to work fine.
My blender exchange also doesn't seem to work. It never loads anything when trying to upload a file. Also happened on my last computer, if anyone also knows something about that. So here is a picture

Does this answer your question? Cycles viewport render different than f12 render?

No sorry mate. Hmm, it really weird. If i change the color of the plane and render, its NOT changed in the render. It almost seems like its "locked" to what it looked like before i made any changes.

Have you been using the Video Sequence Editor (VSE) in this file?  If you have a strip in the VSE and rerender it doesn't actually render, just reproduces the strip.

You beautiful beautiful man. Thank you so much. I've actually run into this before, but totally forgot about it. Again, thank you, really really appreciated!

The clue here is that you can change colors in the scene and nothing changes.
That's because when you hit the render button, Blender sees that you have an image strip in the video sequence editor (VSE) and it renders the image strip, rather than rendering your image.
The solution can be as simple as deleting the image strip. Or  you can avoid the problem (but introduce another one that will bite you later) by going to the Scene properties and unchecking Sequencer under Post Processing:

The problem with this is that later when you do want to render the image strip you will have forgotten that you had unchecked sequencer -- well, maybe you won't but I always do.

Aah, great tip! haha, one way another, ill probably forget something ;p but its nice to know. Again thanks for all the kind help mate!


text:
edge sliding using python script
I want to use edge slide operation using python. But I got error "RuntimeError: Operator bpy.ops.transform.edge_slide.poll() expected a view3d region & editmesh".
I searched and found several solutions for loop cuts but didn't find specifically for edge loops. I modified the loop cut script for edge loop but didn't work. can anyone help?
links are:
Loop Cut and Slide using Python not working
How to use loopcut_slide operation without any UI?

Hello, Thanks for your concern. I found the solution by doing some research by myself.

Here's the answer which solved my problem. I need to find out area in view 3d and other related info pack those things into override variable and put that variable at the first input of edge_slide function.
import bpy
def view3d_find( return_area = False ):

    for area in bpy.context.window.screen.areas:
        if area.type == 'VIEW_3D':
            v3d = area.spaces[0]

            for region in area.regions:
                if region.type == 'WINDOW':
                    if return_area: return region, v3d, area
region, v3d, area = view3d_find(True)
#we need to put those values into a single variable in the following
override = {
    'scene': bpy.context.scene,'region' : region,'area': area,'space': v3d}
#must be in edit mode
bpy.ops.transform.edge_slide(override,value=0.3,  mirror=True, correct_uv=True)


text:
Hollow head when exporting
I have imported a MakeHuman figure into blender and I have posed an exported it as an STL.
But when I import the STL figure into chitubox the head has a hollow; but the rest of the figure is solid.
I cannot find a way to get rid of the hollowness in the head to make it printable.
Does anyone have any idea what might be going on?

is it a real hollow or is it a flipped face?

It is hollow behind face an hollow eye sockets

https://blender.stackexchange.com/questions/50252/can-i-fill-an-empty-object/50254

I have used the addon 3D-Print to repair figure but to no avail still a hollow behind face.

This is still a problem but can be fixed by using UV tools
This will check and fix your model, a must have tool for resin printers.


text:
Frequent crashes during rendering using handlers
I am using blender to create mathematical animations, and I usually need parametric surfaces changing every frame. I succeed to do this using python scripts and handlers, and here is the code for an animated sphere:
import bpy
import math

def my_handler(scene):

    Name="Sphere"

    def Mov(t):
        if t <= 0:
            return 0
        if t > 0 and t < 1:
            return (math.tanh(-1/t-1/(t-1))+1)/2
        if t >= 1:
            return 1

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

    if bpy.data.objects.get(Name) is not None:
        obj = bpy.data.objects[Name]
        bpy.context.collection.objects.unlink(obj)
        bpy.data.objects.remove(obj)

    # mesh arrays
    verts = []
    faces = []

    # mesh variables
    numX = 40
    numY = 360

    # get frame value
    frame = bpy.context.scene.frame_current

    s1 = Mov((frame-400)/100)
    centerX=0
    centerY=0
    centerZ=-(1-s1)*10000+0*(1-s1)
    radius=(1-s1)*9998+2

    # fill verts array
    for i in range (0, numX):
        for j in range(0,numY):
            # nomalize range

            u = 2*math.pi*i/(numX-1)
            v = math.pi*(j/(numY-1)-1/2)

            x = centerX+radius*math.cos(u)*math.cos(v)
            y = centerY+radius*math.sin(u)*math.cos(v)
            z = centerZ+radius*math.sin(v)

            vert = (x,y,z)
            verts.append(vert)

    # fill faces array
    count = 0
    for i in range (0, numY *(numX-1)):
        if count < numY-1:
            A = i
            B = i+1
            C = (i+numY)+1
            D = (i+numY)
            face = (A,B,C,D)
            faces.append(face)
            count = count + 1
        else:
            count = 0

    # create mesh and object
    mesh = bpy.data.meshes.new(Name)
    object = bpy.data.objects.new(Name,mesh)

    # set mesh location
    object.location = (0,0,0) #bpy.context.scene.cursor.location
    bpy.context.collection.objects.link(object)

    # create mesh from python data
    mesh.from_pydata(verts,[],faces)
    mesh.update(calc_edges=True)

    # assign a material to the newly created curve
    mat = bpy.data.materials.get("GlossyWhite")
    object.data.materials.append(mat)

    # active smooth shading to object
    bpy.data.objects[Name].select_set(True)
    bpy.ops.object.shade_smooth()
    bpy.ops.object.select_all(action='DESELECT')
# Add the handler to handlers
bpy.app.handlers.frame_change_pre.append(my_handler)

Here are the different steps of the code. I create a function that will be part of the pre frame handlers. It starts to delete the object, and recreates it using parametric equations and frame positions. And then, it assigns to it properties and materials.
Everything seems to work nicely in the render viewport, the parametric surfaces just transform as expected when i control the frame cursor, but when i try to render the animation, it crashes randomly after a few frames.

Have on many occasions written "Don't mix context and handlers"  The scene is passed to the handler, ie there is no need for context.scene and definitely do not use operators in handlers. (Might work in UI, but will fail, and possibly fail horribly on render)

@batFINGER Thanks for the reply ! So what can I use instead of context.scenefor this purpose ?

You can avoid creating, deleting, recreating spheres. Just use the same object and bmesh, you have the same amount of verts. also you can precalculate everything into shapekey instead. also you might be able to use Extra Objects math tools (xyz function, etc) instead

@HananBeer Thank you ! I'll try to see how this works on the manual.

def my_handler( scene )


text:
Shortcut for centering the 3D-cursor in a view
Is there a keyboard shortcut for centering the 3D-cursor in the current view? The cursor itself should stay in the same spot in space (i.e. its coordinates shouldn't change).
Right now I have to manually center the cursor using shift + press scroll wheel, which is tedious.
ADDED: the GIF shows that "Center view to cursor" does not work. The cursor remains out of center (left lower corner)

There is a menu for that: "Center view to cursor"

But no predefined shortcut. You can assign the one you want with a right click on the menu (or add it to the quick favorites):

But that won't move it the view center is locked to 3d cursor's location:

Thanks, but before asking the question, I had already tried "Center View to Cursor" in my project. It had NO effect. Weird, because now I tried it in a new project (the "Cube"), and it DOES work.

Maybe I've mistunderstood the question? What do you mean by " its coordinates shouldn't change" ? Should the view move or the cursor?

No, you understood right. I'm now toggling between my existing project and a new, empty ("cube") project. In the first it doesn't work, in the second it does (?!)

Well... in between... wanted to make sure!

Wanted to upload my GIF, but too big. It shows that the cursor stays in the left lower corner of the view, after clicking "Center View to Cursor".

Have uploaded GIF

Here is the explanation!

Found out myself just before your post, but thanks a lot! Blender can be a real jerk at times.

If that can help for gif ; ) https://www.screentogif.com/


text:
How to randomly assign color to objects in an array
I have this stack of 1610 bricks. The stack was built by starting from one brick, and then applying 3 consecutive arrays on it (3 dimensions).
I want each brick to be randomly assigned any of 4 fixed colors, but the node I came up with (picture) only seems to assign a single color to the entire stack.
What did I do wrong, or what is an alternative way?
PS: I want to keep the Arrays (if afterward I want to adjust the distance between the bricks, or the dimensions of the bricks)

Using Cycles you also have a "random per island" (geometry node).

The Object Info > Random socket will only work with different objects, your object is arrayed but it is still one object. Geometry > Random Per Island will work if you use Cycle. For Eevee I don't know if it's possible without applying the modifier, but once done you can create instances of one unique brick then use Random...

I was in Eevee, changed to Cycles and it worked. There was no need to apply the array modifiers, so they are still available.

Further reading: Randomized color with array modifier

Consider that this site is no regular forum rather a Q&A site. Read: https://blender.meta.stackexchange.com/questions/2463/why-is-saying-thanks-forbidden-here and also https://blender.stackexchange.com/help/how-to-answer


text:
How to limit holdout to one or more objects?
Selecting in the "materials properties" of a certain object (the "masking object") the shader "holdout" will make any (part of an) object that is in the scene behind the masking object disappear.
How can I limit this effect to one or more objects only, so that all other objects in the scene are unaffected by the masking effect of the masking object?

Using view layers:

Setup your scene with 3 collections:

One for the objects that won't be masked

One for the objects to mask

One for the holdout object

Then create a layer for the "no hold out":

No hold out collection is rendered

Holdout collection is indirect only

Holdout object is disabled

And a layer for the hold out:

No holdout part is indirect only

Holdout part is rendered.

In the compositor:

The hold out layer is alpha over for either alpha parts of the holdout layer or for the parts where holdout depth is greater than the no holdout one.
All is rendered with a transparent film.

Or you can use Boolean with Difference as a workaround. The solution by Lemon is rather complex, not intuitive and in some cases won't help.
In my case where I have multiple holdout planes and each of them has its own object to hide, but can't hide objects of other holdout planes.

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


text:
Origin doesnt follow physics Simulation
Trying to make the camera always face a cloth Simulation. The problem is the Origin doesnt move with the Simulation and by that the camera always looks to where the Origin was at the start of the physics animation.
Im using the "Track to" Constraint on the Camera.
Here is a GIF showing the exact problem: https://gyazo.com/fffd446c202453b0a33f5ac09150a6bd

Vertex parent an empty to a single vertex somewhere near the center of the cloth object. Then put a Damped Track constraint on the camera and point it to the empty. It would appear that physics simulations respect vertex parenting relationships. You don't even have to bake the simulation first to see the results.


text:
Why is the bone moving the wrong part of the mesh?
Help the mesh is moving at the wrong part when I move the bone!

nevermind I figured it out

It looks like you've accidentally weighted the wrong vertices. Select the mesh, enter Edit Mode, and select those vertices. Then, click the Object Data Properties tab in the properties panel.
Find Bone.004 in the Vertex Groups area, click it, then click the Remove button. Exit Edit Mode, and it should be fine.


text:
Background image is too much saturated
Hello I'm having a huge issue with my background image being too saturated and I cannot find anything on this, most likely I'm not searching the right thing.
Given the examples below. One is darker than the other. The more saturated picture (redder) is being outputted in blender 2.81

I have not added any filters at all to make it such color. The compositor just outputs an image to an Alpha over to the composite node. In the viewport, it has the right color. But once composited, it adds the saturation all on its own.
The saturation imbalance does not affect any other part of the render.
I thank you for reading and have an amazing day.
UPDATE: The resolution to this problem was that my exposure in color management was at 1.7 and it was supposed to be at 0. I've been using blender for over 11 years and even with all the new updates. A well-seasoned person can make a mistake. Hope this helps others.

Go to Render properties and experiment with the Color Management (very bottom section) settings until it looks right. It would probably look better in standard mode (I believe the default is Filmic)

Thank you so much. I have figured out why it was not working. My exposure in the color balance was set to 1.7 for some reason. I will be updating my question as solved. Thank you so much.


text:
How to texture a landscape?
I have a landscape created by moving vertices only along the z axis, as per many tutorials. The problem is that, where there is a steep incline (i.e. a big distance between axes), the texture gets funky.
With only rock texture it actually looks pretty decent, but once I started vertex painting in some ground cover, the problem became obvious.

So I'd like to get as close as I can to my original landscape mesh, but even out the distance between vertices.
The two possible solutions I've seen so far are:

remeshing
exporting as a height-map, then re-importing to a new mesh

I've had a brief try at remeshing and it wasn't successful, but then most things are not successful at first :-)
So I have three questions:

Is one method generally preferred over the other in this sort of situation?
Are there other ways to even out the mesh that I haven't come across yet?
Any advice on process for either method?

Update 1
Thank you to d8sconz and HENDRIX for the advice so far.
I found at least part of the problem: somehow in the landscape development, quite a few vertices have gone missing!

So, I made a new mesh by shrink-wrapping a plane over the old one. I also increased the vertex count by 50%.

So the problem of textures being stretched out of shape should be, at least partially, alleviated.
However, I'm now intrigued by the idea of UV painting instead of vertex painting. But for it to be an improvement, I assume I'd need to seam the landscape before unwrapping. I can't see any obvious way to seam a natural landscape, except perhaps for the path.
I have included a .blend of the landscape if that would be helpful.
Update 2
I changed the title again to generalise it and hopefully make this more useful.
d8sconz and HENDRIX make some good points about UV-mapping, but this thread from polycount discusses just how difficult uv-mapping is for landscapes, and how important it is to plan in advance - e.g. think about where to make inconspicuous seams during the modelling stage.
So for me, I will stick with vertex painting for this project. Increasing the vertex count helped a lot. I also made some changes to the textures that makes stretching less noticeable.
d8sconz asked:

Do you need to vertex paint for some reason?

For me, vertex painting is very flexible and intuitive on a landscape, especially using the technique described in this post. Here is a screenshot that gives an idea of the process.

So thanks to d8sconz and HENDRIX. I really appreciate the advice even if I didn't end up taking it this time. I'm still working through the texturing process, developing techniques as I go. When I'm finished I'll write up my findings as an answer.

Do you need to vertex paint for some reason? That's the problem (I think, without seeing the file). A UV mapped texture would be better.

Thanks @d8sconz. The texture is uv-mapped for baking purposes, but I think I get what you mean.
At the moment, my uv-map is a top view projection, so all the points on the map are equidistant anyway.
If I actually seamed and mapped properly, then I could paint on the map accordingly?

Solution 2 will give you the same result you already have. Try UV unwrap instead of projection.

Thanks to @HENDRIX - please see updated question.

Thanks to @d8sconz - please see updated question.

The verts just appear to be missing, it is just a display issue. The problem you are facing here is UV stretching. The faces on steep inclines are much bigger than faces on a flat surface. If you project from top, all faces are the same size in UV space. UV unwrapping tries to avoid stretching, but may not give perfect results. The UV editor can visualize the stretch for each face and help you remove it.

Yes you're right @HENDRIX. However, increasing the vertices made a big difference. I also realised there were some problems with the vegetation texture so I changed that.
Meanwhile, I found a post http://polycount.com/discussion/75668/uv-mapping-for-terrain-techniques that stresses the importance of planning ahead for uv-mapping a landscape - e.g. making overhangs.
So I'm going ahead with vertex-painting this time. Thanks for the help anyway.

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


text:
What settings should I use in the Key node if the green background is very uneven?
EDIT #3
The original title of this thread was: "Why is alpha-over node not as good as in the VSE?" and I think the best answer to that is  from @troy_s:

You have to remember that the compositor and the VSE operate in radically different ways, so don't expect a correspondence between values.

Since then the discussion has moved on to Key node settings, so I am changing the question. For reference, the original post follows ...
I am making some video presentations of student art work, where the students are keyed over their art.
I started by saving the keyed "talent" as .png sequences and using the VSE to overlay that on top of the art.

This is acceptable considering the video was taken with a tablet, using green corrugated PVC board as a green-screen.
But the process is very time-consuming and I have about 600 shots to do!
So it occurred to me that I should be able to put everything together in the compositor to make it more efficient.
However, the Alpha Over node in the compositor is making parts of the "talent" transparent.

At first I suspected the output from the Keying node. Somehow, it might not be the same as a .png file. So, to trouble-shoot, I tried using the same frame from the .png image sequence instead of the direct output, but the result is the same either way.

So, before I go back to saving everything as .png sequences, can anyone tell me a way to get the Alpha Over node to behave the same as the Alpha Over VSE effect?
EDIT #1
Thanks to @cegaton for getting involved. Here is the .png image.

And here is the original node setup before I started trouble-shooting.

I really can't see how the .png could be the problem because:

Originally, I was trying to take the output directly from the Key node without saving to a .png; and
The .png sequence works as expected in the VSE - it produced the (acceptable) image at the top of the page.

In fact saving to a .png sequence solves the problem (in that I can use it in the VSE) rather than causing it. But I'd prefer to avoid that as it's time-consuming.
EDIT #2
@cegaton Oh dear! I really wish I'd made no mention of PNG as it has been a distraction.
To clarify:

If you look at the original node setup (i.e. the one after EDIT #1) there is no hint of a PNG image anywhere.
The problem is that, using that node setup, I noticed that the keyed output had some bleed through from the background image.
I didn't know whether the problem was with the Key node or the Alpha Over node, so I used a standard trouble-shooting technique to find which one was the culprit.
It was only then that I tried replacing the Key node with the Image node, since the PNG sequence worked well in the VSE.
I actually suspected that my Key node settings were at fault, and
was surprised that replacing the Key node with the Image node
produced exactly the same results!

So, since a) the Key node and Image node produced the same results in the compositor, and b) the Alpha Over effect in the VSE produced much better results, the logical conclusion is that either:

the Alpha Over node is somehow different to the Alpha Over effect in the VSE; or
the VSE is feeding the Alpha Over effect differently to the way the compositor feeds the Alpha Over node.

So, not using PNG images cannot be part of the solution because I wasn't using them in the compositor before I started trouble-shooting.
However, I think @cegaton is probably right in that the solution is in adjusting the Key node settings. I suspect what is actually happening is that the VSE is somehow disguising the problem with the keying.
I just wish I could find a way to replicate whatever the VSE is doing in the compositor!
EDIT #4
Thanks to all for the contributions so far. Here is a screenshot of the original video.

As you can see, the variation in green colour makes keying very difficult. I am used to chromakey where there is a setting called "tolerance" or something similar. I also vaguely remember stacking chromakeys in Kdenlive for severe cases such as this where the bottom panel is so much darker than the others.
The Key node in Blender is much better because it has "Despill" but I do miss the tolerance setting. Reading the Blender manual, I think I need to replace the single "Key Color" with a range, but I'm not sure how to do that.
As usual any advice would be most appreciated.

Thanks for the query @cegaton. Yes, the image in the final example does have an alpha channel. It is a .png created by blender with rgba set in the output section. I deliberately did not include the node setup that created that image, because it works fine with the VSE Alpha Over effect.

Thanks again for the ideas @cegaton. Please the the revised question beginning at "Edit #1".

Can you post the original greenscreen image you used in your sample as well as the background plate? You have to remember that the compositor and the VSE operate in radically different ways, so don't expect a correspondence between values.

@troy_s You're right in that the green-screen image is the root of the problem. I was shooting in a chaotic classroom with green corrugated PVC taped together with green gaffer tape, and a combination of fluorescent light and whatever other light happened to come through the windows! So the fact that the VSE works so well is something of a miracle. Meanwhile, I've just discovered that we have a 10+ hour blackout tomorrow, and I'd really like to finish this project by the end of the week, so I'm going to bite the bullet and use the VSE for now. Thanks for the input.

How did you perform the key in the VSE? Or does the boy image already have an alpha channel? Anyway did you try the premult option in the Alpha over node?

@3pointedit Yes, I started off using the Key node in the compositor to make a PNG sequence, and loaded that into the VSE. That works well, but seems inefficient. I did try fiddling with premult, and various other things, but ultimately, the problem is the source material (the green is too inconsistent), and I haven't been able to replicate whatever is happening in the VSE in the compositor.

As Troy noted the VSE composites differently to the compositor and there is a node to alter the comp output to accommodate that.

@cegation Sorry about that. That was actually my intention but the process got away from me!

Below is the default settings for the keying node.

Change the Clip white and clip black to make the key more dense.

To test this, replace your background with a hot pink or yellow color image. This will make the partially transparent regions more obvious.
Before adjustment:

After adjustment:

You can use a Chroma Key node to create the core matte. This does the heavy lifting of cutting out your main shape. Then you use the Keying node to soften the edges. I have introduced a mask to cut out the extra wall on the side.

Thanks for this. I have now changed the thread title to suit where the discussion has led. Also, please see EDIT #4 for a screenshot of my original video. That should give a better idea of what I'm up against!

Wow - that's fantastic @3pointedit! I'd started to get much better results using just the first part of your answer, but this is better again. The colour ramp was a big part of what I was looking for, but I also realise that the Edge Kernel, Clip Black and Clip White together perform a function akin to chroma-key "tolerance" (I guess it's "acceptance" in Blender.

One thing I haven't been able to get so far is the view of the alpha channel of either the Viewer Node or Render Result. As soon as I select that, I get all white regardless of what Clip Black and Clip White are set to. Any ideas?

Yes you cannot see the alpha channel after passing through the Alpha Over node. You must get it directly from the Keying node.

Also good luck with the big job ahead. After all this I should point pout that you can in fact make a chromakeyer in the VSE. https://blender.stackexchange.com/questions/78947/how-can-i-do-color-keying-using-the-vse and my tutorial https://www.youtube.com/watch?v=1mVm4hwO0EU

For practical reasons, I'm going to have to leave this for the moment, but first, want to highlight this quote from  @troy_s:

You have to remember that the compositor and the VSE operate in radically different ways, so don't expect a correspondence between values.

That is the most direct answer to my question: "Why is alpha-over node not as good as in the VSE?"
Everything else has been useful and interesting, but that is the answer I needed, so it would have been a shame if it went unnoticed.

If you can provide the original still image someone here can pull a good key for you. In your PNG in your answer, there are two problems with it. First it is a PNG, and as a result, the image isn't in the correct alpha format for the Alpha Over node, which assumes Associated Alpha. Second, you have an alpha value of < 1.0 in regions of the head, which is why you are getting bleed through. The key pull is at fault and is easily corrected.

Thanks for the suggestion @troy_s. As I've said, the PNG part is irrelevant because what I'm trying to do is go directly from the Key node to the Alpha Over node. But help with the keying itself is a good idea. As I hinted at in a previous comment, the root problem is that the green is too variable because of the lighting. And I can't work out how to make a colour range for the Key node input. Rather than a screen cap still, I'll upload a short example video somewhere and post a link. If anyone would like to have a go at it, it would be most appreciated.

You aren't listening to what I and others are trying to impress upon you; the PNG is part of the problem. Your alpha is unassociated and that means that it is not suitable for feeding into the alpha over node without the poorly labelled "convert premul" box checked. The other part is simply unfortunate values in the keying node, whatever you are using. I'd be happy to pull a key off of a still image if you can post one, and I'll provide you the node group. Video can work too.

@troy_s I'll try to explain with a metaphor. Suppose that my problem is "I fear for my safety" and part of your answer is "Well you shouldn't live in Afghanistan". While that is undoubtedly good advice in a general sense, it is not part of my problem because I don't live in Afghanistan! Please understand, I'm not trying to downplay what you and others are saying about PNGs, but if you look at the SECOND node setup (i.e. before I started trouble-shooting), I wasn't using a PNG, so logically, PNGs cannot be part of that problem.

@troy_s I thought I should separate the parts of my response for clarity. I was actually planning to start a new thread for the sake of search engines, but since 3pointedit has already posted an answer relating to the Key node, I'll change the title of this one. Thanks again for your offer of help. And you're right, working with a still should give a pretty good indication of the key settings I need.

I don't believe the advice was entirely non sequitor. "My key pull is bad" had two components. One, rightly, was that the code is different and your settings needed to be adjusted. The other, in the case of the original plate you offered, was a byproduct of the file format chosen. It is a fair answer when it points out all reasons your key pull was off.

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


text:
SOLVED: How can I add a bone constraint to an already animated bone without affecting the animation?
Sorry I realise the title is not as clear as I'd like but I could not think of a better one!
I have animated a hand and fingers to play a bass guitar using Auto-rig Pro. While not perfect, the animation is a decent attempt to accurately represent the playing of a specific bass-line.

After completing this, I realised that I'd also like the player and instrument to move a little. However, the animation was done with the neck of the bass in a specific location with a specific rotation. If the bass moves the animation of the hand will lose its accuracy.
So I'd like to put a constraint on the hand to move its location and rotation relative to the neck of the bass while not interfering with the movement up and down the neck from the animation.
Edit:

As suggested by Chris, I have now uploaded a .blend file to Blend-Exchange:
Also the following two images demonstrate the problem:

The bass has been parented to the player's root.x bone

2. As the player's hips are moved, the bass moves away from the fingers.
As always, any pointers or suggestions are as welcome as a full answer.

This turned out to be surprisingly easy. I just added a second Child Of bone constraint for the hand controller, above the one that had been created automatically by Auto-rig Pro, and used the instrument as the target.

Here you can see the position of the hand at frame 835.

Here, the player and instrument have moved; the hand keeps its position relative to the instrument while continuing to follow the original animation.


text:
Keep the shape of a Grease Pencil while moving it closer to the camera
Related to this question. In short, I created a Grease Pencil object using a model as the base by using the Line Art modifier and applying it. I then used "Reproject Strokes - View" to flatten the resulting Grease Pencil object along the camera view.
The point of this is to create a Grease Pencil object from a model, which I can then edit like a regular Grease Pencil object. The original 3d model is simply used as a base.
Works great so far. My problem now though, is that depending on how far away the object is from the center of the scene, the further away the Grease Pencil will be from its original model. See the example below:

I want the Grease Pencil to be on the model, roughly. In other words, I want to move the Grease Pencil closer to the camera while keeping the shape you see from the camera view. How can I do that?

Don’t apply the modifier. That’s about it.

@TheLabCat That's genius! I just wish my "workflow" (if you can call it that) didn't require me to apply the modifier in the first place. ;( Thanks for giving me a reason to clarify my question, though.

While it doesn't answer the specific question posed, it does solve the underlying issue. I had the wrong assumption that "Reproject Strokes - View" always puts the strokes in the center of the scene. This is not true, it puts the strokes in the center of the Grease Pencil object itself. So to solve my issue, all I had to do was move the Grease Pencil object to where the mesh is and then reproject the strokes. That way, the strokes would be placed roughly on the model, as I originally wanted.


text:
How to toggle multiple objects shade smooth / flat?
Now i can only select and change one by one, and it's not possible to do that for hundreds of objects.

I select hierarchy of my buildings grp, and right click in 3d view does not return options about shade smooth or flat.

Just select as much as you want, then right click -> Shade smooth -> all selected will get it.

I selected the whole hierarchy of a grp, and why there is no option about shade smooth/flat?

Just right click on any object (which you have selected ) in the 3D View

@Jolene  In Chris' example, all spheres are mesh objects. Your selection is mixed (Empty + mesh objects) and your active object is an Empty. There are selected objects and one active object. The active object is usually the one you selected last and it's highlighted in light orange/yellow, the selected objects are reddish. The context menu is for Empty objects because that's your active object. Make one of the mesh objects the active object (those with the numbers in the name) and it should work like in Chris' example.

Got it, the last object in selection matters what options would be given. Appreciate it!


text:
Trouble with CG fast track course- Geometry issue with sword Guard
I am trying to figure out what is wrong with my sword guard. been playing around with different things but to no avail. I do not mind doing this over again but I would like to know what is wrong. File -> https://pasteall.org/blend/7edd68e550ef494694d9ac79fc9907f8
Thanks in advance!

Select the guard and go into Edit mode. Select All and then go to Mesh > Clean Up > Delete Loose. While everything is still selected, SHIFT>N to recalculate the normals and you should be good to go. - There was an edge inside the mesh which wasn't connected to any faces that seemed to be causing the shading problem and the normals were facing the wrong way on a small part of the mesh.

Thank you so much!

You're welcome.


text:
Accurate wrapping of plane around cylinder
I'm trying to model a pill bottle with very precise dimensions. I've created both the bottle and the label correctly sized in inches. I'm trying to wrap the label around the bottle in a realistic manner so it doesn't distort. I can't find a method that works. I tried using the shrink wrap modifier, the curve modifier and the simple deform modifier (nothing 'simple' about that!). I've managed to get the label to wrap around the surface of the bottle with all three methods, but the image on the label (not shown) is always distorted, and none of the methods seem very intuitive. I'm sure there must be an easier way that I've managed to overlook. Any ideas?
UPDATE : Additional images show the geometry of the label and the bottle with and without the shrinkwrap modifier applied. I've tried all the different combinations of Wrap Method and Snap Mode, but the image on the label still distorts (image not shown). Circumference of the bottle is about 7.5" and the label is 7.25" wide, so it should warp around the bottle with about a 0.25" gap between the label ends.

Does this answer your question? Applying decal to sphere

sounds like you don't have enough geometry on the plane to support the curvature of the bottle.  Can you show a screenshot of the plane wrapped around the bottle with the shrinkwrap technique in wireframe mode, along with the modifier settings for the shrinkwrap?

Thanks for the suggestion Emir. I may be doing something wrong, but I followed the advice on that thread and the label still got distorted instead of maintaining it's original width (7.25").

Does the folling answer help? https://blender.stackexchange.com/a/40970/31447

Within the limitations of the approximation of curves by straight-line segments, and floating-point error in trig. and other functions, Simple Deform > Bend should not change the length of the plane passing through its origin.
The circumference of the bottle is pi*2.39,  = 7.5084. The Label must be bent through 7.25 / 7.5084 of a circle: 347.61 degrees.
If (using ShiftS snapping) you place a world-aligned Empty on the  end of the front-facing radius of your bottle, and place the label, with its origin at its centre, at the same point, then giving the label a Simple Deform > Bend through that angle, with the Empty as origin, should give an exact wrap:

There will be Z-fighting, so you may have to give the label a very slight Solidify or Displace modification to bring it outside the bottle's surface.
If the label's own axes are conveniently aligned, you could forget the Empty.. but I find it less bother always to use Simple Deform with an Empty, around the Empty's Z, which makes the deforming axis, X.


text:
Slow subdivision performance
I'm trying to model a pill bottle top but I'm experiencing really slow performance when using the subdivision modifier. I have a Legion 5P with AMD Ryzen 7 4800H, Nvidia RTX2060 and 32GB RAM running Blender 2.93.4. I created a cylinder with 144 vertices, then extruded and scaled the alternate faces as shown. Adding a subdivision modifier to this object is super slow, and if I then try to add an edge loop around the circumference to square up the edges, my whole system grinds to a halt. I'm quite new to Blender and no expert when it comes to tech. Viewport level for the sub-D modifier is set to 1 and the System Preferences are configured to use the GPU. Is there anything else I might have overlooked or is this normal behaviour when trying to apply a sub-D modifier to an object with this amount of detail?

A low-poly model with a level 1 Subdivision Surface modifier should not cause lag on your computer. I wonder you want to have a Subdivision Surface on this model. It won't get smoother, does it? I've just tried the same and was surprised that Blender indeed froze for several seconds & the output looks weird (https://i.sstatic.net/RuSJB.jpg). The reason is the big Ngons on top and bottom. But yours look good and I'm not sure if we did the same? Maybe post a full screenshot? What's the yellow shading? Is this in edit mode? How many verts do you have with the modifier? Which mode has it?

Hey Blunder, Thanks for the reply. Yeah mine looked the same as yours after the first sub-d. I wanted to add a couple more edge loops around the circumference of the object and slide them up and down to tighten up the corners. This then starts to look more like a pill bottle top. I wanted to do this visually hence why I tried to add the loops with the sub-d on, but no chance - Blender dies ! The yellow shading is just one of the built in matcaps - my preferred look for editing.

My object has 576 verts. I figured out if you disable Use Limit Surface in the sub-d settings it works much better, but you still have to wait ages for the first sud-b to be applied before you can disable this, which is really annoying, but it got me there. I don't fully understand what Use Limit Surface actually does. PS : How can I post additional images to show you the end result? Do I have to add them to my original post?

Have you tried to delete the cap at the top and bottom (the fan and the big ngon) and replace it with a grid fill (Ctrl+F)?
Replaced the cap with a grid fill:

With a Subsurface Division modifier (level 1):

Thanks ! This worked great, and no need to disable the Use Limit Surface either with this approach. Good call. Thank you again.


text:
After upgrading Blender my scene renders differently
After upgrading from Blender 3.5 to 3.6, one of my scenes doesn't render properly. I've spent almost 3 hours doing a side by side comparison of every setting I can think of that might be causing this. When I upgraded I copied all my 3.5 setting across. I've attached renders from 3.5 and 3.6. Looks like something really simple but I'm going crazy trying to find what's causing it. Light Paths > Max Bounces are all the same. Any suggestions?
Blender 3.5 Render

Blender 3.6 Render

Blender 3.5 Nodes for green powder

Blender 3.6 Nodes for green powder

Indirect lighting values might be clamped

Thanks for the suggestion. Setting is the same (10.0) for 3.5 and 3.6.

Can you [edit] to add a screenshot of the material nodes for the ground up powder?  I'm sure it's a portion of the difference

It also might be worth looking at subsurface scattering values on everything green across the scene.

Thanks Allen, I've added the screenshots as you suggested but I don't think it can be an issue with the material settings because it's the same file, so surely the material settings will be identical?

It's as if one light is missing from the 3.6 version (notice the wicker basket is also darker) but I've checked all the lights, including the HDRI and don't see any difference. I'm so confused !? :-)

I turned off the Scene Lights and Scene World and there is still a very visible difference between them. Elements of the 3.6 version are darker, especially the small collection of powder capsules.

Hehe this is why you don't upgrade Blender mid-project and why some people are still using V2.79 :) Definitely something fishy with the normal maps as Allen pointed out.

I'm gonna say that something changed with how Normal Maps are handled.  To me it looks like your Normal Map Strengths are too high.
That value of 1.1 actually means 1.1 meters, so that's going to make them take on the appearance of something unnaturally textured, and that causes the shadows to be darker.  In Tangent Space this might actually make the surfaces appear as though they've been turned away from your light sources a bit.
The biggest clues to me are the dark shadows on the green powder and the details on the bowl, but as you say it looks like the wicker basket and blanket in the back are just slightly darker as well.

I betcha if you lower the strength down to .1 (or even lower) this effect starts to disappear.  Not clear why there is this difference between versions.
I suppose the only other place I can think to look is the material settings pane, I think it's changed some recently.

Thanks again Allen - that makes a lot of sense but unfortunately adjusting the normal map strength doesn't seem to make any difference. I only tried it very quickly though so I'll spend more time with it later and get back to you. Thanks again.

It's all dependent on scene scale as well, so potentially you'll have to decrease that to a very small value

Thanks again for all your suggestions Allen. I just can't seem to get it to work. I'll come back to it at a later date if I have time. Sorry for the newbie question but how do I give you kudos, or ratings or thanks on Stack Exchange?

Don't worry too much about it Marcus, happy to help.  You can always run those two versions side by side if you're careful about where you open your projects.


text:
Python select packed image shader editor?
In python, how do I input an image file, add it to an image texture node, and set its properties so that it will be packed into the .blend file?  That is, how do I automate the actions in this animated gif and then pack the image?
https://gfycat.com/ElaborateFalseEmperorpenguin

It would help if we could see your Python script.  Can you add it to your question?  It might be easiest if you add the blend file containing. (How to add a blend file) If you do, be sure to pack everything in the blend file before adding it.

Something like this: https://pasteall.org/TJNF/raw ? Make sure there is a material assigned to the active object, the name of the image is correct ("Image Name") is just an example, and run the script.

Before "I have packed image inside blend file...", now "and set its properties so that it will be packed into the .blend file?", makes it a different question. See the gif, the image is loaded already @MartyFouts

@brockmann imo you're misunderstanding  the reason for the gif.  The OP is saying he wants to accomplish the actions in the gif, but in a script and also to make sure the image is packed, not just that they want to pack an image.  Also, the script in your previous comment doesn't pack the image, so it wouldn't work even for your interpretation of the question.

My script doesn't pack it because this wasn't part of the question (and is a shot into the blue anyway to help the OP), see the revisions: https://blender.stackexchange.com/posts/240125/revisions - the image is packed and loaded already, to quote it again: "I have packed image inside blend file" @MartyFouts Again, please don't edit questions the way you understand it.

See: How to load an image from disc and assign it to a newly created image texture node?. If you really want to pack the image as well, just add img.pack() to the script.

@brockmann  The original question asked "want to add default image what is packed in blend file. " Your script does neither of those things. your script also includes code to create an image texture, a new material, and attach the image texture to the shader in the new material.  None of which are in the OPs original question.  Again, stop asking other people to act on their interpretation of a question when you're doing exactly that yourself.

Apples and oranges. I don't edit other peps posts without knowing what they want @MartyFouts ... I added a simple demo to help getting started. Btw: How to assign an image to the texture node without any material and without creating the node in a simple demo?

@brockmann you vote to close them as duplicates without knowing what they want.  You've even asked the OP for an explanation and voted to close before it was forthcoming.  Apples and apples.  Here's a helpful lesson I learned from a reference librarian: when you don't understand the OP's question, restate it to them differently and let them correct your understanding.  What I'm doing is question clarification 101.

Voting to close as dupe is legit since the OP can always clearify based on a starting point. What you're are doing is slipperly slope and helps neither the OP nor US to answer the question properly. Your comment doesn't answer my question from before, it's just righteous rant as always @MartyFouts

@brockmann  if someone's ranting here, it's not me. For instance, your argument for closing a dupe is exactly my description of clarification 101.  The OP can always clarify.  The point of restating the question is so that they can clarify.  It's also not a slippery slope. This is one of the tools that reference librarians use in real life, and I've seen it work here in circumstances just like this one.  I didn't answer your question because it's an intentional distraction from the point under discussion.

Wouldn't librarians ask a question in the comments rather than editing your words? It's about respect and giving the author a chance @MartyFouts Your claim was "None of which are in the OPs original question." and I asked you how would you create a demo thus no distraction and actually part of our great discussion, I personally call it "Demo 101", lol.

Let us continue this discussion in chat.


text:
I would like to render a camera view in a plane area (EEVEE virtual CCTV closed-circuit television)
Hi everyone, this is my first topic on this forum.
I would like to render a camera view in a plane area like a material or texture.
I think that this is a procedural texture but I don't know how this work.
I saw it working for the first time in old Counter Strike Source engine tech demo, but it's also used a lot in Five Nights at Freddy's games.

If you mean that you want a material to display the "view" from a different camera, this in not supported in real-time in blender. For static images, render the "view" first then save the image and use it as a texture for your "TV screen". For moving images, render the animation , save the animated clip, use "images as planes" to play it as a movie on a plane (on or in front of) the TV screen.

Hello Marty Fouts thank you very much for the reply.


text:
Make duplicates real? Blender 2.93
"make duplicates real" does No longer exist in Blender 2.93?
There are alternative solutions to make duplicates to Single objects?

I think it's make instances real now

That depends on how you created your duplicates.

If you created a 2.79 (and early?) dupliverts, then you would have had the option to "make duplicates real" available.  In 2.9x, dupliverts have been replaced Instancing, and the equivalent operation is "make instance real". It has the short cut CTRL–A and select "Make instances real" from the menu:

I believe Blender automatically converts old dupliverts into new instancing.

If you created the duplicates by creating an array, you apply the array modifier, then in edit mode select and use P to separate the parts by selection.  If each object is a single mesh, you can select all and separate by loose parts.

If you created the duplicates by using Duplicate Linked then you separate the duplicate by making it single user, most easily done through the Object menu:

Finally, if you created the duplicates by linking from a library you separate the duplicate by making it local, most easily done through the Object menu:

Wow. Big thanks.


text:
Texture mapping Not correct
I've just baked all my textures into one as I'm planning to use this in unity, however when I tried to use the baked texture the model looks messed up, the UV project fits as seen here:

I've got a simple node setup here just an image texture however even if I use the UV map for the other model the texture does not line up.

I'm not sure if I'm being stupid so I've attached the blend file and the baked texture and any help would be appreciated.

Did you click the little camera next to the UV map name?  Loading the texture looks like this:

...but when I select the "new" UV set, it works fine:

is that what your question was?


text:
Solidify problem with material offset
I'm new to shaders and I was testing an outline shader tutorial I found online, but when I used the solidify modifier, it just didn't work. I tried changing the thickness but then this happened.
The blue "triangle" is the second material.
Anyone has any idea to what might have caused this?
Link to the .blend: https://www.mediafire.com/file/nefry1j1czzel9n/box.blend/file
(Im using Eevee render engine on Blender 2.81a)

please provide blend file

i added the .blend file now

In your modifier, you select normal flipping https://i.imgur.com/B2wbLHz.png

Even after flipping the normals again, the problem persists.

Just as a comment for anyone else, I loaded the file in 2.93.5 and didn't see the same thing.  (The outline is not set up properly, but not in a way that reproduces the image shown.)  So it's not really worth downloading the file unless you're going to be opening it in 2.81a.

@Nathan did you manage to fix it? If so, please tell me, maybe i can use it for this version too.

I loaded it in 2.93.5 and it didn't look like your image, so I figured that it depends on the version.

If you can then update to the latest Blender 2.83 LTS (https://www.blender.org/download/lts/). That's the 2.8 version with bug fixes. The model looks fine in Blender 2.83.9. Uncheck the [X] Flip Normals option in the modifier settings.

Thanks @Blunder, i updated to the last version instead, when i redid the tutorial this time it worked.


text:
How can I model the dome in the picture?
I have been trying to model this dome but my result looks exaggerated.
I want the bulge out to be subtle as in the picture.

The main difference for now between the reference and the model base forms is that on the ref bulges come down to one line whereas they are bulged in the bottom of the model.

Exactly....I am trying to find a way around it,but trying to manipulate the bottom vertices also destroys the shape which is not helpful.


text:
Can i automatically add textures to a large amount of materials?
I have around 1500 objects. Each object has a material that is named exactly after the texture it corresponds to (e.g. "Tex_01.dds", "Tex_233.dds", etc). The objects and textures are both in the same folder. Is it possible for me to make an automated method that applies the correct textures to all objects in one go?
Edit: As the question appeared too vague, i've constructed a series of images to further explain the issue.
These are all the objects which i'm trying to add a texture to. They originate from a building system from a game. I wish to recreate this in Blender with a grid system.

Each object has one material. The name of the material is the same as the name of the texture that connects to the model.

Lastly, these are the textures which i would like to put on the models.

Edit 2: All materials have no nodes in them. The manual procedure would be to add a material output, diffuse node, image texture node and optionally a texture coordinate for UV.
I've also included a .blend with some samples if anyone would be interested in checking it out.
https://www.dropbox.com/s/blvgx98lmp8n27o/MS2Props02.zip?dl=0

I believe you can! Watch this video on YouTube https://youtu.be/i4ySFm4ey9U
There he builds an entire city, with a real cool fast map cheat, and then applies textures to many buildings at once. You will learn some other cool stuff as well. I hope that helps. Yiuliana

Please clarify your question. It is vague. Include an image.  Please show a few objects and 2 or 3 to which you have applied an image.  An improved question may get a bigger response.

Please state your level of experience with Blender and Python or similar tool.  Small Medium Large.

@atomicbezierslinger I appreciate your feedback! As you have suggested, i've added a few images to make it easier to understand. To further answer your questions, i've used Blender for roughly 4 years, but it's mostly self-taught bits and pieces. I've ran a few scripts but i have no knowledge on how to write them.

Please place a texture on 3 meshes of maximum shape difference.  If the UV coordinates are available please describe this.  Count how many different mesh shapes you have.

Do your objects have a UV map?

@atomicbezierslinger As seen in the picture i can't really manually count all the meshes, but it's safe to assume there are at least a few hundred unique shapes. Since it's all low-poly the UV is relatively simple. As for the maximum shape difference, i don't think it's humanly possible to figure that out i'm afraid.

@batFINGER Yes, all meshes have a proper UV map. I have done my fair share of unwrapping and texturing so we can skip the basics. My main concerns are mentioned in my post. Any help would be greatly appreciated.

Assuming cycles, and each material has an image texture node then you want to D.materials['Material'].node_tree.nodes['Image Texture'].image = D.images['Material'] which assigns the image named "Material" to the image texture of material named "Material" (ie same name for  material and image) for all materials.  Yes? can't see that being too difficult, it's late here, will get back with answer .. unless someone beats me to it 8*)

@batFINGER Unfortunately the materials do not have any nodes, but i appreciate the help. Feel free to take a nap for now thouh.

Add details of your material set up to question.Eg how you manually add an image to one material (can then be done with script multiple times)  Maybe a small sample file with a couple of objects.

@batFINGER As to your request i've added more details and provided a sample .blend file.

Script.
Similarly to How can I connect a texture node to a material with Python? the script below, Looks for all materials whose name has a corresponding image (note the ugly check for "_dds" to ".dds") Then for all material, image pairs adds an image texture node and connects it to the BSDF node.
Script assumes you have already loaded in the images, a simple process of multiple selecting images when opening.
import bpy

for m in bpy.data.materials:
    img = bpy.data.images.get(m.name.replace("_dds", ".dds"))
    if not img:
        continue
    if m.use_nodes:
        # done this already??
        continue
    m.use_nodes = True

    nodes = m.node_tree.nodes
    bsdf = nodes.get('Diffuse BSDF')
    if bsdf:
        # add image texture
        teximage = nodes.new('ShaderNodeTexImage')
        teximage.image = img
        #link to bsdf
        m.node_tree.links.new(bsdf.inputs['Color'],
                teximage.outputs['Color'])


text:
SSS + fluid render issues. missing parts
I am trying to render some fluid with SSS shader but I am getting some strange behavior.
On the left you have a screenshot of the preview and on the right you have the render where you can see the second column from the top and third from the bottom have clean cuts which are not suppose to be here.

Here are the things I noticed

Applying the fluid simulation modifier fixes the issue but as I am animating
it it isn't a solution
replacing the sss shader to any other shader fixes the problem
moving the fluid to another layer or around the place doesn't change anything
Moving the camera around doesn't change anything
On every frame the issue is somewhere else

Any Idea how to fix it?
I'm on blender 2.78c. Here is a download link to the file, but beware, it's 3.5gb due to the simulations (7zip file)


text:
Why does my texture bake come out as completely black? (The age-old question.)
As many people before me, I'm trying to bake a terrain texture from a Blender material for Unity, and hence not illuminated by light in the scene.
I noticed a ton of forum posts by people with similar issues, but not one of the proposed solutions worked for me. I tried piping the colour output through an emissions shader instead of the principled bdsf shader and baking as the "emit" type, but to no avail... still black. I tried a glossy bake type... black. I recalculated normals, double-checked UV map, duplicated and replaced original mesh for good measure... stubbornly black. I'm trying to do it the emission shader way, so obstruction by other objects isn't the problem.
I'm stuck, and all the internet fixes are failing.
My file:

Edit:

It looks like the emission shader doesn't emit anything in the render view, which I imagine would make the bake always black. Time to investigate that!

Textures are not included in your file.. you should upload it again with textures packed in. Also can you confirm you want to bake to the texture named "terrain"? Why "from instancer" is checked in the uv map node?

@lemon Thanks for pointing out the texture issue; I'd never packed textures before. I think it's set up correctly now. I had assumed that "from instancer" referred to the UV map associated with whatever mesh the material was applying to, but maybe not? I went ahead and manually selected the terrain's UV map just in case.

It seems to work well. As your material is emissive, just choose "emit" in the bake settings.

Hmm, it still isn't working for me! I wonder if we're doing it differently somehow? I have "emit" selected in bake settings and everything, but it just creates a new black texture every time. I think I'll open a new project to see if I can get it working in a really simple case.

Ok, it turns out that a node group that I appended from Poliigon ("Poliigon Colour Variation") somehow breaks the baking process. I'm not really sure how, since I thought the group was meant to be a black box that takes colour in and pipes colour back out, but it might be useful for others to know. Here's a screenshot of the meddling node group:


text:
Vertices disappear after entering weight painting mode
I am trying to weight paint the head of this bear. In edit mode, I select all vertices of the head/ears/snout/eyes using L for each item. Then I Tab into weight paint, and the vertices "disappear."
I Tab back to edit mode, and get what you see here. You can see there are vertices to select on the eyes/arms/body etc, but the head and ears become only "lines" and I can no longer select them. If I "undo," then the vertices come back. Is this a bug?

EDIT: Entering sculpt mode, then edit mode, then pressing ALT-H to unhide all vertices, returns the "hidden" vertices to view, but they would "hide" again when I entered weight paint mode. I deleted the Blender application and re-installed and this has solved my problem; I am now able to select vertices in edit mode and paint on that selection in weight paint mode.

please put your file here for check

Known bug.  Workaround for now is to enter sculpt mode and alt h to unhide all vertices.  That should fix the issue, at least temporarily.

Thank you both. Nathan, your answer explained the issue and solved the problem.


text:
Bevel Modifier - Materials Issue
I am trying to use a bevel modifier to help define the shape of a character's mouth. I want the inside of the mouth to use a separate color from the exterior of the face. I cannot figure out a way to use the bevel modifier in a way that does not make the inner mouth color extend to the face (creating the look of "lips"). When I use the "material index" option on the Bevel Modifier, it removes the color from the face exterior, but the interior mouth color is incorrect and patchy. Is there a way to fix this to get the desired result? Thank you!

Hi, Wy ! If you cut the relevant chunk out of your model and shared on https://blend-exchange.com/ , then folks could check that their suggestions were working

Thanks Robin, the Blendfile is now added.

I tried playing around to find a solution for you. When I tried to add segments to my bevel modifier it seemed to do the trick.
If not maybe playing with the material index?


text:
modify mesh of existing model
I am trying to modify an existing simple mesh but am having trouble.  It is a disk amulet with a setting ring in the center (extruded and beveled) with a "Gem" setting in the center.  Right now everything is a disk with the gem being half a sphere.  I would like to turn the setting disk and the gem into an oval shape rather than the disk shape while the outside disk stays the same.  I have imported the model and have selected the  points of the mesh that represent the setting disk but do not know how to modify the shape.  Any help would be appreciated.

With what you already have selected in the image - try turning on proportional editing (hotkey - letter O) and scale on the X axis only (S + X). You can adjust the size of the edit influence by scrolling the mouse wheel. You also may end up needing to hide some parts of the mesh you don't want to affect first. There are also different edit "shapes" that can be accessed from the proportional edit menu at the top center of the viewport (next to the snapping options), but I think the default should work for you as a start.

There are a few ways to do this.  Here's an easy one.

Deselect everything.
Select the vertex at the very top of the hemisphere
use CTRL–+ to add to the selection until you've selected all of the vertices you want to include.  (Alternatively you can use circle or lasso select.)

You'll have a selection that looks like this, roughly:

scale in the X direction to fix the X axis of the oval (shortcut SX)

scale in the Y direction to fix the Y axis of the oval (shortcut SY)

Of course, you may need to scale in only one direction to get the shape you want.


text:
UV islands won't align correctly
I'm having issues with unwrapping a mesh with no seams. It should be a very easy process but I've been trying to solve this issue for a couple of hours.

As you can see from the images above, it results in a horrible alignment. No double vertices, all transformations applied... The only parts that unwrap correctly are the furthest left faces and the bottom face. I have no idea why the rest of the UV won't align. Cube projection seems to get around this issue but it results in warped faces and unaccounted for UVs.
Did I unwrap this mesh correctly? If not, why isn't it unwrapping properly?

why have you separated the UVs? Maybe select all the mesh and unwrap once?

It's all part of the same object, they were unwrapped together.

it doesn't look like, the UVs are separated as we can see in the UV Editor, it explains why the texture doesn't match

maybe provide your blend file so we can check it out?

i added the blend file... cheers for the help!

moonboots got is quicker ;) but as you can see - providing blend files help a lot to get quicker and more precise answers ;)

The first part of the object is disconnected from the second part.You just need to join it.
like this

As you can see in Edit mode the faces are separate, it separates the UVs when you unwrap:

You can quickly fix your problem if you create this edge and merge it with this vertex, then unwrap again:

Or choose another unwrap method, like Project From View.


text:
Inverse Kinematics Chain Length Goes Down Wrong Branch
Trying to follow CG Geek's tutorial for making a tree rigged with inverse kinematics, however when I increase the chain length instead of progressing towards the trunk it instead goes back up a different branch.

Attached here are the photos of chain length 3 and 5, every other branch I tried with works perfectly fine and goes toward the trunk.
Mega link for the file:
https://mega.nz/file/eRlylQYa#yklLZUgpOwO9LQ7dWi95fLkDy0NpJc2d43LofkGw-OU

Check the parenting of your bones.

If you switch the viewport display of the armature to Octahedral and hide the tree, you find that 4 bones back from the bone you're adding IK to the order of bones is switched:

The IK chain is following the direction of bone parenting but you have Bone.41's parent be Bone.08 rather than Bone.40:

You need to redo that part of the chain so that the bones are properly parented.


text:
Changing an object's acceleration through blender python
I have a rocket based off of some data of its real-world acceleration. The acceleration is changing at an inconstant rate. So for every second (24 frames in my situation) I want to update my rocket's acceleration in python. The only way I have thought of it being possible is keyframing gravity, but I have no idea how to do that in blender python.

Are you trying to simulate the rocket's path using a physics simulation?  If so, your acceleration is a force that you're applying to the rocket, and you can keyframe the value of the force.

Where would you get acceleration as a force, and how would you keyframe it?

While you answered the nuts and bolts of the question, the spirit of the question begs the question of why not just key-framing a force-field's force...

In my scenario, I needed to align the objects acceleration with external data. Unfortunately, force fields aren't measured in newtons, as far as I'm aware. Essentially what I'm trying to say is that force fields won't work for me because I can't convert force field units to newtons, and back to acceleration. Even if I could, I believe just changing the acceleration to the data is much simpler.

Fixed the issue, it seems that through scripting, we can change the gravity (acceleration) variable at certain frames. In my situation, I wanted to switch gravity at every second, therefore, every 24 frames. So it would look like
 C = bpy.context
 def my_handler(scene):
     if C.scene.frame_current % 24 == 0:
         C.scene.gravity[2] = currentAccList[int(C.scene.frame_current/24)]

Essentially, for every second, we update our acceleration from a list. In my situation, that list is rocket acceleration data.
C.scene.gravity[2] represents acceleration in the Z axis (up, down).
Another useful tip, if you want to have the simulation and gravity set beforehand, this reference helps:

You might want to add additional context, right now as written the force will be set to zero on the 24th frame and stay zero (and if that's what you want, why not just >= 24?)

Updated it, hopefully it makes more sense.


text:
Blender crashes using a bmesh python operator
The following python operator crashes blender. I'm using 2.93.5 on Win10.
Strangely however, if I use the python terminal built into blender I can import bpy, bmesh and from bmesh.types import BMVert and then paste the entire code between  ### START ### and ### END ### and it all works fine, with no crash.
But when I try to run the code from the python terminal by typing bpy.ops.mesh.generate_arms() then blender will immediately crash.
Is there something wrong with the code, or is this something I should file a bug report for blender?
import bpy, bmesh
from bmesh.types import BMVert

class MESH_OT_Generate_Arms(bpy.types.Operator):
    """Generate Arms"""
    bl_idname = "mesh.generate_arms"
    bl_label = "Generate Arms"

    def execute(self, context):

        ### START ###

        #create cube
        bpy.ops.mesh.primitive_cube_add(size=0.1)

        # turn on edit mode
        bpy.ops.object.mode_set(mode='EDIT')

        # get the mesh data of the active object
        ao_d = context.active_object.data

        # get bmesh from ao_d
        bm = bmesh.from_edit_mesh(ao_d)

        bm.faces.ensure_lookup_table()

        # extrude
        ext = bmesh.ops.extrude_face_region(bm, geom=[bm.faces[1]])

        # translate
        bmesh.ops.translate(bm, vec=(0, 1, 0), verts=[v for v in ext["geom"] if isinstance(v, BMVert)])

        bm.normal_update()

        # update the viewport so we can see what we are doing
        bmesh.update_edit_mesh(ao_d, True, True)

        # return to object mode
        bpy.ops.object.mode_set(mode='OBJECT')

        ### END ###

        return {'FINISHED'}

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

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

if __name__ == '__main__':
    register()

Here is a screenshot of just cutting and pasting the text in the terminal, showing that it works fine. It only crashes when I run it in the terminal with bpy.ops.mesh.generate_arms()
It still immediately crashes blender when I run bpy.ops.mesh.generate_arms() in the terminal.
It also immediately crashes blender if I search with F3, and then click "Generate Arms" to run it that way.

one problem is that you shouldn't call bm.free when you use bmesh_from_edit_mesh but should instead call bmesh.update_edit_mesh, which you've already done.  Also you don't need the del call, since bm will go out of scope anyway.

Thanks, I have now removed those, and updated the code above, it still crashes blender as I have described.

I think I have narrowed it down to line right after # extrude because I commented out the file line by line, testing each time if it would crash, starting from the bottom, and it continued to crash until I commented out that line. But I have no idea why that line might be cause it to crash.

You're using bpy.context where you should use context, although that shouldn't cause a crash.  The code works for me when I run it standalone, rather than as part of the execute method, if that's any help.

I updated the code using just context, still crashes. Are you using Win10 as well as Blender_2.93.5?

got it.  vec takes a tuple not a vector.  Try bmesh.ops.translate(bm, vec=(0, 1, 0), verts=[v for v in ext["geom"] if isinstance(v, BMVert)])

In the original version of the question you had an unnecessary call to bm.free that you removed.  In the current version of the question, there is a use of bpy.context... that should be just context... but the main problem is that the vec argument of bmesh.ops.translate takes a tuple rather than a vector argument, as shown in this example.  Here is a version of your script that works in 2.93.6:
import bpy, bmesh
from bmesh.types import BMVert

class MESH_OT_Generate_Arms(bpy.types.Operator):
    """Generate Arms"""
    bl_idname = "mesh.generate_arms"
    bl_label = "Generate Arms"

    def execute(self, context):

        ### START ###

        #create cube
        bpy.ops.mesh.primitive_cube_add(size=0.1)

        # turn on edit mode
        bpy.ops.object.mode_set(mode='EDIT')

        # get the mesh data of the active object
        ao_d = context.active_object.data

        # get bmesh from ao_d
        bm = bmesh.from_edit_mesh(ao_d)

        bm.faces.ensure_lookup_table()
        # extrude
        ext = bmesh.ops.extrude_face_region(bm, geom=[bm.faces[1]])

        # translate
        bmesh.ops.translate(bm, vec=(0, 1, 0), verts=[v for v in ext["geom"] if isinstance(v, BMVert)])

        bm.normal_update()

        # update the viewport so we can see what we are doing
        bmesh.update_edit_mesh(ao_d, True, True)

        # return to object mode
        bpy.ops.object.mode_set(mode='OBJECT')

        ### END ###

        return {'FINISHED'}

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

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

if __name__ == '__main__':
    register()

For completeness, here's a blend file with the version that works for me.

Unfortunately it still crashes when I run it in the python terminal with bpy.ops.mesh.generate_arms() but just like before I can run it in the terminal just by cutting and pasting the pertinent lines of code. But I do appreciate the help and I'm sure those are bugs that you squashed. I added another screenshot to the OP.

It should not give you error messages if you do that.  Try going to the 3d viewport, typing F3, and searching for "generate" and executing it that way.  That should work.

Going to a 3d viewport, then F3, and searching then clicking "Generate Arms" causes blender to immediately crash.

maybe a 2.93.5 bug?  I've upgraded to 2.93.6

I upgraded to 2.93.6 same result, maybe it is a bug

I'm not sure what the change was, but when I downloaded your blend and tried it, everything worked. So then I used a difference tool (Meld) to compare your file with mine, and made the changes to my file (nothing really important just some formatting and comments. But for some reason after making yours match mine, mine also works. Thanks a lot for all the help. Very puzzling, but it works. :)

I wish I had it in version control so I could go back and see exactly what the changes were.


text:
Whenever I tried to add a material slot to a tracking scene plane, it shades out black. The File is in **EEVE Mode**
In blender version 2.82, in EEVE Mode in rendered shader-view when I tried to add a material slot to a plane, which I generated by tracking a scene, the plane shaded out black with no texture.
I tried it several times but I failed to find a solution to it. Without a material slot it was looking fine but adding a material would turn it black again.
I thought It's so because I have not added a texture to it. But when I added, It also didn't solve the issue.
I also even cleared and reassigned UV maps to the plane. It did not help me.
hope who may be reading this would be knowing the solution to this or may be facing the same problem.
I'll be grateful to the persons who'll be able to find a solution to this.
Hope this information is enough to describe my problem.
I'm also giving a link to the file below--
https://drive.google.com/file/d/1bf_9HzR12mw66E9cNw_Tgk2w2oPZX4EM/view?usp=sharing
It will redirect you to my file.
Also I am Giving the link to Image sequence folder below:--
https://drive.google.com/open?id=1aaoDAXLmkwhHGHiGpkHfpaX8LX8LNvY5
Also the FPS Rate is 29.97 .
Thanks for trying to understand my problem.

Ok here is a simple solution go to your collection and move the ground from background collection to foreground collection

and the other way is to disable holdout for the background you will find it in the filters in collection

Very Very Thanks Mr. Jackson. It Helped me a lot

Your welcome :)


text:
Bone rotating around cursor instead of origin
I'm new to blender, trying to animate the fingers of a character. The finger bones are parented (not connected), but they are rotating around the cursor, instead of their origin. How can I make these finger bones rotate around the their origin? Seems really simple, but I'm struggling to figure out why they are behaving like this.
Also, this rigged model is a paid asset from the Unity asset store. I did not make it, maybe there's something fishy going on from the import to Blender?

Push . (Period, not on the numpad) to switch transform pivot modes. You can also do it the slow way by clicking up here:


text:
Can I link a .blend file instead of separate object?
If I link objects separate, I have to link all new objects one by one if I change the original file, isn't it?
if I want to link a file which has 3 objects, I have to link 3 objects separately, I can't just link the .blend file, isn't it? But if I add another 5 objects in the external .blend file, I have to link those 5 objects one by one into the .blend I'm working in, they won't be added in the .blend I'm working in automatically, because I didn't link them before. Is there any way to let them be added automatically?

You can create a collection in the original blend file with all necessary objects.
Link the collection in the link blend.
When you add object to the original blend to the collection, the collection will update in the link blend.

But if I link a collection, everything will combine together, I can't edit contains in the collection separately, isn't it?

Yes. Although you can just make the object from the collection local and they will be linked at object level. (You could hide collection and only unhide it to "import" the new objects.)

No, as their name tells you: links are... A link between two files. You make a link between something in an external .blend and the .blend you're working in.
No matter what you have linked, it will update once the changes are saved in the linked file and the link reloaded (or the entire working blend reloaded).

Thank you for your reply. But what I mean is, if I want to link a file which has 3 objects, I have to link 3 objects separately, I can't just link the .blend file, isn't it? But if I add another 5 objects in the external .blend file, I have to link those 5 objects one by one into the .blend I'm working in, they won't be added in the .blend I'm working in automatically, because I didn't link them before. Is there any way to let them be added automatically?

@newbie I suggest adding this information into your question


text:
How to smooth (subdivide) a Bézier curve without converting to Mesh
I am working on an animation in which a long mesh (similar to a snake) uses a Curve modifier to deform around a spiral curve. The mesh is animated to move on the the Y axis and this is how it deforms along the curve.
I have kept the vertices on the curve minimal so I can easily adjust their tilt to make the mesh follow the curve in a specific way. The problem is that, when the mesh deforms along the curve in the animation, it looks jerky and jumpy because of the low vertex count on the curve.
If I convert the curve to a mesh and apply a subdivision modifier, the mesh's deformation along the curve becomes smooth in the way I want, but I lose the vertex tilts that I have calculated.
Is there a way to make the curve more smooth for the animation, or preserve the tilts I have calculated after converting to a mesh?
Thank you!
EDIT: Blend file added:

please provide blend file because we have no idea how your mesh geometry is. thx.

First thing that comes to my mind: right at the top of the Curve Properties below the 2D/3D buttons, what have you set as Resolution Preview U? The default 12 or something lower? And have you tried increasing the resolution? But maybe I'm getting this wrong.

Do you need to animate the tilt, or just set a 'rest' tilt accurately?

Blend file is added. I do not need to animate the tilt, I only need to set an accurate "rest" tilt. I have tried increasing the Resolution Preview U, and that does not seem to have any affect. Thanks for the responses!

The best solution for me ended up being to convert my original curve's spline type to "Nurbs," re-calculate each vertex's tilt to make the mesh follow the curve in the way I wanted, increase the curve's "Smooth" to 30, and move the Curve modifier to after the Subdivision modifier on the mesh. The geometry nodes setup that was suggested here seems promising as well, and experimenting with it helped me understand how these variables work together.

One approach might be to align the normal of the spiral, (by adjusting its tilt) to the normal of the surface it's wrapped around, using the logic described here. Unfortunately I haven't found a way to bake the tilt into the spiral for later use by the standard Curve deform  modifier, so the deformation has to be handled by the same group, using the logic described here:

There may be a re-arrangement of the interface that suits you better. This is the result..

If it needs more refinement, for example a reasonable interface to vary the tilt with respect to the surface normal, along the spiral.. (?) ..  call back.