text:
What is causing my model’s shoes to detach from the leg?
I am doing rigging here. I had made a pair of boots so I can use them on several models without going through all the trouble of making them again. On my first three models, I’ve deleted on the shin/foot/shoes on the original models, put on the boots, assigned them to the bones, adjust the bone weighting a little bit, then done. They work perfectly.
However, on my forth model, I tried putting on the boots like the other models. It won’t work. You see the boot is not attaching to the leg, I’ve checked the bone weighting but it is correct. The fourth model is from the same game as my previous models.
Fourth Model (original):

After I put the boots on and assigning it.

Bone weighting:

To have the boots painted red is not enough: boot vertices have some weight relatively to others not moving bones that force them to stay in place. In edit mode select one boot vertex that should move and check in the "N" panel all its weights assignements, to identify which weights to delete from which unwanted vertex group.
They should have weight on Thigh, Foot and Toe vertex groups only, and surely this is not the case.

I fixed it! I just found out the same boot was assigned to the shoulder bone for some reason. After I removed the weights it worked! Thanks for the advice!

I fixed it! I just found out the same boot was assigned to the shoulder bone for some reason. After I removed the weights it worked! Thanks for the advice!


text:
How do I achieve this color effect in the compositor?
I have been wanting to create an effect where the contrast between the warm and cool colors, or the green and violet is very visible. At first I thought I could increse the contrasts on the A or B chanles of the LAB color space, but when I asked this question I was told that this is not the right way to achieve this efect. link to old question: how do I work with LAB color space in the compositor?
This should be somthing that can work for animations. (I.e no pixel by pixel color correction.)
These are some pictures of the effect I am trying to achieve:
Effect #1
https://istoleyourcereal.wordpress.com/2012/05/03/warm-and-cool-contrast/#jp-carousel-117
As you can see the warm and cool colors are very distinct.
Effect #2
https://www.flickr.com/photos/iucnweb/6146692092
It was mutch harder to find an image with this effect, but as you can see the reds are very contrasted with the greens.

The masking thing can be time consuming when you're doing animations.

For fast masking in some situations you can use nodes from Matte group; e.g. Luminance Key will give you adjustable mask set up by how is image lit.

source: Stack Exchange

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

sort: votes


text:
How to render a portion of the image through command line with background image
My question is related to this question, in fact I use a compositing node to add a background image to the scene and it stays centered in each rendered image, what I don't want.
This is the py code I'm using;
scene.render.use_border = True
scene.render.use_crop_to_border = True
scene.render.border_max_x = .5
scene.render.border_min_x = 0
scene.render.border_min_y = 0
scene.render.border_max_y = 1
scene.render.tile_x = 32
scene.render.tile_y = 32

Maybe I can add a similar code for the background image but I don't know enough blender python api.

I stopped searching, I created a plane with the background image as a texture and make the camera as parent, I put it far with an emissive shader node and far enough not to emit on my scene object, in another render layer.
This way instead of an texture layer and a render layer, I have two render layers subject to the scene.render.border.

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


text:
Animating the camera's focus during a render with motion blur
From another perspective: "Focus tracking during exposure"
OK, so this is probably pretty obscure, but it looks like the motion blur system in cycles isn't taking into account camera focus over time.
[EDIT] Just to clarify, I'm using motion blur to refer to the renderer integrating over time. I'm not asking about an image space selective blur or approximation, but a physically accurate render and effect.
I haven't had any luck with either setting a moving object for focus tracking or setting keyframes in the distance field. In both cases focus does change correctly when moving between each frame, just not in a render with motion blur.

Attempting to focus track a moving cube (with a static one for reference):

Is there something I'm doing wrong or is this on the todo list?
[EDIT]
In regard to what this might be used for:

Case 1. You actually want to integrate objects transitioning out of/in to focus such as in this photo: Fireworks refocused quickly during an explosion
There may be none or little actual movement for the motion blur but changing focus during an exposure can add interesting effects. Here, I'm use the name motion blur to refer to integrating over time which is what the effect actually does, rather than literal blur from motion.
Case 2. You have a shallow depth of field (and still want the effect that gives), but you want motion blur of a subject moving perpendicular to the focal plane without the defocusing effects of Case 1. Tracking the moving object (with focus only and the camera remaining stationary) would give this effect. In doing so the background will not be blurry from motion, but may change focus a little.

If I understand correctly, you want to animate the aperture during an "exposure" (within the space of one frame)?

@gandalf3 not aperture but the camera's focal plane (image added) and yes, all within one render. I don't think it can be done in the current version, short of rendering/compositing many frames to do the time integration manually.

It does seem like this isn't possible atm.. You could try asking on one of the mailing lists to make sure it's really not possible, or if it's possible to be added at some point.

Motion blur is separate from Depth of field (camera blur). The object will only be more in focus if either the motion blur is turned down or there is less movement of the object relative to the camera.

Yes it's separate but entirely possible to have them both. There are two cases: 1. moving subject where I want motion blur on only the subject without the defocusing effect seen in my example. 2. a still subject with changing focus over time, yet no motion blur from movement as in the linked image.

Then I think your question could be clearer. e.g. "How to apply motion blur to specific parts of my image?". This doesn't seem to be to do with DoF. The other answer should be of use.

You're right, I've tried to describe it better. My question is about DoF being correctly applied during motion, so they're both relevant.

Because motion blur blurs everything if your camera is moving. Try adding motion blur via compositing by using the vector pass and blurring manualy. This way you can also create a mask to keep the cube sharp.
I hope this is what you where looking for!

In my example, the camera is still and the object is moving (should have added a background to demonstrate really). Post-process motion blur can only go so far without inaccuracies. It would certainly be a step in the right direction to avoid defocusing a moving subject but wouldn't work in the case of integrating the defocusing of a still subject.


text:
Real depth of field in blender, without post processing
Last time I checked, blender could only render depth of field effects in a post process pass, using the "Defocus Node", which seemed to get it quite wrong.
Is there now a way to include rays across a lens during tracing and produce a more realistic depth of field?

Related: 2S vs 3D DoF

With the Cycles Renderer, DoF is supported natively. Select the camera, switch to the Camera properties panel, and set up DoF.

Also you must use a real size object to obtain realistic result (to get a reliable f/stop response, like real world lenses). Small objects close up (at a short focal length) make a great bokeh effect due to a shallow DoF. Larger, distant objects like a building create poor bokeh (deep DoF).
Also play with some camera presets, like sensor size and focal length.

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


text:
Unsupported CUDA version 5.0 detected, you need CUDA 6.5
I've been happily using CUDA with cycles for a while now - set Cycles Renderer up top, then File->User Preferences->System->Compute Device=CUDA and in Preferences(bottom right panel)-> Render tab->Render section->Device=GPU Compute. Can then shift-z to use cycles to render the preview in addition to just rendering.
But firing it up today results in:
Unsupported CUDA version 5.0 detected, you need CUDA 6.5.

Which is strange, because:
> ls -la /usr/local/
cuda-5.0
cuda-6.0
cuda-6.5
cuda -> /usr/local/cuda-6.5

> export | grep -i cuda
declare -x CUDA_HOME="/usr/local/cuda"
declare -x LD_LIBRARY_PATH="/usr/local/cuda/lib64"
declare -x PATH="/usr/local/cuda/bin:..."

> nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2014 NVIDIA Corporation
Built on Thu_Jul_17_21:41:27_CDT_2014
Cuda compilation tools, release 6.5, V6.5.12

As far as I can see my environment is already set for 6.5. I get the same for both the Fedora 21 package (2.72) and one I compiled from the source (2.73). How is blender finding the older version? I suspect I've done something to mess up my environment but can't find what it is. Any ideas?

Update:
strace shows blender goes straight to the cuda-5.0 directory, perhaps due to this:
> grep "/usr/local/cuda-5.0/" /usr/bin/blender
Binary file /usr/bin/blender matches

Reinstalling cuda-6.5 didn't fix it, but it did break my permissions, so:
sudo chmod -R o+rX /usr/local/cuda-6.5/

I have recently updated to nvidia driver 346.35, maybe that did something to my environment. Either way it seems like blender first looks in
/usr/local/cuda-5.0/bin/ for nvcc and then /usr/local/cuda/bin/ (this seems like a bug to me). If it finds cuda 6.5 first, either via simlinking cuda-5.0 to cuda-6.5 or moving/renaming the directory, I get hit with this error:
Compiling CUDA kernel ...
"/usr/local/cuda/bin/nvcc" -arch=sm_52 ...
nvcc fatal   : Value 'sm_52' is not defined for option 'gpu-architecture'

Similar blender error mentioned here and here, and theano error here. I have just moved from a gtx titan to a 980. Maybe that's related.
UPDATE: Yes, it's the new card. Going back to the titan works just fine. Surprised others don't have similar issues with the 980.

As your /usr/local/ directory shows you have installed multiple versions of CUDA (/usr/bin/nvidia-uninstall would only uninstall the last one). When upgrading I had first to uninstall all CUDA files:
From pre-installation-actions
Use the following command to uninstall a Toolkit runfile installation:
$ sudo /usr/local/cuda-X.Y/bin/uninstall_cuda_X.Y.pl

Use the following command to uninstall a Driver runfile installation:
$ sudo /usr/bin/nvidia-uninstall

Use the following commands to uninstall a RPM/Deb installation:
$ sudo apt-get --purge remove <package_name>          # Ubuntu
$ sudo yum remove <package_name>                      # Fedora/Redhat/CentOS
$ sudo zypper remove <package_name>                   # OpenSUSE/SLES

Check for remaining packages:
$ dpkg -l

and remove them also. After a re-install of the most recent version should work.

My problem isn't uninstalling cuda, I just want to point blender to the right one. That's what it looks like the automatically created symlink is there for. I can compile and run my own cuda stuff just fine. I just want to know what mechanism blender is using to find cuda.

Then you could launch Blender with strace and grep for cuda paths.

Thanks. But I think it's time for me to give up for the day.

At a guess I think blender is detecting a newer architecture than the current nvcc supports. Is there a way I can tell cycles to use an older -arch version?

@jozxyqk I don't know, sorry.


