How can I make different particles follow many curves in same scene? How can I use 8 curves having Force and Curve in physics panel? Notice that Curve Guide is 4 time slower than Force and Curve.

For slower particle speed change the lifetime value of the particle system to a larger value.
For faster particle speed change the lifetime value of the particle system to a smaller value.
The setting is in the particles settings emissions panel
So the length of a curve and the lifetime combine to create speed
The arrow in the Blender screen capture below shows the setting with an arrow

A previous answer regarding multiple Curve Guides ..

How to isolate emitted particles to a specific Curve Guide?

I am addressing two different topics since I cannot tell how many different concept questions are in the Blender question above.


Animation after applied modifier I have a plane, that transforms into cylinder after simple deform modifier:

I can now animate this transformation. However, after that I would also like to animate some adjustments to my cylinder mesh, but I need to apply the modifier to get mesh on cylinder and after applying previous animation is destroyed.

How can I record both animations? How do people do this in general? As I understand, applying modifiers ruins everything, but how can I get control over mesh without applying them?
I start thinking about some tricks like duplicating object and somehow replacing old one, or just recording separate animation videos and then merging them in video editor (but I must preserve camera position and angle)..

You can animate [render visibility] with Keyframes. The graph window can show render visibility of multiple objects at once. This may address part of your issue. Other people can address other concerns or you can submit a different question.
Of course in Blender there are always 33 ways to do something.  You can use layers as well or simply move an object out of view of the camera.  You can also consider other visual cues such as viewing only edges .. and or keyframed scale factors.

The yellow arrows shows the effects of putting a keyframe on render visibility of an object. Please Click on the image to see a larger version.  By having two or more objects you can instruct Blender to render one of them and to not render the other ones, saving compute time.  Please do not confuse this with 3D View Visibility.  This is not a tutorial.


How to have particles pointing away from mesh? I'd like to have the flat side of the left mesh parallel to each face where it's attached. "Phase rotation" won't do it because it doesn't influence the right axis and so on.
The file:


Weight paint not working (bug?) I have this funny document with two scenes (file attached). The plane in Scene1 is nicely subdivided and set up, but cannot be weight painted. However the plane in Scene2 (which is a straight copy) can be weight painted.

Can anyone reproduce this behaviour or is this just happening on my end?

When you're weight painting, you're painting into Vertex Groups.

The vertices you can't paint don't belong to  a group.

There's a difference between a vertex belonging to a group with 0 weight, and a vertex not belonging to a group at all.

If a vertex is not assigned to the active group, you can't paint into it.

Assign vertices (with a given weight) to a group in the Data tab > 'Vertex Groups' panel.

It's very confusing, because by default, unassigned vertices are colored blue, like 0-weight vertices.

You can fix that.. in the Overlays dropdown there's an option, even more confusingly called 'Zero Weights'. (IMO, it should be called 'Unassigned Vertices'.) Anyway, you can use it to display vertices unassigned to the active group, or those unassigned to any group, in black, not blue.


How many way i can smooth my Mesh? This is my mesh

I have already smooth it but i would like to create a smoother surface in several points like these (reduce these angles)

Is there a way to achieve this goal without moving eache vertex from myself? I know that i can smooth face/edge when i export it in fbx but isn't enought; are there other ways?

Thank you

There are several tools you can use to smooth out edge loops.

Use the Smooth Vertex tool (Ctrl + V, Smooth Vertex).
Use the Relax tool (W, Relax).
Use the Curve and/or Relax tools from the LoopTools addon that comes
with Blender.
Use proportional editing (O).
Use a Smooth or Laplacian Smooth modifier.
Use a Subdivision Surface modifier (this will add new geometry to the mesh).


Blender Operation Success or Failure Feedback? Sometimes when I try to apply an operation in Blender (e.g. Mesh > Faces > Tris to Quads) nothing seems to happen (similar to here). I wonder whether I selected the correct operation, or what else I might be doing incorrectly.

Is there a way to see any feedback on the success or failure of an operation? I'm used to software (such as Rhino), that puts useful messages in the command line after each operation like "3 meshes joined" or error messages explaining why the operation failed.

F6 (operator properties)

Operators may still be active, if you press F6 after noticing a seemingly 'no-op' operator you can get a chance to tweak parameters.

Info Panel (Operator reporting)

As a rule you will get some kind of confirmation that an operator has completed, you could drop down the Info panel to see any output printed by the operator.

Terminal / Console

For more verbose messages sometimes operators print to the Command window, on windows this can be opened while Blender is running ( Window > Toggle System Console). On osx or linux Blender needs to be started from a terminal to get the print-outs.

Windows users be warned
Don't close the Console window manually using the X, that will close Blender. To close the System Console, click the menu item at Window > Toggle System Console again -- that will toggle the console off.


shadow cather dosent work appropreiated with footage as background I create some mesh as 'shadow cather' so that I could 'cover' the area I don't want to show up.
When I render it without background it seems works fine.
But it doesn’t works with a footage/image as background.
(you still can see it through!)

Anyone knows why?

I can't guess method you used but the preferred way to compose render result with background is to use Alpha Over node


Child of Constraint creates strange glitch? When I parent the weapon magazine with the hands, they follow , but the magazine rotates! The magazine also goes out of its desired position. How do I fix this?

No child.

With Child Added.

In "Child of" panel select the "set inverse" button. Most of the time, this resolves this sort of thing for me. I can't explain the mechanics of it. If this does't work and you want to go back to the original, click on the "clear inverse."


Windows generated blend file compatibility with Mac OSX How can I share and make compatible a windows generated blend file to a Mac OSX Blender user?

So far, all .blend files have worked for me no matter on which OS they are created, or on which they are used. Just copy the file over and open it. I've often created it on one, edited it on another, then rendered on yet another.


Problem with blending 2 UV Maps with Tiled Textures with a 3rd Layer Normally with most objects that I would texture for games I would use 1 material / UV per object, not a big deal, but when I'm trying to create this giant landmass for my game I cant use just one because it would be either a huge 20,000x20,000 texture which is not even useable or I could tile both textures and then use a 3rd layer (seperate uv and material) and then texture paint a fade in between them, so I created seams above and below the line in the first image and then selected both of them and unwrapped and asigned them to a new texture layer but when I turn it to alpha clip to add transparency it just extends and removes the grass and dirt from UV Map 1 and UV Map 2 which would just not allow me to fade them. Help please :) (note: I cannot use the shaders from blender as it will get added to a game so I tile the textures in the UVs themselves)

Does something like this work for you? If you want to blend the textures, you can use gray instead of Black or White;

Different Shader on same label

Note: While this uses nodes in Blender, you should be able to blend textures in your game engine using a similar process, and the textures you create in blender would carry over.


Sculpt mode mirroring I have been having some trouble with my sculpting. Whenever I sculpt something, it does not mirror to the other side. But, in my tutorial. Micheal's model gets mirrored to the other side. Please help me, and other users who might be having the same problem solve this.

Here is a Screenshot:

Sculpting strokes are mirrored according to the local coordinates of the object. From manual about sculpting:

  Mirror
      Mirror the brush strokes across the selected local axes. Note that if you want to alter the directions the axes point in, you must rotate the model in Edit Mode, not Object Mode

Hence if you rotated model in Object mode make sure to apply rotation (same effect as rotating in Edit mode, i.e. making changes to mesh data).

Otherwise the strokes might be mirrored not as expected (mirrored by X axis instead of Y axis or the other way around and so on). It's likely that strokes were mirrored on your mesh, but not where you were searching for them; e.g. if you rotated object 90 degrees by Z axis and enabled mirroring by Y axis, strokes will be mirrored along X axis instead.


How to change separator character between name and number? For now when I make a copy of some object - Blender numerate this object by pasting dot as a separator between name and number.

I want it to numerate with " _ " as separator before number.

Anyone know how to change this?

I don't think there is an option to change this behavior natively. However, you can simply rename your objects in bulk.

I personally like to use name panel addon. In this case, you could use batch name option, and replace . with _.

Before renaming:

Outliner after:


How can I create feathered edges on a circle? I have a circle mesh that I'd like to be opaque for most of its surface, but slowly fade to transparency at the edges.
My current node setup is this:

But my result is a mostly transparent circle that is more transparent around the edges:

Any small adjustment to the "Blend" setting causes the preview sphere to become either pitch black or invisible. Even if I did find the correct setting, I don't think it'd work properly because I'd like it to be only the edges that fade, not the entire circle.
The end result I'd like is closer to this (badly photoshopped):

Any help you can give is very much appreciated!

You can use a RGB Curve or a Color Ramp node to control the transition :


Image as plane in 2.82 Taking 2.82 for a spin and tried to both 'Add' Images as planes, and 'Import' Images as planes.  Neither option is available.  Will this option be back in when 2.82 has it's final release?

Thanks!

This is actually an add-on (shipped with blender) but you have to activate it. Go to Edit > Preferences > Add-ons and look for "Import images as planes"


blender 2.78-RC1 is out what is the major difference between these two linux versions? they have two versions one is glibc211 and the other is glibc219

blender-2.78-rc1-linux-glibc211-x86_64.tar.bz2  2016-Sep-02 16:13:25

blender-2.78-rc1-linux-glibc219-x86_64.tar.bz2  2016-Sep-02 16:15:45

what is the big difference between the two ~ major benifits between them?

The difference is the version of the GNU "libc" it is linked against. There is no benefit to one or the other -- different versions of Linux use different versions of "libc". Just pick the one with the latest "libc", in this case blender-2.78-rc1-linux-glibc219-x86_64.tar.bz2. It'll most likely work. If it doesn't, try the other one.

Really, there is no difference between the two, except one will work on your system, and the other might not.


Is it possible to simultaneously adjust the cache settings for multiple objects? For example, changing the start and end of a simulation for multiple objects with soft-body physics applied.

Changing this:

Would change the cache settings for SoftBody.1, SoftBody.2, SoftBody.3 (which could all have different soft-body settings).

I've come up with two solutions.

(1) If the physics settings are the same for all objects:

Change the cache settings for one object, then link the modifier to all other objects using Make Links > Modifiers (Hotkey CTRL + L)

(2) If the physics settings are different:

Use Python (Blender 2.8):

import bpy

# get objects in selection
for obj in bpy.context.collection.all_objects:
    if obj.modifiers:
        for modifier in obj.modifiers:
            if modifier.type == "SOFT_BODY":
                # adjust range here
                modifier.point_cache.frame_start = 1
                modifier.point_cache.frame_end = 3000


Combine two vertex color layers? This one is still version 2.79. I would like to combine the two vertex color layers into one. These are what the layers look like:

I want to add them onto each other.

Not sure this is the best way, but you could try using the Data Transfer modifier (https://docs.blender.org/manual/en/2.79/modeling/modifiers/modify/data_transfer.html?highlight=vertex%20color).
Note that I only tried this on 2.83, but according to the documentation you should be able to do this in 2.79.
Say that you have two vertex color layers named color A and color B

Duplicate your object
On the duplicated object remove color A and rename color B to color A
On the duplicated object add Data Transfer modifier.
Set target to original object.
Check Face Corner Data with Topology method.
Select VCol and select color A layer.
Set Mix Method to Add

My test: Leftmost sphere with color A layer; Middle spehere with color B layer; Rightmost sphere with added layers.


Trace visualisation in 3D - how to wrap curves onto a 3D mesh Dear Stack Exchange Community,

i'm trying to achieve the following effect with curves:

Source of this image is here:

https://www.behance.net/gallery/57143191/Visualizing-Concepts-in-Houdini-Personal-Practice

I tried to achieve this effect by following this question:

How to achieve this spline and particle effect

i tried to achieve the desired result using the animation nodes setup from the thread listed above, doing the changes marked "A" and "B":

But the curves do not wrap around the suzanne object ("C").

The Blend file with the animation node setup is here

What is the mistake? some advice would be fine. Thank you!

EDIT 1.1 - Final Node Setups for AN 2.0 with Blend files

Here are the final node setups for AN 2.0, created on the discussion listed below.

General Curl

Implicite Form

Mesh Surface Curl

The General Curl

The Theory

The image you posted above is trace visualization for what is known as a divergence free vector field. To understand what that means, consider particles that move along the lines you see above (the field represents their instantaneous velocity), if the field is indeed divergence free, those particles will never collide. That's what gives those visualizations their beauty, the lines never intersect.

Mathematically, a vector field $F$ is divergence free if $\nabla \cdot F = 0$. It is hard to compute a random vector field that is divergence free proceduraly, so we use some math to aid us. In vector calculus, the Curl of any vector field is divergence free. The curl is an operator that operates on a vector field and returns another vector field that represents the infinitesimal (microscopic) rotation of the input vector field. The infinitesimal rotation of a vector field can be understood using this intuitive interpretation from Wikipedia1:

  Suppose the vector field describes the velocity field of a fluid flow (such as a large tank of liquid or gas) and a small ball is located within the fluid or gas (the center of the ball being fixed at a certain point). If the ball has a rough surface, the fluid flowing past it will make it rotate. The rotation axis (oriented according to the right hand rule) points in the direction of the curl of the field at the center of the ball, and the angular speed of the rotation is half the magnitude of the curl at this point.

We are not interested in what the curl represents, we are only interested in the fact that the curl of any vector field is divergence free. For our artistic use, the input of the curl operator $F$ can be a simplex or perlin noise-based vector field, that is, $F = (F_x, F_y, F_z)$ where $F_x, F_y, F_z$ are different perlin or simplex noise functions.

Let us now look into the curl operator that will take $F$ as an input and returns a divergence free vector field, the curl of $F$ denoted by $\nabla \times F$ is equal to:

$$
\nabla \times F =
\left( \frac{\partial F_z}{\partial y} - \frac{\partial F_y}{\partial z} \right)\mathbf{i} +
\left( \frac{\partial F_x}{\partial z} - \frac{\partial F_z}{\partial x} \right)\mathbf{j} +
\left( \frac{\partial F_y}{\partial x} - \frac{\partial F_x}{\partial y} \right)\mathbf{k}
$$

Where $\mathbf{i}$,$\mathbf{j}$ and $\mathbf{k}$ are the fundamental vectors of the rectangular space. Don't worry if you don't understand those equations, we shall understand them soon. The notation $\frac{\partial F_z}{\partial y}$ represents the partial derivative of $F_z$ with respect to the $y$ axis, similarly, $\frac{\partial F_y}{\partial z}$ represents the partial derivative of $F_y$ with respect to the $z$ axis, and so on. A partial derivative measures how much a function changes along an axis. Take a brief look at derivatives before we continue, you don't have to study it, just recognize what it represents. To compute the partial derivative, we use what is known as the central finite difference method or Symmetric Derivative which states that the partial derivative is equal to:

$$
\frac{f(x+h) - f(x-h)}{2h}
$$

Where $h$ is some arbitrary small number and $f$ is the function in question. The same equation applies for the $y$ and $z$ axis. For instance to compute $\frac{\partial F_z}{\partial y}$, we add $h$ (a small number) to the $y$ component of the the vector, evaluate the $F_z$ noise at that vector, subtract $h$ from the $y$ component of the vector, evaluate the noise and take the difference between the two evaluated noise values, and finally divide them by $2h$.

To understand how the central finite difference method work, consider this intuitive interpretation:

  Suppose one is standing on a mountain blindfolded, one was asked to report the steepness (slope, partial derivative) of the point one is standing at, one might move a step to the right and identify whether one ascended or descended and how much did one ascend or descend by, another might move a step to the left and identify whether one ascended or descended and how much did one ascend or descend by. Now consider the situation where one is at the very top of the mountain, at that point, the slope is zero, one is not ascending or descending, but both persons will report that they are descending, because if one move to the left or the right one will be descending. We conclude that to get an accurate result, we have to move a step to the right, observe, move a step to the left, observe and then determine if you are ascending or descending. In our case, if one move both to the left and to the right, one will understand that one is at an even surface (at the top). So when we say $f(x+h)$ we simply mean that we observe after we move a step $h$ to the right and $f(x-h)$ means to the left.

Once we compute the curl of the vector field, we can do what is known as advection using Euler's integration. When treating the curl vector field as the instantaneous velocity of some particles in space, Euler's integration approximates the location of the particles after one second by adding the curl vector field to the original particles location. So to get the whole trace of a particle, we evaluate the curl, add it to the location of the particle, evaluate the curl at the new location, add it to the new location, and so on.

Implementation

Simple Curl Implementation

The first step is to make a group that generates the vector field by initializing its components with different simplex noises $(F_x, F_y, F_z)$:

The next step is to compute the partial derivatives. This can be done using the formula for the symmetric derivative:

Take your time to understand this node tree. It can be hard to grasp at first. Having all the partial derivatives, we can now compute the curl easily using the equation above:

And by advecting some initial vectors along the curl vector field using Euler's integration and creating splines from the output points:

We get something like this:

Optimized Curl Implementation

While the previous implementation works, it is very slow because it requires a lot of noise evaluations and noise is expensive to compute. Thankfully, the noise functions in Animation Nodes v2.1 is implemented using SIMD instructions, which means it can somewhat be executed in parallel for CPUs that support Advanced Vector Extensions (AVX) which is pretty much every modern CPU. This result in a speed up of up to 600x the original implementation. SIMD requires the input data to occupy a contiguous memory block. So to utilize SIMD instructions and optimize this setup, we should combine all our data into a single big vector list, evaluate the noise at it, segment the output, and process it. The following implementation is hard to understand, so it is better to do it on your own, my implementation looks like this:

Euler's integration loop stays the same:

However, notice that we are appending a list of vectors and not a vector, so the output will be of length $n \cdot m$, where $n$ is the number of iterations and $m$ is the number of input initial vectors. We have to do another segmentation before creating splines from those points, so the spline loop will include segmentation and spline creation:

And what we get is a fully functional, fast, curl trace generator:

Blend file for study and practice:

Surface Curl

Now that we have an understanding of what the curl is, we can go ahead and finally answer your question.

Theory

Let us define the problem as follows:

  We want the output vector field of the curl operator to always be tangent to the surface of our meshes, that is, the curl should always be perpendicular to the vector field that represents our mesh surface normals.

If our initial points were on the surface of the mesh and the above condition is satisfied, then we will get the result we are looking for. The above condition is satisfied only if $(\nabla \times F) \cdot \vec{N} = 0$, where $(\nabla \times F)$ is the curl and $\vec{N}$ is our normals vector field. The problem is now to compute a vector field $F$ so that the dot product between its curl and the normals vector field is equal to zero.

By some analysis we get, $F$ is equal to $\vec{N} \cdot p(x,y,z)$ where $p$ is a perlin or simplex noise function just like we used in the general case, the curl in that case becomes:

$$
\begin{aligned}
F &= p(x,y,z) \begin{bmatrix} N_x \\ N_y \\ N_z \end{bmatrix}\\
(\nabla \times F) &=
\left( \frac{\partial F_z}{\partial y} - \frac{\partial F_y}{\partial z},
\frac{\partial F_x}{\partial z} - \frac{\partial F_z}{\partial x},
\frac{\partial F_y}{\partial x} - \frac{\partial F_x}{\partial y} \right)\\
&= \left( N_z \frac{\partial p}{\partial y} - N_y \frac{\partial p}{\partial z},
N_x \frac{\partial p}{\partial z} - N_z \frac{\partial p}{\partial x},
N_y \frac{\partial p}{\partial x} - N_x \frac{\partial p}{\partial y} \right)
\end{aligned}
$$

And the proof:

$$
\begin{aligned}
(\nabla \times F) \cdot \vec{N} =
&N_z N_x \frac{\partial p}{\partial y} - N_y N_x \frac{\partial p}{\partial z} +\\
&N_x N_y \frac{\partial p}{\partial z} - N_z N_y \frac{\partial p}{\partial x} +\\
&N_y N_z \frac{\partial p}{\partial x} - N_x N_z \frac{\partial p}{\partial y} = 0
\end{aligned}
$$

Notice that if the normal is $\vec{N}=(0,0,1)$, you only end up with the equation that Robert Bridson proposed in his paper "Curl-Noise for Procedural Fluid Flow", which is:

$$
\frac{\partial p}{\partial y}\mathbf{i} -\frac{\partial p}{\partial x}\mathbf{j}
$$

So now you know where my other answer came from. Since the curl have zero z component, we shall call this special case the 2D Case.

Implementation

The implementation is much easier because we only have to differentiate a single function. You should by now know how to implement that. Here is the non-trivial implementation of the surface curl; notice how there is an extra input called normals now:

Lets consider the simple example in which we use a sphere as our mesh, the normal of the sphere at any point on its surface is equal to that point normalized, so the normal is simply the point locations normalized. After the curl is computed and the the points advected, we can project the output onto the surface to make sure the splines always lie on the surface of the sphere since we are merely performing a finite approximation. We won't need this step for sufficiently small step sizes for Euler's integration which is in our case decided by the magnitude of the normal vector field or the amplitude of the noise function. To project any point onto the surface of a sphere of radius $r$ we normalize the vector and multiply by the radius, so the advection loop looks like this now:

The result are those magnificent and beautiful splines:

Blend file for study and practice:

Since the 2D case have two zero normal components, let's implement the 2D case using an optimized setup. We simply remove anything that got multiplied by zero to get:

This gives:

Blend file:

Ok, I have given you an example where the mesh is defined implicitly, but how do we use an actual mesh? Well, we can use a BVH tree:

We approximate the normal field by the Nearest Surface Point node Normal output, and we change the generator to be the location of the nearest surface point. Why? Because this is the projection of the point on the surface, which is a step we have to do to make sure we get accurate results as we discussed before. Make sure to reduce the step size, because BVH trees are not as accurate as the implicit definition of our sphere.

It should be noted that constructing BVH trees from objects directly won't apply modifiers, so such node tree can be used:

And finally, here is the result of both setups:

Inviscid Boundary Condition

An inviscid boundary condition required the dot product between the curl and the surface normals around the boundaries of objects to be zero, in other words, it requires the curl to be orthogonal to the normals of the object around its boundaries. Ensuring this condition in the surface curl case is easy, while it is somewhat challenging for the general 3D case, so I shall only introduce the surface curl.

Looking back at the equation for the 2D case:

$$
\frac{\partial p}{\partial y}\mathbf{i} -\frac{\partial p}{\partial x}\mathbf{j}
$$

We notice that the curl is actually orthogonal to the Gradient, the gradient vector being, in simple terms, a vector pointing in the direction of the greatest change. The gradient is computed by:

$$
\frac{\partial p}{\partial x}\mathbf{i} +\frac{\partial p}{\partial y}\mathbf{j}
$$

Can you see the similarities? So we can implement the boundary condition by making sure the noise field have a gradient tangent to the normals of the object around its boundaries, in other words, the noise field should increase the most when moving in the direction of the surface normals. We actually know a field that satisfied this condition everywhere, that is, its gradient is tangent to the surface normals. This field is the Signed Distance Field (SDF). An SDF is, for every point, the distance to the closest surface point, having a negative sign if it is inside the surface and positive if outside (However, the sign is redundant in this particular application). So the condition can be implemented by modulating the noise field based on the SDF of the surface using a ramp. As Robert implemented it, the noise field should be multiplied by the ramp:

$$
\begin{cases}
      1 & r > 1 \\
      \frac{15}{8}r - \frac{10}{8}r^3 + \frac{3}{8}r^5 & -1 \leq r \leq 1 \\
      -1 & r < -1
\end{cases}
$$

Where $r$ is the SDF divided by a scalar defining the modulation width. Which we can implement as follows:

What we did is replace the noise node with the above subprogram and add a BVH tree as an input.

Using Older Animation Nodes Versions

The only node used in this answer and does not exist prior to Animation Nodes v2.1 is the Vector Noise node which provides us with the perlin or simplex noise functions.

To make the node tree work for older versions, you simply have to replace the Vector Noise node with the built-in blender noise functions that exists in the mathutils python module. To do so, we can use the expression node:

With this code:

[mathutils.noise.noise(x) for x in vectors]

Aside from noise.noise, there are other functions that give you more control, which you can find in the API.

File for study:


I need to delay the rigid body on a cell fractured object. How? I need to delay a cell fractured object collapse and I can do it with one cell but I cant "Copy From Active" the "Animated" Checkbox.. I really need to and I dont have time to do each one individually.

"Copy to selected" on "animated" checkbox works fine for me.  Select two objects, RMB on the checkbox, copy to selected.

You can also apply checkbox operations to multiple selected objects by using alt LMB.  Select one box, select another box, move to rigid body tab, alt-LMB on animated.


Some edges are not shown in object wireframe mode? The wireframe on the right looks correct, but in object mode on the left, you can see that the upper and lower vertices are not connected, while the "box" to the right is fine.

I tried Fill and Merge Vertices, but both do not result in a correctly looking model. In wireframe mode, it looks great, but in object mode it does not.

I have uploaded my model here:

http://www.pasteall.org/blend/36955

Does anybody see what causes this weirdness?

Thank you for the help!

Here is another image: It shows that the 2nd "box" is not correct (it has greyish faces), while the 1st and 3rd are correct.

Blender doesn't show ALL edges by default in object mode.

To make all edges visible, go to Display Panel  in the Object Context
and check the "Draw all edges" box as in the picture.


How can i move a set of meshes to a new layer? how do I move a set of meshes to a different layer?

You hold Shift in order to multi-select many objects. After you selected all your objects, you can move them to a new layer by pressing M to select the layer you want them to be in.

Or use  M folowed by the layer number,  for example: M3 will move the selected objects to layer 3


How to lower the polygon number but keep smoothness? I might have put too many polygons in the mesh and now it won't compile, so I need to lower the polygon number. Is it possible to do something to create an effect which works the opposite as the subdivision surface, but keeping the smooth surface?

Add a decimate modifier

click the Un-Subdivide button
increase the Iterations field to two


How to select all textures used by all active materials in the scene? I have a project in my hands that has one object mesh (a city block with buildings) with around 10K materials that each have a texture in them. The textures for these material slots themselves are in their own folder.

I wanted to take a small piece of that city block (still with around 500 materials) and put it all into a neat package with only active materials and needed textures.

Cutting the piece out of the city into its own file and With the help of Materials Utils Add-on I was able to delete the unused materials.

But how could I round up the used textures? From that folder of some 10K images I somehow need to pick out the ones that are in active use in the materials. Any ideas?

If you save then reload your file, Blender will get rid of the unlinked (unused) images. (and Materials, by the way)

Then you can use File/External Data/Pack all into file, you should end up with a .blend that contain every image used in the scene.

If you need to keep them as separated files, you can copy your packed .blend in a different folder, then use External Data/Unpack all into files.


VSE: How to automatically snap the cursor to the selected strip? Is it possible to automatically snap the cursor to the start (or end) of the selected strip? I know that I can manually move the cursor and if I keep pressing Ctrl it will snap to the start and end of the strips, but it's not the same as automatically making it jump to the start of the selected strip.

You can jump to next/previous strip with page up/down, but there is no function for going to the selected strip specifically.


How to adjust size and frequency of procedural texture independently I'm trying to create a procedural texture based material in which I can get a transition from a completely black area to a completely white one by decreasing the size of the black parts of the texture (I make use of Color Ramp to get only pure black and pure white areas).

For example, I've tried to set the size of the texture elements by using the Factor socket of a Gradient Texture as input for the Scale socket of a Wave Texture.

I get the expected result of waves that decrease their size but I get their frequency to increase as well, so the final effect is of a overall constant density, instead I'm trying to get a transition from a high density to a low density areas.
Same results using the other procedural textures (Noise, Voronoi, Musgrave, ...).

It looks as if you increase the distance between your point of view and the object so you see waves or spots smaller but closer to each other at the same time.

I'm wondering how to control Size and/or Frequency separately.
Can you please help me?

As suggested here is an image to better explain my question.

Thank you.
Antonio

this node setup will produce the texture you want where you control the frequencies  by the value of Freq and the size by the gradient ( you can pass it through a ColorRamp for more control ) :

the result :

Here is a node setup to achieve a similar result  :

the result texture :


Whats the best format to turn a render into a poster? I am interested in turning some of my blender works into posters for my house. Does blender save in a high enough resolution or format ( sorry I'm not very sure on these terms ) that can produce a high enough quality poster? Thanks in advance!

First determine what size (in cm or inches) you want the poster to be.

Then decide on the quality of the print: find out how many DPIs you need for the purposes you are after. 300 DPI is the common reslolution for prints, but it might vary.

Find an online calculator to to determine the dimensions in pixels for your image you need to render.

Set your scene in blender to render using those dimensions.

Save to a Tiff or PNG file.

The biggest challenge for such a project is that you can preserve the colors and quality you see on your monitor to those possible on printed media. For that it's better to consult with the printing service you'll use,and find out from them what kind of image format they prefer to work with, and how to deal with color conversion from RBG to CMYK.

If possible print a small test.


How can I cut an edge at the mathematical middle? I have an edge selected and I need to add a new point that is exactly at the middle of that edge.

How can I achieve that?

Subdivide the edge

Subdivide the edge by clicking Subdivide on the Tools Panel (T key) or by searching the Subdivide operator in the Operator Search (space key)

The edge is cut in 2

Now the edge is cut in 2 by its middle - a new vertex is added.

How have more cuts?

If you want to have more vertices equally distributed, simply change the Number of Cuts in the Subdivide properties


Problem solving geometry or camera alignment using tracking I'm looking for some help trying to solve the geometry / camera positioning for a show clip. After many days of testing and tweaking I still can't get a matching result and I just don't understand why.
The tracking itself seems pretty stable, but the actual location and orientation of the camera does not match at all.
Target is to place a pretty big bed (width: ~1m, length: ~2m, height: ~2.5m) into the room.

In addition to some other randomly distributed markers, there are 4 markers on the ground, which mark exactly the middle of the outer posts of the bed. The distance from left to right is exactly 1980mm and the distance from front to back is exactly 974mm.

Technical Information:

Camera: Sony Alpha 7 III (35.6mm, 3:2 ratio, Full Frame Sensor)
Lens: 28mm (Sony SEL28F20)
Footage: 4K (16:9, 3840x2160), 25 FPS (PAL)

I tried:

Using other lenses: 24mm (Sony SEL24F14GM), 50mm (Sony SEL50F18F)
Manually match camera position and orientation
Using existing geometry as additional markers
Using automatically generated markers ("detect features")
Using less markers
Let the solver automatically calculate the focal length, K1 & K2
Solving orientation via "Wall" - the result didn't make sense at all
Solving orientation via "Floor" - the result was at least somewhere around where it should be
The functions "Set X-Axis" and "Set Y-Axis" result in swapping the matching orientations by invalidating the respective other axis
Manually played around with the lens distortion values (K1 & K2)

The by far best result I got was by manually placing the camera, but after around 5-6 hours of incrementally adjusting its position and orientation, I still didn't get a 100% match:

I uploaded my current blender project file and the associated video footage via
Dropbox, if someone may want to have a look on his/her own.

Sometimes, after trying to solve the problem, blender got completely confused (just like me) and didn't allow to use any tracks to set the orientation ("Three tracks with bundles are needed to orient the floor"; solving the camera motion over and over again didn't fix it, so I threw away the whole solution and started over).

I would be very pleased about support in solving the problem.

Thank you.

Just moving the camera around, panning and tilting while remaining on the same spot will not work, so don't waste any more time trying to match anything.

You will not be able to get 3d information from a stationary camera.

If there is no displacement (as in: taking a few steps while filming the object) there is no way for blender to determine 3d from parallax. To estimate depth, it is necessary to see the objects from different places.

If the camera is static you can use "Tripod" solve (https://docs.blender.org/manual/en/latest/movie_clip/tracking/clip/editing/solve.html#tripod), but note that the tracked elements will not yield any 3D information, only camera rotation at best. The tracked elements will only be projected in a sphere around the camera.

For detailed explanation read through these related posts:

Problem with camera orientation in motion tracking

How can I get better results when doing camera motion tracking?

Motion tracking is oriented incorrectly; no depth

Using the same tracking marks make another shot (or series of photographs) and walk around that corner of the room. Then you will be able to make a proper camera solution and have 3D information.


How do you change the background color of the 3D viewport? I see tutorials where people have the background color of the 3D viewport blue and green. Where do you change this?
Thanks,
Rusty

To change the default background color, it's in the Preferences as explained here.
To change the file's background color you need to display the Viewport Shading panel, choose Background > Viewport instead of Theme, and change the color below.


Wondering how to make an iridescent and slightly translucent object? So I am trying to make a crystal in blender that has this kind of light translucency as well as iridescence within a certain color range. I'm pretty new to Blender so I'm sure it's something I'm just not very familiar with but I tried to kind of modify this video's method to not much success at dialing in the color of the iridescent range. This type of crystal is called Sunset Aura Quartz if you'd like to see other examples.

Here is a try (that works with both Eevee and Cycles), it's a mix between a Diffuse and a Translucent node, mixed with a Glossy that has a greenish color to get greenish reflects. Use a texture to get the streaks effect.

The image texture I've used:


Using NLA strips on different bones belonging to the same armature Let's say I have a character with four arms, all part of the same armature. Is there a way I can animate one arm, turn this into an NLA strip and use them on the other bones or do the other arms have to be separate armatures?

You would need to create actions for all of the four arms.

Reusing one action for different bones wouldn't work because the action holds the keyframed properties like rotation and location only for the bones selected while adding a keyframe.

But you can try to copy Ctrl-C and paste Ctrl-V the selected property values (or f-curves) from one action to another, this requires that you insert an initial keyframe for the bone to animate.


How to make a curved triangle with exact measurments firstly, i would like to apologise for the title, it may not be on point.

secondly, i would like to thank all of you who always help and answer noob questions. I have learned a lot form you guys.

here is my question:

i am trying to make a small triangle box, to 3d print. And that box needs to have a sliding door.
the first problem i am facing is getting an homogenous rounded edge on the hypotenuse, which makes it difficult to model the sliding door.

what am i doing wrong?

I think the easiest way to get the results you want is to start with a cylinder. Simply add a cylinder, choose triangle fan as the cap fill type, and from top view delete the mesh you don't need (3/4 of it). Then fill the 2 flat sides (one face each) and you're done.


Ambient Occlusion node in EEVEE not working So I am using Blender 2.8, and I cannot seem to get the Ambient Occlusion node to work in EEVEE. I realize it is in beta, so it could just be a bug in 2.8, but I have seen other people use ambient occlusion in eevee (like here), so that leads me to believe it is not an issue with 2.8.

Below is a model with an ambient occlusion shader attached in Cycles, and it works as expected:

However, when I use the same setup in EEVEE, it doesn't work, and the ambient occlusion node outputs the same color across the entire model, making it show up as completely flat:

Is there something I am doing wrong with the ambient occlusion node to cause this to happen?

Thanks in advance.

As @sacrish said, I had just forgotten to enable Ambient Occlusion in the render settings, causing it to not work.


Multiple textures with displacement I've created a sphere where I've displaced parts of the mesh using a noise texture and now want to add a separate metallic material to the displaced areas but can't seem to achieve this despite hours of trial and error. Any help would be much appreciated!

Here's a link to the .blend file as well:
https://pasteall.org/blend/d52534ba777f445a91cf529ca8022754

It looks like the ColorRamp you're using to drive your Mix Factor has too soft of a falloff (because it's set to linear). You can overcome this rather easily by using a Separate ColorRamp to the one you are using for your displacement for your Mix Factor, and setting it to Constant.


Correcting Non-Manifold Edges in Blender 3D Model for 3D Print I've built a 3D model of a sampling paddle (used to demonstrate random sampling to students of statistics) in Blender 3D, which I'm planning to use as my first endeavor into 3D printing.

During validation, I noticed that the model contains quite a few non-manifold edges (using Select > Select All By Trait > Non Manifold). However, I'm unsure how to proceed with fixing the model. Everything appears to be joined/connected, and I've removed/merged any duplicate vertices. I'd appreciate any advice so that I can move forward with my first print!

I used a cylinder to "punch out" the holes via a Boolean Difference operation.

One part of the problem is that you have internal faces which you should delete (see the first picture)
The problem at the circles can be solved with merge by distance
(previously called "remove doubles"). You might also try to recalculate normals (Ctrl+N)
The other pictures show that the borders of some faces are not
connected properly and how you can solve this.
When you see faces which are flickering ("face fighting") when you rotate view, you have two faces that are overlapping and sould delete one of them.

Happy Blending! :)


