text:
Procedural material to mesh using displacement
I can't for the life of me figure out how to use a procedural material I created to create a mesh. I created a landscape based off this tutorial:
https://www.youtube.com/watch?v=yrMee2gcS20
I am using the procedural material to mesh generation instructions from a second tutorial and my results are not turning out the same at all:
https://www.youtube.com/watch?v=McALCOr39rY
My blend file can be downloaded here:
https://my.pcloud.com/publink/show?code=XZB34MkZ8ub1bCcxmohP97mJhlIKJu3iOgSV
I see that in the second tutorial, the guy is using a multiply node at the end, but a multiply node was not used in the first tutorial.
Please help! What am I doing wrong here? THANK YOU!

The correct way is the first video's way, the "Displacement" node wasn't present in blender from the start and you had to use the multiply node to control the displacement output. Where exactly are you stuck ? At which step ?

Well the second video is the only way I can get the material to bake out to a mesh; the first video always ends up with a black texture when I try baking it

Can you try downloading my file and baking the landscape into a mesh? And see why it isn't working?


text:
How to optimise chained operations geometry nodes
I'm quite new with geometry nodes and something that I find sometimes annoying is chaining nodes.
In this examples, I want to exclude specific instances based on their indexes, so I have to create three Compare nodes and multiple them two by two.
I had another project where I was separating RGB colors, doing some math and adding them by having 2 Add nodes. (adding R+G, then adding the result with B)
Is there a way to multiple any amount of nodes together? Some sort of "plug as many input as you want" (like we have for the Join geometry node).

unfortunately not yet. But of course you can write your own custom node trees to reuse them. But this would have a specific number of inputs (as many as you gave them) of course. And by the way, instead of multiplying - you can use boolean math - node -> And ;)

source: Stack Exchange

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

sort: votes


text:
Bevel modifier leaves faceted edges
I was following a tutorial wherein the instructor beveled an edge, and showed through the magic of rendering that you could keep your polygon count lower by letting the renderer do some magic.
So I made a cube and beveled all the edges. But the edges show facets that remain even when I render.
Here's what I am doing:

new -> general (cube is present)
verify object mode and select the cube
from the properties on the right, select Modifier -> add modifier -> Bevel
amount = .2
segments = 8
dropdown -> apply
object data properies (green triangle thing) -> normals
check auto-smooth

When I render this, the cube has faceted corners. My expectation was that they would be round.  The wireframe shows them as "faceted".

Little bit confusing at the beginning there, but the steps helped clear it up.

You skipped a step. The Auto-Smooth option is kind of misnamed in my opinion, but the point is it’s subtractive. You need to set the cube object to smooth shading first, then check Auto-Smooth to make Blender not smooth over sharp corners.
However, if you’re just beveling a cube, you shouldn’t have any sharp corners, so I don’t think you’ll need that option.
You might want to use the Weighted Normals modifier though, which will help large faces not look curved when they’re supposed to look flat but have bevels around them.
Also, for some reason, for mesh custom split normals to work, object Smooth Shading and mesh Auto-Smooth both need to be turned on. Make a note for when you get to that.

When I beveled, I used like 4 pieces, not 1.

Segment count would have an effect on normals, but I didn’t explicitly mention it.

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


text:
Making more complicated shapes
Looking for a good way to make composite shapes.  Say we have a classic tombstone. It's a half-circle on top and a rectangle on the bottom.  I have tried doing this by either just burying a disk into a rectangle, or by cutting a disk in half then joining it to a rectangle. It stays 2 different parts, and if I join them together it still kinda sucks.
When I tried to fix the mesh manually it became abundantly clear that there had to be a better way.
Here's the sort of thing I end up with:

There are many ways to make a shape like that, but here's how I would do it.
I would start with a Cylinder with an even number of sides (I used 12). After adding the cylinder, rotate it on the Z-Axis so that the "flat" sides are square with the axis lines (for 12 sides, 15 degrees rotates it perfectly).

Rotate it again on the X or Y Axis, so it's "on its side", then scale along whatever axis to make it more like a coin (like in your image).

Delete the large faces, then make a loop cut around the middle of the side faces. Select all the bottom faces and delete them.

Select the 2 bottom edges and extrude (E) "downward" along the Z-Axis:

Press F to connect the 2 edges. Then, select the side "edge ring" with Alt + Left Click and select Face > Grid Fill from the menu at the top.

Do this on both sides. End result looks like this:

To make it more like a smooth "tombstone", add a bevel modifier and a subdivision surface modifier (in that order). Right click to shade smooth:


text:
My model looks ok in Blender but is missing faces in Lychee
I have a model which looks fine in Blender.  In Lychee, however, parts are missing.  I can only assume something is wrong with my stl export. I have recalculated the normals. Has anyone seen this before?
Lychee:

Blender:

even the blender's recalculate function isn't infallible esspecuially if there are duplicate vetexes and ripped edges. i would recommend doing a visual check of the face normals and merge by distance.

Thanks, I have checked the dup vertices and merged them.  What is a ripped edge?

A visual check of the normals you can do with the Face Orientation overlay (https://blender.stackexchange.com/a/216140/107598). When Lychee uses backface culling then the faces with the flipped normals (red) will not be displayed.


text:
Copy vertices and keep their UV coordinates
Guys!
I have a 3d model with hight count of chaotic polygons.
I want to make a new model with less polygons count.
Let's say I select 4 vertices(see schreenshot) and I want dublicate this vertices to make Face from vertices, so I had only one face, based on this 4 vertices. And I want to keep the same UV coordinates for this vertices so the texture fits the same as on original one model. But after I dublicate vertices, their UV coordinates are lost. Any idea how could I copy the vertives and keep the same UV coordinates for them? Thanks!

In blender vertices don't hold uv because they aren't doubled on uv seams. You could split edges on seams to then store uv on verts but I think what you really want is to use data transfer modifier

I think you could also get pretty far by using a Decimate modifier, set to Planar with the degree at like 1-3 degrees, and Sharp and UVs checked in the Delimit section. This will get rid of a lot of your redundant geo basically for free and should mostly keep your UVs unpeturbed. But yeah other than that I think it's what Markus was saying, Data Transfer modifier onto a LP mesh or baking the diffuse to a LP with completely new UVs.

@Jakemoyo bake to completely new UV sounds good, but what if I have not only diffuse map but Normal Map and ORM also, how can I bake it all to new UV? Thanks for your reply.

AFAIK you can bake normals like you typically would with a normal map applied to the "HP". It should transfer. You could try just applying the ARM as a diffuse and baking it that way, but that might bring up issues with color space/transform so be careful. I would try the Decimate or Data Transfer technique before doing this honestly, in that order. Decimate is the real brainless method that has like a 50% chance of failing, but will take like 20 secs tops. DT is a bit more complex, but would be cleaner than decimating. Baking is the no-other-choice option.

@Jakemoyo Thank you! I've set normal map as normal map and have baked normals so it works perfect. ARM I've set as diffuse and it also works. So I fully optimized the model and rebuild all the textures. I tried decimate and data transfer but I dont like the result even if takes less time.


text:
Render only changing part in the animation
Is it possible to speed up rendering animations by telling Blender, where the changes occur?
Example: I have a chess board, and first, let's say, 40 frames is for one pawn moving, and the camera still. Therefore it's not needed, that the whole scene renders for every frame. All the frames are similar, they differ only in the proximity of the moving pawn. Is it possible to tell Blender: "render only this area of the image for every frame, and leave all the other things still, so render them only once". I'm sure it would greatly speed up the whole process.
Thanks in advance for the answer

I suspect newer version of blender (beta 3.0.* with xcycle support) is capable of better managing animations and render time when not all the image changes frame from frame. Give it a try

Lets say it depends on the level of detail and realism you want. Mostly it has to do with the lighting and shadows. If you don't mind if the shadows aren't animated, then you can easily render just the static objects on to a transparent background, as a simple image. Then you can render out the dynamic parts onto a transparent background, then use the compositor and put it all together as the animation. If you want the dynamic shadows then it can be done as render layers, but the shadows will effect the chessboard and require it to be rendered. UV mapping and baking the materials will help with the render time. you will just want the diffuse color, none of the lighting or other effects. That will only help if the materials and textures are complex.

Thanks for the answer. I have made it another way - I rendered move by move, selecting a border for the direct proximity of the moving piece. Now I just need to figure out, how to glue the images together, so that a border becomes transparent


text:
Exported animation from Blender to UE4 is inside floor
I use plugin "Mr Mannequins Tools" to generate full rigged mannequin from UE4, but after exporting some animations(without mesh), it shows them in floor. It seems it has problem only with another compatible skeleton.
Do you know where can be a problem?


text:
How do i speed up even more EEVEE rendering?
I have a pretty big scene with eevee currently rendering with a GTX1060 and for a frame takes 11 seconds. I wonder, how can i speed up the frame render time even more to get even faster renders? Should i buy a new GPU or are there some tips to speed it up? Thanks!

If the animation plays at real-time, you could always just capture the viewport in OBS.

yes, its a thing but ill have lower quality and also i have soft shadows, wich cant be rendered in real time properly.

Agreed on the soft shadows. I usually render with super sharp shadows, so I don't normally think of that.

Ok, i also wanted sharp shadows to make rendering a lot faster, but thene i realized that some scenes looked very bad without soft shadows...

and also i think this problem will be solved bc im going to buy 2x Radeon 5700 XT... and those are pretty good gpus


text:
How do I convert an image from my file to the blender?
I have tried doing this for example

    bpy.ops.image.open(filepath="//../flags/6.png", directory="/Users/shak/Desktop/flags/", files=[{"name":"6.png", "name":"6.png"}], show_multiview=False)

But that didn't work.
My pathname should be correct and blender writes exactly this. But I can't seem to be able to put an image into a plane with code.
Does anyone know what can I do about it?

Does this answer your question? I can't load an image from a script

Hello! Thank of the reply! I loaded the image into the blender. How do I then use it to change the plane image? I tried reload() and my code above, but it didn't seem to work. Console wrote bpy.data.images['1.png'], but I am not sure how do I then change the image of the plane.

You want to assign an image to a plane, is that right?
Try this:
import bpy

image = bpy.data.images.load("C:\\Path_to_image\\images.jpg")

bpy.ops.mesh.primitive_plane_add()
plane = bpy.context.object

plane.scale = (image.size[0]/100, image.size[1]/100, 1)

mat = bpy.data.materials.new("Material")
mat.use_nodes = True

tex_ = mat.node_tree.nodes.new(type='ShaderNodeTexImage')
tex_.image = image

principled_ = None
for node in mat.node_tree.nodes:
    if node.type == 'BSDF_PRINCIPLED':
        principled_ = node
        break

if not principled_:
    principled_ = mat.node_tree.nodes.new(type='ShaderNodeBsdfPrincipled')

mat.node_tree.links.new(principled_.inputs[0], tex_.outputs[0])

output_node = mat.node_tree.nodes.new(type='ShaderNodeOutputMaterial')
mat.node_tree.links.new(output_node.inputs[0], principled_.outputs[0])

plane.data.materials.append(mat)

Let me know if this is what you want to achieve, the question wasn't very clear for me.


text:
UPBGE how to replace emptys with list or dictionary
I'm trying to make an Openworld game. I have a script that turns all objects to emptys to but the ground,player and camera to save space,then use a pool to call objects to positions in the world where emptys are close enough to player and once out of range send them back to the pool.At first it works well but since emptys are still objects once it gets to 5000 the game will crash. Is there a way to efficiency look through a list or dictionary for world positions in specific range and place correct objects there? (Please help if can)

https://blenderartists.org/t/how-to-add-objects-once-in-range-from-dictionary/1422979 I found the answer to my question here.

Hi, Strawberrydshake !  Glad you got an answer! BSE answers form an archive, they can't rely on links alone, because they might break. Please add a summary of the solution here, enough for other users to benefit from.


text:
How can I tell Blender not to quit after finishing my script
So after my Python-Blender script finishes running from the command line, the command line window immediately closes..not giving me a chance to see any feedback, errors, etc. Can I make it not close? It would be super helpful if I can read the errors that my code outputs to the command line window before it closes.
Thanks in advance :)