text:
Creating a Quad face with 3 vertices already created?
How do I proceed to make a quad (not necessarily same shape) at an 3 vertice edge? Extrude doesn't do the trick with the vertices selected and fill just creates a triangle~

Did you try to extrude only one vertex? This should provide the fourth vertex you need, which you can then use to build the extra edge/face.

There is an add on included, called F2, go to Edit > Preferences > Addons and type F2 to search.

Then, select the corner vertex (in my case in the middle) and press F

Perfect, thank you~

I don't think there's any automatic way, but you can enable the Snap to Vertex mode, extrude, snap to the vertex (shortcut Ctrl if you haven't activated the Snap option itself), then fill:

Or keep the Snap to Vertex mode activated, also activate the Auto Merge option and duplicate snap one of your existing face:

So many useful methods! I finally know how to use the snapping correctly ~D

Yes, I didn't know Emir's method  ;)

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


text:
Why does my Retopology have these shade edges?
I was creating some clothing by doing topology on a body. I then subdivided the object to make it higher poly, and then these weird shade edges appeared. Does anyone know why it appeared and how to avoid it?

Maybe inverted normals? Switch to Edit mode, select all and press Shift N?

That was it! Thank you!

This is inverted normals:

Press tab to switch to Edit Mode
Press A to select all faces
Press Shift+N to recalculate normals


text:
Problem with Reshape in multires modifier
Hi I am trying to reshape my mesh with multires modifier from a sclupted mesh. Both have equal number of verts. But Reshape glitches. Am I doing anything wrong?

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

Similar to shape keys the vertex indices must match for both models. The models must have the same number of vertices and the order must be the same. To overcome this limitation try a Multires modifier + a Shrinkwrap modifier. Use Project and Positive + Negative direction for the Shrinkwrap modifier.


text:
Button dissapear when my addon was used 1 time
Sorry for my bad english
I have recently programmed my first addon in blender, when I install the addon for the first time and activate it it works perfectly, but when I restart blender the button that starts the addon stops working, I have been trying to fix this problem for more than a month, I don't know what I'm doing wrong, thanks for reading
    "name": "EEVEE Procedural Sky",
    "author": "SoyKhaler",
    "version": (1, 0),
    "blender": (3, 1, 0),
    "location": "Render",
    "description": "Generate a Procedural Sky on EEVEE",
    "warning": "",
    "doc_url": "",
    "category": "Add Mesh",
}

import bpy
import mathutils

#funciones

def main(context):
    sky_texture = bpy.context.scene.world.node_tree.nodes.new("ShaderNodeTexSky")
    bg = bpy.context.scene.world.node_tree.nodes["Background"]
    bpy.context.scene.world.node_tree.links.new(bg.inputs["Color"], sky_texture.outputs["Color"])
    sky_texture.sky_type = 'HOSEK_WILKIE' # or 'PREETHAM'
    sky_texture.turbidity = 8.0
    sky_texture.ground_albedo = 0.345
    sky_texture.sun_direction = mathutils.Vector((0.260274, 0.938356, 0.227476))  # add `import mathutils` at the beginning of the script
    bpy.data.worlds["World"].node_tree.nodes["Background"].inputs[1].default_value = 2.7

    for window in bpy.context.window_manager.windows:
        for area in window.screen.areas: # iterate through areas in current screen
            if area.type == 'VIEW_3D':
                for space in area.spaces: # iterate through spaces in current VIEW_3D area
                        space.shading.type = 'RENDERED'

class SimpleOperator(bpy.types.Operator):
    """Tooltip"""
    bl_idname = "object.simple_operator"
    bl_label = "Generate Procedural Sky"

    def execute(self, context):
        main(context)
        return {'FINISHED'}

def menu_func(self, context):
    self.layout.operator(SimpleOperator.bl_idname, text=SimpleOperator.bl_label)

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

def unregister():
    bpy.utils.unregister_class(SimpleOperator)
    bpy.types.VIEW3D_MT_object.remove(menu_func)

if __name__ == "__main__":
    register()

    # test call
    #bpy.ops.object.simple_operator()

#interfaz grafica

class LayoutDemoPanel(bpy.types.Panel):
    """Creates a Panel in the scene context of the properties editor"""
    bl_label = "EEVEE Procedural Sky Generator"
    bl_idname = "SCENE_PT_layout"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "scene"

    def draw(self, context):
        layout = self.layout

        scene = context.scene

        # Big render button
        layout.label(text="Create Procedural Sky: ")
        row = layout.row()
        row.scale_y = 4.0
        row.operator("object.simple_operator")

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

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

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

Is everything you posted in the same exact script or are they in separate files?

all in the same exact script, i was following a tutorial

You need to set up your script like this:
import bpy

class SimpleOperator(bpy.types.Operator):
# the operator code
...

class LayoutDemoPanel(bpy.types.Panel):
# the panel code
...
def menu_func():
# etc.
...

# then at the end:

classes = [
    SimpleOperator,
    LayoutDemoPanel
]

def register():
    for cls in classes:
        bpy.utils.register_class(cls)
    bpy.types.VIEW3D_MT_object.append(menu_func)

def unregister():
    for cls in classes:
        bpy.utils.unregister_class(cls)
    bpy.types.VIEW3D_MT_object.remove(menu_func)

if __name__ == "__main__":
    register()

the if __name__ == "__main__" part is basically a way of telling Python "I want to run this script on it's own, not run it as an import in another script". So there should always be only one time you use that in a script. You can register multiple classes by putting them all into a list and then looping through that and registering them that way.


text:
How to use the background grid as a ruler for cutting objects in a straight line with the bisect tool?
Currently I have to use my eye to approximate a horizontal straight line for cutting an object with the bisect tool.
Is there a way to get the cursor to snap to a grid point (marked in red) so that the correct straight line is drawn?

I have used ⇧ Shift + S but that doesn't do what I want.

After you've marked the cut with the Bisect tool, but before you click  to finalise it, open the bottom-left settings dialog and set Plane Normal X dimension to zero.

@John Eason: It was right under my nose! Thanks

No problem! Easy to miss...

Create a plane, rotate it so it matches your perspective, and subdivide it so the quads match the big cells:

Then subdivide it again so it matches the small cells:

Of course you could subdivide it in a single step (39 cuts), but since a big cell always consists of 10 small cells and requires 9 cuts, it's easier to do in in two steps.
Now go to Object Mode, select both the plane and the object to be cut (here Suzanne), use knife snapping to the plane:

Perfect. This works too.


text:
How to make 3d text font with very thick stroke in blender 2.9
I'm still beginner in blender and i was told to make a 3d font in blender, but it must have a very thick stroke.
This is the example

I have tried to edit the offset font, adding object modifier (like boolean and solidify) but still can't.
are there any tips to achieve this result? Thank you.

Does this help?

for that I have tried it too by adding the offset text font. but when the font offset is too big, the text becomes broken and weird.

if you don't need a perfect topology you can convert your font to object, X > Limited DIssolve to simplify its topology, duplicate it and fatten the duplicate with Alt S?

I'll try later, because right now my laptop is being borrowed by someone else.

Blender doesn't have great curve edit tools, hence try to make this in a different app, like an Inkscape.
I don't want to cover how to create this effect, but it is relatively simple. Why don't you watch a tutorial? For example:
https://www.youtube.com/watch?v=n4Ib3xr6lHY&ab_channel=NatashaSchumacher
After creating the vector drawing, you can import SVG file in Blender and use it as curve objects.

That might be a good idea, I'll try that later. thank you


text:
Why does my model heavily deform when applying an armature rig?
I'm trying to make a low poly character model just for fun and I was using this tutorial to do it. Everything was working great, the rig works mostly as intended by itself - but when I apply it to the mesh it deforms everything. This didn't happen in the video at all.
I've tried most solutions I can find - I made sure there was no non-manifold meshes, I made sure all the normals were flipped correctly, I applied transformations to both the model and the rig several times. I even weight painted it to the best of my ability but nothing worked.
This doesn't seem to happen with other people's models, either. It doesn't just distort itself when I move the bones - it distorts it the instant I apply the rig.
So if anyone could let me know what I'm doing wrong I'd be really grateful, thank you so much! I'd really appreciate it if someone had a solution which didn't involve any deformation at all if the model wasn't moving. Attached I have the images and I am going to attach the .blend file, please let me know if anything else is needed!

Without rig applied

Click to enlarge
With rig applied

Click to enlarge

First, I don't think "apply" is the word you're looking for here.  It has a specific meaning in Blender with regards to modifiers (like an armature modifier).  Your mesh gets ugly when you so much as enable the armature modifier.  (To apply it, which you shouldn't do, you can choose "apply" from the drop-down menu to the right of a modifier's name in your modifier stack.)
The main reason your model doesn't look right is because the armature's IK constraints are twisting the limbs unnaturally.  Your IK constraints have "rotation" enabled, meaning they're trying to match the rotation of, for example, ARMCONTROLLER.R onto LowArm.R.  Because the rest pose rotation of LowArm.R isn't the same as the rotation of ARMCONTROLLER.R, it bends LowArm.R to match.  In order to have that rotation and remain connected to its parent, that gives a specific rotation to UpArm.R as well.
That's the main reason.  The other reason is that you are using pole targets to control the rotation of your IK chains, and those pole targets are positioned in a way that will twist your limbs.  Sticking with the right arm, UpArm.R interprets the pole target as meaning, "I should point my +X axis at the pole target."  Except, then it has a 180 degree pole angle set in the IK constraint for the right arm, so it points its -X axis at the pole target, twisting it backwards.  You should enable the display of Axes in properties/armature/viewport display settings to see this more clearly.  There is some particular pole angle that won't create any twist for UpArm.R in its constrained but unposed state, and you can just get close to this by adjusting the pole angle and seeing what happens.
If you fix all that, you'll get the mesh to look right unposed.  But when you move the IK targets, it will look all wrong.  And that's because your IK chain bones aren't bent in the way that a human moves, and Blender uses the existing bend to determine how it should bend IK chain bones.  Your shin bone bends toward the front, relative to the thigh bone, and so Blender is going to think you want your knee to bend backwards.
Here are my recommendations:

Avoid enabling rotation in your IK constraints, period.  Consider this an advanced setting.  It is not what you, as a beginner, want.