What is best workflow for having a scene with multiple light setups? I have a scene with interior room design and I created several light setups for it (daylight from windows, powerful electric light from the ceiling, moody evening light from floor lamps). What would be the best workflow to work with that and be able to batch render them?

For now I have each group of lights in different layers. I can then select which layers I want and start rendering. However this doesn't allow me to batch render several setups at once, because there is no command-line to switch layers on/off.

I read about scenes and wondered if making several scenes which would have same objects, but different lights would do. Batch rendering is possible. But I'm afraid that working further on the design, adding new objects etc. will be tricky, as I will have to somehow synchronize all objects between these scenes.

How is this normally achieved?

I need still images only, no animations.

Instead of layers use scenes

In this example I want to have two scenes with the light on different places, so
I created a new scene by pressing the + button for scene on the info window

then moved the light to the other side and rotated it.

You can  choose to link your objects or do a full copy, is up to you and how you want to use your resources. If you link your objects then changes made in one scene will affect objects on others)

Then in the compositor I can have each scene as a render layer and switch between the two of them at will.

If you want to save each scene to a different file on the same render operation then just add file output nodes to each of the scenes.


Is there a start deactivated for particles as well as rigidbodies? So I'm using the explode modifier and I would like it if the explode particles only fell when hit with an object with collision. Is there an option for start deactivated or a way you can keep particles still until hit?

