text:
Fluid simulation doesn't fall
I am beginning to simulate fluids in blender and doing my first one I see that water stays in the middle of the simulation and does not fall. Someone knows why this might happen? Thank you

Have you accidentally disabled gravity?

please provide your blend file. often the resolution is too low. just increase it and bake again.

Firstly, where is the inflow? Maybe you changed something and it didn't bake it. Go to the cache and bake a few frames and see if it falls.


text:
Rig distorting objects separately instead of together
I've been trying to find answers to this all night but i'm having no luck so I thought i'd ask here.

I've been trying to learn rigging, following video tutorials etc. But i've ran into a serious roadblock

As you can see, despite the eyes and mouth being part of the same object as the face, instead of turning with it, they morph and distort off in random directions. The right hand side seems to move with the arm, and the left hand side seems to move with shoulders.
I can't for the life of me figure out where I've gone wrong with the rigging process.
Thank you!

source: Stack Exchange

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

sort: votes


text:
How to set specific sample spacing (meters in between each pixel) for a Blender Cycles Render
I'm trying to set the resolution sample spacing on my rendered images as the number of meters in between the center of each pixel using Cycles render engine. For the sake of the example, let's say I wanted to output images where the real distance between the center of each pixel was 0.4m. This is different than the Blender -> Sampling -> Render parameter because that parameter sets the number of light paths to be sampled per pixel, not relying on physical distance.
Does anyone know how I could use a combination of the Sampling parameter, height of the camera, measured distance of objects with known bounding boxes in the image, resolution (image size), or anything else to set this value?
Thank you so much for any help!

I must be missing something here. The way I understand your question is that you want pixels to be 40 cm apart. This means that if the camera looks down on, let's say, a soccer field with 105x68 m dimensions, you need the render resolution to be (105/0.4)x(68/0.4) = 262.5x170 pixels. Since the first value isn't an integer, you would need to have 10 cm margin on both (shorter) sides of the field.

Hello :). Unless you're using Orthographic camera, this will depend more on output resolution, camera distance, focal length and sensor size. Sampling has nothing to do with it.

@MarkusvonBroady, that does partially answer my question! One detail I forgot to add is this needs to be a 512x512 image, so using your calculations, to calculate out a square soccer field, I would do: length of field = (pixel resolution)(distance between pixels in m) = 5120.25 = 128m. Then my last question would be how to make that 128x128m field take the up the entire 512x512 pixels - I'm assuming that's in the camera distance and focal length settings that Jachym Michal mentioned?

Yes. Camera distance is basically how far away the camera is from an object, making it look smaller. Focal length is a bit trickier to explain, but a high focal length makes things in the camera view look as if they are actually far away but are being zoomed up on with a telescope: more orthographic.

I'm assuming Metric is set as Unit System and Meters as Length in Scene Properties tab. If you're using any other unit, including those from Imperial system, simply convert the values calculated below as meters to the unit of your choice [Blender also operates on meters and converts them to other units if necessary ].
Using Orthographic camera, Blender takes the longer of the output dimensions and treats it as unit_scale * orthographic_scale meters. So increasing either Unit Scale or Orthographic Scale increases the area visible by the orthographic camera. Since Blender automatically scales objects when you change the Unit Scale, you can see the change by observing the grid in Top Orthographic View:

So for 200x100 dimensions, 1.0 unit scale, 1.0 orthographic scale, 200 pixels represent 1.0*1.0 = 1 meter and 1 pixel represents 1/200 = 0.005 meters or half a centimeter. For 100x500 dimensions, 2.0 unit scale, 2.0 orthographic scale, 500 pixels represent 2.0*2.0 = 4 meters and 1 pixel represents 4/500 = 0.008 m or 8 mm. Assuming square pixels here.
pixel_width = pixel_height = unit_scale * orthographic_scale / longer_output_dimension
You have output dimensions and target pixel dimensions (distance between centers of pixels), but you want to calculate the orthographic_scale, so you can multiply both sides of the equation by longer_output_dimension and then divide both sides by unit_scale to move them to the other side:
pixel_width * longer_output_dimension / unit_scale = orthographic_scale.
For 512x512 dimensions, 0.4 m pixel width and 1.0 unit scale:
orthographic_scale = 0.4 * 512 / 1.0 = 204.8.
Step by step example
Let's say we want to duplicate (yes, not delete) starting cube a few times and make sure cubes are aligned to pixels. Therefore, pixel dimensions should equal cube dimensions - 2 m, and axis-aligned distances between cubes have to be multiples of 2 m.

Press Numpad 7 for Top Orthographic View.
Select the cube. Press SHIFT + D to duplicate it, hold CTRL and position it. Repeat a few times.

Select the original (center) cube, press / to center view on it, then CTRL + ALT + Numpad 0 to set the camera to active view and / again to exit Local View.

Since each cube should correspond to one pixel, in this example we can fit everything in 5x5 dimensions, so let's set such dimensions in Output Properties tab
Press Numpad 0 for camera view, select the camera and in the Object Data Properties  tab change its type to Orthographic. Set the Orthographic Scale to 2 * 5 [2 m cube dimension times longer output dimension] - Blender will accept a simple expression like that.

As you can see, cubes are aligned to pixels.

This answers my question exactly, thank you so much!

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


text:
How to generate realistic shadows on a shadowcatcher of a single object at a low elevation angle?
I've been working on a Blender model (using Blender 2.79, but I've also tested in 2.91.2 and got the same result) with the goal of producing a realistic shadow image for an airplane from any angle. I'm using Cycles render engine, have imported my airplane model, and have a ground plane marked as a shadow catcher. I'm also using a Sun lamp with size 0 because I want crisp shadow edges. My lamp and camera need to be at the exact same location to generate the kind of shadow image I'm looking for.
My issue is that when I try to generate a shadow from a low elevation/grazing angle (around 30 degrees) I expect to see a long, stretched-out shadow on my shadow catcher. However, in reality I only see the shadow in places directly blocked by the airplane, meaning if I layer the outline of the airplane over the shadow image they are identical.
Does anyone know of settings I can change to get more realistic looking shadows?
Thank you so much for any help!

I do not understand the scene exactly. If the camera and the sun are at the same angle, and the sun is set up so that the shadow will be perfectly crisp, no shadow will be visible. This is entirely realistic, except that the camera leaves no shadow on the airplane. PS: The location of sun lamps has absolutely no effect on their lighting.

The question is fairly well explained but screenshots would go a long way for people like me.

@ZargulTheWizard, I'm looking for something like a long, afternoon shadow to stretch out behind the image of the airplane. I do see what you're saying about how a shadow with perfectly crisp edges is going to be directly behind the object and not visible. Since the airplane is raised above the ground, I expected to be able to see the shadow stretched out behind it under the wings in the background? Or see the shadow extending out behind the wheels on the ground? Or is that still something I won't see unless the camera and lamp are at different angles?

Well, I’m not sure, since I haven’t quite got the full scene in my head.  but just to run over the physics of sun lamps: no matter what position  a sunlamp is in, it will be treated as if it is an infinitely large flat light surface an infinite distance away. Only the angle of the sun lamp will be taken into account. If you can, share your blend file or a simplified version of it for reference.

@ZargulTheWizard I'll work on getting a simplified version of the file I can share. Thank you so much for your help already!

@ZargulTheWizard, your comment about the camera and sun being at the same angle sparked some thoughts so we changed the configuration of the file and solved the issue! Thank you so much!

@karis PTL! Glad it helps

If your problem is solved, consider answering your own question and then marking it as the preferred answer. This helps others potentially benefit from what you learned.

Answering the question from ZargulTheWizard's comments - since the sun lamp and camera were in the same location, no shadow with perfectly crisp edges would be visible to the camera. To get the shadow images from the specific angle like I wanted, I left the lamp at the specific angle to create the shadow and then moved the camera directly overhead (0, 0, height) the object to capture the "stretched out" shadow effect.
Again thank you so much everyone for your help!


text:
change bone local axis
I not only need to change a bone's roll, I also need to change the axis along the bone.
In other words, instead of Y-axis in the pic below, I need the X-axis.

This is feasible in Maya - what about Blender? need to do it to align a skeleton with another skeleton in Unreal engine. They must be completely same for animations to work, however: in Unreal, the x axis is along the bone direction, and in blender it is y axis. Any ways to change this?

Blender uses bone Y axis as the bone direction. Most exporters allow for converting axes, generally defining UP and FORWARD.  Related https://blender.stackexchange.com/questions/18218/set-the-correct-orientation-when-exporting-from-blender-to-unity

@batFINGER thanks, I tried setting bone axes to different values while exporting but that does not seem to solve the problem, and the animation in Unreal4 still twists the model so hard it's not possible to recognize it any longer. maybe, the problem lies deeper...

This is currently not possible in Blender. That said, there is a strong case to make this into a feature. I explain this in more detail on Right-Click Select which I think is the official place for feature requests.

It looks like the feature has been added if it wasn't there before. From the edit mode select your bone and go to Armature > Bone Roll.
There are a couple different things to use.

