text:
What's the exact gamma correction Blender uses?
Whenever talking about gamma correction the answer for the gamma value is always 2.2 or 2.3. I did some tests using standard view transform:
Emission shader: 0.5
Render result with sRGB view transform: 0.7354
-> Gamma: 2.25530545664
Is my calculation correct and does somebody know why Blender uses such an arbitrary number?

When you have conflicting answers, what good is another answer?  Blender does not use a straight power operation to convert between linear and sRGB color.  The function appears to be srgb_to_linearrgb(), in https://github.com/blender/blender/blob/594f47ecd2d5367ca936cf6fc6ec8168c2b360d0/source/blender/blenlib/intern/math_color.c .  That code is as exact and concise a description of the algorithm used as you can get.  Beware of texture filtering in tests to confirm.

UNfortunately I actually don't have a coding background at all, so the source code really is only of limited use for me... But thanks anyways! Is there some kind of overview of where what part of the source code is or do you have everything memorized?

Honestly, this is the first time I've searched Blender code.  I know github has excellent search capabilities, so I just found the repository on Google, then searched for "srgb" and it only gave me a few options.  Some coding knowledge helps for knowing which of those options is likely to be right, but you can just look in all of them.  Most people learn to code just by reading code.  The language here is C or C++ and the confusing part here is the ternary operator (confusing even for some experienced coders, source of arguments lol) but that name should be enough to find references.

How do I actually find out whether a file is in C or C++?

Huh, I don't know, but for reading, it doesn't usually matter :)

Typically, C source files have a suffix of .c and C++ source files have a suffix of .cpp, but it's not a strict rule.