one idea would be that you write your feedback/error to a txt file - so you can check later ;)

Open cmd and then cd to the blender installation path. Then run blender.exe or your blender script from that directory. Once you close the exe or the script finishes, your command line will still remain open. Same thing on linux and unix-based systems.

You can python input() method. I use it for
debugging Blender Python scripts both in CLI mode or GUI mode of running Blender.
print('1')
input("Press Enter to continue")
print('2')

Only catch is that it does not flush the input buffer


text:
Huge amount of noise is generated by overlapping several glass objects and de-noiser misbehave in Cycles - Blender 3.3
I am working an animation with simple particle emitter, the object has a complex glass shader to bring refraction and a bit of rgb separation.
The problem is that when the particles overlap, which is the intended idea, the noise is too high, and the denoiser can not calculate properly, as far as I understand.
I tried many solutions, tricks and I dont think any has worked. From render settings to changing types of lights and still get the same results.

Please, I would like to understand how to make a more efficient render with less noise, but also how to improve the way the de-noiser behaves.
Thank you!

Hello ! Have you tried bumping up the number of samples ? What are you rendering at ?

Hi Gorgious, yeah I tried to render with several combinations, 300, 1000, 2000 w/o denoiser, and the result is pretty much the same. So I went back to 300 and trying other settings.

You might want to explore ways to reduce noise and fireflies, there are a number of tutorials out there. For instance it seems you're using an HDRI, they produce nice lighting but at the cost of extra computation. Try with a simple sun light for example.

I checked many tutorials on how to reduce the noise before using de-noiser; adjusting light path, noise threshold, BVH, persistent data, samples, and denoising settings. Haven't found any good lead. Regarding HDRI, I am using the HDRI as visible backdrop since the rotation of the camera is 360 it helps to be visible, since the objects are transparent also is important to see whats behind.
Also throwing some light with emitters (also tried area-lights instead). Not much has helped, just an insane amount of samples but the denoiser creates a overly smooth look that I dont like.

I think it may be the glass shader I am using because is not just the basic glass, there is a white noise to help create a bit of iridescent look.

Yes looking at the last image zoomed in, it seems there is a lot of light dispersion going on, Cycles doesn't seem to like it :)


text:
How can I use a custom skin pore brush to sculpt paint much higher detail?
I am a beginner at this and have been experimenting with creating my own custom skin pore brush in Krita. I've looked up dozens of tutorials on this and I've seen people use very low image sizes for a brush (like 70x70 pixels) and the detail when sculpting in blender came out fantastic. No matter what size image for the brush I export it as, the pores come out huge.
I will then bake the high res model into a low res model.

What exactly is the question here? Do you want the pores to be smaller?

Yes, I would like the pores to be smaller when painted onto the mesh.


text:
How to attach Snake rig to curve modifer
I'd like to animate a rigged snake character, using a curve modifier. Is there a way to achieve this? Or is there an alternative option?
My aim is to make a smooth animation where the snake is flying/swirling in the sky while also being able to animate the rig.

The easiest way to do this would be to use the IK spline constraint on the bone at the end of the chain. I don't see exactly how this rig is made, so if you want to be able to deform the snake off of the curve, you might have to do some extra rigging, such as by making a chain of control bones to follow the curve, and parenting the bones that deform the snake to those.


text:
UDIM texture exported from Substance Painter to Blender
UDIM texture exported from Substance Painter to Blender is overlapping for some parts in the mesh. The UDIM UV is working in SP, so wondering what's the problem.

I just found the settings of the UDIM tiles in the image texture settings.


text:
Asking advice for a animation like the flatworm
This is the reference video: https://www.youtube.com/watch?v=5_GC5Swk0JA
Here is my model, and I want to animate the foot like the reference.
What do you think the best approach is? I tried using a vertex group displacement map but couldn't get the same effect.
Even if I change the noise size, it just doesn't look the same.

As the movement is quite sinusoidal, you can use a wave modifier.
Set a vertex group to limit its influence to the desired vertices.
In my example the default values, but you can play to tweak the effect.

Thanks for the reply @josh sanfelici
The wave deformer looked promising, so I tested it out, and moving the starting point to the X-axis and changing the mesh to a circle looked more closely to the reference.
https://www.dropbox.com/s/3jl2jot2oav0rcs/2023-04-12_08-25-10.mp4?dl=0
But I'm still not getting the twirl effect at the edge...How do you think I could do that?


text:
Cycles render artifacts that looks like strings and web
does anyone know how to get rid of these artifacts? They appear on only some of the frames and I have tested them with different samples, lighting, and shader.

@TitaniusAnglesmith It's a clean mesh with clean retopology. Other scenes seem fine so it seems like it's not a mesh problem...

Yeah no,,, because it only happens in a few random frames.

Turn off Motion blur. It has been buggy recently and lots of people are seeing these artefacts.

Yes, it's true! I turned the motion blur off and the artifacts were gone. Thanks for the tip!

Also,  "Auto-smooth" from "Object Data Properties"  off seems to work as well!


text:
Average Island Scale for multiple oblects in a scene
I want to fabricate my blender file by printing out their UV maps on card stock and fold them together.
'Average Island Scale' works on the same UV set.
But I have many objects in my scene and I want all their UV’s to be proportional to how they are in Blender world space.
Any ideas?
Thanks
~be

Can you join them? If you want to be neat, you can seperate them afterwards, take the original objects and copy the new object's UVs to the old objects. Tedious though.

Thanks @FrederikSteinmetz
Do you mean creating a new, big UV map for All the objects using Average Isle Scale and then bake to texture?

That would be best practice. However it would be easier (and saving you from creating a huge canvas) to select each object's vertices and unwrap them seperately with overlapping uvs. Then either work with multiple materials, or split them back


text:
Geometry Nodes - Image Texturing doesn't extrude in normal vector
i want to do image texturing using geometry nodes, because i want to combine it with other nodes.
The Image Texture node (second picture) doesn't produce a texture in normal direction. Does anyone know how to make texture like first picture using geometry nodes?
Thanks! :D

Texture using displacement modifier

Texture using geometry nodes "image texture"

You've plugged a UV map into the image texture... a UV map is a 2-dimensional map usually arranging the faces' X and Y dimensions. The normal of a face is pointing outwards of the face in the third dimension, not a vector that the UV map provides.

If you want to displace the mesh in normal direction, you need to provide the normal information in the nodetree. You can simply do this by adding a Normal node and plugging it into the Offset of the Set Position node. Immediately all vertices are moved outwards by 1 in normal direction.
To control how far they are moved outwards, you can scale the normals by using a Vector Math node set to Scale. And to influence the displacement by the image texture, you plug this into the Scale input. Use a Map Range, Color Ramp or Multiply node to increase or decrease the strength of the texture (I didn't use the UV Map for the texture because I didn't unwrap the object):

Further to @Gordon's answer.. you may want your displacement to be mapped in UV space (rather than the default Position, or Object space). But his point that the (Float) texture should scale (Vector) Normal, if you want the displacement to be along normals, remains the same.

At the moment you are casting what looks like a Float texture value v to a Vector 'Offset' . That will result in a displacement of (v,v,v) as on the left:

as opposed to a displacement  of v*N, on the right.


text:
Dynamic Enum Property Translation Problem
I have a problem with a dynamic enum. Strangely enough special characters are not handled there as you would imagine.
Here is a script to test. So that you don't have to create extra files, as it is the case with me, I just made a text file, where each line is an item for the enum property (So to test the script you need a text file with name text in the text editor, where the lines should contain special characters).
In the 3D window 2 enum properties are displayed under My Panel. The first enum shows special characters, the second enum, with the dynamic icons does not. I am completely at a loss. Can anyone help me?
import bpy
from bpy.props import EnumProperty

def Enum_Items(self,context):

    EnumItems = [('1','Fluegel',''),('2','Nägel',''),('3','Mönch','')]

    return EnumItems

def Dynamic_Enum(self,context):

    EnumItems = []
    Index = 0

    for i in bpy.data.texts['Text'].lines:
        Index += 1
        EnumItems.append((str(Index),i.body,''))

    return EnumItems

class MyProperties(bpy.types.PropertyGroup):

    my_enum : EnumProperty(
        name = "Enumarator / Dropdown",
        description = "sample text",
        items = Enum_Items)

    Dynamic_Enum : EnumProperty(
        name = "Enumarator_2 / Dropdown",
        description = "dynamic items",
        items = Dynamic_Enum)

