How to: Exponential Fall Off for Volume Density?

You can use Vector maths and Maths nodes to calculate the 'altitude' above the planet and from there the atmospheric density and use this to control the density of the Volumetric Scatter.

To achieve this, add a mesh around your planet to act as a domain for the scattering. The domain's centre should correspond with the centre of the spherical 'planet'.

Create the following material :

This uses vector maths to determine the distance from the centre of the planet. The Planet Radius value node determines where the atmosphere starts - it should correspond to the radius of the 'planet' object.

The 'Falloff Factor' determines how quickly the density of the atmosphere falls off - it should be negative and values closer to zero will provide a 'deeper' atmosphere (extending further from the surface of the planet).

The RGB node controls the 'color' of the atmosphere and the Multiply just prior to the scatter controls its 'thickness' at sea-level.

(Don't forget to increase the number of Volumetric bounces in the Cycles Light Paths settings.)

This can produce the following result :

Blend file attached

Note : I've also created a material using and Emission shader instead of scatter - faking the planetary shadow - and this is far more efficient than using Scatter. The vector maths are far more complicated than in the above material so I've omitted it here for simplicity. I can provide additional details if it would be of interest.

Breaking down the nodes to explain this a little, we're starting with two coordinates - the centre of the planet (which is the same as the centre of the domain mesh) is provided by the Object Info node, and the point in space (where we want to determine the density) is provided by the Geometry node. Both of these are in 'World Space' coordinates (points relative to the centre of the world).

By subtracting one from the other we get the vector between the two points. The length of that vector represents the distance from the centre of the planet to the point in space and the Dot Product and Power nodes convert this into an absolute distance (rather than a vector). [Using the Dot product in this way (with the same vector connected to both inputs) produces the square of the distance of the vector. The Power(0.5) performs a square root, generating the actual distance.]

Next we subtract the radius of the planet. This will result in the actual altitude above the surface.

For the exponential falloff we need to use a Power node with the the first input set to the exponent (in this case '2') and the other input set to the altitude. For a 'falloff' we need a negative value and the Multiply node provides this as well as allowing the effect to be scaled. The final Multiply allows the overall density of the atmosphere to be adjusted.

As an example, if the Multiply node is set to $-1$, at the surface of the planet (0 altitude) the density would be :

$2 ^ 0 = 1$ (since anything to the power of 0 is 1)

At 1 blender unit above the surface,

$2 ^ {-1} = 0.5$

At 2 blender units above the surface,

$2 ^ {-2} = 0.25$

At 3 blender units above the surface,

$2 ^ {-3} = 0.125$

ie, The density falls off exponentially.

Adjusting the Falloff Factor to larger negative values will give a faster falloff.

EDIT: With your sample Blend file the patterns you are seeing are a result of rounding errors in the exponential falloff being amplified by the 250 multiplication factor (you have an atmosphere that is dropping off very sharply conflicting with it being very dense). Using your sample Blend file as a start point, perform the following steps :

Scale the Earth Atmo mesh by a factor of 2
Remove the unnecessary Subdivision Surface modifier
In the Earth Atmo shader, change the Multiply factor from 250 to 2
Change the division factor from 0.0012557 to 0.012557
In the Render settings change from Path Tracing to Branched Path Tracing (this renders the volumetrics better)

This should then produce the following result :


You can only add loop cuts in edit mode (which you can enter either by pressing TAB or by choosing it in a mode scroll menu at the bottom).


Text objects are converted to a mesh with a plane for each letter. The planes get a rendered texture of the chosen font.

Unfortunately this render does not 100% match the text object it is based on. That is the reason for the size and location differences.

I suggest to split your text object that you get one for each button. This reduces the visible location and size differences. Additionally it allows you to parent the text to the button.


How to attach a Mesh to armature while keeping transform

Thats actually pretty simple, your mesh is parented to the armature in its edit mode state, pose mode is meant to pose your model after it has been rigged correctly.

even if you see the skeleton in a T pose you are actually parenting your T pose (with arms stretched out, like a T) to a rig with its arms in 45°.

you can check this by resetting to rest pose, and seeing how your mesh will be intact but the skeleton will still be offset by the same amount.

As this happens then we apply your rotation of the arms 45° in pose mode, thus rotating the arms 45° more.

What you need to do is either adapt the rig or the mesh before parenting. I suggest you reset your transforms in pose mode to properly see the state of your rig, to reset transforms press ALT+G for location, ALT+R rotation and ALT+S scale.


Wave modifier doesn't work on my cylinder

To make it work properly you have to apply transformations to the object and divide the mesh to make the Wave Modifier work.

First apply the Rotation and Scale (Ctrl+A-->Rotation&Scale) to the cylinder.

Then divide it using the loop cuts in Edit Mode. Press Ctrl+R and increase the cuts number using the Mouse Scroll.

Important thing here is to place the origin point in the desired position, since the wave movement starts from where it is. Select the desired edge loop in Edit Mode, then press Shift+S-->Cursor to Selected.

With the cursor placed press Shift+Ctrl+Alt+C in Object Mode to move the origin point there. Then add a Wave Modifier and play with its settings.


Clamp Settings for Getting Rid of Fireflies

First clamp cut the light value to the maximum you put so try first using hight values and then lowering from that as if you put it too low it will remove some light that is "real".

Second, you want to cut first the indirect light as it's normally what make more fireflies and direct light value is higher.

I recommend to start using a value of 100 or 10 in "clamp indirect", and reducing from it.


There's a face that has 2 cuts across, while the neighboring face has none.
1. Make sure there isn't a hole in your mesh at that point by moving any of the 2 left vertices right next to the hole.
2. I would strongly suggest to add 2 loop cuts to the left of the object as well.

One of those is causing your indent. (Unless I looked at the wrong portion of your screenshot, marking the problematic area somehow might help)


How can I close the neck gap between two seperate meshes for my detachable head objects?

Per my comment above, I've been trying to think about how best to achieve the same thing: introducing radical modularity into my models. I tried a few ways of precisely linking subsets of vertices across multiple objects with Hooks, Constraints, Vertex Parenting, etc, and found them all to be insufficiently flexible, and generally just very clearly not designed to achieve the intended goal. I even invested considerable time taking a mesh with one shape (a MakeHuman human head) and tediously building a ShapeKey that could deform it into an entirely different shape (a lion head -- the one you see below in this answer); that actually works quite well in some ways (you won't get unexpected splits when fitting an Armature to it!), but it also is severely limited in other ways that I found unacceptable (building an incredibly complex ShapeKey that would take hours to re-build forces you to avoid adding new Loop Cuts and similar edits that can alter the topological assumptions the ShapeKey has made, for example).

I hadn't come up with a good solution yet, but reading your question got me thinking: why not drop the requirement that the two objects be separate, and use a Mask to control which head is visible? With this approach, in principle you should have full control using standard Armatures / Mesh Deforms as you'd normally like, and there should be no risk of meshes splitting in unexpected ways.

Here's a very crude first shot at this, which I think basically serves as a strong proof-of-concept that this can work...

First, I'll use this stylized female character I've been working on, and I'm going to set her up to switch between a lion(-lady?) & human-lady head:

Second, I have to join the two objects, of course. Here is what they look like in Rendered View (note that things will be rather ugly throughout this, as I'm not cleaning anything up, including making no attempt to make Materials consistent), where you can clearly see that she's got two heads:

Third, I'll add a Pitchipoy rig (from which I'll use a single bone as an example), make sure the two heads are both joined to the same edge loop, and start selecting the vertices I need to make four vertex groups (Lion Head, Lady Head, Lion, and Lady, where Lion is the Inverse-Select of Lady Head, and similarly Lady is the Inverse-Select of Lion Head):

Fourth, just to illustrate how this should work, I'll assign all the vertices in both Lion Head and Lady Head to spine.004 from the Pitchipoy model, to verify that there's no unexpected breaking of the meshes etc. Here, we see we can turn the Lion Head & Lady Heads simultaneously using the relevant bone in pose mode:

Fifth, I'll just check that it turns in the opposite direction, too. Nothing unexpected here:

Sixth and seventh, we'll now check that we can do similar rotations, but with our Mask modifier choosing whether to show Lion or Lady:

Lastly, here's just an illustration of what the Lion vertex group looks like, visually (and Lady is analogous, of course):

In short, I think this provides a workable flow for using standard tools (Armatures/Mesh Deform, notably) to deform a single mesh that has multiple heads (or other limbs).

However, a few caveats/issues I haven't explored or that need more attention:

I may have been moving a bit too quickly (maybe I had one of the two heads hidden at the time of weighting), so I'll go back and doublecheck this and update my answer, but in my crude test automatic weight assignment for the Armature seemed to get quite confused and only to apply weights to one of the two heads at a time. If this is the case, it should be possible to work around it by fitting each model separately before combining the models and their vertex group weights, I think, but that would certainly be an unwelcome complication (EDIT: On further tests I am unable to replicate this problematic behavior; standard Armature parenting/automatic weighting seems to work just fine on the multi-headed mesh. I don't want to delete this bullet point just yet, though, as -- being unable to replicate it -- I do not yet understand why my original Armature-parenting failed.)
In this test case, I was able to use Mask to select an entire character at once by just inverting the part of the model (whichever head) I did not want. This logic doesn't extend to the case where multiple limbs can be combined in modular fashion, though, or even just where there are more than two heads. I think a combination of Vertex Weight Edit/Vertex Weight Mix modifiers and more modular vertex groups (one on each torso, one on each head, etc) could overcome this (and, failing that, it could certainly be overcome with a custom Python script)
Stuffing everything into a single object like this overcomes the issues you asked about, but severely limits the options Blender provides for organizing your model. You won't be able to move the Lion Head and Lady Head (or Lion / Lady, of course) into separate collections, since they're part of the same object, and if you pursue this far enough, the single model could become so complex that you (or your CPU/GPU, more to the point!) would never want to display all its vertices at once. You'll mostly be limited to Vertex Groups for documenting/organizing what would normally be treated as separate Objects/Collections, and limited to using tools like Mask to avoid displaying too much of the overall mesh data at once