The Y axis is set by the (normalized) vector from bone head to bone tail.  To change this axis, move the bone tail in edit mode.  It may be necessary to remove the "connected" trait from children bones to do this, which is fine; connected trait is nearly useless.
Once you have the Y axis set, X and Z axes can be set by bone roll.
Whenever you change bone axes, you will screw up any existing animations, because those existing animations are measure in terms of local space transformations, and you just changed the local space by changing the axes.
Some other engines (most other engines) use different coordinate handedness, which can screw animations up.  The coordinates you show in your pic use a different handedness (but maybe you weren't careful about positive vs negative.)  Any decent exporter should be designed to handle differences in coordinate handedness, but you cannot express different handedness inside of Blender.  You'll need to convert the animations instead.


text:
how do I wrap a net around geometry
Imagine you have a net woven of thin ropes. I want to wrap it around an object as in the picture below:

So far I have tried something that does not work the way I like:

create a net using a 6-gon using three array modifiers
use simple deform --> bend to create kind of cylinder
shrink-wrap the resulting net-cylinder around an object

here's what I get after step 3:

Then I convert to geometry (all modifiers get applied), then I convert back to splines, then I use a circle as bevel shape to arrive at this:

The resulting net is too 'bendy', and it's also smooth instead of being ropes. So.. I want those ropes wrapped around an object. Any ideas how to achive this?
My another idea was to wrap a plane around and use an alpha of a net with a displacement modifier but I have not tried it yet. It also would take a lot of effort to get a proper alpha, so maybe you have better ideas at this point.
Thank you!

why not array a pattern then bend the whole thing with the Simple Deform modifier?

@moonboots but it also has to shrinkwrap onto an object. and if I use shrinkwrap those pattern whould be broken because it would all stick to the surface of the model. If I understood you correctly

you don't have to shrinkwrap it, once you've applied the Simple Deform (Bend mode) to make it a 360° cylinder, you can deform it a bit if you want, either with Proportional Editing or with a Mesh Deform

@moonboots yes, that would be one option for sure, thanks. I imagine that proportional editing would be a lot of tweaking to match the shape in the first place, and shrinkwrap seemed like a must to me. because then you can for example stretch the net, but it would still perfectly stick to the surface. I don't really like the idea to bend and manually fit it to the surface.

but why do you need to make your pattern stick to the surface? Make the surface part of a flat pattern, then bend the whole thing 360°, and you have your result

like here: https://blender.stackexchange.com/questions/131443/braided-hose-modeling/131449#131449

@moonboots I see what you mean... surely I will give a go.. but I don't think it would do though because my shape is not really a 360 cylinder. That grip of a sword if you take a close look it's much flatter that a cylinder, and it also has uneven surface. this is the first.. and the second is that afterwards I want to tweak the net manually, and it still has to stick to the grip surface tightly if you know what I mean. I don't say this wouldnl't work - just give me some time to wrap my head around how I can fit your proposed solution to my case

yes but i must not be clear enough, the handle must also be part of the object that you'll bend afterwards, it's the same object as the net, so the net will always stick. Also once you have bent you can flatten or deform as you want with Mesh Deform or Proportional Editing...

sure, I understood, this is exactly how it is in the page you referenced. I make kind of a uv-unwrap of the handle and do all the surface beforehand (a plane), then a bend and I get the grip. Then I can flatten it a bit. The problem is if I want to slide the net along or stretch it or otherwise tweak it, it would be breaking the grip as well. or? because when I touch the net, I thouch the grip (it's one surface) and that would be it.

so, if I manage to get the net exactly I want it to look b e f o r e bending, so that I don't have to tweak at all, this would work

and what if I do it the way you proposed but I achieve the net with a displacement, and, after bending I tweak it by tweaking the UVs? and this would shift the net along the grip, even after bending. what do you think?

I'm not sure about what you say when you're talking about the risk that it breaks the grip, if you give enough geometry to the grip it will be deformed with the net, you can even extrude the net from the plane at the beginning so that it's only one mesh, and it you don't want the net to stick to the grip, once the Simple Deform applied, hide the grip, move the net, etc...

Ok, let me just try it instead of arguing further. So, I'll start with a plane, extrude the net from this plane, bend to get a grip, do mesh deform etc. and then I'll try to make adjustments to the net the way you described. so, I'll try those couple of things and get back... thank you for taking time!


text:
blender python ShaderNodeTexImage subclass does not inherit parent's properties?
what I am trying to do is registering my own image user (for node customization). Basically, I am trying to create a custom node group that can be an image user. Placing 'ShaderNodeTexImage' node into its node tree is not an option - the class itself must be able to hold the image and the image_user attributes. So, I attempted:
class experimental(bpy.types.ShaderNodeTexImage):
    bl_label = "this is experimental"

bpy.utils.register_class(experimental)

bpy.context.active_object.active_material.node_tree.nodes.new(type = 'experimental')

This does create a new node and register the class with no mistakes but I try
bpy.context.active_object.active_material.node_tree.nodes.active.[autocomplete]

it does not show the Image property (my subclass does not inherit the properties of the ShaderNodeTexImage). Why???
is there any other way to create an .image and .image_user properties for my custom class? in the ideal world, I would like to have something like:
class myClass(bpy.types.Node):

    img = bpy.types.Image(params)
    img_user = bpy.types.ImageUser(params)

Is there any way to achieve this?

Check out the custom nodes template in text editor.

@batFINGER sorry, but I think, if one knows the answer, it would take 2 sentences to formulate it. at the first glance, custom_nodes.py has nothing to help me.

I think you need to take more than a first glance.  For instance  a registered class property in blender is never going to be img = bpy.types.Image(params) (do you think you can even instance an image that way in blender?) more likely would use img = bpy.props.PointerProperty(type=bpy.types.Image)  Have no idea what the 2 sentences blah re my comment (yes a comment not an answer)  is about.... don't think I want to know.

@batFINGER no intention to insult you. of course I do know that bpy.types.Image(params) does not work - that was a syntactical example of what I would like to have. regarding PointerProperty: the pointer property type input must only be a sublass of PropertyGroup, whereby the PropertyGroup itself does not allow anything fancy. It's a mere container for palin properties.

BS The pointer property type can be an ID type. Also  Related https://blender.stackexchange.com/questions/556/pynodes-the-bare-basics

@batFINGER cool! I was reading an old documentation :/ probably I can now go on with it, thanks a lot! feel free to publish an answer if you will


text:
a simple script not working in blender 2.8
This simple script below does work for blender 2.79 but simply won't show the properties in blender 2.8 (it does draw the panel but it is empty inside)
import bpy

class SomeOtherClass:
    someMember = 100

class MyNewPanel(bpy.types.Panel):
    bl_label = "myNewPanel"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

    def draw(self, context):
        cubee = bpy.data.objects['Cube']
        somethingElse = SomeOtherClass()
        self.layout.label("Hey there")
        self.layout.prop(cubee, "location")
        self.layout.prop(cubee, "name")
        self.layout.prop(somethingElse, "someMember")

bpy.utils.register_class(MyNewPanel)

Did something change in blender 2.8 which causes it not to work or is it a bug that will be fixed in future? Hence, the second question: if I learn blender api in for 2.79, to what extent can I then use it for 2.8? Also, would it be difficult to bring my add-ons from blender 2.79 to blender 2.8?

The API for 2.8 is indeed different than the API from 2.79. See changes here. If your addon isn't that complex, updating it for 2.8 will not be very time intensive.

@Leander too bad that I didn't check it myself, thanks! it seems at the first glance that the naming convention for the classes was a problem - it needs the PT suffix in the middle of its name. Now it does work correctly. The console just threw some weird indentation erros at me and there was nothing about the wrong naming

Sounds great, could you expand on that in answer to this question (the changed names etc) so others can benefit from it as well?

The problem was not with the naming conventions (or at least, that wasn't the only problem, I don't know if Blender does enforce this). I also had 'TABERROR' object has no attribute 'msg' and I didn't have any classes in my script.
I finally found out what the problem was. The file failed to parse (hence no line number information) because there was an invisible error in the indentation. In particular, some lines were indented with tabs, others with spaces. In my case this was caused by me using tabs for indentation in my own editor, then editing the script in Blender's text editor, which automatically inserts spaces instead.
Opening it back up in my text editor and making all indentation consistent fixed the problem.

not 100% sure that was the reason but everything started working when I changed the naming convention for the class. FYI, it was failing in multiple ways before:
    - first, it was throwing the indentation error, although I've checked indentation multiple times for correctness {'TABERROR' object has no attribute 'msg'};
    - second, it failed to draw the contents of the panel with no error;
change the name of the class in accordance with the new standard: it should contain the 'PT' suffix for the panel and in general satisfy the following regular expression:
    [A-Z0-9_]+PT[A-Za-z0-9_]+
that is, capital first letters (digits and underscores as well), underscore, literal "PT", small/capital letters/ underscores/ digits. The code started working fine with no errors after the ammendments


text:
blender 2.8 texture not showing up in nodes viewer and not updating in texture paint on change in nodes
I am trying to load a mask image into Blender, process it right there (instead of doing it, for example, in Photoshop) and use as a mask in the texture paint. I create the new mask texture, go to the nodes, and do stuff like inverting and changing contrast. I think, this is a nice workflow because you do everything in Blender. However, there is something I cannot understand (by the way, for illustration, see the picture below).

The texture is not shown in the veiwer node or in the output node - that means that I can only see my changes when I switch to the texture paint.
The texture is not updated automatically in the texture slot on my brush. It does so only if I reload the texture to the slot. I guess, it is no problem to script an 'Update' button but, if this is bug, probably, it is worth reporting
Very irritating: when I switch to the node regime, it AUTOMATICALLY assigns
the texture to the TEXTURE (not MASK) slot of the active brush! That sucks as hell because, apart from updating the brush, you must also each time remove it from the texture slot (because I only want the mask slot). Ever worse: when you remove it from the texture slot, it clears the window of the node editor. It adds like + 100 % unnecessary job to my workflow.

Please, if you can resolve this, I would be grateful!
As a lyrical side-step - I think, Blender's texturing workflow could match that of the Substance Painter's easily just if it had a bit more adequate user interface. It is really very inconvenient, and it seems, noone really updated it for ages now. Don't want it to be abandoned like the game engine.

This is a feature that is not entirely working well even in 2.79b and I had thought it was actually being replaced later within the bounds of 'everything nodes'. I can confirm all that you have written happens here as well, so possibly this just needs to be written up as a bug report for now until they can either fix the behavior or modify the workflow some. One thing that would be great is for the Texture Mask to be able to be mapped to 3d as well as the Texture Brush.

@CraigDJones thank you for taking time! I will write the bug report. I think 'everything nodes' is not a bad paradigm, it just needs more polishing. and yes, it would be nice to have texture mask projected in 3d, and movable as a stencil (currenlty it is not). and it's also not so fine that the tiling in 'Tiled' regime scales when you change the brush size. Anyways, thanks for taking time

What do you mean that you can't move it in Stencil mapping? Alt-rmb is the legacy shortcut there, as rmb is for the brush texture stencil mapping move.The Tiling change of scale is because your brush texture is related to the brush size - it isn't independent, and for now is only unaffected by zoom when painting in the 2d image editor. Already put in a feature request on rightclickselect.com for that.

@CraigDJones indeed, alt-rmb works! thanks a lot! regarding the tiling, hope, it will be implemented soon

One thing that they might look at is that the node editor indicates only 'Brush' and might be why it is causing a problem when disconnecting to use as Brush Mask.

@CraigDJones exactly, i'll throw an update here as long as I post the bug report


text:
make invisible depending on point of view
suppose I have modelled a room like that:

when I look at it from outside like in screenshot, I want the walls whose normals are not going towards my point of view to go transparent. In other words, I want to see the insides of the room so that the walls at which I am looking from outside, go transparent. see the screenshot for illustration, I have just hidden those faces

when I change my point of view, other faces have to go transparent while others become visible.
I think that must be somewhere on the surface but as always my Google skills are too bad to find out

Do you want the object to be affected by this in the solid, or rendered shading?

@Nate_Sycro27 basically, I don't care. I would prefer solid, Eevee would be good as well. but not Cycles because then I couldn't work fast enough with that

Assuming that the room's normals point inwards, you can accomplish this by using the Geometry node, a Mix Shader and a Transparent BSDF.
Connect the Backfacing socket of the Geometry node to the Fac socket of the Mix Shader node. Next connect your actual material nodes to the upper Shader input of the Mix Shader node and the Transparent BSDF to the lower one.
This effectively creates a backface culling material.
If you're using Eevee, you will also have to set the Blend Mode and Shadow Mode to Alpha Clip or Alpha Hashed. In case you're only using Eevee and don't need a material for Cycles, you can enable the Backface Culling option (above the Blend Mode) instead of using the node setup.
Don't forget to add lights inside the room.

If you only want this for the viewport, then you can enable Backface Culling in the Viewport Shading options.

..I get very curious shadowing effects with my set-up, if I light a room the right-way-out.. but not if i turn it inside out, and flip the mix. I'd love to know why..

@RobinBetts I've made a mistake in the first version. Alpha Blend shouldn't be used in combination with Show Backface. It's essentially an ordering issue which also broke the screen space reflection. Setting the Blend Mode and Shadow Mode to Alpha Hashed works well.

You can set up a shader to be transparent if evaluated for a camera ray which is backfacing.

Curiously, in EEVEE, I found it worked better  with the normals facing outwards from the room (eliminating front-facing, rather than back-facing faces, as shown). In the material, both transparency and shadows are set to alpha-hashed.


text:
alternatives for operator's report() function?
it seems that the report() function of Operator type lets all other routines finish  before it actually reports. this makes it useless in many instances: for example, when reporting progress on baking (I have abandoned the idea of a progress bar and merely want to show a message: 'baking ith map out of n maps'). However, this message would always come at the end. Are there ways to supress this behavior and output a message instantaneously?
In Excel VBA, there's DoEvents() built-in function. It lets all processes freeze until the ongoing processes finish

Related https://blender.stackexchange.com/questions/45731/how-to-run-an-external-command-showing-its-progress-without-locking-blender-e    https://blender.stackexchange.com/questions/3219/how-to-show-to-the-user-a-progression-in-a-script   https://blender.stackexchange.com/questions/47138/how-to-run-a-python-script-without-locking-blender

@batFINGER thanks looks useful. I'll check it out and update

probably, such thing as reporting to user interface must be the easiest thing to do in any API but... this is life. anyways, here's what I have found for myself.
Idea in short: so, when blender script runs, Blender does not redraw screen any longer. So I start drawing text into a particular window with blf. Because Blender is not redrawn while the script runs, you actually don't see it. So I force redrawing. And then you can see the text. Don't know how robust that solution is but anyways.
This is the function which starts drawing:
def UI_report_start(message, space_type):

    """
        draws specified message, in the specified space_type. space_type is a value in:

        ['Image Editor',
        'Node Editor',
        'UV Editor',
        '3D View']

        returns the draw handler and the space type
 for later deletion
    """

    # the drawer function
    try:
        blf
    except:
        import blf

    def draw_message(self, context):
        blf.position(0, 15, 30, 0)
        blf.size(0, 20, 72)
        blf.draw(0, message)

    if space_type == 'Image Editor':
        handler = bpy.types.SpaceImageEditor.draw_handler_add(draw_message, (None, None), 'WINDOW', 'POST_PIXEL')
        return handler, space_type
    elif space_type == 'Node Editor':
        handler = bpy.types.SpaceNodeEditor.draw_handler_add(draw_message, (None, None), 'WINDOW', 'POST_PIXEL')
        return handler, space_type
    elif space_type == '3D View':
        handler = bpy.types.SpaceView3D.draw_handler_add(draw_message, (None, None), 'WINDOW', 'POST_PIXEL')
        return handler, space_type
    elif space_type == 'UV Editor':
        handler = bpy.types.SpaceUVEditor.draw_handler_add(draw_message, (None, None), 'WINDOW', 'POST_PIXEL')
        return handler, space_type
    else:
        raise Exception('UI_report_start', 'Incorrect Window type specified')

this is the function that stops drawing:
def UI_report_stop(reporter, space_type):
    """
        stops drawing the report
        the drawing handler and the space type must be input
    """

    if space_type == 'Image Editor':
        bpy.types.SpaceImageEditor.draw_handler_remove(reporter, 'WINDOW')
    elif space_type == 'Node Editor':
        bpy.types.SpaceNodeEditor.draw_handler_remove(reporter, 'WINDOW')
    elif space_type == '3D View':
        bpy.types.SpaceView3D.draw_handler_remove(reporter, 'WINDOW')
    elif space_type == 'UV Editor':
        bpy.types.SpaceUVEditor.draw_handler_remove(reporter, 'WINDOW')
    else:
        raise Exception('UI_report_stop', 'Incorrect Window type specified')

this is a hypothetical function taking much time to complete and reporting is embedded into it:
def execute(self, context):
        handler, space = UI_report_start("does it have to be THAT difficult?!?!#$", '3D View') # <--- this starts drawing blf but you don't see it yet!
        bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1) # <--- this is redrawing the screen and you see the message!
        # from now on redrawing stops but the message is still 'frozen' in place and you can see it!
        for i in range(0, len(bpy.data.images['heavy'].pixels)):
            bpy.data.images['heavy'].pixels[i] = random()
        UI_report_stop(handler, space) # <-- this removes the message!
        return {'FINISHED'}

as you can see, it does not draw the progress bar, only a message but I can live with it.
You can also update the screen more frequently but redrawing and drawing blf takes resources, so do it only once in a while


text:
Why is it going in the wrong direction?
Every time I move the Y location the hat follows the green line instead of following the y-axis. It still follows the axis in object mode. I've been trying to change the transformation orientation and the XYZ rotation in the item transform menu, but I can't find the problem.

hello, please share the object with the problem: https://pasteall.org/blend/

It's too hard to tell from that one image.  I would need to see the f-curve editor expanded to show the x,y, and z locations of the object, plus some other data.  Can you share your blend file? (Grab the URL of the question.
Go to https://blend-exchange.com/.
Select the blend file.
Add the url of the question.
Grab the url that results.
Go back to the question and edit it.
Add the new url to the bottom of the post.)