class ADDONNAME_PT_main_panel(bpy.types.Panel):
    bl_label = "My Panel"
    bl_idname = "ADDONNAME_PT_main_panel"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = "Test Tab"

    def draw(self, context):
        layout = self.layout
        mytool = context.scene.my_tool

        layout.prop(mytool, "my_enum")
        layout.prop(mytool, "Dynamic_Enum")

        return {'FINISHED'}

classes = [MyProperties, ADDONNAME_PT_main_panel]

def register():
    for cls in classes:
        bpy.utils.register_class(cls)
#Props zugänglich machen
    bpy.types.Scene.my_tool = bpy.props.PointerProperty(type=MyProperties)

def unregister():
    for cls in classes:
        bpy.utils.unregister_class(cls)
#Props zugänglich machen
    del bpy.types.Scene.my_tool

if __name__ == "__main__":
    register()

Enumator with a fixed list:

Enumarator with a dynamic list:

This is what the funny characters are supposed to look like:

My problem was apparently related to this post here:

Is there a workaround for the known bug in dynamic EnumProperty?
I could not see the connection between update and translation. But it works :)  I have adjusted my script like this:
import bpy
from bpy.props import EnumProperty

def Enum_Items(self,context):

    EnumItems = [('1','Fluegel',''),('2','Nägel',''),('3','Mönch','')]

    return EnumItems

def Dynamic_Enum(context):

    Index = 0

#    Dynamic_Enum.enum_items = [((line.body, line.body, "")) for line in bpy.data.texts['Text'].lines]

    Dynamic_Enum.enum_items = []
    for line in bpy.data.texts['Text'].lines:
        Dynamic_Enum.enum_items.append((line.body, line.body,""))

#Dynamic_Enum.enum_items = []

class MyProperties(bpy.types.PropertyGroup):

    my_enum : EnumProperty(
        name = "Enumarator / Dropdown",
        description = "sample text",
        items = Enum_Items)

    Dynamic_Enum : EnumProperty(
        name = "Enumarator_2 / Dropdown",
        description = "dynamic items",
        items = lambda self, context: Dynamic_Enum.enum_items,
        )

class ADDONNAME_PT_main_panel(bpy.types.Panel):
    bl_label = "My Panel"
    bl_idname = "ADDONNAME_PT_main_panel"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = "Test Tab"

    def draw(self, context):
        layout = self.layout
        mytool = context.scene.my_tool
        Dynamic_Enum(context) # Update enum items before drawing them
        layout.prop(mytool, "my_enum",text="static")
        layout.prop(mytool, "Dynamic_Enum", text= "dynamic")

classes = [MyProperties, ADDONNAME_PT_main_panel]

def register():
    for cls in classes:
        bpy.utils.register_class(cls)
#Props zugänglich machen
    bpy.types.Scene.my_tool = bpy.props.PointerProperty(type=MyProperties)

def unregister():
    for cls in classes:
        bpy.utils.unregister_class(cls)
#Props zugänglich machen
    del bpy.types.Scene.my_tool

if __name__ == "__main__":
    register()


text:
Why is this curve automatic closed?
Why is this curve closed? I can't find out, where I can stop this behaviour.
import bpy
from mathutils import Euler, Matrix, Quaternion, Vector

if 'LIGHTNING' not in bpy.context.collection.children:

    col = bpy.data.collections.new('LIGHTNING')
    bpy.context.collection.children.link(col)

def create_lightning_Curve():
    # Create a curve-container
    lightning_curve = bpy.data.curves.new('lightning','CURVE')
    # make some settings to the container
    lightning_curve.dimensions = '3D'
    lightning_curve.resolution_u = 1
    lightning_curve.use_fill_caps = True
    lightning_curve.fill_mode = 'FULL'
    lightning_curve.bevel_depth = 0.1
    lightning_curve.bevel_resolution = 0
    # create splines (or multiple curves (= splines) in a curve-container)
    coords = [(0,0,0), (1,-1,3), (2,1,6), (3,-1,10.8592 )] ##### Point coordinates
    Bezline = lightning_curve.splines.new('BEZIER')
    Bezline.bezier_points.add(len(coords))
    for i, coord in enumerate(coords):
        x,y,z = coord
        Bezline.bezier_points[i].co = (x, y, z)

    #Create object
    obj = bpy.data.objects.new('lightning', lightning_curve)
    # Link object
    bpy.context.collection.children['LIGHTNING'].objects.link(obj)
    return obj

create_lightning_Curve()

A spline created by lightning_curve.splines.new('BEZIER') already has 1 vertex.
So when you add Bezline.bezier_points.add(len(coords)), the spline now has 5 vertices.
When looping:
for i, coord in enumerate(coords):
        x,y,z = coord
        Bezline.bezier_points[i].co = (x, y, z)

you're setting the coordinates of the 4 first and the last stays at (0, 0, 0), which makes the spline appear as closed.

Great, thank you! This clearly answered the question. But how can I make the Curve stay open? Just not going back to the first Vertex? (It's the first time I'm working with curves in bpy...)

As the spline already has 1 vertex when created, just add 3 (or Bezline.bezier_points.add(len(coords)-1)) and that should be ok.

Awesome! This is how i would it expect to behave. Thank you, lemon!


text:
Why is my brick texture fading after I bake it?

The Image size is 4096x4096 so it's not a low-quality issue.

What is it we are seeing there? In the second screenshot the material seems to be the same as in the first screenshot. So where did the baked image go, how does it look? And do I get this correctly that although the material is the same and the baked image is not used anywhere, the appearance of the tiles is different?

Hello could you please share your file? https://blend-exchange.com/

@GordonBrinkmann the second picture is the baked texture, I just hadn't clicked off of  the brick texture


text:
deformed head after rigging
this is my first Time rigging and doing weight painting and I can't figure out this issue.
in my weight paint the whole head is red but when I go to move it in pose mode its still deforming. I've tried reseting it and trying again but It is still having issues

bri, it looks like you have some other IK bones in your rigging.  Be sure that for the IK bones, you have Deform unchecked (bone properties).  Even through your weight paint for the "head FK" bone may be all red, if your other IK bone was deform set, and it is also affecting part of your character, you will get these distortions.

https://www.dropbox.com/s/drzjj4e3kwnjsay/cap.png?dl=0   best of luck to you in learning blender.

please share your file: https://blend-exchange.com/


text:
Send Spline Attribute from Geometry Nodes to Shader
I am currently trying to get into Geometry Nodes.
Right now I have a problem: In my scene there is a Curve object with 3 splines. It is important that the splines are not created in the geometry nodes, but already exist.
Now I would like to send a separate spline as attribute for shading, so that the splines can get different colors. But I just can't get this to work.
My attempt looks like this:

Can someone help me?

I am sorry but I don’t know what attribute you want that should change what value in your shader?!

First, indexes start with 0, so first spline will be #0 and #1.
Second, if you are using capture attribute, set the type to "spline" (not "point")
3rd, index in spline parameter returns indexes of points in the spline, not useful then you want to get index of spline, use Index node instead.
4th, Capture attribute should be connected to the output before curve to mesh node. In that case, you will get the indexes of spline before they will be converted to mesh.
And at last but not least, you have to make an attribute to save data:

Then you will be able to use it in shader editor.
This is a final setup:

Thanks for your help. But how can I select an index? I have now changed Capture Attributes to Spline, but I can't isolate a spline with the shading.... I thought the Math Node with Less Than would select the index under 2.

I see now, it's because capture attribute is not connected to output. Put it before convert to mesh

But when I do that, the mesh around the curve also disappears. It is also not possible to have 2 outputs.

@Andi I have updated the answer.

Yep, that's it! Thank you very much. Why the index node is used here instead of the spline parameter is a mystery to me. But I'm glad it works now.

@Andi  spline parameter gives you an index of point restarted from 0 in each spline. Using capture attribute with spline setting will give you 0 every time.


text:
Noise on a Curve with python
I would like to apply noise to a curve where this noise should behave like a noise texture does in the geometry nodes.
In this script a small noise has been added to the curve.

This is not a problem with the random module. But how can I make a noise that spreads the curve over further distances, like the blue line I painted over the curve?
Maybe it works with the noise functions from mathutils module. But I don't understand how to apply them.
Here is my script:
import bpy, random

myCurve = bpy.data.curves.new("MyCurve",'CURVE')
# make some settings to the container
myCurve.dimensions = '3D'
myCurve.resolution_u = 1
myCurve.use_fill_caps = True
myCurve.fill_mode = 'FULL'
myCurve.bevel_depth = 0.2
myCurve.bevel_resolution = 0

Spline_Coords = []
X,Y,Z = (0,0,0)

# Create Coordinates
for i in range(100):
    X = 0
    Y = 0
    X += random.uniform(0,0.4)
    Y += random.uniform(0,0.4)
    Z += 0.1

    Spline_Coords.append((X,Y,Z))

# Create Bezline
Bezline = myCurve.splines.new('BEZIER') #Create a spline (with one Point already)
Bezline.bezier_points.add(len(Spline_Coords)-1) # add Points without Coordinates (-1 to not close the curve)
for number, coord in enumerate(Spline_Coords): # give the Points the Coordinates
    x,y,z = coord
    Bezline.bezier_points[number].co = (x, y, z)

obj = bpy.data.objects.new("MyCurve", myCurve)

bpy.data.collections['Collection'].objects.link(obj)

I think you can get closer to what you want using some of the noise functions from mathutils.
for instance:
import bpy, random
from mathutils import noise, Vector

myCurve = bpy.data.curves.new("MyCurve",'CURVE')
# make some settings to the container
myCurve.dimensions = '3D'
myCurve.resolution_u = 1
myCurve.use_fill_caps = True
myCurve.fill_mode = 'FULL'
myCurve.bevel_depth = 0.2
myCurve.bevel_resolution = 0

Spline_Coords = []
X,Y,Z = (0,0,0)

# Create Coordinates
# Just added a noise.hetero_terrain, and use that
# value for the y value, I basically picked the other
# values at random from values that seemed reasonable
for i in range(100):
    Z += 0.1
    loc = Vector((X,Y,Z))
    H = 1.0
    lacunarity = 1.2
    octaves = 3
    offset = .5
    n = noise.hetero_terrain(loc, H, lacunarity, octaves, offset)
    Spline_Coords.append((X, n, Z))