A modular workflow like this stuffed all into one model can make for an enormously complicated single model, so I'm sure there's more to be discovered about when/where it has limitations, but from what I can tell this is a reasonably flexible starting point for achieving the desired effect without troublesome splitting of the modular sub-components of the overall object/character.


How do I get even lighting across a model? Blender 2.82

Turn up the value of the world's color.

Say we start with some object that I have a few lights on, but in an otherwise empty scene;

I turn off my collection of lights, then make the color of the world shader pure white;

Result;


Exporting a Denoised Composited Image Sequence

I figured it out! I'm so proud! I turned on composite in the Output properties under post-processing,
Now when I render the pngs the render says "initializing execution" and the final image is noise free! I look forward to learning about EXRs etc, but I'm just trying to do this one step at a time haha.
Thanks @JachymMicha and @susu!


Cloth simulation broke after slight geometry change

If you tweak the Self Collisions > Friction (here set to 15) it seems to work fine.
Edit: So, according to you, the best is to increase the Distance value.


Stacking two textures with alpha on top of each other [2.81, Eevee]

For Eevee, you might have to go the extra mile of creating 2 shaders and mix them together instead of doing it just for the textures. See here:


Are they any good tutorials on how to make animated mud/dirt?

There are a ton of fluid simulation tutorials that can get you started. You're going to want a high viscosity fluid to emulate mud. You could then set up your machine to be a collider in the simulation.
Here is a tutorial that covers the basics of fluid simulation.
You could also augment your simulation with creative use of metaballs and particles.
Here is a simple tutorial that covers the very basics of metaballs
Here is a more advanced tutorial that covers metaballs and particles
Finally, here are a couple more fluid simulation tutorials:
Create Splashes in Blender
Realistic Fluid Simulation


Bone weight painting is linked to another bone

Rigging geometry with armatures mainly depends on the armature modifier, vertex groups and the armature.

You can manually add the armature modifier to a mesh object and select an armature. The mesh object will deform based on it's vertex groups. Each bone of the armature (with the Deform checkbox checked) needs a vertex group with the same name. It will deform the vertices in that vertice group based on the weights in the group.

When parenting a mesh object to an armature you have the option for vertex groups to be created automatically. When you rename the armature bones, the vertex groups will be renamed as well. When you rename vertex groups, armature bone names stay the same: the links will be broken. When you add new bones, vertex groups will not be created automatically and the bones will influence nothing. Meaning if you want to add the deforming bone bone_13.l you have to create the vertex group bone_13.l. Then you can select the bone in weight paint mode and the associated vertex group will be selected as well, ready to be weight painted.


Is it possible to create vector fields based on a math equation?

You could use mesh arrows to do it.

First, you need to create an arrow and the object that controls the field (in my case an empty named CTRL), then add a Track To constraint that points to the control.

Then you'll need to create your grid, which can do using this script:

import bpy
from bpy.app.handlers import persistent

dim = 10   #number of arrows on an edge og the cubic grid
spacing = 1
ctrl = bpy.data.objects["CTRL"]     #the control object
maxScale = 0.2
minScale = 0.01
distRange = 5

obj = bpy.context.selected_objects[0]

parent_coll = bpy.context.selected_objects[0].users_collection[0]
coll = bpy.data.collections.new("Grid")
parent_coll.children.link(coll)
for i in range(dim):
    for j in range(dim):
        for k in range(dim):
            new_obj = obj.copy()
            #new_obj.data = obj.data.copy()
            new_obj.animation_data_clear()
            coll.objects.link(new_obj)
            new_obj.location = ((i-dim/2)*spacing, (j-dim/2)*spacing, (k-dim/2)*spacing)  #define arrows positions (here they are centered on the world origin)

            #add drivers on the scale
            for t in range(3):
                driv = new_obj.driver_add("scale", t).driver
                driv.type = 'SCRIPTED'
                driv.use_self = True

                dist = driv.variables.new()
                dist.name = "ctrlName"
                dist.type = 'SINGLE_PROP'
                dist.targets[0].id = ctrl
                dist.targets[0].data_path = "name"

                driv.expression = "getScale(ctrlName, self, "+str(maxScale)+","+str(minScale)+","+str(distRange)+")"

def getScale(ctrlName, obj, maxScale, minScale, distRange):
    ctrl = bpy.data.objects[ctrlName]
    dist = getDistance(ctrl, obj)
    power = ctrl.scale[0]
    scaleRange = maxScale - minScale
    dist = dist/power   #distance is affected by the control size as well

    if dist > distRange:
        scale = minScale
    else:
        scale = scaleRange/(distRange**2)*(dist**2) - 2*scaleRange/distRange*dist + maxScale    #Here you define your scale function

    return scale

def getDistance(ctrl, obj):
    sum = 0
    for i in range(3):
        sum += (ctrl.location[i] - obj.location[i])**2
    return sum**0.5

bpy.app.driver_namespace['getScale'] = getScale

The first part takes care of duplicating the arrows on the grid. As you can see, at the top there are some parameters you can change without going too much into the code.

The second part of the script creates and runs the drivers that control the scale of the arrows: it's a function that takes some of the parameters at the top of the script and calculates the scale of every single arrow. I strongly suggest you to check and modify the function to fit your needs, expecially if you are working on a scientific project.

The way I set it up is using a normal quadratic interpolation:

this is not very good looking, but you'll have the pick the interpolation you prefer. Also, note that in the script the size of the control affects the field as well.

For the color, there is just one material that calculates the distance between each arrow and the control (the control's position is gathered with 3 drivers) and feeds it in a ColorRamp

This is the final result with the download link of the project:

There are many things that can be changed or improved, but I stopped here because this might be enough for you. Possible changes could be a different interpolation function for the scale or the color (because right now they work on a 2 different interpolations, but it's possible to join them together); some custom properties to store the parameters in the GUI, so that you don't have to run the script again every time you make a change; you could want to change only the length of the arrow instead of all 3 dimensions; etc...

After an extensive correspondence we came up with a broader solution, available on Github at https://github.com/Hilicot/Blender-Field-Generator


Mirror across 2 axis and only get two objects?

It took me hours to figure out how to do this. But I figured it out.
Step 1: Place the object you want Rotated/Double mirrored at the location you want.
Step 2: Add an empty at the point that you want the rotation to take place.
Step 3: Add a mesh to the same coordinates as your empty. Then go into edit mode and delete all the vertices.
Step 4: Add a boolean modifier to your empty mesh and select your desired object as a unity target.
Step 5: Add an array modifier to your empty mesh and set the offset to be the empty you created in step 2.
Step 6: Rotate the empty to whatever angle you desire.
Bam you have a rotated copy but get to keep the origin of your original object.

It also works with as many as you want.


I also work in archviz and would love to hear a solution for this,in my experience having particles does speed up the viewport a little at the expense of slower selection for objects with many particles.

Only alternative I can think of would be using perhaps duplifaces, though you would probably be limited to distributing single objects as opposed to say group instances.

There would have to be a special dummy mesh object where each face would store the location and rotation of each instance, though I am not sure it will bring any viewport performance advantage. You would also probably need a script to create said mesh from existing instances, although creating from scratch would be a little bit easier.


MCH eye bone animation plays in Blender, but not in Unity

OK, I've figured it out. I had parented the eye meshes to the 2 MCH bones, but I hadn't added any vertex weights. I just had to set all vertices in the eye spheres to a vertex group with a name that matched the correct eye bone at weight '1' and it's now all sorted in Unity. I'm glad I checked Unity once I made the change because the eye animation is actually now messed up in Blender - The eyes at certain points swing about to odd positions. But it's working in Unity so I'm not going to complain.

EDIT:

I've now figured out how to get it looking right both in Blender and Unity. Turns out the eye meshes should be parented to the armature just like everything else. I just previously hadn't used the right bone for the vertex weighting. Using the MCH_eye.L and .R bones as the vertex groups did the trick. Looks right in Blender and Unity. A relief when things make sense properly.


Adding keyboard shortcut to a blender script

It would be better(and probably easier) to do this directly rather than using trying to use the keyboard shortcuts in the code. Try this:

seqs = bpy.context.scene.sequence_editor.sequences_all
for seq in seqs:
    seq.frame_final_duration = 10

Or if you want to just modify selected strips:

seqs = bpy.context.scene.sequence_editor.sequences_all
for seq in seqs:
    if seq.select:
        seq.frame_final_duration = 10

Or if you want to just modify the strips based in their length:

seqs = bpy.context.scene.sequence_editor.sequences_all
for seq in seqs:
    if seq.frame_final_duration == 1:
        seq.frame_final_duration = 10


Update: A simpler improved file has been added with a screw modifier and with the other modifiers is completely flexible and editable. I did not add the noise though that is easy enough to do.

The original answer: Complex meshes and curves can get messy very quickly and I have tried to make a simple setup here. It uses a crude mesh created from screwing some circles around a vertical line/mesh...

...and adding an array modifier.

A subsurf is added for smoothness, but I also added a noise texture to displace the mesh a bit.

A new curve was created and added via the modifiers to original mesh.

This gives the freedom to move the mesh to the desired shape. The points of the curve can be used to manipulate the general volume with ALTS

The last part I cheated with another mesh as I think the transition can be obscured. It is duplicated to suggest more bulk and can of-course be messed with to suggest unique cables.

It's neither pretty or refined but hopefully gives you some ideas.

Updated file:

Orignal file:


Assign one material to multiple objects via Python

for the python specific stuff

objects = bpy.data.objects

material_01 = bpy.data.materials['some_named_material']
for obj in objects:
    if '_A_' in obj.name:
        obj.data.materials[0] = material_01

Si = 1
for obj in objects:
    if '_B_' in obj.name:
        obj.data.materials[0] = material_02
        Si+=1
        if Si == 15:
            break

You might have to do additional sorting of all objects that contain those strings.


Blender model deforms too much in unreal

Going in and setting all the weights to a much smoother rate of change, and removing some from the auto weight option cleaned this up.


Why can't I UV Unwrap this model like this? Extreme stretching

The problem lies in the ngons so you have two options here.

a: Select each faces you want to have an island of and unwrap/smart unwrap it. This won't attach both side as one island but it will give you consistent uv maps for both sides. The UV islands will be overlapping so you want to pack the island.

b: get rid of the ngons:
it looks a bit botched because I knife cut the faces in a hurry.

edit:
You might want to change the method and check/uncheck fill holes to your liking


How do I merge multiple animated Armatures?

Do the following:

Copy all armatures in object mode and merge by ctrl+j. You will lose animation data, but this not a problem, we will copy keyframes from separate ones.

Enter the Pose Mode and add one keyframe to all bones. We need this to get animation tracks.

Now move to the dope sheet editor and copy all keyframes from the separate armatures. When select new one and paste keyframes there.

Now you don't need old armatures, remove them


You can achieve a similar result with a Voronoi texture controlling the rotation of an Anisotropic shader:

Which gives the following result:

You can change the color of the material to whatever you want. To make the glitter smaller, increase the Scale of the texture. Make sure to play around with the other settings, too! :)


How to shade an object blue outside of my two decals using cycle nodes

Your troubles arise from the fact that UV mapping affects not only the color of the texture but (obiouvsly) also their Alpha channel. When you add a bizzarre (because of UV mapping) alpha with another alpha you get your strange behaviour.

To solve you can edit the "front" UV map so that nothing is overlapping the decal except the faces you want to be textured.

Then take the first texture and color combine it with your blue, so that everything is blue except the grid; then color combine this output with the second texture, so that everything is like the first combination except where you want the second decal.

To better understand nodes behaviour, enable the "node wrangler" addon, and control click over a node: it will instantly create an "emission viewer" shader to read the node's outputs (if you Ctrl click twice on a texture node you'll see its alpha channel).