text:
Cloth Animation
First off i am fairly new to blender and am trying to create a opening Sequence of a hand pistol been cocked and fired and a flag dropping from a cylinder like the old joke pistols with the bang flag at the moment i am just running small scale trials using two cylinders and a small plane as the cloth but the plane which is parented to the smaller cylinder passes thought the larger cylinder

you need to select the big cylinder, go to Physics > Enable Collision > Enable Rigid Body and then on Rigid Body Type select Passive. Look the image.

And this is the result.

Cloth settings

thank you Francisco you have been a great help,
Are thoses the default cloth settings


text:
Bmesh bevel is inverted
This looks cool and all, but it's beveled in the wrong direction. How can I flip the direction it bevels, so it looks more like a rounded cube, rather than a rounded plus-sign?
import bpy
import bmesh

from bpy.props import (
        BoolProperty,
        BoolVectorProperty,
        FloatProperty,
        FloatVectorProperty,
        IntProperty,
        )

#Returns all edges parallel to x-axis:
def get_x_parallel_edges(bm):
    #The returned list of edges:
    e_list = []

    #Look for all the edges that
    #run parallel to the x-axis:
    for f in bm.faces:
        for e in f.edges:
            #Rename the coords:
            ey0 = e.verts[0].co.y
            ey1 = e.verts[1].co.y
            ez0 = e.verts[0].co.z
            ez1 = e.verts[1].co.z
            #Check them:
            if ey0 == ey1 and ez0 == ez1:
                #Check for duplicates:
                is_duplicate = False
                for el in e_list:
                    if el == e:
                        is_duplicate = True
                if not is_duplicate:
                    e_list += [e]

    return e_list

#Break a list of edges
#into a list of verts:
def get_v_from_e(edges):
    #The returned list of verts:
    v_list = []

    #Break apart the edges into verts:
    for e in edges:
        for v in e.verts:
            #Check for duplicates:
            is_duplicate = False
            for vl in v_list:
                if vl == v:
                    is_duplicate = True
            if not is_duplicate:
                v_list += [v]
    return v_list

class AddBevCube(bpy.types.Operator):
    bl_idname = "mesh.primitive_bev_cube_add"
    bl_label = "Add Beveled Cube"
    bl_options = {'REGISTER', 'UNDO'}

    length = FloatProperty(
            name="Length",
            description="Box Length",
            min=0.01, max=100.0,
            default=4.0,
            )
    width = FloatProperty(
            name="Width",
            description="Box Width",
            min=0.01, max=100.0,
            default=3.0,
            )
    height = FloatProperty(
            name="Height",
            description="Box Height",
            min=0.01, max=100.0,
            default=2.0,
            )
    bev_seg = IntProperty(
            name="Segments",
            description="Bevel Segments",
            min=1, max=100,
            default=3,
            )
    bev_offset = FloatProperty(
            name="Offset",
            description="Bevel Offset",
            min=0.01, max=100.0,
            default=0.125,
            )

    def execute(self, context):

        #Rename the variables:
        l = self.length
        w = self.width
        h = self.height
        seg = self.bev_seg
        b_offset = self.bev_offset

        #Make the cube object stuff:
        mesh = bpy.data.meshes.new("cube")
        cube_obj = bpy.data.objects.new("Cube_Obj", mesh)

        scene = bpy.context.scene
        scene.objects.link(cube_obj)
        bm = bmesh.new()

        #Add the cube:
        bmesh.ops.create_cube(bm, size=0.5)
        #Apply size:
        bmesh.ops.scale(bm, vec=(l, w, h))

        #First, get the verts and edges:
        e_geom = get_x_parallel_edges(bm)
        v_geom = get_v_from_e(e_geom)
        #Now bevel:
        bmesh.ops.bevel(bm,
                        geom=v_geom[:] + e_geom[:],
                        offset=b_offset,
                        offset_type=0,
                        segments=seg,
                        clamp_overlap=True)

        bm.to_mesh(mesh)
        mesh.update()

        return {'FINISHED'}