Try to avoid pole targets.  (It's not very clear from Blender's interface, but pole targets are optional.)  If you do need pole targets, position them carefully; the best thing to do is to just duplicate the first bone in a chain, move it in it's normal +X axis, and use that bone as a pole target with a pole angle of 0.

Place your bones such that they represent the actual way that you want your model's joints to bend.  If that means remaking a mesh, so be it.  Ideally, meshes intended for rigging in Blender are designed so that each joint is slightly bent, rather than having straight, rigid limbs (and especially not overextended joints!)


text:
why doesn't the rig follow the sphere?
Rig beginner here:
I have a simple inverse kinematic rig here:

The sphere is the target of the IK of Bone.00
I limited the y/z rotation like this for both bones:

I do not understand, why this is the result:

In my simple understanding it should be this:

I have no idea why....How do I solve this, or what did I make wrong?

In the file you provided, for me, with positions of target like that shown, it does reach the sphere.  It doesn't reach the sphere in some positions where sphere is very, very close to to Bone.01, because it's interpreting that as requiring Z axis rotation.  I don't know why that is, but the solution is to IK lock Y and Z instead of angle limiting Y and Z to 0,0.

Oh I see, in your file, you didn't limit Bone.01, like you described in the question.  Same thing though: IK lock instead of angle limiting.

oh man....that was easy. I am really dumb. Ok, put this as answer and you got a upvote and a check for that really quick right comment/answer!


text:
Save a file with filename prompt from script?
I'm trying to write a simple script to save without Blender showing the confirmation popup. This works fine if the file already has a name, however, if I call bpy.ops.wm.save_mainfile() and the file has not been previously saved, Blender simply crashes/exits completely.
So is there a way to call save_mainfile() so that it behaves the same at the normal File/Save operation where it will prompt the user for a filename? (Note that calling save_as_mainfile() also crashes Blender.
Here's what I was at least hoping would work:
def execute( self, context ):
    if not bpy.data.filepath:
        bpy.ops.wm.save_mainfile( ?parameter to prompt for filename? )
    else:
        bpy.ops.wm.save_mainfile()
    self.report( { 'INFO' }, 'File saved.')
    return { 'FINISHED' }

Looking at the docs for save_as_mainfile, I think it attempts to save the file to the specified path. Based on the fact that no path is provided in your code, it is probably trying to save to some default location it does not have write permission for. Your script needs to obtain a location and obtain permission to write to that location to use save_as_mainfile. However, it is weird your blender version crashes - mine logs an error to the system console.

I'm mostly interested in having a way to get the same default behavior of it prompting the user for a filename by passing in a parameter of some sort. I'll update the question to reflect this and remove the call to save_as_mainfile.

After a bit of research, I found a solution for you.
To fix your issue, simply pass the value 'INVOKE_AREA' into save_mainfile, bpy.ops.wm.save_mainfile('INVOKE_AREA'). This will open a file selector if the file is not saved, otherwise it will bring up a prompt that confirms the user wishes to save over the file. If you want to avoid the confirm dialog, you will need to call save_mainfile without 'INVOKE AREA'.
Passing 'INVOKE AREA' defines the operator context, which allows save_mainfile to bring up the file selector.

Can also add to layout layout.operator_context =  'INVOKE_AREA' see this answer

Thank you! Passing in INVOKE_DEFAULT appears to work also, but apparently when I tried that the first time I forgot to re-import my add-on. It works perfectly now, so thanks!


text:
My blender file will not print; any suggestions?
I have a 3D printer and after learning of blender (and rebuilding my computer to handle it properly) I delved into 3D design for table top mini's.  I'm using Blender 2.90 currently.  The object in question does fit on the printer bed that I'm using (a monoprice III v.2).

I've created an image that will function as the base of a tower I'm designing but for the life of me I cannot get it to print.  That means either a, the 3D print software I'm using is in error, or the more likely b, I've done something with the file that is causing problems.
When I load the file as a STL the print software doesn't show it with levels.
Here's a link to the file if anyone wishes to take a crack at it.
Any help would be appreciated.

Hi and welcome :) What exactly is the problem? Please clarify your question with more details, images, etc.. blender comes with a 3dprint toolbox addon that helps point out basic errors also. Running those checks and post the results as an edit to your Q, would be helpful. Thanks :)

That google drive link is private it seems

Sorry, try this.

Hi :) please use Blend-Exchange for blend files in the future, ( you can edit it into your Q) this ensures that links don't break and maintains usefulness for future users. Thanks :)

The most likeliest issue is geometry with zero thickness, holes or self-intersections.

It's a curious model. I have 2.83 and the file opened fine, no obvious problems. Export to STL appeared to go well. Meshmixer is also happy with the structure.
The model appears to export at 0.11 mm diameter. My first move was to increase scale to 2540, a common number for inches to millimeter or the reverse, I can't recall. Still too tiny, but when using a scale factor of 25400, the model becomes 29 mm in diameter and 5 mm high.

I'm curious as to why that happened--the model is 4.5 inches across (using the old imperial units since I'm an American :p ), but I double checked the conversion rate online and its diameter should had been 114.3 mm.  Not sure what's causing the difference in size when opening but that might be my problem there.  As for the model it's suppose to have stackable parts on top of it so you can see miniature figures when playing Dungeons & Dragons.

@Wacky if you select the object and type C.object.dimensions into the Python console it returns Vector((0.11432980000972748, 0.11439290642738342, 0.020091524347662926)). So the data is stored in meters no matter what the interface is showing according to the unit system selected. If you export it in STL format, the unit for the values stored in the file should be 1 meter. I think it's just a matter of importing it correctly to other software or scaling it accordingly if the software does not handle the units correctly.

I converted it to metric and saved the file again and that seemed to work.  I don't know what happened software-wise, but it loaded properly and I saved it to gcode.  I then printed the file and it turned out well.  I'll post a photo this weekend when I have time.  Thank you all for the help!

Can't seem to get my old phone to talk to my computer to upload the file for some reason--will work on that later.  As for Blender files and unit formats, I kept it metric for the second level and transferred it to a slicer and had the same results.  But since it was in mm this time I noticed that the size shown was 1/1000th of the original.  Seems I keep getting it converted into meters as the method of measurement without the numbers changing.  Going to try straight meters for the roof of the hut (which looks good so far) and see what happens.  Thanks for all the continued support!


text:
Real World Roughness Samples in Blender
TLDR: We've developed a method to measure a surface's microfacet distribution, and are looking for a way to integrate this in a Cycles shader. For more info, see this paper.
Hi all,
Together with a fellow student, I have developed a low budget way to get somewhat accurate measurements of the microstructure of a surface that concern the glossyness of a surface for a university course on surface engineering. We've also tried to make a method to integrate this in a cycles shader, which in theory should give a "carbon copy" of the gloss of the original real world sample, or at least a more accurate representation. This would be a nice way to get better previews in product design, but could also be nice in a more general purpose way if you can build up a library of different real world materials to get more convincing shaders.
Right now, the only thing we are struggling with is the actual inplementation. I'm pretty experienced with Blender as a user, but I'm pretty new to coding, and while most aspects of the shaders are easily customizable, the one parameter we need (the microfacet distribution) doesn't allow for options outside of the dropdown menu, and as far as I can tell, it can only be changed by diving into the source code (which seems a bit intimidating, to say the least). What I'm looking for is a way to make something like a plugin or node group which enables me to plug the image that contains the measurement data into the microfacet model as some sort of a lookup table. Does anyone know how to do this?
Thanks in advance!
Since it is all pretty technical, and took us quite some time to figure out, here is some background info:
The gloss of a surface is for a large part determined by the slopes in the surface which distort the reflection. Since these "bumps" or "microfacets" are too small to see individually, they sort of "blend together" to form the blurriness of the reflection you see. Because this blend is the result of lots of these microfacets, the total amount of reflected light is proportional to the (average) presence of these microfacets. This is the microfacet distribution

Since there is some randomness to this distribution, it can be represented as a statistical model, which is what render engines use to emulate the roughness of a surface. There are all kinds of different models with different equations, strengths and weaknesses, like phong, Beckmann and GGX. In Cycles, you can pick a model from the top dropdown of most shader nodes. By changing the roughness parameter, the distribution changes and gives a shinier or rougher surface look.
For our method, the idea is to use a dataset gathered from an actual surface instead of a mathematical approximation. Below are some examples gathered through our method (see paper for more detailed explanation). The position represents a certain microfacet slope, while the brightness indicates the probability density, or the relative presence of that slope.

I hope this info helps to clarify the issue, or at least give some more insight in how realistic rendering works behind the scenes.

Nodes can represent any programming except jmp instructions (goto, loops, etc).  You could try providing a large number of samples to a sharp glossy shader, each with a normal defined by your distribution function and a random number.  Not sure how well that would work-- Blender's distro functions aren't just alterations of normals like this, but seem to actually blur the ray--- and doing the low-level coding would be preferable.

Have a look also here: https://blenderartists.org/t/micro-angle-dependent-roughness-iridescence/691900

Also I think you should get in touch with Blender devs: https://devtalk.blender.org/


text:
What's the best way to deal with zero-area faces that break normals
I run into this issue all the time and it's really frustrating to fix especially on high poly meshes. Either there's no face joining some edges ("zero-area hole"?) or there is a zero-area face. Either way it messes with the normals making ugly black spots all over the mesh. Here's an example:

To fix the normals I'd quite like to either...

split the upper face, as the dashed line shows,
or merge the two lower faces by dissolving the edge, as the cross shows.

How can I do this automatically to the entire mesh?
Manual methods aren't acceptable as there's a lot of this kind of geometry. I'd prefer to change the mesh as little as possible, or at least not lose any information by collapsing huge areas.

Sometimes is's hard to actually select the face and I resort to selecting an adjacent one, growing the selection with Ctrl Numpad+ and deselecting the others. Once selected, others can be selected with Select->Select Similar->Area. Adjusting the threshold is often necessary to avoid numerical inaccuracies. It also helps if the model is not too small, so maybe scale it up first.
Below is an example of a zero-area hole, although I've moved the vertex up so you can see it.