As Nathan points out in the comments, using a Gamma node with the magic "2.2" value is only approximate because sRGB<->Linear conversions involve a power function.
As I needed a more exact conversion for my specific use case (I'm encoding bitmasks as colours into my vertexes as an optimisation for my game), I have taken the blender source that was linked (https://github.com/blender/blender/blob/594f47ecd2d5367ca936cf6fc6ec8168c2b360d0/source/blender/blenlib/intern/math_color.c) and converted it to blender nodes for your convenience.
Converting sRGB to Linear
Blender's implementation in C
float srgb_to_linearrgb(float c)
{
  if (c < 0.04045f) {
    return (c < 0.0f) ? 0.0f : c * (1.0f / 12.92f);
  }

  return powf((c + 0.055f) * (1.0f / 1.055f), 2.4f);
}

Material node equivalent

Converting Linear to sRGB
Blender's implementation in C
float linearrgb_to_srgb(float c)
{
  if (c < 0.0031308f) {
    return (c < 0.0f) ? 0.0f : c * 12.92f;
  }

  return 1.055f * powf(c, 1.0f / 2.4f) - 0.055f;
}

Material node equivalent

I've implemented both of these as node groups in my project. Here's a minimal use case of it in action, which will read my vertex colour's red channel and convert it to the range 0-255, which matches my setup in Unreal Engine:

Note that some of the numbers in the screenshots have been truncated in blender, if implementing again yourself, you may have to manually punch in 1/12.92/or whatever to get closer to my implementation's results.
Also note that I haven't tested these blender nodes extensively -- I am no expert with this software, but figured this would be a helpful starting point for artists to interpret the C equivalent for conversions.

"As I needed a more exact conversion for my specific use case (I'm encoding bitmasks as colours into my vertexes as an optimisation for my game)" might be an XY problem... You can easily convert to linear by choosing the right setting in the Image Texture node. You can easily convert from linear by choosing the right setting in the output settings. Why calculate it in the shader?

While the Image Texture node does provide easy transforms for the colour space, not using one. I'm sampling from the vertex colour via a "Color Attribute" node. I'm using "Face Corner/Byte Color" because that's the format Unreal Engine wants, but the result is different in Blender (3.6) so I believe I need this manual step. If there's a way of sampling the vertex colour without a transformation, please let me know.


text:
Do the CM value in the image editor already take the displays gamma curve in consideration?

Does Blender account for the fact that my display applies a gamma curve and appropriately apply the inverse gamma curve, or does Blender just send this value to my display, meaning that what is on my screen is actually darker than the number given by CM?

This is just a different way of asking your most recent previous question; except it introduces the issue of monitor calibration.
Blender displays what the image should look like when it displays an image on your monitor, provided:

You've correctly told Blender what color space that image is using; and
You have a calibrated monitor.  Users rarely have properly calibrated monitors.

See this answer for more details.

My question was about the numbers Blender displays right to CM. I am aware that if I tell Blender that I have a sRGB display it will at some point apply an inverse sRGB gamma curve, so that my image is displayed correctly provided my display is calibrated correctly. My question is: Are those the numbers that already have that inverse sRGB gamma curve applied, or does Blender do it at a later stage?

source: Stack Exchange

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

sort: votes


text:
How are the X and Y axis determined when using the normal transform orientation in edit mode?
When using the normal transform orientation in edit mode the Z axis of faces always points in the same direction as the face normal.
In the case of edges the Y axis always points in the same direction as the face.
In the case of vertices the Z axis always points in the smae direction as the vertex normal, that is the split normals of shade smooth without any weighting.
But how are the two other axes determined? For example when transforming a face, how does Blender choose which tangent to use as X and Y axes?
The shader nodes like normal map node use the axes of the UV map to determine the X and Y axes, but in edit mode this isn't the case, as modifying the UV map doesn't influence the X and Y axis of the normal transform orientation in edit mode at all.

In the case of faces, the X direction is always perpendicular to the longest side.

Blender source: transform_orientations.c line 516, and later in the same file line 1291 which leads to line 304, and finally to line 747

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


text:
What does filmic do exactly?
Filmic is great and both BLender Guru and Gleb alexandrov have made videos regarding Filmic. There is also a webpage for filmic by troy_sobotka https://sobotka.github.io/filmic-blender/ and some info in the Blender docs and on Stackexchange.
However nowhere is the way filmic works exactly described. It's always just "it desaturates with high intensity" or "it makes HDR images fit into the 0-1 range". Apart drom that most ofthe documentation including the webpyge ba troy_sobotka only talk about the Filmic addon, however Blender has Filmic already included by default but in an altered state.
Does anyone know what Filmic does in the background mathematically?
And is the Filmic implementation in Blender precisely documented anywhere?

The best lay description is probably the Filmic Log Whitepaper
Filmic Log is a transformation from a linear color space to a logarithmic color space, using the equation $y = 0.371 × (sqrt(t) + 0.28257 × ln(t) + 1.69542)$
Nothing is precisely documented in Blender.  The closest you get for Filmic would be to start at the Color Management manual page. It explains the overall workflow for filmic in the Display Transforms section.
For more precision you need to read the source code.

Unfortunately I actually don't have a coding background at all, so the source code really is only of limited use for me... But thanks anyways! I tried searching the file containing filmic transform but got lost in the tremendously huge Blender github repository. Could help me to find it? thAnks!


text:
What happens inside a point lamp
So point lamps can be scaled such that they completely envelop an object. How does a point lamp emit light inside itself?

what do you mean by "inside itself"? Could you be more precise?

Well a point lamp has a certain radius what if objects are inside that radius

it will be lit like the other objects

I think increasing the radius is useful when you need to put a light object into a mesh object so that the light can go beyond the mesh limits

The radius setting is used for shadows cast by illuminated objects and also to evenly distribute the wattage of the light in the radius volume.  Radius is used to calculate the angle and projection for the edge of the shadow from the light for objects on the shadow side of other objects.

Therefore an object that is inside the light radius will cast less or no shadow depending on % volume of object inside the radius.


text:
Principled BSDf roughness greater than 1
Some values of the Principled BSDf like specular accepts inputs that are greater than 1, because some materials for example for diamonds the specular reflectivity would be greater than 1.
Obviously this also applies to parameters like clercoat, sheen and anistropy, with accompanying visual changes of the material.
For some other parameters like for exmple metallic values over 1 are simply clamped internally, such that there are no visual changes in the material.
Now for some reason the roughness parameters accepts values over 1 and which has a visible brightening effect on the material.
But is this physically based like is in the case with specular and what would that connection with physics be or is this simply an oversight by the developers?

I'd say an oversight, values over 1 violate energy conservation imho :)). I remember this issue being mentioned some years ago, just probably was never amended.


text:
Batch rename shape keys
I'm kinda new to blender and can't seem to find any fast way to rename shape keys.
I have found many addons and scripts to batch rename objects but none work on shape keys.
Is there any way to batch rename shape keys of single object or even better to just remove certain letters from all shape keys on given object?

Hi and welcome! Could you please provide any example on what you got and how you'd like to rename them?

You can use the python api to script functionality, which isn't exposed through UI functions.
Write/Paste scripts in the text editor and press Run Script on the editor's menu bar to execute it.
First we get a list of shape_keys.
import bpy

# get the selected object
selected_object = bpy.context.object

# get its shapekeys
shape_keys = selected_object.data.shape_keys.key_blocks

Next, we can loop through the list and do a replace operation. shape_key.name is a string which stores/gets/sets the shapekeys name.
# loop through shapekeys and replace the names
for key in shape_keys:
    key.name = key.name.replace("Key", "FaceKey")

We could also suffix them with an indice.
# loop through shapekeys and replace the names
for index, key in enumerate(shape_keys):
    if key.name != "Basis":
        key.name = "MyKey" + str(index)

For some reason, the UI doesn't update the names of the shapekeys untill you hover over them.


text:
Control image texture source from outside node group
I'm working on turning a cavity node setup I found online into a node group I can append to my blender files.
The setup uses several mapping nodes (that I already converted to math nodes so the values can be controlled from outside the group), but now I need image textures that receive the modified UV coordinates for the normal map (the "NormalTest.png" nodes in the image below).

The problem is that I want to control the image source from outside the node group and I don't know how to do that. Is there a node that can receive an image as a color input and output an image with the mapping applied? Or is there a way to control the image source from outside the node group?

If you have same image for every mapping node, then you can put it in another group and create a copy outside of main group for quick access

But the problem is every mapping node has a different location value and the value itself can't be controlled from the outside.


text:
How to extrude while obtaining better topology?
I have an issue regarding the extrude operation.
If you avec a plane split in 4 face and you want to extrude each one of them in separate manner, blender will create 2 faces at the border each time. See shape 1 and 2.

Meanwhile I'm looking to get something similar to shape 3 where the topology is cleaner (now double face and less edges ).
Is there anyway to get this result in blender ?
Any help is welcome.
Here is the figure with face orientation in cas the other one isn't clear enough :

Yes you can accomplish that by selecting edges.

Yes that what I did to get shape 3, deleted the edges and added the missing faces, but I want to do that to an extended scale where manual work is not an option. I was wondering if there is a similar operator or maybe a way to script that.

Automating will be more difficult. Pretty much anything is possible via add-ons though, if you're willing to go down that road.

You can perform the following steps to get a clean topology with the same shape.
Select the first face and extrude downwards.

Now switch to edge select and select the other faces and the outer perimeter.

Repeat the same technique shown in the last two steps.

Thanks, the topology will be clean but you added way more vertices, edges and faces than necessary. I'm looking for something that would give efficient result in topology and poly count.

What polygons do you think are unnecessary? If you want to keep it all quads you can't really remove anything.

Al thought adding a decimate modifier with the planar option will delete them, but the modifier can be at bit slow when the shape is too complex...

I was willing to go full n-gons to be honest.

@EdmondBoulet-Gilly that isn't really considered good/clean topology. Not sure why you'd want that, but you could manually make them n-gons, I suppose. ¯\(ツ)/¯


text:
Select vertex in UV map based on coordinate x,y
I have a problem similar to my last one but yet I can't find an efficient solution.
Having an array of [x,y] coordinate that indicate position on the UV map I want to select the closest vertices ( in 3D )
I'm guessing the main idea would be to iterate upon my array of coordinate and then  compute the distance to each vertices on the UV map with 2 for loop ( one for face in bm.faces, and another for loop in loop in face.loops ) but that would be not efficient.
What is my best option here ?
Any help is welcome.
thx.

Possible performance issues? I mean what is the size of the array and what is the size of the mesh?

like I have 200 hundred coordinates on a 200k+ vertices mesh so that would make 40 millions  distance to test. I feel like I could maybe use the operator bpy.ops.uv.select_circle() that would but I don't understand how to use it.

Just an idea: handle the UV map as if it is a mesh (make a mesh from it), then build a bvh tree and ray cast on it. If you handle this pseudo mesh faces index correctly you should retrieve easily the corresponding face of the mesh in 3D. Reference https://docs.blender.org/api/current/mathutils.bvhtree.html#mathutils.bvhtree.BVHTree.ray_cast

Close to what you need https://blender.stackexchange.com/questions/79236/access-color-of-a-point-given-the-3d-position-on-the-surface-of-a-polygon/79251#79251 and this also https://blender.stackexchange.com/questions/77607/how-to-get-the-3d-coordinates-of-the-visible-vertices-in-a-rendered-image-in-ble/77747#77747 (use ray cast)

I propose to use a kdtree so that we'll have an efficient search tree over the UV Map, for all the coordinates you have in input.
The principle is the following:

Create a kdtree and populate it with UV coordinates
Initialize it
Search on it from the input coordinates you have
From this index, get the corresponding vertex index (in the 3D mesh) using the loops

The tree is initialized once per mesh and allows multiple searches.
The commented code:
import bpy
import bmesh
from mathutils import Vector
from mathutils.kdtree import KDTree

print( '-------------------------------' )

# Do all that in object mode
bpy.ops.object.mode_set(mode = 'OBJECT')

# Get the mesh
obj = bpy.context.active_object

# Get its UV map
uvmap = obj.data.uv_layers['UVMap']

# Make an array of uv coordinates in 3D
coordinates = [(d.uv.x, d.uv.y, 0) for d in uvmap.data]

# Create a jd tree from that
kd = KDTree( len( coordinates ) )

# Populate it
for i, v in enumerate( coordinates ):
    kd.insert( v, i )

# Initialize it
kd.balance()

# Input UV coordinates
x = 0.41
y = 0.96

# Search
coordinate, index, distance = kd.find( (x, y, 0) )

print( coordinate )
print( index )
print( distance )

# Corresponding vertex (in the mesh) and its index
vertex_index = obj.data.loops[index].vertex_index
vertex = obj.data.vertices[vertex_index]

print( vertex.index )

Note: there is also a bvhtree version in the blend file. If you have time you could compare the results and perfomence
The main diff between bvh and kd is that bvh will test on faces and kd will test on vertex proximity (so this can be outside the face).
I don't know what is important in your context.
In the blend file, there is two script in the text editor 'KDTree' and 'BVHTree' so that you can choose.

Wondering is it worth extending to get all uv's at uv of closest, and the associated verts?

@batFINGER, we'll see if the OP ask about that and what is his goal. In the same spirit I'd first though about bvh raycats which ensures to be inside a face (as kdtree does not).

While your here, how is your python file io? Mine is crap.  Re https://blender.stackexchange.com/questions/145906/reading-text-blocks-from-blends-with-blendfile-py I have the struct TextLine and know where the blocks are, but can't get my head around reading the field  string values.  Note the blendfile walker module in the same folder.

works great, but it seems I have lost one point, probably because he was to close to another point. How can I get the N closest neighbor with kdtree ? Thanks again good sir.

@EdmondBoulet-Gilly Yes. see https://docs.blender.org/api/current/mathutils.kdtree.html#mathutils.kdtree.KDTree.find_n

thx now i should be able to go on by myself.


text:
Get the coordinates of the intersection between a line and 3d model
I'm new to Blender. I want to know if there's a way to get the coordinates of the intersection point between a given line and a 3D model, just like the picture below. Thanks!

Yes it's possible. How would you like this vector served up? From a script?  In Geometry Nodes? What are you going to use it for?

you can search for "raycast" - which exists for python but for geometry nodes as well as for animation nodes

Here is a "manual" method:
select the line and sbdivide it in edit mode, select the newly created vertex and press Ctrl G to assign it to a new vertex group.
Add a shrinkwrap modifier, limit its action to the new vertex group, change its wrap method to "Project" and snap mode to "On surface".
Enable "Negative" and "Positive" and pick your solid mesh as Target.
In object mode Apply the modifier.
Now you can select the vertex in the line and read its coordinates in the Transform tab of the "N" properties panel.

Thanks for your help, I figured out how to do that using code!


text:
Blender import camera from COLMAP has wrong direction
I have the image.txt files from colmap, which includes the quaterion(QW, QX, Qy, QZ) and the translation(tx, ty, yz). I use the following code to do the transformation, but the direction of the camera is opposite. (should be direct inside, but direct outside)
import numpy as np
import bpy

#cam_data = np.loadtxt("cameras_pose.txt")

# sample data
cam_data = np.asarray([[-0.36476696823262345,0.023234429944508573,0.9238808623371452,0.11335507204667462,0.2643092436312764,-0.4627744163606162,4.525118487931772],
[-0.4054905199050235,0.035179478568114673,0.907024207991793,0.1079209371331166,0.3021461539009758,-0.44963208708908553,4.487193496243884],
[-0.44498629984439203,0.04694216063393536,0.8884523859473807,0.10215666600971764,0.3332381314236629,-0.43841177815187343,4.451058213992128],
[-0.4832757412383735,0.058705124977594836,0.868181639171128,0.09622321776992783,0.352540727853317,-0.4311898509770609,4.429843633647341],
[0.5201021779848836,-0.07003897699314113,-0.8464516703174265,-0.09004352266528506,0.3930999979872887,-0.4424100719537798,4.410415094718175],
[0.5554693178653287,-0.08129322321703367,-0.8233838408314181,-0.08297167846267772,0.40584591614055615,-0.44363835361054604,4.388432867705031],
[0.5897283310379344,-0.09242303827379236,-0.7987411860896823,-0.07543868511248913,0.40995873430639507,-0.4419034964054014,4.399626434833313],
[0.6230463233241476,-0.10311904020592387,-0.7723899864702667,-0.06777500527283144,0.4520027034475605,-0.44307975764642865,4.384405638423042],
[0.6549552499532656,-0.11369192223505492,-0.744668211978308,-0.0598082055088044,0.4785516086468784,-0.43684379155905334,4.330680113823206],
[0.685747771018359,-0.12458970645605517,-0.7152620247201971,-0.051260468020791476,0.49486879398471434,-0.44356999715487405,4.278724334858849],
[0.992426281686812,-0.0003958889474642249,-0.10747556558482971,-0.05948883501507541,-0.048720473486560875,-0.026204646129485094,2.8004058427698255],
[0.7153304814243133,-0.1351693897161802,-0.6842630762520066,-0.04260963397116011,0.5124225975959944,-0.4398810005707978,4.222826851917687],
[0.743259864382181,-0.14553128750886044,-0.6521195911231592,-0.03354783492207826,0.5086493021211627,-0.426523916034227,4.169771178687921],
[0.7699112067584281,-0.1559348439141461,-0.6183209857950522,-0.024499320127029604,0.48254201014524306,-0.38492033113053054,4.1412334139346845],
[0.7949627817243883,-0.16648883893805885,-0.5831611416967674,-0.015450728041178766,0.49539618281299447,-0.3711412052525336,4.111542476387624],
[0.8186352513004845,-0.17665337151331445,-0.5464313725570424,-0.006531978765913227,0.52340395014592,-0.3682745741918809,4.062152228676568],
[0.8405854496069631,-0.1870466858975028,-0.508354472267147,0.0023172677469452648,0.5614865636491215,-0.3672916155074743,3.978781497464174],
[0.786562421832458,-0.007673591751646279,-0.5595572448678875,-0.26106773501631064,0.5672791463272767,-0.1956690255167638,3.2073450381811566]])

def quaternion_rotation_matrix(Q):
    """
    Covert a quaternion into a full three-dimensional rotation matrix.

    Input
    :param Q: A 4 element array representing the quaternion (q0,q1,q2,q3)

    Output
    :return: A 3x3 element matrix representing the full 3D rotation matrix.
             This rotation matrix converts a point in the local reference
             frame to a point in the global reference frame.
    """
    # Extract the values from Q
    q0 = Q[0]
    q1 = Q[1]
    q2 = Q[2]
    q3 = Q[3]

    # First row of the rotation matrix
    r00 = 2 * (q0 * q0 + q1 * q1) - 1
    r01 = 2 * (q1 * q2 - q0 * q3)
    r02 = 2 * (q1 * q3 + q0 * q2)

    # Second row of the rotation matrix
    r10 = 2 * (q1 * q2 + q0 * q3)
    r11 = 2 * (q0 * q0 + q2 * q2) - 1
    r12 = 2 * (q2 * q3 - q0 * q1)

    # Third row of the rotation matrix
    r20 = 2 * (q1 * q3 - q0 * q2)
    r21 = 2 * (q2 * q3 + q0 * q1)
    r22 = 2 * (q0 * q0 + q3 * q3) - 1

    # 3x3 rotation matrix
    rot_matrix = np.array([[r00, r01, r02],
                           [r10, r11, r12],
                           [r20, r21, r22]])

    return rot_matrix

def rotationMatrixToQuaternion3(m):
    #q0 = qw
    t = np.matrix.trace(m)
    q = np.asarray([0.0, 0.0, 0.0, 0.0], dtype=np.float64)

    if(t > 0):
        t = np.sqrt(t + 1)
        q[3] = 0.5 * t
        t = 0.5/t
        q[0] = (m[2,1] - m[1,2]) * t
        q[1] = (m[0,2] - m[2,0]) * t
        q[2] = (m[1,0] - m[0,1]) * t

    else:
        i = 0
        if (m[1,1] > m[0,0]):
            i = 1
        if (m[2,2] > m[i,i]):
            i = 2
        j = (i+1)%3
        k = (j+1)%3

        t = np.sqrt(m[i,i] - m[j,j] - m[k,k] + 1)
        q[i] = 0.5 * t
        t = 0.5 / t
        q[3] = (m[k,j] - m[j,k]) * t
        q[j] = (m[j,i] + m[i,j]) * t
        q[k] = (m[k,i] + m[i,k]) * t

    return q

cam_quaternion = np.asarray([d[:4] for d in cam_data])
cam_position = np.asarray([d[4:] for d in cam_data])

bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete(use_global=False)

scn = bpy.context.scene
for i in range(len(cam_position)):
    cam = bpy.data.cameras.new(name=f"cam_{i}")
    cam_obj = bpy.data.objects.new(f"cam_{i}", cam)
    cam_obj.rotation_mode = 'QUATERNION'

    # calculate the position (camera centers)
    cam_obj.location = -np.dot(quaternion_rotation_matrix(cam_quaternion[i]).T, cam_position[i])
    # calculate the rotation
    quaternion_ = rotationMatrixToQuaternion3(quaternion_rotation_matrix(cam_quaternion[i]).T)
    cam_obj.rotation_quaternion[0] = quaternion_[0]
    cam_obj.rotation_quaternion[1] = quaternion_[1]
    cam_obj.rotation_quaternion[2] = quaternion_[2]
    cam_obj.rotation_quaternion[3] = quaternion_[3]
    scn.collection.objects.link(cam_obj)

bpy.ops.export_scene.gltf(filepath="scene_with_cameras.glb", export_cameras=True)

Does this cam_obj.rotation_quaternion = (quaternion_[1], quaternion_[2], -quaternion_[3], -quaternion_[0]) give you intended result?

sorry, it does not.


text:
Export fbx file with hidden objects but importing with all objects unhidden
I want to export a model with hidden objects as a fbx file, but when I import this file, all those hidden objects become unhidden. I wonder if it is possible to remain the hidden states after importing?
The first picture shows the state before exporting, the second one is the export settings, and the last one shows the state after importing.

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

@DuarteFarrajotaRamos Thanks!


text:
How to make closed eyes and mouth open
I'm a beginner of blender. I have a human model, and my goal is to let the model make expressions, so I have to make its mouth and eyes open. However, the model is totally closed, just like in the first two pictures. I want to achieve the result in the third and fourth picture, where as you can see there are new edges added in the eyes and the mouth.
I want to know what procedures should I do to achieve my goal. Thanks for your help!

If you select and edge and press V it will rip it and you'll be able to open the mesh. Another solution would be to recreate the topology to have something cleaner (see retopology)

Thanks for your quick answer, I tried the first method and it works. I want to know if I should use the knife to cut the mouth and face to make it look better.

the Knife tool allows to add edges, how do you want to use it?

'cause the edges are not in the same line, I want it open more naturally

ah yes sure you can cut along the mouth line then rip. But again, if you want a clean topology you need to retopologize, it all depends on the final goal, a bad topology can be ok, depending on what you want to do

Thanks! I'll learn about the retopology.

Cut with the knife along the line that you want to cut then use V to rip:

Yes, thank you!


text:
can't access the context mesh menu
Every time i click with the RBM just appear the vertex context menu or the edge or the face context menu but never the mesh context menu and i can't resolve that problem. I try to change the keymap to Mesh-context menu in preferences, but it doesen't work.
PS: my blender version is the 3.2.0

If you are in Edit mode, the right-click menu contents will depend on whether you're in Vertex. Edge or Face selection mode. In Object mode you just have the Object Context Menu. There is no right-click Mesh context menu either in Object or Edit mode so I'm not sure what you're expecting to see.

In the tutorial i’m seeing. He can open the mesh context menu in edit mode independently if the vertex, edge or face is on selection mode but when I try it I can’t do that. So anyway, can you tell me how can i access the mesh context menu?

What tutorial are you watching (link please, including the time he does it in the tutorial if it's a long one)? - Without that I can't help!

Since version 2.80 RMB brings only vertex/edge/face contextual menus in Edit Mode. Before that, there was no contextual menus at all and RMB was by default for selecting stuff. The only Mesh menu I can remember out of memory is the one in the viewport header, but that's not a contextual menu. Please [edit] your question to provide the tutorial and timestamp where you see that menu, and ideally also post a screenshot of  that menu as you see it in the tutorial.


text:
Boolean Cut Text Through Object
I am trying to cut text through an object but the boolean isnt working no matter what I try. Any ideas from the pros? It comes out all messed up and no hole is ever cut with the text.
Blender file is here: https://file.io/JYHOCQ5CURrN

Your text geometry is not manifold. Create a new text (font → transform → size = $4.3$, geometry → extrude = $5$), then ✲ CtrlA Visual Geometry to Mesh and use that in your boolean:

THANK YOU so very much!

@Tokyov Hello and welcome. This site is not a regular forum, please don't just reply "Thanks" as an answer or comment, instead upvote the post that helped you. If you feel it completely solved your issue consider marking it as accepted.


text:
What is the power unit of the world background emission
In Brecht https://devtalk.blender.org/t/cycles-unit-of-light-energy-attn-brecht/12456 stated:
"Note that most lights in Cycles use Watts, since what is specified is the total energy emitted over the entire area of the light in all directions. The total energy does not change if you scale the light. It is however modulated by color and shaders so the effective Watts will be typically be lower unless that’s purely (1,1,1).
It’s W/(m^2) for sun light and W/(m^2 . sr) for emission values in (surface) materials"
So what is the unit the of world background emission.

Not sure how helpful it will be (compared to what you already know) - but this page seems to have some rather useful information on the subject - https://blendergrid.com/learn/articles/cycles-physically-correct-brightness


text:
What is the falloff function for the spot light blend value
The spot lamp has two cones: the inner cone where the light intensity stays constant and an outer cone where the inesity falls off. The size of the inner cone is controlled by the blend value, while that of the outer is controlled by the spot size.
My question is what is the falloff function for the light intensity between the two cones? Is it linear?

I would guess inverse square

I don't think it looks that sharp

Oh, eevee or cycles?

It looks the same to me in both engines

To quote the manual:

The falloff rate of the spot light is a ratio between the Blend and Size values; the larger the circular gap between the two, the more gradual the light fades between Blend and Size.

where Blend is

proportional and represents that amount of space that the inner cone should occupy inside the outer cone Size.

and Size, as you say is the size of the Spot, in degrees.
To clarify, the light falls linearly from some value $x$ to 0 over the the distance between the inner circle and the outer circle.  The rate of fall is the ratio described in the manual.
Note: this assumes you are using the default settings, and not enabling nodes and creating a material.  You can change a lot of the behavior of a light in a material by setting falloff properties for example.

"the more gradual the light fades between Blend and Size." My question now is how gradual? As in a mathematical function.


text:
How does spot lamp radius affect the cone size
I noticed that by increasing the radius of a spot lamp the size of the light cone also changes, even if the cone size of the spot light symbol doesn't change.
What is the mathematical realtionship between the radius of the spot lamp and the light cone size?

There is no relationship.  The lamp's radius, as described in the manual only affects the softness of shadows and highlights.  Also, the size of the light cone should not change when you change the radius.  What version of Blender are you using?
Here's an example of spot size change not changing light cone in 3.1.2:

It does, try scaling by a factor of ten and you will see a change in the area where the light is hittting the plane

If I scale that spot's radius by 10 the plane will fall inside the sphere.

Well of cousre you don't have to increase the radius exactly by a factor of 10... What I wanted to say is that the light falls outside of the cone if you increase the radius of the lamp


text:
How to convert specular roughness to diffuse roughness
So I know that the diffuse roughness value of the diffuse bsdf activates the oren-nayer model for higher roughness values and I also know that the specular roughness values do not represent the diffuse roughness values. Is there a way to convert specular roughness values to diffuse roughness values or are those two values completely independant of each other.
This thread What does the Roughness setting on a diffuse shader do? suggests a formula like this: diffuse_roughness=specular_roughness/3 but it also mentions that this formula was just simply eye balled rather than derived through physical models.

I don't think specular is related to roughness, it relates to ior,https://docs.blender.org/manual/en/3.0/render/shader_nodes/shader/principled.html

Yes and no. Yes in the sense that specular reflection is somthing completely unrelated to roughness and no in the sense that this wasn't what I asked. If it clarifies a little some refer to specular roughness also to glossy roughness, so the roughness value on the gloosy or anisotropic bsdfs.


text:
Is there a way to render on my NVIDIA card without having to run the entire Mac OS on it as well?
Wondering if there is a way to render on my nvidia card without having to run my entire machine on it. Whenever I render on gpu, it causes the whole OS and all other apps to lag. Mission control, resizing windows, scrolling, and any other graphics related process outside of Blender become super choppy.
When I set my Mac to run on the default OS driver (using the nvidia Graphics Driver Manager in SysPrefs) GPU rendering is unavailable in Blender. If I set my Mac to run on nvidia, gpu rendering is available again, but results in the same lag issues.
Is there some kind of 3rd party gpu manager that would let me enable nvidia for Blender while continuing to run the rest of my Mac on its default gpu?
Thanks in advance!
Specs: Late 2013 iMac 27" - NVIDIA GeForce GTX 775m (2GB) - High Sierra 10.13.6 - Blender 2.79

Rendering is a very resource-intense task thus I'd highly recommend you to avoid doing anything else on your machine while rendering: it will either clutter the system or simply work out poorly.
Anyway, I suggest you to try rendering your final scenes or animations from the command line. I noticed that renders done that way tend to be kinda faster and the machine is more stable without the overhead of Blender's GUI.

Make sure to set up your blend file so to make it use the GPU for rendering and make sure to specify all the output options (select a path, a filename, the file format, etc.). Save the blend and close the GUI.
Copy the path to your blend file. Then, move into your Blender's executable path via Terminal (note that your path might differ, so I suggest you to also see this answer):
cd /Applications/Blender/blender.app/Contents/MacOS/blender
Run:
./blender -b "pathToYourBlendFile" -f 1

(-b tells it to run in background, -f 1 tells it to render the first frame only).
Now the render should start with all of your preferences. Try to see if the system is more usable while rendering this way (mine usually is, but I suppose YMMV).


text:
How can I make a box like product packet?
I need to design 3D model something like packet of product with just 2-3 sides. I have images for front face and back face of a packet. I just need to assign images only and no shadow or anything fancy required. Just a basic product model we need which have 3 sides and need to assign textures on 2 side (3rd is bottom side which is never going to be shown to user because it is on surface).
I have created cube type of objects with UV mapping texture on it, but for this object, there are not flat sides, it has curves.
How can I achieve this in blender?

Here is what kind of object I need:

Here is Front side texture image

Here is Back side texture image

It sounds like you just need to create some Seams before you unwrap. Then, once you have unwrapped, the two sides will be individual UV islands and you can set you images to appear in the correct place.

I can make straight seam but in this case, I will have to give curves to the sides. Also merge top to sides into one

You can also use the UV Project from View and set the view to be the Front for one UV and the Back for a second UV. Then select them as independent input Nodes when setting up the material in Node editor.

Do you have any sample created?

Set the Base material. I just used a Diffuse BSDF Orange.

Load up your image for the front of the packet. I used the a Color Grid generated in Blender.

Select required faces and Unwrap. I deliberately left a border so you can see the base material. This will create a default UV Map

Set up material Nodes to start with and Input->UV Map set to the default map connected to an Texture->Image with your image. Make sure it is set to Clip then take that through a Diffuse BSDF Shader and Mix it with the Base.

Now add a new UV Map and select the next faces and Unwrap

Now you can duplicate your existing Nodes and change the UV Map input and use a Mix Shader to combine them. I have used the same image but you can choose a different source image for the back.

Just to show how you can manipulate the unwrapped island. Scaled and rotated.

Commonly and especially for games, people will use a single image and unwrap to a part of it. I find multiple UVMaps gives me more control.

This is such a detailed answer I never expected from Stack Exchange. Thanks for giving your time. I will be following this tutorial once I get free.

Can you share .blend file if you don't mind?

I don't know how to prepare base material (from the default cube)

here you go https://blend-exchange.giantcowfilms.com/b/6584/

Thanks a lot Rob, how can I reduce the width of a packet, i.e. width of the portion which comes outside

not sure what you mean. You can use the standard Blender Scale tool and change X,Y,Z independently or together.

Width of a stomach I am talking Rob

And secondly I need to change front and back images of my product...else is great Rob

I have reduced with Rob, I just needed to reduce z scale and now, it fits for my product.. now I am trying to change UV map images

I tried but I am not able to change the UV map image..

Have a look at some Blender tutorials for UV unwrapping. But it should be really simple to substitute the Texture image in the Node editor.

I have an issue while selecting faces and Unwrap object. It repeats textures and each face is render with full image.. basically I want to select all faces rather than you left few faces.So, I remove UVMap in your sample and add new to select all..

Following the instructions you can create as many UV maps as you want even ones that overlap or are all faces at once. Then it is just a matter of setting the factor in the Mix Shader/s for which ones to show. For the repeating image issue make sure the Image Texture is set to Clip, the default is Repeat.

Done Rob, I was unwrapping in face section rather than point section and everything worked like a charm. One more thing I would like to learn is how can I change the dimensions of a packet object i.e. rounded corners, mode wide from top and less from bottom etc..

This would be basic Mesh editing. Start with Scaling and constraining the Scaling action to X, Y or Z. If you need more control then in Edit mode for the Mesh you can manually move the vertices, look at Proportional Editing.

Thanks Rob, I will check it. I have learnt a lot from your answer and achieved what I needed.


text:
How to find "To scene range" in Blender 3.6.2 LTS Version?

How to find "To scene range" in Blender 3.6.2 LTS Version?
I am using blender 3.3.10 LTS then updated to 3.6 and i cant find this button.

Can't find it on an older version either and I actually have never seen it before in any of my Blender versions. Is it perhaps from an add-on which you have not installed/enabled in the new version?

There's no mention of it in any of the Blender manuals either.

You can find this button in Blender 3.3 in Animation tab,but when you use Version 3.5 or above the button is disappear. maybe they remove it?
I dont use any add-ons for this button/feature. this feature help me so much .
I also read the manual and there's nothing about it, I found this button from tutorial but i forget which tutorial i watch

its Rigging:Expy Kit addon....


text:
Camera visible in View and Scene Menus but not in Outliner or 3D Viewport
Using latest official release 3.6.2. I can select my camera in the sidebar in View > Local Camera and in the Scene menu, but the Camera object is not listed in the Outliner nor is it visible in the 3D Viewport. Is this a bug or is there a view option I'm not aware of?

Blender keeps information of an object which has been deleted. It deletes the object but keeps the information about it.
For example say you had 2 cameras in your scene. Cam A and Cam B. Now you deleted cam A. Then you decide to add another camera called Cam C. The only property you had changed about these cameras were their focal lengths. A had 35mm. B had 50mm. And C has 85mm. Now if you go to the object data properties of Cam C. You will see a drop-down menu on the top. The name of the object will be Cam C. But the name you will see in that menu will probably be camera.002. Now if you open that menu you will also see camera and camera.001. These are A and B. Now the fun part. If you choose camera from this list. You will actually bring back the information about camera A, and replace the information of C with A.
You can even have two objects sharing the same data. Like both B and C can share info from B. In fact when you duplicate objects using Alt+d you don't actually create an instance of the object. You create something called a linked duplicate. That is nothing but another object sharing the same data as the other object. You can have every single object sharing the same data! (Obviously only as long as they are the same data type)
Now back to the example. If you delete Cam A, close blender, reopen it, and now of you try to replace C's data with A's, it won't be there. Once you delete an object blender stores it data until you close the file.
So now to your actual case. There is no camera in your scene. But there is a camera in that list. Well, you must have deleted the camera at some point. Now the data is still there, but the object isn't. So you will see the camera in that list, but it won't be actually there in your scene.
If that's not the case, well, the only thing that I can think of is that you marked the camera data as a fake user. You can do that by clicking the shield icon next to the name in the object data properties. What it does is, that it just saves that data in a way, such that, if you delete the object with that data and close blender, the data won't be deleted.

If I create a new camera now and click the drop-down in Object Properties, I do not see "Camera" there, only "Camera.001". However, in Object Data Properties I can still select either "Camera" or "Camera.001"." So just to clarify: Even though the viewport is still showing the view from the since-deleted camera, if the file has been closed there is no way to place that camera's data into a new object?
I am not familiar with fake users and I don't think I would have marked that deliberately. But I will read up on that.


text:
How to position objects at an absolute, exact distance from a camera on a perpendicular plane?
I have several objects on a to the camera perpendicular plane ("Objects" in the sketch below). I achieved this by placing a helper plane mesh in front of the camera, which I then used to snap my objects onto by hand.
I would like to move the objects to a precise distance $x$ from the camera now. I understand how I can change the origin for my transformation 1, allowing to do relative, precise positioning. How can I do this in absolute terms to the transformation origin?
Thanks already

I'm sorry, should the objects have a certain distance or is it sufficient if the plane's center is at this distance?

Huh, that's an interesting specification of my initial question. Thank you! Let's say it is enough that all objects move only on the camera-relative Z axis. I.e., "the plane's center".

Well, it's not. When the objects are not in the center, the distance to the camera is larger than the one of the plane (center). The words say, the objects should have a specific distance, the sketch says the plane should have the distance ;) So the distance of the plane right now is unspecified/unknown - you don't know how much you have to get closer to the camera from there? You just want them in a defined distance in the end position? And then it might be interesting how the plane is aligned to the camera, just manually, with a constraint, is the rotation applied or not?

A lot of stuff to process  Let's try: (1) Yes, the current distance of the plane, and with that of the objects, relatively to the camera, is unspecified. (2) Correct, I want to specify the end position of the plane, which should "bring" the objects with it. (3) I positioned/rotated the plane by copying values from the camera to the plane and moving the plane "away" on the cameras Z-axis by hand. Objects were placed manually on the plane; constraints is something I did not use at all so far. Sounds like I should...? Thank you for your time Gordon!

If I understand your explanations in the comments correctly (you simply copied values from the camera to the plane and moved it away on the camera's Z-axis) then the easiest way would have been the following:
Let's say you want a distance of 5 m from the camera. While the plane was in the same location as the camera and rotated the same way, to select the plane and just press GZZ-5Return, this would have moved the plane -5 m away in Z direction (away in front of the camera is -Z).
But now that the plane is already away from the camera (but still has the correct rotation I guess from your explanations?): are the objects parented to the plane? If not, select the objects first, then the plane and press Ctrl+P > Set Parent To > Object.
Then select the camera, Shift+S > Cursor to Selected. Now select the plane, Shift+S > Selection to Cursor. After that you have the initial state of the plane being in the same location as the camera and having the same rotation, just like before you can now move it with GZZ-5Return.

If you want a better solution where you can easily change the distance afterwards simply by entering a Z value for the plane, you can change the steps a little bit after you moved the plane to the camera's location:
First select the plane, then Shift select the camera and now parent the plane to the camera, but not just with Object like before, press Ctrl+P and choose Object (Keep Transform Without Inverse).
If you now select the plane and look at its Location and Rotation values, they are all 0 - set relative to the parent object. Well, sometimes there are slight inaccuracies like -0 or 0.00001 etc., but you can manually set them to 0 then.
To bring the plane now into a specific distance from the camera like e.g. 5 m, just enter -5 m into the location's Z value and change it whenever you want a different distance.

Thank you for your very thorough explanation Gordon  Stupid me did not understand that I could have nested objects within each other and benefit from local transformations ♂ This makes total sense. Again, thank you for your time and your very well documented advice. Cheers

You're welcome. Actually the part I added at the end I only realized later, this would have been the better answer altogether.


text:
How to export 3d model while preserving materials?
I want to export a 3d model to different file formats (.fbx, .obj, .stl, .dae) yet I when I import them again in blender the materials are different. Glass BSDF gets turned into Prncipled BSDF and shading nodes are gone. What can I do?

all these other formats only support some shaders like the Principled BSDF so I guess you need to stay basic

As @moonboots says most of Blender's shaders can only be used in Blender. See .fbx export why there are no materials or textures?.


text:
How to make light shine through a prism?
I'm trying to make a scene like this:

But no matter how I mess with the bounce settings in cycles; the light just isn't coming out of the other side of the prism:

BlendFile
What am i doing wrong?

See also: https://blender.stackexchange.com/questions/27805/whats-going-wrong-with-my-luxrender-prism

Cycles cannot  do this out of the box. Use Luxrender or other render engine.

No; the issue isn't the dispersion effect its the light not shining on the table on the other side of the prisim. I got cycles to do it breifly but when i tried to figure out what i did it stopped happening and i haven't been able to recreate it again.

It was the "indirect light" in the "clamping" section of the "scene" properties tab.  It needs to be set to 0 for light to go through the prism.  I do not understand why it is so dark that that happens though.


text:
How to stash all actions to current armature?
I just imported a bunch of actions from different files into one blend, but the GLTF exporter can't locate them without them being in the NLA stash. (There used to be a plugin that would export all actions to the GLTF, but 2.8 won't add it to the addon list.)
I tried this:
import bpy

ob = bpy.context.object

if ob.animation_data is None:
    ob.animation_data_create()

ad = ob.animation_data

for action in bpy.data.actions:
    ad.action = action
    bpy.ops.action.stash()

And that just caused:
RuntimeError: Operator bpy.ops.action.stash.poll() failed, context is incorrect
And I haven't been able to find anything on how to fix it for this specific function.
How can I do this?

For Setzer22's reference: this is the script with typos fixed and in non-addon form. Paste it into the text editor and hit the Run Script button.
import bpy

ob = bpy.context.object

if ob.animation_data is None:
    ob.animation_data_create()

for action in bpy.data.actions:
    track = ob.animation_data.nla_tracks.new()
    track.name = action.name
    track.strips.new(action.name, action.frame_range[0], action)

This does it, but i can't actually unregister the addon.
It needs to be run from the space menu with the cursor in the dopesheet in action mode.
bl_info = {
    "name" : "stash all",
     "catagory" : "Action",
}

import bpy

class StashAll(bpy.types.Operator):
    """My Stashing Script"""
    bl_idname = "action.stash_all"
    bl_label = "stash all"
    bl_options = {'REGISTER'}

    def execute(self, context):
        ob = bpy.context.object

        if ob.animation_data is None:
            ob.animation_data_create()

        ad = ob.animation_data

        for action in bpy.data.actions:
            ad.action = action
            track = ad.nla_tracks.new();
            track.strips.new(action.name, action.frame_range[0], action)

        ad.action = null

        return {'FINISHED'}

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

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

if __name__ == "__main__":
    register()

Hi! Care to share more details about this? I have your exact same problem but I'm not able to load this script. How can I add this to blender?


text:
Why is the subdivision surface modifier still being distorted?
well I had a problem with vertices and 5 edges, which I know is the cause of the subdivision modifier distortion problem, I fixed that, but as you see in the image there are no 5 edges, and I removed the double vertices in the options, but still the textures get distorted... Any suggestions , or am I just missing something ? Thx :)


text:
Blender doesn`t render object
I have an issue , I tried to google it and find it here on the topics but with no luck. The issue is that my object isnt`t rendered if I press the view port shading on "rendered" icon, but it does render if I press the Render active scene in the right side tab under render options. It renders other objects in other files just fine , but not this one. It rendered normal like 10 min ago, now nothing. In the left side where it shows the render time it just says  it took less than 1 sec to render. Btw my light source is a panel with emission. I also tried to add other light sources but with no change. What could be the issue ?
thx

maybe share your file? https://blend-exchange.giantcowfilms.com/

I don't know it is your case, but I think you have a Render Border.
Go to View Clear Render Border.
See the image below.


text:
Units and measurements and such 2.79 and 2.80
I am trying out both 2.79 and 2.80 and notice the behavior being the same.
I set the units to imperial and then changed the size of the default scene cube to something reasonable like 5cm. Then I applied the scale. My goal at this point was to make a radial array of 4 items, so I moved the cube 10cm on the x axis. Then I attempted to add an EMPTY cube which seems to come out huge.So I attempted to resize it by changing the dimensions, but it seems that I can put all sorts of numbers and units in the dimension boxes and in response blender just changes these values to some random number/unit combination even so far as up into miles and km.
It also seems odd that though I can choose units such as mm or inches, when looking at things the dimensions are shown in whatever blender seems to be in a whim to show, such as "thou" or "ft" with lots of decimal places.
Either:
 1. there is a bug, and it carries over between 2.79 and the current beta of 2.80, (my gut tells me this is unlikely)
or
 2. I, personally, and not handling units correctly perhaps missing a step somewhere. (as a n00b this would be my guess, since it seems pretty complex of a program)
If I am just doing it wrong, can someone point me in the right direction for how to do it right?

is https://blender.stackexchange.com/questions/42254/blender-bug-with-metric-units?rq=1 helpful?

it matters which measurement system you use otherwise you might be confused by thing for example when using the imperial system default cube is 2 meters

the link is not related to this. In my case when I create the empty it came up really huge. So when i entered something like 2" or 5cm into one of the dimensions then leave the dimension to do so in the next one, it got changes to something like 6754miles or 37ft .. don't remember the specific numbers, but they were nonsense relative to what I entered, not a simply conversion factor issue.

I don't see units other than 1 in 2.7 when setting the scene scale; I don't see mm or centimeters or meters (in the properties panel > scene tab)?

I can put all sorts of numbers and units in the dimension boxes and in
  response blender just changes these values to some random number/unit
  combination

Blender adjusts from Meters to Centimeters to Millimeters as needed I think, eg.: when you scale from 99cm to 100cm it changes to 1m automatically (in the N panel).

Then I attempted to add an EMPTY cube which seems to come out huge.So
  I attempted to resize it by changing the dimensions, but it seems that
  I can put all sorts of numbers and units in the dimension boxes

I don't see any dimensions boxes, just "scale" in the N properties panel, and "size" in the "empty" data tab of the properties panel.  I did notice the scale seems to be double what it should be, ie. mesh cube was 10cm but the empty cube was the same size, but says 5cm.  May be a bug or maybe a sort of radius measurment (measured from the origin)? Idk.
GL OP : )