def menu_func(self, context):
    self.layout.operator(AddBevCube.bl_idname, icon='MESH_CUBE')

def register():
    bpy.utils.register_class(AddBevCube)
    bpy.types.INFO_MT_mesh_add.append(menu_func)

def unregister():
    bpy.utils.unregister_class(AddBevCube)
    bpy.types.INFO_MT_mesh_add.remove(menu_func)

if __name__ == "__main__":
    register()

Set the profile

basically your issue was using the default value of 0.0 for the profile property of the bevel operator. I have set it to 0.5 below. Might be a contender for another operator property.
Test code including, what I believe are simpler, routines for finding parallel edges and the vertices they contain. also added some notes re upgrading to 2.8
import bpy
import bmesh
from mathutils import Vector

from bpy.props import (
        BoolProperty,
        BoolVectorProperty,
        FloatProperty,
        FloatVectorProperty,
        IntProperty,
        )

#Test if edge e parallel to vector v:
def parallel(e, v, eps=1e-6):
    # normalized edge direction vector
    d = (e.verts[1].co - e.verts[0].co).normalized()
    return abs(v.normalized().dot(d)) >= 1 - eps

class MESH_OT_primitive_bev_cube_add(bpy.types.Operator):
    '''Add Beveled Cube'''
    bl_idname = "mesh.primitive_bev_cube_add"
    bl_label = "Add Beveled Cube"
    bl_options = {'REGISTER', 'UNDO'}

    length = FloatProperty(
            name="Length",
            description="Box Length",
            min=0.01, max=100.0,
            default=4.0,
            )
    width = FloatProperty(
            name="Width",
            description="Box Width",
            min=0.01, max=100.0,
            default=3.0,
            )
    height = FloatProperty(
            name="Height",
            description="Box Height",
            min=0.01, max=100.0,
            default=2.0,
            )
    bev_seg = IntProperty(
            name="Segments",
            description="Bevel Segments",
            min=1, max=100,
            default=3,
            )
    bev_offset = FloatProperty(
            name="Offset",
            description="Bevel Offset",
            min=0.01, max=100.0,
            default=0.125,
            )

    def execute(self, context):

        #Make the cube object stuff:
        mesh = bpy.data.meshes.new("cube")
        cube_obj = bpy.data.objects.new("Cube_Obj", mesh)

        scene = context.scene
        scene.objects.link(cube_obj)
        #scene.collection.objects.link(cube_obj)
        bm = bmesh.new()

        #Add the cube:
        bmesh.ops.create_cube(bm, size=0.5)
        #Apply size:
        bmesh.ops.scale(bm,
                verts=bm.verts,
                vec=(self.length, self.width, self.height))

        #First, get the verts and edges:
        x_axis = Vector((1, 0, 0))
        e_geom = [e for e in bm.edges if parallel(e, x_axis)]
        v_geom = set(v for e in e_geom for v in e.verts)
        #Now bevel:
        bmesh.ops.bevel(bm,
                        geom=list(v_geom) + e_geom[:],
                        offset=self.bev_offset,
                        offset_type=0,
                        # offset_type='OFFSET',
                        profile=0.5,
                        segments=self.bev_seg,
                        clamp_overlap=True)

        bm.to_mesh(mesh)
        mesh.update()

        return {'FINISHED'}

def menu_func(self, context):
    self.layout.operator(MESH_OT_primitive_bev_cube_add.bl_idname, icon='MESH_CUBE')

def register():
    bpy.utils.register_class(MESH_OT_primitive_bev_cube_add)
    bpy.types.INFO_MT_mesh_add.append(menu_func)
    #bpy.types.VIEw3D_MT_mesh_add.append(menu_func)

def unregister():
    bpy.utils.unregister_class(MESH_OT_primitive_bev_cube_add)
    bpy.types.INFO_MT_mesh_add.remove(menu_func)
    #bpy.types.VIEw3D_MT_mesh_add.remove(menu_func)

if __name__ == "__main__":
    register()

Please note it is standard practice to set the newly created object to active and selected, as well as selecting the new geometry created.
2.7x https://blender.stackexchange.com/a/102239/15543
2.8 https://blender.stackexchange.com/a/133880/15543

My issue was that I thought the profile defaulted to 0.5! I was trying to set it to -0.5 at one point, too (which I realize would have clamped it to 0). Thank you!


text:
Set the Rotation (in Quaternion WXZY which is calculated by two vectors) of a bone using API 2.7.9
Details of the problem：
I already have two vectors A and B (A is converted to B by a certain rotation), and I can now calculate the quaternion of its rotation. Also insert a bone in the blender so that its coordinates are A, and rotate the bone using the quaternion obtained. In theory, the rotated bone coordinates should be B, but it is not. I don't know where I am wrong at the moment? The following is a specific example of my operation.
First, I inserted a single-segment bone with a length of 1 and the direction that is in the same direction as the positive z-axis.
object_name = Armature, bone_name = Bone.
>>> bpy.data.objects['Armature'].pose.bones['Bone'].head
Vector((0.0, 0.0, 0.0))
>>> bpy.data.objects['Armature'].pose.bones['Bone'].tail
Vector((0.0, 0.0, 1.0))
>>> bpy.data.objects['Armature'].pose.bones['Bone'].rotation_quaternion
Quaternion((1.0, 0.0, 0.0, 0.0))

Then, I find that the quaternion between (0,0,1) and (√3/3,√3/3,√3/3) is (0.8881, -0.3251, 0.3251, 0). Next, calling Blender's API to rotate the bone.
>>>bpy.data.objects['Armature'].pose.bones['Bone'].rotation_quaternion = mathutils.Quaternion((0.8881, -0.3251, 0.3251, 0))

However, the coordinates after the bone is rotated are not (√3/3, √3/3, √3/3), and the following is the bone information after the rotation.
>>> bpy.data.objects['Armature'].pose.bones['Bone'].head
Vector((0.0, 0.0, 0.0))
>>> bpy.data.objects['Armature'].pose.bones['Bone'].tail
Vector((-0.21132488548755646, 0.5773503184318542, 0.7886751294136047))
>>> bpy.data.objects['Armature'].pose.bones['Bone'].rotation_quaternion
Quaternion((0.8880738615989685, -0.32505759596824646, 0.32505759596824646, 0.0))

It can be seen that the quaternion has been successfully passed in but the coordinates of the bone are not the desired coordinates.

I don't know where I am doing wrong or what I understand wrong.
There is a problem that is very similar to my question, but he does not mention whether the rotated bones match the expected look. In fact, I think the two respondents to this question may be able to solve my problem, but I don't know how to contact them.
Set the Rotation (in Quaternion WXZY) of a bone using API 2.49

Apply the rotation
Apply the  rotational difference between to vectors to the pose bone, rather than setting the pose bones rotation with it.
The rot diff has an axis and angle.  Applying the rotation rotates the pose bone, which in this case is angle 54.7 degrees about  axis (-1, 1, 0).
Think of it like the rotation from 12 o'clock to 3 o'clock on a clockface, is 90 degrees about the axis of the hands. Applying to hand at 12 o'clock moves to 3 o'clock. Applying again from 3 to 6 o'clock and so on.
import bpy
from mathutils import Vector

up = Vector((0, 0, 1))
dest = Vector((1, 1, 1))

R = up.rotation_difference(dest).to_matrix().to_4x4()

pb = bpy.context.active_pose_bone
pb.matrix = R * pb.matrix
pb.matrix = R @ pb.matrix #  2.8

To set the bone absolutely from the vector, can use Vector.track_to_quat(to, up)  For bones track to the 'Y' axis, along the bone.  I have arbitrarily chosen 'Z" as up.
>>> v = Vector((1, 1, 1))
>>> q = v.to_track_quat('Y', 'Z')
>>> C.active_pose_bone.rotation_quaternion = q
>>> x = C.active_pose_bone.tail.x
>>> x * x
0.33333332136784577

Thank you for your answer, making it easier for me to achieve this.

But I still have a question, my quaternion is based on the vector before and after. Why is the rotation effect after passing this parameter not as expected?

Ok then think of it as a "delta" rotation. How much to rotate from point a to point b. It is neither the rotation at point a nor point b.


text:
Baking Multiple Materials into one Object
I've searched around the forums here and found multiple solutions for this problem, however they appear to be unique to those individuals. Their solutions do not work with this particular scenario.
I'm trying to bake multiple materials (nodes), with Cycles Render, into one UV Unwrapped Map. I've followed several tutorials on the process as well, none of them seem to change the outcome. The end product seems to be only one material, no matter how I select the material, the UV Map, or whatever, it'll always bake the Connector Material only. I cant get the other material to show up in the final render.
The Blender File: Located Here

After Render:

Right, the Blend file doesn't contain what I've baked, because its incorrect as far as I'm concerned. I need all materials on one baked material image, so I can export it and the object into Unity.

This tutorial might help as well
https://youtu.be/FsS_BHkG_8A

I tried to bake with basic materials and it worked fine. you should select same image texture data block in every material node. And also we bake normals and diffuse etc separately rather than combined.
->create a new blank image in uv editor and name it (say bake.png).
-> in node editor for any material: shift+A-> image texture-> browse the created image (which is blank right now).

-> Now copy the image texture node (by cltr+c) go to another material and paste in node editor (by cltr+v) do this to every material you want to bake.
-> make sure you selected right image texture node (bake.png) in every material. Because if you select other image texture node  data will be baked into that image.
-> bake type to diffuse or combined or normals and hit bake, after baked, save image as combined.png  you may need to turn off indirect lighting in bake panel.

I'm not sure I follow. What do you mean?

@Leander, he edited his original post. Thank you though.

@Feenix, thank you, that clears it up, I would of never added an unattached node within the material Node. I appreciate the steps, that did clear it up. Thank you so much for the time. Indirect certainly sped up render times, and it looks fantastic too. Thanks for that pro tip.


text:
Change axis of rotation (animated)
I want to rotate an object around some axis during one period in my animation and rotate it around another axis during another period.
What is the easiest way to achieve that?
Example: flip dice from 6 to 5 and then from 5 to 3 by rotating around the edge which is staying on the ground.


text:
Smart UV Project on multiple objects simultaneously, but independently?
How do I perform Smart UV Project on multiple objects/groups/components simultaneously, but independently?
When I try, it creates one giant UV unwrap/map that combines everything into one.

You don't.
If you want to have independent UV maps for each of your mesh, you have to perform the Smart UV on each mesh separately. You cannot select everything, perform Smart UV and expect to have have independent UV maps for every thing that you selected. That's just not how it works.


