text:
How to activate pose mode?
Downloaded a rigged model and want to move the bones. How do I enter the pose mode?

Select the Armature in Object Mode and switch to Pose Mode by pressing  Ctrl + Tab [0]
[0] https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/Bones


text:
Fluid not baked from script but only from gui
While baking from GUI perfectly works, I have no animation if baked using the script below.

What else could I try?
sudo blender --background fluid.blend --python bake.py
cat bake.py
import bpy

for scene in bpy.data.scenes:
    for object in scene.objects:
        for modifier in object.modifiers:
            if modifier.type == 'FLUID':
                if modifier.fluid_type == 'DOMAIN':
                    print("Baking fluid")
                    object.select_set(True)
                    bpy.context.view_layer.objects.active = object
                    bpy.ops.fluid.bake_data()
            elif modifier.type == 'CLOTH':
                print("Baking cloth")
                override = {'scene': scene, 'active_object': object, 'point_cache': modifier.point_cache}
                bpy.ops.ptcache.free_bake(override)
                bpy.ops.ptcache.bake(override, bake=True)
            elif modifier.type == 'PARTICLE_SYSTEM':
                print("Baking particles")
                override = {'scene': scene, 'active_object': object, 'point_cache': modifier.particle_system.point_cache}
                bpy.ops.ptcache.free_bake(override)
                bpy.ops.ptcache.bake(override, bake=True)
bpy.ops.wm.save_mainfile()

Log:
Blender 2.92.0 (hash 02948a2cab44 built 2021-04-25 11:39:34)
Read prefs: /root/.config/blender/2.92/config/userpref.blend
Read blend: /home/user/tmp/fluid.blend
Baking fluid
Info: Fluid: Bake Data complete! (0.32)
Baking particles
Info: Saved "fluid.blend"
Info: Saved "fluid.blend"

this works for me:
if modifier.type == 'FLUID':
    if modifier.fluid_type == 'DOMAIN':
                    print("baking fluid %s %s"%(modifier.type, object.name))
                    override = {'scene': scene, 'active_object': object, 'point_cache': modifier.domain_settings.point_cache}
                    bpy.ops.ptcache.free_bake_all()
                    bpy.ops.ptcache.bake_all(bake=True)

source: Stack Exchange

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

sort: votes


text:
How to extract a value from the gui in python?
I'm trying to print that value (9%) on the commandline. How can I identify the progressbar's objectname?

maybe this helps you... https://devtalk.blender.org/t/how-to-get-progres-info-from-ops-object-bake/9628/4

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


text:
How to invert gloss on a procedural texture?
How can I make the upper layer/exposed part glossy. Currently I have the
opposite, the lower part/holes is glossy, while the more exposed outer part is
rough.
What I want:

What I have:

I suppose it's glossy because it starts melting sooner.

In your node setup, the roughness (a.k.a. glossiness) comes from a color ramp:

So the simplest solution seems to be replacing black with white and white with black on that color ramp. At least if you properly diagnose your problem as being the opposite to what you want - because inverting those colors will invert the roughness.


text:
Face extrusion only working in one direction?
I need to get a solid object by extruding the face down the Z-axis their normals.

Select object in object mode
Hit Tab to edit mode
Hit a
Hit e

However, extrude only produces a solid mesh up the Z axis

but only a hollow thing toward my wanted direction (down Z axis)?

For a start you've got almost 96000 overlapping vertices in that mesh, presumably produced by Zbrush! In edit mode, select all and then M > Merge by Distance to clean up the mesh. Then do your extruding, select all again and ALT -N > Flip Normals to ensure they're pointing outwards.

@JohnEason: how do you know the number of overlapping vertices!?

Calculated by looking at the number of verts in the bottom right of the status bar before (96384)  and after (497) merging them and doing a rough subtraction!


text:
How to preview texture nodes by hovering?
How does he achieve seeing the texture by only hovering over each node? https://youtu.be/5TcBWJva9aE?t=144

Hello :). It's just clever video editing, not a real Blender feature.

It's relatively expensive compared to other addons but you may be interested in https://blendermarket.com/products/node-preview

@Gorgious I stand corrected, looks really cool :))

@JachymMichal Hopefully this will be fully integrated at some point in the future :)

It seems to me to be an expensive and real-estate-intrusive way of doing Node Wrangler's Ctrl-Shift-Click.


text:
Is it possible to create a concave light?
I need a concave light that can create sharp shadows, I've created a sketch to illustrate what I mean:

This light should be like the inside of a sphere, like a dome that casts light inward. I hope to use this in the Eevee engine. Is this possible?

As far as I know, there is no such lamp in Blender. The hemi lamp was kinda similar to what you describe but it has been suppressed since 2.8. In cycles you could use a mesh to light your scene this way but mesh lighting doesn't work in EEVEE.

A sketchy way I would solve this issue would be to make many light beams arranged in order, in a concave manner. The result will achieve what you want since a singular point on the lamp can only affect another single point on the object, as opposed to if all points on the lamp were normal lights affecting the whole object and giving it a smooth shadow. I struggled to word that, but I think you understand.

I wouldn't count that as an answer since it would be very laggy, and I don't even know if it's achievable in Blender.

You can surely create any shape of light with simple mesh and emission shader for Cycles or use a few area lights positioned around even for EEVEE, but concave light will still give you soft shadows. Hard shadows appear when the light source is small or far away or the light rays are parallel(as much as possible) like for example sunlight gives sharp shadows because sun is so far away light rays are almost parallel when they reach Earth.
Concave:

Small Point Light(it's actually a small sphere, not a point):

Sun Light:

You could have 2 sun lights to get this:

As you can see there are 3 types of shadows here: one from each light and the one where both shadows overlap. Once you have any area that emits light, you start having infinite number of shadows like this for every point on that area so they become soft.

Martynas, area lights in cycles also have a Beam Shape option that should work for this

As mentioned in https://blender.stackexchange.com/a/287559/156877, extended emitters do not produce sharp shadows. This is because every point on the surface emits light in all directions, resulting in soft shadows.
One way to achieve this could be to use a reflective concave shape that is illuminated by a distant light source, like a sunlight. Unfortunately, this will not work in Eevee.
However, this will also result in your object being lit from the front, which is not what you intended.
Here are two possible workarounds:

Using a lightblocker:

Have your object in position.
Place your concave shape behind it, but higher than desired.
Illuminate the concave shape with a distant light, placed even higher. You should see that your subject is properly lit.
Now place an aperture in front of the object from below (far enough out of sight) to cut off the directional light that would hit the object in front. If done correctly, directional light will pass over the aperture, be reflected by the curved object and redirected onto the object.
This will result in a sharp shadow.

Use Light-Baking:
I'm not perfectly sure about this, but it should work. You will not need any lightblocking apertures as you switch the distant sun of after the baking. Here is a detailled description:

Place your concave shape in position, without the object you want to be lit.
Set up the lighting with the distant sun to achieve the desired lighting.
Bake the lighting: Go to the Render tab in the Properties panel, and under the Bake section, select "Combined" as the bake mode. Click the "Bake" button to start the baking process. This will calculate the lighting information in your scene and bake it onto the object.
Now apply the baked texture: Once the baking is complete, go to the Materials tab in the Properties panel for the original object, and create a new material. Add a texture to the material and select the baked texture you just created as the texture source. Set the texture's mapping to "UV" and adjust the UV coordinates as needed to align the texture with the object's geometry.
Now you should be able to switch of the sun. Place your Object in position, and have fun.

Keep in mind that this approach will only work for static scenes where the lighting doesn't change.

This is not really fully correct. Light reflection doesn't just work in Blender. It is caustics so it needs to be enabled first and it is quite expensive for rendering. It will slow things down a lot. I doubt this is going to be a practical solution. it is only for Cycles as well.

The shadows are still going to be soft in any case since light would be coming from multiple directions. What he wants is not what happens in reality and render engines are not meant for this.

Light travels in a straight line - that's the real issue preventing the desired result here. That's physics.

@MartynasŽiemys you could imagine some kind of laser-like (but wider) collimated beam source (these do exist, imperfectly, in reality), then curved/focused as OP wishes. It does indeed seem like blender/cycles doesn't support it very well

So what? See the end of my answer. Each light direction casts a shadow and then they overlap. After reflection by any curved area there will be a range of directions of light and that will cast a range of shadows so to speak so the shadows become soft. It doesn't matter what the directions are, just that they are different.

@MartynasŽiemys no, if you (ideally) focus the rays of a collimated beam they will all be converging to a point with no overlapping rays, so there cannot be partial shadows. With two sun lights you have rays going to different points so it is not the same.


text:
How to access Edge Groups in Geometry Nodes?
I've been looking for a way to use edge groups in Geometry Nodes. Currently in Blender 3.6 the crease and sharp edge properties are accessible. Being able to access these two has been really useful, but it would be even better if bevel edge, freestyle edge and seams would also be available as edge groups in GN.
I found a bit of code in this post and I've tried to apply it, but it doesn't seem to do anything at all. This post is only 7 months old so I'm assuming that the answer is not outdated and there is something I'm doing wrong on my end. I'm a scripting nooblet so that seems pretty likely.
Any help would be appreciated!

You could bevel the edges first, then use geonodes to compare before and after bevel to detect which edges had bevel weight assigned. It's harder to figure out the amount of the weight…

@MarkusvonBroady If I understand it right that would work, but being able to access the edge data directly would be more convenient.

but it works...

if you are a python beginner - you should write that in your question. We cannot know what your experience is.
if you are a geometry nodes beginner - you should write that in your question. We cannot know...

Assuming you are both of it because a) your python code cannot work that way and b) your geometry nodes modifier wasn't adapted...

you have to call a function so that it works. you just defined two functions, but they won't call themselves. You have to do that.
so add
apply_freestyle_attribute()

at the end of the text file, then run it.
Then you can go to your geometry nodes modifier and change it:

result:

Ah I see, thank you! I'm inexperienced with Python. I've spent some time with GN though. The file I provided is my test file, I should have specified that in my question.


text:
Making fur soft at tips? It is coming out as bristly
I rarely use the particle system, but I am trying to replicate this type of fur in Blender 3.2. However, the fur no longer fades into a soft and fluffy end like this Blender 2.79 particle system does... it only turns out coarse and harsh. I have played with many settings, yet none seem to do the trick. It may be a simple solution, but I have no idea... any help?
(I am using Cycles as well)
          <-- This is the type of fur I would like to achieve
   <-- This is what comes out when I render in 3.2