You can get the zero-area faces back with Mesh->Clean up->Fill Holes.

Even if I do manage to manage to get rid of the zero-area face, leaving a quad as shown below, I've found triangulating it splits the wrong way and just gives a zero-area face again (this really seems like a bug in blender's triangulation).

I don't think the question is not so clear. Please try keep it simpified. Actually, you can save a lot typing work here simply by showing an illustration with BEFORE vs. AFTER comparison. Does the "deal with" actually mean "remove"?

@LeonCheung ideally I'd like to keep the mesh as close to the original as possible, just without broken normals. The best solution seems to me to be subdividing the triangle opposite the zero-area face, but I expect this would be difficult to do globally.

@NoviceInDisguise that's the annoying thing. Think of two triangles sharing an edge. Then you split one of the triangles along the edge but not the other. There's a vertex in the middle of the split edge but no vertex on the other edge to merge (remove doubles) with. Although it looks like there's no hole, there is no face in the middle of the edges and if there were it would have zero area.

There is a tool specifically for this.

First select all faces (typically selecting the entire mesh is fine).
Access this menu item from the 3D View: Mesh -> Cleanup -> Degenerate Dissolve to remove zero area faces, zero length edges.

Using dissolve is useful because it won't make holes where the faces used to be, it simply removes the face and merges surrounding edges.
you can change the threshold as a tool option.

I have the 3D-Print toolbox addon installed and do a Check All it shows I have 20 Zero Faces. In Edit mode I am able to click this button to show me those faces. I see them and so I select only 1 of these faces and do Mesh > Cleanup > Degernate Dissolve, it doesn't dissolve it. Nothing happens.

You might need to increase the threshold for Degenerate Dissolve, if that doesn't help, please report a bug.

Wait I just realized I had to input a merge distance as well. I thought it would just automatically remove it since it's zero face anyway. Guess that's my bad.

"since it's zero face anyway" is often not the case unless every vertex is an exact match, internally it would be a very small number which is why a threshold is used since the value of what you would consider zero depends a lot on your scene scale.

I think @ideasman42 presented a very good point. Just in case below is what you need instead:

Select one zero-area face (better to do it in Wireframe mode);
Shift G -> Area, to select all zreo-area faces;
Manually select adjacent faces you want to merge in, then press F.

This requires selecting the data, which may be fine, but if you have many zero area faces, you might not want to select each one manually.

I think I was kinda mislead by the answer posted by himself, if it isn't what he really meant.

Thanks to @ideasman42 and @LeonCheung for their solutions! I've combined them here and show an example.
Whether there are gaps in the mesh as in the following:

Or zero-area faces as below:

They can be fixed like so:

If there are holes, Mesh->Clean up->Fill Holes to create zero-area faces. The next step won't work without it.
Mesh->Cleanup->Degenerate Dissolve as in @ideasman42's answer. In my example I'm left with a quad. NOTE: I've still found a few broken faces with only one iteration, so run it a few times. Be careful not to set the threshold too high.
Triangulate, using CtrlT or CtrlShiftT as @LeonCheung says. The latter worked for me. Changing the Quad Method in the t panel (or with F6) also worked.

Doing this in blender is quite an important step for me because leaving as quads gives a good chance that other applications down the line do the triangulation and get it wrong.

The process in animated gif form:

Having quads can be useful, e.g. for animation.

I have the best answer ever to help all of you with all of your problems, follow the tutorial:
Assuming that you are using blender 2.79:
1. Activate 3D PRINT TOOLS: User- preferences - addons - search for "3d print toolbox"
2. select your model in object mode, and then navigate to the 3d printing panel, left bar of the program
3. Click on the button "Make Manifold" and then click on "Check all"
4. a list of erros of your model will appear, including zero-area faces, now go to edit mode and you can see in the panel that the button named zero area faces are now clickable, so click on it and he will select all the zero-are faces on your model.
5. Now that all the zero-area faces are selected, press DELETE, and in the options select DISSOLVE EDGES.
6. now press CTRL+T to triangulate the model
Using this method you can resolve all the issues with your model, and it is very good for those who want to print.

One option is to select all zero-area faces, delete the edges which removes all the adjacent and properly filled triangles. Then fill the holes:

Triangulate the whole mesh (which may create zero-area faces).
Find a zero-area face and select it (easy enough when viewing with shading).
Select->Select Similar->Area, as above in the question.
Press delete, select Edges
Mesh->Clean up->Fill Holes
Mesh->Clean up->Delete Loose (I had edges in the middle of nowhere).

Triangulate again

Ew! Why does blender seem to insist on triangulating the wrong way? Shouldn't it always go for the one giving the most even triangle side lengths?
If you know of a better way, please post it!

Not a best way indeed. But just want to mention here that if Ctrl T doesn't triangulate it as you expected, you can try Ctrl Shift T. Or tweak options in F6 menu.


text:
Missing addons in blender 3.5 (Fedora 37)
I recently upgraded to Fedora 37 (from 35). I just noticed blender is missing the ability to import FBX files. Moreover, my Add-ons is basically empty (nothing shows up when searching for fbx):

After launching from the terminal I am guessing this is why:
BLT_lang_init: 'locale' data path for translations not found, continuing
Read prefs: /home/pknowles/.config/blender/3.5/config/userpref.blend
Failed to open dir (No such file or directory): /run/user/1000/gvfs/
Traceback (most recent call last):
  File "/usr/share/blender/3.5/scripts/modules/addon_utils.py", line 333, in enable
    mod = __import__(module_name)
          ^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'io_anim_bvh'
Traceback (most recent call last):
  File "/usr/share/blender/3.5/scripts/modules/addon_utils.py", line 333, in enable
    mod = __import__(module_name)
          ^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'io_curve_svg'
Traceback (most recent call last):
  File "/usr/share/blender/3.5/scripts/modules/addon_utils.py", line 333, in enable
    mod = __import__(module_name)
          ^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'io_mesh_ply'
Traceback (most recent call last):
  File "/usr/share/blender/3.5/scripts/modules/addon_utils.py", line 333, in enable
    mod = __import__(module_name)
          ^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'io_mesh_stl'
Traceback (most recent call last):
  File "/usr/share/blender/3.5/scripts/modules/addon_utils.py", line 333, in enable
    mod = __import__(module_name)
          ^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'io_mesh_uv_layout'
Traceback (most recent call last):
  File "/usr/share/blender/3.5/scripts/modules/addon_utils.py", line 333, in enable
    mod = __import__(module_name)
          ^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'io_scene_fbx'
Traceback (most recent call last):
  File "/usr/share/blender/3.5/scripts/modules/addon_utils.py", line 333, in enable
    mod = __import__(module_name)
          ^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'io_scene_gltf2'
Traceback (most recent call last):
  File "/usr/share/blender/3.5/scripts/modules/addon_utils.py", line 333, in enable
    mod = __import__(module_name)
          ^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'io_scene_obj'
Traceback (most recent call last):
  File "/usr/share/blender/3.5/scripts/modules/addon_utils.py", line 333, in enable
    mod = __import__(module_name)
          ^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'io_scene_x3d'
Traceback (most recent call last):
  File "/usr/share/blender/3.5/scripts/modules/addon_utils.py", line 333, in enable
    mod = __import__(module_name)
          ^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'pose_library'

Specifically, ModuleNotFoundError: No module named 'io_scene_fbx'.
It seems I only have the cycles renderer in /usr/share/blender/3.5/scripts/addons/ and no other addons. Are these intended to be there? How can I get the FBX import feature back?
I tried sudo dnf reinstall blender and this succeeded without error, but I still have the same issue. I'm wondering if addons are now provided in a different package, but sudo dnf list \*blender\* isn't showing anything new.
[edit] nearly the same as All addons missing after upgrading Blender from 2.83-4 to 2.90

For now I'm just running the pre-built from https://www.blender.org/download/ as suggested in https://blender.stackexchange.com/questions/203039/add-ons-in-a-linux-installation-of-blender


text:
Super weird glitch when remeshing 2 joined curves
I have 2 curves that I turned into a mesh and joined. I then go to sculpt the curves but first remesh the object, and a very weird glitch occurs with one of the curves where It completely becomes carved out.

what is happening and how do I fix this?


text:
add curve:extra objects creating weird vertices glitch Blender
when I use the add on add curve:extra objects to create a curve spiral I am having a weird glitch
I want to have an open curve so i delete a vertex which some how results in the curve vertecies getting disconnected and a random location along the curve. I try and double click on all a vertex to highlight the curve and it appears the curve has gotten cut up.
I have been using this add on for months and it is all of a sudden acting super strange. attaching photos of me making the curve( converted into a mesh), adding a soldifer and subdivision

If 'Cyclic' is not checked, the curve should be open without any deletion required, on your part..?

Apart from possible other problems, there are definitely some double vertices. On the bottom of the upper image you can see a selected orange edge on a black, unselected vertex - which can only mean the real vertex of this edge lies below the one you see. Then the next edge to the left is black with an orange outline, which means there is a selected edge below the unselected edge - which also means there must be another selected vertex below an unselected vertex.

By the way, which spiral object are you using? Because when I'm adding any of them, the edges are not showing in black, even if they are unselected...

@GordonBrinkmann i'm confused by your statement but I am doing archamedian

@RobinBetts ahh i think that fixed it, how did you know that was the issue?

honesty confused why this started happening though, I don't recall ever checking off cyclic

@Brit That isn't the real solution to your problem.

@Brit   because, typically, spirals are not cyclic :D ..Gordon has covered it.

When you add a Curve > Curve Spirals > Archemedian object (or other spiral objects as well), the default setting for Height is 0. In this case the spiral looks like a closed circle (ever wondered why Spiral creates a circle?).
However, if you set the height to a value <> 0 you will see that it's not a closed circle but instead an open spiral where the first and last segment lie directly on top of each other, e.g. here I've set a height of 0.1:

This means there is no need for deleting vertices to get an open curve - actually, if Cyclic would have been enabled, deleting a vertex wouldn't create an open curve. You would only have a vertex less and the rest of the segments would be connected to keep the curve closed. And after you converted the curve to a mesh, there shouldn't be any Cyclic option to enable anymore.

it worked though when i chose cyclic and deleted a vertex , but that picture explains a part of that weird glitch