text:
How to convert physics animation to a curve/path?
Ok. I have a ball at the very top and a long curved tube leading down and I want to turn the ball's physics animation into a follow path animation. In order to do that I need to somehow make a path out of all location points in which the ball was during its fall down the tube. But I don't know how to do it...

You are wrong. Locations points I'm speaking about are the ones in physics animation of the ball.

Why do you want to convert the physics animation though? Why not keep it?

In order to make my camera follow that path. And because knowing how to do such things could be useful in the future to my other projects.

As I said below, I don't think it is possible. But, why don't you make the ball as a camera, or make a camera follow the ball instead?

The ball is rotating a lot - I'm not sure how to handle camera's rotation so it would be inside the tube and point at the ball all the time. I want to avoid extra work in setting its angle right. Converting the animation to a curve would be fast. Also I could just save that curve for later, put it together with other curves and easily compare if I would need to in the future. It is much easier to store curves than entire animations.

Have a look at the (shipped)  Btrace  Add-on .. it can generate a curve (or many curves) from the sequential positions of particles or vertices during a simulation .. I'm working with it myself, atm.

Thanks - I will look at it. Funny thing is that Blender already has an option called "Motion Paths" for armature that can display its path but I see no option to turn it into an object. I parented a bone to my ball and calculated the path... I can see it in the pose mode. But not touch it. :(

Ok Btrace solved the case. It allowed me to create a curve out of it.

If you don't mind me asking, which option? I can get it to work on a particle, but no luck with rigid body, yet

One method of converting a motion into a path is detailed in How to add trailing light effect to finger tips - by adding a particle system to drop particles as a vertex moves through space and then running a script to convert that particle system into a path. I also created an add-on as part of this answer to make the process easier.
The add-on can be downloaded from here : Particles To Path add-on
Once you've installed and enabled the add-on and you have your trail of particles (disable gravity and interactions from your particle system and have it emit a single particle for each frame of the animation) you simply execute the Particles to Path function (press Space (Blender 2.79) or F3 (Blender 2.8) and start typing the name) :

This should then generate the required path which you can use for your Follow Path constraint.

Using Btrace addon. (Which you can add in user preferences)

In left sidebar in Create tab at the very bottom->In Btrace select "Mesh follow" option.
Select "Verts" in there
Select "Custom Select"
Click on your object.
Go to edit mode
Select either a single verticle you want it to follow or add a new one inside the center of your object and leave it selected.
Go back to object mode
Click on OpenGl render animation button (it's somwhere above sync playback options at the bottom of the screen)
After the animation is done press esc to go back to object mode.
Select your object if it's not selected and press Run! button in Mesh Follow.
You should have your curve there spawned.

You can easily create a path by using a curve, and set it in the centre of the tube. Then set the ball to follow that curve.

It would be time consuming and really inaccurate since the tube is long and twisted and the ball is bouncing a lot. I want to take out part of physics animation of the ball and turn it into a curve.

I don't think that's possible.

It should be. All locations of the ball during the fall combined should be easy to convert into a curve. And getting them out of the animation shouldn't be hard. At least I see no problem in that unless it wasn't ever implemented.


text:
UV mapping separate objects?
I'm in 2.79 right now, (2.80 gets tired and crashes when I texture) but enough rambling, when I try to UV map separate objects the islands overlap. I'm keeping them separate because I don't want certain objects to be effected by the Subsurface modifier. I've added a picture so you can get a better idea of what I mean

so if you move the UV vertices you could correct that, no?

@moonboots Thanks for the input! but I just realized I could just UV map it all together and then separate the other parts. Thanks for your time though, really. :)


text:
How do I make the camera snap to position
I want to be able to have the camera move somewhere instantly, is this possible?
Like when the camera jumps to a different angle in a different shot.
P.S I'm very new to animating, so, please be patient.

you can either move the camera or switch from a camera to another

Use markers to move from one camera to the next https://blender.stackexchange.com/questions/3502/how-can-i-make-a-camera-the-active-one/3503#3503

Thank you, that will definitely help!


text:
Do all the parts have to be linked?
The title may confuse some, but I ask, Do all the little parts of the mesh have to be linked? as in, my model consists of many shapes that would be a bit tedious/hard to connect. like multiple un-linked cubes that simply clip into each other. They're all the same object, but they're not Linked.
I ask this because A lot of the tutorials I find just give enough information on the modeling process to interest potential customers.
I also see a lot of other people make (presumably) rigged characters while doing this.
I plan on putting this character into the Unreal engine, so... anything?
down below is a better example.

It really depends on how you want things to look in the end. It doesn't mean you will notice a difference if you were to connect them.
If you try to connect complex parts you also end up with a higher vertex count.
Inherently there is nothing wrong with having loose parts. Lots of weapons are made like that.
If you intend to control some parts trough code or animation, having them in separate objects works too.
I say play around with it and see what you're comfortable with. This is going to be a trial and error journey on your part anyways. Ultimately it comes down to technical choices and the workflow that works for your project.

Thank you, this helps out a lot. I was wondering because I had heard people say that certain unconnected meshes would "fall apart" in the game engine. I appreciate this, thanks again.

Falling apart is likely a result of having rigidbodies on them. The loose parts should transform with the parent tho. You have full control over this. Note that there is a difference between seperate objects and loose mesh parts, as in it's one mesh but some elements are not connected.


text:
Is AMD Radeon graphics card supported with Blender 2.90 on Mac?
I got started on Blender last September. I bought a Mac 3.8 GHz Intel Core i7 8 cores, 32 GB 2667 MHz DDR4, with AMD Radeon Pro 5500 XT 8 GB graphics card. I am using version 2.90 of Blender and unfortunately with the Cycles render mode, AMD Radeon cards are not supported. The rendering execution time is therefore longer. Do you know if Blender will adjust this in future releases. Do you advise me instead to switch to Windows to have a compatible graphics card.

Radeon cards are supported in blender (though admittedly have more issues than nvidia cards) - some of the most recent problems relate to the latest Adrenalin Drivers. Rolling back to an older driver version fixes this for many people. However, you are using a mac, which complicates things slightly. I understand mac uses Metal for a graphics API as opposed to OpenGL or DirectX, which might be responsible for some of the problems you are having. Blender is built upon OpenGL, and is DirectX compatible, but  I don't think it supports Metal at this time.

I have tried AMD ProRender and I don't know why but it was not faster at all.  Considering that Blender is built upon OpenGL and DirectX and considering that since I discovered last September Blender (during covid 19) and I love so much this App. I will sale my new Mac(2020)and buy a more compatible computer and operating system whatever the price. Does anyone could suggest me a product?
A big thank!
Andre

Apple joined the Blender Development fund recently, and if you've heard about it, the new M1 Macs have GPU support. Now, the Intel-based Macs are under development, and like me, you are one of those people waiting for the release. Blender 3.1 is scheduled to release in March, so the beta version is coming sometime soon.

Preferences > System > Cycles Render Devices and select OpenCL. You can also try AMD ProRender: https://www.amd.com/en/technologies/radeon-prorender-blender


text:
Blender stuck at 100% on the first frame of animation
It renders, composites and saves the image just fine, but refuses to move to the next frame. GUI remains responsive.
It's a large scene (alembic animations, 7 million tris with hair on top of the meshes) and for some reason reducing the size of the scene solves the issue. I'm sure I'm not running out of RAM though, as I have 16Gb and Blender is using only 3Gb to render. Plus, like I said, it renders just fine it's just not moving to the next frame. CPU usage is at 100% when it gets stuck. I'm using the latest version.
Switching from Optix to CUDA seems to help, but it also gets stuck after 5 or 6 frames. It also takes 6 times longer so I'd rather not use that.
Specs:
Ryzen 5 3600
RTX 3070
16Gb RAM
250Gb SSD (100Gb free)
Scene specs:

[EDIT] Sadly I can't upload the .blend file as this project is for a client

Are you using Animation Nodes or a fluid simulation by any chance ?

@Gorgious nope. My scene consists basically of two large alembic files and a few hair systems.

Similar to sgariepy.3d's answer, you could try command line rendering.
Blender docs: https://docs.blender.org/manual/en/latest/advanced/command_line/render.html
CG Dive encounters a similar issue and provides an example of running the CLI command: https://cgdive.com/blender-improve-render-stability-100-by-rendering-from-the-command-line/
> "C:\Program Files\Blender Foundation\Blender\blender.exe" -b c:\file_path\blend_file.blend -a

This will use the settings in your blend file, and render an animation.

You could try rendering without the GUI. I had found the following python script, which worked well, on the youtube channel of Chris P when I had crashes rendering animation nodes scenes :
import bpy

start_frame = 1
end_frame = 180
fps = 24
path = 'C:\\tmp'

for frame in range(start_frame, end_frame + 1):
    bpy.context.scene.render.fps = fps
    bpy.context.scene.frame_current = frame
    bpy.context.scene.render.filepath= path + '\\%04d.png' % frame
    bpy.ops.render.render(write_still=True)

Just paste it in a new text file in the Blender text editor of the scene you want to render. Replace start_frame, end_frame, fps and path, then run the python script. Tell me if it worked :)

Interesting, now this is the error I'm getting: https://pasteboard.co/JQD0sGK.png I didn't see this error rendering normally. I set the file path to C:/Blender, not C:/Clender, no idea why it's saying that. Here's my edited code: https://pasteboard.co/JQD11fD.png

Looking at your edited code, it should work. In your render output properties, could you try browsing to the exact same location and giving your file a name, then running the script again ? The output path should look like this : https://pasteboard.co/JQD3Xjj.jpg

It seems to be having trouble naming the filepath: https://pasteboard.co/JQDacov.png . If I set the filepath manually on the GUI and render using the python code it works though. But to be able to render the whole animation I need to set the filepath on the code.

Nevermind, I inverted the slashes and it works perfectly! Thank you so much! https://pasteboard.co/JQDdxef.png

Great, you're welcome ! I'm not sure what the problem is exactly since it worked on my computer with the backslashes. I'll keep trying to render various scenes with it.

My guess is that it's a system language issue. Keyboards in my country (Brazil) don't even have backslashes, so maybe the system doesn't recognize them.


text:
Why does the Edge Vertices node select only the first one?4

I want to iterate over every edge and do a math operation on its vertices, but when I use this method, it only works on the vertex with an index of zero. Am I doing something wrong?

What are you trying to accomplish?