Thanks in advance!

Not that I would be aware of. What I would do would be to set the particle simulation's starting frame to the frame when your object gets hit.


What are the reasons why automatic normal recalculation might fail I see this question pop up repeatedly, and people trying to remedy it without discussing and understanding why it happens in the first place. If ctrl+N doesn't work as hoped, what are the possible causes? Are there quick ways to highlight problem areas?

(This question is intended to provoke a canonical set of answers - or community wiki)

I had a series of models in a Blender file where the Mesh Normals were pointed both inward and outward. Pressing Recalculate Normals fixed a few of the 15000 faces but not all. Trying to select inward faces failed, nothing lit up after trying to select them.
I found that the recalc would fail if the model had doubles or had Non Manifold mesh.  Deleting the doubles and removing the non manifold meshes was the answer. Once gone, the Recalculate repaired all the inward facing faces.


Multiple layers, master pivot point I have a scene with multiple layers, even layers with sublayers(empty with layers within).

When I import this model into Unity3D the pivot point is in the original cube, even though in Blender each part has their own pivot point.

How can I modify this "master pivot point", so I can tell Unity3D where it should put the pivot point.

I have figured it out.

In object mode you can create an "Empty" and put all the other layers inside the Empty, Unity3D will use the pivot point of the Empty because it is the outermost layer.

All you have to do is position the pivot point in the Empty.


Can't access OpenCL for AMD Radeon R9 270 I'm running Blender 2.79 on Windows 10 Home Edition

Specs:

Processor: i7-4790 CPU @ 3.60GHz
8,00 GB RAM
AMD Radeon R9 270 (latest drivers)
Intel HD Graphics 4600 (latest drivers)
OPEN CL Version 23.20.15015.1002

According to the BlenderWiki Page, my graphics card should be supported for rendering in Cycles, but OPEN CL doesn't show in user preferences, I'm not a pro with PCs, I try to do things on my own a lot, but this issue is above my head, I can't figure out how to render with GPU...

