text:
Animating creation of a model?
How would I go about animating the modeling process of a model? I can keyframe location, rotation, materials, etc. just fine, but not deleting faces from the model or modifiers as they are used, or hiding faces. What would be the best way to approach this?
To be clear, what I am wanting to do is animate the transformation of an object from a primitive to a complete model smoothly. A picture of a simple model as an example is below, I'd like to animate the entire process with each detail between steps 1-6 (scaling, deleting faces, modifiers being added and applied) and visible to the camera.

Screen capture?

I think you should better define what kind of animation you are looking for, or the question risk to be too broad. Try to describe what should bee seen on the screen, or link something similar.

I often set up a special camera which I think will show the entirety of the completed model, then repeatedly render and reload the file in a separate blender instance (while simultaneously working on the file in the first blender instance). The resulting saved renders can then be assembled into a video in the VSE.

You could try saving your model at various points that you'd like to show, and then import/link them all into one file, and keyframe their visibilities in that file.

Get all your objects into one file.  Import them if you don't think you'll need revisions.
Select the object you'd like to show first.  Get to frame 1.
Hit the "Eye" icon in the outliner to make the object invisible.  Keyframe that object's visibility.  (Hit "I" on the eye icon in Outliner).
Advance to frame 2, make the object visible again, and keyframe it again.
Advance however many frames you'd like this object to be visible.  Let's say 24 frames.  On frame 24, keyframe the visibility again.  Then on frame 25, turn the visibility off, and keyframe it.
Open up a NLA window, select that object, and press the 'down' arrow to push the action onto the stack.  That just enables the NLA to manipulate actions.
Load up your other objects, and load them into the NLA editor.  Just keyframe your un-keyed objects to get them to show up.
Select another object's track, and from the NLA menu select Add >> Action.  Select the action from the first object you keyed.
Repeat step 8 with the other objects.

Hopefully that makes sense to you.  To see a rough idea of this setup, check this out: http://pasteall.org/blend/40878

Please add some more details to your answer as to how the OP can actually do this.

Another approach could be to use a texture as a mask and animate that. E.g. use a checker texture and scale it so your entire mesh "fits" into one of the squares. Use that texture as a Fac input for a Mix shader that blends between a transparent shader and your actual material(s). Then animate the texture's position via a mapping node.

Take a look at the Build modifier. It will animate a mesh, building it up one vertex at a time. It does unfortunately not offer any control on the order in which vertices appear, though...

Could you please flesh out this answer so it is easier for newer users to follow your suggestion?

Taking into account the latest edits to the original question, I don't think this would hold any merit as it is now clear this is not what the OP was after. With this new information I rather tend toward deleting my answers now... Then again, other users might stumble upon this question only based on the headline because they were looking exactly for this...

Go ahead and leave them, if it becomes necessary to remove them then someone will yet you know :)

I would use OpenGL Render Image, very much like the other answer here, except that you would be using a lot less space (png at same res always, instead of a growing mesh size).
Be sure to save your images with sequence numbers, then pull the image sequence in as a movie of type 'image sequence', and render out the movie (image as plane add-on would be great here, but so is the VSE).


text:
In order to apply a design on my object, should I texture it or model it?
This is my first real project on Blender. I need to create three decorative objects to a design class I have. I already done the "blocking" and texturing, but I cant solve two problems:

How to apply this tribal design over the object?
How to "engrave" the sun and moon into the objects?

Can anyone enlighten me on this topic?

Textures for Details
I suggest unwrap your object and create a black and white texture for all the details. This simple technique allows to apply different shaders to each part of the object and can be used for a normal map as well, while keeping the geometry nice and clean:

Further reading: Add different materials to different parts of a mesh?

Did exactly what you said and it worked wonders. Thank you so much!

Engraving something onto a surface using the knife project tool:
First, create the outline of the shape you want to create with vertices in a separate object:

Then, in object mode, first select the shape, then the cup (or other object) behind it second, then go into edit mode:

Now, using the search menu, do a Knife Project, making sure the viewport points directly at the surface:

Now, you can just extrude the vertices on the cup inwards to create the engraving:

One note is that i used the auto-smooth feature under normals to remove any bad shading artifacts.
You'll need to be a little less vague on the second part. What do you mean by "apply the tribal design"?

Thank you so much. I will try later today.
I just added another image to the post. See those lines in the lower part of the cup, for exemple? Or on the backside of the mirror? I dont know how to "paint" it on the object without losing the texture of either the paint or the surface!

I took what you said and used it with the boolean modifier, since i couldnt find the Knife Project you mentioned, worked great!  Thank you!

no problem, the boolean modifier is definitely another good method, and even makes it more configurable later on.

source: Stack Exchange

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

sort: votes


text:
Animation renders without modifiers applied - still image (F12) renders fine
I use Blender 2.83. Followed a YouTube tutorial to create an audio visualizer. Everything works great in viewport, and rendered as still image. However, when I render an animation, the main object in my scene is rendered without modifiers applied. This occasionally also happens when rendering with F12, but rarely.
There are no error messages in the system console. Am I doing something wrong? Is this a bug?
Images attached:

Viewport
F12 Still
Animation

Any help welcome! Thanks!

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


text:
Render has gray spots all over it
I didn't use cycles render a long time and got a problem. If I use dark environment lighting, blender doesn't render it smooth. Maybe it happens because I'm using denoising, I don't really know.
So here is how it looks:

And the whole render look like this:

Gray spots mess up all render. I tried to search how to remove them, but still didn't find anything.

That blotchy look means Denoising artifacts. Use more samples and use less agressive settings for the denoiser.

Does this answer your question? Why is my render noisy/blotchy?

You could do these things:

You probably have too little samples in your render. Increase your samples and re-Render.

Render with "Denoising Data" or if you have it enabled, render without.

If you render with the old denoiser, render with the Intel Open Denoiser (The node in the compositor)