I am aware the file is designed for an older version of Blender, but I bet there is a way to reproduce the fur in the newer versions

Looks like Children -> Clumping is set to 1 and should be closer to 0

as Allen says, I suppose that you need to play a bit with the Children > Clumping and Roughness values


text:
Solidifier and Subdivision Mod behave weird
I want to do a model of a guitar. I need to smoothen the edges and thicken everything, but for some reason the modifiers behave weird. The Subdivision Mod should work on the whole body, but it only works on the sides and the solidifier also only works on some parts.

 If somone wants to look at the model, here you go

You have overlapping vertices, it cuts off your object and therefore divides the effect of the Subdivision Surface modifier, select all and press M > Merge by Distance:


text:
Instance a Procedural Amount of Curve Lines which Start and End Point that is Set by Multiple Points possibly using index
I have this rows of points called "start' and "end". From the "start" group I want to instance a Curve Line whose start point uses index 1 and another Curve Line who uses index 2 and so on with the other Curve Line that will be instanced on this group. After this Curve Lines are instanced on the "start" group, I want its End points to be located on the points of the "end" group.
My problem in here is I can do that but with only one Curve Line. I want to make sure I can create limitless amount of Curve Lines which start and end points are located to this limitless amount of "start" and "end" points.
Image 1: Me struggling to connect a curve line to this points procedurally

Image 2: nodes

Why are you actually asking the same question twice in different ways? You could have edited your original question as well: https://blender.stackexchange.com/questions/269888/

sorry about that. I had thought that I should make a question detached from the other one.

That's OK, but the people working on answering the questions here are trying to keep the information compact. Basically, this question is just a variation of your original problem, but technically identical. If the questions are tweaked so long that a really clear answer can be given, it will increase the usefulness for visitors who have similar problems. Maybe it would be good if you try to specify your question again, so that we can really help you to answer it specifically.

It depends a bit on how it's most convenient for you to sort the indexing, I think.. but here's an example, assuming your groups of start and end points are independently indexed 0-N..

The curves are instanced on the start points, and their instance-indices captured
After being Realized, the Endpoint Selection of the curves is moved to the 'end' group of points, keyed by the captured instance-index.

it perfectly works. thank you

it broke when I put a cut in the center of the mesh

the vertex group is doing weird stuff

this seems to be a problem with blender


text:
Downgrade to what version to cover most tutorials?
I'm following a tutorial[0] to create scratches. I'm using 2.92 while the tutorial is 2.8 and I'm stopped due to differentiating node settings already at the beginning e.g. voronoi. Since I have to follow a tutorial for every single click, what version is recommended to get me covered utmost?
[0] https://youtu.be/-KO_qkM93q8?t=12

Just don't. I suggest to stick with the latest blender version and try to understand how to do it in the upgraded version. You can ask as many question as you want here on the site and giving you advice on how the nodes were changed it's a simple task.

They changed between 2.80 and 2.81 so I guess the video was done in 2.80, From the same author who did your video, see this. Agree with Carlo on not downgrading!

if you don't wanna search for every difference in blender, just search for a newer tutorial...there are thousands of them out there

Something funny just for completeness:  When You Update Blender... (Old Procedural Texture Transfer) also from Royal Skies LLC


text:
Minimal python script renders nothing without any error
Does anybody see why I'm not getting any image rendered?
# /tmp/blender/blender_mini_example.py
import bpy
import time
import os
dir_path = os.path.dirname(os.path.realpath(__file__))
filename = str(int(time.time())) + '.render' + '.png'
# Add a cube
bpy.ops.mesh.primitive_cube_add(location=(-3, 0, 0))
# Render
bpy.context.scene.render.filepath = filename
# Print directory path and filename
print(dir_path+"/"+filename)

cd /tmp/blender
sudo prime-run blender --background --python blender_mini_example.py --verbose -1
echo "Count of png in $(pwd): $(ls *.png | wc -l)"

------------------Load-----------------
/tmp/blender/1628351080.render.png
Blender 2.93.2 (hash 1eb06de2607a built 2021-08-04 15:17:57)
Read prefs: /root/.config/blender/2.93/config/userpref.blend

Blender quit
Count of png in /tmp/blender: 0

Found it: bpy.ops.render.render(write_still=True) was missing after bpy.context.scene.render.filepath = filename


text:
Resume interrupted bake in python
Given an interrupted (not paused) bpy.ops.fluid.bake_data(). What python command resumes the bake similar to pause/bake in GUI?
https://docs.blender.org/api/current/bpy.ops.fluid.html


text:
Start bezier curve animation (turntable) from negative frame
I have a liquid domain baked in frame 0-50. I've added a turntable animation which I want to end with the liquid animation. I've set Allow negative frames in animation settings. However I can't enter my desired -200 negative start frame, it remains 0. Neither do I have any keyframes I could move in the dopesheet as suggested in some answers.

you cannot add a negative start frame here:

But you can enter a negative start frame in your fluid simulation:

But of course you have to do that before you bake your animation.
But what you can do, instead of baking your simulation again, you can just move your turntable animation to your desired place by selecting your turntable, go in the timetable, tap A to select all and then move your animation as you want it - even to negative frames.

Thank you. I don't have anything to select nor move in the timetable https://i.imgur.com/ARx4nRp.png

So how do you animate your turntable? With shape keys?

Add a curve (select circle), select camera, shift+select path, ctrl p, follow path


text:
Is it possible to bake physics parallel on multiple blender instances?
Example

cpu with 8 cores
animation with 16 frames
one fluid physics domain

It takes 32 seconds to bake the fluid physics cache frames 0 to 16
Can I decrease the baking time to 16 seconds by baking frame 0-7 on one
instance and frame 8-16 on another?

No, this doesn't work. To make calculation in 8-16 frames, you have to get the results of calculation 0-7 frames as input or, shall we say, starting point. To calculate frame 8 you should have the result of frame 7; to calculate frame 7 you should have frame 6 calculated and so on down to first frame.


text:
How to select a parent collection in 3d viewport?
Example: ALT + G on objects beneath each other, offers me to select one by displaying it's name.
Is there a similar function for collections? In particular I need to select parent collections from the 3d Viewport
e.g.

ParentCollection

ChildCollection
ChildCollection_2

I need Shift + G > Collection but for the parent collection

Why not just do it in the outliner?

There is a Collection Manager Addon shipped with Blender but disabled by default which you can select collections in several ways. (Addons > Interface > Collection Manager)


text:
How to create a laser in Cycles using the sun and nodes (by following a youtube tutorial)?
I'm trying to reproduce this tutorial's top comment. However I'm failing on the very first paragraph:

If you set the light to "sun", the laser should be a real laser. I mean, the sunlight in blender is parallel, independently from the sun's position

Point light works:

Sun light per instruction:

HDRI: https://polyhaven.com/a/aircraft_workshop_01

I don't think a sun lamp will work. The comment is right as far as it goes, the Sun lamp rays are parallel to each other. But the rays aren't limited to a narrow beam, so they will illuminate everything, not just the section you want to appear as the laser path.

Tut doesnt use sun light, only point light ... comment is probably just theoretical thought, if you read all comments there is no one confirming functionality. Sun is not working for me too.

Marty. Vklidu. I'm taking this opportunity to thank both of you for your endless patience in the last years. Happy new year.

Happy New Year @jjk


text:
Sew button/object to cloth simulation
How do I put a button or pin an object into a cloth simulation? I'm trying to create a clothing that needs many buttons but I don't know how to do that(sew the buttons to the cloth).

Select your button object, shift select your cloth object, switch to Edit mode, select 3 vertices of your cloth (or one vertex), press CtrlP > Make Vertex Parent, the button will follow the cloth when the simulation will happen:

it works. thanks


text:
IK Limit Rotation not working when using pole
The IK Limit works fine when the not using a pole, but when you add a pole object the limit of the bone stops working.
file: https://filebin.net/t4b8spnk9vuarpp9

Yes, that's correct, and it's a known issue.  What's the question?

Why does it not work with poles?


text:
How do I make a cloth simulation animate on 2s(or 3s, and just simulations generally)
I have this cloth simulation and I want to animate it on 2s but there are no keyframes. I just want to use the NLA track and put a stepped modifier for the cloth simulation so I can animate it on 2s or 3s but I don't know how or if it's even possible.

You could convert it to shapekeys, if you look into the Cloth modifier, instead of Apply there's a Save as Shapekey, so you could create several shapekeys and keyframe them

I've considered that as a solution but it isn't really efficient

you can increase the speed of the simulation but I suppose that it's not what you want

Why do you need that? Isn't it like you should change file's frame rate to 12 (or 8 for 3s) instead? Thanks for more info.

@vklidu I have to save the output as images. I don't think it is possible or even effecient.

@moonboots it kinda works but it's a bit time consuming but not as much as shapekeys. I'll use it as a temporary solution until someone knows how to do it properly.

@SaiKei ??? it is even more unclear what is your goal now, sorry.

@vklidu my goal is to be able to hold frames like in 2d animation.

You need objects animate in 8fps style, but output render in higher fps (like 24fps), right? I'm asking because there is not direct way for cloth sim. And you are looking for workaround, so it is a good to know what are your limits. Cloth sim stores positions of each vertex per frame as a special set of data (not keyframes). In some cases I used Alembic format, but I'm not sure if there is something for you ...

@vklidu 12 fps actually. But it sucks there isn't much way to hold frames for the cloth simulation.

I'll just a wait a few more days to see if someone comes up with a better solution.


text:
Grab cloth simulation like in Marvelous Designer
Is it possible to grab a cloth sim like in Marvelous Designer? If it's not possible is there an addon or a workaround?

https://twitter.com/JoseConseco3/status/1152681565404745728 or https://youtu.be/jNXBYI-WPU4?t=165 had this feature, but I'm not sure if any of this is for 3.x version ...

In Sculpt mode there is a Cloth brush and it has a grab mode (options) -- or you can use the Pin group with an Empty object as shown in the video. This requires no addon.

@Blunder Ha ... I thought it is more for wrinkles, but it really grabs in cloth style entire object ... only collision with other objects works weird for me, but probably my wrong setup. Thanks anyway for reminder :)