i think what was happening that made it work sometimes is I just happen to delete the 2 overlapping vertex so it never gave the glitch. but this makes sense. thank you!


text:
Orient Object along Normal
I wan't to orientate my cylinders along the blue arrows. I am thinking that normals are the solution but since I am new to Geonodes in Blender I dont know how. Can you help me?

Just plug the node Normal into the Vector input of the node Align Euler to Vector and try with the axes... By the way, this question has been asked many times in different variants, so your question will probably be marked as a duplicate:  https://blender.stackexchange.com/search?q=%5Bgeometry-nodes%5D+align+normals

...I now wanted to take a closer look at your question and answer it, or search for a suitable duplicate. However, I do not quite understand this unfortunately. Please be so kind and edit your question to make it a bit clearer. Thank you very much!

Unfortunately, due to the structure of your Geometry Nodes, it is not entirely clear to me what exactly your goal is, so I'll try to provide an answer here based on a guess that might help you.

There are a lot of questions/answers that deal exactly with this topic, but in principle require the understanding of the node Align Euler to Vector.
Hence a try:
I assume you want to instantiate cylinders circularly on multiple planes.

Create a cylinder first.
Move it by half of its height on the Z-axis. Thus its rotation center is around the lower end.
Then instantiate it along the points of a circle.
Use the input node Normal on the input Vector of the node Align Euler to Vector to create a Rotation for the objects to be instantiated. Simply put, this node uses the normals of the points, and in this case aligns the Z-axis of the object to be instantiated along them.
Then instantiate this geometry again along the points of a line.

Maybe this answer will help you a bit. I just didn't want to leave the question unanswered.
(Blender 3.2+)


text:
Lamella Face Displacement
I need a Shader or a Geonode Setup which Displaces the face in like in the pattern of picture 1 but with the cross-section of the geometry in picture 2. So the shadows created by the geometry create the pattern.
I have provided my Setup of shading so far if it helps.

Thank you for you'r help

It could also be done as an array along a curve

This is the mesh I'll use.

In geonodes, you can create a curve and resample it to give it as many points as you want.

Then you can Instance on Points your original geometry from the Group Input node.

Now, of course, my size position and rotation needed adjustment, but there you go.


text:
Apply Geometry on face selection
I am trying do apply different modifiers to only certain parts of my mesh. I want to use this selection to play with dual mesh or to apply a pattern to only these faces but I am struggeling to process my selection further.
At the moment I am only able to select those faces seperate from the rest of the mesh and I dont know how to merge them back together.
Is there a way to achieve this without seperating the meshes?
Thank you for the help.

I don't think so; if that was available, it would be in the form of a Selection socket on the Subd and Dual Mesh nodes. They could, theoretically, be added later, but I wouldn't hold my breath.

Thats sad, thank you.

Is it possible to create a pattern like a spiral pattern or smth like that to follow those selected faces? I dont nessesary need dual mesh, but a way to let a pattern follow my surfaces and only be applyed to such selected surfaces.

Not so easily that I could just tell you in a comment. Would depend on what kind of setup, exactly? Maybe post a question with good detail. Share your model you wanna alter on blend-exchange.com etc.

Thanks @Kuboå I am preparing a question like that right now.


text:
How copy location without measuring unit?
I just want to copy the value without unit when hovering over the location field. Is this somehow possible?
If you copy a lot of values, you don't want to delete the unit all the time.

Switch under Scene properties > Units > Unit System to None

works like a charm! If you want to write an answer...you will get accept + upvote

No, thanks ... great it works for you :)


text:
Render Animation Not Working Anymore
I'm using blender for some basic video editing (no 3D modeling involved, nothing fancier than cutting the beginning and ending off a video and adding some images over parts of it), and edited and rendered two videos with no problems. When I finished editing my third video (same length as the previous two, same source file types, same settings, same everything), I clicked Render Animation as usual but the render field that pops up remained empty, and the file is never rendered to the selected output folder (or any other folder). I let it sit for a while with no change, so I closed out and tried again. Then closed Blender completely and tried again, to no avail. I went back and tried rendering a previous video, and it rendered fine (again), but this one I've just done will not render. I have no idea what's going on. Help?

Have you accidentally change the Frame range in the Output Properties setting (or the Timeline)?

pls upload blend file - could be several reasons. Unfortunately you didn't show us any of your settings.


text:
How to make curve apply its bevel radius after all deformations
I have a wicker basket which is made up of curves. The object has a couple of array modifiers, a simple deform and a cast modifier to achieve its final shape.

It looks fine from afar but upon closer inspection, the curve seems to be flattened. Is there a way to make it fill the bevel only after all modifiers has been processed?
The object on the right had to have its bevel depth reset to 0 before the  modifiers were applied; it was then converted to mesh and then back to a curve again before re-adding the bevel depth. With this method it successfully bevels the curve without any distortion to its profile. This is the desired effect I'm not able to reproduce using a non-destructive workflow.

Some modifiers have an option to apply effects on curve points rather than beveled geometry

Ah indeed. SimpleDeform and Cast has that, toggling them however has no visual difference over the final mesh.

Nowadays, Geometry Nodes can come tho the rescue. The Bevel on the curve can be generated after all other deformations, with this GN modifier at the  bottom of the stack, so is not deformed itself:

After various modifiers, the curve is considered a mesh by the system, despite never having been explicitly converted. So it has to be converted to a curve and back again.
Right: The curve with a native Bevel and various deforming modifiers. Left, the curve left un-bevelled, with the GN modifier at the bottom of the stack.

And it only took 4 years for an acceptable answer!

@ReyLeonardAmorato  I have an image of you with a long grey beard and fingerless gloves, brushing away some cobwebs, adjusting your bottle-bottom spectacles, fumbling in the bottom of a tattered, moth-eaten purse, for a green tick. Thank you!  :D

Try increasing resolution under bevel in curve data->geometry.

@rey right one looks good why do you need bevel depth again. May be include project file for clear answer.

It actually is good enough for me, however I don't like the fact that it's not procedural. I like to avoid destructive modeling as much as possible, for greater flexibility with my models. With regards to your question, I had to reset the bevel depth to 0 before applying the modifiers and converting it to mesh and back to a curve to avoid the distortion.

Of course destructive modelling is best option for any modeller. I need to know exact process involved in that, from start to end. So I may need project file or more detailed images in each every step to answer properly.

OK, I might not be able to til after a few days though. Thanks for your time!


text:
How to make dropper tool work across (multiple) blender windows?
Currently the dropper tool only works within the same window it was started with, trying to move the mouse to another blender window with the dropper active results in the tool reverting to it's inactive state. (normal mouse icon) Is this a bug or a not wanted feature?  Is there a way to achieve this via python magic?
Here's a screencast.

I am using Blender on Windows and if I select the dropper for the Diffuse material colour I can click on any pixel in Blender, the Animation record button(red), the Scene menu(light grey) etc. Moving the mouse out of Blender reverts it to a normal mouse cursor but I can still move it back over Blender and it returns to the dropper  and select any pixel part of the UI or not.

Hi, I've updated the post to show a screencast of what I meant. As you can see, I'm moving to another blender window, not outside it.

excuse my ignorance, but when I have used Blender in a multi monitor environment I have just stretched the single window over two monitors, how are creating two independent blender windows that share a single instance?

No worries man, I use the Duplicate Window from Window > Duplicate Window or Ctrl+Alt+W

The situation is similiar to this, the answer may apply here. Have yuo tried using xmouse.

Unfortunately I can't use the tool provided in that answer as I'm using Ubuntu. OS wise, I have already have the focus on hover setting enabled.


text:
How to create a procedural/parametric n-sided star with cycles nodes?
Using cycles nodes, how do I create a parametric n-sided star?
I've seen Procedural Star Texture in Blender Cycles, but somehow I feel duplicating node groups and manually typing in the rotation is not the way to go. I'm fairly certain there's a more elegant way to do this but the math involved simply eludes me.

Early attempts:
Ideally, this would be it, except the arrows are pointing in the wrong direction! :)

UPDATE:
Following formulas from Wolfram, I've managed to come up with this:
I have no idea if I did it correctly but I've made a pentagram, so at least something in there was correct. However, similar to the tutorial linked above this solution is not very elegant either, requiring me to duplicate the node group and typing in a rotation value per segment/spoke.
I'm hoping one of you blender math heads out there could help me. Thank you!

Just an idea: testing if the point is in a triangle + given a point angle (from the center), take a modulo of this angle (the angle module 2pi/n or something like that). So, the n triangles are seen as one whatever the amount of triangles is.

What you can also do, is make it semi procedural. When this modulo trick is done (see prev. comment), just test if the vertex correspond to a white or black part of a texture. The texture may be one triangle here, and can be scaled to make its base vary. But doing so you'll be able to draw any shape (depending on what is on the texture). So the math are really simplified doing that.

This would be part of a larger procedural texture, so I don't think making edits with the mesh would be a good way to go. This needs to be 100% procedural. Perhaps you could provide an answer with references/images to elaborate your initial comment. Thank you!

I've started with the idea that we can have 5 parameters to do it.

The amount of stars to display: a scale effect along the surface.
The orientation of the star: turning it around its center.
The amount of branches.
The branch length.
The base width: how thin the branch is.

Globally, I think the main thing to consider to draw on a rendered surface (for Eevee or Cycles) is that the engine drives each raycast and so we can only "rearrange" the coordinates we receive so that it fits to our need. And "fit to our need" means driving this coordinate to a wanted color, texture or shader.
For instance, if we want to scale the figure, the idea is to multiply the given coordinates by a value (this is node by VectorMultiply node group in the blend file below, which simply multiplies X, Y and Z by a given value).

From that and more directly about the star subject, the idea is to test if a given point corresponds to a given triangle which is the half of a branch:

And if we know that our coordinates are positives, a point P(x,y) is inside the triangle if x + y < 1, or more precisely if the triangle we want is of dimensions A, B, then P is inside if (x/A) + (y/B) < 1.
From that, all the trick is to make any point the render engine gives to us come back in this quadrant appropriately.