I believe you may not be in Object Mode. The dimensions go away when you are in edit mode. Hit tab and you should see them.


text:
Trying to change interpolation for an Object constraint animation property
I have a camera following a path around a bezier circle tracking to an empty. Normal 360 camera pan type thing. I want to change the interpolation to constant but the animation isn't turning up in the timeline or graph editor.

In the Graph editors menu bar, uncheck "display selected" (the arrow icon).

you have to select your camera to see the keyframes. That's a basic rule of Blender. You "normally" only see information to things that you have selected.

I had it selected, and couldn't understand why it wasn't showing... but checking it again I realised that I had the disabled restriction toggle on in the data outliner. Thank You Chris for replying, that really helped.


text:
Use Outliner operators without Outliner context
Looking for a way to use Outliner operators without mouse hovering over Outliner window.
So far got this code to simply walk select outside of Outliner window:
import bpy
class KEY_OutlinerWalckUp(bpy.types.Operator):
    bl_idname = "object.key_outlinerwalckup"
    bl_label = "KEY_OutlinerWalckUp"
    def execute(self, context):
        win = bpy.context.window
        scr = win.screen
        areas = [area for area in scr.areas if area.type == 'OUTLINER']
        regions = [region for region in areas[0].regions if region.type == 'WINDOW']

        with bpy.context.temp_override(window=win, area=areas[0], region=regions[0], screen=scr):
            bpy.ops.outliner.select_walk()
        return {'FINISHED'}