I suspect that's happening because Edge Vertices is working in the Edge domain so the selection doesn't carry over properly. Sticking an Interpolate Domain on Edge mode right after Edge Vertices seems to do something:

However, keep in mind that, as the manual says, the order of the two vertices of an edge is arbitrary. The first vertex of an edge might also be the second vertex of another connected edge, so the end result might not feel very intuitive. In the setup above, there are many more second vertex points than there are first vertex points (424 red spheres to 83 blue cubes), for instance. My guess would be that during the interpolation, when it's time to select the second vertices many of the first ones get switched to the seconds list since as well as being the first vertices of some edges, they're also the second vertices of others. If you used the Vertex Index 2 socket instead of the Boolean Math—Not node like I'm doing, you would see some vertices getting picked twice while others dropped completely.
If what you're trying to do is select every-other vertex and you'd like the proportion to be more balanced, you could use a Math—Modulo node and set it to $2$ (or whatever integer you like) instead:

That explains a lot, but makes me realize I didn't explain my problem more thoroughly. I'm working on 3.5 and trying to make a spring constraint out of the edges of my mesh in a simulation loop. What I need is to loop through every edge, grab its 2 vertices, calculate their distance, and if they're further apart than their original distance then bring them back together or pull them apart.
But for this to work, in your example we would need the exact same amount of red spheres to blue cubes (i.e. every edge has exactly two vertices)

I don't know if the problem here is how Blender distinguishes points from vertices or if I'm missing something.

Hmm, do you need the indices for that? Wouldn't you do sth like: capture the initial distance between the two vertices of all edges, then capture it again and compare it to the initial value using named attributes and then scale elements? Like: https://i.imgur.com/fuv1I23.png I might be saying sth silly, not experienced with the simulation branch yet.

There is no difference between points and vertices in terms of domain evaluation, afaik. Vertices are the mesh element that's evaluated in the points domain, along with curve control points, and point clouds. In my scaling setup you would stay in the Edge domain so that wouldn't matter anyways.

That works, but in a simulation context, because the Edge Vertices node mixes up the vertices, it becomes very unstable; some vertices aren't iterated over at all (like shown in your red spheres and blue cubes example). In this image: https://imgur.com/a/p2XO6rI you can see that when I plug the position 1, the mesh is weirdly distorted. If this node was actually iterating over every edge and applying the operation (i.e. go over edge 1, set v1 position to v1 position) there shouldn't be any change, but there is.

I'll try your scaling setup in my simulation, let me see