# Create Bezline
Bezline = myCurve.splines.new('BEZIER') #Create a spline (with one Point already)
Bezline.bezier_points.add(len(Spline_Coords)-1) # add Points without Coordinates (-1 to not close the curve)
for number, coord in enumerate(Spline_Coords): # give the Points the Coordinates
    x,y,z = coord
    Bezline.bezier_points[number].co = (x, y, z)

obj = bpy.data.objects.new("MyCurve", myCurve)

bpy.data.collections['Collection'].objects.link(obj)

Which got this result.

Thanks for your tip!
I have now played around for about 2 hours with the various noise functions, but unfortunately the size of the noise can not be set correctly. What I want is just one or 2 random big curves.


text:
Enum Property Default Title if nothing is selected
I would like to have a default text on my dynamic enum property. For example "Choose something".
How can I do this?
When I specify a text in the panel, the text always stays there. But I would like to have "Choose something" only if nothing has been selected yet.
This is what my dynamic enum looks like:
import bpy
from bpy.props import EnumProperty

def Enum_Items(self,context):

    EnumItems = [('1','Fluegel',''),('2','Nägel',''),('3','Mönch','')]

    return EnumItems

def Dynamic_Enum(context):

    Index = 0

#    Dynamic_Enum.enum_items = [((line.body, line.body, "")) for line in bpy.data.texts['Text'].lines]

    Dynamic_Enum.enum_items = []
    for line in bpy.data.texts['Text'].lines:
        Dynamic_Enum.enum_items.append((line.body, line.body,""))

#Dynamic_Enum.enum_items = []

class MyProperties(bpy.types.PropertyGroup):

    my_enum : EnumProperty(
        name = "Enumarator / Dropdown",
        description = "sample text",
        items = Enum_Items)

    Dynamic_Enum : EnumProperty(
        name = "Enumarator_2 / Dropdown",
        description = "dynamic items",
        items = lambda self, context: Dynamic_Enum.enum_items,
        )

class ADDONNAME_PT_main_panel(bpy.types.Panel):
    bl_label = "My Panel"
    bl_idname = "ADDONNAME_PT_main_panel"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    bl_category = "Test Tab"

    def draw(self, context):
        layout = self.layout
        mytool = context.scene.my_tool
        Dynamic_Enum(context) # Update enum items before drawing them
        layout.prop(mytool, "my_enum",text="static")
        layout.prop(mytool, "Dynamic_Enum", text= "dynamic")

classes = [MyProperties, ADDONNAME_PT_main_panel]

def register():
    for cls in classes:
        bpy.utils.register_class(cls)
#Props zugänglich machen
    bpy.types.Scene.my_tool = bpy.props.PointerProperty(type=MyProperties)

def unregister():
    for cls in classes:
        bpy.utils.unregister_class(cls)
#Props zugänglich machen
    del bpy.types.Scene.my_tool

if __name__ == "__main__":
    register()

I think you're having an XY problem here and you're trying to push the EnumProperty to its limits. If you can click on an enum item, but you remove it when the enum item is picked, you will have picked the n-1 item, so it can't be done I'm afraid. But it's an interesting challenge so here's my take on it : https://gist.github.com/Gorgious56/4864c2c4eed1110b33916015faadf805

This looks good, thank you very much!


text:
What is this red Texture?
So I ripped some Models from COD MW Remastered and I want to use them in Blender.
There is this redish like transparent texture that I don't know what it's for.
The texture is referred as "rvl". I would appreciate some answers cause I can't figure out,
what it's supposed to be.
This is, what the texture looks like:

I suspect the texture isn't meant to be used as is, but is instead a pack of three different textures in each channel.
If we look at the RGB channels individually, it looks like this:

This technique is referred to as "Channel Packing" and is commonly used in video games to save memory usage.
One of the common combination is Roughness + Metallic + Ambient occlusion, though here I guess the first channel is for roughness (because of the R and how it looks), but the others don't look like metallic or AO, so I'm not sure. It could be something completely different.
Maybe you can find a modding website for that game where people already figured this out.
To learn more:
Channel Packing - polycount


text:
Add node groups with python where the user is located
I am making an add-on in which many node groups can be inserted using:
My_NodeGroup = bpy.context.object.modifiers.active.node_group.nodes.new(type='GeometryNodeGroup')

The problem is that the Node Groups can only be inserted at the top, in the Geometry Nodes.

How can I make dynamically that the node group is always inserted where the user is? So e.g. In a Node Group of a Node Group?

NodeGroup.001 is a node of type GROUP, so you can use node_tree = node.id_data which will give NodeGroup.node_tree

And how do I use it to add the node group to the correct group the user is in?

I found the solution in the node operator source code.
To insert a node where the user is located:
space = context.space_data
tree = space.edit_tree
My_NodeGroup = tree.nodes.new(type='GeometryNodeGroup')

Use node.id_data where
node = context.active_node
This will give you node_tree of the context.active_node
context.active_node is different for every node_tree, You have to select a node.
node_tree = context.active_node.id_data
node_tree.nodes.new(type='GeometryNodeGroup')

Context has no "active_node" attribute. And even if it did: Every group becomes active when you are in it. But groups can also be active when you are not in them.

Are you running in the python console?

Found the solution. Thank you, Karan.


text:
Simulation Nodes Motion Blur
Can someone explain to me why the motion blur behaves so strangely when using simulation nodes?
Even if I give the individual points their own ID, a motion blur is strangely rendered, but at the same time the instance is overlaid without a motion blur. What is this? Only blurred lines should be visible, not sharp cubes.
Does anyone understand this?
My Node Setup:

The Result:

Thanks for help!

For every frame you add new cubes to the simulation zone, via the Join Geometry node. These new cubes has no movement until the next frame.

You're right, but that doesn't matter because the cubes are added at the bottom. All the cubes shown in the picture are part of the simulation node loop and were not just added.


text:
Video Image as Plane renders differently on render farm
As seen in the images below, when my scene renders by command line on my render farm, the Image as Plane (a .mov video of a flame with Alpha transparency) renders looking red. It looks fine when rendered on my local machine as shown. I have packed the file before sending to the render farm. Both my workstation and the render farm are using 3.3.1, using cycles, and rendering using CPU. There is a point light right where the flame from the video is located. I tried changing alpha settings from Straight to Premultiplied, but that was not it. Any idea where I am going wrong?

As far as I know, video files cannot be packed. You should use a Relative Path instead, and copy the video file to your renderfarm.

Thank you so much. I was not aware of video's not being packed.

Here's what I learned for if you want to sent your blendfile with a video out from your workstation for rendering or sharing: Relative paths are the default when setting up images (and videos in my case) in the shader editor. To make things easy, when setting up a video in your scene, first put the video in the same directory as your blendfile, then choose it in the shader editor. This way, its relative path is simply the directory the blendfile is in. Then when you share the blendfile or send it to the renderfarm, you can just drop the video in the same directory as @thibsert pointed out.


text:
Scaling an animation
I'd like to scale down some selected range of frames in Blender (v 2.79). I've just select frames range in the Dope Sheet using the b key and then scaled down selection (from 1.0 to 0.5) using the s key. Unfortunately after the operation the animations "get broken" - the scaled keyframes lost their animation - the object does NOT animate when i run over the scaled frames.
How can I scale the frames range NOT to lose the animation? Is there a way to "merge" this scaled frames with the rest of animation?.
Thx for help.
PS.
I'm attaching the image of problem:

Did you select all required keyframes. (e.g. You selected all pose bones in pose mode) before scaling?

@Leander I don't know what You mean "all required keyframes" There is NO bones in the animation - I's just key-frame animation because  it was imported  from the md2 Quake file.

In this case I meant objects. 3DBear's answer describes what I suspected.

You are probably missing some keys in the selection.

Make sure the animation track (action) you want to change is selected and isn't locked in NLA window.
Go to the graph editor.
Make sure that the search bar in the left corner is empty.
Select all the objects (or bones) that keys you want to stretch.
With your cursor placed in the graph editor press (Alt H) - unhide all the channels that could have been hidden during the working process.
Then press A to select all the keys in the graph editor and press the "Home" button to frame all selected.
Now you should see all your keyframes in front of you. To scale the part safely I suggest to key all selected objects in the first and the last frame of your selected area (so if you are stretching the area from 10-th to 50-th frame, then go to frame 10, press I in your viewport. Choose Location&Rotation. Then go to frame 50 and repeat the same action). In this case your animation will be stretched evenly.

Finally, you can safely select the area that you chose to scale down, and by pressing S and then X you'll be able to scale the speed up or down.
Following these steps, you'll be sure you haven't lost some channels due to locks, filters or missing frames.


text:
How to move the Armature Original Point without moving bones?
I am a newcomer.
I made an Armature and when I have to use X-Axis Mirror I found my Armature Original Point was not in the middle. It's like this.

So how can I move it to the middle without moving other bones?
Thanks a lot!

It's not very clear, if it has nothing to do with the mesh, could you please share your armature only so that we understand what you're talking about? https://blend-exchange.giantcowfilms.com/

I don't really understand what you're trying to do, but there are some things that I don't understand in your rigging, anyway your armature is rotated, maybe it's your problem, you should first unparent the mesh in the Properties panel > Object > Relations, apply its rotation, put its origin at its center, reparent the mesh in the same panel, align it on the armature, and it seems to work better, now as I'm not sure about your x-mirror operation perhaps give more details

Thanks a lot! Don't worry too much about those details. It's the first time I do this. lol

Your armature is rotated, maybe it's your problem, you should first unparent the mesh in the Properties panel > Object > Relations, apply its rotation (CtrlA), put its origin at its center, reparent the mesh in the same panel, align it on the armature, and it seems to work better.


text:
Unwrapping not working and not giving any error message
I'm trying to apply texture to the walls of the building I got and in some faces I can unwrap images to apply the textures but in others (for example on the left side, in the bottom left face i can't unwrap the image i want to). I'm using the v2.9 of blender. I really can't understand why the unwrap doesn't work. I'm having the same issue in more figures but just showing one of them. Thanks for the help
This is the link to the blender file: https://drive.google.com/file/d/1MbmFUJm0iwbBOqAb7PMY-2Tjbl47F7JW/view?usp=sharing