First step, we have scaled the coordinates. That mean we no more have something between 0 and 1 (as the UV map coordinates are), but something between 0 and the scale. To have back something between 0 and 1, we can take the modulo 1 of the point coordinates. For example if the scale is twenty, will obtain a sequence of twenty intervals [0, 1[ when the render engine casts along the surface.
This is done by VectorModulo node group in the blend file (which simply takes the modulo of each coordinate of the vector).
Next to have a final quadrant (the rectangle image above) between 0 and 1, we recenter our current coordinates to a center at 0.5 and scale it by 2. This is done by the VectorRecenter node group. This last calculation gives something between -1 and 1, but will finally take only the positive quadrant below.
At this step, our point is somewhere around the center we defined above with a value between -1 and 1 and we want to know the angle it has from the X axis.
This is done by Vector2ToPolar node group which only take into accound X and Y and calculates the angle with arctan2( y, x ) because this arctangent give the good sign of the angle (and the other arctangent vector math node does not).
From this angle its easy to add a rotation so that we can turn the stars (just add a value to the previous angle).

Now we want an amount N of star branches. Each branch corresponds to an angle of a = 2pi / n.
And we want to know that our point is somewhere around 1 x a or 2 x a or (n - 1) x a. So we divide the current angle by a, round the obtained value and multiply it by a again. Relatively to that, our point angle become the point angle minus this previous rounded result. This is done inside the 'RoundAngleDelta' node group.
We now have two information (this last angle and the vector length) we go back to vector coordinates using the 'PolarToVector2' node group.
The point we now have fits to the half branch rectangle above, except that y could be negative. So we take the absolute value of it.
Finally we consider the last two parameters BranchLength and BaseLength so that we can apply the formula (x/BranchLength) + (y/BaseLength) < 1 (indicated (x/A) + (y/B) < 1 above).
Here are the variations for these last parameters:

Edit: mapping enhancement
The previous setup works well with UV maps. But it does not for "generated" or "object" coordinates inputs.
So, I've added some nodes to pre-process normal orientation so that the stars can be drawn on any orientations.
This solution is taken from this answer written by Rich Sedman
The setting in few words (as it described in the link above): given a normal input, we want to choose which pair of coordinates (X, Y or Z) will take the role of (X, Y) we need to draw the stars, so that they are drawn on every faces whatever their orientation is.
Here is the updated blend file:

Great answer! Simply marvelous. Thank you for the in-depth information on the process.

Dang! Just while mine is in the works... I'll put it up anyway, when it's done :D

Looking forward to seeing it!

If you can allow good enough shapes (instead of perfectly mathematical stars) that look like this:

You can get it through a rather quick and simple node group setup:

And with a bit of simple tuning the same kind of setup can bring even more exoticals shapes for halos and flowers and gears! :)


text:
Reverse "make duplicates real"
Currently we have the operation “Make duplicates real”… I was wondering if there was the reverse of that operation “Make real objects duplicate” or something, turning objects into empties, keeping all transforms?
I know this could be somewhat achieved via dupli{verts,faces} or via particles or particle instance modifier, however I was looking for an operation that didn’t involve all those.
Thanks!

ctrl L > Make Links > Object Data?

I've added an image to further illustrate what I mean... I need the objects to be converted into empties.

ok so ctrl L doesn't seem to work in your case

Yes. Right now I'm using the add-on copy attributes to copy location/rotation/scale but it only works on one object at a time. Doing that for a thousand objects is extremely time consuming.

what do you mean when you say it only works on one object at a time? Actually you can select several objects and the last selected will be the one you'll copy. That said, it doesn't seem to allow you to transform meshes to empties.

Yes, but selecting several empties and then selecting a reference object (last selected; active) would copy attributes of that object only. To do something like in the crop shot, I need to select an empty, select an object next, then ctrl-c > copy location> ctrl-c > copy rotation> ctrl-c > copy scale. Repeat for each object.
Perhaps the better question would be "how to place empties in each object's origin, with all transformations of the individual object copied?"

It seems like you're requesting a new scripting add-on? The task you mentioned may not be easy to do in Blender without a suitable add-on.


text:
Keyframe interpolation instability
That's me again, struggling with the animation. I created a number of key frames. However, my camera sometimes was doing a full 360 loop interpolating between two close camera positions. So I had to add more and more key frames to stop it. But in the end I have just one odd frame 114, where it suddenly jumps. In the "Transform" panel under "Rotations" I have "Quaternion (WXYZ)"). All the components of the quaternion are quite small and change its sign between these two frames as I see in the "Transform" panel.
Deleting the key frame 113 causes the camera to roll all over the place again.
Is there a way to stop this behaviour? I also found some posts talking about parenting when creating animations, but I can't understand it exactly.
I checked how it looks in the Graph editor, but rotations are smooth and no sign change at that frame 114. So as far as I understand Graph Editor has rotation in local coordinates, while the transform panel in global.
The animation is here (model from blendswap, made by TheDuckCow):

EDIT:
Here is an example. This frame is fine.

But next one is not:

Then next one is good again.
Apparently something numerical happens when they all go through zero...
This is what happens if I run the script:

Possibly related: http://blender.stackexchange.com/questions/28438/how-do-i-ensure-a-sequence-of-quaternions-from-matrix-decompose-is-continuous

@MutantBob thanks for the link, but it still don't know how to fix it. My rotations looks smooth anyway. I run the script posted in the answer, but it created an awful load of keyframes (for some reason only in the first part of animation) and camera rotates all around and sees the object only by accident.

What I found so far:
Quaternions q and -q represent the same rotation. For interpolation to take the shortest path one has to choose the quaternion closest one to the previous frame (either q or -q). If rotations q1 and q2 are close to each other as rotations, but are positioned oppositely on the sphere, than intermediate frames from q1 to q2 will basically travel a full 360 degrees.
Solution:
This script goes through keyframes and inverts quaternions if necessary.
After running the script one has to press "T" in the F-curve view and choose interpolation type (Bezier), because it looks weird otherwise.
import bpy
from mathutils import Quaternion
import math

def main():
    #reading curves
    obj = bpy.context.active_object
    action = obj.animation_data.action

    # quaternion curves
    fqw = action.fcurves.find('rotation_quaternion', index = 0)
    fqx = action.fcurves.find('rotation_quaternion', index = 1)
    fqy = action.fcurves.find('rotation_quaternion', index = 2)
    fqz = action.fcurves.find('rotation_quaternion', index = 3)

    # invert quaternion so that interpolation takes the shortest path
    endQuat = 0
    if (len(fqw.keyframe_points) > 0):
        endQuat = Quaternion((fqw.keyframe_points[0].co[1],fqx.keyframe_points[0].co[1],fqy.keyframe_points[0].co[1],fqz.keyframe_points[i].co[1] ))

    for i in range(len(fqw.keyframe_points)-1):
        startQuat = endQuat
        endQuat = Quaternion((fqw.keyframe_points[i+1].co[1],fqx.keyframe_points[i+1].co[1],fqy.keyframe_points[i+1].co[1],fqz.keyframe_points[i+1].co[1] ))

        if startQuat.dot(endQuat) <0 :
            endQuat.negate()
            fqw.keyframe_points[i+1].co[1] = -fqw.keyframe_points[i+1].co[1]
            fqx.keyframe_points[i+1].co[1] = -fqx.keyframe_points[i+1].co[1]
            fqy.keyframe_points[i+1].co[1] = -fqy.keyframe_points[i+1].co[1]
            fqz.keyframe_points[i+1].co[1] = -fqz.keyframe_points[i+1].co[1]
main()

fqz.keyframe_points[i].co[1] should be fqz.keyframe_points[0].co[1]

Quaternions must be "normalized" in order to represent an actual orientation.  That means 1=w*w+x*x+y*y+z*z.  Fortunately this gets handled for you, and much of the time the result is close enough to what you want that you don't even notice a problem.
However, if the animation system interpolates a value where all of them are zero, then it probably gets changed to <1,0,0,0> .  The only way to solve that problem is to add a keyframe that has the intermediate orientation, preferably in a normalized form.

Not sure of this is too simple and therefore "I'm not understanding the situation", but when I get interaction problems of this nature I parent cameras on an invisible object such as a plane, and if necessary, parent that object to another.  That has solved similar problems I've had with complex
movements in several axis at once.  Each dummy object can be moved/rotated independently and at any time without interfering with the other dummy(s).
The camera can also be moved independently, all of it ending up smooth and seemingly without restriction as to the number of simultaneous transformations.


text:
How to make the glare coming from strong sunlight?
I want to create more or less realistic light in outdoor scenes. I read this question
Lighting for a outdoor scene in cycles
The answer says you should set up the sun lamp properly and use environment texture. However,  don't get specular highlights and reflections of the sun. How do you create such things?
This is the sun highlight I mean:

If you open the default scene, put a default sun lamp and a glossy object you should be able to see the highlights. Could you be more clear about what the problem is and what have you tried so far? What's your lamp size?

yeah, I see them (kind of). But I mean really sun highlights like this:

It is usually called "glare". Easiest way to simulate them is to use the glare node during compositing.

Sortof related: http://blender.stackexchange.com/q/23111/599


text:
Why is this mirror object not reflecting light onto another surface properly?
I have a scene where the sun rays should be reflected from a mirror to create this sort of effect:

The problem below was resolved, scroll down to EDIT.
However, I can't get any light reflected from any glossy surface. I set up a simple scene to test it ans here is my result.

And here is rendering.

But the cube stays dark.

I will be very happy if somebody could help me with this.
Blender file:

EDIT:

I fixed the problem with the test file by adjusting light position and size (and maybe something else). For that I added a ground plane and was adjusting the parameters until I got the shadows right.
Increasing the roughness parameter, suggested by Duane Dibbley makes rendering faster and less noisy. However, then it is not a mirror any more.  When the roughness is zero, rendering takes a lot of time and doesn't look like it is going to finish.

Could you show your Light Path settings too?

@Carlo, I added Blender file, I think it is better :)

@cegaton thanks, that is the thing I was looking for. I got it the example working now. In a real scene I have a mirror, but reflection is full of fireflies, so it will take ages to render. When I change the roughness then mirror is not sharp any more (and the reflection). Maybe I'll try that patch some time later on...