def register():
    bpy.utils.register_class(KEY_OutlinerWalckUp)
def unregister():
    bpy.utils.unregister_class(KEY_OutlinerWalckUp)
if __name__ == "__main__":
    register()

And this error:

ERROR (wm.operator):
C:\Users\blender\git\blender-v360\blender.git\source\blender\windowmanager\intern\wm_event_system.cc:1550
wm_operator_invoke: invalid operator call 'OUTLINER_OT_select_walk'

I already know that blender got problems with outliner context. But maybe someone already provided a workaround to solve this issue.

Hello and welcome to BSE! I think it's because the bpy.ops.outliner.select_walk operator is not directly usable in scripts in the same way as other operators. It's primarily designed for user interaction within the Outliner. So you will have to come up with another way to mimick this behavior, like taking note which item is selected and select the next item to it when the operator is invoked.

related to https://blender.stackexchange.com/questions/279271/programmatically-collapse-selected-collection

@blen_coders telegram channel helps with this code: override = {"area": next(area for area in context.screen.areas if area.type == "OUTLINER")}         bpy.ops.outliner.select_walk(override, "INVOKE_DEFAULT", direction="DOWN")

take note that that is deprecated method of overriding and will not more be supported in version 4.0.

And what method shell we use in 4.0 ?

The explanation is in the first comment. You basically can't use select_walk. You have to find another way.