All the faces appear to be unwrapped, so I don't understand what you mean by " on the left side, in the bottom left face i can't unwrap the image i want to ".
There are scaling issues and it would have helped some if you had packed your image texture into the .blend file.
You have not marked any UV Seams.
You also have two UV maps for your building so you need to tell Blender which one you want to be used by adding a UV Mapping node, See screenshot below:

The usual way of unwrapping such a building would be the following:
1: Apply the Boolean modifiers.
2: Mark UV seams.

3: UV Unwrap.

4: Edit the UV's to suit the type of texturing. In the example below the UV's have been
edited for use with seamless (tilable) textures. See this earlier post for more detailed explanation on how to do this.
How to unwrap model so its perfectly proportioned?


text:
Problem with fluid simulation, cannot generate fluids through pipe
I have set up the scene and assigned inflow, domain and obstacle(pipe volume as a shell) and liquid not generating after complete bake


text:
Why does Texture paint not work

When I try to paint, only some areas are affected and the rest just becomes one color.

You forgot to create a UVMap.

have you correctly unwrapped your mesh?


text:
How do I make this a 3d shape in blender?
I'm brand new to blender and I'm trying to make this a 3d model in blender 2.8.
I tried to warp a UV sphere and then cut it up but couldn't really get the desired results I wanted.

Without a plan view,there's no single 3D object which this corresponds to.

I would create a Curve and Spin it to create a 3D Mesh then create a UV using Project from View after setting the view to Front Orthographic. Then add the Image Texture. This assumes you do not need the stripes to be geometry.

Another way, just using proportional edit on a cylinder:
(Before subdividing vertically, select two faces, one apart, and then  CtrlShiftNumpad + add every other vertical face, to assign different materials to all, and then selection, if you want to make stripes)

(With Z up, O Proprotional Edit, connected)
SShiftZ equator selected,scale it out.
SZ 4 single vertices, front and back, top and bottom.

I don't know, it's just one of many 3D shapes your graphic could have..