As PeterT said.

Start by enabling the ANT Landscape addon. Open the user preferences Ctrl Alt U, got to the Addons tab, search for "Landscape". Click on the check mark on the right, if it is not already enabled.

Add a Landscape Shift A > Mesh > Landscape like the picture below.

Add a Remesh modifier to the object. Set the Mode: to Blocks. Increase the Octree Depth to get the resolution of the blocks you want.

Same Landscape mesh with only the Remesh modifier.

You can add the Remesh modifier to any mesh you do not have to start with the Landscape addon.


Can't see textures outside of texture paint

You can switch the viewport shading from "solid" to "texture"


two gpu's, how to differentiate them in system settings pull down menu?

I think this is a trial and error kind of question.
Choose one of the GPUs on the list:

And do a render test.
Using an external application to monitor the GPU usage you can determine which card is being used to render.

In my case the one on the bottom of the list in blender is GPU1, but it might be different on your system.

Now, I would recommend enabling both cards to render... Even with the load of the display, it might cut your render time almost in half...


Is there a way to change the size of the viewport grid in 2.8?

Essentially, no, 2.80 doesn't let us do that any more. The grid was completely rewritten and the option to control its bounds was removed. Having said that, you can reduce the clipping distance, but that just fades out with a gradient instead of having a defined edge, and also clips meshes so it's not really what you want.
If there's strong arguments for getting that brought back, it would be worth writing up a proposal on the community forum (rightclickselect).

There has been some minor discussion of this point there previously, but it seems to have faded away.
eg this discussion:
https://blender.community/c/rightclickselect/nfdbbc/


If you can post a .blend I'll be able to tell you in more detail how you have arranged your object hierarchy. But first of all, note the "plus" icons to the left of your objects:

Click this to expand it and see the children objects of that parent object.

Also note that the black dotted lines in your 3D Viewport show you the relationship between parent and child objects.

You can redefine the position of an object's Origin Point by using the Set Origin button:

The one you will probably use most frequently is Origin to 3D Cursor. With this operation, the current position of your 3D Cursor will become the position of your selected object(s)' Origin Point(s).

As for the label disappearing when joined to another object - this may be due to a difference in modifiers. If for example, your ribbon is only visible and raised above the surface of your bottle because it uses a Solidify Modifier, and suddenly you Join it to the Patron bottle object which doesn't have that modifier (let's assume), then of course the influence of that modifier is gone, and instead it comes under the influence of whatever modifiers might be on the Patron bottle object.

Update:

So, after taking a glance at your .blend, as expected, the label is one of those objects that has its origin off... somewhere over there.

I made the names visible, so hopefully this will help you figure out what is what. By the way, here's how to do that:

Here's the .blend with names made visible and the hierarchy expanded.

To summarize the problem, It looks like you joined some objects you didn't mean to, and parented some objects in ways you didn't mean to.

You can select parts of your mesh within Edit Mode and press P to seParate them back out into their own objects.

To un-parent an object you can select it and press AltP.

So see if an object has a parent, and check the parent's name, besides looking in the Outliner you can also look here:

Good luck! With the info I explained above it shouldn't be too difficult to reorganize, and I'm sure you will gain some useful knowledge in the process.


Not to take anything from @Kristof Meirlaen's answer, I take a more simplistic approach -

An easy way overall is to texture a 2D plane in the 3D window with the video of the pot, or preferably, make it the background image/video.  If it is made the background don't forget to increase it's opacity to 100% in that background image panel.

Back in the 3D window, texture another 2D plane with an "Alpha Layered" (See below) video for the poof-of-smoke.  You have to set the smoke plane to start at the desired Blender frame number so it doesn't start up until required.  This is done in the texture properties under the "Image tab" -->"Start".(bottom left of the tab)  Enter the required "BLENDER TIMELINE" frame number where the smoke video is to start.

You'll also need to tick the "Auto Refresh" box to make it play the video.

On the premise that you are using the background image option, view it from the camera so you'll see the pot.  Align the camera so the smoke is positioned exactly as desired.

Render it all with the Open GL renderer for speed, or Blender's internal renderer if you like watching the grass grow!  (Top left of 3D window under the "Render" drop down menu.

The anim here took me 45 mins, and admittedly a quick and dirty example.  It was started from scratch, pot, particles, smoke and bubbling liquid all created in Blender.  The smoke puff was as described above however, a "Cumulous cloud" made with Blender's cloud generator and saved as an alpha layered pic to be textured onto a 2D plane.  The plane was animated. (scaling, rotated etc)

Hope this gives you something to start from...

PS:  You mention that you're new so some info -
To align the camera whilst viewing through it, select the camera (right click on it), press N, ---> open the "View" tab and tick "Lock to camera view".

You can then use the mouse and buttons to move/rotate/zoom the camera to wherever you like as you would a first person view in a game.

Don't forget to untick that box again, or you could lose the smoke's alignment with the background image.

Further hint - if your machine does as mine does occasionally, starts rendering in solid mode, hit escape, and start the render again.  The 2nd attempt usually works properly.

If you don't have a "Smoke-poof" video, an "Alpha Layered" image might do.  Just animate the 2D plane that it's texturing, by increasing it's size (scaling) from nothing to maximum over a few frames and move the entire plane upwards. Once it's at a decent size,  make it rotate a little, or even shrink back to nothing if that suits. The smoke's shape can also be distorted and bent in various stages by doing that to the 2D plane.

Making a puff of smoke is a simple matter in Blender.  Start with the cube, scale it up a little and press T to bring up the Tools panel at left.  Open the "Create" tab and at the bottom, press "Cloud Generator".   This will open up a small menu.  Tick 'Particles', then select Cumulous from the list, press "Generate cloud" button.

A cube inside your original cube will appear with what looks like a clog of black cotton inside that.  Press F12 to render it as a good looking cloud!

The pic is taken from the 3D window's camera so it should be lined up fairly well.  If not adjust the view as mentioned above.

To give the cloud's outer edges "fluffiness" and make it's surrounding background invisible, we have to add transparency. We do this by rendering it with an alpha layer.

Goto the right hand properties panel (SH-SPACE), select the camera icon near the top. (2nd from left) and after setting it's output dimensions and folder etc,  goto the "Shading" tab and change the Alpha setting to "Transparent".

In the "Output" tab, select the format at left to PNG, compression to about 15$ and at the right, click on it's RGBA box. (The A is for alpha)

In the timeline set the frames to start at 1 and end at 1 also.  This will produce a .png alpha layered pic file in your nominated output folder.

From the 3D window press "N" to bring up the viewport's parameters.

Open the "Display" tab, tick "Only Render" and "World Background".
Press N again to close the panel

Go back up to the top left of the 3D window's Render Drop-down and click on "Render animation".  We have to use Blender's internal render in order to get a proper cloud pic.

At this point you can make a cup of tea/coffee while it renders the cloud.  It does a good job though.

This can be your smoke "poof" image which can be coloured, shaded, distorted, shaped and animated any way you like.

The pic shows how Cu clouds can look in their original form.  This pair was made to sail lazily across an alien sky.


How do I Start in the GameEngine or Blender?

I guess you have not made a standalone game yet. So you open blender. And in the top bar, you change the Blender Render option to Blender Game.

Then you can go on. When you are do what you want, press P while the mouse cursor is in the Blender 3D View Editor to get a grasp of how your game is working.


How to detect mouseup event in a blend4web sensor manifold

Thankfully there is a simpler solution. The mouse click sensor passes a 1 to the manifold's logic function on mousedown event and a 0 value, when the mouse button is not pressed. So we write a logic function which returns its value inside a CT_CONTINUOUS type manifold, which according to the documentation behaves like this:

  Manifold control type: continuous. Such manifold executes the callback
  with a positive pulse (+1) each frame when the result of evaluation of
  its logic function is non-zero. It executes a callback with a negative
  pulse (-1) once the logic function evaluates to zero.

So your callback function will have the 1 pulse on every frame when the mouse is down and the pulse -1 on the first frame after the mouse button is released.

function registerMouse() {
  console.log("mouse registered");
  var clickSensor = m_ctl.create_mouse_click_sensor();

  function logic(triggers) {
   if (triggers[0])
    return 1;
   else
    return 0;
  }

  function cb(obj, id, pulse, param) {
   console.log(pulse);
   return;
  };

  m_ctl.create_sensor_manifold(null,
                               "mouse",
                               m_ctl.CT_CONTINUOUS,
                               [clickSensor],
                               logic,
                               cb,
                               );
 }