I'm not sure about your last example (Position 1 into Set Position). Let's say you have a triangle. This means you have 3 vertices (with index 0,1,2) but 6 Edge Vertices—Position values (for Pos 1 and Pos 2 total—think as if you're splitting the edges, so their positions are repeated twice, since you're looking at edges individually). They wouldn't match one-on-one. There are three possible Position 1 values for each three vertices. It's the same domain problem—Set Position is looking at all vertices once, Edge Vertices are looking at them twice (when they're all connected).

Let us continue this discussion in chat.


text:
How do I keep the Random Value node static on changing geometry?
I have an Alembic point cloud I'm trying to render as grains, but the random size keeps changing every frame because the point count isn't static. I guess I could use the seed input, but I have no idea what seed to use. As far as I know blender can't import Alembic attributes on point clouds yet.

Just connect the input node Integer (with any value) with the input ID in the node Random Value. This way the randomly generated value remains the same in all frames.

@quellenform that randomizes everything uniformly i.e. every particle has the same size. I want every particle to have a different, but static, size.

Then please be so kind and show us a screenshot of your node tree, or even better: share your blend file with us (https://blend-exchange.com/), because otherwise there might be more misunderstandings here. Thank you!

@quellenform this is an example file: https://blend-exchange.com/b/BVk35Ajy , you can see that every particle has the same size. Now, I'm aware that when using Distribute Points node, changing the point count does not change their ID, but this is not true for an Alembic file

OK, thanks, but this file doesn't really reflect your specific example, because there's no Alembic here. Anyway: What happens if you plug the input node Index at ID instead of an integer value?

Ah, wait, I obviously didn't read your question carefully! You write "...point count is not static". This means that my suggestions were nonsense. Anyway, without your file (incl. Alembic) it might be hard to help here.


text:
Getting edges of the camera's view on the scene XY plane
I need to place objects randomly into a scene so that they are consistently within the camera's view.
I have a script which randomly places a perspective camera pointed at [0,0,0] at a variable distance. What I would like to do is to place a flat object onto the xy plane, centered at [x,y,0] , with x, y placed so that the object's center is guaranteed to be within view of the camera.
But it's not enough to place the object at the center of the view, there needs to be some variability. So I want to convert from camera coordinates (2d, ie [0,0] for camera top left and [1,1] for camera bottom right) to 3-d coordinates [x,y,0]; if I place an object randomly within the camera view, it will be placed randomly in world-space so that it is visible.
Attached image shows what I mean:
I'm aware of bpy_extras.object_utils.world_to_camera_view(), I effectively need the opposite of that command parameterized by 2 out of 3 world coordinates...

From the camera view frame.
bpy: How do you find the corners of a camera frustum?
A camera points in the -Z direction. For a perspective camera can find the vectors of the origin to the frustum and if and where they intersect with the XY plane.
Test script.  Have kept it simple. Uses the scene camera, finds the frustum, adds a cube on XY plane given image (0, 1) coordinate.
Please note: have used (0, 0) as bottom left and (1, 1) as top right.
import bpy
from math import inf
from mathutils.geometry import intersect_line_plane as ilp

# Global XY plane
plane_co = (0, 0, 0)
plane_no = (0, 0, 1)

context = bpy.context
scene = context.scene

cam = scene.camera
mw = cam.matrix_world
o = mw.translation

camdata = cam.data

tr, br, bl, tl = [
mw @ f for f in camdata.view_frame(scene=scene)]
# offset vectors from bl.
# eg middle would be bl + 0.5 * (x + y)
x = tr - tl
y = tr - br
# roll around in CCW direction
for image_coord in ((0, 0), (0, 1), (1, 0), (1, 1)):
    cx, cy = image_coord
    # vector pointing from cam origin thru image point (PERSP)
    v = (bl + (cx * x + cy * y)) - o

    pt = ilp(o, o +  v, plane_co, plane_no, True)

    if pt and (pt - o).dot(v) > 0:
        print("Adding cube at ", pt)
        bpy.ops.mesh.primitive_cube_add(
                location=pt,
                )

    elif pt and (pt - o).dot(v) < 0:
        print("BEHIND THE CAMERA")
    else:
        print("NOT POSSIBLE")

A plane to represent this.
Make a plane outlining the possible locations seen by camera. Tweak to make a plane mesh based on the points.

Plane defining allowable locations in default scene
coords = []
for image_coord in ((0, 0), (1, 0), (1, 1), (0, 1)):
    cx, cy = image_coord
    # vector pointing from cam origin thru image point (PERSP)
    v = (bl + (cx * x + cy * y)) - o

    pt = ilp(o, o +  v, plane_co, plane_no, True)
    if pt:
        coords.append(pt)
print(coords)
if coords:
    name = f"{cam.name}_ViewPlane"
    me = bpy.data.meshes.new(name)
    faces = [range(len(coords))] if len(coords) > 2 else []
    me.from_pydata(coords, [], faces)
    ob = bpy.data.objects.new(name, me)
    context.collection.objects.link(ob)

Tests

59 random scaled dots per click at random(), random()

150 Foos
Related.
How to find all objects in the Camera's view with Python?
Camera coverage calculation inside a room
projecting onto a mirror and back?
https://blender.stackexchange.com/a/160388/15543


text:
Object won't move when I add Soft-Body physics
I got the object with the soft-body to work at first but now it refuses to move at all when I press play. The only way to get it to move again is to start a brand new project and redo everything.

I figured it out, I need to press Playback and then "Set Start Frame." Didn't have to do that before so I don't know why I have to do that now. Hope they change this later one.

What version are you using?


text:
Only one object showing up in blender while rendering
Guys im really panicking...
So im making a GFX and im using blender 2.79, but when i start rendering, only one object show up and the background is transparent.
When i press the render preview, it shows all of the objects.

Did you somehow accidentally set most of your objects to be hidden in render?

Consider sharing a screenshot of your outliner and how did you set up your compositing. Ideally share a minified version of your file showing the issue: https://blend-exchange.com/ Also, please take the [tour] to learn about how this site works, thanks.

https://blender.stackexchange.com/questions/53632/render-result-is-completely-blank


text:
Nodes - unknown data
I am creating a UV wrap around my doughnut, I go to the shading section to add nodes to create a texture to the doughnut. After I link the noise texture, image texture, texture coordinate and displacement the doughnut turns purple. I have tried finding the missing files, made sure I was in cycles, adding the image to another file, and re-linking all of the nodes and nothing has worked so far. Any help would be much appreciated.

please provide your blend file

Please provide a screenshot of your node set up. The described order the nodes does not make sense and would cause an error.


text:
How do I enable the 'Language' option in the Translation drop-down Options box?
On my installation of Blender 3.2.1 I click these various options:
Edit -> Preferences -> Interface -> Translation -> Language and this gives only the option Automatic: (Automatic) option which is clickable and then underneath the option labelled 'Language' which is grayed out and unclickable. Every tutorial/youtube video I have seen says I should be able to choose a language option from here. How do I enable this option? Other people seem to click on an option and another menu appears with various languages included.
I am using Linux (Red Hat Fedora) as my OS.
This question does not help either, as it pretty much leads to the unsuccessful process outlined above: Any add-ons there for change blender interface into regional language?

The language drop down should show you all options. Perhaps you have installed an add-on that causes issues? I would recommend that you check if renaming ~/.config/blender/3.2/ or starting Blender with --factory-startup, so that Blender does not load your current preferences, resolves the issue.

No, just tried that, and although the dropdown now appears with a blank entry as the 'default' option, when I click it, I have the same choices - Automatic, or the grayed-out 'Language'. Could it be something to do with Linux Fedora?

Are you using an official build? If not I would recommend you check if the official builds work properly and in general update to 3.2.2. Also check if Blender prints any error messages to the terminal.

I think I installed it form the command line with yum install dnf blender o something. Is there a way of 'updating' to a stock build? This version was possibly a tweaked Fedora repo version or something like that.

You can download the official Blender builds and extract them anywhere you like. Just open a terminal in the respective directory and run ./blender.  All past releases can be found here: https://download.blender.org/release
The current version can be found here: https://www.blender.org/download/
Experimental/daily builds can be found here: https://builder.blender.org/download/daily/


text:
Realistic Mushrooms
I am new in Blender and I tried to achieve a realistic Photo. As you can see it looks ,like sh*t. Does anyone have some tips for nodes I could use?

I'd say it's not that bad for a beginner's work... Most organic materials benefit from using SSS (SubSurface Scattering), so maybe try it out?

It looks nice! Switch the Color Space value to Non-Color for Normal and Height Image Texture nodes. With sRGB you will get weird shadings. Also, try an HDRI for the world background.

Your fly agaric has only a few warts. Try out the particle system (https://youtu.be/jNmnPXY9UQA) or the new geometry nodes to add more of them (https://youtu.be/EbLDT_Ljuos).

Please [edit] your question, it should have a more narrow focus as to what the specific problem is. As it is currently written, it seems that you are simply unhappy with the result, which doesn't really help other users have a clear understanding of what your problem is. Please read the [tour] and read this page for more about how this site works, and help on asking.


text:
Rims for Camera Buttons
right now I try to create little holes which are formed like these menu buttons so there is a little space between the body of the camera and the buttons. Unfortunately the Boolean doesn't work properly and creates no hole. Is there another way to solve this problem beside the boolean?

Hello :). The Knife project tool could be a suitable alternative.

The Knife Project tool is an alternative to the boolean. You must constrain the 3D View to an orthographic camera angle in order to get it to work. Think of it as using a light beam which is aligned to your current viewing angle, which then casts a shadow of one object onto another object, to create cuts at all the points of intersection between the two objects. You could use an open-ended cylinder (must be open-ended, or else the projection will be blocked) to create a series of edges defining the button hole. Then you could simply select the all the faces contained within the newly created edges -- as they now form a circle on the surface of the camera -- and extrude them, delete them, or otherwise edit them as needed.
Steps:
Start by making sure you're in Object Mode. Select the cylinder first, then Shift + select the camera body to include it in the selection.

Then, with both selected, Tab into Edit Mode (both objects will remain selected in Edit Mode, which is important). Press whichever numpad key corresponds to the viewing angle that would be perpendicular to your camera's main surface (this is likely to be the Front view, which is accessed by Numpad 1, though Front may actually not be the correct view in your case. You'll have to check). Once the correct view is attained, look to the top of the 3D View for the Mesh Menu. Under it, you'll find Knife Project.

Once this option is chosen, you're done, but it won't look like anything happened. Go back to Object Mode to hide or delete the cylinder. It still won't look like anything happened. Go into Edit Mode, and you will see the new edges made by the cylinder on the surface of the camera body. Edit as needed.


text:
Equivatlent to 3dsMax’s “Expose Transform”?
Is there any possible way to get access to an object's rotation, in its parent's space, to use in a driver when it is being driven by a constraint like "Track To"?
In 3dsMax I would have been able to achieve this with an object called Expose Transform that will reveal an object's Position/Rotation/Scale relative to the origin space of another object as if the other object was its parent, even if there is no kind of connection.
There may be many instances where I could use a similar feature. I wonder if there is anything like this.

I'd rather use a Copy Rotation constraint and avoid using drivers in this case. If you could give a precise example of what you're trying to achieve regarding the different spaces, we could give you a complete answer.

Thank you for your suggestion! This will work for the particular case I had in mind. It's likely I will still run into situations where I would want an expose Tm, but this will do nicely in this particular case. Luckily copy rotation has an option for "Local Space". (I have two objects that are both children of a parent empty. The first object is tracking a target. I need the other object to mimic the rotation of the first object, but relative to its parent, which may have its own orientation)


text:
Frame _ Current property cannot be animated 2
I asked this question before and somehow it got closed. so I will try again. I was following along with this youtube video https://www.youtube.com/watch?v=juXVkgguQGo .
at about 11:30 he click "I" and make an key but when I do the same thing I get an error saying  Frame _ Current property cannot be animated . My question is why? it works for him.
Is there any other information you need to help just asked. but IDK what he is during differently than me.
I just want the Cylinder to chance color, like the guys does in the video ...
I do not know why this question was close before...

Your previous question https://blender.stackexchange.com/questions/163340/frame-current-property-cannot-be-animated was closed because it lacked detail. Rather than open a new one you can edit the old  question as was suggested on more than one occasion. (with a link that opens your old question in "edit mode")  On most occasions doing so  leads to the question being re-opened.  Please don't instead ask a new question with those edits.  Please read the help documentation on asking questions.

What more information do you need ? I really Do not understand. I post the youtube video I am following. I post the goal I am trying to get. I post a picture of what I have. What more information do you need ?

When you press I to insert a keyframe, your mouse has  to be hoovering exactly over the property you want to animate. Which is exactely the property?

Josh Thanks that helped a lot. it is working now. sorry, I am new to Blender and I did not know you have to hove over the property.

How do I mark Josh's comment as the answer ?


text:
Select vertices within a given object
I am sculpting voxel-type meshes. I have a few methods for this and was working on a tutorial. Had an idea to use objects as a boolean type tool. Very close (I think) to a script but I am stumped. The following script is based on this post. It seems to only get vertices based on 'distance=' in this line.
result, point, normal, face = obj.closest_point_on_mesh(p, distance=.25)

It won't run if the Sphere is absent, but the Sphere doesn't seem to affect the selection in any way.
Script:
import bpy, bmesh

def is_inside(p, max_dist, obj):
    max_dist = 1.84467e+19
    result, point, normal, face = obj.closest_point_on_mesh(p, distance=.25)
    p2 = point-p
    v = p2.dot(normal)
    return not(v < 0.0)

obj = bpy.context.active_object
Sphere = bpy.data.objects['Sphere']
bpy.ops.mesh.select_all(action="DESELECT")

mesh=bmesh.from_edit_mesh(bpy.context.object.data)
for v in mesh.verts:
    p = obj.matrix_world @ v.co
    if is_inside(p,1,Sphere): v.select = True

print("script complete")

Have you tried applying its transform/scale/rotation by using ctrl-a?

I think the missing piece you needed is this phrase from the closest_point_on_mesh function description, from the docs:

Find the nearest point on evaluated geometry, in object space

So you need to translate the cube's vertex to world space, then translate it into the sphere's local space. Here's the revised script, adding the matrix transform plus a check when result returns false:
import bpy, bmesh

def is_inside(p, max_dist, obj):
    result, point, normal, face = obj.closest_point_on_mesh(p, distance=max_dist) # you weren't using max_dist in yours, is that intentional?
    if not result:
        return False
    p2 = point-p
    v = p2.dot(normal)
    return not(v < 0.0)

obj = bpy.context.active_object
Sphere = bpy.data.objects['Sphere']
bpy.ops.mesh.select_all(action="DESELECT")

mesh=bmesh.from_edit_mesh(bpy.context.object.data)
sphere_matrix = Sphere.matrix_world.inverted()
mat = sphere_matrix @ obj.matrix_world # precalculating it here, to improve performance
for v in mesh.verts:
    p = mat @ v.co
    if is_inside(p,2,Sphere): v.select = True

# here's generator way to do the loop too
#selected_verts = [v
#    for v in mesh.verts
#    if is_inside((mat @ v.co), 2, Sphere)]
#for v in selected_verts:
#    v.select = True


text:
Can't zoom in or move around
Everything was fine a week ago but when I openend my project turns out I can't zoom in closely. Like, I can zoom but not into the body or close to it, I also can't move around with shift mousewheel anymore, can anyone help?

Depending on the situation, which is sadly not possible to see here (it could help if you attach a picture of your view), i would recommend to press Numpad Decimal or go in the "View" Menu and click on "Frame Selected".
If you zoom in enough on a small detail, the amount of movement with the mouse seems to get drastically reduced.
Once you use "Frame Selected" Numpad Decimal or even "Frame all" with Home, you should have a normal responsiveness of your mouse navigation in the 3D Viewport.
Update:
The camera (not camera object!) is essentially stationary when you zoom and has a limit as to how far it can zoom in. To avoid this, it's recommended to either reposition the camera with functions like mentioned above or by just using Ctrl+Shft+MMB to move the camera along it's Z-axis. That way you can move closer and readjust the zoom needed. I'd zoom out before moving closer though.

True! Once I did the frame all option, the mouse wheel started working again. Just wondering, what made it stop zooming in.

Try locking the view to the 3D cursor. Press N to bring up the sidebar below, press the View tab, and open the View Lock menu.

Another possible work around I found ; though kind of silly... Adding and deleting a camera, or enter Camera View and then out.
Update: The other answerer is correct selecting "Lock to 3D Cursor" in the View Tab! I am unable to upvote at the moment but thank you!
For my random work around: I first added a camera (since I had deleted the default one), switched to camera view, and then moved the viewport gizmo.

By this next 3rd image, I am able to zoom in closely

Then of course you could just import into a new project last resort haha.


text:
Boolean cut not working
As you can see from the image I would like to cut the excess part of the green mesh which is in the green mesh of the head.
Both head and hair mesh is 2 separate objects with all scale rotation and position applied.
I have tried with the boolean operation but one of the 2 objects is always disappearing as a final result.
Any Idea what is causing it and how can I manage to do it?  Thanks.

It's probably because you have the boolean modifier set to Difference.
If you set the boolean modifier to Union, The objects won't disappear.
If the union doesn't work, a workaround could always be to duplicate one of the objects and then do boolean difference, so even if one object disappears, it won't be a problem since it's already duplicated without a boolean ;).

the problem is that I do not want the 2 objects to be one I want them to still be separate in the end result.  All I want is to remove the excess mesh that is inside the head.

@ronin074 it's the boolean modifier, of course, it will be separate in the end! Even if you apply (not add, "apply") the boolean modifier (which is not a necessity) it will still be separate. I recommend you watch some tutorials on the boolean mdofier.


text:
Cloth Simulation not touching the surface

I'm having a problem with cloth simulation.
The surfaces (the bowl and table top) is with Collision for Physics.
And the cloth is with Cloth Simulation.
The problem is that the cloth is not touching any of the surfaces and I've already set the collision distance to 0.1cm (which is the minimal allowed).
Why is this "void" around my bowl and surface?
Thanks!

Unfortunatelly Blender physics is pretty bed with small distances. So the best what you can do is upscale 10-100 times everything before start the simulation. After you can downscale it or just render.

Now that you've told me, it makes sense. And I did that, it worked! Thank's a lot. The only thing that keeps me thinking is that in the tutorial that I'm following, it works just fine even with the same dimensions I'm using.
That's really strange. But thank's a lot, man!


text:
Can't separate background for 3d image
I'm trying to rigg a 3d model of a Human Skeleton (PNG file) which I downloaded into my picture folder (from online) and imported it into Blender 2.8. However, I can't separate the background from the Human Skeleton. I tried to make just the background transparent, instead, it made both the background & picture model transparent. How can I make background transparent without making skeleton transparent so I can rigg Human skeleton as a model?

A .png is an image file, not a 3D model. While you can subdivide and deform a mesh that uses an image as texture, it will not be able to move limbs independently or transform in a form similar to an actual skeleton. You will need to model the actual mesh using the image as reference (and perhaps use it later as texture for the separate bone objects). If you just want the background to be transparent, then you will need to set Blend Mode to Alpha Blend in Eevee and connect the alpha channel to the Alpha socket of the Principled BSDF (for both Cycles and Eevee).

Thank you rjg. Can I convert the .png file to another file to make it possible to move the image limbs?

Upload your blend file to https://blend-exchange.giantcowfilms.com/ (remember to pack the image from the file menu -> pack)

@Merlin I doubt that the project file will be of much use, since the issue is a very fundamental misunderstanding of what images and 3D models/meshes are.

There is no automatic magic that will make this happen unfortunately, the issue is not the image file format. An image is 2D and while you may be able to tell different objects in an image apart, the computer can't. It's just a matrix of values. There are techniques that allow computer to perform image recognition and segmentation, but that's not a feature that Blender offers. The right way to solve this is by learning 3D modelling.

There may be an easier way, if your image has an alpha channel or good contrast from the background, by loading it into Inkscape, tracing it (remove background and one color only) and import the extracted shapes into Blender.

@rjg could be 2.5D animation, so it is possible that the OP is using this as a texture

@Merlin that's not how I was reading the question, but alright.

Alternatively you could also separate each limb from the image into a separate layer in an image editor of your choice and then export each layer as an image. Import each image as plane and you can move them independently.

Thank you both -- rjg, I will use your suggestions and, try Inkscape and see how that works.


text:
I can't add a New library in Blender 2.8
I want to create my own library in order to have access to very complicated shading materials in all my projects.
So I go to materials, click "+" in Material Library VX, and then when I click "OK" an error message says "select a library" which makes no sense to me.
But whatever, I select Cycles library and try again. Blender tells me "Library added" but I can't see it even if I close and launch Blender again.
I know we can append materials from files but in the long run it's not possible for me to work without my library.
I really want a library for my own materials so please help :/

Why?
When you try to  create a new library with the add-on, it tries to create a new .blend file and since the add-on's directory is in Program Files folder(if you are on Windows) it does not have permissions to do so and fails.
Solutions
You could run Blender with administrative privileges by right-clicking it and choosing Run as administrator. This way it gains permissions to write the file in the current add-on's folder.
Or even better solotion
You could move the add-on from
C:\Program Files\Blender Foundation\Blender 2.81\2.81\scripts\addons
to
C:\Users\[Your User Name]\AppData\Roaming\Blender Foundation\Blender\2.81\scripts\addons\
where it will be able to write the files when started normally. Note that you have to move the add-on's folder (in this case C:\Program Files\Blender Foundation\Blender 2.81\2.81\scripts\addons\materials_library_vx\), and not copy it since if you had it in both places you would have a conflict.


text:
Difference between a paintmap and wetmap
Can somebody explain to me what is the difference between a paintmap and a wetmap? I'm currently studying dynamic painting and wondering the difference between these two outputs.

When a brush with a Color and a Wetness moves through a canvas, it lays paint.
As a result, the canvas gets

a color, represented by the (RGBA) Paintmap, and affected, for instance, by the Dissolve effect

(no dissolve in this example)
some wetness, represented by the (greyscale) Wetmap, and affected, for instance, by the Dry effect.

Once the paint dries out (if it does), its color remains while its wetness goes away.
Example shader where the color is the paintmap, the specularity is the wetmap, the roughness is one minus the wetmap (there is also some alpha-based bump here):

That is cooool. Imagine how that can be in watercolour painting inside Blender.


text:
Brush in .PSD file format not showing
So I have a few brushes in PSD file format, but when I try to append them into Blender they don't show up.

To import brushes in blender, you would have to convert it to jpg or png first. You can do it using GIMP. Open GIMP, drag and drop the PSD file and export it as jpg or png.
Also, appending them wouldn't work since it is not a .blend file. You would have to import them. Open user preferences, add-ons and search for 'Import Brushes'. Activate it and from the file menu, select Import, 'Brush Set' and browse to where you have saved your file.

There is no 'import brushes' in my add-ons

Maybe it is not updated for 2.8 yet. This will help you https://youtu.be/Y8IEt-a6AnU


text:
How can I paint through a mesh while weight painting ? [Blender 2.8]
So I found a few questions like this already, but none of them solves the problem in the 2.8 version of blender. How can I weight paint through a mesh in front view for example? In the image below I tried using the show x-Ray option and the front face only option, but none of them works.

Update:
In the latest Blender version it looks like you need to open the N panel, click on the Tool tab and in Brush Settings:

Advanced > disable Front Faces Only
Falloff > switch from Sphere to Project
Front Face Falloff > disable the option

It's gone. It's not there anymore. This question is reopen. I'm feeling like Maya's dev took over blender and is trashing it.

does it answer? https://blender.stackexchange.com/questions/169121/2d-falloff-button-gone-in-2-82-7


text:
Connect two walls with a curve
If I have this,

How can I connect the two walls in the following way?

I mean, I would like to understand how to connect the two parts with a curve.

This may help https://blender.stackexchange.com/questions/66733/how-would-i-smooth-a-90-degree-pipe-angle/66735#66735

You can do that easily with the Bridge Edge Loops operator, just select both faces capping the ends you wish to join, and press Space Bar and search for Bridge Edge Loops.
Adjust parameters as desired, most importantly the Number of Segments and Smoothness.

Why do you erase faces on the wall ends first? Bridge should work on face as well.

You are right, totally forgot that you could bridge directly from faces. Fixed text and image, thanks for the reminder.

The B shortcut must be your custom setup as B should activate box select. There isn't normally a shortcut for bridge edgeloops.

Damn, you are right, I got so used to my custom keymap that I totally forgot I changed it. Fixed now, thanks for noticing

@DuarteFarrajotaRamos I too use to have a custom theme and a few shortcuts, but got tired of constantly changing everything for each answer; so now I just run the defaults for keyboard and theme.

This is probably unpopular opinion but after all these years I could never get used to Blender's default right-click-select. It started with a simple customization like that, and ended up spreading into an overall more "standard" and familiar keymap, including stuff like click-drag for Border Select and 123 for switching between Vertex Face and Edge selection mode and many more. Its a dependency, I'd have serious trouble going back now.

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


text:
How to make a plane that has been deformed straight?
Currently working on a car for a game and I want it to be low poly kinda like the one below.

The problem is that I made it using a flat plane and then used the edit mode to move and cruve them into place so now my hood looks like this:

Please help D: All I want is to make it into a flatter surface with less dents and bumps!

I'm afraid you may need to start from scratch, your model seems quite messed up. Try looking into some low poly tutorials on the internet

In Object Mode setting the Shading to Smooth may help.

You can select several faces and scale them along normals so that they become equally oriented in 3D space which might fix that model a bit. Although there might be needed quite a bit of manual work to adjust it.

Try Looptools addon, using Flatten with the offending faces selected.

Try scaling with a value of 0 on an axis, that will straighten it for you.
Maybe try all three axis and see which one will fix it  (S, X, 0, Enter ), also try the Z and Y as well .

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


text:
Solidify Modifier doesn't work
I am pretty new to Blender but with tutorials I came at least this far.
I made a mesh blanket over a mesh bench. I used cloth simulation to make the blanket a nice fit and at the frame I liked I used Apply under the Moderfiers tab in Properties ,to make the cloth a mesh.
This is the front of the blanket and then the back with Solidify applied:

But when I try to upload it into my virtual world, the back is still blank:

To me, it looks like you've exported the mesh without applying the solidify modifier before the export (or checking some export option that does it automatically).

I didn't export it without the solidify and i wouldn't know about any export options to check

There is also potentially a problem with the normals already in Blender. Try enabling "Backface Culling" in the 3D view properties --> Shading --> Backface Culling to see if that hides it as well.

If you aren't uploading as a .blend file, you will see something like this in the export settings.

I have to export it as a collada to make it work in Second Life. I did look in Blackface Culling and it shows blank without solidify and filled with solidify like the pictures.

@Siara So did you check the box here?

OMG now you see what a noob i am. That was unchecked. Thank you so much! That was the trick :)