text:
Get value from “Driven Property” UI panel
Can you please tell me if there is any possibility in Blender python API to get value from “Driven Property” item in Drivers_Editor window ?

I want to add for Drivers_Editor the ability to quickly filter the column on the left by the current driver so that every time I don't have to enter the driver name by hand.
I understand that we can reach any driver for example in this way:
activeBone = bpy.context.active_bone
activeMesh = None
rig = bpy.data.objects[activeRig.name]
drv_idx = 0
for obj in bpy.data.objects:
    if (obj.type == 'MESH' and rig in [m.object for m in obj.modifiers if m.type == 'ARMATURE']):
        activeMesh = obj
        drivers_list = []
        try:
            drivers_list = activeMesh.data.shape_keys.animation_data.drivers
        except:
            continue
        if drivers_list:
            for d in drivers_list:
                for dv in d.driver.variables:
                    for dvt in dv.targets:
                        # if active bone name is in driver targets process driver
                        if activeBone.name in dvt.data_path or activeBone.name in dvt.bone_target:
                            drv_idx = drv_idx+1
                            print("drv_idx: ", drv_idx)
                            print("d.data_path: ", d.data_path)

But this approach is not linked to the “Open Drivers Editor” item in any way
which in turn automatically displays driver properties in the right panel of Drivers_Editor.

The question is no longer relevant. Sorry.
active_editable_fcurve = bpy.context.active_editable_fcurve
print(“FilterDriverEditor::active_editable_fcurve.data_path”, active_editable_fcurve.data_path)