I think you need to go into user preferences>system> and in the bottom left corner there is Cycles Compute device. Turn this to open CL. Then back to main interface go to render > device and you will see a drop down says cpu. Use drop down and it will give you the option of gpu. Hope this helps!


light won't pass through the windows So I am still very new to Blender, having only been working with it for about a week, but I am at the point where I am trying to get lighting set up for a Minecraft animation that I'm making for my channel but I can't get light to show up indoors. I can see through the windows but light won't pass through the windows nor will any lamps work that are placed inside. Can someone help me figure out how to fix this?

The calculation of transparent shadows is a little bit slow, so the casting of transparent shadows (behind your glass) is deactivated in the default settings. To get the shadows or better the light you have to activate Receive Transparent in the Shadow-Settings in the material tab for each Material, wich receive light through an object.

< activate Receive Transparent

see Shadows in the Blender Manual


Smooth vertices option not working in blender 2.82 So This "Smooth vertices" tool That I use alot while modeling a character seem to not work any more or it just does not give the right result in the new update.

I am not sure if this is what you have done, but I recently was trying to add weight to all objects and nothing worked and that was due to a selection mask being selected yet no objects selected. In Sculpt Mode the following picture shows how I can smooth any object

In the following picture only the selected stroke is edited. If, like me, you don't have any strokes selected, then you will not be able to edit.


Is it possible to create a procedural spiral around a tube? I have been struggling to create a bump that goes spiraling around a tube, sort of like a toilet paper tube.

Basically, it is a line that wraps around the tube several times, continuously.

I cannot figure out the math to make it happen.

I've googled one BlenderArtists solution, that also works reasonably well for a tube.
All credits to PyBlend

You can use an Empty to control it.
Otherwise it uses object's origin point.


Adding holes to this sphere I would like to subtract cylindrical holes in this object, centered over each of the highlighted vertices and aligned with the object's center.  Can somebody show me how to do this?

Steps:

First of all activate LoopTools add-on in User Preferences, than:

CTRL+Shift+B to Bevel vertices.
MouseWheel to add more cuts or press F6 to see menu with Bevel options.
W > LoopTools > Circle.
CTRL+Num -  to select less.
X > Delete Vertices.

Edit:

For OP model holes will have different number of vertices. But besides that everything is working just fine.

As a workaround you can first select vertices with 3 connected edges and make for example 5 Bevel cuts: 3 edges x 5 cuts = 15 vertices.

Than do the same thing with vertices with 5 edges connected with 3 cuts: 5 edges x 3 cuts = 15 vertices.


Bone Falloff not working? I'm using version 2.68a

I've created a face mesh and now I'm trying to setup some bones to create expressions. So far I have added one bone and parented it to the mesh as "envelope weight".

However the envelope falloff is not working, as all the vertices within the bone envelope move/rotate at the same rate.

I remember working with an older version of Blender a couple years back and bone envelope falloff would work fine. I don't remember the version # though.

Is anyone aware of this, is there a solution or a version where this is confirmed to work?
Thanks!!!

I too am curious about the proper use of bone envelope in Blender too. The falloff appears to not be functioning correctly. This may be a bug. As you say it used to work, so something may have changed that stopped the falloff from working as desired.
I just double checked and what we are calling falloff is called 'distance'. I don't know if this name changed. I submit a bug report and see what happens.

Update: I have submitted a bug report and referenced this post, provided Blender files I used to test this too. It is definitely a bug, as the blender manual states the following: "The outside area, materialized by the lighter part around the bone, and controlled by the Distance setting. Inside this zone, the geometry is less and less affected by the bone as it goes away by following a quadratic decay." The quadratic decay appears to be what has failed.
https://www.blender.org/manual/rigging/armatures/skinning/obdata.html#bone-deform-options

Bug report: https://developer.blender.org/T50392


How do you make linked duplicates with modifiers? How do I make a group of meshes which are a completely linked duplicate of each other? I’ve tried making a collection of the meshes I pant and made a linked duplicate of those, but when I change the modifiers in one the others stay the same, I can only change the mesh itself.
If anyone is familiar with Sketchup I’m basically looking for the equivalent of a component, where all changes made in the component are transfered to all other components.

For the moment you can give a modifier to a linked duplication but you won't be able to apply it (unless you make it a single object of course). So what you're looking for is probably Collecion Instance.
Create Your object (or your objects), put it in a new collection:

Press ShiftA > Collection Instance and choose the collection. By default it will appear where the original object is relatively to the world center, so move the instances away:

If you give your original object a modifier, they will all be affected, you can also apply the modifier:

If you ever need to make one of the instance independent, select and press CtrlA > Make Instances Real, then Object > Relations > Make Single User > Object & Data.


Creating Divided Highway using Nurbs Curves? I am wondering if there is a way for me to create 3D divided highways in Blender using Nurbs curves?

Here is a sample image of a divided highway, as shown in the interchange:

You cannot extrude a complete branch from a vertex mid curve but you can extrude (E-key) a single vertex out (t just hangs loose from the main body of the curve), then extrude it back to the fork location.

Use another curve object that is just a small straight line to bevel the shape of the road.


How do you make it a new object after extruding? I just extrude faces from a mesh, now I need it to be a new object and not be a plane inside another object....

Select the new faces you've created, hit P, then Selected and tap Tab to get out of Edit Mode. You'll be able to select the faces as another object now (its good to hit Ctrl+N on *Edit Mode inside the new object to correct the normals too)


Texture or colour only on the displacement vector i have this node setup acting as the displacement, what i would like to do is add a texture or a colour only where the displacement is being added on the object, i would like to make molten like cracks but i cant find the way to apply that colour only on the cracks

You can just add in a mix node, another principled shader and a color ramp.

Create a 2nd principled shader (this will be your lava).

Connect it with a mix shader, use a color ramp and have your displacement nodes connect to it.

Then on your color ramp adjust the flags to your liking.


Growing a shape in one direction I have this complex shape.

I need to grow the bottom face downward such that the top geometry stays the same, and all the edges along the sides maintain the same vectors that they have right now. (In addition, the top needs to also remain exactly where it is.)

Put in other terms, picture a pyramid. Then chop off the top and remove the base. I have the top of the pyramid and need to create the base again.

I need to create the base (highlighted) and place it in the exact correct spot).

Anyone know how to do this simply? If I could figure how to grow (only one side) an edge along its vector that would work great. Or simply transform the vertices along that same vector.

You can slide edge loops by double tapping  G. Then use Alt or C to make a loop go beyond the edge limits.

You can find more options here under "Edge Slide"
https://www.blender.org/manual/modeling/meshes/editing/edges.html


How to turn a plane into a prism? I'm new to Blender.
I'm wondering if it's possible to turn a plane into a solid figure by transforming it to a prism with the plane as its base? Pretty much like that, with the difference that this is a cube shrinked to a height of 0 and I want to achieve this with a plane:

As @JohnEason pointed out, in Edit Mode with my plane object selected, I can press E (and Z) to create a three-dimensional prism out of my polygon.


Vertex colors are wrong value? I am using a renderlayer with some vertex colors to render some masks. I have an object with a vertex color layer. The entire object is set to RGB values of .25 each (using set vertex colors command.)

The vertex colors are used in a material via an Attribute node. The Fac socket of the attribute node is connected to an emission shader. This is rendered on it's own layer using a material override. In the compositor, the Emission output of the renderlayer node is connected to a viewer node.

The problem is that after rendering, when I look at the image in the Image/UV editor and click to view the individual pixel values, it says my R, G, and B are .05098 each, not .25! The CM R, G, and B are .2503, and the HSV value is .25

What's going on? I need to use this mask into a math node and get a proper .25 for the math to work correctly.

This is related to https://blender.stackexchange.com/a/87583/29586