Notes

In this simple example it would be sufficient to use the default logic function (pass null instead of a function), however you should definitely use this scaffolding, when you have multiple sensors in your manifold.

You can also use CT_TRIGGER type manifold


My Viewport looks like im having a graphics bug

Solution:

Select your camera and go into the properties. The near-clipping of the camera is to small.


Material that's only visible if seen through another material

Window:

Material seen through window:

Viewport render showing Suzanne through window:

Viewport render showing invisible Suzanne next to window:

What I have is a Glass BSDF window, slightly off white in color so to be seen, and with a 1.00 IOR to be in all rights except one a Transparent BSDF. Glass BSDFs refract rays like glass refracts light, and I can test for that refraction (called a Transmission Ray).

My Suzanne has a material (red Diffuse BSDF, but can be anything) that is mixed with a pure white (clear) Transparent BSDF. The mix Fac:, whaddoyouno, just happens to be a Transmission Ray :)

.blend file:


EEVEE Sub Division Surfaces with Blocky Shading

The object's scale is too large or too small for Eevee to properly apply the shader. Apply the scale so that everything is in order.
I just had the same problem and it solved the problem for me.


How to place duplicated objects at various locations/rotations in a scene?

This sounds like an XY problem. If you're trying to make an animation and move them all together, it's probably easier to just duplicate them a bunch of times and then parent the objects to a common empty.

Duplicate and move them. You can do the  rotation by putting the 3D cursor where you want the center and setting the Pivot Center to '3D Cursor'.
Add an Empty object at the center point. If you used the 3D cursor rotation method, it will be added at the correct point to start!
Select all the objects you want to move together, and then the Empty you just added. Press Ctrl+P to parent them.

Now when you move the  Empty around (or rotate it), the other objects will follow it.


How do I reparent an entire model (and accompanying objects) to another armature?

This does indeed sound scriptable. Here's some docks.
Python API on parenting: https://docs.blender.org/api/current/bpy.types.Object.html?highlight=parent#bpy.types.Object.parent
Parenting Inverse explained: https://docs.blender.org/manual/en/latest/scene_layout/object/editing/parent.html?highlight=inverse%20parenting
The process sounds simple enough, though I don't know for sure without seeing the direct file.


Unwrapping head geometry similar to Epic's MetaHuman Characters?

Perhaps something like this would be suitable :

This was achieved manually (but the manipulation of the UV could potentially be automated) from the female base mesh mentioned, using the following steps :

In Edit mode, select the whole mesh and Clear Seams. Mark the back of the head seam as suggested.

In the UV editor, select all and 'unpin' all vertices (the downloaded mesh already included some pinned vertices). Perform a basic 'Unwrap'.

In the UV editor, re-position and straighten the island. Select all the bottom row of vertices.

Scale to zero in the Y axis (SY0Enter). Move and scale them along the bottom edge of the UV space (G and S). 'Pin' them (P).

Select the left-hand edge. Rotate them so they are close to vertical.

Scale to zero in the X axis. Position, scale and 'Pin' them in place along the left-hand edge of UV space (as for bottom row).

Repeat on the right-hand vertices.

Perform another basic 'Unwrap'

It would be feasible to script some of these actions (so you could potentially select an edge of vertices and then have an operator to automatically position and scale them along an edge).
Note that the 'basic' Unwrap function takes account of the 'pinned' vertices, leaving those in position and unwrapping the mesh with those restricted. However, some of the other unwrap functions (such as Cylinder, Cube, Sphere) ignore the pinned vertices and so cannot be used for this.

EDIT: Removing the 'T' from the forehead and unpinning a few vertices down the edge, then Unwrap again produces this - which looks pretty close to your example :


How to render postprocessed light object and THEN object from another layer that covers it? Preferably eevee solution

I dont know why but suddenly it works

Seems to worked after i set up cryptomatte like for cycles even though it doesnt work with eevee so yeah, like this:

I guess glare threshold is working like this so maybe i changed lightning and it didnt affect the rest or? Well anyway its solved now.


BGE how can I run a sound file while a key is pressed?

You can have a sound play on a key press and stop on the release of that key by using the "Play Stop" setting on the sound actuator

When the sound actuator is set to "Play Stop," when it receives a positive pulse from the connected controller, it will start playing the selected audio file. When it receives a negative pulse form the connected controller, it will stop playing the selected audio file. In this case, we are using a Keyboard sensor, which simply sends a positive pulse to the connected controller on key press, and a negative pulse on release.


Considering the map part corresponds to an equirectangular projection, we can do a plane to sphere deformation by the approach indicated here.
Making a sphere from a grid
The base grid should be in the proportions of width/height = 2 as we map as longitude is 360 degrees and longitude is 180 degrees.
If the grid is parallel to the front view, we can give it some flat subdivisions and bend it 180° around X and 360° around Z.
To unwrap it (as we'll use UV mapping), still in front view and edit mode use U then "Project from view (bounds)".

The shader to place the map part
From the given image, we can see that the map part is (approximatively) from -160° to -126° in longitude and from 28° to 64° in latitude.
What we have to do:

Determinate if a given point is inside the map part
Remap this map part at the position given by its coordinates ranges

In X (or U) in the UV map, a given coordinate is between 0 and 1. The longitude is between -180 and 180. So we can shift the map part coordinate by 180 and divide it by 360 to go from the longitude space to the UV space.
Same thing from Y (or V).
With this calculation (done by AddDivide node group in the blend below) applyed to the map part coordinates, we can test if a given UV map point is inside the map (done by Between node group in the file below).
This first calculation indicates if the texture has to be drawn on the sphere for a given UV map point.
Now to draw the texture at the wanted location, we need to remap the UV point to the texture space in the good location and proportion.
This is done by substracting the min map coordinate in UV space with UV point coordinate then divide that by the map range in UV space.
X in texture space = (X in UV space - min map X in UV space) / (max map X - min map X in UV space)

This part is done by Remap01 node group in the file.
Last, we combine all together in a single node group so that you can apply it to several map parts.

This node group is called RemapEquirectangular and has the following parameters: the UV coordinates, min and max longitude, min and max latitude.
The result is the following:


In both examples the object of the exercise was to have a cube dropped with physics and still have it ending up exactly on target.

This was achieved by baking the physics actions and manually adjusting (biasing) those resultant sequences to get the cubes to where they're supposed to be.
To do this, the graph editor was used to drag the X/Y axis' keyframes as a whole up and down in the Editor's Y axis. (one axis at a time and with only the appropriate keyframes selected)
Select the keyframes and press keys G Y to ensure no inadvertant drift to the left or right.
-===============-
For those without Graph editor experience...
Set up a test file and give a cube horizontal momentum then switch it's physics to Dynamic to drop it to a ground plane that has passive physics.
Use the Graph editor's keyframe handles to adjust the cube's X/Y axis Bezier curves into a straight line (end of the slope) at the drop frame. (where you switch from Animated to Dynamic physics)
This will ensure the cube has inertia at the switchover and will slide across the plane when it lands.
Once it's landing, bouncing, & sliding as desired, bake the entire sequence from frame 1 to where it comes to rest.  (in the bake panel, tick all boxes and enter the frame range required)
This will snapshot every frame in the selected range and store the action as keyframes, but with a catch!
Baking will remove constraints that might exist on the object but not do the same with the physics.
Consequently - Don't play the animation just yet !
Instead, manually switch off the physics, and also get rid of the two redundant physics strips left behind in the Dopesheet.
With them gone it's safe to play the baked frames and carry out the Graph editor biasing.


Blender is deleting all the selected vertices, but not all the vertices you want to delete are being selected.

This is because by default blender will not select vertices hidden behind other geometry when using a selection tool like Lasso or Box. To select all geometry including vertices obscured behind other geometry, either perform the selecting in Wireframe view (Z):

Or turn off Limit selection to visible in 3D view > Header to select obscured geometry in solid view:


Blender 2.8 - Object/Mesh Dimensions perplexity - Help please

Your scale values are locked

Click locks to unlock.
Then scale your model to match reference sword. Scale values may not be 1. You can apply scale (Ctrl + a) to make scale values 1.

Or else switch to edit mode, select all vertex and perform the scaling. Doing so won't alter your model scale values


I figured it out: Go into Edit Mode, select some of the bevel's Faces, Click Select → Select Similar → Face Regions (this will select the text's bevel), create a new Vertex Group and assign these selected Faces to it, create a new Material Slot and assign these selected Faces (from the Vertex Group) to it, add a new Material to this new Material Slot and then you're done!


This can happen with “custom split normal data” on the geometry. Go to the Properties tab and clear the custom split normals data. That should fix it.
This is technically a duplicate question.


How to remove UV information from an object

The '-' button in the mesh tab may be what you are after:


How can i connect many faces across many vertices?

If you select both the edge loops, press W to bring up the specials menu and then select Bridge Edge Loops or press E.  This will draw faces between the edge loops.  If they are of the same number of verts, the faces will be quads.


Looking for a platform/site where I can render my scene at no cost

First - there is no free rendering.

With that out of the way here is one option - https://www.sheepit-renderfarm.com/

If you ask me, your best bet would be to optimize your own setup or if you are planning on seriously getting into Blender invest into a rendering setup.
What are you trying to render and what is your setup(both hardware and settings in Blender).


How to Blend Animations - Always Fails for Me