If that doesn`t help, please post a render without denoising.


text:
Why does inserting a second keyframe make blender overwrite the first keyframe?
I'm kinda new to blender and also English is not my native language, so sorry for that. The main goal is to animate "Transform Randomization" of multiple objects.
So I'm trying to setup two keyframes of animation, where for the first keyframe the cubes are already randomized and positioned right, and for the second keyframe the cubes go on their native places and make a flat surface.

But when I'm trying to add second keyframe where all the cubes make flat surface - blender kinda ignores everything it memorised and works with new coordinates, so the first keyframe is ruined, and both keyframes are flat surface. It just kinda unavailable to register the action right when I randomize transform.

As you can see both of keyframes now have the cubes making flat surface, instead of animation of randomized cubes falling into their native places making a flat surface.

I somehow solved the problem my self. I think i did something wrong with keyframes from the beginning so the coordinates were both the same no matter what.


text:
How to make shoulder bend properly?
I'm trying to make my shoulder bend properly
and so far it looks like this:

but when I try to move my hand it looks like this:

I was wondering if there was a way I could limit the rotation around the shoulder part (especially around collar.2) so that it doesn't look way out of place
I tired to limit rotation in IK but it doesn't seem to work the way it should:

so how do I make my shoulder more natural? and how do I control how much each bone rotates in IK?
( also on a side note are there any tutorials on detailed shoulder rigging? )
here's my blend file:

wouldn't it be easier to shorten the IK chain (like 4 rather than 5) and move the shoulder bone manually? maybe try a copy rotation constraint for the 5th bone (with a low Influence)?

@moonboots I've been trying for the last 3 days could you modify the provided blender file so I can understand what you mean?

I mean in the IK constraint, choose a shorter chain length? And if you want the shoulder to move, move it manually now that it is not part of the chain?

@moonboots actually I could solve the entire problem but for some reason this isn't working in my blender: https://www.youtube.com/watch?v=JuBIiFfrXBY

what do you mean? what did you solve and what isn't working?

@moonboots i said i could solve my own question but can't because I can't reproduce the same results as given in the video link

It looks like the IK limit is on the wrong bone.


text:
Cannot create library override
I'm trying to create a library override after linking objects into my scene like this:
import bpy

filepath = '/path/goes/here/Testing.blend'

with bpy.data.libraries.load(filepath,link=True) as (data_from, data_to):
    data_to.objects = data_from.objects

scene=bpy.context.scene
collection_name="Linked"

try:
    link_to = scene.collection.children[collection_name]
except KeyError:
    link_to = bpy.data.collections.new(collection_name)
    scene.collection.children.link(link_to)

for obj in data_to.objects:
    if obj is not None:
        try:
            link_to.objects.link(obj)
            bpy.context.view_layer.objects.active =obj
            obj.data.override_create(remap_local_usages=True)
        except:
            print("already exists!")

but this doesn't seem to have any effect
I tried this solution:
link_to.objects.link(obj)
bpy.context.view_layer.objects.active =obj
bpy.ops.object.make_override_library()

but this seems to make duplicates for some reason

I also tried this solution but it also does nothing,
so how do I library override objects?

Nvm I figured it out
for obj in data_to.objects:
    if obj is not None:
        try:
            link_to.objects.link(obj.override_create(remap_local_usages=True))
        except:
            print("already exists!")


text:
How to force draw_handler_add?
I have a draw function inspired from this answer:
def draw():
    print(gpu.state.viewport_get())
    framebuffer = gpu.state.active_framebuffer_get()

    viewport_info = gpu.state.viewport_get()
    width = viewport_info[2]
    height = viewport_info[3]

    framebuffer_image.scale(width, height)

    pixelBuffer = framebuffer.read_color(0, 0, width, height, 4, 0, 'FLOAT')

    pixelBuffer.dimensions = width * height * 4
    framebuffer_image.pixels.foreach_set(pixelBuffer)

and I'm trying to force redraw it once
_handle_3d = bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'PRE_VIEW')

#some code here to force invoke

bpy.types.SpaceView3D.draw_handler_remove(_handle_3d, 'WINDOW')

The reason I'm doing this is because when I use draw_handler_add it gives:

but when I directly use draw() it gives the entire window:

A tag_redraw() on all 3D Viewport areas should do the trick. That invokes a redraw.
_handle_3d = bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'PRE_VIEW')

for area in bpy.context.screen.areas:
    if area.type == 'VIEW_3D':
        area.tag_redraw()

def remove_handler():
    bpy.types.SpaceView3D.draw_handler_remove(_handle_3d, 'WINDOW')

# When we remove the handler immediately, Blender had no time
# to invoke the redraw. So we remove the handler with a tiny delay.
bpy.app.timers.register(remove_handler, first_interval = 0.01)

When it is just code for your self, no official support needed, you could also use this trick in the Blender documentation:
# Redraw window
bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)

didn't work in my case, here's the entire code if you want to try it

Hmm, it seems Blender needs a 'tick of time' after adding the draw handler. I'll modify my answer.

I don't suppose bpy.ops.wm.redraw_timer invokes the function while the script is being executed? Is there any work around that?


text:
How to model the bottle threads?
The picture show the threads I want to create on the highlighted object. Problem is I don't know how and tutorials really haven't helped much as most of them seem to be about creating a bolt.
So I was hoping I could get some help on how to do this efficiently.While keeping the top flat like a water bottle.
The picture shows the threads I'm after.

Can you post a reference for what you want?the threads I mean.

I'm trying to get a picture. The threads are that of a nail polish bottle.

There are tutorials out there on making a lightbulb. There are threads on the bottom of these lightbulbs...

Use a spiral curve. Please see my answers to get the idea: http://blender.stackexchange.com/questions/47044/create-threaded-drill-bit-from-cone and http://blender.stackexchange.com/questions/46706/how-can-i-make-a-coil-with-relief-volute

Using a screw modifier and knife boolean

Start off with a cylinder. Duplicate one polygon and separate it off into its own object.
Extrude the face out into a box.  Make loop cuts in the box.  Select one face at a normal to the cylinder then invert the selection and delete all the other faces.  You should have a face that's aligned with the cylinder edge and at a normal to it.

Add a Screw modifier.  Ensure the number of steps agrees with the number of sides on the cylinder.  Adjust the settings until you have the desired spiral for your thread.  Apply the modifier.

Join the screw and cylinder objects into one mesh.  In edit mode, select the cylinder polygons and click Intersect (Knife) on the Face specials menu.  The screw polygons are no longer required so can be deleted.

Add a couple of edge loops to the main thread spiral.  Then use the inset polygon tool to bevel out the thread itself.  Adjust the start and end of the thread so there is a smooth transition.

The resulting topology leaves 4 ngons, but I like how they subdivide so I leave them in. Converting to all quads is possible with some thought.

The final render

Cool method! +1 from me. BTW I totally forgot about the 'Intersect (Knife)' tool. Thanks for reminding me this useful feature.

This looks very cool but I wasn't able to add edge loops on step #5. Also on step 1 - how do you duplicate the cylinder's face along the existing face (not along X Y or Z?) - thanks

You may model it using Extra Objects and F2 add ons.

Start with enabling the Extra Objects add on. Then add a Spiral (Add-->Curve-->Spirals). Play with its settings in the Tool Shelf (T). Remember to make the Steps number the same as your cylinder's vertices are.

Convert your curve to a mesh (in Object Mode press Alt+C-->Mesh from Curve). Duplicate the newly created mesh and place it below to define the thread's thickness.

Delete the faces of the cylinder, select the curvy mesh, extrude it with E and scale (press S, then Shift+Z to scale with the Z axis excluded). Join the meshes with Ctrl+J.

Fill the gaps with the F key.

You should end up with something like this. Think about how to make a proper topology to make the edge loops (Ctrl+R) work.

How do you do image 5 where you just drag-fill! Amazing!

That is the F2 addon

@fabriced you can read more on the F2 addon in my answer.

As of v2.79, there are 4 choices for spirals: Archemedian, Logarithmic, Spheric and Torus. Which one do you mean? Only the Spheric one looks like a spiral but it's not cylindrical

You can always go the hard way in by taking a single vertice and creating a twirl shape with it using extrude (e.) put once your are done select the whole shape and extrude down the select everything you have at this point and extrude it into the object. The result won't come out as great but sometimes wasting time in blender is just sort of fun.

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


text:
Matcaps and Normal stretching
I have been experimenting with Matcaps, and also using procedural textures with Matcap vector mapping. I understand that Matcaps are using Sphere mapping, and so when applied to non-spherical objects, there is stretching.

In this example image, we see a simple sphere and Suzanne with basic procedural noise. Note that on Suzanne's face, brow ridges, and ears, the texture is stretched out.
What I would like to do is get a grayscale mask of this stretching area. So the sphere would be black, and on Suzanne, the previously mentioned areas would be a gradient up to white. As far as I can tell, this would be an area where the normals stay flat.
Is this possible, and if so, how?

Could you indicate your exact node setting so that there is no confusion about it?

The stretching is not on/off case, the amount of stretching is gradual on all of suzanne's surface. The question is, where would you like the threshold to be?

@lemon it's the same as in the linked question. Normal transformed from Object to Camera, then mapped with x and y location of .5 and x and y scale of .5

@Jerryno I should have said grayscale from 0 to 1, not a full black and white. I can always color ramp it for full black and white. Have updated the question. Thanks!

@Jerryno I am using the edited version with the transform set to Normal.

So, on a sphere there is no distortion. Any surface shape with curvature greater than sphere will be stretched in and with curvature less than sphere will be stretched out. This corresponds pretty much with the pointines - http://i.imgur.com/3nx6hTK.png. Thresholding this should hopefully give what you need. There is a small problem with camera position, for correctness it should be taken in account (mainly when moved to the side - it changes the distortion), but I am unsuccessful with that yet.

Quick Method
Basically, what we want to do is find the Dot Product between the normals of a bounding ellipsoid projected on to the mesh, and the normals of the mesh. First, enable Auto Smooth normals.

Next, add a Normal Edit modifier after a Subsurf Modifier (4 to 5 subdivisions) and set the Angle on the Normal Edit modifier to about 80 degrees. This will give us the approximate projected normals of the bounding ellipsoid.

Finally, add a Geometry Node and take the Dot Product of the (modified) Normal and (original) True Normal inputs (with vector transform) (it doesn't matter).

Result:

To increase the contrast, you can square the output with a Math node.
More Mathematically Accurate, Plus it Doesn't Mess Up Your Normals
The method above finds the projected normals of the bounding ellipsoid using Auto Smooth in combination with a Normal Edit modifier. This has some limitations: 1) the resolution of your map is tied to the number of faces you have, slowing down rendertimes, 2) the Normal texture coordinates are messed up, so to have "normal"-looking normals, you have to use True Normal, which is again tied to the face count, and 3) the map just isn't as detailed as it could be, due to limitations of the Normal Edit modifier.
If you are willing to work with OSL (Open Shading Language), you can avoid all this with some code.
First, we need to figure out a way to project the normals of the bounding ellipsoid on to the mesh (in this case, Suzanne). I found this helpful, if dense, article here. The important part we need to pull out of this are these equations:

$$y_0=x_0\left(1+\frac{t}{e_0^2}\right),y_1=x_1\left(1+\frac{t}{e_1^2}\right),y_2=x_2\left(1+\frac{t}{e_2^2}\right)$$

where the x's are the coordinates of a point on the mesh, the y's are the coordinates of a point on the ellipsoid, the e's are the axis-aligned radii of the ellipsoid, and t is a certain value that makes everything right (more on that later).
Let's see if this method even works. I drew up a proof of concept in Desmos. You can look at it here. By moving the red dot labeled "Point on Mesh", we can see the algorithm finding the closest point on the ellipse, we just have to manually adjust the t value.
While having to manually find the t value isn't ideal, it is only one variable. We can use a for loop to iterate through a bunch of values and figure out which value best gives a point that solves the equation for an ellipsoid:

$$\left(\frac{x_0}{e_0}\right)^2+\left(\frac{x_1}{e_1}\right)^2+\left(\frac{x_2}{e_2}\right)^2=1$$

(naming conventions the same as above)
So, what should our inputs and outputs be? We need the Object coordinates as an input to give us the coordinates of our mesh point, and the Dimensions of our object (X, Y, and Z), both vectors. Since we are calculating t with a for loop, we'll need an iterations count, and a step value to set the detail. As far as outputs go, we need a map of the stretch (dot product), and, just for fun, the ellipsoidal normals.
Let's start coding! Create a new text file in the Text Editor (or something else) and name it stretch.osl. Set inputs and outputs, and declare our variables:
#include "stdosl.h"

shader stretch(
    /*Set Inputs*/
    vector Object = P,
    vector Dimensions = vector(1),
    int iterations = 200,
    float step = 0.05,
    /*Set Outputs*/
    output float Fac = 0,
    output normal Ellip = 0
)
{
    /*Point on Mesh*/
    float X0 = Object[0];
    float X1 = Object[1];
    float X2 = Object[2];
    /*Radii of Ellipsoid*/
    float E0 = Dimensions[0];
    float E1 = Dimensions[1];
    float E2 = Dimensions[2];
    /*Point on Ellipsoid*/
    float Y0 = X0;
    float Y1 = X1;
    float Y2 = X2;
    /*t value*/
    float t = 0;
}

Next, we need to figure out how accurate we want to be. Since we don't want our algorithm to take ridiculously long (or fall prey to floating point errors), we need to figure out how many significant figures is reasonable. I chose 3. Unfortunately, OSL doesn't round to a certain number of significant figures, only to whole integers, so we have to write our own significant figures rounding function. Place it at the beginning of the code, below #include "stdosl.h":
#include "stdosl.h"

float sfround(float num, int d){
    num = num * pow(10, d - 1);
    num = round(num);
    num = num / pow(10, d - 1);
    return num;
}

For the next part of our algorithm, we need a way to figure out how close we are to having an accurate t value. As we saw in the Desmos test, when the t value is correct, plugging numbers back in will yield 1. Let's write a small function to calculate this for us. Place it after the variable declarations:
    float onEllipsoid(){
        return sfround(pow(Y0, 2) / pow(E0, 2) + pow(Y1, 2) / pow(E1, 2) + pow(Y2, 2) / pow(E2, 2), 3);
    }

Now we can write our for loop! Place it below the onEllipsoid() function. I've commented in what everything means.
    for(int i = 0; i < iterations; i++){
        if(onEllipsoid() < 1.0){ /*Point inside ellipsoid*/
            t = t + step;
        }else if(onEllipsoid() > 1.0){ /*Point outside ellipsoid*/
            t = t - step;
        }else{ /*Point on ellipsoid*/
            break;
        }
        /*Refine point estimate*/
        Y0 = X0 * (1 + t / pow(E0, 2));
        Y1 = X1 * (1 + t / pow(E1, 2));
        Y2 = X2 * (1 + t / pow(E2, 2));
    }

To finish it off, we need to turn the point we got into a normal. We can use this answer off of Math SE to accomplish this.
    normal elliptic = normalize(2 * vector(Y0 / pow(E0, 2), Y1 / pow(E1, 2), Y2 / pow(E2, 2)));

Now, all that is left to do is to write our answer to the outputs:
    Ellip = elliptic;
    Fac = dot(elliptic, N);

TL;DR - Just Give Me the Code
#include "stdosl.h"

float sfround(float num, int d){
    num = num * pow(10, d - 1);
    num = round(num);
    num = num / pow(10, d - 1);
    return num;
}

shader stretch(
    /*Set Inputs*/
    vector Object = P,
    vector Dimensions = vector(1),
    int iterations = 200,
    float step = 0.05,
    /*Set Outputs*/
    output float Fac = 0,
    output normal Ellip = 0
)
{
    /*Point on Mesh*/
    float X0 = Object[0];
    float X1 = Object[1];
    float X2 = Object[2];
    /*Radii of Ellipsoid*/
    float E0 = Dimensions[0];
    float E1 = Dimensions[1];
    float E2 = Dimensions[2];
    /*Point on Ellipsoid*/
    float Y0 = X0;
    float Y1 = X1;
    float Y2 = X2;
    /*t value*/
    float t = 0;

    float onEllipsoid(){
        return sfround(pow(Y0, 2) / pow(E0, 2) + pow(Y1, 2) / pow(E1, 2) + pow(Y2, 2) / pow(E2, 2), 3);
    }
    for(int i = 0; i < iterations; i++){
        if(onEllipsoid() < 1.0){ /*Point inside ellipsoid*/
            t = t + step;
        }else if(onEllipsoid() > 1.0){ /*Point outside ellipsoid*/
            t = t - step;
        }else{ /*Point on ellipsoid*/
            break;
        }
        /*Refine point estimate*/
        Y0 = X0 * (1 + t / pow(E0, 2));
        Y1 = X1 * (1 + t / pow(E1, 2));
        Y2 = X2 * (1 + t / pow(E2, 2));
    }
    normal elliptic = normalize(2 * vector(Y0 / pow(E0, 2), Y1 / pow(E1, 2), Y2 / pow(E2, 2)));

    Ellip = elliptic;
    Fac = dot(elliptic, N);
}

Well, now that we have the code, how do we use it? First, we need to enable OSL under the render settings.

Next, add a Script node with Shift + A > Script > Script and select the stretch.osl file, or whatever you named it. We need to give it the Object coordinates, and the dimensions of your object. Since my Suzanne object doesn't rotate, deform, or scale, I just copy-pasted the information out of the 3D Viewport (below the transforms in the N panel). If this doesn't work for your situation, it wouldn't be hard to implement drivers. Anyway, just copy the X, Y, and Z values into a Combine XYZ (Shift + A > Converter > Combine XYZ ) node and plug it in.

As far as the iterations and step values go, the default step should be fine; adjust the iterations until there isn't a visible change in the Fac output (it happens really slowly (depending on your step value), so use increments of at least 25 at first).
Now, a word on the Fac output. Black is more distorted, not white, and subtracting the output from 1 doesn't work to make it that way. Here's why: using Suzanne as our example, there are some areas like the ears or the back of the chin where the closest point is facing into the mesh. In the Fac output, this will look like a big black patch. In reality, it is just a negative value, showing a different kind of distortion. If we plug the Fac value into a Math node (Shift + A > Converter > Math ) set to Absolute, we can see that they are just negative values. Here is a GIF switching back and forth:

Anyway, hope this helps. It was fun to work on ;-). Congrats for reading this far!

I think you have the concept wrong of matcap materials.
They are purely based on direction, ea the black circle is a sphere.
and the view you have of the sphere is how a surface angle
as (camera to object), reflects to a equal surface angle of your object.
ea a random rotated cube, always has surface angles that would be the same as some points on a sphere.
So thats why stretching isnt related to matcap materials.
There is no stretch property in cycles nodes.
There is only pointiness, that takes into acount angle between faces
(great for dirt/rust setups).
Other ways might perhaps be painting canvas, to color based upon how near something is to a seccond (sphere) object, and have the factor back in your cycles nodes again.
Or use a particle system unborn particles as point density texture in a volume material.. looks kinda creepy ;)

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


text:
Bone constraints not working on first bone in chain
I have an IK chain controlling a mesh. I want to attach this IK chain to something. I have tried putting Child Of, Copy Loc, and Copy Transform bone constraints on the start of the chain. None of them do anything. Is there some rule against using constraints on the first bone in a chain? I notice that it works if I constrain the bone in Edit mode with a regular constraint instead of a bone constraint in pose mode, but this causes some strange issues.
Anybody know how I can go about attaching my bone chain? Specifically, I need to have it following a specific vertex (vertex group) on a mesh that is being simmed, so it doesn't work to constrain the entire armature object, or to constrain to the object. Is there an option better than constraining the bone in edit mode to an empty, and then having that empty be constrained to a vertex?
EDIT: Example file (see comments)

do you have other constraints on that bone ?

Yes, I have IK pointing to a vertex group at the bone's tip, but the problem remains even if I disable it. I have found that it works fine to constraint a bone to a vertex group with the constraints listed above if the bone is a single bone, or if the bone is part of a chain. But not if the bone is the head of the chain. For example, I can Child Of a bone to a vertex group at it's head, and IK it to one at it's tail. This causes the bone to move as the mesh it is constrained to moves. But it doesn't work on bones at the start of a chain.

do you want both head and tail of the chain to keep following the vertex group ? if this is the case parent the IK target to the vertex group as well

I'm using this specific rig to transfer motion from a simple cloth simmed mesh to a more complex final mesh. So in this case, every bone in the chain is IK'd to a vertex at its tip, and Connected to the bone above it in the chain. But as the cloth object moves (clothing on a character that is moving), the top bone in the chain gets left behind because it's head isn't attached (only its tail through IK.) I need to attach it to the mesh.
However, the problem I am describing appears to happen with any sort of bone chain, not just this strange setup I have.

can you add the bone chain and the cloth picture ,or a sample file , i can't get the full picture :)

I cannot share the full file for many reasons, but here's a small file where I've recreated the problem (if dropbox isn't okay, how should I share?)
https://www.dropbox.com/s/x14csvx23dx97ko/BoneChainConstraintProblem.blend?dl=0
Note that the first bone in the chain is Child Of vertex group 0, and IKed to vertex group 1. Enter edit mode and move loops around. If you move loop 0, not happens. If you disable the bone's IK and move loop 0, it rotates but doesn't follow the location. Other bones in the chain are working.

the main thing is a file with the described problem, I'll try and be back . and for uploading (it's your choice ) but  see this site with permanent free storage

see this gif is it how you want it to act

That looks correct from what I can tell from the gif.

i used the same setup as yours ( child of and IK's) but i can't tell what's wrong with your file

That is very odd. I made that file totally fresh. Can you share your file so I can compare?

Here is the file

The only difference I can find is that in my version, the first bone has the 'Connected' box checked, but it is greyed out and cannot be unchecked (I know this is normally greyed out in pose mode and can be changed in edit mode. It is greyed out in both.) Your bone has it unchecked. Everything else seems to be the same. Does this mean my bone is somehow parented to something? I originally created my bone chain by selected a vertex loop, duplicating and separating it, and using the Skin modifier to generate an armature. That object has been deleted.

it should not be checked on the root bone but as you said it have something to do with creation method toggle edit mode and uncheck it and see if it fix it, after that you have to correct the position

It is greyed out even in edit mode, which is unusual. I will test if this is a problem with Skin or something. That would be problematic as I need to generate a lot of bone chains, and skin is a quick and easy way to do that.

i did uncheck it in the file you gave me !  let me see again

even if it is grayed out just click it , it will work

Aha, yes! That's done it. Thank you! How do we mark this as answered?

you should write a nice answer and accept it ,so this question get to rest : )

The issue was with the bone at the start of the chain being set as Connected. This is because the bone chain was made using the Skin modifier on a vertex chain. Normally if you add a bone and then extrude it to make a chain, the first bone is not Connected. Apparently the armatures made by Skin are. The Connected checkbox is greyed out, but still can be unchecked. Since the bone has no Parent, the Connected status was locking it in place.


text:
VSE export edl or other markup format for editing?
So I'm editing footage together in blender, and I would like to use other programs with it (ie. DaVinci Resolve) And those programs use an xml file to use the same footage at the same edit points. So is there some way to export my videos as an xml file?
Thanks for your help!

XML isn't a video-editor file format, its a markup language used for lots of things. Can edit your question to link to the file format specification you're referring to?


text:
What are the denoising passes useful for in 2.79 experimental feature set?
In 2.79 when experimental feature set is activated, there are some new passes available to the compositor if Denoising is enabled.
The new passes that are there after rendering the denoising pass are as follows:

Denoising Normal
Denoising Normal Variance
Denoising Albedo
Denoising Albedo Variance
Denoising Depth
Denoising Depth Variance
Denoising Shadow A
Denoising Shadow B
Denoising Image
Denoising Image Variance

Here are a few example images of some of the passes with a simple scene:
Denoising Image:

Denoising Image Variance:

Denoising Normal Variance:

Denoising Shadow A:

Denoising Shadow B:

The only information I have really been able to find regarding these extra passes is located here.
Quoting Lukas Stockner:

...added an option to store the denoising feature passes in the render
  result (only visible when experimental features are enabled).
This makes it a lot easier to debug problems and check why some scenes
  don't denoise well, and might be useful for animation denoising in the
  future (since that requires multiple frames at once, it has to be
  separate anyways).

Even still, I'm not sure how these passes help with debugging issues, or present any other use until implementation is completed.
The question:
How are these passes to be used in current 2.79?
If they are simply for debugging issues, as mentioned by Lukas, or if there is another practical use for them, what would be a typical use case where it would be necessary to store them?
Here is the file used in the images above if anyone is interested:

There are no practical uses at the moment. It has been suggested that they will be used in compositor denoise setups, perhaps for denoising individual passes (as currently only the combined render is denoised.) However, whatever setup they are intended for has not been developed yet. It will probably happen when the denoiser is finished. So perhaps for 2.8, or perhaps not until later.
This info came from the blenderartist post. I asked about it here. I do not know if it discussed in more detail elsewhere in the thread, as the thread is huge!
https://blenderartists.org/forum/showthread.php?395313-Experimental-2-77-Cycles-Denoising-build&p=3208408&highlight=#post3208408

I would say it provides the same benefit as all the other passes. There have been several tutorials on re-creating the final render by mixing all of the passes, the denoising passes expand on that to allow you to also combine them in any way you choose. So you could blur it before mixing or increase the mix amount, or not denoise the shadows...

@sambler Perhaps you could add an answer with a short overview of how to mix them back together? That would sort of invalidate "There are not practical uses at the moment.".

@Leander there is a difference between practical and possible. CGCookie has a tutorial on creating nodes that combine the base passes to match the final render. Today we have the Denoise Node which makes a simple case for using these.


text:
COLLADA export tangent and binormal
Is it supported with the latest version of Blender? If so, how do I get the tangent and binormal information exported?
I did find a "roadmap" of sorts for the COLLADA exporter feature in Blender 2.5, and it does mention the binormal and tangent. I haven't found a similar roadmap or feature list however for the newest version. http://wiki.blender.org/index.php/Dev:2.5/Source/Architecture/COLLADA#Roadmap_.26_TODO
Any insight would be greatly appreciated!


text:
Wrong normals after merged two meshes
I am just in mid of work, merged two meshes and one of the meshes turned out to become black. I have flipped the normals, no success, and then I recalculated them to be sure, no success again. If anybody happens to have an idea to solve this I would be glad to hear.
Thanks for your attention.

Can you please share a screen shot ?

Was trying to, I'll try again, hold on.

There you go. :)

Your screen shot is not showing normals,
Please try to select one Object and flip the normals in your required direction
select other object and flip the normals to your required directions
as you combined the Objects all ready please use the mouse hover and L key to select each object.
Take a look of the image if I understood your issue correctly

I hope it will help you

The only time I've ever seen faces being so dark was when the normals where wrong way around. So I assumed this would be the same problem here. Though since flipping the normals didn't make the faces any better I have absolutely no idea what the actual problem is and how to anyhow solve it. I'll add another close up

I just also got that the rounded corners with applied bevel modifier are gone as well.. yep, I have absolutely no idea what is actually happening. xD

 try clicking on the faces one and see if the normals are actaully broken or the mesh just decides to be black, if it decides to be black there's not really any problem.

"if it decides to be black" the only problem then is that your mesh appears to have artificial inteligence turned on and it can decide something else for you.

lol, watch out that it doesn't take over your computer

As too often on this planet, the problem was sitting in front of the monitor, shame on me. So, now. After I finally really applied the Bevel Modifier and joined the two meshes it was no problem to flip the normals to usual and everything is fine and everybody is happy and thanks a lot for your help.

Great, have a nice time :)


text:
Why is hair getting different densities on arms with same settings (on render)?
The hair on the left arm looks ok in the viewport, but rare when rendered. It has the same settings as the right arm hair and similar editing with different vertex groups. I added new hair, changed the seed and got similar results. I could add more children, but I thought there must be something wrong.

Here is an edit with the settings. They are identical for both arms.

Please, add screenshots with actual settings


text:
Some blender newbie problems
https://www.youtube.com/watch?v=YuVJ7lP5Sfc&t
At the beginning of the video you can see that he adds a lot meshes.
How does he do that so fast? Because when I add two objects and then press Ctrl+J and try to sculpt, they do appear as one object but I still got some sculpting bugs (they cant fully "Connect").
In another section of the video (0:10), he somehow paints exactly on the mesh and turns it into a 3D object (the shoulder armor) and then adds a cylinder there.
Similar examples (1:48)

Please put some effort into communicating your question better. Be specific. Most likely, you will not get help with "some sculpting bugs" for example because there is no way to tell what you mean by that. You should explain in detail.

I dont know how to explain it more then i did already... i got many qustions in my topic. But i will try again i guess... when i join 2 mashes and then try to smooth them together (after pressing Ctrl + J ) i still cant smooth them fully in the "connecting" points.

I understand that English is not your native language, but you can still put some effort in communicating in full sentences and use some sort of spell checker add-on for your web browser. That would make it a bit easier to read and understand. I attempted to answer. I hope that helps.

Patience and tolerance is not your strong side ;D still Ty for trying i guess some else will understand what im talking about

I am sorry for being so direct, but it really helps to get better answers not just from myself. It's an honest advise despite it possibly sounding a bit rude. It's surprising just how much effort and time people put into answering questions here sometimes. I think it's always a good idea to encourage that by doing the same with asking the questions.

Hi. Please make the title of your question specific to the problem you are having and not just the general topic. Also, please only ask one question at a time. You are welcome to ask multiple questions but as separate posts. I suggest editing your question down to just one question (by using the [edit] link below it) and asking the other one separately. Thanks.

Ctrl-J joins two objects, but their geometry remains independent. It's almost like it's really only grouping the objects rather than melding them together. So when you find that you can't smooth them where they intersect one another, this is why. They would have to have their vertices merged after being joined. Then your smoothing effort would behave  more like what you expect.

K got it, so how u do join 2 objects so u can sculpt them as u wish ( if Ctrl + J is not the best option)

Ctrl+J is the only option. If you join them with Ctrl+J and use re-meshing from Data tab in the Properties Editor, it will create a continuous surface.

He is probably duplicating some objects with Shift + D in the beginning. You can also add objects quickly with keyboard - for example pressing Shift + A followed by M and M one more time will go through Add Menu then Mesh and then Monkey, you can type that quite fast. You can see the letters coresponding to the menu items in the menus underlined:

It's possible to create custom shortcuts for something that you do a lot as well.
If the object is constructed out of a lot of objects joined in sculpting, some sort of re-meshing is usually used to make a continuous surface that you can sculpt:

TY :)  but do you know what he does  in the 0:10 sec of thw video ? He somehow paints exactly on the mesh and turning it into 3D object [ the shoulder armor ] and then adding cylinder there.

I think this time-lapse is not the best material to learn from. I guess he might have some shortcut to add a single vertex mesh(like I do myself) or maybe he tabs into some objects edit mode and then duplicates a vertex that is later snapped to place and extruded to mouse position with ctrl + right clicking, it is possible to keep it on surface with snapping on and set to faces. It's hard to guess what exact functions he is using because it's sped up so much.

Its called Retopology. Usually used for creating a low poly model from a high poly model so that it can be used in games. But here he is using it to create the shoulder armor. He has snapping to surface enabled so that what ever he adds sticks to the surface or the  modlel below. He Starts by adding a single vertex and by extruding from this he traces out the outline of the shoulder armor. Then he fills in the the faces and probably using a Solidify modifier to give it thickness.

Blender has a steep learning curve and you have to learn the basics before attempting anything the least bit complicated otherwise everything else that follows becomes more and more frustrating.  Here is a link to a quick tutorial on Retopology but will not very  usefull to you if you are only starting out with Blender. https://www.youtube.com/watch?v=U3sY3f6aKB8

Hmm, to work at such speeds typically requires practice imo. It appears that the sculptor was also constantly adding meshes to the model. I believe the method is to not worry about clipping (or the need to join meshes), and always be refining and reshaping it.

Just my 2 cents, but hopefully this should get the ball rolling for when the real answers come along.

Cheers.


text:
Why did all of my objects disappear when sculpting?
I was sculpting then suddenly all of my objects disappeared! I'm not in local view, I added a new cube, I can see it fine, but I cannot seem to make any other object to show.
I think this might be a bug? The objects are still there in the bar, with the modifiers and all, I cant see or edit them. I cannot leave my meshes that I worked on for days there and try again.
They also aren't hidden. I tried Alt+H, nothing changes. Just so you know.

Did you hide the collection by accident? If so, it will look like a "smile" instead of an "eye" in the scene tree. Things hidden this way are still visible in the tree, but grayed out, and ALT+H wont bring them back, you have to click the collection.

oh weird... I was sure i added the picture too...
but no, theyre just eyes.


text:
Why do some selected objects have a yellow outline and others have an orange outline?
Whenever I select an object in Blender it will be outlined in orange or yellow. How is it decided which colour will be used for the outline, and what does each one mean?

the red color means selected, the yellow color means last selected. Last selected makes the object "active", which has different utilities. For example if you want to parent several objects to another one, the last selected will be the parent, so it's always better to show which was the last.

i am kind of new to this whole stuff so sorry but i need to ask what you mean by parent

https://www.youtube.com/watch?v=GS452KMVWKA

Thanks for the help on that. so what if i am working on a particular mesh and i decide to add a new object. I get that(as you said)the object will have the yellow color select which means that was the last object i selected. Why am i then finding it impossible to yellow color select the original mesh i was working with. Instead when i select the ORIGINAL mesh it goes in the red color select. In other words i am wondering if it is possible to go back to the original mesh and still select it with the with the yellow color rather than the red color

3D Viewport:
One way to select objects is clicking on them in the 3D Viewport in Object Mode.
Objects with an orange outline are sleceted, but the one object with a yellow outline is the active object. There can only be one object with a yellow outline (but there can be multiple with an orange outline). When holding Shift down (that is the default key), you can select multiple objects. The object you select last is the yellow and active object. This is important if you want to do operations on multiple selected objects.
For instance, if you select two cube objects in Object Mode, "Cube" and "Cube.001" in that order, and then press Ctrl + J, then "Cube" will become part of "Cube.001". Since "Cube.001" was the active object. "Cube" will be gone and the "Cube.001" object will have a mesh consisting of two cubes.
If you select two cube objects, then select a sphere object and then de-select the sphere object, you are left with two cubes with an orange outline. Now joining the objects with Ctrl + J will not work, because Blender does not know which object to make part of the other and which one to keep as the remaining object.
Also, if you add geometry in Edit Mode, for instance add a cube to a cube and then select it in Object mode, both cubes have a yellow outline. It may seem you have two objects with the same color outline, but it is one object. So not a new object was added, but geometry was added to the mesh of the object, and in Object Mode the cubes will move as one.
(If you have multiple meshes in one object, but you want to separate them into multiple objects, you can select the object in Edit Mode an press P and choose for instance By Loose Parts.)
EDIT:
Outliner:
If you select objects in the Outliner window however, it can be different.
In the Outliner there is a square with rounded edges around the active object. There is always an active object. So there is always such a square somewhere in the Outliner, even if no object is selected.
If you select an object in the Outliner by clicking on it, it turns yellow in the Outliner and it gets a yellow outline in the 3D Viewport. Shift select other objects and they will turn orange and have an orange outline. So in the Outliner the first selected object is, and remains (while selecting in the Outliner), the active object.
If you select an object in the Outliner, other than the active object (whether the active object is selected or not), by right clicking on it and choosing Select from the menu, it will turn orange in the Outliner and have an orange outline in the 3D Viewport. So if the active object is not selected, you can select multiple objects this way without any of them being yellow or having a yellow outline.
If you select an object and then go into Edit Mode, you cannot select other objects (or their corresponding meshes) in the 3D Viewport. You can select other objects in the Outliner, but in this case the object you are editing is and remains the active object. Also the meshes of subsequently selected objects do not become editable, even though it is possible to edit the meshes of multiple objects at the same time. In order to do this you will have to select multiple objects before going into edit mode.
EDIT 2:
Outdated graphic card drivers:
It is also possible you select a single object and the outline is orange (even though it should be yellow). And when you try to move it, only the origin (the small dot) is affected. Also the origin can be moved away form cameras and lights. This should not happen and is likely caused the 3D Viewport not updating. Updating you video card drivers should resolve this issue.

thanks. so what if i am working on a particular mesh and i select a new object. i get that the object i newly selected will have the yellow color select. How can i yellow color select the original mesh i was working with

The last selected object is the active object and has the yellow outline. Also be aware that the selection colors in the above answer only apply to objects, and only apply to Object Mode. Meshes are not objects, but objects can contain a mesh. In the Outliner window for instance, an object has an orange icon, and the mesh of the object has a green Icon. You can edit a mesh in Edit Mode. In Edit Mode the selection colors are different. The active, or last selected, element (either a vertex, edge or face) is by default white, while other elements are orange.

Thanks for the help on that. so what if i am working on a particular OBJECT and i decide to add a new OBJECT. I get that(as you said)the OBJECT will have the yellow color select which means that was the last object i selected. Why am i then finding it impossible to yellow color select the original OBJECT i was working with. Instead when i select the ORIGINAL mesh it goes in the red/orange color select. In other words i am wondering if it is possible to go back to the original OBJECT and still select it with the with the yellow color rather than the red color select

I assumed you selected your objects in the 3D Viewport. It should work as described if you select your objects there. If you select objects by right clicking in the Outliner window however, it can be different. Or you might be in Edit Mode and, as i said in my previous comment, my initial answer applies to Object Mode. In any case, I have edited my answer accordingly. If the selecting doesn't behave as described, then it might be due to different user interface preferences (though i doubt it), or maybe you're experiencing a bug. I think I covered most of it now; hope it helps : )


text:
Can I recover my old keymap without opening Blender?
After my Graphics Card broke I want to use Blender 2.79 on a new PC. Unfortunately I cannot open Blender without a Graphics Card to export my Keymap (and other Settings, like Design). Can I get these Settings without installing the Graphics Card back and forth?

I believe you want to locate and copy your user pref file. Its file path is different depending on your platform.

All you need is to copy the userprefs.blend file from the old computer to the new one.
If you are using windows the file is usually in your user's app data roaming folder. For more. Info please refer to this post:
Where is the startup file stored?


text:
Blender freezes for 30 seconds every time I click
I wrote one question about its limits. Blender was being cute hahaha. Still, after that scene, Blender is being a pain. I am dealing with the blue dial every click, it last for about 30 seconds, it takes 2 or 3 minutes to save the project and so much more. The first time it started acting like an idiot I could understand you know. Physics simulation, Hair Dynamics trying to freeze it failing succeeding, etc. However now it just seems to persist in anything I do. The scene I am working on is not very special it has no physics (as far as I know) going on am on frame zero, not really doing much (had much larger HP scenes working smoothly with cycles preview on). However, Blender is eating the hell out of my memory

The CPU is good though of course and the GPU is doing well.
64 percent is its default state if I click on anything it goes up a little bit higher and gives me the blue dial for up to 30 seconds. Sculpting just to smooth out a mesh is hell, click wait 30 seconds, click wait another 30 seconds, click and drag oy vey better hold on for a minute sometimes more.
I have 64gbs of Ram, ddr4, AMD Ryzen 9 3950x 16 cores, Windows 10, Nvidia Geforce 1660 Ti 6gbs, Blender 2.83.
So what is the issue? Is there a fix or do I just have to keep adding ram?
If the latter I can only go to 128gbs and I can promise I will hit that as well.
(not quite sure how to hand over scene files if needed. Also if you want it grotesque warning.)

Sometimes spending money for software can give you better performance than spending money for hardware.. Zbrush and sculpting is one example, Houdini and simulations is another. Tell us what you are doing and maybe we could figure out what you are either doing wrong or if you hit the ceiling of Blender's capabilities.

I think it is actually a bug. I think somehow Blender when you append things like an object it somehow opens the whole project in the background because after exiting and opening Blender it is working. Not sure what the hell is happening. I used to use Modo I just wanted to save on money and learned Blender. I use 3D coat for sculpting myself. Blender is a very annoying brat.
I basically had a subpar HP (model with the highest poly count was 500k poly's) and I just had the above happening non-stop. I thought it was happening before the append now I dunno.

Please share some more information about the scene. 64 gigs of usage is quite a lot indeed, are the objects heavily subdivided? How many millions of vertices are you dealing with?

Faces 695,771, Vertices 1.2 million.
Only one thing is Sub D and it is only to level 2 with a smooth modifier on it. Not a very heavy scene as you can see.
I dunno what is up with Blender but a few of my scenes that have been misbehaving the same way fixed themselves upon exiting and reentering. Not sure if a dynamic state got stuck after clearing it, or the append added the whole scene in the background even though I added only one minor object to it. I know one scene did not have any dynamics so that is why I assumed the append method is buggy. I appended from a much heavier scene.


text:
cannot set pixels to buffer image, incorrect sequence item type: B
I'm trying to run the script:
import bpy
import gpu
import time
WIDTH = 32
HEIGHT =32

offscreen = gpu.types.GPUOffScreen(WIDTH, HEIGHT)

image_name = "custom_img"
framebuffer = None
viewport_info = None
pixelBuffer = None

if not image_name in bpy.data.images:
    framebuffer_image = bpy.data.images.new(image_name , 32, 32, float_buffer=True)
else:
    framebuffer_image = bpy.data.images[image_name]

def draw():
    context = bpy.context
    scene = context.scene

    view_matrix = scene.camera.matrix_world.inverted()

    projection_matrix = scene.camera.calc_matrix_camera(
        context.evaluated_depsgraph_get(), x=WIDTH, y=HEIGHT)

    offscreen.draw_view3d(
        scene,
        context.view_layer,
        context.space_data,
        context.region,
        view_matrix,
        projection_matrix)

    framebuffer_image.scale(WIDTH, HEIGHT)

    pixelBuffer =offscreen.texture_color.read()

    pixelBuffer.dimensions = WIDTH * HEIGHT * 4
    framebuffer_image.pixels.foreach_set(pixelBuffer)

    framebuffer_image.filepath_raw = "/.../MyImage.png"
    framebuffer_image.save()

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

but it gives this error

line 42, in draw
TypeError: incorrect sequence item type: B

What am I doing wrong?

Found the solution!
The buffer in pixelBuffer = offscreen.texture_color.read()
was of UBYTE, where as it should have been FLOAT
So I changed
offscreen = gpu.types.GPUOffScreen(WIDTH, HEIGHT,format="RGBA32F")


text:
Invoke function before closing script (Ctrl + C)
I'm running a local server using http.server like this:
from http.server import HTTPServer, BaseHTTPRequestHandler

class ServerHandler(BaseHTTPRequestHandler):
    def do_POST(self):
       ...

if __name__ == "__main__":
    print("Starting server at "+str(PORT)+"...")
    server = HTTPServer(('', PORT), ServerHandler)
    server.serve_forever()

I want to invoke a function before stopping the server using Ctrl+C in the terminal
how do I do so?

Found the solution
import signal

default_handler = None

def handler(num, frame):
    # Do something that cannot throw here (important)
    print("Hello World")

    return default_handler(num, frame)

if __name__ == "__main__":
    default_handler = signal.getsignal(signal.SIGINT)

    # Assign the new handler
    signal.signal(signal.SIGINT, handler)


text:
How to keep the same zoom level?
How do I keep the same zoom level such that the image resolution is always the same?
i.e. when I change the viewport size the zoom level should stay the same
for example if this is my view:

when I change the viewport size everything in the view shrinks:

what I need is for it to stay the same size, more like changing the size of the viewport would be like cropping:

so how do I achieve this?

Your question is unclear. What do you want to change and what needs to remain unchanged specifically? Do you want to expand or crop the image around your object and the object to remain the same size in pixels in your render?  Why? What are you trying to achieve? Context might help to understand.

@MartynasŽiemys I'm trying to get the image from the viewport buffer and for that I want the resolution to stay the same, but resizing the viewport changes the zoom level and hence the resolution

Getting image from the viewport buffer is not usually any standard workflow. What are you trying to do? You sure this is not XY problem kind of situation?

@cakelover ... if such thing would be accessible, check User Preferences ... but I didnt find an option to handle your issue. So Martynas is right - share with as your end-goal ... if you just want to let GUI behave like that, I don't think it is possible now.

@MartynasŽiemys I'm trying to generate 2D images of my 3D model but rendering takes too much time as compared to viewport buffer, the only problem is that you need to set thee viewport itself in a fixed manner (zoom level, area size, etc etc) so that the images being sent are of the same size and resolution always and that's why I was asking this question & you're right, it might not be a standard method but it is a really powerful tool to just let go to waste

@vklidu check the comments I added my end goal

I found the solution here
import bpy

def scale_view(context, data, flip=False):
    rd = context.region_data
    wmat = rd.window_matrix

    asp_prev = data["aspect"]
    asp_curr = data["aspect"] = wmat[0][0] / wmat[1][1]

    if flip:
        asp_prev = 1 / asp_prev
        asp_curr = 1 / asp_curr

    if asp_curr < 1.0:
        mul = asp_prev / asp_curr
        rd.view_distance *=  mul

def on_redraw(context, cache={}):
    region = context.region
    rw = region.width
    rh = region.height
    try:
        data = cache[region]
    except:
        w = context.region_data.window_matrix
        cache[region] = {"aspect": (w[0][0] / w[1][1]), "rw": rw, "rh": rh}

    else:
        if rw != data["rw"]:
            scale_view(context, data)
            data["rw"] = rw

        elif rh != data["rh"]:
            scale_view(context, data, flip=True)
            data["rh"] = rh

if __name__ == "__main__":
    bpy.types.SpaceView3D.draw_handler_add(
        on_redraw, (bpy.context,), 'WINDOW', 'POST_PIXEL')

I don't believe you can save images from GPU frame buffer faster with Python than with Blender's internal rendering. Have you tested it? Have you compared the speeds? How? As far as I understand you are just wasting your time with this. Or am I missing something?

@MartynasŽiemys I have tested it & it's significantly faster (at least for the task I need), I've made a little script for comparing the speeds, now combine that with the real time compositor branch & you got something going! but I'll be honest it's like taming a really wild horse but when you do boy does it run! But by all means if I'm wrong about this let me know

Who could have thought... But I get different images. I also suspect there is something wrong with png format. When I try EXR, it's faster to save an image that is higher resolution with render.opengl() - that might be of interest to you.

@MartynasŽiemys well my requirements are for png so I'm trying to tame that & as for resolution, I believe that can be changed by zooming in (hence this question) and then saving the image from frame buffer (0.0304 seconds), render.opengl() is relatively much slow (1.134 seconds for the same test)


text:
How to connect visibility of object with visibility of bone?
I have an armature with multiple bones and a different object connected to each bone

when I hide my bone I want the object that is connected to it to hide as well
How do I achieve this? maybe via driver?

Is that for animation?

You can't except maybe with a script

you could do it with a driver, but then you have to adapt every driver manually...so really tedious

@Crantisz Yes it's for animation

@Chris all I want is the object to hide when bone hides, is that possible with a driver?

yes you can, but it works "not fine":

right click on your bones "TV" -> copy as new driver
then right click on your objects "TV" and click "paste driver".
Then it "kind of" works.
The disadvantage: if you are in pose mode and press H you have to change to object/edit mode so that the object hides too....
To make it work in rendering as well,
copy paste the driver to the object camera Icon.

does it work for render viewport animation?

yes, if you change object/edit mode before rendering...as i said, it is pretty weird. I honestly don't know whether it is a bug...for me it looks like one.

I did as you did but when I hide the bone the object does not hide with it

after hiding, did you change  to object mode, edit mode, and object mode again?

if yes, pls provide blend file so i can check it out

aah you have to switch it like 2 time, yea it's weird but as long as it works in rendering it should be fine

i would assume if you keyframe your hide attribute and render an animation that it won't work because there is no change of object/edit mode while rendering animations....

yep it doesn't render but when I play the animation it works perfectly, any solution for that?

great! then my answer helps you so pls click on the checkmark left to my answer ;)

ah ha! I found a way to make it work in rendering as well! instead of copy pasting from bone TV icon copy paste the driver to the object camera Icon, add that to your answer and I'll mark it as solved

Good to know the more simple answer works, but I also wrote a custom operator to accomplish this task, It works in pose and edit_armature mode, but does not yet have an "unhide" method that works in reverse. I will leave this to you to reverse engineer how to accomplish.
It only works if the object is parented to the bone via Parent> Bone not Parent > With Automatic Weights or any of the other ones, but I figure you know this.
You can just run the script in the text editor, call it from the search menu and then set a hotkey for it there.
import bpy

class ToggleHiddenObjectBone(bpy.types.Operator):
    bl_idname = "object.toggle_hide_bone_object"
    bl_label = "Toggle Hide on Parented Bones and Objects"
    bl_options = {"REGISTER", "UNDO"}

    @classmethod
    def poll(cls, context):
        return context.active_bone is not None and context.mode in {"POSE", "EDIT_ARMATURE"}

    def invoke(self, context, event):
        self.mode = context.mode
        self.parent_bones = dict(zip(
            [obj.parent_bone for obj in bpy.data.objects],
            [obj.name for obj in bpy.data.objects],
            ))

        self.bone = context.active_bone
        self.armature = [
            arm for arm in bpy.data.armatures[:]
            if self.bone.basename in
            [bone.basename for bone in arm.bones[:]
            ]][0]
        try:
            self.obj_name = self.parent_bones[self.bone.name]
        except KeyError:
            self.report({"INFO"}, "Bone not found in object parent bones, make sure you set 'Parent > Bone'")
            return {"CANCELLED"}
        if not self.obj_name:
            self.report({"INFO"}, "Active bone has no child object.")
            return {"CANCELLED"}
        else:
            return self.execute(context)

    def execute(self, context):
        obj = bpy.data.objects[self.obj_name]
        if self.mode == "POSE":
            bpy.ops.pose.hide()
        else:
            bpy.ops.armature.hide()
        bpy.ops.object.mode_set(mode="OBJECT")
        bpy.ops.object.select_all(action="DESELECT")
        context.view_layer.objects.active = obj
        obj.select_set(True)
        bpy.ops.object.hide_view_set()
        context.view_layer.objects.active = bpy.data.objects[self.armature.name]
        print(context.view_layer.objects.active)
        try:
            bpy.ops.object.mode_set(mode=self.mode)
        except TypeError:
            bpy.ops.object.mode_set(mode="EDIT")

        return {'FINISHED'}

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

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

if __name__ == "__main__":
    register()

Using this answer
you can achieve the same process via scripting, just in case you want to automate the process
import bpy
from bpy import context

def add_hide_driver(
        source, target, prop, dataPath,
        index = -1, negative = False, func = ''):

    if index != -1:
        d = source.driver_add( prop, index ).driver
    else:
        d = source.driver_add( prop ).driver

    v = d.variables.new()
    v.name                 = prop
    v.targets[0].id_type   = 'ARMATURE'
    v.targets[0].id        = target
    v.targets[0].data_path = dataPath

    d.expression = func + "(" + v.name + ")" if func else v.name
    d.expression = d.expression if not negative else "-1 * " + d.expression

armature=bpy.data.armatures["Armature"]

for bone in armature.bones:
    target_obj=bpy.data.objects[bone.name]
    add_hide_driver(target_obj,bone.id_data, 'hide_render', 'bones["'+bone.name+'"].hide')

This will achieve the same thing as copying driver from TV to Camera
as mentioned in this answer


text:
How to change window size from script?
I'm trying to set my window to full screen/maximised mode

How do I achieve this via script?
I tried this answer but it's obviously for windows operating system
whereas I'm using Ubuntu 22.04.1 LTS

Found the solution here, specifically:
bpy.ops.wm.window_fullscreen_toggle()

To check if already in fullscreen, see this


text:
Quickly & continuously generate images without rendering?
I know the title is a little ambiguous but bear with me for a minute
On one hand I have blender with a 3D model and a server script

s = socket(AF_INET, SOCK_STREAM)
s.setsockopt(SOL_SOCKET,SO_REUSEADDR, 1)
s.bind(("127.0.0.1",6100))

...

s.listen()
conn, addr = s.accept()
data= get_data(conn)
if(data=="move_arm"):
  move("arm")
  bpy.ops.render.render(write_still=True, animation=False)

...

and on the other hand I have another software that sends blender instructions
on how to move that model via sockets
const client = new net.Socket(); // node.js taken for example

...

client.connect(6100, "127.0.0.1",()=>{
    client.write("move_arm");
});

but the problem is that rendering is very slowly compared to the continuous instructions being received,
So is there any better way to also generate the image(s) continuously to keep up?

Found a solution!
I had to directly get the image being generated in the buffer using the gpu module
You can trim the code down to this:
import bpy,gpu,time

def draw():
    global to_draw
    if to_draw:
        framebuffer = gpu.state.active_framebuffer_get()

        viewport_info = gpu.state.viewport_get()
        width = viewport_info[2]
        height = viewport_info[3]

        framebuffer_image.scale(width, height)

        pixelBuffer = framebuffer.read_color(0, 0, width, height, 4, 0, 'FLOAT')

        pixelBuffer.dimensions = width * height * 4
        framebuffer_image.pixels.foreach_set(pixelBuffer)
        framebuffer_image.filepath_raw = "/.../MyImage.png"
        framebuffer_image.save()
        to_draw=False

def update_draw():
    global to_draw
    bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)
    to_draw = True
    bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)

if __name__ == "__main__":
    global to_draw
    to_draw = False

    if "color_buffer_copy" in bpy.data.images:
        framebuffer_image = bpy.data.images["color_buffer_copy"]
    else:
        framebuffer_image = bpy.data.images.new("color_buffer_copy" , 32, 32, float_buffer=True,alpha=True)
    draw_handler=bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'PRE_VIEW')

    bpy.data.objects['Cube'].rotation_euler[0] = 1.5
    update_draw()

    time.sleep(10) # just added for an example

    bpy.data.objects['Cube'].rotation_euler[1] = 3
    update_draw()

    bpy.types.SpaceView3D.draw_handler_remove(draw_handler, 'WINDOW')

But the caveat to this is that you have to keep the GUI open
i.e. you cannot run this script from the command line in --background
but if anyone has an alternate solution which runs from the command line, please do post it


text:
How to directly store Blender File Images Externally?
I'm using this answer to generate images from view port

but is there a way to directly externally store/generate this image?
and by that I mean NOT having to manually save them through Image Editor

What's wrong with simply rendering the viewport with bpy.ops.render.opengl()?

What's the context of this question? What are you trying to do and why?

@MartynasŽiemys I'm trying to continuously generate viewport images to show in another application, I thought it would be faster to directly generate the image file rather than having to save it

I don't know much about GPU framebuffers, but the answer you link to already provides a way to get it from Blender's Python API so you only need to save it to image in Python  and that sounds like something one can find online. However, it seems unlikely it would be faster to save an image to file using Python than C which I assume Blender's rendering does, so maybe you want something else than saving to file.

@MartynasŽiemys could you elaborate on "using python than C" ? does blender work with C as well? is that what you're hinting at?

I am no expert in this, but as far as I understand Blender's internal functions and native operators are likely to be more optimized and work faster that what is written in Python. Blender has Python API and it's UI uses Python, but the main stuff is written mostly in C/C++ and that is generally way faster than Python. I have no idea how  bpy.ops.render.opengl() works, but I think it's quite reasonable to expect it to be well optimised since everybody wants faster rendering. If it was possible to easily render stuff to files faster, everybody would probably be doing that already.

@MartynasŽiemys would you happen to be fimilar with import gpu? because this answer does exactly what I need but instead of generating the image every time some change occurs I need it to generate only when the function is invoked


text:
How to scale this object (a Tail of an Asteroid), so it is not crooked?
I have a rigged animation of an Asteroid with a Tail. The Tail is a child of an Armature, and each Bone has a Track To constraint and points at an Empty. Each Empty has a Follow Path constraint. So the Tail follows the Asteroid and conforms to a curved Path.
Now, I need a trick. I need the Tail to shorten and lengthen at certain moments. It begins short (preferably 0 length), and when it is close to the Camera, it stretches to full length (say 1) - I need to animate that.
Now, I tried to scale the Tail object in X, but when it is very short it becomes crooked, due to the Armature rig, somehow it becomes crooked when very short. The same happens when I scale the Armature in X, it too is crooked and wonky.
Can someone have a look at my file. And see, how to do it properly in these given circumstances?

I'm attaching 2 screenshots to show what I mean by crooked.

My first thought is to animate the tail pieces via shape keys rather than scaling. Would that work for you?

I found something crucial, your models always have to be Applied on Scale and Rotation, specially if they are used in animation. This may be the source of your problem when you scale the geometry down, when you are modelling always remember to Apply Rotation & Scale to your models, it's a good guideline to keep. (CTRL+A+Apply Rotation & Scale in Object Mode)

Now, for the trick you wanted it's really a dirt trick, it's something harmful you can do, but it reproduces the effect you want, plus you can animate it. I selected your root bone of the asteroid.

And scaled it down while locking the Axis Z, (S+Shift Z)

It's a ugly solution and messing with bone's scale it's a bad way of doing things, but, it works. So for your animation, maybe you can animate the X and Y scale of your root bone.


text:
How to achieve white "fog" effect within an ice cube?
I modelled a set of ice cubes. I'm content with the result, but when I look at an actual ice cube from my fridge, it has a white foggy cloud within, like a microstructure. I'm trying to recreate that effect. For this I created some spheres within the ice cubes and applied a Volume Scatter material with density 1. This won't work. The result is gray and faint. I also tried the Volume Absorption, but it turns grayish too. I really need something more whitish, but not using the Emission shader. Also it has to be like a cloud, more opaque in the middle, more transparent on the sides (maybe some Fresnel here?). Anybody has an idea how to do it?

Here is a photo, the best I could get. As you can see its pretty full of this white microstructure, not very transparent.

could you possibly share a photo of the ice cube from your fridge as well, and maybe a blend of one of the ice cubes on http://blend-exchange.giantcowfilms.com/ ? Then it would be easier for us to try out things  :)

Probably worth mention Gleb Alexandrow's tutorial about How To Create Realistic Ice in Blender

Here's a try using point density for the fog effect.
There are two cubes in the image, I just beveled them slightly, the outer cube's material is basically a glass setup, except that I used an image texture to affect the roughness, and add some variation to the surface structure.
Some explanation on the light path and math>maximum nodes, in the ice material setup:
The light path node determines what type of ray is currently being traced, and by using the Math>Maximum node, outputs 0 if it is not the specified ray connected to the math node, and 1 if it is for the corresponding socket of the mix shader. (0= top socket, 1= bottom socket of the mix shader). If either shadow, or reflection rays are traced in this case, then the maximum node outputs 1, and the material uses the transparent shader. For all other rays, it returns 0, and uses the glass shader. Using this setup provides more transparent shadows, which is desirable here as we have a second object inside the first.
Here is the node setup for the 'outer cube':

The second cube, which is the inside the first has a particle system attached to it. The particles are set up basically at the default settings. I only increased the count to 2200, and set the end to 15. Experiment here, and have fun with it. Here is the final distribution of the particles on the rendered frame from my example below:

The point density material, is added to the 'inner cube' object. The setup is as follows:

The additional Math>Add nodes after the Multiply are optional, but give more control over the material. I used them to adjust the brightness and density of the particles individually, rather than using the Multiply node alone, as that affects both together.
Also, if you really want to avoid using an emission shader, just use the volume scatter, but I personally found the emission shader to have a nicer look.
Here is the result, it's not perfection but perhaps it will give you some ideas to experiment with.

nice approach! never thought of point density before

Very nice! May I ask you to show the particles final distribution and say a few words about the Math node after the light path? What's the difference from using "Is shadow ray" only?

@Carlo,  I've made some edits, let me know if anything else should be clarified.

give it a volume shader with a procedural cloud texture
https://www.youtube.com/watch?v=PHL3qNAQuGE

Wanna Get Crazy?
I'm no expert, but I'm related to someone who teaches CG. I play around trying to make my own game, but I've actually asked a very similar question. What I learned through research was basically to "Make Fog" inside the cubes instead of trying to attack it with a shader. If you get a real handle on the particle system toggles, you can do convincing things, like use a Mesh as a container for smoke. I've done this with one my character models and it comes out pretty cool.
One thing I really don't know is if you can have several systems in one Scene or if you can use the "interior" of each of your cubes in one system. But in a nutshell, you make a box either around or inside your cube(s), place this little "generator" inside your mesh, toggle a few things I forget now, and run the simulation for a good couple of steps, and grab a random frame and render that.
But research the Smoke and Cloud and Wind particle stuff. Its more work, but if you want something to be quality, you have to put that work in. Good luck.

this is more of a comment than an answer..and very vague at that..


text:
Why do I get a blank render with GPU?
I'm doing a speed test. I have a scene with an Ice Tea in it. On CPU it renders correctly, as expected. When I switch to GPU rendering, the render is blank, there is only the background color - world color. What do I have to setup to correctly use GPU rendering?
Here are screenshots, using CPU and the GPU result, which is empty, it's just world color. I'm using Cycles of course. And I'm not using HDRs. I'm using mesh lights though. I can't share the blend.
Edit: I tried to render a basic plain cube, just the startup scene, and the result is the same - blank render. So I think it's not a matter of Blender settings.

HDRs don't work correctly on AMD GPUs...could you provide some screenshots and a blend?

Should the "Experimental" option be selected on the GPU/CPU screen? This might support a wider array of GPUs.
Make sure you have a supported CPU with the correct drivers installed.


text:
How to make this object child of another object, and conform to a curve at once?
I have an Asteroid object. It's following a path with the Follow Path constraint. Now I have a Tail object. I need it to stick to the Asteroid object, and at once conform to a curve, the same path used for Follow Path constraint. It's supposed to be a comet.
I put a Child of constraint on the Tail object, and it now sticks to the Asteroid. But when I try to put a Curve modifier on it as well, it's jumps somewhere far away.
My question: how to properly achieve this effect. The Tail obviously has to follow the Asteroid. But it also has to follow the shape of the curve. Both at once.
I tried to achieve this effect through trial and error, testing this and that the best I can. But I can't get it to work.
See attached Blend file.

You can't do it this way, because an object with a Curve modifier will only correctly follow the curve if you move it on one of the 3 straight axis (X, Y or Z). If you move it on another axis, which happens if you ask him to follow an object which follows a curve, it will go messy.
I see at least 2 solutions, but maybe there are simpler ones?
1) Use a Curve modifier for your tail
In that case you must deparent the tail from the asteroïd. The asteroïd will follow the curve with a Follow Path constraint, and the tail will follow the curve with a Curve modifier. You must make sure that the tail have the same speed as the asteroïd, as if it was parented to it even if it's not, so you have to play with the Dopesheet keyframes and the Graph editor parameters.

2) Create an armature for your tail, that will follow the path

Create an armature with several bones and with the same length as your tail.
Parent your tail to this armature and place the armature at the beginning point of your curve.
Create an Empty a this beginning point, give it a Follow Path constraint with the curve as the Target.
Parent your armature to this Empty.
Duplicate this Empty with shift D + Enter, then, in its Follow Path constraint, change the Offset so that from Empty 0 to Empty 1 there will be the length of one of your armature bones.
Repeat the Duplicate + Offset operations so that you have as many Empty as your number of bones (+ the parent Empty)
Select the armature and, in Edit mode, give each bone a Track To constraint, with the right Empty as the Target.
Move each Empty along the curve with the Follow Path Offset, so that they are exactly at the position of their bone's head.
You can switch your armature from Octahedral display to B-Bones, and divide each bone in several Segments to smooth the shape of your tail.


text:
Grab mode: constraint movement to an axis of a custom coordinate space WITHOUT the gizmo?
Up untill recently I thought you can only constraint grab mode to a global axis, but now I know that double tapping a needed axes will constraint the movement to that axis in the normal coordinate space, now my question is is there a way to do the same for a custom coorditante space (the one you can set up thought the "N" menu)?
Now I know how to do it with the gizmo: you just switch to the coordinate space you have created and use the gizmo, but is there a way to do it with the gizmo switched off (a hotkey/a command that can be made into a hotkey)?

I think you can double press the corresponding axis letters, X X Z,  to constraint to the secondary/local axis while translating. Repeated tapping will toggle between available axis (also works during other transform operator)

It only sycles local/global man :sad:

Do you have an active transform orientation other than the default world set in tge 3D view toolshelf? It should
cycle through global >custom if you do

omg... it actually does... I simply never had a space set up... I am so dumb... ) thanks!


text:
Improving texture bakes with smoke domains
I am trying to bake my smoke simulation into a texture of a low-poly mesh, built around my smoke domain. And for some reason the final bake is not following conventional bake rules, just see for yourself:

Instead of smoke pixels being smoothly spread across the entire texture, I get these four distinct quadrants. Is there any way to tell the renderer to do things properly?
I created an almond-shaped mesh with a red emissive material and baked it onto the same low poly mesh. This is how the result should look like:

Obviously it's a rough example, if it was a proper smoke it would have texture and stuff. Only that texture would not be made out of 4 separate images like with the bake I get.

Is that conical cylinder your domain?

No, the Domain is the cube inside the cylinder. Good hint dude, thank you, the domain is modifiable, I will try it now.

Let us know if it worked!

Nah, modifying the domain does nothing. Sad. Moreover it does not change  the shape - it's always the cube. Still your hint is very good. Now I have some idea about the nature of the problem.

Can you share a hint image so we can know what your result should be!

May be try every possible way! Actually I didn't bake something previously. As it was about smoke simu. so I just :)

See the update. And I did try every possible way already. :(

You need pixelated smoke right?

Let us continue this discussion in chat.


text:
How to add a uniform complex shape to a high poly geometry?
Can anyone help me understand how to add this kind of ring geometry for a high-poly mesh:

It almost feels like the author simply selected an edge loop on a high poly mesh and applied some action that bevels the loop and smoothly extrudes (spins?pops?) the newly created loops. Can anyone tell me how that can be done?

If I had to do it: each part modeled separately but having the same amount of divisions, then delete edge loops on each and finally bridge edge loops between them. Can be also tried: a grid fill from the surrounding mesh.

I am a newbie in blender: how do you superposition or align separate parts perfectly?

Could you had an image showing how the corners are done?

I've added an image but it's just the same dude - solidified edge loop.

I think I've got it, there is no 1-action way but there is a simple solution:
http://blender.stackexchange.com/a/8305/35964

It can be obtained with a subdivision surface modifier, starting from a simple shape:

Here we can make it using a mirror modifier on X, Y, Z.
The base shape is as shown below: just the profile repeated/rotated at the extremities and at the corner.
With the mirror and the subdivision surface, we obtain this:

Now, refine the profile adding two loop cuts and grabbing down the border:

Edit following the comments, if you want to do it from an already modeled base shape:

In edit mode, duplicate an edge loop (note that if the subdivision is already applied on the object, that's changing nothing)
Separate it
Convert it to curve
Give some bevel to the curve
Set the curve 'U' resolution to 1 (that will keep the same amount of vertices around as the original)
Convert back to mesh

After that, to do: remove some edges loops in the inner part in both objects, join them, and bridge edge loops between them.

Thanks for the detailed answer, i upvoted it, but my question was specific: I want to add to a detail to a high-poly mesh. Cool thechnique with mirroring though.

@cubrman. You should rephrase your question: reading your comment, it's quite different. If I understand you well "starting from 'this mesh', how to construct a border like 'this'?"...

you are right, I should have worded it better. Sorry about that. Fixed the wording.

@cubrman, no need to sorry. Answer is updated.


text:
Modifier Properties don't show up for a collection
I have a collection and inside there there are several objects. I want to add a modifier to all the objects in the collection, but I couldn't find the modifier properties when I select the collection. How do I get the modifier properties to show up?

In another object that's separate from the collection, the modifier properties are shown:

There is no way to make the Modifiers Properties Panel show up when you have a Collection selected.
While an object like a cube, curve and such (objects like cameras and lights can't have modifiers either) can have a modifier that affects its mesh data or other data like UVs, Collections are only a placeholder with functionality (like an empty, but without origin).
They them self do not contain data that could be affected by modifiers.
The idea of using a collection to apply modifiers to all its children, is itself not bad, and I believe used in other software, but in Blender you need to add a modifier to one of the child objects and then copy the modifier to all other children in the collection/selection.
Solution:

Add the modifier(s) to one object.
Select all objects you want to get the same modifier(s). If they are all children of a collection, you can RMB to Select Objects in the Collection and all its children will be selected.
Make sure the object with the modifiers is the last selected/active one (visible by having a brighter outline in the 3D View).
Press Ctrl+C and choose Copy Modifiers, as shown below:

Now all the selected objects have the same modifiers.
Happy Blending


text:
Should I always keep all edges looping?
After finishing Blender Guru's both doughnut and anvil tutorials I conceived that I should keep mesh quad-only. Moreover, all edges of my final meshes were looping, which I took as a rule too. But is there such a rule or how strong this rule is? Sometimes I end up with meshes like on the picture below, where all the faces are quads, but not all edges are looping. How bad is it?

More specifically, should I keep all vertices always connect four other?

https://blender.stackexchange.com/questions/2931/why-should-triangle-meshes-be-avoided-for-character-animation/2939#2939 https://blender.stackexchange.com/questions/99369/i-thought-you-should-never-use-triangles/99373#99373 https://blender.stackexchange.com/questions/90787/why-is-this-abysmally-bad-topology/90789#90789 https://blender.stackexchange.com/questions/89/when-should-n-gons-be-used-and-when-shouldnt-they/95#95 https://blender.stackexchange.com/questions/1684/what-is-the-technical-difference-between-an-ngon-and-a-bunch-of-triangles/1697#1697

The best way to work is having a good topology (here's why why we need topology).
In low poly or other situations you can probably ignore a not perfect topology.
In particolar good looping are super userful if you need to control thge curvature of your mesh.


text:
How can I automatically move people?
I'm making my first animation with people. I downloaded 6 characters from Mixiamo, with a simple walk animation in position. For my animation, it's an archvisualization of an urban place - I need a lot of people. I'm proceeding like this:

Rig the characters.
Make a follow path by the rig, to a bezier curve.
Repeat manually copying the 6 characters I've for source.

It's a very expensive process for the time. I've tried to array the characters but I can't because I would have to make an array to each part of my characters.
So my question is, how can I automate the process or just make the follow path like a particle system?

what happens if you simply link-duplicate (alt D) character+armature+path?

I 've tried, it duplicate all, including the follow path, so i guess, i have to do at all my characters and then duplicate the bezier curve, and game' s done. Thank you so much man!!!!

Ray i' ve notice a problem, doing like this is coping also the exactly movement of the follow path and the same person is near to my copy and i' ve to remake the follow path every time

it should not happen, also you could simply link-duplicate the character and move them wherever you want in the scene, they will follow the same path except they will be offset

Ok i solve that problem thank you. Have you some tips for lag? Cause is lagging a lot

So what did you finally choose to do? If it lags it's probably because your meshes are high-poly? so you should rather use low-poly with Subdivision Surface modifier


text:
I get an error with the archipack
Whenever I try to add a window using archipack, I get an error. Before, it was a black screen but I did the render thumbs thing and now it is this.

From archipack issue tracker
I got both archipack and Filmic Blender working together by adding the raw color space and copied directly from the original ..\Blender\2.80\datafiles\colormanagement\config.ocio over into the colorspaces section of the filmic blender config.ocio file, as well as adding the line:
! {name: Raw, colorspace: Raw}
to the displays > sRGB, BT.1886, and Apple Display P3 sections.

The archipack add-on tries to set color space to Raw for an Image Texture node. The color space entry cannot be found, because you've installed Filmic Blender. Its custom OCIO configuration doesn't include a color space named Raw.
You either have to uninstall Filmic Blender and use the original OCIO configuration or modify Filmic's OCIO configuration to include the Raw color space. This could be accomplished by renaming Filmic's Non-Colour Data color space, which is equivalent to Blender's Raw color space.

what would you suggest re a patch to addon for the case of no "Raw" colorspace?

@batFINGER You mean a patch for archipack to not rely on possibly non-existent color spaces? If we assume that the OCIO config may have been modified, we cannot assume that any specific color space exists. I don't think there's a good solution for this. Failing with an explicit error is almost the best approach, since the add-on cannot perform a sensible workaround. Failing silently and just picking whatever color space is available would be bad.

Was considering something in addon prefs.  Or throw up a choice for user to choose another.

@batFINGER Assuming that a color space exists for content that should just be treated as data, you could set node.image.colorspace_settings.is_data = True. If such a color space doesn't exist in the OCIO config, then you wouldn't be able to fix it with a user chosen color space either.

The explicit use of color space names also affects blenderkit and gltf

Will probably propose a patch for this within the week.

colorspace_settings.name = Raw and .is_data=True results on screen are not the same.
Why the hell troy's implementation breaks native implementation using Linear Raw instead of Raw ?
It also break blenderGIS

@RobertGützkow I have had the same issue since I installed Belnder 4.0 but the answer here is too technical for me to follow. Ho do I rename Filmic's Non-Colour Data color space? Where do I find it?

@RobertGützkow In Blender 4.0 filmic is no longer the default colour space, we now have AgX. What would be the simplest way to resolve Archipack's conflict now in 4.0?

@Booth The archipack add-on is no longer shipped with Blender since 3.2 I think? I would have to check the current implementation again, not sure if I find the time. The default OCIO config that Blender ships in 4.0 does contain "Raw", so I would've expected it to work. That being said I do not know whether the add-on is still compatible with current versions of Blender.


text:
My Character’s Armature keeps flying off the screen
I have made a character on blender using the blender game engine. The character is rigged and weight painted properly.

However, when I set the armature to physics: character, and press p, the whole mesh and armature flies off the screen into the distance.
Is there anyway to fix this or am i missing something?

This is probably happening because your character has a static physics type..
Just select the character (mesh) and set its physics to "No Collision"

A better setup would be as follow :

Main character mesh - Physics : No Collision.
Armature - Physics : No Collision.
Add a mesh representing the character collision box - Physics : Character or whatever you like!
Parent the armature to the collision box and that's it!

The armature would control the animations (actions) and the collision box would control everything else

Hi there. Sorry it has been a while since I replied! But how do I create a collision box? Do I add a lattice or an empty? I tried using a lattice - scaling up to match my character and then parenting my armature to it - but when I tested it in play, it just disappeared! Is it a different way?


text:
Chaining multiple obj files and make them as a movie
I am trying to using blender to do scientific visualization. Currently, I have the obj files that changing over time (around 250 obj files).
I want to change them in to a movie, so that each frame will have one obj file that showed and the whole movie will have 250 frames.
Anyone know how to do it with blender?
****UPDATE****
The solution with obj files posted in the link is no longer able to work since my version is 6.74. And it only works for 6.62 and the solution script is also removed, so I am not able to work with the solution anymore. It would be nice if someone can provide me the script here.

You could render the files as pictures and put the results in the movie.

The problem is I have so many obj files that it is hard to render them all one by one

I am trying to use some python script however I am not able to add shape keys

You might also try the Blender add-on Stop Motion OBJ. It supports sequences of .PLY, .OBJ, and .STL files. It also supports geometry with different vertex counts from frame to frame. https://github.com/neverhood311/Stop-motion-OBJ