text:
Change Outliner area size via python
Looking for a way to write a toggler to quickly compress and expand the Outliner to the right edge of the screen and back.
It seems that "bpy.ops.screen.area_move()" operator can be used for this purpose. But I haven't managed to pass the correct context to this operator yet.
Here is the code i use:
def execute(self, context):
    # get outliner window
    win = bpy.context.window_manager.windows[0]
    screen = win.screen
    area = next(area for area in screen.areas if area.type == "OUTLINER")
    override = {
    "window": win,
    "screen": screen,
    "area": area
    }
    bpy.ops.screen.area_move(override, x=10, y=10, delta=10)
    return {'FINISHED'}

Ends with an error: "Operator bpy.ops.screen.area_move.poll() failed, context is incorrect"


text:
addon"simplify curves" don't work
Hi, maybe someone had it, please tell me.
Enabled addon, but it is not

Which curve are you trying to simplify?

D+left mouse button

you need to select a curve to make the tool selectable


text:
DWG to Blender, how can I import
I use software to produce kitchen visuals that use dwg files, does anyone know how I can get this file into Blender, is there a free converter or any other way so I can try to use Blender to render?
I look forward to any feedback

Convert them in DXF
DWG is a cad standard format, but it's propetary so it's unlikely that you'll find a direct importer soon. I would save those file from the cad application in the DXF format and then import those.
Blender has a built in DXF importer that works quite well. You just have to enable it from the user preferences.

Thank you for the reply Carlo, do you have any recommendations of what I can use to convert the DWG to DXF


text:
Where is radius parameter for sun lamp in newer version of blender 2.8?

I usually do sun's radius to zero for sharp shadows but can't seem to find that "radius" parameter in newer version of 2.8 what did they change it to? thanks:)


text:
can a transparent object hide a specific object behind it?
I have a problem. Can I make a moving object x be hidden behind a transparent plane y so, that every other object behind plane y is visible?
Thank You in advance

The Input > Light Path node, Transparent Depth output, used as a factor in a Mix shader, seems to work:

omg thank you agaaaaain <3 it works

This is is specifically what the Holdout Shader is for
The Cube in front has the Holdout Shader Material and the Cube behind is a Diffuse Shader set to Green.

Note: the Shadow from the front Cube is preserved.

interesting, but it erase all the objects behind though... for the shadow, it can be removed in Object > Cycles Settings > Shadow


text:
How do I get the normal vector of a selected vertex?(BMESH)
I'm trying to Orient my gizmo according to the normals, but I can't do it exactly. Sometimes perfect, sometimes not. Can you tell me what's wrong?

ob = position_matrix()
orig_loc, orig_rot, orig_scale = ob.decompose()

uniques = bpy.context.objects_in_mode_unique_data

# Selected Object(EDIT_MODE)
bms = {}
for obj in uniques:
    bms[obj] = bmesh.from_edit_mesh(obj.data)

# Selected Vertex
verts = []
for obj in bms:
    verts.extend([v for v in bms[obj].verts if v.select])

# Get Faces Normal
faces_normal = []
for vert in verts:
    faces_normal.extend([f.normal for f in vert.link_faces])

# Delete Duplicate Vector
def del_duplicate(list):
    newList = []
    for i in list:
        if i not in newList:
            newList.append(i)
    return newList

# Tangent
faces_tang = []
for vert in verts:
    faces_tang.extend([f.calc_tangent_edge() for f in vert.link_faces])

faces_normal_Sort = del_duplicate(faces_normal)
faces_tang_Sort = del_duplicate(faces_tang)

normal_vector = Vector(sum(faces_normal_Sort, Vector())).normalized()
tangent_vector = Vector(sum(faces_tang_Sort, Vector())).normalized()

axis_dst = Vector((0, 0, 1))
axis_dst2 = Vector((0, -1, 0))

vec1 = normal_vector @ ob.inverted()
matrix_normal = axis_dst.rotation_difference(vec1).to_matrix().to_4x4() #@
ob.inverted()

vec2 = tangent_vector @ ob.inverted()
matrix_tang = axis_dst2 @ matrix_normal.inverted()
mat_tmp = matrix_tang.rotation_difference(vec2).to_matrix().to_4x4()

matrix_rotate = mat_tmp @ matrix_normal

matrix_rotate = matrix_rotate.to_4x4()

Track to Quaternion
To align to vertex normal.
The normal orientation with respect to vertices appear to be a track to quaternion, tracking Z in direction of normal, and using -Y as up.  Since the only options for up in Vector.to_track_quat(to, up) are 'X', 'Y', 'Z' track with Y up and inverting the scale in X and Y.

Simple example. Run in object mode, adds an empty displayed as arrows, at each vertex aligned to normal.
import bpy
from mathutils import Matrix

context = bpy.context

ob = context.object
mw = ob.matrix_world
me = ob.data
Sx = Matrix.Scale(-1, 4, (1, 0, 0))
Sy = Matrix.Scale(-1, 4, (0, 1, 0))

S = Sx @ Sy

for v in me.vertices:
    R = v.normal.to_track_quat('Z', 'Y').to_matrix().to_4x4()
    R.translation = mw @ v.co

    bpy.ops.object.empty_add()
    mt = context.object
    mt.empty_display_type = 'ARROWS'
    mt.matrix_world = R @ S

Related
Align to face normal vector

thank you for your answer, it helped me. But I do not quite understand how to get the correct calculation of the normal vector when I have selected several vertices? Now I do it like this matrix_normal = Vector(sum(listVertexNormal, Vector())).to_track_quat('Z', 'X').to_matrix().to_4x4(). Your approach works, but only for one selected vertex.


text:
Vector transform camera
In an answer by Rich Sedman in How is the vector transform node used? he stated that "The other nodes of the Texture Coordinates node aren't compatible with the Vector Transform node as they use subtly different coordinate spaces. In particular, the Camera socket should not be confused with Camera space coordinates used in the Vector Transform node as it is significantly different (the origin and scaling are different). Attempting to use those vectors with the Vector Transform will produce confusing results."  However I did some testing and did not have any unexpected results when using the vector transform node to transform between texture coordinate camera space and object/world space.
So are there really differences between the camera space coordinates and the vector transform camera option?

You're absolutely correct - it turns out that the Camera socket is compatible with the Camera Space coordinates providing the Vector Transform is set to Point mode.
I'll update the other answer to remove the invalid statement. Thanks for pointing this out.


text:
Can I get the orientation matrix in real time?
I need to calculate the normal orientation matrix for the tool. There is a way to get a custom orientation matrix
bpy.context.scene.transform_orientation_slots[0].custom_orientation.matrix.to_4x4()

Is there a similar method for getting any orientation matrix ? (GLOBAL, LOCAL, NORMAL, GIMBAL, VIEW, CURSOR)
I will say in advance that I am not satisfied with creating a custom orientation, since I need to get a realtime matrix

What exactly do you mean by "real time" in this context?

@RobertGützkow I need a matrix for gizmo, so I can't execute statements from the draw_prepare function in gizmogroup.

@RobertGützkow For example, I know how to get a normal matrix by executing a regular operator, using: bpy.context.window.scene.transform_orientation_slots[0].type = 'NORMAL'
bpy.ops.transform.create_orientation(name=name, use=True, overwrite=True)
user_matrix=bpy.context.scene.transform_orientation_slots[0].custom_orientation.matrix.to_4x4()
But this is not suitable for gizmo


text:
Rendering large image sizes in Eevee (Over 64k pixels)
I am working on creating a wrap for several walls spanning 25 to 60 feet long. People are going to be looking at these fairly close so I don’t want to go below 200 dpi for my final print quality. That being said a 60 foot wall at 200 dpi would be over 100k pixels wide and from what I understand Blender has a 64k pixel maximum render size. I am also concerned I will run out of memory even in Eevee. Is there a way I can tell Blender to render this out in chunks but from a single camera so I can preserve the perspective? Any advise on this would be most helpful. Thank you!

You could try using the render borders to split up your render into multiple parts. Theres a few addons that let you do this with greater precision, I'm not sure if they work in the later version though. https://blender.stackexchange.com/questions/44504/possible-to-set-render-border-exactly
https://github.com/p2or/blender-renderborder/releases
https://developer.blender.org/T47267

Thanks for the info! I will give this a shot.

Since your image isn't very big in y, there is an easy solution:
Divide the x resultion by however many chunks you want. Then select the camera and adjust the shift in x:

Keyframe it to scan the entire image and render the animation.
e.g. if you're using 50% resolution set the shift to 0.5, keyframe and then -0.5. The maximum shift is 2 wich means you can split the image into 8 chunks (I think?) max.


text:
Parenting Objects to Animation Node Object Instances
I am trying to animate this city scene so the tiles filp over and reveal a house or a building on the other side. I was able to get the tiles in the correct location and flip over and I was able to have the house objects and trees follow it by parenting it to the tile. It worked great, however after I loaded the file again all of the parenting was removed. Is there a way to keep the parent information after re-loading the file? I am using Blender 2.8 and Animation Nodes 2.14. Thanks.

Welcome to StackExchange! Did you do the parenting manually? Are there multiple objects parented to a single tile? Have you tried doing the transformation directly to the objects as well?

Yes I did the parenting manually and there were multiple objects parented to a single tile. How would I go about applying the transformation to the parented objects as well and still retain the animation style I had with using a null to act as the falloff parameter? Thanks for your help!

The Object Instancer node dynamically add and remove objects on demand. So anything you do on the object is not persistent. The obvious solution here is create the the parent objects manually and do the parenting as you did. Then add those parents to a collection, get the collection's objects, get their transformation matrices, and offset them based on the target falloff just as you did.


text:
How to align the vertices of one object with the same vertices of another object?
If say you created a sphere (A), and moved its vertices around. Could you create another sphere (B), same as the original, and have B match its vertices with the altered vertices of A?
If this is possible, how would you do it?

It looks like linking geometry would serve the purpose I'm looking for, thanks!


text:
Curving text around cone for 3D printing (requires clean geometry)
I'm having difficulty figuring out create text that curves around a cone, and then removing that text mesh from my cone so I can have a cone shape with the text debossed in it for 3D printing.
I see tutorials out there for doing this in a way using the shrinkwrap modifier - This works to a small extent but I end up with geometry that I can perform a boolean difference to deboss the text.
Does my text have too little subdivisions or something? Does anyone have a workflow for this? I feel like it should be quite simple but I'm just not fluent in Blender enough to get this to work.