Here's one approach:
I used your provided image to determine X-Z slices of 3-D space that should be transparent, and then spherically displaced a highly subdivided plane to get a 3-D shape that seemed reasonable given the image (although it is not rotationally symmetric about the Z axis, which you might be wanting).
I used two objects in my scene: a Plane at (0, -0.5, 0) and an Empty at (0,0,0) (the Empty was just used to make the Mirror modifier mirror in the intended manner without my having to reset the main object's Origin).
Here's the small modifier stack I used:

Where the displacement used this quadratic sphere texture, with Color Ramp enabled and tuned to taste (this controls how wide/tall the resulting object is):

I enforced the transparent stripes with this shader, where the input image is the jpeg you provided:

(not shown: my collapsed Principled BSDF node's Base Color was set to Black; this is why the non-transparent stripes in the image of the object are black)
I used Eevee as my Renderer, and had Blend Mode: Alpha Clip (in the Materials settings for this material) and Film: Transparent (in Render settings) enabled.
Note that this approach:

Doesn't convert the transparent strips to geometry (although you could do something similar to this with a Mask node to achieve a similar effect, and if you were to do so, that would make selecting and deleting those vertices straightforward, which would let you embed this information in the geometry)
Yields a very large number of extraneous vertices if you apply the modifier stack to convert it to raw geometry. Here is what the result looks like, after applying the modifier stack in order and viewing the object in Edit Mode, Rendered View:

You can easily select most of the undesirable vertices outside of the main, central area of the object (in case you'd like to delete them) by using Select Similar: Normal, although this isn't perfect and you'll still need to clean up some of them manually. Depending on your use case, you might also want to re-topologize the final object to simplify its geometry (it is nice in that it contains only/primarily quads, but it also has lots of vertices that occupy exactly or almost exactly the same point in space, and some of its internal vertices could be unnecessary as well, depending on your final use case).

Wow thanks for this! I'll try to follow along if I can. I'm looking at the finished product you made - is there a way to make the shape more spherical and rounded?

I think the shape could be made more spherical by truncating the input image a bit (right now only a small portion of the input image is used, which makes the quadratic sphere displacement a little awkward to apply properly), and also by playing with the Color Ramp/interpolation options used in the quadratic sphere texture for that same displacement, as well as tinkering with the displacement strength in the displacement modifier itself. I'll play around with that a bit this evening.
Let me know if you have trouble understanding anything. Happy to clarify where needed.

@NathanP Please don't add thank you as a comment, upvote the answer instead. If you feel it completely solved your problem consider marking it accepted

On revisiting this, I believe my solution is unnecessarily complex; the subdivide+displace modifier isn't needed (I had a sightly different approach in mine when I added them). Almost all of the work in my solution is being done by the shader, and that can be combined with an arbitrary underlying object. See Robin Betts' solution for a good example, or you could use any other object you prefer (a sphere, cube, Suzanne, etc). When I have more time I'll edit my solution to reflect this.


text:
Trying to bevel a design
So I have this simple piece I want to put a bevel around the outside.  I cant figure out how to get it to work.  I get how to do it on cubes and what not, but this has all these edges and lines in edit mode that it just blows up since they go in all directions.  I tried to use a modifier in regular mode but cant seem to grasp that either.

This is kind of similar I imagine to working with text objects in Blender so ill demo on that,
Your topology starts like this, Or something near this:

Go to Mesh>Clean Up>Limited Dissolve, which basically dissolves all edges based on the angle of faces they are connected to.

Thatll give you this:

You might go through and clean up your edges a little bit, just to even out a few really long triangles or what not. This step might be not necessary. Some times blender has to have an edge in one spot to figure out how to make a weird Ngon stay together. If that edge is weird try to connect other vertices Around it and then use Ctrl+X to dissolve the bad one. You should be left with this:

Then you can add your Bevel Modifier, Use these settings:
, most importantly, Setting the Bevel method to Angle, otherwise it bevels every single edge, and set the Outer Miter to Arc to smooth out the sharp corners. Set the model to Smooth Shaded, check Harden Normals on the Bevel Modifier and you get this:
Let me know if you have any other questions!

That was exactly what i need, thank you very much.  I did have to do it a little different as I was instantly taxing my system into not responding.  But after limited dissolve I was able to just select the top and bottom faces and bevel that way to get exactly what I needed.  Thank you very much!


text:
Printing parts that inlay in other parts...clearance
I will try and explain this the best way I can.
I have the letter "T", and I want to print a white letter T and have a red letter T inlaid inside of that.  How can I make the inlay smaller, without "scaling" it?  Scaling it will make it smaller, but then it wont line up.  I need to take say 2 mm off of the outside dimension of the letter.  The white letter would have a 2 mm wall around the void on top, then I can print a red T to fit inside that void.
So my question in a nut shell is this.  How can I make clearance with out using scale or change the dimensions?  I realize the dimensions will change removing the 2 mm, but that is different than changing the x and y dimensions, because that will change the whole letter.  I just want to take off 2 mm off the outside.
I cant find info, or at least I cant word my questions right to find what I am looking for.

Maybe show how your T looks like? and even share it: https://blend-exchange.giantcowfilms.com/  What you're looking for might the Shrink Fatten function (alt S)

That was exactly what I was looking for.  I guess I just wasn't wording my searches right.  I was using the letter T as an example, my part is more complex and that is why the scaling wasn't working, but I just tested the shrink/fatten and that is it.  Thanks again....

Also check the options in the operator box (bottom left of your 3d view)


text:
Solid colours with no shading
Im trying to make an image sequence of a scene with solid colours and no lighting effects. I need each object to keep its HEX value I assigned to it as I'm transferred the image to an AI. The problem I am facing is the render seems to produce a slightly different hex value which is confusing the AI.
The method I was trying was to create a scene with only emission shaders but the emission seems to darken or brighten the value.
Any solutions to assigning true HEX values to an object with no shadows/ lighting effects (almost like cell shading)
Cheers
AI colours:

Blender render (same hex value with emission shader):

are you sure the Render > Color Management > View Transform is set on Standard and not Filmic?

Thanks for the reply. Standard combined with a transparent background solved the issue. World material was changing the colours of the objects in the scene.

Standard combined with a transparent background solved the issue. World material was changing the colours of the objects in the scene


text:
Two different hex values for a solid colour
does anyone know the solution to this?
I am trying to create a solid colour image for AI but blender seems to create two hex values for the same colour. I have used the lighter blue as an example Examples below:

Cheers

How do you create this image? If it's a 3D render, the light source might be closer to one side of the image than the other.

No light sources, the world shader is set to white and strength of 1 to eliminate all shadows. The point of an image like this is to create a solid colour that the AI can read it but blender is creating two hex values for each solid colour.

likely dithering (assuming that the two colors are sampled from the image in slightly different spots)

Legend! thankyou, setting dither to 0.00 in post-processing fixed the issue. Many thanks


text:
UV orientation affects shading
I would like to follow up on a previous question about UVs affecting shading in a weird way.
I am in the process of exporting a scene to Unreal Engine 4 and stumble upon this issue as I baked the lighting :

I was thinking it was coming from Unreal since I wasn't the only one facing this issue. So I created this thread on UE4 Q&A forum.
I checked and double-checked everything until I realize that the orientation of the UV's were creating this issue.

So after I "R180"ed my UV island the shading got fixed.
My question is why ?
I should be able to orient my UV islands as I see fit without affecting shading, right ?
Is there something I forgot to check in the FBX export ? Is this related to the way Blender handles shading ?
Any idea is welcome :)
Thank you for your time.

If you use normal map it's normal.

So eventually, I found what the issue was. The texture sampler I use in Ureal was type "color" instead of "normal". Causing those weird shading errors. Still when I use a normal map inside Blender I can see the same shading effect, I might be doing something wrong in my material in my blender scene as well...


text:
Get python version
I've installed multiple Blender versions on my System an therefore have multiple python executables. How can I find out which python binary is indeed executing the script when i click Run Script in Blender embeded script editor? Is there a way to check it inside a script?

https://stackoverflow.com/questions/749711/how-to-get-the-python-exe-location-programmatically

This question shows no research effort. Sorry downvoted. Can easily be googled.

In the Scripting Workspace, there is the Python Console. It shows the current Python Version in the first line:

You can check the version by importing package “sys” and accessing “sys.version” :
import sys
print(sys.version)


text:
Blender exports GLB 1000x too large
So when I am creating Blender files (textured and animated) for Augmented Reality, since there is no proper USDZ export (as far as I understand) I have been exporting as GLB and converting them to USDZ using a variety of formats (Playground website, or Reality Composer). I work in Blender in mm (Industrial Designer) but when I export the files and reopen them in Blender they are 1000x larger.
I cannot see any export scale settings for exporting GLB. How can I ensure they come out the right size?

AFAIK Blender's unit scales are really just a display thing, they do not really change the scale of what you make. If you want to model something in mm, you should keep the default scene unit (Meter) and scale down your model so that it is the right scale in that unit display. Then, some formats and softwares have different scales than Blender, so you have to "know" them and pre-adapt your model for it. Most of the time, exporters just add a scale multiplicator to your objects, they don't actually resize the scale (they don't "Apply the scale" in Blender's terms).

I have the model the size I want it to be. Then I export as GLB, but if I open the GLB it is 1000x larger. This messes up textures and things (but movement still is the same). If there's no solution I guess there's no solution.


text:
Oil Drum Fire Overspill
Even though I have collisions turned on I seem to get overspill from the flames and smoke

I wonder if the barrel is not manifold. You could do a mesh cleanup as these guys explain: ALL3DP.

It was indeed, thank you for your help.


text:
Random Emission Value Per Face
I followed the guide here https://blender.stackexchange.com/a/255013/164211 to create random colours preach individual face. I now want to be able to control the emission strength in the same way. I tried duping the attribute and connecting to emission but it doesn't work.
Any suggestions?

Did you add it to the output attributes in the modifier panel?

No. Thank you @scurest!


text:
Shrinkwrap Effect in Geo Nodes?

I am wondering if the following is possible. I am hoping to 'shrinkwrap' the Hexagon pattern to the surface of the model. Difficulty I have is it needs to be done in a non destructive way. If you take a look at the blend file you will see that I have a combination of geo nodes and modifiers.
The hexagon pattern needs to apply after the extrusion (in geo nodes) and ideally it needs to be booleaned out of the final shape to form a grip texture.
In the blend file you will see that the current grip texture I have is using instances and works well as is. There's got to be a way to do this surely?
Thanks for reading.

This is the set of nodes, that I have used:

The trick here is to boolean before deformation. So look there is the GN nodes in the list.
This requires to add additional nodes to transfer vertex group that's required for deformations

The only difficulty with that is the topside edge of the outer paddle is resulting in  'twisting' geometry. I had already achieved this with modifiers but came across the same problem. I have shown the example here vs the original blend file.
https://www.dropbox.com/scl/fi/6i9byze0d0mkim89tx0xh/Angles.jpg?rlkey=o2pa8ve3pjuna0j0tqnevh99s&dl=0


text:
Rigid body - Fall in fron of camera / loopable
I'm doing a footage with camera flying through scene, and objects are falling from top, sticking (and moving backwards) at ground plane.
Since footage has to be about a 2-3 minutes, I'd like to render only a little portion and loop it.
I believe the easiest way would be to create some particles, convert them into objects, apply rigid body modifier to all of them, and finally bake them into keyframes.
However, I don't need them to fall all at once. I need them to fall in front of camera as far the camera move towards scene.
Even more - I'd like to loop the animation, so object distribution has to be semi-random.

Problem solved.
Initially wrong approach was chosen.
I installed a brilliant Animation Nodes addon, which did the job perfectly.


text:
eGPU Vega 56 (Blackmagic) Mac + cycles problem
Hello I just got the AMD Radeon RX Vega 56 (blackmagic eGPU Pro) yesterday
plugged it in to my brand new Mac mini (Mojave), it shows up in the menubar and as an alternative as a render engine,. My question is, can I use this eGPU for cycles renders? (Blender 2.80)
Very grateful for your responses.

This is off-topic for [blender.se], please be sure to read [tour] and [ask] before posting questions.  In response to your question, have you tried rendering with it before asking here?

You won't be able to use GPU rendering with Cycles. Apple has deprecated OpenCL for macOS 10.14 and future releases. Since macOS won't have any updates for the OpenCL compiler and therefore no bug fixes, Blender 2.80 will no longer use OpenCL on macOS. This was originally announced on the bf-committers mailing list by Sergey Sharybin. It is also documented in the manual and the release notes of Blender 2.80.

AMD OpenCL
OpenCL is supported for GPU rendering with AMD graphics cards. Blender Supports graphics cards with GCN generation 2 and above. To make sure your GPU is supported, see the list of GCN generations with the GCN generation and supported graphics cards.
AMD OpenCL GPU rendering is supported on Windows and Linux, but not on macOS.

A third-party render engine that supports the Metal API may work, for instance AMD Radeon™ ProRender.


text:
Light affect just one object of your model without using the compositor?
Is there a easy and fast way to make an area lamp for example affect just one part of your model
I got a model of a hardware with a display and I would like the display to be affected by the area light but not the hardware.

Separate lighting for different parts of an object and without the Compositor - for this effect?  Was done in 2.77 but should be equally as possible in more recent versions.
Link -
https://1drv.ms/u/s!AtkhCKZLZs_Pg21iJJHm5Rc6YJ5i?e=RmAWqD

You can do stuff like this sometimes.  It's easiest when you can isolate one type of ray to be a sort of 'sentinel' for the behavior you want to trigger, but in this case I'd say the easy and fast solution is to use two render layers and an Alpha Over in the compositor.

You could just render them separately. It may or may not take longer since you have to render twice. But since they're separate images, you can change one without affecting the other.
The first render could have just the hardware and the display with no area lamp, or just the hardware if you don't need the shadow of the display cast.
Then on the second render, just the display and the area lamp. If it helps, just put these three objects in different layers and then toggle the render icon at the right side that looks like a picture camera.
Then combine the 2 renders in the Video Sequence Editor as image/image sequence/scene/clip and so on.


text:
4K 250 frames Architectural animation Is it possible to render?
Hi I got an architectural indoor scene that I want to render 250 frames in 4K. I got the samples down to 300 with the denoiser. ( Cycles, blender 2.90 ). I tried to upload the animation to a render farm but ended up paying 200+ USD since my computer isn't good enough. If I had a Ryzen thread ripper and a rtf 3080, would I be able to render the animation sequence without a render farm and about how long would it take? Understand all scenes are different depending on allot of reasons but for a quite heavy interior scene. Unfortunately I can't share images since I signed a NDA.

Other than memory constraints (read a scene is too complex to fit into available memory), every scene should be renderable in all supported hardware. Whether it will take an acceptable amount of time or not depends on a lot of factors, like how long you deem is an acceptable amount of time to wait, how fast the hardware is, how complex the scene is, how long you are able to wait, non of which we can really assess here.

Hello :). Just to get you in a ballpark. In this BlenderGuru's video he renders 250 frames, 4K, 300 samples = 62 hours rendertime on his Dual Titan RTX.

@JachymMichal thank you for replying

If you aren't using the features that are currently missing (volumes and maybe some other things) you could try the experimental Cycles X build.  Cycles X is a massive performance increase, but it is currently incomplete.

Render farms inform you what hardware rendered your project and how much time it took. Compare that with hardware of your choice to roughly estimate how much time it would take for you. Then calculate electricity usage while rendering, multiply by the time, and together with other pros (e.g. having a better GPU for faster previews, games etc.) and cons (e.g. having the PC unavailable while rendering) decide which option is better.

Also, if you render on a render farm, you do technically share your images, but of course there's a significant difference of doing that and posting the images on public forums.


text:
Change the direction of anisotropic?
I'm working on a brushed aluminum material on a flat surface. but without the anisotropic it doesn't look right. I want the light to bend but not the way it does by just adding anisotropic in the principal shader. That would give me a radial brushed effect like on a CD I want the reflections to be stretched like in this photo example as if the aluminum was brushed in one direction.
Thankful for help.

Regardless of whether you use Principled BSDF or Anisotropic BSDF, the direction of anisotropy is set by the combination of the Tangent input and the Rotation field.  The tangent is a world-space vector perpendicular to the normal, set most easily by a tangent node; the rotation rotates the given vector around the normal.
If you use a tangent node to input a radial tangent, you'll get a radial tangent, in the object-space plane specified.  If you use a tangent node to input a UV tangent, you'll get the vector of increasing U for the UV map you specify.
You can even create an arbitrary, per-sample vector yourself, without using the tangent node.  (Notably, you can make a radial by hand that's better than the built-in radial.  But mostly nobody's going to take advantage of home-built tangents.)

If you don't specify a tangent, anisotropy defaults to a radial Z tangent.

Oh, nice.  That pesky tangent input

is the tangent node possible to use with the Principaled node?

@Rock Yes, it's exactly the same for a principled BSDF, except "rotation" is called "anisotropic rotation."


text:
Questions about cast shadows
is there a way to make the cast shadows of the sun light less dark?
Im working on an animated object that will have a cast shadow on a shite background, but right now the cast shadow is way to dark.
question 2
is there a way to use a HDRI as a light source but get rid of the cast shadows that is caused by the HDRI (lightpath maybe?)
Always grateful for your help.

just use this setup for your object. (i assume your are using cycles)
blue is your object color, on the orange bsdf you can change the alpha to change the shadow darkness.

Thank you Chris, tried this but the cast shadows are still just as dark

Ok, provide your blend file - I will show you, that this setup works

II signed a NDA for this project so unfortunately I can't share the file but I can recreate a blend file with the same situation and send

never mind, though you meant that this node setup was meant for the object that the cast shadow falls on but figured out that its the object causing the shadow that should have the node setup, thank you for your help, really appreciate it!

You are welcome. Would be nice if you check the answer as right.

absolutely, I did check the answer


text:
Camera following a flying paper
I am a noob to Blender but I decided to give it a try only recently so bear with me.
I am trying to render out a simple flying paper simulation. I have done that using soft body and collision to the pane and blew it with wind and turbulence.
Now the problem is I cant get all of its simulation with my camera. So I thought to have the camera follow it from the side as it flies by to capture the wind folds of the paper, but I just cant get it done.
I have tried parenting with empty, constraints. I have been researching on it for last 5 hours already but i just cant find the solution. Any help would be highly appreciated.

Check out this post: https://blender.stackexchange.com/questions/28621/make-camera-system-look-at-empty

The paper is moving fast due to a strong wind and it also falls off. So with this will the camera follow in both X and Y?  I will try that out and let you know. Thanks


text:
How can I make this flat object match the curved object without deforming to the point of losing its edge measurements?
I've been trying for weeks to make the flat object curved similarly to the curved object. I've tried shrink-wrap, I've tried curve modifier, have even tried cloth physics (which was closest and was fun but the edges would end up jagged and rough).
The main problem I have is the edges will elongate and deform. I realize you can't really deform an object without deforming its edges, but I want to keep edges relatively the same while getting the matching curvature/shape.

Have you tried applying a lattice to the desired object to be curved and applying the lattice with a shrink wrap modifier to the curved object? https://youtu.be/7hq92JvHq2g?si=aXrNyfiVUxsxGEQS

That is what I did earlier today I had found that same video and followed it to a T, what happens is the sides get compressed and shortened and however I move things around or scale it doesn't fix it

Maybe check the Wrap Tools addon: https://www.youtube.com/watch?v=6hVl8unmNxE https://blendermarket.com/products/wrapping-tools


text:
I don't understand why my rendering doesn't work
I did an animation in Blender. I first rendered it, it worked fine, but I wanted to do some adjustments so changed the animation. Now that I try to render it, it doesn't work.
Even if I try to render an image, it shows a new window opening, but nothing happens, like the image doesn't charge. And when I try to render my animation, it goes super quickly, and same doesn't show an image charging, it doesn't do frames by frames which is what I want, and when I open the render it's just a black image.
My render is set to Cycles, and I set up the render on png, with a file in my documents for the frames to go to. I really don't understand what's wrong.

Okay I found the problem ! so first go to compositing and check that you have a render layers, and that it's image is connected to the image of the composite. Then, if that doesn't work, go into the video sequencing panel in the compositing tab. My problem was that I had an image sequence (from my last animation) still in the video sequencing bit. Once I deleted it, my animation came out fine.


text:
bone heat weighting: failed to find solution for one or more bones
My problem is that when linking the rig to the model, it gives an error: bone heat weighting: failed to find solution for one or more bones.
I don’t know what to do with this; I’ve already deleted duplicate vertices.
If this helps somehow, the model is imported from DAZ 3d in .obj format, I would really appreciate it if someone could help me with this

could you please share your file?

@moonboots, sure
https://drive.google.com/file/d/1aXukhvxAchbYZ5Dz0SiCYCXFBV1oTbBt/view?usp=drive_link

Have a look through the 'Related' questions in the column to the right of your question and see if any of the answers there help.

@Дарк that link is requesting access so we can't download the file.

@JohnEason I'm so sorry... How can I upload a file here? This is my first time here and I don’t know yet, haha..

read the instructions here: https://blend-exchange.com/ or use another platform like workupload

@moonboots
https://workupload.com/file/Kc7JMwqcQFd
Done, thanks!

could you please share the blend file instead (with the armature)?

@moonboots
Yes, Although this was not necessary, since when trying to create even a homemade simple skeleton, the same error appears.
The only thing that happens is that the rig gets attached to the clothes, although I didn’t even select them or add parent with automatic weights
https://workupload.com/file/5QC2fBPBn7K

@Mr-A If you have a different question please open a new post. Don't edit your posts into a completely different question, otherwise the comments, answers and linked questions people post will no longer apply, and it will make no sense for someone trying to read it.

The mesh you're trying to auto-weight is too dense and has extra geometry like hair and teeth.
Typically, in this situation, a simplified version of the mesh is weighted, and the weights are transferred to the high-poly version and to the extra geometry (and optionally refined a bit).
The solution I propose involves:

Extracting just the body mesh which means the extra meshes won't be considered in the first pass auto-weighting step.

Decimating the extracted body mesh. This will make it light enough for auto-weighting to succeed.

Auto-weighting the resulting mesh.

Manually refining the weights to get better deformations.

Transferring the weights to the original mesh and extra meshes.

I doubt that it will be possible to animate using the high-poly mesh in Blender. Maybe the decimated mesh will be useful for this too.

Sounds... Quite complicated, how can this be fixed?
Need to do a retopology?

The mesh is just too dense to auto-weight. You can probably manually paint the weights, but it's going to be too heavy to work with. As I suggested in my answer, I think the best approach is to extract the body geometry and decimate it. I don't think retopology is necessary, since the geometry is just sub-divided. The subdivision can be undone with the decimate modifier as mentioned in my answer. Once you auto-weight the unsubdivided version, you can transfer the weights to the original and to the other geometries.

It sounds quite complicated, can you somehow explain in more detail about extracting geometry and deleting it? I don't understand it well enough yet... :)

@Дарк I expanded my explanation and added GIFs to help illustrate the steps. I hope this helps. I still didn't show everything... Rigging is quite technical and time-consuming.

Thanks! I will try and figure it out further, you best!

Аnd I didn’t plan to animate this model, it’s too complicated for that, just making image renderings, that’s my thing :)