You should use the Properties Panel / Render / Ligth Path / Filter Glossy property. For caustics, the mirror will behave like a rough surface, but for the camera, it will still look like a mirror.

Cause of the Cube Being Dark
The caustics are present in the preview render, the inside of the cube is lit by the light: Test it by disabling caustics, the inside of the cube gets darker. Note, that you only get a small portion of ligh, because the mirror is small, and only a small part of the light is visible from the cube. If you increase the size if the mirror, or decrease the size of the lamp, the inside of the cube gets brighter.
Small Mirror Big Lamp

Big Mirror Big Lamp
The big mirror covered the scene, I have hidden it only for the camera.

Small Mirror Small Lamp
Direction of lamp had to be adjusted.

It worked for me with a brand-new version for Windows, that I just downloaded on my work computer. In case, it does not work for you, try to open your Blend with a fresh copy of Blender.
Reducing Noise
Getting rid of some of the noise can be done using the Properties Panel / Render / Ligth Path / Filter Glossy property. For caustics, the mirror will behave like a rough surface, but for the camera, it will still look like a mirror. This is exactly the case, why it was introduced. Have a look at the documentation page for reducing noise.
Small Lamp High Filter Glossy
I did not perfectly catch the same direction as before, but the noise reduction is somewhat visible.


text:
Combine 2 objects to 1 object with animations
I have two objects, and 1 of them has animation. I want to combine them with ⌃ Ctrl + J, but when combined, the animation is deleted.
How can I reduce 2 objects to 1 object while keeping the animation ?

Just select the object without animation, then the one with animation before pressing Shift J

As Nascent says you can select the object with animation at last, you can also join and the action will still be available in the Dope Sheet > Action Editor and look into the dropdown menu:

But your question is a bit more complex as you want to join a lid to a box object and I guess you want the lid to keep its animation, and you don't want the box to move. In that case you have 2 solutions:

Don't join the 2 objects, just parent the lid to the box (select the lid, shift select the box, then CtrlP to parent). When you'll move the box, the lid will follow, and it is still animated.

Join the 2 objects. In that case you can't count on your current animation anymore as it will move both the lid and the box, but you can use bones to animate the part of the object you want.

I did what you said, when I do shift + j, I don't get any results. The objects are still 2.
Problem image : https://i.hizliresim.com/4WIp90.jpg

I'm not sure what you mean, if you join, there will be only one object at the end. But your situation is a bit more complicated than what you explained at the beginning, if you want to join the lid to the box, the animation will animated box + lid as one object, is it what you want? It looks like your animation is just the lid rotating. In that case you have 2 solutions: keep 2 separate objects (but you can parent the lid to the box) or make one object and use a bone to animate the lid

yes, this is what I want. I do not have much information about this subject. Can you share a sample tutorial video?

well, the simplest solution would be to parent the lid to the box: Select the lid, then the box, press Ctrl P, now your 2 objects are still separate but if you move the box, the lid moves along, which is probably what you want. Making one unique object and using bones is probably useless if the parent solution is ok

Thank you, it worked, but when we look from windows 3d application, there is no problem in animation while unreal engine also causes problems. What is the reason?
Image : https://i.hizliresim.com/S9YAO1.jpg

could you please share your file? It may be because of some scales or rotations that you need to apply? Use https://pasteall.org/blend/

Here : https://pasteall.org/blend/9e57c50b94cf47fa9cd55f0fa3b60f61

there must be problems with scales and rotations, the best would probably be to close the actions you've created for the box and for the lid (go in the Dope Sheet, switch to Action Editor, click on the X on the right of the action name), apply the scale and rotation of both the 2 objects, then parent animate the lid again

Problem Solved. Thank you very much. It was my first question in the forum. You helped a lot. Thank you very much.

great, you're welcome  ;)


text:
Render slow, console log "Using fallback" and after start render process
When I want render an image to animation, I prefer to render by CLI. It's more quiet. But my last render appear with this message
Using fallback
Using fallback
Using fallback
Using fallback
Using fallback
Using fallback
Using fallback
Using fallback
Using fallback
Using fallback
Using fallback
Using fallback

Why?

I have the same happening. No clue so far!


text:
Is it possible to combine rigid body and soft body physics in the same object?
In blender as most of you know there is an option in the animation tab to have soft body and rigid body physics on an object.
On a project that I am currently working on I need soft body on one part of an object and hard on the other, the only problem is, is the fact that it is the same object.
So I guess what I am asking is if it’s possible to do that and if so how?

I found a similar question that has already been answered here: https://blender.stackexchange.com/questions/38579/how-to-have-consistent-soft-body-physics-in-a-specific-area-of-an-object-using-v
The idea is basically to weight paint a vertex group, and effect only that area for the goal. Hope this works for what you are looking for.


text:
Mapping an Image on a Acrylic Glass Pane
I managed to put an image onto a glass pane (using UV-mapping and nodes).
Following a tutorial on YouTube on acrylic glass, I was able to improved the pane (adding Fresnel to have the edges reflect).
Unfortunately, I cannot seem to figure out how to add the image texture to the pane. The Fresnel is now blocking the port of the Mix Shader where my Image Texture used to go.
This is my node-setup:

Using version 2.9.1.0 rendering with cycles.

https://blender.stackexchange.com/questions/46424/add-a-transparent-image-on-top-of-a-material

that did the trick, thank you @susu !


text:
How does Blender know what color is the background color for a texture?
You can add multiple texture slots in texture paint mode, to act as a sort of 'layers'. You then add all of them with their own texture node and combine the 'layers' with MixRGB nodes.
But, you can create textures with different background colors and somehow Blender knows for each of the textures what that color is and to treat it as 'transparent' when blending the texture layers. How does it know that color?

When you create a new texture using the Texture tab in the Properties Panel, in the "New Image" settings box that pops up, one of the available options is "Color.*

Ah I thought that was just what was used to do the initial fill, but it makes sense when you think about it. Thanks.


text:
Clean up vertices/edges with no faces
Is there anyway to cleanup vertices/edges in edit mode?
I have been deleting some faces from a mesh but it seems to create a few loose vertices/edges.
Update for clarity:
So I have a mesh like this:

And I delete some parts of it and end up with some edges/vertices that do not have any faces:

Can I automatically select and/or remove those?

Can you please be more specific? What is the situation you encounter which needs to clean vertices? What do you expect by cleaning it? You can take a look at this question

Please add some screenshots and more detail to your question. As it is now, it's a little hard you know exactly what you're asking. (BTW, try Ctrl+Alt+Shift+M to select non-manifold geometry)

@Polosson updated for clarity.

@gandalf3 added some screens.

The first tool that will help you cleanup your mesh is Select Loose Geometry which is available in the select menu in edit mode. This will select any vertices that are not connected to anything. Once selected you can simply delete these vertices.

The other one that can help is Select Similar. Start by de-selecting all vertices, then select one vertex that has a single connected edge and press ShiftG (also available in the select menu) and choose Amount of connecting edges. This will select all vertices that have one edge connected to them allowing you to delete these vertices. Repeat for any similar situations that you may want to cleanup.

+1 Good answer :) Another thing you could try is selecting the main mesh with Ctrl+L and then inverting the selection (Ctrl+I).

Select Similar just changed my life, thank you!

Super cool feature, unbelievable how convenient/perfect this trick was to solve this problem.

Something which will similarly help you find pieces of your mesh that aren't quite right is the "Select Non-Manifold" CTRL+SHIFT+ALT+M - this will show you when you have too many faces connecting to a single edge, and it will show you when you have too few faces connected to an edge.
One note on this, however, is if you cut your model in half and put a Mirror Modifier on it to keep it perfectly symmetrical, it will find the entire cut as non-manifold until you apply the modifier.

In Edit mode choose Face Select mode, select all with A and hide faces (H). Then choose Edge select mode, select all and delete. That should work for loose vertices.

If you find deletion of geometry routinely leaves remaining artifacts (vertices, edges or even faces) you might want to adopt the custom of always removing doubles before deleting. Undoing extrusions can also create these bits of rogue geometry. This happens when the next operation after an extrusion is reversed by undoing it, but the extrusion itself is not removed, so


text:
real multilayer sss in cycles
It seems to me that blender cycles is quite limited for doing a real multilayer sss...
What I want to achieve is something like that.
Here is my bench, a shape with an increasing thickness

in renderman, you can define a multilayer sss like this:

and you obtain something like this

which is exactly what I want. To explain with a little graph, here the way I want my scatter to behave:

But in blender cycles, it seems that you cannot achieve something better than that:

The reason for that is that you can tell the sss shader to be present from 0 thickness to x (via scale and radius), but there is no way to set presence from a to b where a > 0.
The graph looks like something like that in blender cycles:

the deep layer is overlapping every layers...
very simple dummy node setup to summurize what is performed for any skin shader I found or tried to do (also this is a very bad setup here, no energy conservation):

Is there a way in blender cycles to know the deepness of the scatering? Or am I thinking my shader the wrong way?
Thanks a lot! (and sorry for my average english...)
edit:
digging...
I have made a pretty nice step forward using absorption and translucency. It seems that sss is not absorbing the light rays, thus, make impossible the use of raylength, whereas translucency of course does. Here is the same bench:

with suzanne (right one has a quick white skull using solidify)

edit 2
Still digging around
I have created a node setup to create a 3 colors ramp. It is quite usefull for my current tests:
(cursor here is the V coordinate, should be the deepness in the final shader)

edit3
What about this attempt?
I am not sure about energy conservation here, I think the add shader at the end should be balanced with something in the diffuse shader... maybe not. Any idea?
The 8.0 value is just to make the effect more obvious. Should be 1.0 in real world I guess..
Also, isn't there a IOR coefficient in real world? I have tried the glass shader with 1.0 of roughness, but it clearly doesn't make the trick...
anyway, here it is:

Why can't you just multiply your ray length by sinus to make it 0 at start? It could require rescaling/shifting but maybe this simple trick do the work for you?

@piotao thanks a lot for your comment. I would be glad to simplify, but I must admit I don't really understood where you would add a sinus and why. Could you precice what you would have done please? Is it a replacement of the "sss ramp" group or something like that?