The Vertex Colors are held as 8-bit sRGB values. This means that, say, 50% Red is not held as 0.5 - as the sRGB color space is optimised to make best use of the 8-bit values (see https://en.m.wikipedia.org/wiki/SRGB). This is similar to the Color Data/Non-color Data setting on an Image Texture node - but the Attribute node used to retrieve the 'raw' Vertex Color data (which will be held as 8-bit sRGB values) does not provide such a color space translation. You will need to manually convert those values as you have already discovered.


How does the texture know exactly where its supposed to be applied? Totally new to this stuff and this just seems like magic to me. So the cake is one single model; it is not subdivided into top, bottom and middle. I add this texture.jpg and it goes exactly where its supposed to be. Topping on top, fruits on fruits and bottom on the bottom of the cake. How?

How does the model take the correct texture for fruits and put it perfectly on the fruits and to take the bottom and put it onto the bottom etc. And how does it extract the 3 textures so precisely from the jpg?

Some explanation or a source to get into the topic would be appreciated greatly! Thanks in advance.

Do a google search for "UV mapping."  "UV"s are texture coordinates that Blender or other software uses to know where to apply the texture.  That texture you have happens to coincide with the UV coordinates of the cake.  Try another texture and you'll see it doesn't match at all.

Here are a few links to get you started:
https://en.wikibooks.org/wiki/Blender_3D:_Noob_to_Pro/UV_Map_Basics
https://en.wikipedia.org/wiki/UV_mapping
https://www.creativebloq.com/features/uv-mapping-for-beginners


X-Ray like Shading Error in EEVEE but not Cycles I sculpted this Manta Ray and tried texturing it. I Noticed that when in EEVEE, somehow the base Geometry is clipping trough, as if i had the XRAY switched on. When i use EEVEE, this problem does not appear. Does anyone have an idea what might have gone wrong?

Ten to one, you have the shader blend method set to “Alpha blend,” which is useless for things more than one face thick. Use “alpha hashed” instead.
This is probably in the top 10 FAQ.


A plane not visible in Viewport appears in render I have a problem, some plane appears in the middle of scene and it looks like that everything is drowning, no object is hidden. I tried to delete models one by one and hit render if some object was weird, but no luck.
Does someone have any idea what could I try, or should I start from the begining and import all models

First press the button marked red, then enable the option in marked yellow. It should make the plane appear in the viewport and you can remove it. Don't ask me why it's not enabled by default. This is the method to hide objects in 3d View but not for the actual rendering. It's meant to work across linked copies in different scenes or separate files.
Also see: https://docs.blender.org/manual/en/latest/editors/outliner.html#restriction-columns


Does seam itself affect baking? Hi.
I can't bake properly. after countless time of trying I still don't know what causes this though the set up is exactly same as tutorial video. 'white' space just doesn't show up except for the little part that is below jaw which I marked seam. Thank you in advance.

The normals of your mesh are facing inwards and need to be flipped. You can display your face normals, if you switch to Edit Mode, then go to your "Menu Bar - Overlay" and activate "Display face normals as lines".

Go to "Menu - Mesh - Normals - Flip Normals" to force them to face into the correct direction.

Head meshes tend to have that problem sometimes. "Recalculate Outside/Inside" doesn't fix it, because the mesh has some convex/concave areas and (in many cases) isn't closed (hole in the bottom)


Create a light material which is seen as a focus in Cycles How can I make a light material which is seen as a focus?

To achieve that kind of look in Cycles, you need to use Volumetrics. The light can be normal spotlight. To make scene have volumetrics, you have two options:

Make a cube (or any other shape) that encloses the scene. Add a new material to this object. In Material tab, for Surface select Disconnect and for Volume select Volume Scatter, and adjust the density to suit your scene (usually needs to be much less than the default 1, try between 0.3 and 0.01)
In World tab, for Volume, select Volume Scatter with same settings than above. You don't have to disconnect the world surface.

To get the result in pic you linked, you only need to do one of the two.


Add bones to an armature deformed in pose position I have a simple pistol model with one root bone.

It has a Childof constraint to the hand-bone of a character.
Now I want to add a new bones to the Pistol armature, so I go to edit mode, which shows the rest position then, add a bone there and define the root as parent of the new bone.

When I go back to pose psotion then and pose mode, the new bone is rotated like this:

Any idea how to fix it or what's the problem?
Thx!

Your new bone is green in Pose mode, it means it has a constraint, just delete this constraint.


Python: How to disconnect and reconnect massive ammount of shading nodes I am familiar with scripting, a fair bit, but I dont know how to tackle this challenge...
I have a big amount of Materials with a principle BSDF and I need to disconnect the ImageTexture
from the Roughness-Channel insert a invert node and reconnect everything.
Maybe I can check the nodeTree which Map is connected to Roughness, save that - disconnect, insert and
reconnect, and go to the next tree...
but I dont have any clue how that could happen....

I propose the following script for this.
Basically, you access each material in the file, then get a reference to the image texture and bsdf nodes, then create a new invert node and connect everything. You don't care about unlinking first because it will be overwritten by your new link.
import bpy

for mat in bpy.data.materials:
    node_tree = mat.node_tree
    if not node_tree:
        continue

    # Get a reference to the image and bsdf nodes
    tex_image = bsdf = None
    for node in node_tree.nodes:
        if node.type == 'TEX_IMAGE':
            tex_image = node
        elif node.type == 'BSDF_PRINCIPLED':
            bsdf = node

    # If you have several Image Texture nodes, you can access a specific one by its name
    # tex_image = node_tree.nodes.get("Image Texture") # (Or whatever the name of the image texture node connected to the roughness channel usually is)

    if not (tex_image and bsdf):
        continue

    invert_node = node_tree.nodes.new(type='ShaderNodeInvert')
    invert_node.location = (-200, 50)

    tex_image.location = (-600, 50)

    # Update the links. We don't care about unlinking because the current links will get overwritten
    links = node_tree.links
    links.new(tex_image.outputs[0], invert_node.inputs[1])
    links.new(invert_node.outputs[0], bsdf.inputs["Roughness"])


How to bake rigid body physics frame in blender render? I have a model with some objects above eache other and enable rigid body physics for them so the upper ones fall on the lower one. Now when I play the animation to a certain frame how can I put it as the default location/rotation of the mesh?

Select all your objects and hit bake to keyframes. Set the starting and endeding frames to the frame you want them to stay at. Go to that frame, and hit Alt-I. This will remove the unnecessary keyframe.


Handler frame_change_pre doesn't work in render this works in viewport but not in render.

import bpy
from math import *

def frame_handler(scene):
    z = scene.objects['Lift'].location[2]
    scene.objects['Text'].data.body = str(floor(z / 4.0) - 2)

bpy.app.handlers.frame_change_pre.clear()
bpy.app.handlers.frame_change_pre.append(frame_handler)

How to get it working in render? I've read this answer and changed from "bpy.data.objects" to "scene.objects" as already seen in the script. What am I missing? Blender v. 2.81.16

Edit. Tried that depsgraph thing mentioned in comments and changed to frame_change_post:

import bpy
from bpy.app.handlers import persistent
from math import *

@persistent  # maybe not relevant but doesn't harm anything?
def frame_handler(scene, depsgraph):
    z = scene.objects['Lift'].evaluated_get(depsgraph).location[2]
    scene.objects['Text'].data.body = str(floor(z / 4.0) - 2)

bpy.app.handlers.frame_change_pre.clear()
bpy.app.handlers.frame_change_post.clear()
bpy.app.handlers.frame_change_post.append(frame_handler)

Now the Text doesn't show up at all in rendered (but works in viewport).

The answer is similar to this question. Though all this is new from 2.81.
So here are some little more information (as far as I understand all this, which seems to be new thing along the current versions).
To make your script work, you can change it to:
import bpy

def frame_handler(scene, depsgraph):
    #print(depsgraph)
    obj = scene.objects['Cube']
    obj = obj.evaluated_get(depsgraph)
    scene.objects['Text'].data.body = '{0:.2f}'.format(obj.location.z)

bpy.app.handlers.frame_change_post.clear()
bpy.app.handlers.frame_change_post.append(frame_handler)

Here frame_change_post is used. But following this documentation:

This can be used, for example, to alter scene prior it gets rendered.

So the result will be what you want to do.
In the script above I've changed the rounding for Z. That allows to confirm that 'post' is before rendering. If object Z position is 10 at frame 10, the text object will display 10 at the same frame.
Additionally, depsgraph is for dependencies graph. That means a data provided in the API to take into account the fact that during animation (or others) the object state varies due to what it depends on.
frame_change_pre has no depsgraph parameter in 2.82.


How to rotate video in Movie Clip Editor? Greetings,
how can I rotate video from upside-down to upright?

You can select your strip and press ShiftA > Effect Strip > Transform:

Then select the effect strip it has created and in the N panel > Strip > Effect Strip > Rotation, type 180°:


How do i change the active keying set by Python? You can call the Change Keying Set menu by hotkey Shift+Ctrl+Alt+I. But you cannot assign a hotkey to one of the single keying sets. It's always the whole menu. So I want to create a button in the tool shelf for the active keying set method LocRotScale to save me some clicks.

I would expect that a inserted button with col.operator("anim.keying_set_active_set", text="LocRotScale").type = 'LocRotScale' would set the keying set to LocRotScale. But it just calls the Change Keying Set menu. And throws me an error too.

  TypeError: bpy_struct: item.attr = val: enum "LocRotScale" not found in ('DEFAULT')

How can i insert a button that sets the Keying set to LocRotScale directly with one click?

The anim.keying_set_active_set operator invokes a menu that lists the available keying sets. It does have a type property to bypass the menu, which allows you to specify the type value when calling it directly, but it doesn't seem to work when placing the operator in a panel or when setting keyboard shortcuts to use it - it looks like it is most likely due to the acceptable values being a dynamic list.

Changing the keying set is a simple task so it's easy to make a substitute yourself.

class SetKeyingSetOperator(bpy.types.Operator):
    """Set the active keying set"""
    bl_idname = 'anim.set_keyingset'
    bl_label = 'Set the active keying set'

    type = bpy.props.StringProperty(default='LocRotScale')

    def execute(self, context):
        ks = context.scene.keying_sets_all
        ks.active = ks[self.type]
        return {'FINISHED'}

Then you can use this operator to add a button in your panel.

row.operator('anim.set_keyingset', text='LocRot').type = 'LocRot'

This can all be put into an addon which can also setup some keyboard shortcuts to go with it. You can get the addon here, and adjust it to your liking.

As most keys are in use now, I used the key modifier setting. This isn't very popular yet, but it makes a normal key behave like ⎈ Ctrl or ⇧ Shift - in this configuration you hold down K and press Y and it will set the keying set to Location. KU for Rotation and KI for LocRotScale


How can I unlock the selected channels in the Dope Sheet? I'm using the Dope Sheet. Could someone tell me if there is any way to lock and unlock many items at once, with one click?

I'm trying to select items with the Shift key.

1 see an example:

But when I click unlock or lock, it does not affect all selected items.

2 see an example.

Can someone tell me if this is possible, and if so, how?

Shift-select the channels on the left as you have been doing and then choose Channel> Toggle Channel Setting> Protect:

Disable Channel Setting and Enable Channel Setting also do this, disabling or enabling all the selected channels.


Where is major segment in blender 2.9x I'm a new for blender
i'm watching on youtube about adjust major segment but i find not found this menu on blender 2.90.1
Where is major segment in blender 2.9x

When you add a torus, you have the Adjust Last Operation panel floating in the 3d view. It may be collapsed so just expand it.

The panel is only available after an operation and once you perform another operation it disapears.
These settings are specific to Add torus operation, other operations will have other kinds of settings in the same panel.


Script not running as Handler or in Driver Edit: DOWNLOAD DEMO BLEND FILE

I am running into a weird issue that I have solved in the past but can't seem to figure out now.

I have a material node keyframed in Blender Internal, and unfortunately blender does not show the transition in the GLSL textured viewport. So I have written a small script that will reinforce the value of a MixRGB factor to itself.

When I click on "Run Script" everything works fine and my material is updated. However assigning the function to a driver or even handler does need yield expected result, which is updating that MixRGB factor on every frame change.

import bpy

def refreshNow(val):
    mat = bpy.data.materials['Skin_Gloss']
    nodes = mat.node_tree.nodes
    nodes["Mix"].inputs[0].default_value = nodes["Mix"].inputs[0].default_value
    bpy.context.scene.update()
    return val

refreshNow(0)

bpy.app.driver_namespace['refresh'] = refreshNow

def my_handler():
    refreshNow(0)

def register():
    bpy.app.handlers.frame_change_post.append(my_handler)

if __name__ == "__main__":
    register()

Below is my driver setup. As you can see the debug info shows my current frame, which is 115. Meaning that refreshNow is actually called and has returned.

Here is my material setup, pay attention to the MixRGB being keyframed from 0 to 1, from frame 0 to 50:

Like I said, the script works fine when I click on "Run Script", and the driver shows that the function has returned. What could possibly be the issue?

Thank you in advance.

Edit: DOWNLOAD DEMO BLEND FILE

Below is the code that resulted in proper solution to my problem. Thanks to @Chebhou who provided help and resolved the issues in my code. Refer to the comments in the first post for clarification.

import bpy

def refreshNow(val):
    mat = bpy.data.materials['Material']
    nodes = mat.node_tree.nodes
    nodes["Mix"].inputs[0].default_value = nodes["Mix"].inputs[0].default_value
    bpy.context.scene.update()
    return val

refreshNow(0)

bpy.app.driver_namespace['refresh'] = refreshNow
#scene parameter was missing in original code
def my_handler(scene):
    refreshNow(0)

def register():
    bpy.app.handlers.frame_change_post.append(my_handler)
# this was also missing from the original code, I still don't know what it does, but it works!
if __name__ == "__main__":
    register()

===Alternative Solution Using Modal Operators===

I managed to fix the issue by using a Modal Timer rather than utilizing handlers or drivers. This is not exactly a solution to why the driver or handler doesn't work but it is definitely a workaround to get what I wanted done.

Below is the code for anyone who might need it in future. This is simply the Modal Timer template, I just replaced the default functionality of changing theme color to reinforcing the MixRGB node's factor input to itself. I have also removed the functionality of cancelling the event.

import bpy

class ModalTimerOperator(bpy.types.Operator):
    """Operator which runs its self from a timer"""
    bl_idname = "wm.modal_timer_operator"
    bl_label = "Modal Timer Operator"

    _timer = None

    def modal(self, context, event):
#        if event.type in {'RIGHTMOUSE', 'ESC'}:
#            self.cancel(context)
#            return {'CANCELLED'}

        if event.type == 'TIMER':
            mat = bpy.data.materials['Material']
            nodes = mat.node_tree.nodes
            mix = nodes["Mix"].inputs[0]
            mix.default_value = mix.default_value
            print('Current Frame:')

        return {'PASS_THROUGH'}

    def execute(self, context):
        wm = context.window_manager
        self._timer = wm.event_timer_add(0.1, context.window)
        wm.modal_handler_add(self)
        return {'RUNNING_MODAL'}

    def cancel(self, context):
        wm = context.window_manager
        wm.event_timer_remove(self._timer)

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

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

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.wm.modal_timer_operator()


More than one playaction() in same BGE script I my BGE python script, I have

obj.playAction('man_clothAction',0,20,layer=0,play_mode=bge.logic.KX_ACTION_MODE_PLAY)
obj.playAction('man_clothAction',30,42,layer=0,play_mode=bge.logic.KX_ACTION_MODE_LOOP)

But when I run the code only last one runs.The difference is in the timeline. One is from 0-20 and other is from 30 to 42.

You can run actions simultaneously by setting them on different layers.

However, playing the same action will result in weird overlapping issues.  For example, when the loop starts at frame 30, it will inherit the positions etc set in the previous frames.  The first action will appear to do nothing.

You'll want to use separate actions and different layers.

obj.playAction('name_of_first_action', 0, 20, layer=0, play_mode=bge.logic.KX_ACTION_MODE_PLAY)
obj.playAction('name_of_other_action', 30, 42, layer=1, play_mode=bge.logic.KX_ACTION_MODE_LOOP)

And if you need to stop it later:

obj.stopAction(layer=1)


fractured object meshes follow along path in order in AN I want fractured object meshes to follow a path in a defined order in Animation Nodes, like in this video.

Here is a gif of the animation:

You can use an ID Key to define an order using the selection tools as follows:

To use those indices to define the delay order of a follow spline action, you can can simply sort the objects based on the indices as follows:


Yellow triangle frame marker in VSE This is a lame question but, what is this yellow triangle marking a frame? I was trying out different shortcuts and I think I accidentally added it. I can't find it in the Blender docs.

The only reason I'm asking is because I'm having an audio sync issue when I render my video and I'm trying to hunt down the cause.

I think it is just a marker. You can add it by pressing M and delete by selecting it and pressing X

If you can't select it, uncheck Lock Markers option in the Marker menu.

You can find more info about the markers in Blender Manual:
https://docs.blender.org/manual/ko/dev/animation/markers.html


Lego Walkcycle Sliding Problem i have a problem. i want the lego-minifigure to walk without sliding. I tried it with a rootbone and a path but i always get sliding. i also tried offset- walking, but it did not work. what else can i do? i want to reuse the walkcycle for other animation.s i spent 3 days but can't make it work. i watched a lot of tutorials, but is is still not working. i need this animation, but i can't go on without a working walkcycle.

So here is a method to make a non-sliding walk cycle. This is the Dopsheet part, once you have finished, when you'll move the character through the scene from point A to point B, you'll need to adjust the speed so that the walk doesn't slide, but it's another topic.

In the Dopesheet, put your cursor at frame 0, switch your armature to Pose mode, don't move the root bone for the moment, just create a pose with spread legs and hip a little bit down, align the heel of the front foot (let say left foot) with the tail of the root, select all the bones and create a LocRotScale keyframe.

Copy the whole pose, go to frame 20, paste the flipped pose, create a keyframe for all the bones. In the Dopesheet press T and choose Interpolation > Linear to make the Graph Editor curve linear.

Stay at frame 20, move the whole armature (with the bone) until the left foot is aligned with its position at frame 0 (which is now the position of right foot as the pose as been symmetrized). You can create an empty as a marker if it helps. Create a keyframe.

At frame 10 create the intermediary position: lift the right foot and move up the hip. Select all the bones and create a keyframe.

At frame 40, put the root bone at a position on Y axis that is twice its position at frame 20. Use the Location value in the N panel and keyframe it.

Now, copy the bones at frame 0 (except root) and paste them at frame 40. Insert a keyframe. Copy the bones at frame 10 poses (except root) and paste flipped at frame 30.

Disable the root animation so that the character walks but always stay at its position.


How to access bake margin from python? I'm building a color ID baker and I'd like to access the margin slider on my addon. I've looked in the API and gone through numerous attempts, but I can't quite figure out the python command to change it, much less implement it elsewhere.

The bake settings are a collection of settings available in bpy.context.scene.render.bake.

So, to access the Margin you would do:

bpy.context.scene.render.bake.margin = 16

This was a little tricky to find, but there were a few hints.

Hovering over the Margin property showed the tooltip, which revealed that the bake options were going to be in the Scene's properties.
Baking is linked to rendering, which made me think to look under the bpy.context.scene.render settings.

The best way to explore the Api is via blender's Python Console editor and use Autocomplete to see the available properties of a given class, e.g. typing bpy.context.scene. and pressing Ctrl+Space will reveal:

>>> bpy.context.scene.
                      NWBusyDrawing
                      NWLazySource
                      NWLazyTarget
                      NWSourceSocket
                      active_clip
                      active_layer
                      alembic_export(
                      animation_data
                      animation_data_clear(
                      animation_data_create(
                      appended_header
                      as_pointer(
                      audio_distance_model
                      audio_doppler_factor
                      audio_doppler_speed
                      audio_volume
                      etc......
                      etc....
                      etc..


Object in Cycles is getting illuminated but stays black in Eevee I am working on a space scene using a 3D model of a starbase that I downloaded online. There's a sun in the scene that illuminates the starbase. The starbase gets illuminated in Cycles, but when I switch to Eevee, it does not receive any light from the sun.

The node tree of one of the "head" of the mushroom-shaped starbase looks like this:

Am I missing something fundamental that you more seasoned pretzels can see at the first glance?

I could narrow it down to the huge number of lights (134) in the scene.
Deleting all lights and adding a fresh sun restores the display of shadows. By using the new filtering parameters, lights can easily be found:

It looks like that eevee cant handle that many lights and additional ones will simply be ignored:  https://docs.blender.org/manual/en/latest/render/eevee/limitations.html


Extrude along path crossing planes I make route with path and extruded it but I get this nasty looking crosses inside curves. How repair this thing? Thank you for reply.

Edit:
Added more pictures
This is from bottom

From top

Welcome to Blender Stack Exchange!

The reason you see what you do is because of the size of the shape that you are extruding along the path and the radius of the curve in the path.

When you extrude something around a curve, there is a maximum size shape you can extrude before nasty intersections occur. The maximum size shape you can use will have a radius that is the same size as the radius of the curve in the path.

What I'm trying to say is that you can't get a nice, smooth curve when using an object that big and a curve in the path that tight.

You have a few options though. You can change the curve in the path to make it less sharp, or make the profile you are extruding smaller, but I'm guessing that's not what you want. You can try selecting some of the nasty faces and using the Smooth Tool (can be found by pressing W) or using the smooth brush in sculpt mode.

My suggestion would be to use a lot less extrusions along your path, then use the subdivision surface modifier to smooth it all out. That way you have a lot less vertices to get bunched up in the corners and you can easily edit them all manually to make it look better (by moving them individually in edit mode or smoothing them with one of the options above). Also since you are going to be using this for a game you want to use as few vertices as possible to make it run faster.


Project looks like it has doubled faces but doesnt I tried selecting all, removing doubles, selecting by interior faces, and just manually deleting double faces, but nothing changes and as far as i can see there arent any doubled faces, but my entire project flickers with that double face look. any way to diagnose this?

Blend file:

In your Properties pane, you have "Ambient Occlusion" turned on...uncheck that and it'll be fine:

Unless you want AO in that view, but be aware you'll see the artifacts.

If you want AO in your render, that's not where you should select it.  The AO setting for Renders is in the World pane:


Is it possible to make a Cycles material detect the number of vertices in a face and shade it accordingly? In a Cycles node-based material, is there any way to determine (via an Attribute, properties of the Geometry node, Texture Coordinate node, or any other means) how many vertices make up the current face, ie, whether it is a Tri or a Quad (or Ngon).

Before Blender renders, all models are triangulated and normals are calculated. There is no way to detect whether the face was an ngon or a tri. But you could apply different material indicies for the ngons than for tris. Then you could just get the info from the object info node. You could easily do that by selecting a tri for example and hitting Shift+G (make sure you are in face select mode). A menu pops up and you choose Polygon Sides. That assign the same Material as before but in a new Materials Slot.


Start new rays after trigger? I am making somewhat of an FPS, I am making where no bullets come out of the barrel, but a ray comes out. I know how to make a ray with distance and detect a property, but that's not the problem. I am making a penetration system where the ray goes through objects with a certain property ("penetrable"). I can do this, but the way I want this to work is the following: as soon as the ray (first ray) hits a penetrable object, a new ray is created. Also, when the ray hits the property, it casually would send a message ("x") to tell the other player to lose health. If the ray is a ray that is new (penetrated through an object) one, I need it to send the other player a message "xy". This would make it possible to have the bullets deal less damage through walls, and make it possible to reward you differently. So what am I asking for? I would like to have a ray come out of the barrel (if it hits someone before it penetrated, it sends the regular "lose x hp message."), and if it hits a property "penetrable," a new ray would be created that sends players the message "lose x-y" if it hits. I know this sounds very hard, but I can already make it very far; I am just not sure if I am doing this right. Any help is appreciated, thanks!

Here is the logic setup for this system :

if ( hit_penetrable and Xray_hit_player ) : send(XY)
if ( hit_player ) : send(X)

a Demo file


Clearing creases via script I want to use mean crease in my python script, but i cant access its code via "edit source". I need a button which clears all creases on selected edges with single click, and put it in my custom pie menu. I've found some info on it : mean crease function is scripted with C. Any ideas how to get "mean crease" in python?

Here is the line you need

  bpy.ops.transform.edge_crease(value=-1.0)

import bpy

class UIPanel(bpy.types.Panel):
    bl_label = "Crease Clear"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"

    @classmethod
    def poll(cls, context):
        return (context.active_object is not None) and (context.mode == "EDIT_MESH")

    def draw(self, context):
        self.layout.operator("crease.clear", text='Crease Clear')

class OBJECT_OT_HelloButton(bpy.types.Operator):
    bl_idname = "crease.clear"
    bl_label = "Crease Clear"
    country = bpy.props.StringProperty()

    def execute(self, context):
        bpy.ops.transform.edge_crease(value=-1.0)
        return{'FINISHED'}

bpy.utils.register_module(__name__)

Если ты хочешь чтобы кнопка осталась в системе, после перезапуска блендера, сохрани текст в файл с форматом .py и нажми последовательно эти кнопки

If you want the button to remain in the system, after restarting the blender, save the text in a file with the format .py and click these buttons sequentially


How can I get a tinted highlight without tinting the entire piece? I want to give my highlights a little more color, such as in this image:

But using an environment map gives me pretty flat colors:

Is there a way to get this greater hue range, especially if I can get it just on a single object?

I tried adding a second light, but it really doesn't look good with environment lighting.

I also tried it without the environment, but any colored light tints everything that color, which I don't want. I want the shadows to be unaffected.

Compositor is fine too.

Edit this works, but the screen step seems too yellow:

First you can check Color Management, by default its set to Filmic that has a flat look (but for a good reason). You can switch to Standard, but probably better is to add a few nodes in Compositor - like Glare node.

Yeah ... separate effect for gem you can use ID mask of object or newly Cryptomatte feature.


Why don't light emitters reflect light? I'm testing out an edge case in Cycles.

Here's the setup: I have two area lights: a large dim one and a small bright one. There's also a ground plane. Each light has a box behind it prevent light from shining from the back side. The large dim light emits a small amount of light downward and the small bright one emits light upward. The small one is positioned between the large one and the ground plane. Here's a diagram of the setup:

When I render the scene, I would expect that light from the small light should reflect off the large light and onto the ground plane below. However, that's not the case here. When I change the brightness of the small light, the illumination of the ground plane doesn't change at all. That suggests that there is no light being reflected off the large light source. Here are some example renders:

When I hide the large light, the light from the small one bounces off the object that was behind the large light and, as expected, illuminates the ground plane below. Some examples:

So my question is: why don't Emission BSDFs reflect light? In theory, they should; even the Sun reflects light (albeit a minuscule amount compared to what it emits). Is this a design choice or a bug? If it's a design choice, then why?

This is expected behavior for Cycles and in line with the way a physically based render engine is supposed to work.

By assigning a purely emission shader to a surface you are telling the render engine that that surface has no other light path component interaction, and is only emitting photons, no light is absorbed, no light is reflected, no light is refracted.

If you expect more light path behaviors from said surface you have to add the corresponding shaders for those.

What this means is practically you have to use a Mix shader to mix the emission with other materials cabale of reflecting light from other sources, in this case a simple Diffuse or Glossy shader will do.

For clarity sake the "strong light" is red colored and the weaker one is blue in my scene.

Also as mentioned by Cegaton, you don't specifically need those boxes, if your only intent is to stop light. You can either use actual Lamp objects set to Area which will by default only emit light in one direction, or use a node setup similar to the one below to limit a certain shader to the front facing geometry only.


Wireframe modifier with intersection "nodes" I want to learn how to add objects (in this case spheres) automatically at all the intersections of a wireframe modifier on an object.

I'm pretty new to Blender and wanting to use it to create some cool wireframes I can import into Illustrator and turn into line-art. I've had some success. But I'm trying to figure out how to add spherical nodes at the intersections of pipes when using the wireframe modifier. Like in this example. Is there another kind of modifier I should look at or try to understand? So far the model I'm working with is a banana. (see second attached image)

This can be accomplished through instancing.

Create your object
Duplicate the object SHIFT+D
Add a wireframe modifier to the duplicated object
Parent the original object to the duplicated object: Select the original object first, then the duplicate and press CTRL+P, Set Parent to > Object.
Create a sphere object and scale it to the desired size.
Parent the sphere to the original object: Select the sphere first, then the object and press CTRL+P, Set Parent to > Object.
Select the original object and open the Object tab in the properties. In the Instancing panel enable instancing for Verts and disable Render Instancer

The instructions above create instances of the sphere at the vertex positions of the object and a wireframe version of it. The duplicate object is necessary because the wireframe modifier creates new geometry, which would be used by the instancing. This would result in spheres being placed at the vertices of the generated wireframe mesh instead of the original vertex positions.

You can download the example project below:


Subdivision Surface Modifier gives unwanted results I've designed a Formula 1 steering wheel. At the back of the real thing, there are screw holes which I want to add.

The steering wheel object has got a Subdivision Surface Modifier turned on. When I make those holes using a cilinder object and Boolean Modifier (Difference Mode), the Subdivision Surface Modifier of course rounds off these holes too. And I don't want that.

Pic 1: Subdivision Surface Modifier gives unwanted results

Pic 2: Subdivision Surface Modifier turned off, these are the holes I want. But I don't want to lose the smoothness of the steering wheel

What am I to do to prevent the Subdivision Surface Modifier to round off these holes?

Thanks for your help!

Rob

It seems like you have applied the Boolean Modifier. Try not to do that before applying the Subsurf Modifier.

You can use the Bevel Shader for additional smoothing.


how to access bpy.data.objects thru bpy.context.scene.objects I'm trying to run this script in a Blender text editor:

import bpy

object_dir = "/somedir"

object_all = bpy.context.scene.objects

for ob in object_all:

    if ob.hide == True:

        object_name = ob.name

        #print(object_name)
        #data_blocks = set(bpy.data.objects[object_name])

        data_blocks = set(ob)

but when I do I get "TypeError: 'Object' object is not iterable".

What's the correct way to access a bpy.data.object thru a bpy.context?
Thanks in advance.

Alright, I was a bit vague. Here's the code:

import bpy

object_dir = "/Users/max/Developer/Content/3D/objects/"

object_all = bpy.context.scene.objects

for ob in object_all:
    if ob.hide == True:
        object_name = ob.name
        print(object_name)

        data_blocks = set(bpy.data.objects[object_name])

        bpy.data.libraries.write(
            object_dir + "_" + object_name + ".blend",
            data_blocks,
            relative_remap = True
        )

        bpy.ops.export_scene.obj(
            filepath = object_dir + "_" + object_name + ".obj",
            use_selection = True,
            use_mesh_modifiers = True,
            use_materials = False
        )

what I want to do is simply write to a library and export to obj every hidden object I have. The error:

  line 12, in  TypeError: 'Object' object is not iterable Error: Python script fail, look in the console for now...

error is referred to this line:

  data_blocks = set(bpy.data.objects[object_name])

Thanks again.

That line of code is overly complex. ob is already a datablock, so you don't have to go through the hoop of getting its name and then looking it up somewhere else. Furthermore, this approach will break when you have linked datablocks from other blend files (then names aren't necessarily unique).

To create a set, you have to either use a set literal like {'abc', 'def'}, or pass an iterable to set(). This is why you get the error message that Object is not iterable. Use either data_blocks = {ob} or data_blocks = set([ob]). I would say the first method is easier to read. It's probably also faster, because you don't have to create an intermediary list first.


How to use blender create square-section spiral objects? I am a blender beginner.
I need to build a mosquito coil.

To make a spiral

Press ⎈ Ctrl+⎇ Alt+U to access the user preferences

And enable the extra objects add-on:

Back in the 3d viewport, press ⇧ Shift+A and add a Curve>Curve Spirals>Archimedian

Set the steps, turns and radius grow to get a spiral that looks the way you want.

To give it shape, use another curve with the profile you want (I used a curve>circle and adjusted the handles to make the shape more square).

In object mode select the spiral and use that newly created curve as bevel object. Make sure you enable the fill cap option.