You're welcome!


text:
Render from multiple cameras switching automatically
I've pre-set a bunch of cameras in my scene for a short animation.
When I setup the different cameras.  I set markers, with  M in my timeline, then after using Ctrl +  0, with Ctrl +  B I was able to set to my active camera switch as I desired.
I have like 9 cameras, and when I press  Space in my viewport, the sequence uses the camera's properly. It changes exactly how it should. But when it comes render time, there are no camera changes and it's stuck in one camera angle for the whole animation.
Why are my cameras not switching and rendering out as they should be?
For reference I used the tutorial 'Cutting Between Multiple Cameras - Blender Tutorial' (from 24 Jan 2019) that can be found on youtube. I'm also running blender 3.0.
I guess I can just render each camera angle out separately but I'd love to know how to use this function properly.

You should be able to 1) select a camera in the outliner. 2) go to a frame in the timeline. 3) type M CTRL+B to cause the animation to switch to that camera on that frame.  The timeline should then show the dotted line for a marker, a camera icon, and the name of the camera.  This should carry through to the animation.  Can you paste an image of your timeline, or better yet add a simple blend file that shows the problem to your question? (How to add a blend file)

Thanks for your reply! A few hours after playing with the settings. I saved rebooted blender and now it seems to work. I triple checked all the marks and dotted lines and it's now rendering as it should be.
I did end up redoing all the marks, M with control+0 and then control+b. Thanks for the help.


text:
Round edged-curved mesh from CAD-Program
How can I round this curved mesh?
I tried to subdivide the faces, didnt work.
Bevel also didnt work.
I dont know how to do it. Anyone has a tipp for me?
The model was created in Fusion360 and imported as a .stl file.
Kind regards

You could try mesh/clean up/ limited dissolve with a low max angle to un-triangulate the faces, then bevel should work.

@francoisgibon I tried it, but it doesn't work. I beveled it, I also had a lot more faces but the object was edged as before.... I don't know. I un-tringulated it as well.

You can smooth the model by going to Mesh -> shade smooth in Object mode or selecting faces in Edit mode and choosing Face -> shade smooth.
However, as others have pointed out, you seem to have some redundant edges (edges that do not change the shape of the model). Even if they change the shape slightly, it is not noticeable. You can remove every other edge by selecting the edge ring (select an edge, hold CTRL + ALT, and select a parallel edge) and choosing Select
 -> Checker Deselect. I think which edges are deselected is based on the active edge (the last edge you select), so if you would prefer the compliment edges were deselected, undo and shift-select any edge in the edge ring you want to be deselected before running it again. When you have the edges you want to delete selected...delete them.
Fun fact: changing the settings for Checker Deselect will allow you to deselect every Nth edge, N being whatever number you like; third edge, fourth edge, etc.


text:
How to keep vertices from snapping to to wrong-side of mesh when retopologizing?
I've got a mesh that I'm retopologizing as a practice-run to get used to the motions, having followed the method described in this video by FlippedNormals.  Using 2.8, and settings are as follows:

Everything is working as-expected, except that when I try to extrude down the length of the arm.

Everything looks fine until I rotate the viewport and see that...

The vertices on the far-side of the retopology are snapping to points closest to the front, relative to the viewport at the time of extrusion.
Is there a way to keep this from happening, and instead just have them snap to the expected-surface of the mesh?  I'm not adverse to the idea of getting 2.79 and nabbing retopoflow should that indeed be the only/ideal solution, but I would definitely prefer to try and keep everything consolidated to 2.8
Thank you very-much, in advance!

I guess you must not try to snap the vertices when they are on the other side of the object, maybe turn off transparency if it helps


text:
Cloth Simulation Getting Eaten By Mesh
So I'm making a model for animation, and I wanted it to have some clothes that are all flowy. I modeled the body and one piece of clothing so far, and it looks fine barring one glaring issue:
https://cdn.discordapp.com/attachments/507298799169830941/645122008480219144/blend.mp4
This happens.
I've tried increasing quality steps and the thickness of the collider.
Increasing quality has no effect outside slowing the program down and increasing the thickness of the body just makes it worse.
I've tried smoothing the collider, smoothing the body, doing both and adding more verts and smoothing them again, and no matter what, the cloth wants to get eaten by the body.
I've also tried to use another 3rd party cloth solution and it behaves the same way so I figure I must be doing something terribly wrong. If someone could point me in the right direction on this I'd be very grateful.

Can you share your blend file?

Sure, here ya go https://mega.nz/#!VDQmkAAS!3587dMs7VxeCnByhm2_BBpVTU3OdhmpdLVqAJD_Dm7c

https://cdn.discordapp.com/attachments/507298799169830941/645340508301819925/blend2.mp4 After a good deal of testing this is where I am. All objects are using default settings. It only breaks on my mesh and I don't know why.

Alright so after around 8 hours of trying to figure this out, I've done it but I don't know why.
The normals apparently got screwed up at some point. I had to recalculate the inside, and then the outside, and flip the normals after that.
And now it works perfectly.
I don't know why this works, but I'm thankful that it does.


text:
Boolean and Geo Nodes Causing Problems
As you will see from the screenshot and the blend file I am having difficulty with the 'screw holes' The one on the left is overlaid on original geometry and booleans fine. The one on the right is geo node generated geometry and doesn't work. What have I missed either in the nodes or the model?
Blend File

(Using Blender 3.6.5)
The Reflect node is changing only the X coordinate, and (-X,Y,Z) is not direct. As a consequence, the inside is now the outside. To check that, select Face Orientation in Viewport Overlays. To solve that, just insert a Flip Faces node after the reflection.

Thanks for the tip. Can't believe I didn't think of checking my normals :)