I guess once you have booleaned you need to rework a bit, for example does this answer? https://blender.stackexchange.com/questions/129013/engrave-boolean-modifier


text:
I separated arms from the torso of a model, how can I seamlessly attach them again?
So I ended up separating the arms from the torso of this model to make it easier to rig. I just got into blender today and I don't know how to seamlessly join them back together with the torso again without disturbing the weights of the model. How can I join these edges back together?

You could just snap vertex and then merge them by distance (or remove double vertices)

Thanks! What would be the hotkeys for these actions?

I dont know this hotkey, but just enable it, press G to move the vertex and move the mouse where you want to snap (To turn on snapping look my answer, I edited it)

Thank you, I appreciate your help! It's really gotten me through my first major roadblock :)

Dont worry :D, good luck with your model

Holding Ctrl down enables snapping temporarily. There is a lesser known feature that if you snap to a point, release Ctrl and press A while still hovering over that point and then press Ctrl down again it will now lock to the first vertex and snap to the average of it and whatever else you snap to. You can keep adding snap points with A or add more weight to one point if you hit A multiple times over it, so if you hit A 2 times on one and then snap to another point it will be 1/3 of the distance between both of them.

Shift + Tab is the default hotkey for toggling snap in v2.8x


text:
How does Blender calculate a 3D translation/rotation of a 2D input?
One of the great mysteries to me is how Blender takes a 2D input of the mouse moving on the screen and calculates a 3D rotation or translation using that input. Oftentimes when I move something it looks correct from the angles that I am looking at it, but when I rotate the viewport it did something seemingly random in a axis that I couldn't see.
So how exactly does Blender evaluate my 2D input of my mouse into a 3D translation or rotation?

One axie is locked on default, you can unlock in setting.

@XY I think your comment is a bit misunderstandable, "one axis" is very vague and could also make beginners tend to think it's one of the global axes, the world's X, Y or Z axis. But it's the depth axis of the active view in which you are translating (as Jachym's answer correctly explains). And if you hint on unlocking this axis, would you mind telling where to find that because it might not be obvious for everyone?

3D translation based on mouse input disregards depth.
So you cannot move the object further/closer to camera than it already is.
This is counter-intuitive to our brain, that's why objects may look placed correctly even when they're not.
No matter how hard i try, I can't move the ball further from camera

+1  It's generally the depth of the active view in which you are translating, not necessarily the camera's depth.

Additionally, since rotation is asked for as well: if you click R to rotate, the object is only rotating around the depth axis (the one going virtually "into" the viewport), if you double-tap R instead, the depth axis is locked and the object rotates around the vertical axis (moving left and right, shown with red cursor arrows) and the horizontal axis (moving up and down, shown with green cursor arrows). This double-tap option doesn't exist for moving with G.

So is moving it basically like using view orientation and locking the Z axis?


text:
Creating a good armature for a rig/skeleton/bones
I am creating a rig/skeleton/bones in Blender python, using bpy, here: https://github.com/coderextreme/X3DJSONLD/blob/master/blend/blenderskeleton.py
I was looking at the code and in Blender and I realized that skeleton = bpy.data.objects.new("Armature", bpy.data.armatures.new("Armature")) looked a little misguided.  Does someone have a better suggestion how to add an armature?

I see that after running your line, an armature appears in the outliner, but not the scene. Try "bpy.ops.object.armature_add()" and then follow it with "skeleton = bpy.context.object" If the default armature isn't what you need, you may want to explore the python console and type into it"bpy.ops.object.armature_" and then press "Tab" to see the other options (basic human metarig, bird metarig, etc...)

I am using the standard HAnimJoints to define my “bones.”  I’ve changed the code a bit if you want to review it.


text:
Problems with import dxf files
I'm having a problem to import 3D dxf files from AutoCAD. DXF importer is enabled. Nothing happens when I click on the dxf files to import.
Anything I'm still missing?
Thanks.

Hello and welcome to BSE! can you maybe share a link to this dxf file?

If you can't release your main model, please share a toy example that's failing.

Hello guys. Thank you for the reply. No problems to share. Here is the link:

https://www.dropbox.com/scl/fi/jw4n6hw6uhiufm2w6o55i/NC3MDX-TOP_Final.dxf?rlkey=tuganqw5vkeqlpt7uhn3clsjc&dl=0

Basically, even simple drawing fails to import.


text:
How to unjoin viewport in blender 3.6?
I lost my mesh because I accidentally join it with another viewport. Now in my layout section there is no mesh. It is only the viewport that I joined my mesh that is showing but in another section like sculpting I can still see my mesh.

Hello, it's not clear what's happening, maybe press "/" in the 3D scene to exit Local view if you've enabled it accidentally?

Please add an image of your current Blender screen. You can create a screenshot from Blender's Window > Save Screenshot menu and then edit your question and add your image into it. I suspect you'll just need to split your screen and then select the 3D view again from the menu but without seeing an image it's difficult to tell.

The other option might be Alt-H, unhide. In Object and Edit Modes, both.


text:
Can I duplicat (get a copy) of a 0.5 morph curve into a simple bezier curve?

When I morph the A curve into the B curve (target), and set the Shape Key value to 0.5, I get the C curve. If I duplicat the C curve, I get a bezier curve of a A' / B' curve, not a simple bezier curve. Is it possible to get the simple bezier curve?

How is the curve that you get after duplicating not a simple bezier curve"? What's sepcial about it? What's a simple bezier curve? There is no such term "morph curve" in Blender.

If you mean you want the "C" state to be the original state of the curve without the use of shape keys, then just set the shape key to the desired Value (like 0.5 in your example), then click on the Shape Key Specials menu button (the downward arrow) and choose Apply All Shape Keys.

Linked Data
There are 2 ways to duplicate an object in Blender.  Shift  +  D  duplicates an object making a copy of the object itself and a copy of the original object's data and  Alt   +   D  (duplicate linked) duplicates only the object, but links the original object's data to it so that when you edit that data(for example the geometry), both objects sharing that data change. So if you want the duplicated curve to be separate and unique, you should use  Shift   +   D  for simple duplicate(as opposed to duplicate linked).
Shape Keys
There are a few ways to "morph" a curve, but if you use shape keys to do it, if you duplicate some object that has shape keys, they will also be duplicated with the object. You can however apply shape keys to any object that has them(duplicated or not) by choosing Apply All Shape Keys From the menu in the Shape Keys panel, Properties Editor, Data tab:

Note that if you have a bezier curve and use shape keys for it, it is still considered to be a simple bezier curve. There is nothing called "morph" curves or objects in Blender.


text:
How can I change the language of the blender to understand it?
Help me please translate Blender into my language.

You can change to your language inside Preference Menu/Interface/Translation


text:
Subsurf challenge
I understand why this problem exists. But now, how do I fix it? This is a very simple representation of a very much more complicated mesh I have, but this is my simplest explanation of my problem. It is a subdivided surface formula in my mesh, but now I want to break it so I can have a piece out of my pie. But not when that means my pie changes its rounded curve. Please, some pointers...

Thanks a lot!

I think you need to apply the subsurf modifier and then remove the slice

But that would leave me with an insane amount of vertices, right? Isn't there a better solution? I need animation as well, so I'm not looking forward to this compute activity...

SubSurf will not work on Vertex groups, So you will have to find another way. The vertex count should not need to be too high if you are using smooth shading.


text:
How to get particles to follow a curve and follow the path angle
I have a particle system with an object collection of a different long line meshes. I have it following the curve ok but the instance does not change its angle as it follows the path. How can one force the angle to change? Ideally, it would be great if the instance actual curved with the animation curve. Each instance has edges along its length to bend on. I am trying to get a visual simulation of wind lines. (Using Blender 2.81)


text:
Blender 2.8 Add-ons "Testing" content missing
I am trying to activate the Plug-in "Export Camera to After Effects JSX". I have researched that it is under the tab Preferences > Add-ons tab "Testing". However, there is no content here with Blender 2.8. I am working on Mac. I have also tried a colleague's Mac and my PC and the content is always missing.
How does one activate the content?

Have you installed the add-on? Add-ons from the Blender Add-ons Contrib repository aren't included/pre-installed in the official releases. The add-on can be found here.

Perfect. This worked. Many thanks.


text:
Why do my object looks out of focus?
I'm kinda new to Blender and I was asked for help for my event to make an animation. I want to make something like a box falling from the sky. I went through some tutorials and i did make it right. What is not right is, the object (which is a box with a rigidbody) quite not in focus as in a camera. Here's the screenshot of the object showing it's out-of-focus.

How do i make the image to be in focus in such way that the object didn't look like it's being blurred by the camera?

Focus called Depth of field in Blender. You can adjust its distance in the camera properties or turn off it in the render settings.

I did that, and nothing happen. The box still out of focus.


text:
Blender - HDR makes objects too bright
I started to use blender 3 weeks ago and I am currently trying to do an outdoor scene.
I wanted to use an hdr image fot lighting, as blender guru does -> https://www.youtube.com/watch?v=fI_FMa-8w50&t=117s
But all of my objects keep over exposing, even if I a set the values of the math converter almost to zero
This is the scene with a sun lamp (strenght 1)

This is the same scene but using one of blender gurus free hdr and with the sun lamp hided