If all the poses are on the same armature OR if all the poses are on identical armatures (meaning armatures with the same number of bones and with the same bone names), you can create a pose library with all the poses you want saved to it. Then you can attach this pose library to a project file containing the armature that you actually wish to animate, and all the saved poses will become available to it. The Pose Library is created and accessed from the Object Data tab of the Properties Panel (while an armature is selected), then under the Pose Library section).
To blend the poses during animation: Make sure you're in Pose Mode any time you are doing anything with the Pose Library. After choosing poses in the Pose library one by one (the poses become listed in the library when they are saved to it), you must click the "+" icon to save the pose to the library. Only selected bones are affected by any changes in pose that are brought about by using the pose library, so keep this in mind. You can keyframe any pose activated in the Pose Library (using the "magnifying glass" icon to apply the pose to the currently selected armature) using your standard workspace windows and editors as you normally would. Then you can choose another pose from the library at another frame, and keyframe again to get interpolation between the two poses.
If it turns out that the desired poses were originally from different armatures, this can all still be done, but extra steps are required. You would need to open the extra versions of the armatures, and for each one, select all its bones in Pose Mode, and then Ctrl + c to copy all the pose positions of all selected bones, then select a different armature -- the one you eventually want to animate -- in Object Mode, switch to Pose Mode, select all its bones, and Ctrl + v to paste those pose positions to this other armature, save the new pose to your pose library, and then continue with these steps until you have added all the needed poses to the pose library. Your pose library can be saved and appended to other files also, which can be handy. This way, you don't need all of your armatures in one file to get the pose library built. That said, it might actually be easier to append the armatures to the file containing the pose library instead of the other way around, as this might entail less chance of pose library corruption. So, you could append each armature to the file containing the pose library, add the pose of that armature to the pose library, save everything, and append a new armature to the file containing the pose library, then save the new pose to that library. This might be the preferred approach if none of your desired poses are on armatures that all exist within one single file. If they do, then simply add their poses to the pose library all in the same session, one at a time, and then get rid of the armatures you no longer need afterwards. You should end up with one armature and many available poses. Don't delete any of the other armatures until you know all your poses work.


Extruding with precision and proportions

When I'm extruding, then I hold down control and left-click. This method is keeping it proportional. Another method is by using curves - you parent mesh to curve and then you can easily edit wires and such things. I hope this post helped you.


Can't see animation after exporting to video

Hover your cursor over the grid and key Esc until the grid goes away (probably twice).

What has happened is that because you selected Image Editor in the Properties panel > Render tab > Render dropdown, your computer rendered your video by switching the screen that was previously there (a 3D Viewport) to a UV/Image Editor.

I generally select New Window, because then you can simply X out of the window once it is done.


Passing spline vertex property into graph to add or remove it from list

I am assuming you don't want to use a bit mask list in the node tree and instead want to use a native spline attribute accessible from the UI. I don't think Blender allows custom attributes for splines, see this and this. So I think your only option is to utilize the Weight or the Radius of the handles to determine their state. For instance, you can get the weights of the handles using the following expression:

[point.weight_softbody for point in obj.data.splines[0].bezier_points]

Then you check if the weight is larger than 0.5 by adjusting the expression to be:

[point.weight_softbody > 0.5 for point in obj.data.splines[0].bezier_points]

Now, simply use the output boolean list as the mask for your handles using the Mask List node. To include a point, increase the weight more than 0.5. Alternatively, you can use the radius if you are not utilizing it somehow.


The Remesh modifier doesn't seem to work on flat objects so you need to give your text some volume/thickness.

In edit mode select all the faces and press E and extrude the text a little to give it some volume.

The Remesh modifier will now work but will remove all but one letter of the text until 'Remove Disconnected Pieces' is unchecked on the Remesh modifier.


If I understand what you mean, you should change type of curve from 2D to 3D


Particle systems can't be linked into a scene dynamically. So you can't change the shape of the hair from what it is in the original file. You'll have to append the emitter as a local object.

An alternative, for braided hair that could work well, is to model the braids as a mesh object with either particles wrapped around it or a texture. Then use the curve guides+hooks+armature proxy system to animate that.


AO Maps, Directed AO Maps and Cavity Maps, Oh My!

Your question is really multiple questing so should probably be split up, but I'll answer what I can anyway.

Ambient Occlusion is mostly a hangover for old rendering methods where there was a a global 'ambient' light/colour which was used to brighten the scene in lieu of more proper global illumination techniques such as pathtracing (see https://en.wikipedia.org/wiki/Shading#Ambient_lighting). This ambient lighting method is used by blender render for example. Ambient occlusion is a way of improving on this by re-introducing dark shadows in cavities. Because of this, unless you are using a very low number of bounces, this should not be necessary at all in cycles. If you do need to, ambient occlusion maps are usually used to multiply the diffuse texture (often this is actually merged into the one texture).

parallax mapping is just an advanced form of bump mapping which accounts for view angle and is really for realtime engines. When rendering with cycles you are better of just trying proper displacement mapping either through the modifier or the experimental rendertime feature

In my understanding, cavity maps are just textures that allow you to distinguish cavities in your model, they can be calculated in any number of ways. I imagine various software calculates them differently, and ambient occlusion maps can certainly be used as cavity maps. They are largely used for masking and effects in various texturing tools.

I haven heard of directed AO maps, but your article suggests that the directed part comes from the light source, so this would easily be doable the same way as a normal AO map assuming that the light and the object the map is for are both static. I guess it might be possible to do something clever with normal + light direction to control the strength of normal AO to get a similar effect.


Select the mesh and use Alt P to remove the parenting.

Select the object and (in object mode) apply rot and scale (Ctrl A - rot and scale).

Do the same with the armature object.

This is a good habit that will set your rot and scale to default (0,0,0 and 1,1,1) without modifying the objects, and it's always a must if you want to use automatic functions and addons.

Then select the mesh and (in edit mode) select all and recalculate normals (Ctrl N).

Now select the mesh, shift select the armature and press Ctrl P - with automatic weights.

This procedure leads to a better starting point, but consider that it will be very difficult to animate your model without any IK device.

Search for IK tutorials or watch the complete human rigging free course on You Tube by Nathan Vegdahl.


Why does the material tab has a different layout?

Looks like it is a Cycles render file, and the materials look like that since they mention 'Diffuse' etc. Your faces must be selected to use the assignment button, but in this particular file they might already be assigned but the material might not be set to use a color for the viewport....


You can use rigid body physics to simulate the particles filling a containing mesh. This is a different approach from using the particle system.

1) Create the container geometry. Make sure there is an opening for the particles to enter.

2) Create the particles to fill the container. The particles can be created by add a single sphere to the scene. Then using 3 array modifiers to generate the collection of spheres. Apply the modifiers. (see explaination) Then, in edit mode partitioning the mesh using  P> Selection to separate the selection into a new object (see explanation ) When done, you should have the container and particles which will fill it.

3) Add a solid body physics to the container. Duplicate the settings shown here. The default settings are modified do the container will hold something, but not move during the simulation. Also, the mesh is used to contain the particles.

4) Apply solid body physics to a single sphere. The default settings are modified to allow the spheres to move and to ensure that the sphere stop moving relatively quickly once in the container.

5) Copy the physics settings to all of the spheres. Select all of the spheres, deselect the sphere with physics, reselect it last so it is the active object. Then use the physics toolbar to apply the physics to all selected objects. (see explanation

6) Set the final timestep for the simulation to 100.

7) The default physics settings may not get the desired results. Modify the physics setting for higher accuracy. Depending on the number of particles, it might be necessary to tradeoff accuracy for simulation time by decreasing the number of iterations and steps. Once done, press 'Bake All Dynamics'. It may take several minutes to complete the simulation. The progress bar in the info bar will show the progress in the simulation. Once done, the simulation that was used in the animation will be completed.

8) If the simulation is settled down on the last frame, this is a reasonable approximation of the filling in the container.

An example with an alternative container.

This solution can be used for any shape container. More particles can be used, the simulation times will be higher with more particles.

Blend file -


Cycles is texture stretching and not applying scale correctly

Try connecting your texture coordinates node to the mapping node like below. Then you dont need to worry about UV's at all.


By using proportional editing, vertices are moved in the wrong axis

Have you applied scale to the object? Object>Apply>Scale. Did you use "Connected" in proportional editing? Also have you checked that X-mirror is not enabled in options?


OBJ Exporting MakeHuman Character from Blender 2.8 with Textures as OBJ file - NOT .FBX

When uploading a OBJ to mixamo, you need to supply all textures as image files together with the mesh, packed in a ZIP file.

As an example, I have textured a cube. This Cube exports out as 3 files:

the Mesh as the OBJ file
the Material Manifest as the MTL file
the Texture as a TIF file. If you have other textures on your model, those will come out as their respective formats.

If you open your MTL file with a text editor, you can see the path the texture is supposed to be located at in relation to the OBJ file. In my example, there is no folder, just the name of the file, which indicated that the texture is supposed to be on the same level in the file folder hierarchy than the OBJ file.

ZIP these 3 files together and upload them to mixamo.

Tip: Blender by default has a very high Specular Default Value. This will make your object very reflective, to the point where you will no longer be able to see the applied materials and textures in mixamo. You can turn down Specularity in Blender, or, if like me you constantly forget, do it in the MTL file.
Change the Specular Value (Ks) to something much lower, like Ks 0 0 0

All MTL file parameters explained

You have no materials applied to your meshes. Select any mesh part, go to the Properties Window, select the Materials Tab and add a new Material Slot. Then select a material from the dropdown list, like the "Skinny" material that you have created. If your image texture is still in place, it will now show up in the preview and you should be good to go.


How to resync the linked proxy to incorporate changes in the main file

One way I found- roughly speaking- is to close both the files and open them again hereby resyncing.
Another more appropriate way is:
Outliner change Display mode  to blender file
Then you will see the linked file-> right click you will get options to relocate, reload.


How can you increase the number of octaves for the Musgrave Texture in cycles?

Looking at the source code here the musgrave nodes detail value is kept between 0 and 16 and passed as the octave value for the noise function.


In your render settings enable freestyle.

Under render layers add a freestyle line set.

The line thickness is a quick way to adjust the size of the line drawn. For more control over what edges are used to draw lines and how the lines are drawn, you will need to look through the freestyle documentaion.


How to make a cast iron shader that has scrapes?

The easiest way to do it is to use the Box option of the Image Texture node:

Find a scratch texture image:

Create this node chain: Texture Coordinate > Mapping > Image Texture > ColorRamp > plugged into the Roughness socket of the Principled BSDF. In the Image Texture, switch from Flat to Box so that the image is projected on all the axis. If needed, increase the Blend so that no seam is visible. Play with the ColorRamp to increase or decrease the Roughness. Choose the Principled Base Color:

Here is the kind of effect you can get:


Is there a way to change mouse zooming to go left and right instead of up and down?

Yes, you can change the Zoom Axis to be horizontal instead.


A ".blend" file is a an entire project that consists of 1 or more scenes.

A .blend file can have a scene dedicated to VSE output.

Any .blend project can "Append" another .blend's scenes.

Navigate to the required .blend project and select the Scene category.

Once you have appended or "imported" an external scene it is available to add to the timeline (shift-A) in the first .blend file's VSE scene as a scene strip.


Edit Mode Crosshair Cursor Invisible in 4K resolution

This is the culprit:

wm_cursors.c:
#ifdef _WIN32
/* the default win32 cross cursor is barely visible,
* only 1 pixel thick, use another one instead */
if (curs == CURSOR_EDIT)
curs = BC_CROSSCURSOR;
#else

I downloaded the source code and compiled blender myself to remove this. This way it uses windows's default precision cursor which you can change to whatever you want.


Sure, why not. The # symbol in the input field tells blender that you are inserting scripted driver with no variables. Everything after # will be put into the driver's expression field.

You can get a list what functions are build-in by typing bpy.app.driver_namespace[' into the console and hitting CtrlSpace.

You can totally input #cos(frame*pi/20) to match the curve you provided in the question.


I figured it out. I opened the MPEG-4 in VLC to see whether it might just be a compatibility problem and VLC played the file with audio! So it appeared to be a container or audio codec compatibility problem with Quicktime and Apple preview.

Switching the audio codec from MP3 to AAC worked.


You can use the same methods as you would use to apply distortion to a node-based material - ie, distort the input coordinates.

For example, change the script to include a DistortFactor and DistortScale as follows :

shader basic_function(
point Pos = P,
float DistortFactor = 0.0,
float DistortScale = 1.0,
output float f = 0)

{

vector distortion = noise("perlin", P*DistortScale)*DistortFactor;

float x = Pos[0]+distortion[0];
float y = Pos[1]+distortion[1];
float z = Pos[2]+distortion[2];

f = (z + 0.5 - floor(z));
}

This will give you two additional inputs on the script node to allow you to adjust the amount of distortion and its scale. The 'noise' function is used to generate distortion based on the point vector (P), scaled by the input DistortScale and multiplied by the input DistortFactor - and added in to the coordinates used to generate the "stripes".

This can produce the following result :

EDIT : As @LarryGritz pointed out, the above solution is generally only of use for static objects - any object using this shader which is moving through the scene (whether location, rotation, or scale) will move through the distortion and the pattern will change as it moves. To address this we need to transform the World coordinates of 'P' into Object coordinates so the OSL code becomes the following :

shader basic_function2(
point Pos = P,
float DistortFactor = 0.0,
float DistortScale = 1.0,
output float f = 0)

{

point Pobj = transform("world","object",Pos);

vector distortion = noise("perlin", Pobj*DistortScale)*DistortFactor;

float x = Pobj[0]+distortion[0];
float y = Pobj[1]+distortion[1];
float z = Pobj[2]+distortion[2];

f = (z + 0.5 - floor(z));
}

Note the use of the 'transform' function to convert from 'world' to 'object' coordinates (similar to the Vector Transform node in node-based materials).


Render very slow using GPU from Radeon Sapphire RX 580 vs CPU

First of all the GPU needs to compile the Kernel first ( which takes more time in case of your cube than the actual render itself ) - this is done on the cpu.

Second Radeon need bigger tiles to have enough work to even get remotely saturated. 256x256 is a bare minimum and in case 2.79 or below is used you should even go Fullscreen ( 1 or 2 tile ) for best performance ( dont use progressive ! ) - each call to the Gpu halts it for a short time - the more of theese calls for example when progressive is used come together - like when eavery sample needs to be updated to the cpu the gpu spends most of the time waiting for data.

Take a more complex scene and try again.


How to create a flat mesh and give it a thickness by bmesh?

I tested the script and it created some additional geometry, so i added these two lines

for face in bm.faces:
    face.normal_update()

before calling the bmesh operator and it worked for me


Keying set failed to insert any keyframes

See screenshot: The solution was to remove the keying set at the bottom and when selecting the camera, to remove the 2 keying sets that were there.

I however have no idea how this was enabled, and at this point of time I also don't know the goal of this keying.

After removal, the I key worked again.


How to set render filepath using blend filename in python

From iKlsR's answer:

  You can get the filename with
  bpy.path.basename(bpy.context.blend_data.filepath). This will return
  it as a string without the path attached.

You can then assign the render output path with it:

import bpy

filename = bpy.path.basename(bpy.data.filepath)
if filename:
    bpy.context.scene.render.filepath = filename

Note that basename will include the file extension (.blend). You can strip it using os.path.splittext():

import os
import bpy

filename = bpy.path.basename(bpy.data.filepath)
filename = os.path.splitext(filename)[0]

if filename:
    bpy.context.scene.render.filepath = os.path.join("/media/data/render", filename, filename + "_")


Is there any tree structure document which tells about how blender is structured?

Use the Datablocks view option in Outliner:


How to select only the inner face of a mesh object?

You've got the solidify modifier on, that's just a virtual face relative to the original mesh. Apply the solidify modifier and then you should be able to select only the inner faces.


Rather than trying to emit flames onto the wall, animate the flame texture and mix it into the wall material.

Here I animated the z-location of the mapping node to "move" the wave texture and then multiplied it with the wallpaper colour.

Note that from 2.81, or daily builds until then, some of the texture nodes now have a time factor so we can properly animate the textures instead of moving through them using the mapping node.


How to add a new matter for physics in blender ? (aluminium, titanium etc.)

Extra menu script.
AFAIK there is no simple way to tack extra material / density pairs to the operator enum. It is however quite simple, via scripting,  to add a menu of extra options.

Quick slap together proof of concept using Templates > Python > UI Menu Simple  Material "Foo" has density 12.0, "Bar" 0.01,  etc.
import bpy

extra_mats = (
    ("Foo", 12.0),
    ("Bar", 0.01),
    ("Goo", 11),
    )
class SimpleCustomMenu(bpy.types.Menu):
    bl_label = "Extras"
    bl_idname = "OBJECT_MT_simple_custom_menu"

    def draw(self, context):
        layout = self.layout
        for name, p in extra_mats:
            op = layout.operator(
                "rigidbody.mass_calculate",
                text=f"{name} ({p})"
                )
            op.density = p
            op.material = "Custom"

def draw_menu(self, context):
    row = self.layout.row()
    row.operator("rigidbody.mass_calculate")
    row.menu(SimpleCustomMenu.bl_idname)

def register():
    bpy.utils.register_class(SimpleCustomMenu)
    bpy.types.PHYSICS_PT_rigid_body_settings.prepend(draw_menu)

def unregister():
    bpy.utils.unregister_class(SimpleCustomMenu)
    bpy.types.PHYSICS_PT_rigid_body_settings.remove(draw_menu)

if __name__ == "__main__":
    register()

    # The menu can also be called from scripts
    bpy.ops.wm.call_menu(name=SimpleCustomMenu.bl_idname)


Animation Nodes's vector distance : can't make it work like in the official example

The Empty in your blend file isn't in the boxes' plane but 8.4 BU above it. With the current node setup the boxes will only be affected when the Empty is closer to 1 BU to the boxes' center, which perhaps didn't happen if you only moved the Empty in top view.

If the Empty is moved within the Z=0 plane the boxes will scale correctly.

You might also want to consider adding a Math/Multiply node after the Vector Distance node, or use smaller boxes, if you want to affect more than one box at a time. With the current size of your boxes only one of them will be closer than 1 BU to the Empty.


How to give my armature skeleton a body?

The approach is reversed. You need a model first, then an rig/armature to put into the mesh, then bind the mesh to the armature and then pose it.
Beside it looks like you posed some bones at the legs in the wrong direction as they point upwards.
Start with a basic tutorial to get the basic knowledge:
https://www.youtube.com/watch?v=f2pTkW-1JkE


Do I need to update sockets of InvokeSubprogramNode from script

I still plan to make it easier for other addons to use AN so anything I say here might change in the future, not very soon though.

Before you can create the sockets in the Invoke Subprogram node you need to do three things:

Create the subprogram itself (loop, group, script)
Tell the Invoke Subprogram node which subprogram it has to invoke:

invokeSubprogramNode.subprogramIdentifier = loopInputNode.identifier

Every node has an unique identifier (some random string) and every subprogram has an identifier. The identifier of a subprogram is the identifier of its 'owner' node. 'Owner' nodes are: Loop Input, Group Input, Script. Every subprogram has to have exactly one of those.
Update the sockets sockets in the Invoke Subprogram node by calling this function: https://github.com/JacquesLucke/animation_nodes/blob/master/nodes/system/subprogram_sockets.py#L12

animation_nodes.nodes.system.subprogram_sockets.forceSubprogramUpdate()

Alternatively you can also integrate your code into a Template, which is a special class that makes it easier to create node groups programatically.

Here is an example of a template: https://github.com/JacquesLucke/animation_nodes/blob/master/templates/arrange/distribute_instances_on_spline.py

Even if you don't want to subclass a class of AN you can see how the nodes are created there.


Video Editing, Is there a way to make the speed value animated?

From my experience it is much easier to use speed control disabling Use as speed.

You can then just re-map frames using graph editor (after you've pressed I over the Frame number).
Allows for smooth speed transitions or sharp ones, whatever you like.

This makes it also much easier to pick the exact frame from which the speed will be changing.


Blender 2.8 Python : How Do I Find My Material Output Node (and assign displacement)

The Material Output can be retrieved by name or by type. If you know the name of the node and the variable nodes contains a reference to the nodes of the material's node tree, then you can access the Material Output node through a look up where the name is used as key:

material_output = nodes.get("Material Output")

A material may contain more than one Material Output node or it may have been renamed. In this case you could search for a node that is of type OUTPUT_MATERIAL.

material_output = None
for node in nodes:
    if node.type == "OUTPUT_MATERIAL":
        material_output = node
        break

In both cases it may happen that no Material Output node exists, for instance because you're working on an existing material where it was deleted. Therefore you need to check if material_output is None and if it is create a new node.

if material_output is None:
    material_output = nodes.new("ShaderNodeOutputMaterial")

When you're creating a new material from scratch you do know that both the Principled BSDF and Material Output nodes exist and you can access them by name.

In order to connect two nodes you need access to the material's node tree links. Assuming the variable links references these, you can add new links through the new() function. The first argument is the input socket of a node and the second argument is the output socket of a node.
Assuming that principled_bsdf would reference a Principled BSDF node and base_color an Image Texture node, you could connect them in the following way:

links.new(principled_bsdf.inputs["Base Color"], base_color.outputs["Color"])

The following code shows how to create your desired node setup by creating a new material which contains a Principled BSDF and Material Output node by default.

import bpy

# Define names and paths
material_name = "Example_Material"
base_color_path = "" # Add your path here
normal_map_path = "" # Add your path here

# Create a material
material = bpy.data.materials.new(name=material_name)
material.use_nodes = True
nodes = material.node_tree.nodes
links = material.node_tree.links

# Since you want a Principled BSDF and the Material Output node
# in your material, we can re-use the nodes that are automatically
# created.
principled_bsdf = nodes.get("Principled BSDF")
material_output = nodes.get("Material Output")

# Create Image Texture node and load the base color texture
base_color = nodes.new('ShaderNodeTexImage')
base_color.image = bpy.data.images.load(base_color_path)

# Create Image Texture node and load the normal map
normal_tex = nodes.new('ShaderNodeTexImage')
normal_tex.image = bpy.data.images.load(normal_map_path)

# Set the color space to non-color, since normal maps contain
# the direction of the surface normals and not color data
normal_tex.image.colorspace_settings.name = "Non-Color"

# Create the Displacement node
displacement = nodes.new('ShaderNodeDisplacement')

# Connect the base color texture to the Principled BSDF
links.new(principled_bsdf.inputs["Base Color"], base_color.outputs["Color"])

# Connect the normal map to the Displacement node
links.new(displacement.inputs["Height"], normal_tex.outputs["Color"])

# Connect the Displacement node to the Material Output node
links.new(material_output.inputs["Displacement"], displacement.outputs["Displacement"])

The following example is for editing an existing material:

import bpy

# Define names and paths
material_name = "Example_Material"
base_color_path = "" # Add your path here
normal_map_path = "" # Add your path here

# In case you're modifying an existing material you
# will have to check whether or not it contains a
# Material Output node. If it doesn't it has to be
# created.
material = bpy.data.materials[material_name]
material.use_nodes = True
nodes = material.node_tree.nodes
links = material.node_tree.links

# In case you don't know the name of the nodes you can also search
# by type. This can be useful when you edit an existing material
# where the nodes could've been renamed.

# Find the Material Output node, if it exists
material_output = None
for node in nodes:
    if node.type == "OUTPUT_MATERIAL":
        material_output = node
        break

# Perhaps the nodes hasn't been found then you'll have to create it
if material_output is None:
    material_output = nodes.new("ShaderNodeOutputMaterial")

# Create a Principled BSDF nodes
principled_bsdf = nodes.new("ShaderNodeBsdfPrincipled")

# Create Image Texture node and load the base color texture
base_color = nodes.new('ShaderNodeTexImage')
base_color.image = bpy.data.images.load(base_color_path)

# Create Image Texture node and load the normal map
normal_tex = nodes.new('ShaderNodeTexImage')
normal_tex.image = bpy.data.images.load(normal_map_path)

# Set the color space to non-color, since normal maps contain
# the direction of the surface normals and not color data
normal_tex.image.colorspace_settings.name = "Non-Color"

# Create the Displacement node
displacement = nodes.new('ShaderNodeDisplacement')

# Connect the base color texture to the Principled BSDF
links.new(principled_bsdf.inputs["Base Color"], base_color.outputs["Color"])

# Connect the normal map to the Displacement node
links.new(displacement.inputs["Height"], normal_tex.outputs["Color"])

# Connect the Principled BSDF node to the Material Output node
links.new(material_output.inputs["Surface"], principled_bsdf.outputs["BSDF"])

# Connect the Displacement node to the Material Output node
links.new(material_output.inputs["Displacement"], displacement.outputs["Displacement"])

If you want to assign the material to the active object in Blender 2.8x then the the following line can be added to either of the scripts above. We do not need to retrieve the material again, since we already have a reference to it in the variable material.

bpy.context.active_object.active_material = material


How to determine which vertex groups a vertex belongs to?

You can press shiftG (Select Similar) > Vertex Groups.

Also, a more precise method, in your 3D view, if you select the vertex and press N, you'll have access to the 3D view properties panel, if you press the Item tab, you'll see under Vertex Weight what group the vertices are part of. Then you can select them in the Properties panel > Data > Vertex Groups.


How to add driver to an input of a node in the Animation Nodes?

I do realize this topic is a few years old, but this is one of the first results that shows up on Google when you search for this issue... so perhaps this can help some passersby:
A gentleman named Kuldeep Singh posted a workaround a while back, which would involve (for example) adding the driver instead to an empty's transform channel and then using an "Object > Transforms Input" node to feed that data into Animation Nodes. (Source: https://blender.community/c/graphicall/0hbbbc/)
His workaround may be purely academic for most situations, but perhaps there are niche applications where this might be practical. Hope this helps! Peace and God bless!


Hope the image is self explanatory enough. Hope it gives you a good starting point.

Some Explaination

Click on the image to view it in full resolution. You can copy the nodes and will get the same results. The Musgrave Texture are used as the mask to create the rust patch. A Second Musgrave Texture is given variation in the values, acts as the mask for the silver non rusty parts of the material. The noise material just provide a little color variation for the silver material, so it is not flat and boring.

The node pretty much tells you how it's constructed. The bottom image shows the closeup of the material, just for a visual reference that in closeup the material is still pretty convincing.

Additional Side Notes

  Regarding the UV image, I use it for visual testing uv unwrap to
  prevent tile stretching on none procedure map, for this case I did not
  use it at all as it is indeed a procedural material, so no uv work is
  required on the model at all. It's just the default setup for my
  workflow when I start a new file.


Maybe the version 2.9.1 isn't compatible with the version of the add-on, btw, 2.9.1 is not a release yet, is an Alpha version, and from my experience, in the alpha version there is not everything inside Blender activated or working.
Solution (Maybe): Search for another version of the brushes add-on or try with 2.9 of blender and go backward into the versions until you get the right one (because from the link you posted, on the left side, the specifications and details, show that is compatible from 2.7X (but keep an add-on up to date in Alpha version is going to be almost impossible
Hope this helps


Object disappear from 3d view but show in outliner and edit mode is disable

Could they be hidden? Try Alt-H with the mouse over the window in object mode.


The basic idea is that any vertex of the cloth close to a vertex of the leg should have the same weights relatively to ALL bones involved (not only relatively to the closer bone, the upper leg in your example). This can be accomplieshed with weight painting tecniques, or using the vertex weight tab in the "N" properties panel (with a mesh in edit mode and a vertex weighted selected): you can select some vertices of the cloth, a close vertex of the leg (last selected is named active "active") and press the "file and arrow" icon: this will transfer all weights from active to selected vertices.


You can use Texture node, which is supported by the texture paint system, too. Actually, it can be much more powerful than just inverting colors.

Open a Node Editor. In the header, switch the Node Type to Texture, and the Data Type to Brush;
Add an existing Texture or Image node, link it to an Invert node before Output. As shown below.


Weird shading when using Cycles rendering

Two points here:

"Shader to RGB" does not work for Cycles, it is normally Eevee only.

The color is directly pluged into the surface output, so this is considered direct color, unshaded.

You should plug a shader to the surface output, starting from this for instance:


CUDA, 3D Hardware & Nvidia driver, my Blender goes crazy

So, the problem was in NVIDIA driver. I downloaded an earlier version of the driver(391.25 instead 411.70). I think I will not update them for a long time.


Why is this bone not keyfaming or animating when keyframed?

As the error message hints, your animation channels are locked:

You need to click the padlock icon next to the bone name in the Dopesheet Editor to unlock them all. You probably just clicked it by accident. This solves being able to insert new keyframes, but the bone still doesn't move when animated. This is because the location channels are also muted:

Locking protects the animation channels from being edited (inserting/deleting keyframes) and muting temporarily disables them (hides their effects).


Cutting faces works well. Ngons were a problem.


How to find the correct information for creating shortcut ?

right click ony (almost) any option and click edit source.

the name of the operator is what you need. (n.b. I am no python expert so I may not have the right terminology or way of doing it).

but it takes a bit of experience knowing what to search. depending on what are your needs, you can always right click and assign them on the fly. personally I never had a reason not do so.


how to model sheet metal nailed to wood?

You just need to give enough topology to your mesh so that you can bend it and create hollows:


The problem was, TeamViewer.

I have installed some monitor driver because of it (which also prevented me from changing brightness of my monitor), after realizing this, I changed back, and the Blender worked ever after.

That's it, TeamViewer.


You can use Disney Shader in LuxCore Render Engine with PBR textures.

Connect Albedo multiplied by Ambient Occlusion (if any) in Disney Material Base Color. Normal map in Bump socket (Checking Normal map tick box). Roughness and Metallic in their corresponding sockets. See Displacement note below.

Things to check:

Base Color is the Albedo multiply by Ambient Occlusion and both needs gamma 2.20 (sRGB Color Conversion for a standard PBR texture.)
All other maps (metallic,roughness,displacement needs gamma 1.0 (Linear color for a standard PBR texture)
for Normal map check normal map in image node
for Displacement use height Displacement node>plug the displace texture in height socket and a subdivision node(For limiting subdivision amount) in shape socket and connect Height Displacement node in shape socket of Material output.

For more clarity, here is a PBR setup tutorial for Lux: https://youtu.be/AXACxDlvZAY

See the image attach:


For easy understanding, let's just call the areas in your image as "Left" and "Right"; and "Middle" for the new split area:

A Three-click Way:

Right Click on the border of the right area;
Choose "Split Area", move the mouse to the area you want to split;
Click and drag on the little triangle at the upper-right corner of the left area towards the middle area, to join them as a new one. Release the mouse button.

As shown below:

A Two-Click Way:

Click and drag on the little triangle at the upper-right corner of the left area;
Click and drag on the little triangle at the upper-right corner of the middle area towards to the right area, then turn back to left. Release the mouse button.


Is it posible to mix materials in fluid simulation

An alternative to the fluid simulation, could be using a particle system:

First add a colliding box:

Then add fluid sources (depends on the amount of balls of slime you want to use and what shape they are, in my example I use 2 cubes):

In the physics tab, enable Collision and set the Particle Damping Factor to 1 (highlighted with blue). Also make sure to set the end time (highlight green):

Then select a cube and add a particle system and tune the Emission settings highlighted in blue as you desire, but make sure to set Emit from: Volume:

Then tune Emitter geometry and Emitter object settings, but make sure to choose Physics: Fluid:

Next, select the other cube and add a new particle system by clicking the right most plus sign, then select the previous settings called ParticleSettings and click the plus sign next to it to make a copy:

Then tune the Emission, Emitter geometry and Emitter object settings, but make sure Emit from: Volume and choose Physics: Fluid  as in steps 4 and 5.
Then add two UV spheres and assign material to each of them:

Also enable Colission and make sure to set ParticleDamping Factor to 1:

Then select a cube, in the particlesystems settings: Render section, choose Object and select the name of the sphere and tune the size:

Then select the other cube and do the same:

After some modifications, for example choosing the Viscocity value to 8, you may obtain the following result:


Expressions containing:

variable names: only ASCII characters.
literals: floating point and decimal integer.
globals: frame
constants: pi, True, False
operators: +, -, *, /, ==, !=, <, <=, >, >=, and, or, not,
conditional operator A if B else C
standard functions: min(), max(), radians(), degrees(), abs(), fabs(), floor(), ceil(), trunc(), round(), int(), sin(), cos(), tan(), asin(), acos(), atan(), atan2(), exp(), log(), sqrt(), pow(), fmod()
blender provided functions: lerp(), clamp(), smoothstep()

fall into Simple expression category and:

are evaluated directly, which improves performance on multi-core systems
are evaluated even when Python script execution is disabled
don't get the "Slow Python expression" flag


render multiple frames using a for loop, stack overflow after one image. Is there anyway to avoid stacking while rendering?

This is just a guess, I have not verified this since I am not able to run  the code myself without the objects referred from it.

The frame_change_pre handler is the method getRGBHandler.__call__, which is making a call to bpy.ops.render.render. The render call, however, in its turn calls frame_change_pre handler triggering a call to getRGBHandler.__call__, which again calls render. This is causing an infinite recursion, resulting in stack overflow.

It may not be a good idea to call render from within the frame_change_pre handler. You might want to try and move it to the main code. I didn't quite get the logic, so I am unable to suggest where it should be. But am tempted to observe: main is already calling render, is there a need for another render in the handler?

Lastly, (in case you are unaware of this) there's an easier way to get the rotation matrix, namely:
mathutils.Euler([0, 0, newTheta], 'XYZ').to_matrix(). And
newTheta can be caluclated only once, since it depends solely on stepSize (math.radians(stepSize))? mathutils.Vector has methods for dot and cross products.


Snapshot of object mesh as shaped by armiture

Aha! I found it. Just like every other modifier :).  To to it, first pose your armature, then go to the WRENCH icon (modifier tab) and select Apply. Presto! Awesome.


how to create vertex groups from materials using python?

This script adds the verts assigned to the face assigned to a material to a vert group with the materials name.

import bpy
context = bpy.context
obj = context.active_object

for index, slot in enumerate(obj.material_slots):
    #select the verts from faces with material index
    if not slot.material:
        # empty slot
        continue
    verts = [v for f in obj.data.polygons
           if f.material_index == index for v in f.vertices]
    if len(verts):
        vg = obj.vertex_groups.get(slot.material.name)
        if vg is None:
            vg = obj.vertex_groups.new(name=slot.material.name)
        vg.add(verts, 1.0, 'ADD')


Consider a Curve Deform modifier.

The curve modifier is applied to a long strip with high density as in the original question.  Plane scaled  into a strip.  Plane moved along the X axis in the example below.  The bone is not used in the images below.

Create a Spiral Curve manually or use the add on  Add Curve Extra Objects.
The dense vertex strip will be moved in the X direction to travel along the spiral.
Consider scaling in two dimensions the spiral. Scale Not Z axis.
The curve modifier is specified along the X axis in this example.  So scaling the strip along the X axis is easy and provides a movement.

Image above shows a shape key created with a proportional edit smooth from center of spiral

Lastly

Consider scaling the bone, not recommended, and a one minute experiment might be interesting.


Any shortcut for proportional editing mode and the falloff types?

You can turn on Connected Proportional Editing by pressing Alt+O.

Note that if pressing that shortcut again it will turn off Proportional Editing at all. If you'd like just to turn off Connected but leave Proportional Editing you should press O again.

You can loop through all the falloff types by pressing Shift + O.


In the Principled BSDF shader, the default Base Color is a very light gray. To make sure the surface absorbs no light, set the Base Color to pure white.
(If you are using the Glass BSDF shader, make sure its color is white as well)
I'm assuming you have a simple 1-node shader setup. If you have something more complex, it is possible that the other materials are affecting the transparency color as well. Make sure you aren't mixing the material with a darker material in a mix node or similar.
Also check that there is no volume absorption shader set on the material. This can cause it to appear darker as well.


Transferring colors from my Direct/Indirect passes into Color

Why there is color in other passes than Color
The direct and indirect stands for direct or indirect lighting so if the light has color, it will show in direct passes and if objects in the scene have color and light bounces off them, the light color will change accordingly in the indirect passes. These passes are supposed to have color. You can change the colors of your objects without changing lighting by changing the Color passes. Unfortunately this means indirect light that bounces off those objects has to be recalculated during rendering for it to change.
Separating color can be done
If for whatever artistic purposes you would like to separate all the color, you can do that in Blender or in any other software that supports 32bit image editing just by manipulating the images.
In this case you could make a copy of the image you wish to separate with a RGB to BW node and simply divide the colored image by it. You would have to multiply them together to get the colors back, so now you can multiply only the color 'passes' together and have the greyscale image for the separated monochromatic part of lighting:

Should you do it?
Obviously, you can do this separation at any moment in the compositing, even with the final image, but then passes are not needed. This can be done inside most image editing software. In many cases the purposes of rendering passes includes separation of the lighting from the colors and textures of the objects.


Problems with Solidify Modifier and Model Shape

I checked the file, the subdivision surface modifier is first then the solidify modifier. Also there were some extra (double) vertices that messed up the modifiers.

Solution:

Deactivate all modifiers
Go in edit Mode and select all with A
Press Alt+M "by Distance" (should remove 12 vertices)
Move solidify modifier to top with the small arrow
Select the object and go in object mode to RMB and select smooth shade
Go in the "Object Data Properties Panel" the green upside down triangle
Unfold the "Normals" section and activate "Auto smooth" default value of 30 is fine
Smile

The surface now looking better, the thickness can be slightly reduced as the subD modifier works over it, so you can adjust it a bit by increasing the offset in the solidify modifier.

Also the offset of the solidify modifier is working based on the normals of the objects faces, which should normally face outwards.
Using a positive offset you make your object thicker then it was, negative offset it gains thickness inwards.

Your main problem with the subD modifier is though that you would need to have a control-loop at the bottom to ensure the form/thickness.

Here the file with a control-loop at the bottom.


How to render one side of a cube with different material than the other sides

"You do not, and should not, separate a face if all you want is to assign a different material to it. You just add another material in the materials tab, make sure it is highlighted, tab into edit mode, select the face(s) you want and click the 'assign' button. – photox 2 hours ago"


You don't tell a lot about your node setup, but try the Generated or the UV output socket of the Texture Coordinate node:


Node Groups can be renamed either in the Properties of the Node Editor, or also in the Outliner by editing the 'Name' attribute:

(update)

How to find which are the users of some datablock (it doesn't matter if it is a material or group, the idea is the same):

The datablock itself does not store who the users are, instead you have to go over all the users and test.
See:
How to know which object is using a material
Display all users of a datablock


Why Is It Slow?

1. The V.S.E. , unlike your typical video editor, is frame dependent. Most others rely on time. This is why you must set the correct fps in the properties panel. Which you did, great!
Second Blender has to "cache" those frames. So when you play it through it takes each frame and saves a temporary version of it. But, the farther you go the more it will struggle to cache it, meaning you may have to play through it a couple times for it to work.
OR
2. You've reached the maximum cache...

Ok... So how do I fix that?

To change max cache press CTRL+ALT+U to bring up user preferences. Head over to the last tab labeled System and scroll down to the bottom where you'll see Sequencer/Clip:Editor. Go ahead and set that to your RAM. You can go even higher if you want; I can't guarantee what will happen. Make sure to save your user settings.

Other Things You Can Try:
1. Use that handy-dandy proxy setting. Right click on your video, and set that proxy! Then you'll have to go down and press Rebuild Proxy and Timecode Indices
Use frame dropping or Av-sync. Use it, it does what it says. Drops frames to run faster.

Last Thing

Not entirely sure why it says it runs at 60 fps (its not), but I suppose its just saying hey, this is how fast I can run.
Also know that this will NOT affect the final render in any way, only in the viewport.


Why does combined bake look different from render?

Well, I've been searching for an answer to this question for literally years, and just a few hours after I post a coherent question, I stumble upon the answer.

The baked texture can't imitate the roughness of the original shader. I'm using a roughness of 1.0 for the diffuse shader, but when I bake it, it has to be piped into an emission shader.

When I turn the roughness of the diffuse shader down to 0, it perfectly matches the baked texture.

My only thought is that roughness has something to do with the viewing angle, and the baked texture just can't take that into account, because it has to be baked from all angles.

Oh well...