text:
Limiting the Instances on point to +z (the topside of the model)

I am using a series of modifiers and the solidify creates instances on both sides of the model when I only want to limit it to 'top side'

normal - separate xyZ - greater than: 0 (or maybe 0.1 to also avoid spawning on almost vertical faces that are slightly tilted up) - use that as selection.

I may be misunderstanding your issue, so excuse me if so.  However, I believe the best route to take would be to use the extrude mesh node within geometry nodes instead of a seperate modifier.  The direction can be determined with the normal of the faces to give a similar effect to the solidify modifier.  The extrude mesh node will give a selection output for the top and sides, which you can use to drive the selection of your instance on points node.

Hi Ian, that worked perfectly - thank you! The only issue I have with it is that the 'underside' is now not solid.
https://www.dropbox.com/scl/fi/aqvzoav8oktt3lh71sky2/Nodes-1.jpg?rlkey=n6b9o68wy109qgz0ydjxi0g9s&dl=0

Yes, that is an easy fix I should have mentioned in my first comment.  All you need to do is take the original geometry before the extrusion, and plug that into a "Join Geometry" node along with the extruded output.  Then from the "Join Geometry" node you can use "Merge By Distance" to make the object solid again.


text:
Wobbly Glass Artifact in Render
AMD 6700XT. I don't know what happened to my render, trying to figure out, I use standard BSDF Glass material. It is denoising problem or what?

Most likely denoising artifacts. Either pump up the samples or remove denoising in your render

@Gorgious wah, thanks for helping. Make my render to 4096 samples then the artifact gone, but significantly increase the render time. Must be patient then.


text:
Creating an arm skeleton with more than 3 bones with Rigify
For some reason I'm trying to create a skeleton for a model with an arm made of 5 bones with Rigify, but Rigify is throwing an error message that there can't be more than 3 bones for an arm. 2 bones are supposed to behave like a normal bone, as if there is no joint between them, i.e. 2 bones + 2 bones + 1 bone. is there a way to convert this to Rigify without reducing the bone count?

The reason is, Rigify works using premade modules it can recognize and generate a rig from. You can customize the modules with whatever options given by Rigify, but you can't make up your modules (not without programming them into Rigify).
Rigify — Blender Manual
If your goal is to have each section of an arm to be made out of two deform bones, know that this is already the case by default:
If you select the top-level bone of a chain in Pose Mode, you can see the Rigify Type and its settings. By selecting one of the upper_arm, you can see that it is preset to generate two "segments" :

The resulting rig will have two bones in the arm and forearm:

You can find many other options as such, as well as different Rigify Types that might better suit your needs.
Limbs - limbs.arm — Blender Manual
If you want to do something for which Rigify doesn't provide a module, I.E. an arm with two elbows, you can't do it out of the box. You would need to learn some Python and add your own modules to Rigify programmatically.

thanks for your comment. Is it possible to assign X and Z rotation to one of these two bones (segments) and Y rotation to the other? so my goal is to make different weight paint for "XZ" and "Y" rotations.


text:
How to create rim light effect with compositor?
The video in the link shows rim light effect and a few related nodes, but I couldn't figure out how to create it. How can I create such an effect using Compositor?
https://x.com/homspau/status/1817637789493862534

I don't see any magic trick : mask the area and shade it. It's either you doing it manually in compositing, or in lighting automatically.

@Lutzi can you show how to do it manually in compositing like in the video?

That's just a mask and change the color to achieve the look you seek. Old but still relevant I think : https://blender.stackexchange.com/questions/1167/best-practices-for-masking-image-layers-for-compositing

@Lutzi this does not answer my question

Then what's the issue exactly ? How to create a mask ? How to animate it ? How to use it in compositor ? How to change the color towards a bright orange ? Something else ?

@Lutzi I don't think the rim light effect in the video has anything to do with 2D masks, if you think so, please make the effect in the video using a 2D mask and rotate the rim light effect by changing only 1 parameter

I agree, this isn't done in compositing in my opinion. I don't understand why you would do that in compositing, it would be a pain. Maybe someone has a better idea than masks.

@Lutzi The link says it is done in Blender's 4.3 "multipass viewport compositor", so it is done in compositing. The problem is, the video only shows it is done with a custom nodegroup called "Normal Mask" where it seems you can set a rotation angle for the rim light. But how it is done exactly and if it is something that necessarily has to be done in 4.3 is not clear. At least I cannot see any explanations or comments on that (but maybe just because I'm no registered user there).

@GordonBrinkmann I don't think the fact he/she uses compositing means that the rim light is purely done in compositing. Maybe the rim light is rendered in its own layer, in this case there is not much compositing in the process, it's done by lighting. I don't know.


text:
Is it possible to get a callback when the selection changes in the graph editor?
Is it possible to get a callback in Python when the selection changes in the graph editor?
I need to synchronize a custom property with the coordinate of the selected point in the graph editor, and every time the selection changes I need to synchronize the custom property again.


text:
Missing Texture Color
This may be a bit OCD from me, but whenever I see people mention the pink missing textures I yell magenta (and get strange looks from my family). I have looked in the manual, but can not find any reference to the color. There also does not seem to be a preference to change the default missing texture color. Finally I have also tried to get it from a Blender output itself, but this depends on the lighting/settings etc.
Does anyone know how to get the actual RGB values for the missing textures, ignoring lights, shadows etc? I need to know if I am a crazy or just crazy smart.

Hello :).You're right, it really is pure Magenta (rgb:255,0,255). Just plug the image texture node directly into the material output. And set color management to Standard to see it.

Thank you very much @JachymMichal - I wouls have accepted this as an answer if I could as I was not aware of that feature.

The color, that is used when a texture is not found, is defined by four macros in texture.h. The color is magenta with full alpha (no transparency).
#define TEX_IMAGE_MISSING_R 1
#define TEX_IMAGE_MISSING_G 0
#define TEX_IMAGE_MISSING_B 1
#define TEX_IMAGE_MISSING_A 1

Code is licensed under Apache 2.0
The macros are used whenever image data isn't available, e.g. in ImageManager::device_load_image() image.cpp when the loading of an image failed or in PointDensityTextureNode::compile() shader_nodes.cpp when no texture has been selected in the Image Texture node.

I changed the rgb values, but to no effect. Is there something else I've got to do?

@FatalBulletHit You have to compile Blender as described in the wiki.

ah, was hoping it'd read the file on every launch or so, thanks for the info! :)


text:
Manual value with a driver
I want to add a driver to the rotation of a bone in pose mode, but I also want to use that rotation manually. In other words, I want the rotation to be calculated by summing the manual value and the value from the driver.
Because I want to control that bone both with the data coming from the driver and manually at the same time, and as a result, I want the sum of the two to be calculated. Is something like this possible?

simple answer: no. the rotation is either controlled by driver or manually...but...what you could do, is use a custom property as your "manual" rotation. And then use that custom property in your driver to add it.

Thanks for your answer! @Chris I understand what you mean. What if I add 3 custom properties(x, y, z) for a rotation, can I control these custom properties by pressing the r(rotation shortcut) key? Is there a way to do this?

@Chris, but yes, it is possible. Why not?

@MartynasŽiemys: uhm...you just answered what i commented....so what is the problem? and no, also with "our" solution, you cannot manually change the rotation by "normally" changing rotation with mouse or values - that's all i said.

@gfytrbbbaa: with a script - for sure you can do that

@Chris. I am sorry, lack of sleep maybe. "no" is where I stopped reading. :D

@MartynasŽiemys: ok...then go sleeping... ;)

Just add a custom property to the driver and then you can adjust it:

Or you could add rotation of another object like an empty. The empty could even have parent constraint for location so it would move with the controlled object:

Thanks for your answer! What if I add 3 custom properties(x, y, z) for a rotation, can I control these custom properties by pressing the r(rotation shortcut) key? Is there a way to do this?

You could add another object at the origin of the controlled one and add its rotation.

Martynas Žiemys I think you mean to create a fake bone for each bone I will use driver, rotate that fake bone manually and load its transform into the driver? I will try this. Thanks

I'll update the answer. Doesn't have to be a bone, can be anything.

Not sure if this is exactly what you need, but there is a "Delta Rotation" section in the Object Properties. You could Copy as New Driver this value and paste the Driver into the general Z Rotation and change the Driver Type to Scripted Expression.
From there, you can add more input variables to calculate to rotational sum. In this example, the Delta-Z-Rotation is added to the current frame count (divided by 100 for slower rotation):

The result is a steady rotation that can be manually accellerated or decelerated (even so much that it changes the spin direction).
Obviously, these manual modifications can be keyframed or even driven.
But there's a downside: The Delta Transform can (afaik) not be accessed by the R shortcut.
Here's the file; press play and drag the Delta Transform > Rotation Z slider:

Thanks! I guess 'delta transform' was something that could fix the problem, but delta transform is only available for objects, there is no delta transform for 'pose bones'. If it was available, I could add a driver to the delta transform and use the original transform manually and the problem would be solved.

Oh, I see! Have to admit that I didn't check that. It's a pity that bones have no delta transform. I hope you can do it with the solution Martynas Žiemys provided.


text:
Blender magnification calculation?
I have a very simple scene:

A 100 x 100 mm (h) rectangular plate at the origin
A spotlight on the target
A camera looking directly at the target. The camera is placed 1000 mm away from the target (d), uses f = 50 mm lenses and the sensor size is (2452, 2056) pixels, or (8.4594, 7.0932) mm, with the physical size of individual pixels of 3.45 x 3.45 µm^2 (pix).

I calculated the expected size of the object in the rendered image as:

Magnification: M = f / (d - f) = 0.053
Size of the object: o = h * M / h = 1525 pixels

When I rendered the image and measured the size of the object using ImageJ it turns out it is around 1450 pixels wide - so about 5% off from what I expected.
Could you help me find the error? Is my calculation off? Or is the rendering engine not following this simple pinhole model? I'm using cycles without any distortions.
Many thanks

I figured it out. It seems that the pinhole formulas work if you assume that the distance to the object (d) is in fact augmented by the focal length:
d := d + f (as if the pinhole was pushed back from the camera physical position by distance of f)
In my case then the equations read:
M = f / (d + f - f) = 50 / 1000 = 0.05
o = h * M / pix_size = 100 * 0.05 / 0.00345 = 1450
Which is what I measured empirically