I just looked at the graphs showing SSS scatter you provided and immediately I saw how this could be 'fitered' by using a sin function. Then, your graphs denoting cycles should become more like the graphs with nice curves you pasted first.
If you've got something like this bad result from cycles, it "should" be enough to artificially put it to sin due to characteritics it will 'reshape' the input. I did not build any nodes for that, this is just an idea. It may work however, because each RGB channel is in fact nothing more like just numeric data, isn't it?

BlenderDiplom has a rather in depth tutorial on absorption in cycles!

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

@piotao thanks again for this clarification. Ok I got it now. Indeed I think I should replace the ramp curves with something else. The thing is that I am not sure of the functions I am using. I am pretty sure the mix between color is not linear, but also not sure it is trigonometric... I don't have much time to dig for now but this is mainly the kind of answer I am looking for now

@BertVdB Thanks a lot for this very usefull link. Actualy I already had it. At least it clearly says absorption is not linear, it reminds me I should add an exponential in the shader, thanks for that then :-)

Actually Absorption shader is doing exactly the same, and could be used as a drop-in-replacement for this node group from Friedrik and Gottfried tutorial.

This can be achieved by combining multiple Subsurface Scattering shader nodes to 'cancel out' part of the scatter at short distances. This allows the scatter profiles to be manipulated as desired.

As explained in your question, standard Subsurface Scattering shader only provides control of the 'radius' of the scatter in each of the channels - ie, how far each of the colors is scattered within the surface with falloff over distance - with no control over when the scattering actually starts. This means that close to the point of illumination all colors are scattered equally and each drops off at it's own rate as the distance increases.

Using the default 'Cubic' sub-surface scatter mode, the distribution follows the Cubic distribution function :
y = e ^ -((x^3)/(a^3))

For Quadratic, the distribution is very similar :
y = e ^ -((x^2)/(a^2))

Online tools are available to graph these functions so that they can be easily manipulated - for example, https://www.desmos.com/calculator, which allows you to instantly see the result of changes to the function.
Cubic :
Quadratic :
To control the scattering we need to be able to manipulate the profile of those graphs and this can be achieved by combining multiple scatters, each with different properties. For example, by adding two shaders together we can produce a more interesting distribution :

In order to block the scattering at 'short' distances we would need to subtract one distribution from the other.  eg, 'y = (e ^-((x^3)/(a^3)) - e^-((x^3)/(b^3)))*c' with carefully selected values for 'a', 'b', 'c' (a controls one Cubic, b controls the other Cubic, c scales the result).

(https://www.desmos.com/calculator/fnixk2lkqv)
Under normal circumstances it's not possible to subtract the effect of one shader from another - since we only have an 'Add' shader and a 'Mix' shader but no 'Subtract'. However, there is a trick we can use to subtract the effect of a shader by using 'negative' color values. The color of a surface is represented by a Vector of 3 values - Red, Green, Blue. These values are usually in the range of 0.0 to 1.0 but are equally valid to be outside of that range. For values greater than 1.0, the surface will have the effect of amplifying any incoming light rays. However, values less than 0.0 result in any incoming 'positive' light rays being converted into "negative" light. Combining such negative rays with the output of another shader using the Add shader will result in the negative light being subtracted from the positive light. Care should be taken to ensure that the overall effect does not result in negative light escaping the system - this can cause some unexpected effects - but this can be used to 'cancel out' the effect of one shader with that of another.
The Subsurface Scattering Shader consists of two elements - effectively a 'Diffuse' element to handle the surface interaction and the 'Subsurface' element for the below-surface scattering. Subtracting one Subsurface Scattering shader from another will remove the 'Diffuse' element, so we need to add it in again - so we need 3 shaders : one for the 'base' subsurface (which should have Radius set to 0,0,0 to disable scattering), one for the 'positive' subsurface scatter and another for the 'negative' subsurface scatter.
This can be implemented with the following nodes :

The material consists of three Subsurface Scattering nodes. The top one has its Radius set to 0,0,0 so that it does not perform any scattering - it acts effectively as a Diffuse shader (and, in fact, it could be replaced by one - although my tests seem to show that it's not actually more efficient that way) to provide the surface interaction. The next Subsurface Scattering node provides the 'positive' element of the scattering. Its Radius is fed from a Combine XYZ node which can be set to the desired scattering parameters. The final Subsurface Scattering node provides the 'negative' element of the scattering and it also has a Combine XYZ to provide the scattering parameters. A Vector Subtract node generates the 'negative' color from the input RGB node by subtracting from 0,0,0. The Color is also multiplied by an additional Combine XYZ node to provide scaling to adjust each channel. The outputs from the three Subsurface Scattering shaders are combined using Add shader nodes to provide the final output - ie, 'surface' + 'positive' - 'negative'.
I used the same online graphing tool mentioned above to adjust the parameters until I was happy with the parameters for each channel. The values of a,b,c can be simply plugged into the 3 Combine XYZ nodes in the above material - 'a' into the Radius input of the 'positive' shader, 'b' into the 'negative' shader, 'c' into the multiplier for the Color input.

An interactive version of this should be available here : https://www.desmos.com/calculator/jp3nbgellf.
To see how Quadratic would affect the distribution, see here : https://www.desmos.com/calculator/zycoycntdl
To demonstrate on a back-lit wedge :

Blend file attached

This is absolutely brillant. The negative color trick is awesome. Also cristal clear explanation, thank you so much for sharing this answer

You're very welcome - glad to help. I've particularly enjoyed working on this one and learned a lot along the way. I was quite inspired by your various solutions in your question and its edits. I've been quite interested in negative color for some time and been looking for a way to put it to good use :-)


text:
Animation no longer works after applying geometry nodes modifier
I am using the geometry nodes modifier to instance some object and then animate those instances. However, when I apply the modifier, the animation no longer works - the instances basically become frozen at their current animated position. I need have real meshes because the game engine I'm working with doesn't support Alembic. Is this expected and are there any workarounds besides e.g. writing a script?

if you animation was done with nodes in geometry nodes - yes, that's what was expected. And no, i cannot think of workaround for this except that any other software support geometry nodes as well. The "real" workaround would be to make the animation outside of geometry nodes...e.g. by keyframes. but i think you don't want that.

Thanks, that's good to know. I ended up writing a script to loop through all the frames, get the evaluated data, and create keyframes where needed.

@P.Private That sounds like an interesting solution! Would you be so kind and could show us this and write a more detailed answer to it, so that the question can be marked as solved and others can benefit from it?

Depending on what geometry nodes you are using, how they are configured, as well as which game engine you are exporting to, you can write a script to process the evaluated data for the object containing the geometry nodes modifier and output a new object with the modifier properly applied. Whether you add the animation directly to the object, the mesh, use shapekeys, etc. is up to your specific use case.
for frame in range(bpy.context.scene.frame_start, bpy.context.scene.frame_end + 1):
    # Evaluate the active object at the current frame.
    bpy.context.scene.frame_set(frame)
    depsgraph = bpy.context.evaluated_depsgraph_get()
    evaluated_object = bpy.context.view_layer.objects.active.evaluated_get(depsgraph)
    # Create a new "output" object if needed, then animate it.

I haven't tested this now, but thanks for your willingness to share your knowledge with others!


text:
How to disable "Pick Shortest Path" > "Fill Region" option by default?
Is there a way to disable this option by default when using the "Pick Shortest Path" operator? It's extremely unintuitive that this is enabled by default when it's so rarely useful.

Can you demonstrate or give an example via screenshot or gif of what you mean?

Please illustrate this with a case you have found problematic, so folks know exactly what you're talking about.

How do you use Pick Shortest Path? With Ctrl+Shift+Left-click? That's the shortcut for Pick Shortest Path wtih Fill Region. Simply try Ctrl+Left-click, that's the shortcut for Pick Shortest Path without filling.

@GordonBrinkmann thanks, that's what I was looking for!


text:
What causes non-perfect circles in subdivision?
I've noticed sometimes that when subd modeling, and using "Loop Tools > Circle," I still end up with a circle that isn't perfectly round. A good example is this first example on the left. I would have expected the resulting circle to be perfectly round, yet it's not. The second two examples on the right seem more or less perfectly circular. Why is this?

Not enough geometry for the subdivision to follow a circular shape, the first one is basically a "Rounded" rectangle rather than a circle.

Is it generally agreed upon in subd modeling that you need to inset more than a single face to create a round circle?

It all depends on your final goal; but the less geometry, the less is going to have the subdivision to work with


text:
How to add a workspace in blender for a small monitor?
I want to add a new workspace in Blender however my monitor is too small and the plus button doesn't fit in the screen. How do I add a new workspace?

u can pan that area by holding down ur mouse wheel button and dragging to your left just like when u rotate around a 3D object.

If you have a mouse wheel, scrolling will enable you to slide that header bar around.
If you don't have a mouse wheel then the shortcut Ctrl+PgDown/PgUp cycles through workspaces.

You can also drag the header bar left and right with the mousewheel held down.


text:
Scene has disappeared from viewports
I'm such a newbie that I have seemingly pressed the wrong button, and now my scene isn't showing and not rendering either. I think its to do with the camera settings, but I'm at such a loss as to what I've done. Is there a way to reset the cameras? Any help would be greatly appreciated.

Your Clip Start is 54 meters, are the objects so far away from the camera that you need such a distant clipping range?

@AllenSimpson They were all in close range to the camera. I've changed this back to 0.01 m (not sure why it was so high) but I'm still getting the same view

No chance it has anything to do with those 2 disabled collections in your outliner, is there?


text:
Moving a bone, makes another bones but further
Is there a way i make a bone controls another bone's movement?
To be specific, when i move Bone A up to 50cm, it also move Bone B which also move twice further?
Thank you.

You can use the Transformation constraint or you can use a driver.
Transformation constraint:
Give it to your bone in Pose mode. Don't forget to select Local Space and to activate Extrapolate, in the Map To part, choose a value that will be twice the one of the Map From:

Now when you move the target bone:

Drivers solution:
Right click on the Y value of the bone and choose Add Driver:

Open the Drivers editor, select the Y Location Bone track on the left and in the N panel > Drivers choose the controller bone as Object, Type > Y Location, Space > Local Space, and under Expression type "var*2":