I believe I`m using filmic color correctly:

I also tried with simple objects (like blender gurus tutorial) and ended up with the same wrong result :(
Hope someone could help!
Thanks (:

That exposure value in the color management should be at 0. Currently you are overexposing roughly by one f-stop

You can control HDR Background node in the Shader Editor too.

Open the Shader Editor and, in the header, check Use Nodes and change the Shader Type from "Object" to "World".
Search for 3 nodes: Image Texture, Background, World Output (if not already exist).
In Image Texture, open your HDR image. Connect the Color output (Img Texture node) to the Color input (BG node). Connect the Background output (BG node) to Surface input (World node). (check img below)
Control the exposure intensity of the HDR by changing the Strength values in the Background node.
View the changes in Rendered mode in the 3D viewport.

There is an explanation here of this process by the Blender Guru, if you are interested.

hey, thanks for the response, I realized that the hdr file was just far too bright compared with others hdr, so yeah... rookie mistake (:

@rdllngr, completely unrelated question; but what is your blender theme?

@Dan, it is the default theme of Blender 2.8, but customized. :)


text:
Animate position, rotation or scale during cloth simulation
well the question it s pretty simple.
My real problem is that I have a chips bag with a cloth simulation, and I d like to animate the position and rotation of the chips bag with keyframes while the simulutaion is playing

I toyed with this last night - Add an empty centrally to the deformed (cloth) object and parent it to that empty.  Animate the empty not the object.  It will still act as before but is now movable, rotateable etc.  Blend file available if you don't manage it.

@Edgel3D thanks Ill defintly try that and see if it works! I tried with an empty but not in the center of the object and that didnt work, so fingercross with your method (:

Ah - I can see what the problem is.  My apologies. I have to go off-line and onto my Blender machine to try these things out and I used a soft body on a cube 'bag', not a cloth modifier.
Interestingly, I'm in discussion with another user for exactly this same problem.  My solution has mostly been to apply the cloth modifier in another copy of the Blend-file and import that back into the original, switch to that and doing whatever's necessary.  Cont...

Further to the above - The change-over is usually seamless and the hard mesh can always be duplicated and given cloth physics again.  See some examples here -
https://www.dropbox.com/sh/jackg5k42di15wl/AADyDUDafdPsyX_7P6XfwWFta?dl=0

https://streamable.com/6bmkws Nothing happened :(
The real thing I want to do is make the bag inflate, then move it and insert it into a box (the box should affect its shape) Thanks for the help again! (: @Edgel3D

Your inflatable bag shouldn't be too much trouble, if you "Apply" the cloth modifier. That will "Solidify" the bag in it's current shape and can be animated from then on, squashed, bent, you name it with shapekeys or cage rigging. If you're stuck let me know and I'll have a play at my end, see if I can give you a (crude) working example.


text:
How to animate metaballs as condesate drops

Hi (:
How can we animate the metaballs so they can really slowly move down on a can, like on a real condensated surface
I tried a little bit with the particle settings but things were going really hard even with velocity at 0,0001 m/s
Also the metaballs didn't follow the shape of the can's bottom, instead of touching the whole time the can, at the "end" of the widest diameter, it just fell down to the floor.
Hope to hear from you beautiful people
I've attached the blend file

Reference
Condensation is a slow process. First, a misty layer appears, then droplets form and grow. After a while, a random droplet gets too heavy and starts to run down the surface:

Animation
I would animate a few droplets manually. Add 3 or 4 metaballs from the same family as the particles on the side of the can and make them follow a path.
Example animation - watch closely:

Add a Follow Path object constraint to the metaballs. If you clicked the Animate Path in the Follow Path settings you need to remove the keyframes from the [X] Path Animation > Evaluation Time setting in the Object Data Properties of the curve with a right-click > Clear Keyframes (Alt+Shift+I). But make sure [X] Path Animation is ticked.

Then animate with Offset values with keyframes and adjust the curves for the speed in the Graph Editor. If needed set the Handle Type to Free with help of the context menu in the Graph Editor. This way you can make the metaballs stick together or stay behind when they touch each other.

Shader
If you want to add a fog layer to the can you can use Dynamic Paint and bake an image that is used for the roughness.

Make the (hair) particles a Brush and the can a Canvas, active Effects > [X] Drip and set Effects > Drip > Gravity to -1 in the settings. This will create the drip as seen here in this video (nice trick!). Set Format to Image Sequence. Then pick a saved image (used frame 40 here). Use an Invert node and mix it into the Roughness value of the Principled BSDF with help of a MixRGB node.
Note: You need to create another UV map that has no overlays of UV islands to bake the images properly!
For the animation, the same technique can be used to add a trail to the running droplet. Make the particle a brush. Auto-refresh must be activated for the ImageTexture node.
Alternatively, you can set the Dynamic Paint > Canvas > Format to Vertex and use the Vertex Color node in the shader. This replaces the baked images. Don't forget to create the required vertex colors in the Dynamic Paint > Canvas > Output section and add horizontal edge loops to the can model because vertex colors require geometry.

Just great ‼‼


text:
How to create reeling (spool) effect?
I'm a newbie to Blender. I would like to know if we can create reeling effect (Cloth spooling around a cylindrical object).
I found couple of tutorials in which a map is rolled up... but it rolls up inside the circle. (Eg. https://youtu.be/vkDuobZ7_OI).
But I want the effect to be Turning & Growing in size as below.
Can anyone please guide me how it can be done (or if it can be done)
If possible, any links of the tutorials to follow would also be awesome.
Thanks in Advance!

You can probably achieve better results with animation nodes similiar to cegaton's second linked answer. This answer will be the inaccurate, fast method. If you followed the linked tutorial, you can probably skip to step 4.

Use the Extra Objects Addon to add a curve spiral. Extrude the end of the spiral accordingly.

Add a subdivided plane. I created only a small stripe and used the array modifier. Use the curve modifier on the plane to deform it along the spiral curve.

Moving the plane will curl it around the spiral curve. Create two keyframes, making the curve roll around the spiral.

Add a spool cylinder. Currently the plane will initially not adhere to the spool, but rather curve around it with a gap between them. Select only the points which wrap around the curve and press ⎈ CtrlH  > Hook to new object. An empty will be created. I selected a cube as the empties shape.

Scaling the hook object will scale the hooked points. This way we can start with a smaller scale and shift the outer points of the spiral to the spool.

Go the end of the animation and keyframe the location of the plane and the scale of the hook empty. Go the the start of the animation, scale down the hook object and move the plane (along Y) and keyframes their respective values. You may have to add additional keyframes for the scale of the hook empty.


text:
How to "add vert" in blender 2.8?
I'm following a tutorial called "Fuel Station - Blender 2.8 Low Poly 3D Modeling Tutorial", and the teacher is adding a vertex typing "Shift+A" that show a Mesh Submenu -> Single Vert -> Add Single Vert, just like this:

The problem is: when I try to make the same, it only shows this:

What can I do?

Add a cube and remove all other 7 verts?

Hi @Leander, I don't think that's a good choice, it can be much more simple. See my answer below :)

Just solved it. You need to install the add on. Go to Edit -> Preferences, type extra in the search box at Add-ons submenu, select both add-ons and install them. Just like this:

Big thanks for this. I've had the same problem, trying to add empty rectangle.


text:
Modelling Low Poly Hair style
My question here is not a technical issue with Blender, rather it is asking as to whether anyone is able to provide me with suggestions for a modelling technique/procedure.
I'm interested in learning to model low poly hair styles created as a single mesh. The type of hair style I am trying to model are those from RPG video games.
I have come across a fair few youtube tutorials on how to model hair using the 'curves and circles' method. The issue here is that each lock of hair is separated from one another rather than as a single mesh I'll give you an example.

The image above comes from a model which was not modelled by me as it came from a video game. But for educational purposes I will show it here,
What I want to highlight in this model is that it demonstrates a 3D model of hair that looks like it exists as a single continuous mesh. I know this because when I am in edit mode, I can select a vertex on the model and when I hit (ctrl+L); just about the entire model lights up which means all of the vertices were connected to each other in some way. In other words, the Author of this model was able to achieve low poly hair using a single mesh.
Now below is a hair mesh that I modelled which is not necessarily low poly.

As you can see I modelled each of the locks of hair separately. But they are not still a single 'mesh' if that makes any sense. Its not as simple as selecting all the meshes in Object mode and using CTRL+J since that only joins the objects together but does not make them a single continuous mesh when I enter edit mode.
I tried to model the same hair using the 'Curve and circle' method, and I still ran into this problem as I could only model one lock of hair per object at a time which means each lock of hair would have to be modelled as separate objects.
In addition I have tried the Boolean modifier to try and artificially 'unite' each of the locks of hair, but there were too many stray vertices and the resulting mesh did not provide the result that I was after.
I believe that fundamentally trying to model the hairstyle by modelling each of the locks of hair separately is not the way to go. Could the original author have probably made the model by extrusion?
I think this is mainly a question for persons who have experience with modelling low poly character models for video games. I'd be delighted if anyone can share with me their thoughts and suggestions.
Thanks.

Just a quick idea to try: You could try applying a remesh modifier (with low quality settings) on the boolean version you made. The result may be improved by manual pushing around of some vertices...

Another more work intensive method (which i personally prefer) would be manual retopology of your mesh. Here you would start with one point extrude it and snap it to a mesh face (with the magnet function)... then repeat this, make triangles and then manually make faces inbetween with "F"

It's not necessarily the best idea to have the hair as a continuous mesh for various reasons. 1) being polycount. I was quite obsessed with continuous meshes myself, until I figured out that they don't give any advantage. 2) being the fact that you are technically going to create separate meshes anyway, once you UV-unwrap the hair piece. However, there's absolutely nothing wrong with creating all the pieces separately then join them (Ctrl+J) into a single (non-continuous) mesh.

Thanks guys! I think I got it all worked out


text:
How could you avoid multiple shadows when using multiple light sources?
I was wondering how you could avoid multiple shadows when using multiple light sources. I know that you can simply uncheck the "cast shadow" on the lights that you won't making shadows but that's not gonna work, then the scene looks washed out and no shadows; I guess the brightness of the light get rid of the shadows. This is a huge issue when you're trying to render products and stuff.

Hello and welcome. 3D world is not like real world, which means that most of the time you have to fake things to make it look like in real life. It could be that you need to add multiple lights with different settings to make it look like you are using just one light like in real life. One thing that you could take advantage of are the HDRI light sources and try to make it look correctly even if you need more than one light source, don't be afraid of testing different approaches. Lastly, this question looks like option based, so you could try other forum too like blenderartists or reddit

Softer Fill Light
I've found that the best way to eliminate multiple shadows is to use softer lighting. You can do this by increasing the size of the light.
I generally use Area Lights for soft fill lighting instead of Point Lights.
Try switching some of your fill lights to Area Lights and increase the size. You can leave one light source small and sharp if you still want one hard shadow. I've included an example below.
Two Point Lights casting two shadows:

One shadow is softened by switching to Area Light:


text:
Why is my roblox avatar looking like this in blender
For some reason when I import my avatar from ROBLOX to blender it looks like this? Does anyone know how to fix it . here is a before and after pic

Welcome. Please use a title that matches the content of the question. It should be descriptive but succinct, unique and identifying, summarizing the issue in such way that anyone searching for a similar problem may easily find it. Use the [edit] link above, remove anything superfluous, avoid words like "this","issue with" or "question about". Remember, your title is the first thing potential visitors will see, answers you get depend heavily on how inviting it is. See "What is the problem of asking “How do I do this?""

Can you, for exam?ple point out exactly what's wrong with the import, from your point of view?

The the antlers/horns look different and it looks like the legs and the face has a glow effect that is missing in Blender, right? Try the Emission input of the PrincipledBSDF... (just a guess because we cannot see your shader in Blender.)