text:
How do I make the handle of the kettle?
My goal is to simply make the handle of the kettle:

If I have to be specific then the handle should have both ends equal in size and perfectly is put into the model.
I have thought and tried of two solutions but all of them failed.:

Extrude faces from the top head of the kettle and the bottom face of the kettle (consider it as a face with it's part containing the text "Dowell") and then right click and click bridge edges with me using loop cuts to make it have a curve.

Problem:
This does not give both ends equal in size as one will be larger (bottom face of the kettle) and the smaller one (top head kettle face).

Create a cylinder cut it in half and then snap it to the kettle with it also being curved by loop cuts.

Problem: It also does not give both ends of the handle equal in size with an added part of what face to snap it into.
An idea, suggestion or an answer can help, thanks.

Plenty of YT videos showing how to model cup handles on the web. Just scale up or down the loops at the top and/or bottom of the handle to match the size in the image. For instance this part of the infamous donut tutorial (2.8 version).

The best is probably to draw an edge along the shape, then extrud inwards to get something like this:

Then extrude:

We don't have any other view so it's hard to know what are the thickness but you'll probably need to scale some parts:

Then bevel the edges, etc:


text:
how to animate concert crowd in blender without animating each individual person?
what would be the best way to do this. im am using make human to make rigged 3d models for the crowd. its going to be focused on the crowd so it needs to look good up close. Right now i am thinking the best way to go through each person and animate them with keyframes but maybe there is a easier way? i want them to move like a crowd at the concert. They are going to be very close to each other

Not for close up, but: https://www.youtube.com/watch?v=xWq-ZPMhai8

i seen that before. thats not gonna work for what im doing. mine is up close and i dont want them to all do the same animation.


text:
How to mask out a object in motion tracked shot to put people behind things?

I want to put the girl behind the cup. How can i mask the foot of the girl? This is a motion tracked shot that moves so it doesn't just stay still.

i figured out the answer. what you need to do is build the object you want to mask and then put it as in the background group and it will work

you don't have to have more geometry, you can crate masks: read https://blender.stackexchange.com/a/183108/92768 or https://blender.stackexchange.com/questions/117572/how-to-put-a-mask-into-3d-space


text:
How can i add smoke to my particles?
i added a quick smoke to all of my particles but theres no smoke on the particles. Why? Ive been trying different ways for 4 days and cant figure it out. I made all the quick smokes have replay cache. and i make my particle system have "whole collection

First, select an object and add quick smoke. Now go to the physics tab of the flow object
-> settings -> Flow source -> change flow source from mesh to particle system then choose your particle system
1> Add particle system

2> change flow source

3> bake all under cache

if you found it useful, please hit the tick mark beside the answer to help others facing the same issue.


text:
How can I randomise a texture that is being used in a displacement modifier?
I am trying to create a stop motion look using a displacement modifier that subtly alters the object each frame, but I cannot find a way to simply randomise the seed of the voronoi texture. I feel like I am missing something obvious, as I cannot even locate a way to edit the texture aside from in the properties tab.
Is there a way to randomise a generated texture that isn't being used in a material?

https://blender.stackexchange.com/questions/49199/water-ripples-waves-on-the-surface-of-an-object/49216#49216

As Duarte recommends, you can use an empty as Coordinates in your Displace modifier, if you move, rotate and scale this empty it will move the Voronoi, it's not exactly like the W value of the Noise Texture, but you can come pretty close to this effect, as if the texture was evolving randomly


text:
Render very dim 2.81 and 2.83.5
The emission shaders in the view port cycles render look the way I want them but when I try to bake textures or render, the shaders are very dim. I can see that the emission is there for the light from the right and also the filament when I render near the bulb, but it's extremely dim. The model is to scale, so it's not a problem caused by over sizing. I have tried adjusting the render exposure which does not help. The light source is a world hdri image shining through a space to the right of the lamp and then the lamp light is from a filament-shaped mesh inside a lightbulb mesh. There are no problems with rendered objects in the scene being out of place or in front of the light, but for some reason the light is very dim. I have no idea how to change this so that it matches the 3D view port cycles render. Any guesses at my problem are appreciated.

It almost looks as if mesh lights are disabled. Maybe check the light bounces for certain materials?

Resolved:  I had a sphere that I was using to map different parts of the hdri on that I completely forgot about and was outside all my collections. I'm not sure why it also made the lightbulb dim at the same time... You would think that it would only make the hdri dim. I have never done that to myself before. here is a pic of the render now working.


text:
Can't get clothing to sit right on VRM after loading into VSeeFace
So i'm really new to blender, i thought i'd attempt to make a halloween costume for a VRM i use for vtubing and i got the springbones working and all the things, but when i load it i cannot get the fabric to not stick to my sides in a really shape disrupting way. i have tried quite a few things, but nothing seems to work. i assume it's weights or something but i have no idea how to fix it. where can i start?

Hi. Have you used automatic weights or have weight painted it manually? First image, is this the rest pose? If you have the character in a T-pose then the cloth should b also in a T-pose.

no, i can check to see if i can figure out automatic weights!

I think i did put automatic weights on it but i'll see if i can figure out how to check, the weight on it is all blue so there's no weight on it? i dont know. it's all a bit overwhelming lol

I ended up having to set a rest pose and then adjusting it thank you so much that worked exactly how i wanted!!! whew


text:
Dope Sheet Action Editor turned orange. I think I've changed a setting somewhere on accident, how can I undo it?
If you open a new blender file and open the Action Editor in the Dope Sheet, it looks like this:
Nice and clean, empty, and gray. In this new file, changing the End frame of the Timeline also sets the Frame Range End under Output Properties, and vice versa.
I was animating my character and was stashing each finished animation (or pushing under a new NLA track). I only recently learned you could do this and am still not entirely sure how it works. My dope sheet was acting completely as expected, until I accidentally hit something and my track turned orange:

I'd like to be clear I'm talking about the dark orange background, not the orange of the selected keyframes.
This dark orange background persists regardless of what animation, object, bone, or action I have selected. I can even make an entirely new action and nothing changes. The only changes in functionality I have noticed are that now, I have to set both the Frame Range End and the End Frame manually to match. Also, suddenly no keyframes show up on the Timeline unless I uncheck the "Only Show Keyframes from Selected Channels" setting. Having to constantly switch between menus and being forced to work with all keyframes all at once has really slowed me down and it's driving me up the wall.
Does anyone know what I did on accident? I would really love to revert it so I can work more intuitively again.

what you see is the preview range. Press alt p to reset it, and p to set it.

Thank you! I couldn't for the life of me find this anywhere. I'm guessing the keyframe issues are just from lack of understanding how to stash animations, now that I've looked at my project again.

i had the same problems very often in the beginning: i just "tried" out some keys - but as beginner that's a real problem, because you accidentally do then something, which you don't know what it is. And nearly all keys do "something" in Blender. So you should only press keys you know ;)

Definitely agree-- I never press any keys on purpose I don't know, but my hands are pretty clumsy and it happens sometimes anyway! I'm glad I could find an answer!


text:
How do I get the Transparent Background to appear transparent, not black using emission shaders?

I am attempting to use a png but I want it to light up. I've accomplished this however the transparent background is showing up black. How do I correct this?

I'm not sure what your Light Path is for but if you want transparency mix your current setup with a Transparent node and use the Alpha output of your image as factor in the Mix Shader:

PERFECT! Thank you!


text:
How to remove mesh from fluid

I want it to be seen completely as a particle, but there's even a white mesh.
How to get rid of that white wave from the setup?

I don't know why you accepted the answer since this could not be the solution. Your question is lacking a lot of information - is that white "wave" the initial Flow object or is it the resulting fluid mesh of the domain? For the latter, see my answer. For the Flow object: just disable visibility in render and/or viewport if you don't want to see it.

A fluid simulation is supposed to be creating a fluid mesh which can be rendered afterwards - this will be showing in renders using the material which is on the domain object. And if there is no material, it will show the default (almost) white surface.
If you do not want to display the fluid mesh (to show particles like in your example) you could disable Mesh in the domain settings - but then the complete bounding box of the domain will be shown with whatever material you put on it. But disabling it will save you simulation time if you really do not need the mesh.
So to get rid of the domain in render, you have to give it a material with a simple Transparent BSDF set to fully white, which makes it completely invisible for the camera.
Fluid domain with Mesh enabled and no (or default) material:

Fluid domain with Mesh disabled (no matter if it was simulated or not) shows domain's bounding box in render:

Fluid domain with a completely transparent (= invisible) material - no matter if Mesh is enabled or disabled:

Oh, it must have been checked by mistake
As you said, I disabled the mesh and pressed bake and it worked!
There was a misunderstanding because I am not good at English, but thank you so much

I think you just untick this mesh box in the domain if I am reading this correctly.

Actually when you disable Mesh in the domain, the domain will be rendered as its complete bounding box which surely is not desired here. I do not know why this is the accepted answer though... even my answer will not help as I just realized, because I think what is rendered white there in the question is the Flow object which initiated the fluid, not the domain/fluid mesh...