The mesh was seen-through because it hasn't had any thickness. As normals by definition can point only one side those faces aren't seen from another side in the engines which can't do that (e.g. game engines). As Solidify is Blender modifier game engine isn't aware of it, you have to apply the modiifier to make geometry real

You must either apply the modifier manually or enable "Apply modifiers" in the export settings for whatever file type you are exporting to. For Collada, the setting is here:


text:
Crazy low fps when playback animation
When I playback an animation I get around 1 FPS with really basic object.
My scene contains 1 Torus with standard vertex and array modifier set to 8. No Subdivision modifier and no texture or light, its really basic.
If I increase the array to maybe 70 count I'm not able to stop the animation and Blender most likely crashes.
I have tried different type of settings and updated my graphics driver, without improvement.
CPU Win 10 Home Intel(R) Core(TM) i5-6400 CPU 2.70GHz 2.71 GHz 8g RAM 64-bit Bought last summer.
I have Blender and a couple of games on the computer I never use for anything else other then Blender normaly
When I play games I never have problems and normally play with high settings.

Any chance you could upload the .blend file? If someone else can test the file we can verify if it is a problem with the file or not. You can upload files here: https://blend-exchange.giantcowfilms.com/

In the render tab under dimensions there is an option of frame rate, under which you may choose 60fps and give it a try. If it doesn't work than you can choose custom and go as high as possible. If even that doesn't work then you might try baking the animation first with very small timeframe and then play the animation.  HOPE IT HELPS.

These are animation rendering settings, not viewport performance adjustment.

Thanks fo the help! I did change it to 120 and now i have like 50 fps when i do first animition playbeck and after that the animation runs perfectly smoth. Thanks! Why does it run smother with higher FPS input in Demensions?