text:
Shader script nodes have no parameters
I am trying to do my first OSL shader script. No matter what I do, even when using all the examples, when I add a node for my shader none of the parameters show up as node inputs/outputs as I have read they should.
What am I doing wrong, why don't they show up? (Blender 2.8)
shader noise(
    float Time = 1.0,
    point Point = P,
    output float Cell = 0.0,
    output color Perlin = 0.8,
    output color UPerlin = 0.8,
    output color Simplex = 0.8,
    output color USimplex = 0.8)
{

Blender has a few oddities, including:

Script need to be reloaded/refreshed when changed/loading via the little double-arrow button in the node block next to the filename. Use that when/if loading/changing.
If there are ANY errors or oddities in your script (at least in Blender 2.8) - this will result in your node not changing to reflect the current script it's pointing at. i.e. It won't give you an error, but when changing the node block from one script to another - it simply wont change. (Button above can help your diagnose errors)
FYI - If not shades to not actually work - make sure you are not using GPU rendering. OSL works with CPU rendering, only. In addition - make sure "open shading language" is checked below the CPU option (in the Scene property under "Render Engine").


text:
Is variable mean crease achievable?
Is there a way to define edges with variable mean creases?  Well, more like crease values associated with vertices instead of edges, which would make an edge have variable crease values, e.g. if one of its vertex would have 1.0 while the other 0.0 crease values, then the edge would fade away towards the latter.
If such feature does not exist, is there anything that's close to this other than duplicating the given edges and model this manually?

I don't think this is possible by weigthing the vertices, but you can assign different weights to edges and the Bevel Modifier will create a decreasing bevel. But you still have to do all manually...
To achieve this, you have set the Width Type to Percent and the Limit Method to Weight (of course, since you want to weight the edges).
In the following example I've got a cuboid separated in 4 segments. I'm beveling one border edge of the cuboid from 1.0 (full bevel) to 0.01 (0 doesn't work very well and gives ugly results). To do this, the first edge gets a bevel weight of 1.0, and the last one 0.01 - now the two edges between them are the "mediating" edges between 1 and (pretended) 0, so they both get the average value 0.5 as they are the middle part. The result looks like this (I've left the segment at 1 so that the bevel is clearly visible):

Here is another example. This time the cuboid is cut in 6 segments. Still the first edge gets 1.0 and the last one 0.01 as bevel weight, but the middle section will again be paired - the two edges next to the 0.01 edge get 1/3 = 0.333, the other two close to the 1.0 edge get 2/3 = 0.667 as weight.

So the principle is, to get a more or less smooth fading of the bevel: if the part to be beveled consists of 2 × n edges, the weights should be paired except for the first and last edge:
0.01
1/n
1/n
2/n
2/n
...
(n-1)/n
1.0
I haven't found a good principle if you have an odd number of edges. But of course you can vary the weights if you don't want/need a perfect smooth linear fade between the first and last edge. Actually that is one of the best reasons to have more segments to adjust (if it's not determined by an already existing mesh in the first place).
So to just have a smooth, even fade from one side to the other you need just two edge: one with a bevel weight of 1.0 and the other with 0.01, this way it's a linear interpolation from one end to the other:


text:
how to divide one window into two windows
I'm having difficulty dividing a window into two parts vertically. I know how to divide it horizontally but I cannot do it vertically.
What difference is there between the two?

Do you mean window as in the blender window?

Yes Lukas, like the tag indicates!

Oh you meant divide a area in the user interface, to have an additional editor? This is why proper explanation and proper tags are important. I totally misunderstood, I though you were trying to model a 3D window as in a building or something. Tags edited

To divide the window vertically click the upper right corner and drag downward with the mouse.  The direction the mouse moves after you start the click and drag determines which way the window divides.
Dragging to the right breaks the window horizontally, dragging downward breaks the window vertically.

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


text:
ModuleNotFoundError: No module named 'encodings'
Must I upgrade the system's python from 3.7 to 3.9.9 or is it something else?
blender -b -E CYCLES -f 1
Color management: using fallback mode for management
Color management: Error could not find role data role.
Blender 3.0.0 (hash f1cca3055776 built 2021-12-03 00:34:54)
BLT_lang_init: 'locale' data path for translations not found, continuing
Color management: scene view "Filmic" not found, setting default "Standard".
blf_load_font_default: 'fonts' data path not found for 'droidsans.ttf', will not be able to display text
blf_load_font_default: 'fonts' data path not found for 'bmonofont-i18n.ttf', will not be able to display text
blf_load_font_default: 'fonts' data path not found for 'bmonofont-i18n.ttf', will not be able to display text
Python path configuration:
  PYTHONHOME = (not set)
  PYTHONPATH = '/usr/lib/python3.7'
  program name = '/usr/local/bin/blender'
  isolated = 0
  environment = 1
  user site = 0
  import site = 1
  sys._base_executable = '/usr/bin/python'
  sys.base_prefix = '/home/sybren/buildbot-builder/linux_glibc217_x86_64_cmake/build_deps/deps/Release/python'
  sys.base_exec_prefix = '/home/sybren/buildbot-builder/linux_glibc217_x86_64_cmake/build_deps/deps/Release/python'
  sys.platlibdir = 'lib'
  sys.executable = '/usr/bin/python'
  sys.prefix = '/home/sybren/buildbot-builder/linux_glibc217_x86_64_cmake/build_deps/deps/Release/python'
  sys.exec_prefix = '/home/sybren/buildbot-builder/linux_glibc217_x86_64_cmake/build_deps/deps/Release/python'
  sys.path = [
    '/usr/lib/python3.7',
    '/home/sybren/buildbot-builder/linux_glibc217_x86_64_cmake/build_deps/deps/Release/python/lib/python39.zip',
    '/home/sybren/buildbot-builder/linux_glibc217_x86_64_cmake/build_deps/deps/Release/python/lib/python3.9',
    '/home/sybren/buildbot-builder/linux_glibc217_x86_64_cmake/build_deps/deps/Release/python/lib/lib-dynload',
  ]
Internal error initializing Python!
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'

Current thread 0x00007f6f5cb0f200 (most recent call first):
<no Python frame>

You need at least python V3.9 for Blender 2.93+

Will gladly marks as answer. Yet, the problems ensue upon installing V.3.9

Unlucky git pull?
I ran into this compiling Blender 3.1.
strace ./bin/blender

showed me that it was looking for python3.10 but there was no python3.10 found here:
cd build_linux_full
ls bin/3.1/python/bin/

but there is here:
ls ../lib/linux_centos7_x86_64/python/bin

I must've done my update at the wrong time?  I went back up to cd ../blender and did a make update and built again and the problem was solved...  now I've got Blender 3.2 with python 3.10 found here:
ls bin/3.2/python/bin/


text:
What does "Saving: time" stand for in the the finished command line render?
Using blender from the command line e.g. blender -b I see Time: 02:11.63 (Saving: 00:00.52)at the finished output.
What for is this part: (Saving: 00:00.52)?

I assume it is the time to write the render result to disk, but --cycles-print-stats should give you a more detailed readout.

That would make perfect sense, and thus is not so.  It's not at all related to the disk i/o time.

The value is printed by the function do_write_image_or_movie that you can find in pipeline.c
There are no comments indicating what it should be, but it is the time it takes to print the "Time:..." part of the message plus the time it takes to execute any callbacks.
(I think that's a bug, but that's what it's actually printing.)


text:
How to set Temporary Files to a relative path?
The backup files are only stored if I replace Temporary files path // with e.g. /blenderFileLocation/. Otherwise I get permission denied errors. Any ideas where to start searching the cause?

The double slash implies "relative to the blend file".  Until the first time you save the blend file, Blender treats that as "the current working directory" -- meaning the directory you were in when you started Blender.  After you save the blend file it becomes the directory you wrote the blend fire to.
If you are getting permission denied errors, it usually means that you don't have write access to the directory you're working in.  This is often because you invoked Blender through an icon and the OS has set up Blender's installation directory as the current working directory.
So, either always save the blend file before you start changing it or do as you're doing and set a preference for the save directory.  There's a good reason to always save first: if you use external files, like image files, and are using relative paths, then Blender won't know what the relative path is if you open the image file before you have saved your blend file.


text:
How to modify each current's material of a twirl
I need to change this:

to this:

The twirled tunnel was sophistically crafted
from multiple properties, now I need to apply a unique coloured marshmallow material to each current (will reduce to 5 currents)
File download:

This might answer the question. https://blender.stackexchange.com/questions/200469/randomized-color-with-array-modifier Instead of setting a UV offset of 1, set a very low amount so each subsequent array item gets a different color after the White Noise node

You can use a ColorRamp to create the pattern.
The Modulo and Divide nodes control the number of Color segments (5 in this example).
Note: You can only use up to 10 segments (you're limited by the Array modifier).


text:
Blender freezes / hangs when importing FBX exported from Rokoko Studio
I am currently trying to import an FBX that has been exported from Rokoko Studio into Blender for retargeting purposes.
The FBX exported from Rokoko Studio opens just fine in Autodesk MotionBuilder, trying to import it to Blender v2.81 or v2.90 (Alpha) causes Blender to freeze and upon clicking into the application window, Windows to tell me that the application does not respond.
I tried changing the exporter to use a different FBX version (2011, 2012, 2013, 2014 & 2016), but no matter what, Blender is unable to import it. Due to the freeze, nothing is being written to the Debug Log and importing the Unreal Mannequin FBX works just fine, so I would assume there is something wrong with the files.
But, what could it be? And is this something I can fix or is it up to Rokoko to change the way their exporter works? In a video from August 2019 they show importing a FBX into Blender 2.8, so I would have assumed there hasn't been much that has changed.
I have uploaded a couple exported files here: Download via TinyUpload
Is there something wrong with the FBX that Rokoko produces?

do other, arbitrary .fbxs exhibit the same behavior?

@Kirbinator No, they do not.

This is caused by the way Blender imports FBX animations. It's extremely unoptimized which can cause long and complex animations (like motion capture ones) to take hours to import. You should use the BVH format with the HumanIK skeleton in the exporter options of Rokoko Studio to export your animation. This format can be imported into Blender quickly without any issues.


text:
transparent outside and opaque inside
I have an element in my model, which is, when exported e.g. to DAE or obj, turns "inside out"
However, within blender itself this element is rendered absolutely ok, both Eevee and Cycles:

What am i doing wrong?

It must be a problem of flipped normals, some softwares only display the normal side of the face. select your object and in Edit mode press ShiftN.

Thank you so much! It has worked perfectly. Is there a similarly easy way to make all faces "double-sided"?

I'm not sure there's any way, I guess you need to make sure your normals are flipped the right way in Blender


text:
Rendered texture is still black after connecting alpha channel to BSDF
I've created a texture that is just a pure black square on a plane, and I connected the alpha channel to the alpha input on Principled BSDF like this answer suggests: My rendered image is still showing black after applying alpha clip and using an alpha
However, the rendered image is still black (except for the red line I drew on it). What am I doing wrong?

Hard to say from given info. I suppose you checked UVmap that is correct. How looks your texture (you described, but not totally clear for me. What is the left yellow line? ... if no one - share your file, delete all except the issued object https://blend-exchange.com

Texture image is literally a black square. The UV map is correct as I can texture draw on the plane. Left yellow line is just other parts of my scene. Only the black square is relevant to my question

I found the issue -- the black is NOT corresponding with 0 alpha, it is a black RGB value. To get transparency I needed to select the Erase Alpha paint mode on my texture.

sure ... if you plan use the black as alpha you have to plug Texture's Color socket to BSDF's Alpha socket.


text:
Simulation not rendering
i was making an blast for a clip animation, but the explosion in not working, besides that the explosion in not visible in the render mode .
This is the image of the render mode

This is the Solid

Which engine are you using?

eevee engine is what i am using

I think the shader node setup is not correct. You can use this node setup for the smoke domain.. I think you will get the desired result. You have to tweak with some variables in the node setup.


text:
Filmic Blender and filmic Log
i watched the blender guru filmic blender video and then i tried to play with color management , but i found that the filmic log color space is already there in the blender , so is this the same color space as he is talking about in the video - https://www.youtube.com/watch?v=m9AT7H4GGrA , although u tried to install the space from github but failed

If you keep watching the tutorial, Andrew did mention that it is included in newer Blender and no need for the addon.

write that as an awnsere

If you keep watching the tutorial, Andrew did mention that it is included in newer Blender and no need for the addon.
And also in the video description:

The Filmic addon is no longer required and will actually potentially cause some compatibility issues with other addons.
Filmic is now included with Blender by default and can be configured via the color management panel.

Are there significant differences between Filmic shipped with Blender and its development version?

@brockmann Didn't know that information. Should this question mark as duplicate?


text:
how to simulate a fluid (not falling)
so i watched a flip fluid simulation and tried it , but its nothing special , the only thing i think folks download it is to get a fluid dropping , which should technically be possible by the default manta flow features in blender , the question is how?? , i tried to look in the flow settings for the starting of the flow , but cant figure out , i was trying to just make water show up from the inflow object for just 1 frame but cant find the way to do it

The 'Use Flow' property of the inflow object can be used to enable/disable the flow. For 'Inflow' this controls the generation of fluid and for 'Outflow' objects this controls the removal of fluid from the simulation. 'Use Flow' can be keyframed so to just add fluid on one frame simply keyframe it 'off' until that frame, keyframe it 'on' for that frame and then 'off' on the following frame.
Note that you may need to re-bake the simulation to see the effect of your changes.

i just didnt have the information about that feature , tq

If you don't want gravity inside your simulation, it is very easy. Inside the physics properties of the domain, scroll down to the bottom at "Field Weights" and drag Gravity to zero.


text:
When I import an .obj file from a Euro Truck Sim 2 mod into Blender 2.83 the model has random geometry clipping through the truck
I've imported an .obj file of someone's custom Euro Truck Sim 2 model into Blender 2.83. However when I import the .obj file it's coming out looking odd with random chunks clipping trough the truck, along with a random plane beneath the truck.
Here is a link to the truck I'm trying to import : https://gamemodels.ru/files/file/5175-daf-xf-euro-6/
And below is an image of how the truck is coming out once imported.

Maybe different level of detail models on top of each other?

This theory makes sense to me. Do you have idea how I can alter between the different level of details as opposed to having them all enabled at once?


text:
Opacity control based on front/back arrangement
I would like to have a long, thin object that zig-zags across the surface. Thin object would go behind another object at one location, and then in front of another object at another location. "Behind" and "in front" is relative to the camera view.
I was wondering if I could control the opacity of the thin object based on whether it's behind another object or not. The other two objects are semi-transparent (Principled BSDF alpha control), so I would like to reduce the opacity of the thin object when it's behind the other object.
I hope it's not an issue if I don't provide a model because I don't have any idea on where to start with the shaders, etc. I'd appreciate any info or guidance.


text:
Hair particles offset from the object and grouping
I'm trying to model simple thin tentacle-like structures by using hair particles system instead of sculpting them manually. My best attempt is shown in the image below (red long thingies on the left).
I've been playing with the particle system settings so far and there are two things I cannot figure out how to do:

Bring the tentacles closer to the emitting object, so there is no gap.
Avoid them running in pairs and make them spread out or bloom randomly.

A couple of important notes:

I will have a lot of these objects so I'm keeping them fairly low-poly. Tentacles should grow from a small area. So what I'm doing is just subdivide a very small part of the surface and then emit particles from those subdivided vertices. I'm not sure if this affects the distance issue, but even if does I am unable to figure out how to change it.
In order to apply kink or braid effects I have to enable children (either simple or interpolated). This is bunching up together a lot of hair and I need only individual strands. So I'm setting both display and render amount to 1. Still, as you can see on the image, pairs of hairs will form. Is there a way to "break" them up somehow and make them diverge away from each other? Not sure if this is possible to do with children.

Anyhow, thank you in advice for any guidance.

Could you upload the blender file so we can better see what's going on?  Thanks.

Also, if you're going to have a bunch of them, and you're not going to look at one individual very closely, it's probably good enough.  Even at the size that it is in the picture without opening it in full screen, it looks fine.  So unless you're like me and can't stand knowing that it's not perfectly accurate, it's probably good enough.

You can also try changing the radius to make the children hairs more spread out.  Also, you shouldn't need to subdivide any of the blob.  You can just have multiple hairs coming out of one or a few face(s).

Hi @ElliotThomas. Thank you for the reply. My apologies but I deleted the file the moment I posted the question (it was called tmp.blend!). I managed to fix it by changing children from Simple to Interpolated - perhaps this can help others too. As for the suggestion to use a face to emit hair, it worked like a charm. Thanks!


text:
Is there a way to use bpy.ops.render.opengl(write_still=True) in a loop?
I'm rotating an object in Object Mode using a script and I'd like to capture a snapshot after each rotation. I'm currently trying to do it with Viewport Render Image but the write_still set to True overwrites the same file, which makes sense. I'm unable to figure out how to increment through the filenames that should be assigned to different snapshots. Does anyone have any idea on how to achieve this?
Thank you in advance.

One way is to not set write_still to True.  Rather, use the fact that bpy.ops.render.opengl creates an image named 'Render Result' and save that image.  Here's code to do that:
import bpy
from pathlib import Path

p = Path('PATH_TO_OUTPUT_FOLDER')

for seq in range(0,MAX_FRAMES):
    # Your code to rotate the object goes here
    bpy.ops.render.opengl()
    image = bpy.data.images['Render Result']
    image_name = 'PREFIX_STRING' + format(seq, '03d') + '.png'
    filename = str(p / image_name)
    image.save_render(filename)

where obviously you have to replace PATH_TO_OUTPUT_FOLDER, MAX_FRAMES, and PREFIX_STRING appropriately.
Not so obviously, you do have to replace '.png' with the correct extension for the file format you've set in output and you have to insert your code to rotate the object.


text:
Mutlires Modifier Unwantedly Increasing Detail?
(Blender Alpha 2.90)
I have been working on a full dwarf character model and for some reason all the multirez data
that I have been saving is now suddenly "enchanced"? All the details on the character are now way more defined plus the general mass of of it has been "inflated" somehow? Its not fully a bad change since it has increadsed some of my deatails, but I am just super confused as to why and how this happene, since when I last worked on it I wasnt even sculpting and was working on a belt so I didnt even touch the mesh that had the multires modifier on it. The mesh wasnt even selectable so if I were to guess it might be something wrong with the modifier itself.
If anyone has experienced something similar I would really like to know so I can prevent it in the future or atleast just know what even happened. I have attached some images of what I am talking about with the first being the "before" and the last being the "after".
Any input would be appriciated.


text:
Join NLA actions from multiple objects
I have 4 animations (one of each leg and arm of my lego man).  I want to be able to loop these animations multiple times throughout the scene to make the man walk.
Currently in the NLA Editor it has a separate track and action for each object (so 4 actions).   This is a bit of pain as every time i want to add another walk loop i have to duplicate all 4 actions.
I'd like to be able to merge, or link all 4 actions together into one "walk" action, so that I can just duplicate that 1 action to have the man do another walk cycle.
Is it possible?  And if so how?  See example of my NLA editor below:

So you have one armature but 4 different actions, one for each bone? How did you end up with this situation? If that's the case, what you could do is copy the keyframes of an action (for example left leg) and pasting it in the action of another object (for example right leg). But before pasting, you need to create a keyframe (whatever keyframe) for the second object (right leg), otherwise you won't be able to paste.

I dont think there is an option for that.
Action is per object. So to have them in a single action you will need to parent them to Armature (each object to a single bone) and animate.
Select Object > Select Armature > Switch to Pose mode Ctrl+Tab > Parent to Bone Ctrl+P

In a current situation the only one thing that can help you a bit is increase Repeat option in NLA Properties > Strip tab > Action Clip panel for selected strip.

Note - In a case you will have more tracks for one object you can search for Bake Action to merge them by step 10 here.

1.Select all bones in Pose Mode.
2.Go to the menu in the 3D Viewport and select Pose -> Animation -> Bake Action.
3.Ensure these five options are set before clicking OK:

Set the Start Frame.
Set the End Frame.
Check the box for Visual Keying.
Check the box for Clear Constraints.
For Bake Data, select Pose.

This should consolidate everything into a single action.
If you have any questions or need further clarification, please do not hesitate to ask.


text:
UV Warp distance units in blender 2.92 not scaling correctly
Using blender 2.92, I have my scene units set to:

Unit System: Metric
Unit Scale: 1.0000
Length: Centimeters

Then I have imported a lego man who is about 5cm and dimensions in "Item" panel show correctly.
I have setup a UV map of mouths for my man, as per this tutorial: https://www.youtube.com/watch?v=5NlvgMYZgaY&t=1370s
This works correctly until I try using a UV Warp to move the position of the map around using the distance between 2 bones.
In the UV Warp blender docs it says that moving the distance between two bones by 1 unit (ie 1cm in my case) will move warp the UV map by 1 full UV space.  So moving the bones 0.5cm apart should warp the map half way across the UV space.
However this does not happen, instead I have to move the bones really far apart, about 1000cm, to warp the UV map by 1 unit.
How can I get it work as per the documentation?
Note that I've tried changing the "Unit Scale", for example to 0.01, but then the dimensions of my lego man are incorrectly reported.

I think you're mistaken that 1 unit = 1 cm in this case.  In this case, 1 unit  = 1m, regardless of what units Blender is displaying to you in fields.  (And it should be 100cm you have to move in world space to change UV by 1.0.)  If you want the UV warp to act 100 times more powerfully, without changing any of your scales, then you should create a new (empty) control, and use it to control your UV warp's "to" marker via scripted expression drivers to echo motion of the new control, just one hundred (or one thousand) fold.

So how do I change the actual units to 1unit = 1cm if my above settings did not do that?


text:
Geometry Nodes: Point Instance Collection use count (object weighting)
I'm trying to recreate the donut sprinkles tutorial (by Blender Guru) but instead of using a particle system for sprinkles on the top of a donut, I want to use the new geometry nodes system.
When using a particle system you can use a collection as the objects and then the "Use Count" option allows you give different objects in the collection different count.  This means you can make certain objects in a collection appear more often than other objects.
When using a Point Instance Geometry node you can choose "collection" but there is no option to "Use Count".  Is there some chain of nodes you could use to accomplish the same thing?

See this https://devtalk.blender.org/t/geometry-nodes/16108/1308 and this https://devtalk.blender.org/t/geometry-nodes/16108/1309 for a discussion about it, while waiting for the official implementation

The easiest way I found was to add separate "point distribute" and "point instance" nodes for the spheres and then you can independently control the density of the spheres and sprinkles. You then join the geometries.
The two nodes controlling the spheres are circled in red.

This only works if you have very few objects to deal with. With a large quantity however, this wont be a good solution. For this specific task, It's best to stick with the particle system at the moment.

I cobbled together a quick and simple method for my project.
Set two value nodes that correspond with the amount of items in your collection, starting at 0. In this example there are 5 items total. Run them through a mix RGB node, then control the factor with a noise texture + colour ramp.
If you tweak the colour ramp a bunch it could be a quick and dirty way to choose which items in the collection have the most importance. Hope that's useful to someone!

I asked myself the same. I found a workaround that gives a bit more control. I splitted the point instance in two - one with the object which is more important and another with a collection of variation. With the Attribute Randomize I can give more importance to one of the separated instances:

Look at this this:
https://blenderartists.org/t/geometry-nodes-creating-a-random-object-picker-with-rarity/1337111
This is the best for current state for fields
More clean result for 4 indecies look like:

So random value group is just Random value node


text:
Blender Python cache addon property data
I have a script with a UI panel.  In the UI panel there is an bpy.props.EnumProperty select dropdown.
I want to populate this Enum with data downloaded from an API.  However I don't want the user to have to re-download the data every time they start up Blender.
I've tried putting the data into an addon preference field, but the problem is that the Props seem to get loaded before the addon preferences (so I can't get the cached data from the preference field to load it into the prop).
Is there some other way I can cache the data for my EnumProperty to prevent multiple downloads?

Hello, could you post a bit of your code and the way you handle things currently ?


text:
Geometry Nodes: Delete specific points from a curve by index
I have a Bezier Curve with 7 points, and a Geometry Node modifier.  Geometry Nodes will place a Cube at every point along the curve.
How can use the Delete Geometry node to remove certain points from the curve before placing the cubes?  What should I pass to the Selection input to delete these certain points?  For example if I want to delete points 2,3,6...how can I do it?
Here are my example nodes; currently I have a Value passing to the Selection which if set to "1" deletes all points, or "0" deletes none:

You can use the Compare node and all its mathematical modes to pick certain numbers to feed into the Selection socket. If you don't want a certain point with a certain index number to not have a cube, you could simply exclude it with a "not equal", for instance:

You can use other mathematical operations with Index as well. Use Modulo 3 to exclude every third point from selection:

...and combine them using boolean logic. Modulo 3, but only if they're also indices higher than 8:

Thanks, now I see that the Index was the input I needed.  Also useful to just use the Selection on the Instance on Points instead of using the Delete Geometry node

@DavidB Apologies for being to quick on the trigger.

could you use a noise image to randomly delete the cubes based on how the black and white noise is distributed along the curve index?

@ben Something like this? Noise Texture values by default are between 0 and 1, which means they're all positive, which means they'll delete all instances if used as is (all positives numbers mean "yes" for boolean purposes). By subtracting 0,5 from it, you can get values between -0,5 and +0,5, which will delete them randomly—you could also use Math: Round node for the same thing. Or a Map Range node for more granular control.

yes!!! thankyou

Thankyou! wonderfulz!


text:
bpy.app.timers.register is lagging Blender
In my blender python script I have a function which reads data from a serial port then moves the position of an object based on that data.
I use bpy.app.timers.register to loop the function every 0.01 seconds.  It needs to run frequently in order to update the position in realtime.
Blender is noticably slower when this is running (such as if you move the view around).
I suspect bpy.app.timers is running on the main thread and blocking other core functions.
Is there a way to run the loop on a background or low priority thread so that it does not interfere at all with blender core performance?

After more research it appears that yes bpy.app.timers.register processes are running on the main Blender thread.  So any data processing should be done outside the timer function.
Instead I have moved my serial data reading into a separate Thread using:
thread = threading.Thread(target=read_serial, daemon=True)
thread.start()

Inside this new thread function it will read/process the data and put it into a variable.  The timer function can then just access the variable and update the object position.
Now Blender runs smoothly while the timer and thread are running.
Note that reason for using both a Thread and a Timer (instead of just using the Thread to do everything), is so that the thread is not trying to manipulate Blender objects while the main Blender thread is also accessing them; which could lead to errors.


text:
what can i do in compositing to get this looking more real like the original image
I'm trying to recreate this backrooms pool hallway scene.

This is my current render

Obviously, there are some differences like the chair in the back, the camera angle, or the tile size. However, I'm curious as to how I could make it look more like the original in terms of how much it looks like a real photo. I feel like it's some subtle difference. I can tell that mine looks faker than the original, but I can't figure out what needs to be changed or added
*I would link my blend file but I don't know how

Currently, all I have in the compositor is a very subtle fog glow glare node, and a lens distortion with jitter and a tiny bit of dispersion

This is primarily about the type of lighting, not about compositing.

You can play with the Compositor but in my opinion the first thing to do is to give Depth of Field to your camera

@quellenform Im using just a hdri of a sunny field solely because its slightly yellow

@moonboots Ill try that, im surprised with myself that i hadn't YET

Also in the Compositor add a bit of blur, too much sharpness makes the picture a bit unrealistic imho

Please share blend file with us (don't forget to pack the images), then we can take a closer look at lighting conditions: https://blend-exchange.com/

The big difference here is the lack of blur in your image. You can add blur in the Compositor, but first select your camera and enable the Depth of Field option. You can choose the object (or empty) on which you'll focus (or choose a Focus Distance instead), and the important setting is the F-Stop value (decrease it a lot). There are also some settings in the Render panel.

Usually I love your answers and I could already learn a lot from you. But here I have to disagree with you: The blur in this example image comes from the fact that it is of poor quality and has been scaled up. Adding blur in this way is unlikely to achieve photorealism. And why should a photo have any depth of field at all at this distance from the object in bright sunlight? You would hardly shoot with an open aperture ...just my opinion.

Blur is the big difference I see between the 2 pictures, pictures that are too sharp can look really unrealistic (it's one of the flaws of heavily CGIed movies in my opinion, the image is too clean), as for the aperture I agree but you can still have a bit of DoF with powerful lights, and here it looks like the background is more blurry than the foreground. What is the difference you would point out here? Of course the water could be a bit better and the wall a bit dirtier but it won't make a bit difference imho.

The difference? It clearly needs a sun here in addition to the HDRI, in my opinion. Judging from the angle of incidence: late afternoon, warm light, slightly hazy air, clear sky. The difficulty is more in matching the sun position with the HDRI (but there are addons for that). Also, you would need to increase the reflectivity of the ceramic surface so that the stray light is enhanced a bit. And the joints of the tiles could be darker.

In addition, there is a slight shadow further back in the room, which probably comes from a glass surface outside the image. There are obviously still objects here that are between the scenery and the light source.

yes there are a lot of details that can be improved but DoF is the main cheat trick imho, but I'm lazy   ;)

However, the multitude of your wonderful answers does not exactly lead to the assumption that you are lazy ;-)

ah ah thank you, it takes work to be lazy

Under the Color Management settings, for the Look setting, I would try a higher contrast.  You could also try sharpening the render with a filter node.
Here is a useful Blender Guru tutorial titled, "The Secret Ingredient to Photorealism."


text:
Is there a way to loop in some way, the w slider on 4D nodes?
I have a little procedural nodes animation that has a wavering 4d noise texture made by adding the #frame driver to the W value. I would like it to loop, but since the W value is like a random seed, there's obviously not some distant number it can go to that will be the same. I've also thought about having the w value go up, to a certain point and then back down, but I think that would be too noticeable. I know I will probably have to use something other than the W value but any ideas would help.

Depending on what effect you are looking for a mapping node with one rotation channel keyframed could do the trick (rotations loop every 360 degrees). If you could add a little more info about your setup, node tree, etc

As @Gorgious says,  for a loop, rather than a ping-pong you want the coordinates to follow some kind of circle.. This loops in 2D space as well, but you could give that up to loop in time only.

Full Method
This method isn't perfect for everything, but perhaps it will get you started.
Create a segment of animation of the length you desire, where the effect fades in, runs for a length of time, fades out, and the parameters of the animation are reset to the beginning values while invisible.
Select these nodes and duplicate them, and then you can G + X Grab all of the newly created nodes' keyframes in the dopesheet and Constrain to the X-axis to offset the animation timing by a number of frames.
With a sufficient number of "channels" of animation, perhaps rotated or scaled differently, you should be able to create an animation where the fade of one channel is obscured by the activity of the others.
Here's a video explaining the process.  I think it's better than cluttering this page with gifs.
Simplified Method for Quick Results
You can use a 3d texture and animate the movement of the coordinate space.
I have a sample scene here with a large plane that is just meant to show how the coordinate plane is moving, and a cube representing your object.  Right now they both have Object Coordinates showing.

Using a Mapping node, we can rotate the coordinate space.  If you use these coordinates to generate noise and animate the z rotation, the noise will be rotating about your object.

If you don't want rotation but instead a more linear movement, you can add a second mapping node in front to offset the origin and thus offset the point of rotation.  Doing them both in one mapping node still rotates from the center.

From here, every 360 degree rotation still puts you right back where you started, but indeed you could map out any movement you wanted.
If you find the effect is not to your liking from some angles, I bet it would be possible to combine this with a W value that climbs to a certain value and falls back down, and it may not appear such a sudden change.

Similar issue. This ones just a fireflies tut on you tube. But Ive done a few other Tutorials and faced pretty much the exact same issue with the Noise Texture 4d drivers example - frame/1500. Just trying to add some animation to these vidz.
Anyways, here's my config
Fireflies Geometry Nodes None Looper:

Here is the blender file:
https://drive.google.com/file/d/1b7trBDKuzAjXUdE9R9lBSUJ7sJNzLvPo/view?usp=sharing
Youtube Tutorial  Reference:
https://www.youtube.com/watch?v=tedaXMgMYts&t=614s


text:
Looping Paper Fold-out animation
I want to make a looping animation that looks similar to this

Obviously this is very rushed and the picture doesnt matter but the concept of the paper folding is whats important. I would use shape keys and model it by hand, but trying to keep the plane dimensions consistent without any overlapping geometry has proved to be difficult. How could I fold a plane in this way and have it set to shape keys? PS. It is crucial that while folded, parts of the top side of the plane are visible, in order to make the mad magazine style fold-in illusion.

Wouldn't an armature be a better approach? Similar question here: https://blender.stackexchange.com/q/239430/107598. The vertices of shapekeys always move in a straight line from their current to the new position. This makes it impossible to rotate them in an arc or bend the mesh more than about 45 degrees if I remember correctly.

@Edgel3D Yeah i still need a solution, this looks great! how did you get this working?

I've been toying around with that since, more with a view of you needing to match up surfaces to bring a drawing (texture) together. At the time I was only concerned with developing a viable folding technique, something that should accommodate a variety of cross folding. I've since given each surface a different colour - boy! Did that reveal a jar full of sins!  I've sorted all that out and view two remaining 'cheats' as acceptable given your needs. Will write it up and post an answer and Blend file

Multiple Folds Across a Single Mesh
At first glance, separating each section and hinging those individually with bones would appear the most viable way to go, but surfaces are easily deformed, edges get bent and gaps start to appear.  Patching those up sounds straight forward, but it's not, particularly when 2ndry folds are introduced.  (a fold across an existing one)
Using just One Single Mesh -  (Blend file below)

The very first step is to ensure that everything' s scale is "Applied". (CTL-A)
Where-ever a fold is anticipated, an edge (in Edit mode) must also be added there.  That includes cross- folds, where a fold runs across an existing fold.
For each fold - The rotating 'handle' MUST be aligned along the edge-line. (intended crease)

Alignment -
Make sure to be in Ortho mode.  Use only the view-keys on the numpad - 7,1, & 3 or CTL- 7,1, & 3.
DON'T use the mouse to set a view for alignments.
Make sure the Window's 'Orientation Mode' is set to 'GLOBAL'
The paper mesh should be a flat plane aligned to all 3 global axis' as it would be when first 'added' with SH-A.   (alignment is still possible if it's not, but it requires a lot more fiddling.  You'd need to align one axis at a time and keep repeating each axis until it's right.  Not recommended)
.
A hinge or fold line (crease) would be an edge as seen in Edit mode.  Hilite the two end-vertices that make the line and set the 3D cursor to the Gismo with SH-S. (Cursor to Selected)
Add a STRAIGHT 'Curve-Path' to that location with SH-A.  If it needs to scaled up to extend and reach the edge-line's length , do that now and make sure to re-APPLY it's scale with CTL-A, but keep it dead straight!  If it gets bent, even slightly, replace it.
In Edit mode, place the 3D cursor on one end of the edge line. (as far out as you can)
Back in Object mode and in the Top down view (np 7) rotate the path in the GLOBAL Z axis only, until it intersects with the 3D cursor.  (Keys - R Z)
Zoom right up and rotate again so the path is back on the 3D cursor's cross hairs.  Keep doing this until fully zoomed.
That will have the path all but perfectly aligned with the edge and ready to be used as a rotation handle (a hinge) for that edge.
Select the vertices that are to be rotated and give them each their own Hook.  Don't be tempted to provide a single common hook to rotate multiple vertices.  Chances are it will only complicate matters.
Parent those hooks to the rotation handle. (the Path)
(Hooks are the children, the Path the parent )
IMPORTANT - Now set the Window's Transform Orientation to - "NORMAL".
When selecting the path for rotation you will see one of it's axis arrows aligned perfectly with the intended fold's hinging edge.  That's the LOCAL axis you rotate. (e.g. R XX and drag the path's rotation)
The hook children will take the vertices they're hooked to in a uniformly swept arc as the handle rotates.
If they don't, proper path alignment hasn't been achieved and would need to be redone.
-==============-
Later, it could be that another fold has to be hinged across an already rotated fold line.  (cross fold)
Do as before, set up a Curve-Path along the desired edge line.  Align it, assign the hooks required as children of the path, and rotate.
Depending on the nature of the fold, you could end up with a kinked surface, but there'll be no gap.
These don't lend well to rendering so make it a point to subdivide and create a new edge directly along the kink. (i.e. fill in the two vertices forming the kink to provide a new and legitimate fold.  (F key)  You'll need to delete the original face and replace it with the two newies.
.
Other hooks, can be introduced and keyframed to compensate should faces and/or texturing need adjustment, or clipping occurring.  Unlike (relative) shapekeys, hooks allow you to experiment all you want without fear of dislodging other hooks.  (make incremental saves first)
-==============-
The two arrows in the clip above point to two vertices that are not following physics.  The lower has been left as it is and allowed to stretch that section (surface) out as it rotates.  This isn't that noticeable if at all and will be concealed anyway.   No texturing is involved in that area.
The upper arrow points to a corner vertice that would penetrate the vertical brown surface when folded down, but again because it's not noticable, the surface (section) hasn't been resized and re-hooked.  Instead the vertice is simply keyframed to be pulled back as it folds over.
As you can see in the first clip above, this has reshaped that surface and shifted P5's handle alignment significantly.  It's not a problem in this instance but something to be wary of in future projects.


text:
How could I make a polygon generator using shader nodes
I want to make a node group that outputs a polygon with a customizable size and side count.

I'm using arctan2 to make a setup that I figured would allow for a customizable side count.

If I add these nodes and mess around with the values I can get something closer, but it ever only results in rounded star shapes.
I can't seem to get a regular polygon.

Check out this answer, (and the linked remarks, for more explanation)

Method result:
Changing side count:

Changing outer radius:

Nodes:

Explanation:
What we are doing here is verifying the difference between the texture coordinates and a vertical line, but we need to cycle the angle θ of that coordinate when it points past the polygon segment lenght in the line (sometimes i'm bad at explaining so look this):

https://www.desmos.com/calculator/tqy07xvs14

With this method, instead of using a less than 1 node, you can also use ColorRamps:

Square to pentagon material

Node
You can use this method to do any shape

Run the script, you can get entire scene
import bpy, math

# select and del all object
bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.object.select_all(action = "SELECT")
bpy.ops.object.delete(use_global=True, confirm=False)

# add plane
bpy.ops.mesh.primitive_plane_add(size=2, enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))

oj = bpy.context.object
mat = bpy.data.materials.new(name="Material")

oj.data.materials.append(mat)
mat.use_nodes = True

tree        = mat.node_tree
nodes       = tree.nodes
l           = tree.links

coor            = nodes.new("ShaderNodeTexCoord")
coor.location.x += -300
coor.location.y += -1200

def new_mapp(dx=0, dy=0):
    node                = nodes.new("ShaderNodeMapping")
    node.location.x     += dx
    node.location.y     += dy
    node.vector_type    = "TEXTURE"
    return node

def new_rang(dx=0, dy=0):
    node                = nodes.new("ShaderNodeMapRange")
    node.location.x     += dx
    node.location.y     += dy
    node.inputs["From Max"].default_value = 0.001
    return node

def new_invert(dx=0, dy=0):
    node                = nodes.new("ShaderNodeInvert")
    node.location.x     += dx
    node.location.y     += dy
    return node

def new_mix(dx=0, dy=0):
    node                = nodes.new("ShaderNodeMixRGB")
    node.location.x     += dx
    node.location.y     += dy
    node.blend_type     = 'MULTIPLY'
    node.inputs[0].default_value = 1
    return node

mapp1       = new_mapp()
mapp1.inputs["Location"].default_value[1] = 0.5
mapp1.inputs["Rotation"].default_value[2] = math.radians(279)
rang1       = new_rang(200)

l.new(coor.outputs["UV"],               mapp1.inputs["Vector"])
l.new(mapp1.outputs["Vector"],          rang1.inputs[0])

mapp2       = new_mapp(0, -600)
mapp2.inputs["Location"].default_value[1] = 0.5
mapp2.inputs["Rotation"].default_value[2] = math.radians(-369)
rang2       = new_rang(200, -600)

l.new(coor.outputs["UV"],               mapp2.inputs["Vector"])
l.new(mapp2.outputs["Vector"],          rang2.inputs[0])

mapp3       = new_mapp(0, -1200)
mapp3.inputs["Location"].default_value[1] = -0.08778525229247
mapp3.inputs["Rotation"].default_value[2] = math.radians(-297)
rang3       = new_rang(200, -1200)

l.new(coor.outputs["UV"],               mapp3.inputs["Vector"])
l.new(mapp3.outputs["Vector"],          rang3.inputs[0])

mapp4       = new_mapp(0, -1800)
mapp4.inputs["Location"].default_value[1] = 1 +0.08778525229247
mapp4.inputs["Rotation"].default_value[2] = math.radians(-153)
rang4       = new_rang(200, -1800)

l.new(coor.outputs["UV"],               mapp4.inputs["Vector"])
l.new(mapp4.outputs["Vector"],          rang4.inputs[0])

mapp5       = new_mapp(0, -2400)
mapp5.inputs["Location"].default_value[0] = 1 -0.09549150281253
mapp5.inputs["Rotation"].default_value[2] = math.radians(-225)
rang5       = new_rang(200, -2400)

l.new(coor.outputs["UV"],               mapp5.inputs["Vector"])
l.new(mapp5.outputs["Vector"],          rang5.inputs[0])

mix1        = new_mix(500, -200)
mix2        = new_mix(700, -800)
mix3        = new_mix(900, -1400)
mix4        = new_mix(1100, -2000)

l.new(rang1.outputs["Result"],          mix1.inputs["Color1"])
l.new(rang2.outputs["Result"],          mix1.inputs["Color2"])
l.new(mix1.outputs["Color"],            mix2.inputs["Color1"])
l.new(rang3.outputs["Result"],          mix2.inputs["Color2"])
l.new(mix2.outputs["Color"],            mix3.inputs["Color1"])
l.new(rang4.outputs["Result"],          mix3.inputs["Color2"])
l.new(mix3.outputs["Color"],            mix4.inputs["Color1"])
l.new(rang5.outputs["Result"],          mix4.inputs["Color2"])

bsdf        = nodes["Principled BSDF"]
bsdf.location.x += 1300
bsdf.location.y += -1500

outp        = nodes["Material Output"]
outp.location.x += 1300
outp.location.y += -1500

l.new(mix4.outputs["Color"],          bsdf.inputs["Alpha"])

Change viewport shading to render to preview the result.

Here's my take:

Alternative:

The idea is the same as in Hulifier's answer, rather than calculating how distance to edge changes with angle, just rotate the coordinate system so all directions point to the left. Since radial gradient starts in the middle of "the left", either use the first solution to rotate the first half of the 1st side angle to the bottom-left, and the 2nd half of the last side angle to the top-left, or use the second solution to first rotate the coordinate system so the radial gradient actually starts at the beginning of "the left"... (preview the output of the Snap node to see that better).


text:
Is there a way to make a gradient based on an object or a image texture?
I made this image with a monkey head and I want to be able to make something like the second image with nodes procedurally [i made this just by duplicating a cutout]

I want to be able to take a spherical gradient, or the result of the vector math length function, then use an object or a image like the first one above and make a gradient that has a value of zero at the center and 1 at the edge of the object/mask image. Making the rainbow pattern procedurally is not part of the question btw that's just easier then trying to draw the gradient.

Are you open to do that in the compositor as a post production effect ?

i recommend answering yes to Gorgious - he know what he is doing ;)

@Gorgious Yes, that works for what I'm doing, I could render it by itself because its just going to be a background anyway

You can use the Dilate / Erode node in the Compositor Editor. Link to the docs
First setup your Object as needed and render the image.

Now you can play with several dilate / erode nodes to get the desired effect. It basically creates a dilated mask for each subsequent dilation and we're adding them , then dividing by the number of dilations, then plugging it into a Combine HSVA node to get rainbow colors. You can tweak it to get desired colors too.

There is a Distance and a Step mode in the Dilate / Erode node. I found the Distance mode to be more pleasing, but the compositing time will skyrocket on high values.

simply great!!!!


text:
What would be the best way to have something be different in a reflection
I have a render I'm working on which is focused on a character leaning over a reflective surface and a different character is visible in the reflection.

The top picture is the main character, and the bottom will be visible in the reflection. The scratches and drool puddle would make it hard to manually rotoscope, and in tandem with the Light Path > is Reflection ray node (which is the only procedural method I've seen so far), the holdout and transparent shaders in their most default forms do not meet my needs in certain areas.

What is the best way to accomplish this. Please don't hesitate to ask for any clarification needed.

Have you explored view layers ? It would make overlaying only the mirror part under the part with the other monster very easy

@Gorgious The set indirect only feature should solve my problem, thanks!

you can get this result with CYCLES:

The torus (without mirror) has this nodes setup:

Suzanne (only mirror) has this nodes setup:

blend file:

After looking into view layers (which I never really had before) thanks to Gorgious' comment, I found the best solution was to have one view layer in which the top character was disabled from the view layer and the bottom character was set to "Set indirect only". Then another in which the Mirror acted as a holdout as well as "set indirect only", and the top character visible.

Then I put them on top of each other in the compositor.


text:
How can I make a retro effect in the compositer like the one in this image

I saw this in this tiktok https://vm.tiktok.com/ZM8CXkt99/ and I wanted to achieve a similar effect. I assume they did this in the compositor, but even if they didn't, there should still be a way to get a similar look.

I'm not sure what you mean by "retro effect" it looks like a render with some light bloom

What have you tried already? You should [edit] your question and share your efforts rather than only posting a picture and asking how to do something.

Well, the question is rather ambigious since we don't know how the original image looks like. But this one looks like a VHS look effect to me. There are numerous tutorials about that in the net if you search a little but they are all in softwares like Premiere, AE or Photoshop (...). You can watch one of them and adapt it for the Blender compositor, though.
I did an attempt my self and this is the before and after (Original image from pixabay) :

You may tweak the settings according to your input image and your tastes but here, I'm just giving you the steps you may want to go through.
First of all, in Blender you can change the color management :

For 2.8+, the default value for View transform is at filmic and for 2.79 and lower, it defaults at default (it is labeled View). You can already change this value to film to see if it takes you closer to what you want :

In 2.79, you can find color management in Properties panel under the Scene tab. In 2.8+ you can find it in Render properties
Now, you could try to tweak the image's brightness and contrast using RGB curves and Brigh/Contrast nodes. Here I just bumped up the contrast and clipped the whites a bit (I also lifted the blacks a little bit) :

Now the process that will really give it that VHS look is what they call Channel Blur. It's a filter that allows to blur each channel of the image individually. We don't have such a node in Blender but, fortunately, it's really easy to implement. You just need to plug a Combine RGBA node to a Separate RGBA node and throw a few blur nodes in-between them like so :

Those are the settings I used for the blur nodes (once again, you can tweak them to fit your needs) :

After this, your image should look like this :

You can tint the image a bit with a color balance node by shifting the lift to a purplish color :

Using Sharpen/Soften can also be a good idea :

You can achieve this by softening the image before the channel blur and then sharpening it after like so :

I added another RGB curves node at the end to improve it a bit :

And the rest is up to you : you can overlay some film grains (tuts for that can be found everywhere), vignettes, chromatic aberration (...).
This is my final node setup (The blue frame you see at the bottom is just the noise texture I used to get the film grain effect) :

I hope it have been helpful to you.


text:
How can I make this hexagon be exactly the height of the square
I made this hexagon using a tutorial from erindale: https://www.youtube.com/watch?v=mLRqhcPIjg8&t=334s

I'm trying to make a pattern using this hexagon (the carpet pattern in "the shining") mathematically with nodes. But all my different measurements and equations rely on the hexagon being exactly the height of the square or two units. Just messing around with the less than value It got closer and closer as i approached the value .43333... (6.5/15) but if you look very closely you can see that its a little two big,

so when I tried to recreate the pattern it wasn't perfect.
If there's a way to find the height of the gradient and map it to 1 using map range, or maybe a different way to make a hexagon that defaults to this height, that's what I need.

By Pythagoras, the height of an equilateral triangle with side 1 is sqrt(3)/2. Split your hex into triangles and juggle.. the width of a hex height 2 is sqrt(3). Check out these ways of making a hex grid..? The first download includes a distance-from-edge function.

3**.5/4 is the exact threshold that will match the plane. Dividing the gradient by this number will sort of "normalize" it.

(The actual 2-unit height of your square doesn't make a difference, here.. you're using the Generated texture-space, which will always measure 0-1 along the sides of an object's bounding-box.)

By splitting a hex of height 1 into equilateral triangles, and Pythagoras, we know its side-to-side width is sqrt(3)/2. So, if we just look at the threshold in X, we know that has to be sqrt(3)/4. (And, IMO, that's an easier way to think about it than considering the dot-product branch of your tree)

You would hard-code that value into the Less Than, though, so it doesn't have to be recalculated for every shading-point... (the same goes for your existing sqrt(3). )


text:
Is there a way to procedurally loop processes in shader nodes
I'm trying to make a node group that can convert values into "binary" (i know the value will still technically be base 10). I made a set of nodes that if they are recursively placed over and over it can convert the number successfully, but you would have to do that manually and the amount of times you would need to repeat the function would vary based on the size of the number you are trying to convert. This is mainly a challenge to do this myself so if there is a better way to convert decimal to binary (other than a single node i may be overlooking) i don't need to know, i just want to loop sections of node code. Even if my plan doesn't work it would still be good to know a way to procedurally repeat sections of a node network, maybe controlled by a value which describes the amount of times the function is repeated.

Feel free to berate my question, if i didnt not phrase it well enough or i was too vague for you to answer, lemme know.

Hello, may I ask what is your end goal in this challenge ?


text:
Is there a way to get continuous radial/polar coordinates?
I'm not exactly sure if that's the right word for it, but basically, I want to be able to generate a gradient around a point like in my picture, but without the seam. the only thing I can think of like that is a color wheel, where it continuously loops around. My goal is to use a math -> compare node to make a triangle shape emanating from the center, one that you can change what direction it's facing and how wide it is. My problem is that with the gradient I have, the triangle shape disappears over the seam (I can better display what I mean in a video, I linked one in the comments). I want the triangle shape to be able to circle around in any direction indefinitely
.

https://youtu.be/cL6n3W0pxsc my issue

Why don't you make use of the "rotation" parameter of your mapping-node?

im baffled that i didn't realize that

This actually solved more problems then i realized

You could avoid doing the trigonometric stuff the Gradient > Radial node has already done for you, by, instead of avoiding the discontinuity at 0, using it as the start of your segment:

At its most primitive, the start-angle is measured out of 1, clockwise from 9 o'clock, and the segment is anticlockwise from there.This set-up works round the clock, through negative and >1 start-angles.
But I guess the disadvantage is the amount of plumbing you have to do to wrangle the interface into offering you center of arc, angle of arc, in degrees, clockwise from 12 o'clock:

(Maybe there are ways of cutting this down?) ... anyway, that's quite a few nodes to avoid one trig. calculation per shading point. Given modern kit, this is probably old-fashioned :)
Edit:
It may be better to forget the Radial altogether and roll-your-own:

.. which is added to the .blend:

Hi Mr Bestt. Can you confirm that gradient node does not use trig things?

Hi, Clu.. oops!.. @lemon.. No, I'm suggesting the Gradient node does do trig, and you could avoid doing it again. On second thoughts, why not get rid of the Gradient altogether and do our own trig, and  dot-product? I'll edit..

Very close to your settings:

Use the rotation of the mapping node to rotate
Get an absolute value to get ride of the seam
Change the map range in consequence
Use a color ramp to tune the width of the angle
Eventually change the color ramp mode to "constant" to have a sharp transition