Making a turning on light bulb I want to make a basic blender animation: When someone triggers a swich I want a light bulb to emit light, but there is no way of doing it with keyframes, because there is no light keyframe.

The triggering is another thing – I know how to make a keyframe on that, but HOW do I make a SWITCHING light bulb.

There are several things unclear in the question, but I'll try to give a general answer:

if your light is just a Light object

you can keyframe its emission strength: 0 on the frame just before the switch goes on, your desired emission value on the frame when it is triggered.

To keyframe almost any value button in the Blender Interface, just hover your mouse over it and press I

if your light is a mesh with a Cycles material *,

whose appearance when "off" is described by a single shader (e.g. a Diffuse) or a more complicated node tree:

open the Node editor, add a Mix Shader in the middle of your rightmost connection (the one that enters into "Material Output").

To the unconnected bottom-left socket of the Mix Shader add an Emission Shader node and give it your desired strength.
you can now keyframe the Fac: value of the Mix Shader: 0 means light off, something around 0.7 and 1 means light on (it depends on whether you want to keep some shading to the light-emitter material).

Alternatively you can use an Add Shader instead of the Mix Shader and keyframe the Emission strength instead of Fac:.

(* depending on how detailed is your light object, this could be the entire lightbulb or just the tungsten wire or whatever the "active" element is.)


Is it possible to add a loop-cut like bar to a wireframe-like object? I wanted to create an electric fan grill. After making the shape in the screenshot below (circle -> select circumference -> extrude -> scale -> wireframe), I found that my fan has one more concentric circle. I tried to add a loop cut, but it did not work. After several seconds of vain attempt, I realised that the object is not a flat surface and edges, but it is a wireframe. I wonder if there is a way to add a loop cut to a solid object.

I know I can undo the wireframe modifier and add a loop cut and then apply wireframe again, but just in case the solid object is not created by the wireframe modifier.

Loop cuts can only be added to face loops. If you've applied the wireframe modifier, you essentially turned each edge into a mesh, so you won't be able to add a concentric loop cut to this object.


Subdivision nothing like original I have a lego batman model taken from LDraw. It is really low-poly and messy, and when I use subsurf, it manages to look even worse. Is there anything I can do about this?

Before:

After:

And here's a bit of wireframe:

As LukeD said, a mesh can not be triangulated if you want to use subsurf properly. I found you can press Alt+J in edit mode to make the mesh quads and n-gons.


Distorted normal map on smooth surface Blender rookie here. I'm learning about baking normal maps in 2.80 with some pretty basic setup.

I'm getting strange results on a smooth metallic flat surface. You can see it on the following screenshot. I'd expect the surface to be completely smooth, but it looks sort of like alligator skin or something :). Any idea what can cause it?

Things I did (roughly):

Created a low-poly cube and UV unwrapped it (for this basic example I assumed "Smart UV project" is good enough) onto a 4K image (seems like overkill but I thought the problem originates from too low resolution - it doesn't seem to be the case though).
Created a high-poly copy with Bevel, Subsurf and a slight Displacement modifiers, which I then applied.
Set Smooth Shading on both objects.
Added material to low-poly cube (metallic) with Texture Image node (Color space: Non-Color).
Baked normals from hi-poly to low-poly.
Saved image, selected it in Texture Image node and connected the node to Normal Map and then to Principled BSDF's normal input.

Here's how the meshes look:

Normal map image:

Things I tried:
Adding more detail (loop cuts) to the hi-poly doesn't fix it. Setting resolution of normal image to 4K didn't help either.

Here's the complete .blend file with the normal map image: cube.zip

Thanks in advance.

Update

After attempting to UV unwrap the low-poly mesh according to hatinacat2000's answer below, I ended up with following normal map:

However, baking that in did not remove the weird effect. To be sure, I mean that the metallic cube looks like there's some transparent net spread over its sides, not the displacement which I applied intentionally on the hi-poly mesh, and it seems to work fine.

The problem is numerical error. 8 bits can't resolve the direction in  a surface so sensitive to minute changes in angle.

Set up a new 32-bit image.. you can do this in the Image Texture node itself
Set its color-space to Non-Color
Bake as before.

If you want to save the image out, 16-bit PNG will probably do.


embossed metal text for packaging box I am new to 3D software, trying to get this result by using material nodes. As you can see the result black glossy background, and gold metallic embossed text as the the image show. I am using Blender 2.83.
My Node material Setup like this, as you can see my sample, the black background doesn't have glossy as much as the gold metallic text, how could i separate control those, and as u know the my image text is reversed, i don't know why that happens.

After I searched on internet and played around the nodes material.

This is how I achieved the embossed effect with Bump node, I still cannot master the concept but it just works.


How do I make the spacebar menu display nodes in the Node Editor? (using Blender 2.79b)

Almost invariably, when I watch a video on Cycles material nodes, they have an ability to hit spacebar, then type the name of a node to add that node to the editor. For example, Space+ramp pops up a Color Ramp node. An example of this is shown below:

When I try this, though, all I get is this:

Googling told me about a plugin called "Dynamic Context Menu," but that does not allow the desired type-and-select functionality.

To clarify, I can add nodes with Shift+A and hunting through the menus that way; I simply want to have this much more efficient way of accessing them.

I'm not sure if the node search by name is on default on the Spacebar. However you can assign it any shortcut you want.

By default, you can access the search by pressing ⇧ ShiftA > and then selecting Search. Your presented searchbar will show up and show the nodes as results.

(I consider it possible, that the makers of the tutorials you mention, simply pressed clicked the search option too fast for a frame to capture.)
If you wish to add an even more direct shortcut to this functionality, go to the User Preferences ⎈ Ctrl⎇ AltU. Scroll down to the Node Editor and add a new shortcut. Assign a key combination to it and enter node.add_search into the identifier field.


Partially UVW Animated alpha mask for circuit board shader It want a good old fashioned texture animation, not fade alpha, transparency etc.
I need to animate a circuit board growing effect.
I would take a circuit material, mask it with an alpha map and mask the alpha map with a faded texture that is animated to change UVW position from left to right (so that the animation is from right to left).
I spend a day to figure out why I can not move i.e. a wave texture or a just black image texture with faded border over the alpha mask.
How would you animate a reveal effect like that?

I found a solution. I wanted to have a mask that I can animate to determine the alpha channels overall opacity, overriding the alpha mask information. (can be used in literally any game vfx...) I have to figure out though how to add this as decal to other materials but that is another one.
Here is the solution:
And here is the solution I used to blend it onto another material. If you can tell me how to make a more clean, proper version of this i would be very grateful. This feels a little bit wacky.


how i can texture paint this flat face of my model? im making a model for an university assignature. it consists of a geology cross-section with realistic terrain in the top, and flat faces in the sides. I don't really know if the edges of the faces are completely parallel to z axis, because i made these by myself. I used the extrude tool plus the 0 button and shift + z to supposedly align all vertices extruded in a planar fashion (don't remember exactly how i made it sorry), then i erased the interior lines and vertices of the model keeping only the vertices and edges of the extremes, but when viewing the result, the edges were slightly oblique to the axis, so i moved manually the vertices to align were i thought they looked good.
Anyway, my problem is when i tried to texture paint it. I previously selected the face and unwrapped it, created a simply blank texture in paint.net and assigned it to the face. When i paint a straight line in the 2d view, the 3d model show an offset pattern of the lines as the first image illustrates. How i could fix this to make the painting smooth and intuitive? Additionally, it would be very nice if there exist some smart way to edit the image in a third party software, using the black line that delimits the selected face in the UV editing menu, like shown in the second image. That would make my job much easier when it comes to drawing the geological strata and layers for the planar cross-section.
Thanks in advance.

I have had similar problems, It could be that the UV is not "flat", but it does not look like it from the picture. the other experience I had a distortion because the model was too low poly, from the UV editor picture It looks like the face is an N-gon, you could try adding more geometry to it.
As for exporting the UV lines to paint in another software you can Export the UV layout, there is an answer here.


Blender VSE (VideoSequenceEditor) Slows drastically when adding strips When I'm adding several strips at top of each other in VSE, it slows to one frame per second render speed, which takes even a several minutes render for, like, hours.

Is there any way to avoid this, like, changing strip overlapping settings, or is there any new updates planned for VSE?

Or, it's at the state of old Blender Render and Game Engine, left just cause it can do something?

There is not really a fix for something like this. You can sequence it overnight, but there is no way to speed it up unless you set the output to a lower quality


Volumetrics with an alpha background, can it be done in cycles? I have a scene with an egg cracking slowly. Inside the egg is a bright light. I used a cube to create some volumetrics and the result is great but I need a transparent background. I found a couple tutorials but it cuts the light off at the end of the object. It's also rendering incredibly slow because it's rendering the whole scene when all I need are the light beams. Any ideas?

You can try using a larger cube or a sphere and lessening the density so that it fades off more slowly.  But the reason it's rendering so slowly is that volumetrics are hard to compute.  What might be better for you is to render it without the volumetrics and instead use the "Glare" node in the compositor (Note, you need to use the "Mix -> Screen" node to get "Glare" to work with transparent backgrounds.  See the example below).


Removing doubles corrupts UV mapping When I remove doubles from my mesh the texture becomes corrupted:

But the UVs are the same so I don't know.

Somebody know how can I fix it ?

The situation in your case is a bit similar to one in the linked post in the comments, except for the fact that here are 4 islands overlapping and they do that in a bit more difficult way (see below). In the next screenshot you can see what you can get from "one" island on the UV map if selecting and grabbing them out:

Left - original UV map, right - all islands revealed

The problem however is that you can't just select those revealed islands, select adjacent faces in the mesh (Keep UV and edit mode mesh selection in sync) and delete them. Some of overlapping islands are those which should be preserved (meaning if repairing this UV mapping).
So to delete only double faces you should find only those which do not affect UV mapping as you see it. In order to do that:

With all islands revealed check Keep UV and edit mode mesh selection in sync in the header of UV / Image Editor.
Unselect all faces and use B (Border Select tool) to select one of revealed islands.
Move selection in UV / Image Editor and you'll see texture changing in 3D Viewport. The trick is to find those faces which do not move; those are the doubles and the ones which should be deleted.

Repeat that for other islands; once finished you'll get not very nice UV map and mesh with texture looking the same. The Remove Doubles operator won't affect UV map any more and you'll be able to delete remaining double vertices:

The UV map will look like partially stolen, and I don't think you can automatically gather it back again. However quick and dirty solution will be to select former overlapping islands and move them back to main ones (not the best solution though).

The checker texture isn't packed in blend


Why are my low poly objects being rendered smooth? I rendered my low poly object but the island and the clouds came out weirdly smooth.
I want them to be low poly like I sculpted them, but once I render it's not low poly anymore.
As a side note, I activated dynamic topology when sculpting it and added the color in vertex paint mode.

Does anyone know how to fix this?

It looks like it's because you have a  multiresolution modifier applied to your objects. If you remove the modifier or turn "render" in the modifier options to 0, your scene should render the same as it looks in the preview.


Best way to do repetitive rigging? I am trying to rig a flower which has multiple pedals. In order to save time, I want to rig and weight paint for only one pedal and duplicate those pedals.

The constraint I have is that I want the armature to be one armature, instead of having multiple armatures. This is because I am using this rig, outside of blender. Additionally, (although not required) I want to have the flower as one mesh.

The main problem I have with this is either

When creating pedals in a different object then joining it together, since the vertex group names are the same when duplicating, the pedals just end up following the original bones that I have created
When creating pedals in edit mode, I can't manipulate the armature in edit mode so I end up having to duplicate the pedals first, then going to armature and duplicating bones, and weight painting for each pedal, which is a very long process.

So since no one replied, I guess writing a plugin was the best bet.
In case if anyone wants to take a look at it, here is the link

https://github.com/shuao23/DuplicateToolsForArmature

Just a warning, there might be bugs so backup before you use it. Also its not super flexible so don't expect much :p


Ik rig severely deforms, target pole rotates torso? For some reason my rig's targer pole isn't working properly. I was trying to practice rigging poses by using an image as reference, but I didn't know why my pose was limited and it wasn't deforming cleanly or realistically. I tried to clear the pose using alt s and alt r and alt g but for some reason it isn't working.

I tried using forward kinematics but my rig seemed to deform like paper, but I'm not sure what to do to make it move realistically

I think what had happened was that there were as I suspected, weighting issues, hierarchial problems and bones had been edited in the wrong mode which can cause problems with the set rotation, scale and location in pose mode.

Here I've given you an example of a rigify rig which comes with names and and logical hierarchy. It will need weight painting to fix deformations of limbs but it'll give you a head start.

https://www.dropbox.com/s/2xhietllb671q0k/posed%20girl_edit.blend?dl=0

Good luck with it


How to make a soft body stay static and not vacillate at all? I was trying to create a soft body effect.So,I added a cube and gave it a soft body and a sphere(gave it some collision) and animated it.However my cube seems to vacillate(even though the effect is very minimal),which isn't what I want at all.I want it to just stay static at a point.So,how do I do this.Thanks in advance.

EDIT:BTW Turning the Goal Strengths Default all the way to 1 does make the cube not move but then there will be no deformation of the soft body.

I also do not want the sphere to actually physically enter so much(as one might expect) into the cube.But I am thinking a fresh new question would be better for that.

First method:

Simplest solution would be to reduce Cube mass to something like 0.5. This will prevent wobbling but it will keep Cube in place so Sphere will go trough it.

Also you will have limited control over Cube behavior.

Second method:

This is what I can recommend. In this method we need to first settle down Cube on Collision Plane, and then affect it by Sphere.

In this method you have full control over collisions. In my example I've used settings that will allow to move Cube by Sphere, but you can also change it to destroy Cube without moving it or just "melt" into it.

First of all you will need simple Plane with Collision turned on and Soft Body and Cloth > Outer > 0.001

Then set Cube Soft Body values as below:

Pull - lower value, lower impact over whole Cube.

Bending - higher value will move Cube, lower will keep it in place.

Test Blend file:


Giving the wall thickness of hollow irregular pipe. Solidify not working well with the problem I want to add the wall thickness around 1.5mm-2mm to that irregular pipe
 For me important is to have the lumen and therefore the inner surface not changed. I tried with solidify, I played with setting, but all the time I am narrowing the pipe, or some of irregularities are appearing inside the lumen. Its usually cracking when the number of thickness exceeds the offset
.
Any ideas how to create a wall to mesh like this preserving inner surface intact?

I don't think the solidify modifier was meant to handle such complex geometry. If you apply the modifier, you can repair any irregularities by hand.

The other idea would be to use the Shrinkwrap Modifier. It's ability to take the closest surface point as reference makes it pretty invulnerable to small holes.

Below is the result of a Cylinder with just 8 sides. I sandwiched the Shrinkwrap Modifier between two subsurfs. The first one decides how many verts the shrinker gets and the second is for smoothing. That way you can tweak how much inner surface structure leaks through.

All that's left is to apply the modifiers, join the meshes and stitch them together.


Creating a light beam I need a light beam, something like this:
https://cloud.blender.org/p/caminandes-3/56c6da5cc379cf0079716873
I tried it, but the emmision shader dosen't work that way now - when I make make a simple emmision material and aply it to a cube, what I get is this:
. How could I do something like that with blender 2,77?
I need a light beam for a lighthouse, it should rotate and when facing the camera, the core should be much lighter than the rest.
I tried adding a sphere with an emmision shader in a cone with an emmision:transparency 1:20 material and adding boolean intersection modifier, so that as the cone rotates, the sphere disapears, but it's visible through side of the cone.

The answer on your question is rather simple. What you missed in the tutorial, is that the Emission shader node is connected to Volume in Material Output node, which is correct way in this example. Yours node setup is wrong, cause Emission shader is connected to Surface in Material Output node.Fix this mistake, and everything will start to make sense in the tutorial.


How can I model ultra-viscous, dripping wet objects? I saw this on Reynante Martinez's site:

I want to know how those fat drips were made. My first idea would be a fluid simulation with extremely high viscosity, but I couldn't get the same sort of heavy, rich-looking drips.

My other ideas would be to model it with a half-sphere for the top, maybe do some sculpting or something to make the rips manually, then apply some sort of displacement texture to get the slight distortion on the chocolate.

You can sculpt the drips well, then in materials, set glossy along with Fresnel effect. You also want to use a nice HDR environment texture.
The key to obtaining such an effect is mainly Fresnel.


How to insert the coefficients of a f-curve in Python? I'm starting from a mesh in object mode.
I insert an animation key (I position for example).
I go to the graph editor.
I select an f-curve.
I add a generator type fmodifier.
I choose the start and end frames.

It gives me this in Python:

import bpy

bpy.ops.anim.keyframe_insert_menu (type = 'Rent')
bpy.context.area.type = 'GRAPH_EDITOR'
bpy.ops.graph.fmodifier_add (type = 'GENERATOR')
bpy.context.object.use_restricted_range = True
bpy.context.object.frame_start = 0
bpy.context.object.frame_end = 100

On the other hand, I do not know how to insert these additional lines in python which allow me to choose the degree of the polynomial as well as these coefficients.

I saw in the blender API this function corresponding to what I would like to do:
url link:
https://docs.blender.org/api/blender_python_api_current/bpy.types.FModifierGenerator.html?highlight=generator#bpy.types.FModifierGenerator

My question:
How to correctly insert in the python script of the beginning this FModifierGenerator with its degree and its coefficients? I can not do it ...
for example polynomial of degree 1:

1st coefficient = 2
2nd coefficient = 3

I fail to get your example to run, which might be in part because I don't have that Keying Set Rent available, partly because it seems as if bpy.context.object in your code refers to the object and not the FCurve, so I don't know how it should access an attribute to the FCurve like use_restricted_range

Anyway, the attributes for the FModifierGenerator are
mode which is either POLYNOMIAL or POLYNOMIAL_FACTORIZED,
poly_order and
coefficients which is a list of length poly_order+1 for a polynomial or poly_order * 2 for a factorized polynomial.

The following code adds a keyframe to the X location of the active object and adds a function modifier generator with polynomial order and coefficients set.

import bpy

obj = bpy.context.active_object
obj.keyframe_insert(data_path='location', index=0)  # X Location

fcurve = obj.animation_data.action.fcurves.find(data_path='location', index=0)
mod = fcurve.modifiers.new(type='GENERATOR')
mod.mode='POLYNOMIAL'
mod.poly_order = 1
mod.coefficients = [2, 3]
mod.use_restricted_range = True
mod.frame_start = 0
mod.frame_end = 100

If your code runs in your blender, then adding something like bpy.context.object.poly_order = 1, etc., should do the trick. Otherwise you have to find the FCurve of your keyframe channel with the correct data path according to your keying set and and modify its attributes like above.


Why is Shift+D Duplicate creating linked duplicates? So I've been learning Blender for the last week or so and have been having a blast!

I did stumble onto a very frustrating problem though. Whenever I duplicate an object using Shift+D, it creates a linked duplicate as if I had used the command Alt+D instead. I first noticed this during a tutorial where the presenter duplicated an object several times and then rotated each one individually. Mine would all rotate together. I thought I might have enabled an option accidentally while following tutorials so I tested this in a brand new scene with just a cube. Sure enough after making a couple of duplicates (Shift+D), any changes made to the original were instantly copied to the duplicates.

I'm not sure if I'm missing something very obvious here, I don't think that is the normal behavior for the Shift+D function. I'm kind of at a loss. Any help would be greatly appreciated!

So I discovered what the problems was. In the User Preferences > Editing tab, the Mesh option was unchecked under Duplicate Data. After enabling it the Shift+D duplicate functions normally. I unchecked it again just to make sure that it was indeed what was causing my issue.


Is there a way to use renderman in blender? The free version of renderman is coming out soon and I'm wondering if it can be pluged into blender. Is there a way to use renderman in blender?

There is now a public release of a Renderman plugin for Blender. Maintained in part by folks from Pixar.

Official intro to RenderMan for Blender: https://community.renderman.pixar.com/article/906/introduction-to-prman-for-blender.html

Also see PRMan for Blender Support thread:
https://renderman.pixar.com/forum/showthread.php?s=&threadid=28298


How can I store and retrieve a custom list in a blend file? I am trying to create a script that will allow me to generate a list and store it in the blend file. The list starts out blank and then strings get added to the list, resulting in:
["test1","test2","test3"]
I create a PropertyGroup Class for the enum, define a new scene property as a CollectionProperty type with access to that enum Class, before appending a new item into the enum:
import bpy

class item_set(bpy.types.PropertyGroup):
    myItems = []
    enums = bpy.props.EnumProperty(name="My Items", items=myItems)
bpy.utils.register_class(item_set)

bpy.types.Scene.myItemSet = bpy.props.CollectionProperty(type=item_set)

newItem = bpy.context.scene.myItemSet.add()
newItem.myItems.append("test")

I need to be able to add items to the list, save the blend file, re-open the file, run the script again and retrieve the list from the scene.
However, the documentation states:

One thing to keep in mind is that after saving and reloading your blend-file, your new property will have disappeared...

...To make the values you assigned in a previous session available again, you need to redefine the property. So after reopening the blend-file you need to rerun:
bpy.types.Object.myProperty = bpy.props.StringProperty()

I can do the appending into and retrieval of the property values absolutely fine upon an initial run, but as the documentation states, the property is unavailable when trying to view it's contents on a reload of the file (after having run the script, saved and re-opened the file), but I am unsure how to redefine it without clearing all it's values.
If I redefined the scene property, it would presumably also need the enum Class to be available, which would currently set myItems back to [] (empty).
Do I need to change the way I am initially setting the items in the class or am I on entirely the wrong track with all of this? All I need to do is store a list in the blend file, so if there is a better way please let me know.
Thanks.
(I would hope, eventually, to be able to store sub lists [["a","b"],["c","d"],["e","f"]], I'm just trying to get normal lists to work first.)

Part of the confusion with my question came from the fact I presumed that defining an EnumProperty was the correct, and only, way to store a list.

What I didn't quite understand was that the CollectionProperty itself would act like a list. I can have much the same code as I had before, minus the enum:

class customPropertiesGroup(bpy.types.PropertyGroup):
    customString = bpy.props.StringProperty()
bpy.utils.register_class(customPropertiesGroup)

bpy.types.Scene.customLists = bpy.props.CollectionProperty(type=customPropertiesGroup)

And every time I want to add a new item I do:

newCustomItem = bpy.context.scene.customLists.add()
newCustomItem.customString = "test1"
newCustomItem = bpy.context.scene.customLists.add()
newCustomItem.customString = "test2"
etc..

I can then access each custom item with:

bpy.context.scene.customLists[0].customString
bpy.context.scene.customLists[1].customString

If I want nested lists I can simply have the PropertyGroup Class' property as another CollectionProperty:

class subcustomPropertiesGroup(bpy.types.PropertyGroup):
    customString = bpy.props.StringProperty()
bpy.utils.register_class(subcustomPropertiesGroup)

class customPropertiesGroup(bpy.types.PropertyGroup):
    subLists = bpy.props.CollectionProperty(type=subcustomPropertiesGroup)
bpy.utils.register_class(customPropertiesGroup)

bpy.types.Scene.customLists = bpy.props.CollectionProperty(type=customPropertiesGroup)

newcustomList = bpy.context.scene.customLists.add()
newcustomList.name= "List 1"
newSubList = bpy.context.scene.customLists["List 1"].subLists.add()
newSubList.name = "Sub List 1"
newSubList.customString = "String 1"

This allows me to have an arrangement where I can access lists and sublists like so:

bpy.context.scene.customLists['List 1'].subList['Sub List 1'].customString

I can add or remove items (with customLists.remove(index)) and print them out like I would a normal python list:

for customList in bpy.context.scene.customLists:

    print("List: "+customList.name)

    for subList in customList.subLists:

        print("Sub List: "+subList.name)
        print("Custom property: "+subList.customString)

And because I am not clearing the list each time I define it (as I was in the question) the properties become available again after reloading the file and re-running the code.


Why my object looks like this in Object Mode? When I am in edit mode it looks like this:

When I am in object mode it looks like this:

Why is this happening?

First possibility.

Change Viewport Shading to Solid or press Z in Object Mode.

Second possibility.

Change Maximum Draw Type in Object tab to at least Solid. Have object selected.


Blender ascii fbx adds a Armature bone before root bone UE4 I am using blender 2.73a.

I rig a mesh with a armature and export it using FBX 6.1 ASCII exporter. However when I import it in UE4 there is a another bone named 'Armature' before root bone!
This happens with every mesh-armature pair. This is undesirable as it shifts the origin of the mesh (Which is root bone in UE4)

Had this same problem and spent a day trying to work it out. Reverted back to Blender 2.74 and export with FBX 7.4 binary and it worked fine.

For some reason Blender 2.75 and 2.76 add this bone, which means enabling root motion in Unreal Engine does nothing. This sucks because replacing a skeleton in Unreal when you have heaps of animations and montages is annoying. Really hope this gets fixed.


How can i hide the references lines on a bezier curve? I want to hide all those lines, only keeping the main curve while working, how can i do that?

You can hide the path normal markings by pressing N and then finding the Curve Display section. Under that un-tick Normals. If you were referring to the handles (the red line), then that option is the next checkbox.


2.83: How to enable depression In the above image there are depressions (ex: pointed by the red arrows). On the other hand, in the below image same points are flat.

So how can I enable the depressions? I want to do that cause it helps me seeing easily objects. Thanks.

You could enable the Wireframe option in the Viewport Overlays panel:

Or enable the Shadow option in the Viewport Shading panel:


How can I replicate this raised letter effect? I thought this would look interesting with other forms.

I know I could eventually accomplish something like this completely manually—but true workflows are what get my gears grinding.

I imagine there must be a way to take a mesh and have it relate to the displacement? Could this be animated? That would be so cool.

If anyone has any insight I’d love to hear it.

John

You can use displacement.

Open a movie or image file.

Create a cuboid, stretched along its X-Axis and add an array modifier, duplicating it along the Y-Axis. I choose a relative offset off 2 in the array modifier, this creates gaps between the stripes. In edit mode add a lot of loopcuts along the longest axis, in my case X.

Apply the modifier.
Unwrap it from the top view by pressing U (Unwrap) and choosing Project From View (Bounds). This will unwrap the image exactly as you are currently seeing it in the 3D View. Go to the UV editor and select all. Press . and choose Individual Origins as the Pivot Point. The scale SY the individual islands along Y towards 0. During the scale operation you can type 0 and confirm with ⏎ Enter.

Finally, add a displacement modifier to the arrayed cuboids. Choose Z as the displacement axis and UV for the coordinates.

This results in the displaced geometry.

Consider blurring the movie or image file as a preprocessing step to create smoother transitions.


Editing issues after knife project After knife projecting, and heading back into edit mode, I find that all the vertices are invisible, and I get a very peculiar way of moving/editing things which is highly inconvienient.
Here is an example of what happens https://gyazo.com/02085eed7b7fc3adfe1b1ec81ab3244a

Usually I have simply copy and pasted everything onto a new blender file and this has fixed it, however on bigger projects that I am now undertaking it has become highly troublesome to copy and paste many objects and parts without worrying that I've forgotten something, and really it's just become a hassle.

If any of you could help with this it'd be fantastic.

Thanks

Press 1 (not in the numpad)
At some point you pressed 2.
1, 2, 3 change the way you see and act on the mesh
1 = vertices
2 = edges
3 = faces


recalculating the number of subdivisions of a cylinders I'm modeling car wheels and i just spent a bunch of time getting the curvature just right, but now that I'm about to make the rims I'm realizing giving the initial cylinder 32 subdivisions was a mistake and that I should have made it 30 instead to split evenly with 5 and 6 point rims. Is there any way to change the subdivisions to 30 while keeping it a perfect circle?

Select one of the cross sections and separate it into a new object or inverse the selection and delete the rest of the object.

Use the Screw modifier to recreate your wheel with Steps set to 30. You might need to change the Axis depending on how your wheel is oriented. Also  check the Merge Vertices checkbox.

Click the Apply button to convert the wheel back to an editable mesh.


"Limit selection to visible" Toggle NOT working with Weight Painting I recently was attempting to weight paint a project I've been working on for a while, and I realized that while I was weight painting it, the "Limit Selection to Visible" toggle which would usually either limit my weight paint to geometry I can see or not was not actually working. I tried testing this in a new blend file and got the same result.

I recently switched over to a new computer and redownloaded both Blender 2.79 and CATS blender plugin, so I'm wondering if maybe there was some user preference that I forgot to toggle on when my settings and preferences weren't transferred over?

UPDATE: Clean reinstall of Blender seems to have fixed the issue. Not sure what caused it in the first place.


Window/tabs not closing I've tried joining, using the arrows and none of it's working.  I only want the window in green open and the ones in yellow closed and I don't know what to do.

In Blender, the way you get rid of a window is to merge that window into another one. There is a trick to this, however; two windows to be merged have to have the exact same common dimension, so sometimes you need to split one window in two to be able to merge part of it with another. Looking at your illustration, you can merge the window you want to keep with the window immediately above it by clicking on the splitter widget in the upper right hand corner of the window you want to keep, and while holding the LMB down, moving the mouse so the cursor moves into the region of the window just above it. You should see an faint arrow appear in the upper window showing that that window is being removed. For the window just below the one you want to keep, which extends across the whole screen, use the splitter widget to divide this into three windows, one the exact width of the window you want to keep, the other two windows with the exact width of the windows above them. Using the same technique as above, merge the three windows above into the three windows below.

Clearing the other windows is just a matter of applying the same techniques: finding two windows with a common dimension and merging them together, and if there are not two windows with a common dimension, splitting a window and sizing the resultant bits so that one of them has a common dimension with another adjacent to it.

There is another way: save your file, quite Blender, and start a new Blender instance. Navigate to the "file > open", and in the file browser, find the file you saved. Then, in the extreme lower pane of the file browser window, find the "Open Blender file" pane, and if the box labeled "load UI" is checked, uncheck it. This will load the contents, without loading the window layout.


Trying to realistically deform an inflated balloon so that it retains its volume I'm using the new pressure settings for cloth sim in Blender 2.9 and I'm able to use a moving object with collision on it to squeeze a spherical shape with cloth and internal pressure applied to it. It's fairly convincing except that if you view the deformation from the side, it squeezes realistically at the point of pressure, but the overall volume is decreasing. On a real balloon the sides would inflate outwards around the point of pressure. Similar to the way this toy inflates in areas that aren't being restricted by pressure: https://www.youtube.com/watch?v=fA7_78PouHw
I'm trying to do a visual demonstration of this effect for a presentation, is there a way to tweak the settings to achieve this using physics, or barring that, a way that I could convincingly fake it? My best guess at the latter option would be to bake the physics animation, then try to add volume to the sides at the point of it being squeezed in the animation. But I'm not sure if this approach would be worth pursuing, would it be possible to do it with shape keys and animate that?

I found a solution that gave the more dramatic expansion that I was hoping for. First, as @Markus von Broady mentioned, lowering the cloth modifiers tension, but in addition I added pressure to the simulation when an object with collision put pressure on the system. So I added key-frames to the 'Pressure' setting that coincided with the system getting more pressure from an external force.


Getting the color of a movie clip under a tracking point I'd like to fix a movie clip to have constant exposure all over. Instead of fixing it manually I'd like to set a tracking point for an object and use the color information under the tracker to drive the color correction clip modifier, i.e. to make sure the brightness of said object is always constant.

Is this possible and if yes, how?

You can extract the color directly under a Tracker like this


Subdivision Surface Modifier destroys certain faces Why is this happening when I add a Subdivision Surface Modifier, and why exactly at those spots, all edges seem equal to me.

I think you will find the reason for this, is that the vertices are not actually attached. In edit mode, go to vertex selection mode, and press spacebar, type "remove doubles" and click the remove doubles operator.

If that does not work out, do what you can to investigate where vertices do not actually connect.

Also keep in mind that subdivision modifier works best with quads. You may want to do your best to convert those triangle faces to quad faces.


How do I set up a material with diffuse, normal and alpha (transparency) maps? I'm finding it very difficult to set up a basic material with diffuse, alpha and normal maps. Although I've managed to create a material with diffuse and normal maps, I can't manage to get the alpha channel working correctly. I would like to use three separate maps as shown below:

Below is the desired result of combining the maps with a single spotlight shining from above.

Although I found a few examples of setting up materials with transparency online, I couldn't get anything to work correctly. Instead of me posting lots of pictures of my failed setup, could someone explain the correct way to combine these maps? I would really like to see both how to do it in the standard material/texture panels, and also in the node editor. I would like the result to appear in the real-time textured viewport mode.

In order to help explain what I am trying to set up, here is a picture of the current result of the material as it looks with lighting in my scene. I'm viewing using GLSL, but if I switch to multitexture, it's entirely black. I tried rendering it, but I just get the result shown here.

UPDATE: Partial Answer

Thanks to this tutorial, I managed to achieve the result I want if I'm rendering in cycles. The problem with this is that I want a clean real-time render that works in the viewport, so I'm still only half-way to a real answer. Here's my node setup for cycles:

However, as I said, I would like to see this kind of bump mapping working with alpha in the standard real-time view:

The only problem I see in the node setup is that the normal map image texture should be put through a normal map node to convert the color output data of the image texture to the required normal input of the shader.


How to scale primitive shapes in Blender so that they are within a [unit] sphere? I wonder how is it possible to scale all shapes so that they are within boundaries of a [unit] sphere? I know how to do this for a cube: if radius of the sphere is S I set the length of X, Y and Z of the cube to S * math.sqrt(3)/3. This way, the corners of the cube are barely touching the surface of the sphere. But I don't know how to do this for other objects such as torus, cylinder and cone. Is there a general rule for this?

Use the bound box.

Result on Default cube scaled to fit in unit sphere

Half the length of one of the principal diagonals of the bounding box will be the radius of an encompassing sphere.

Simple test script.  Looks purely at local coordinates from the bounding box and scales such that will fit in local unit sphere.

Note this ensures they fit in a cuboid that fits in a sphere, not such that it fits perfectly into a sphere.

import bpy
from mathutils import Vector

def bbox(ob):
    return (Vector(b) for b in ob.bound_box)

def bbox_center(ob):
    return sum(bbox(ob), Vector()) / 8

def bbox_radius(ob):
    bb = list(bbox(ob))
    return (bb[6] - bb[0]).length / 2

context = bpy.context
for ob in context.selected_objects:
    scale_factor = 1 / bbox_radius(ob)
    ob.scale *= scale_factor

Max vert from centroid.

Result on Cone

A similar method could be employed that looks at maximum distance from centroid on a per vertex basis.

def mesh_radius(ob):
    o = bbox_center(ob)
    return max((v.co - o).length for v in ob.data.vertices)

context = bpy.context
for ob in context.selected_objects:
    scale_factor = 1 / mesh_radius(ob)
    ob.scale *= scale_factor


Blender Render toon freestyle liquid flowing in pipe loop I'm making a series of explainer animations in Blender Render with freestyle and in one of the scenes I'd like to show a pipe going from one location to another and simulating a liquid flowing through it - toon style - perhaps something like this:

The red and blue would move along the pipe just to give the impression that there is movement rather than using real fluids.

I've looked at things like getting cylinders to follow the path but that gets extremely fiddly for longer animations where this is part of the background. Is there a quick fix in blender for this?

Using a curve to animate something along a curved shape is most likely the easiest option.

Create a (bezier) curve. ⇧ ShiftA. Shape it.
Useful operations include, Grab G, Rotate R, Scale S, Subdivide W > S, Delete X and changing the vector mode V.

Note, that the bezier curve's object center is at the origin for convenience.
Create a segment of the pipe object. I created if from a cylinder ⇧ ShiftA. It is exactly 2 units wide. Since the object is going to follow the path later, I added some subdivision along its width with the loopcut tool ⎈ CtrlR.

Create two keyframes I. The first at frame 0 in my case and the second at frame 10. The translation between the two keyframes should be exactly the width of the object.
Select the keyframes assign the vector interpolation V > Vector. Then make the motion repeat, by pressing ⇧ ShiftE > Make Cyclic in the graph editor.

Make sure the curves resolution is sufficient. Add an array modifier to the object followed by a curve modifier with the curve selected.

As you can see, the motion along the curved gets repeated the amount of a segment, creating the illusion of a continuously moving shape.

If the extra amount of pipe is problematic, it could be remove with a boolean modifier. Howevery, the curve could also just shape in a direction which hides the pipe from the camera's view.


Shape appears different in edit mode, object mode and render I'm trying to animate a figure to jump and the animation runs fine when I play it in timeline but when I render image/animation, it also shows the initial T-pose figure that I started with:

what i found is that in the edit mode the shape of the figure is still in the initial t-pose and the armature seems disconnected from the object
in edit mode:

whereas in the object mode the armature and body are connected and not in t-pose
in object mode:

is it because I had not applied the armature modifier before making the animation?

It is because you have a duplicate of your object in you scene. The one  named tpose_human_body. I see you have it hidden but blender still renders it. If you want it to not be rendered move it into a new collection and disable the collection from the view layer by unchecking the tickbox near it.
There was a simpler way to disable render for objects before but it has changed and nI don't know how to do it in 2.8


Adding keyboard shortcut to a blender script I know it's probably not the most elegant, or even a usable, solution, but is it possible to use a keyboard shortcut, say pageUP in a python blender script?

OR find out the code behind the shortcut, like one can do elsewhere in blender, like a button's code for example.

I have been looking in the input user preferences and hovered over the shorcut , which gives me:

keyMapItem.map_type
bpy.data.window_managers["WinMan"] ... map_type

But i'm not sure how to use this, in a script, to give me the shortcut "page up" functionality.

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

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

Or if you want to just modify selected strips:

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

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

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


Importing .mov files in blender sequencer is very laggy I have seen a couple other people ask this question but I have yet to find an answer. When importing an mov file into the blender video sequence editor, I find that the program becomes extremely laggy and cannot playback at more than 4fps. Is there some special way to import a .mov file? Or can we officially say that importing an .mov file to blender is something to be avoided?

My solution was to export the mov file as an .mkv file and when I import that into the editor it works very fast. It is something specifically about trying to edit an mov file that blender doesn't like. Here is another link concerning this. I tried their solutions and I did not have success:

why is the video sequencer so slow with 4k files 2.79

Is anyone having success with mov files in the video sequence editor? Just to be clear, I am importing an mov file, not exporting my project as an mov file

Importing .mov is not the issue. Mov files are quicktime files. Quicktime is a container that can hold video files in a variety of different compression codecs. Some codecs are more efficient than others. Some codecs require more from the CPU than others. Some require faster drives to sustain the data rate. Some are fast and easy to play at the expense of quality. All quicktime files are not created equal.

The same can be said about mvk. It is a container, that can encode in different codecs. Some will work for you, others won't. Sustaining the data rate depends depends on the codec and the resources available on your computer.

But the bottom line is that editing 4k video requires a lot of computing power, and/or clever optimization. Blender's video editing capabilities are quite limited and antiquated. To deal with video you would be better off with a real video editing app. Most of them can play video more efficiently than blender, using GPU acceleration and multithreaded operations. Blender uses none of that.

Blender is a great 3D app but the vse's performance and design is sub-par to other apps out there in the real world.


Cutting multiple objects How do i cut all these small cylinders in stright line like this?

An edit mode solution is by using the Bisect tool. Check the Clear Outer option to delete all vertices above the intersection plane:


How do I stop the cloth modifier from treating a joined mesh as separate meshes? Is there any way to prevent get this to act as a single mesh? Also, I should note that it is pinned at the top.

Yes, there is a way to make it act as a single mesh. The way to do it is to add appropriate vertices to vertical and horizontal bars in edit mode and join them.


why refleaction of light on floor I have a area lamp pointing front side with emission of 100 in cycles. Why the shadow or glow on the floor. As show in the image below. I want to have a a glow as seen below but there should be no glow on the floor. Any way for the solution.

The area light is NOT parallel.

The floor is lit by the indirect light. Also the reflection.

Use emission material instead of area light if you like the result in the picture.


One object isn't rendering a shadow in Cycles I haven't encountered this issue before, so I apologize if this is a simple fix... but I'm trying to work on a small interior scene, and for some reason, I can get the shadow of a table to show up in the 3D viewport, but the same shadow doesn't show up in the actual render.
Some screenshots:
There's no shadow in the bottom right of the image.

If I hit Tab to enter edit mode, the shadow reappears.

But then even with the shadow visible, when I render the image, the shadow is gone again.

Can someone poke around my .blend file and see if anything is strange? Again, I've never encountered this issue before, so I'm not sure what could be the cause...
Thanks! :)

you just need to select the table and check the "shadow" checkbox under "object properties"


How to connect 2 cuboids in a "T" shape I'm not looking for the basic "Press F". I need both meshes to be connected with a correct topology. Their edge positions are set up properly, it's just that a lot of the vertexes aren't actually connected to anything, like this:

Is there a way to quickly fix my oversight, or how would I go about fixing it the manual way?

Make 2 loop cuts on the vertical shaft (Ctrl+R), bring them close to the vertices of the horizontal shaft (as Julian points out in the comments, once you accept the position of a loop cut, you can still readjust by pressing G twice), when the vertices of the two shafts are nearly touching each other (green lines on the image), select all 8 vertices (you can do it easily in Wireframe mode, press Z then W) and press M then B (Merge by distance) - the vertices should now be connected.
Remember to remove the inner face (marked red) for proper shading - you can do it easily in Wireframe mode or by hiding one of the external faces first.


Why doesn't the road follow the curve? Ok so I was trying to find how to fix this problem. I found some answers but it did not work. So the problem is that I have a piece of road and I am trying to align it with curve so it could have beautiful L turn. But every time I tried to do it using array and curve modifiers it was always in same position and messed up transformation. Other roads (array) were next to each other - did not follow the curve. I tried moving road to curve center using cursor and same thing happend. The reason why I need this is so the road lines could line up perfectly. Any ideas how to fix it?

This question is similar to "Why is the curve modifier deforming strangely?"

If i understood your question. This is the answer
Add a plane -- Add texture by uv mapping
Add a array modifier & curve modifier
In array Fit curve
And in Curve modifier -- object -- bezier curve
Click the bezier curve now and go to edit mode
and extrude and u will get the road with the path


Weight Painting Won't Get Rid of Weird Protrusions I tried adding weight, removing weight and removing doubles. The mesh popping out won't go away.
Any ideas?

Blend File:

To trouble shoot, enable Adjust edit cage to modifier result of the Armature modifier.

Then you can select the problem vertices in edit mode and examine the problem vertices.

This vertice should not be assigned to the chest. It should be mainly assigned to the UpperArm.R, currently it isn't.

To fix this go into weight paint mode, select the upper arm bone and add weight to the vertice.


can i render seperate layers at seperate times? I am currently trying to render a scene that I will turn into a poster. The final render is spread across three separate layers. I am rendering at a resolution of 6000 x 9000 with 1080 samples. My computer has an i7 7800k with 32g of ram and 2 GTX 970s (4g each). Each layer is taking around 5 to 8 hours to render, but by time it gets to the 2nd or possibly 3rd scene my computer just takes a dump and freezes. Is it possible to render a single layer save it, restart the computer, and render the second and so on? Thanks in advance!

You can control which layer(s) render(s) with the checkboxes next to the layer's names in the Properties panel > Render Layers tab. Only the layers that are checked will render. You can therefore check one layer, render it, save it, restart your computer, do the next two, and combine them all with the compositing that you probably have.


Texture that only effects faces that are facing upwards Does anyone know how to apply a texture in Cycles that only effects the faces of a mesh that are facing upwards (ie in the global Z direction within an angular tolerance)?

This would be very useful for snow, frost, dirt or dust.

I've done some experiments using the Tangent node but the results are not ideal.

I believe Maya has a snow texture that produces this type of result.

Use this node setup for your material:

The dot product of the face normal with vector (0, 0, 1) is 0 when the face normal is orthogonal (= horizontal) and maximal when equal. When pointing downwards the dot product is negative.

With the color ramp you can control the angular tolerance. If you don't want to have a smooth transition between texture and green you can move white handle to the black one.

This is used as the factor of a Mix Shader mixing the texture with a green diffuse material.

Result:


Dope Sheet: Select all keyframes before or after a certain point I'm attempting to create a smooth motion with a camera object in an animation as it changes location between several keyframes. My goal is to select the relevant keyframes at the specific point in time and move them forward or backward on the dope sheet timeline.

This of course only moves the selected keyframes at that specific moment, without altering any other keyframes elsewhere on the timeline, which means I would need to manually offset every other keyframe located after the one changed.

While the B and C hotkeys can help achieve this goal to either select everything ahead of the keyframes being adjusted, this may become more time consuming for any future projects that might be more complicated. Is there a function or hotkey I am unaware of which would allow me to include every keyframe ahead of the selected one? And if such a function exists, does the opposite exist as well (include all keyframes before selected one)?

Left square bracket ([) and right square bracket (]) will select all keyframes on all channels before or after the current frame respectively, including the current frame.

If you don't want the current frame included you will have to change the current frame by 1, left or right, depending on the selection direction.


How can I append an object from an external blender file using a relative path with Python? How do I append a custom object from an external blender file using relative paths so I can pack the file with the addon? I can append the file easily with absolute path like this but I could fined how to do it with a relative path.

external blender file path ---> D:\blend_folder
blender file name ---> external_blender_file.blend
object name ---> object_2

This is using an absolute path:

# import bpy
# bpy.ops.wm.append(filename="OBJECT_NAME", directory="/PATH/TO/BLENDFILE/NAME.blend\\Object\\")

import bpy
bpy.ops.wm.append(filename="object_2", directory="D:/blend_folder/external_blender_file.blend\\Object\\")

How to make it work with a relative path?

There is a pretty nice example using BlendDataLibraries and a relative path in the API: https://docs.blender.org/api/current/bpy.types.BlendDataLibraries.html

Example script to append all objects named Cube... from a blend file called link_library.blend in the same folder as the script:

import bpy
import os

# "//" prefix is a Blender specific identifier for the current blend file
#filepath = "//link_library.blend"
#abs_filepath = bpy.path.abspath(filepath) # returns the absolute path

# os.path.abspath(__file__) returns path to the script
filepath = os.path.join(os.path.dirname(os.path.abspath(__file__)), "link_library.blend")

# link all objects starting with 'Cube'
with bpy.data.libraries.load(filepath, link=False) as (data_from, data_to):
    data_to.objects = [name for name in data_from.objects if name.startswith("Cube")]

# link object to scene collection
for obj in data_to.objects:
    if obj is not None:
       bpy.context.collection.objects.link(obj)

Assuming the folder structure is like:

my_folder/
├── my_script.py
├── link_library.blend/
    ├── Objects
        ├── Cube

Further reading:

How do I get the full path of the current file's directory?
How to Link/Append a data-block using the Python API?
How to get the directory of open blend file? (from Python)

Can be wrapped into an operator easily. I suggest declare at least two StringProperties, one to hold the name of the blend and another one for the actual object name, which basically allows to pass arguments when calling the operator or when adding the operator to any layout:

class MY_OT_custom_append(bpy.types.Operator):
    ...
    blend = StringProperty(name="Library Blend File")
    object_name = StringProperty(name="Object Name")
    ...

 # On a panel
 class MY_PT_custom_panel(Panel):
    ...
    row = layout.row()
    props = row.operator(MY_OT_custom_append.bl_idname)
    props.blend = "link_library.blend"
    props.object_name = "Cube"
    ...

...
# Test call
bpy.ops.scene.custom_append(blend="link_library.blend", object_name="Cube")

Read: How to pass multiple operator properties via UI layout?

custom_append.py

Panel and operator example to append given/known objects from another blend file next to the Add-on (see the folder structure above):

bl_info = {
    "name": "Custom Append Add-on",
    "description": "",
    "author": "",
    "version": (0, 1),
    "blender": (2, 80, 0),
    "location": "3D View > Tools",
    "warning": "", # used for warning icon and text in addons panel
    "wiki_url": "",
    "tracker_url": "",
    "category": "Development"
}

import bpy
import os

from bpy.props import StringProperty
from bpy.types import Panel, Operator

# ------------------------------------------------------------------------
#    Append Operator
# ------------------------------------------------------------------------

class MY_OT_custom_append(bpy.types.Operator):
    bl_idname = "scene.custom_append"
    bl_label = "Custom Append Operator"
    bl_options = {'REGISTER'}

    blend = StringProperty(name="Library Blend File")
    object_name = StringProperty(name="Object Name")

    def execute(self, context):

        # os.path.abspath(__file__) returns path to the addon
        filepath = os.path.join(os.path.dirname(os.path.abspath(__file__)), self.blend)

        # -> Test whether the file exist
        if not os.path.isfile(filepath):
            self.report({'WARNING'},"{} does not exist".format(self.blend))
            return {'CANCELLED'}

        # link all objects starting with 'Cube'
        with bpy.data.libraries.load(filepath, link=False) as (data_from, data_to):
            data_to.objects = [name for name in data_from.objects if name == self.object_name]

        # -> Test whether the obejct exist
        if not data_to.objects:
            self.report({'WARNING'},"{} not found in {}".format(self.object_name, self.blend))
            return {'CANCELLED'}

        # link object to scene collection
        for obj in data_to.objects:
            if obj is not None:
                # Append to active collection
                active_coll = context.view_layer.active_layer_collection
                active_coll.collection.objects.link(obj)
                # Append to main collection
                # context.collection.objects.link(obj)

        return {'FINISHED'}

# ------------------------------------------------------------------------
#    Panel in Object Mode
# ------------------------------------------------------------------------

class MY_PT_custom_panel(Panel):
    bl_idname = "OBJECT_PT_my_panel"
    bl_label = "My Panel"
    bl_space_type = "VIEW_3D"
    bl_region_type = "UI"
    bl_category = "Tools"
    bl_context = "objectmode"

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

        file_name = "link_library.blend"
        object_name_01 = "Cube"
        object_name_02 = "Sphere"

        row = layout.row()
        props = row.operator(MY_OT_custom_append.bl_idname, text="Append {}".format(object_name_01))
        props.blend = file_name
        props.object_name = object_name_01

        row = layout.row()
        props = row.operator(MY_OT_custom_append.bl_idname, text="Append {}".format(object_name_02))
        props.blend = file_name
        props.object_name = object_name_02

        layout.separator()

# ------------------------------------------------------------------------
#    Registration
# ------------------------------------------------------------------------

classes = (
    MY_OT_custom_append,
    MY_PT_custom_panel
)

def register():
    from bpy.utils import register_class
    for cls in classes:
        register_class(cls)

def unregister():
    from bpy.utils import unregister_class
    for cls in reversed(classes):
        unregister_class(cls)

if __name__ == "__main__":
    register()

Further reading: How to create a custom UI?


How to make Actions object specific? I have gun actions, and each part of the gun, has a specific action. However, when I export it into Unity, each object has every single animation, even if it never used that animation in Blender. What can I do, to make actions object specific?

So the way blender exports normal object actions is that every action that can be applied will be applied to an object, I would recommend doing the animation with a rig, but you can also switch tick these boxes off and it should export as one animation.


Hi The model that I'm working with in blender isnt showing up in when I render my work I'm making a short walk animation with a robot I modeled myself, but when I try to render out my work it doesn't show up. I have tried the following solutions

1 Camera icon is disabled in the outliner

2  Render layer not showing in the compositor

3   Render layer does not include scene layer or the objects are in a layer that is not renderable.

4 Scene layer not selected

5  Cycles camera visibility disabled in object settings

6  Cycles material disables visibility to the camera

7  Objects are not within the range set by the camera clipping

8  Using the wrong scene

9  Strips present in the VSE, and the sequencer box is enabled in the post process section

10  Cycles: Exposure setting in the film section set to 0

11  Depth of field not set properly making the whole scene blurry

12  Object blocking the camera view

13  An object has been set as the active camera.

14   There are no lights on the scene or they are on a different layer.
    Objects have no faces.

15 The Solidify modifier takes over the object and is disabled in Viewport

16  Duplication type set to 'Group' and no group is selected.

17    Duplication issues (under the Object tab in the properties panel), e.g., duplication type is not 'None', and object has no children, or set to 'Group' and no group is selected.

I have checked all of these options, but none of them are the issue

Judging by the limited info you have put out in your questions, for blender-render these two remaining things might be the reasons why it's not appearing in your final render.

Draw type set to something other than solid or textured and duplication settings is set to anything other than none

Try setting it to textured and none

Something's wrong in the Render layer settings

Maybe you accidentally turned off the renderlayer or the solid option in the Render settings.


How to create a switch Node that recognizes if a texture is connected to the node input? I'm trying to create a little trick, which recognizes if a texture type node has a texture inside it, so if yes, like in this example, it should set the MixRGB value to 1, I'm using a math node set to "Greater Than ", but obviously, this interacts on the parts where the pixels have a value higher than" 0 "but on the others it doesn't interact and the color stays on red. Tracing the Blender logo I'm using as a test.
Is there a way to "Smooth" those values, and make everything set to RGB "Green" if a map is inserted into the node and has at least one pixel with a value greater than 0?
In short:
I would like solid color Red if no texture is inserted in the node, and all green if a texture inserted in the node

Edit:
Something was suggested to me in a previous answer. But the problem is that in Blender, an empty Texture Node fires RGB values: (0,0,0) in Eevee, and (1,0,1) in Cycles. So, use solution would be with regard to RGB values only (Leaving aside the Alpha factor for now)
Feedback like this:

Here are three ways to do it:

Python Nodes API: with Python nodes like mentioned before, you can create a smart/dynamic node, that can change values depending on Python properties, like if an image is inserted or not

if you don't want to use PyNodes, you can use drivers, here's a simple driver that does what you need (change "Image Texture" in drivers panel to the name of your Image Texture Node):

if you plan to have such functionality inside a node group, you could set a chosen default value for a socket (a negative value would work in this case), then if nothing is connected to the socket, it would have the default value, which you compare and detect, if something is then connected to the socket, that would change its value, now the compare would return 0, it all works out, because Image Texture Node won't produce a negative value.


Hair doesn't render in viewport with eevee I added hair particles to an object and set the view to rendered in the viewport. With Cycles the hair is rendered correctly, but with Eevee only black lines are displayed. The rest of the scene is rendered correctly with both engines.

The problem with the black lines was caused by an old graphics driver.
But the hair was still just displayed as colored lines after that.
This however was due to the render setting "Hair Shape Type" which was set to "Strand". Setting it to "Strip" as shown in the image below fixes that.


How to use global XYZ coordinates for displacement? I like to use Global texture coordinates combined with the RGB to XYZ direction setting on a displacement modifier to displace multiple separate objects uniformly.  I.e. if two separate objects with the same displacement texture are placed next to each other, the displacement contour will flow smoothly from one to the next (see GIF below).

However, even when the texture coordinates are set to Global, the XYZ displacement direction is local.  So if I rotate one of the objects about the Y-axis (as seen below) the local Z-up displacement vector is now global Z-down, and thus the displacement contour is broken between objects.

Both objects are just stretched and subdivided cubes.

So is there a way to use global space for XYZ displacement instead of local space, either directly or by some hack/workaround?

The vector displacement space for RGBtoXYZ mode is always local, unfortunately. (tangent would be useful in a lot of cases too). The good news if you need global space though, is you can apply your rotation (object > apply > rotation from the 3d view header) and bake your rotation into the mesh. This gets rid of the object level rotation meaning local space = global space once again.


Why does Grease Pencil ignore the particle system in Eevee? (2.82) I'm making a animation, combining grease pencil objects with 3D objects. This looks very cool. But there's one problem. Grease Pencil and the particles system don't play nice in Eevee.

This is an example:

A grease pencil object, a white blob, is placed between two 3D cubes. Then a 3D stylized conifer (a type of bush) is added.

So far, so good. The white blob is covered by the conifer. But then I add a particle system to the 3D conifer. And that's when it falls apart. Rendered in Eevee, the white blob (= Grease Pencil object) hides behind the 3D conifer, but appears above the generated leaves (particle system).

That this set-up can work, is demonstrated when I render it in Cycles:

Am I missing something here? Have I forgot to check a box or is this just a quirk of Eevee.

I use Blender 2.82 (on a Mac)

Hope somebody can shed some light on this matter.

I found the possible culprit of the problem and the solution:

In the material properties-tab of the material (in this case the leaves) I found the solution.

Because I used a png-file of the leaves with transparency I opted for the Alpha Blend. But somehow the 'backface Culling' was ticked.
This was NOT a good idea. When unchecking the box it worked.

Although I got better results with the hashed option in the Blend mode.


How can I render something like a lattice around my object? I am using a lattice to animate an object with shape keys.

Ideally, I would like to have the lattice be visible in the render. I am aware that this is impossible.

However, how can I achieve the same/a similar effect? I.e. have a visible grid of vertices that follows the movement of my object.

As the lattice can not be rendered, you can use a mesh object with the same geometry and hook both with empties.

In the example above, the lattice is the default cubic lattice which is associated via hooks to a simple cube. The cube itself has a wireframe modifier.

The recipe:

Create the lattice and the cube so that they have the same initial geometry
Add a wireframe modifier to the cube
Now create the hooks for the cube :
Enter edit mode, select a vertex
Use CtrlH to make the hook menu appear and choose "hook to new object"
Do that for all the vertices of the cube
Once done come back to object mode
Now the lattice part:
Select the lattice and enter to edit mode
Select a vertex
Use CtrlH and choose "assign to hook" and choose the corresponding previously created empty
Do that for all the vertices of the lattice

Note: if you have many (say more than 8) vertices to manipulate, it can be difficult to remember which empty correspond to which vertex. So you can also do the following:

In object mode, select the empty the shift select the lattice
Enter edit mode
Select the corresponding vertex
Use CtrlH but now choose "hook to selected object"
Come back in object mode and do the same for the other empties/vertices


Tracking hands in Blender I am making a video clip with my friend. To add a special effect, i would want to track our hands. But Blender can't keep track of the hands. Maybe wearing gloves could help? Is there a way to track hands without having Blender stop at each 3 frames?
EDIT: I just need a 2d track with hands only.

To track a moving object you need a part of the object that can be found in each following frame. The more unique the section and the more contrast it has to the surroundings, the easier it is to track without error.

As you are recording the video you can take steps to improve the result. Consider the content of the video and think of something that will contrast with the surroundings. If the actor is wearing a black shirt then a black spot on the hand can disappear in it. If you are going to cover the hand, a black glove with some white spots could help, you could place a couple of big rings on the outer fingers for spots to track, you also have options like wearing a watch or a custom made rig which you may have seen in object tracking tutorial videos. By placing red and green balls extended from the object you get a greater area that improves following movement and rotation being tracked. Also have multiple spots, while one may disappear a second can be used to keep following.

Within blender you have some options to help.

In the track settings for each marker you can enable/disable colour channels which can sometimes get better contrast and less errors.

If the hands are moving quickly you may also want to increase the search area, this is the area searched to find a match for the marker.

Enabling this shows the second box around the marker. Dragging the corner with a triangle will scale the area while dragging the square corner allows you to offset the search area if the movement is always in one direction.

Also use the newest version of blender, many improvements have been made since motion tracking was added.


Building a Chess Board with Particles I'd like to create an animation of squares falling down (1) to form a chess board.

The squares would be falling in sequence and once at field level a chess part will emerge from it resizing from 0% to 100% (2) and (3).

So, here's my question:

I'm currently animating square by square and part by part. Is there an easier way?
I was thinking maybe particles or solid bodies would help...

I've seen tutorials where you can model/animate a group of objects and then use particles to populate a world, but so far I've only seen random worlds, nothing as structured as a chess board (8x8 squares). If I use rigid bodies and let the squares fall all of them fall at once and once they hit the ground they bounce a bit so it does not look perfect.

What would you do? is this a 100% manual task?

The falling grid is quite easy to do with particles :

I forgot some things in the original answer, added them in emphasis

add a Grid object with 9x9 subdivisions (= 8x8 faces) (Not strictly necessary, a simple Plane works as well)
add a ParticleSystem on it with Grid distribution, render Unborn, Died, no Emitter. Choose a Grid Resolution of 8.
create a object for your tile, and add it as a Dupli Object for your Psys. Adjust his Size.
create a Plane somewhere under your emitter, and in Physics enable Collision ; check Kill Particles.

The falling effect is working but all the tiles have the same color. To avoid that, you can give them a material like this one :

The Checker texture use the texture coordinates of the Grid object ; otherwise, the checker will apply on each individual Tile object.

The mapping node "kills" the Z component of the coordinates ; otherwise, the tiles will change color while falling (as their Z coordinate changes). Change X and Y Scale to 0.8 match the pattern of the tiles


delete bone constraint in python I have a quick and dirty script to change the constraint settings for the bones of an armature:

import bpy

for bone in bpy.context.selected_pose_bones:
    try:
        bone.constraints[0].target_space='LOCAL'
        bone.constraints[0].owner_space='LOCAL'
        for cons in bone.constraints:
            if cons.type == 'COPY_LOCATION':
                WHAT GOES HERE TO DELETE THE CONSTRAINT?
    except IndexError:
        pass

As you can see I also want to delete any Copy Location constraints on the bones and can't figure out how. Manually deleting generates, bpy.ops.constraint.delete() in the Info window, but adding that to the script gives me a "context is incorrect" error.

Here's a way to achieve this without the Try-Except block:

import bpy

for bone in bpy.context.selected_pose_bones:
    # Create a list of all the copy location constraints on this bone
    copyLocConstraints = [ c for c in bone.constraints if c.type == 'COPY_LOCATION' ]

    # Iterate over all the bone's copy location constraints and delete them all
    for c in copyLocConstraints:
        bone.constraints.remove( c ) # Remove constraint

On a more general note, the remove method is very common in blender collections, so when you try to delete a member of a collection always have a go at this in the console:

bpy.data.materials.remove( myMaterial )
bpy.context.object.modifiers.remove( someModifier )

Also note that this method usually takes the actual element reference (modifier object, constraint object, etc) as a parameter, not an index.


My Model is not running! I'm new to Blender 3D, and I'm following one tutorial step by step.

I've edited a free model form internet, made a running animation and, this animation plays fine on time line but something is wrong when I play the script in game engine.

The model is not moving and the arms are spread like wings.
I didn't make any action frame like that.

You can download the .blend file here, and you can see a Youtube video of the problem

I hope somebody can help me.

have a nice day!

Thanks for the youtube video. I believe the problem you are describing is this: Your model moves its arms and legs in a walk cycle, but the model does not move from the center of the grid -- there is no X or Y motion while the animation is run.

If my understanding is right, this is easy to fix: Your walk cycle animation does not include any "forward" motion in the animation. You can add this separate from the walk cycle and make them separately controlled. You could make the legs move faster (by adjusting their scale as an Action Strip, if that is how you have the walk cycle saved) and also adjust the f curve that controls forward motion (if that is what you used).... Again, there are a couple of ways to combine multiple actions...

But I think the essence of your problem is that the walk cycle itself does not include moving the model forward... (I did not download your model, as I do not recognize the download site.)

Shout if I can assist or if I misunderstood.


The Freestyle check box in the Render tab reads "Freestyle SVG Export" instead of "Freestyle" I'm using Blender 2.91.  I've watched a couple of videos where the plugin is called "Freestyle"  However, when I enable the only plugin I can find Preferences -> add-ons it called itself "Freestyle SVG Editor."  I cannot find an add-on just called "Freestyle"
As a result, I do not have a "Freestyle" option below Image, Alpha, and Depth in the Render Layer box of the compositor.
The goal is to export a mesh network as a 2 dimensional SVG for importing to tools such as Inkscape.  I just need to export a rather simple wireframe.
Am I doing something wrong so I can't find a "Freestyle" add-on but only a "Freestyle SVG Editor" add-on in version 2.91?  How do I fix this?

I can confirm that the correct tab is "Freestyle SVG Exporter" as introduced officially into Blender in this commit in 2014 which had more unwieldy title of "Export Freestyle edges to an .svg format" with it shortly thereafter being changed to "Freestyle SVG Exporter", which is where it currently resides.
Poking around tutorials for Freestyle, a lot of them date from about 2013, which makes me think that the initial plugin source (which I'm having a difficult time locating at the moment) may have simply gone with "Freestyle".


Layer specification for bpy.ops.mesh.primitive_torus_add From this API documentation, it appears, unlike all the other mesh primitives, there is no provision for specifying the layer on which one would like the torus placed.

Would the best way of doing this be to create it, and then assign the layer, or is there an undocumented feature which I can use?

Yes, that's one primitive which doesn't seem to inherit the layers attribute. You can however in the meantime use code like this to set layers.

obj.layers = [(i in [0,3,5]) for i in range(20)]

the object will appear on layer 0, 3 and 5.


What do the different options for subtype enumerator in StringProperty do? bpy.props.StringProperty has [‘FILE_PATH’, ‘DIR_PATH’, ‘FILE_NAME’, ‘BYTE_STRING’, ‘PASSWORD’, ‘NONE’] as options, but nowhere are those documented.

It seams simple enough to guess what FILE_PATH, DIR_PATH, and FILE_NAME do, but what do they all do?
Are these actually documented somewhere?

bpy.props.StringProperty.subtype

  FILE_PATH

  Use for storing file paths. Adds a button to the UI property markup, that when used sets the string
  to the file path chosen. Option to make it a relative path.

  DIR_PATH

  Use for storing directory paths. Adds a button to the UI property markup, that when used sets the string
  to the directory path chosen.

  FILE_NAME

  AFAICT is for, as the name suggests storing a filename.  Filenames cannot
  contain certain characters. It doesn't appear to in anyway auto-parse.
  The Paint Palettes addon uses the subtype for preset file names. The
  following method is used to parse out illegal / invalid chars.

def as_filename(name):  # could reuse for other presets
    for char in " !@#$%^&*(){}:\";'[]<>,.\\/?":
        name = name.replace(char, '_')
    return name.lower().strip()

  BYTE_STRING

  Stores the string as a utf-8 encoded byte string.  Equivalent of
  "string".encode().

  PASSWORD

  Displays asterisks (*) when input is typed in the UI. Stores the string as entered.

  NONE

  Default. None of the above.

Run a script and see.

Like any code we can run and see, the worst thing that can happen is your computer explodes, starts a fire an burns down your city.

Here is a test script to set a string property of each subtype to the window manager, and display them in a panel (using the simple panel template code) as well as write their value to system console on change.

import bpy
from bpy.props import StringProperty

subtypes = ['FILE_PATH', 'DIR_PATH', 'FILE_NAME', 'BYTE_STRING', 'PASSWORD', 'NONE']

def print_value(subtype):
    def print_value(self, context):
        print(subtype, getattr(self, subtype))
    return print_value

for st in subtypes:
    setattr(bpy.types.WindowManager,
            st,
            StringProperty(subtype=st, update=print_value(st)))

class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

    def draw(self, context):
        wm = context.window_manager
        layout = self.layout
        for st in subtypes:
            layout.prop(wm, st)

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

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

if __name__ == "__main__":
    register()

Here is the result.

and the result of setting all to "xxxxxx" in the panel written to system console.

FILE_PATH xxxxxx
DIR_PATH xxxxxx
FILE_NAME xxxxxx
BYTE_STRING b'xxxxxx'
PASSWORD xxxxxx
NONE xxxxxx


How to control eye reflection? I've just found following picture, but I don't know how to recreate this kind of crystal type reflection thing. Can anyone teach me please?

As far as I can see in the picture and the material node provided from creator (which contain some errors in my opinion) the reflection is achieved by simply mixing a glossy shader and a diffuse shader.

The sharpness of the reflection is driven by the "Roughness" value of the shader:

High Roughness value

Low Roughness value


How to make image sequence? I searched that image sequence is a faster way to make the video. But does it come out smooth? How do you make the image sequence at the first place? I only found tutorials of the conversion into avi file but not on how to make the images. Thanks for the help.

Edit: So, I already did the image sequence before but I couldn't find the image file. It only gives me a .Blend1 file.And I tried to convert it into .png file but it only changes the name rather than changing the format.

Help me.Thx.

Yes the video will be smooth with the added benefit that you can process each image before creating the video from them.

First you need to create an animation sequence using key frames
By default Blender will save the animation as images, frame by frame after clicking the 'Animation' button as the image bellow. When you give the animation a name, before the clicking the 'Animation' button Blender will number the images in each image name for easy identification.
You can do composition in Blender or you can individually or batch process the images created for the animation, if you desire.
Switching Blender into Video Editing mode you import the images and create the video as in this YouTube tutorial https://www.youtube.com/watch?v=7SNoV-EmDYw&t=2s. The actual video creation starts 1:15 in the tutorial


How to make search folder script in add-on preference? How to make search folder script in add-on preference? I want to make a button to search a folder in add-on preference that can search resource files like the Extreme PBR add-on.

The example given is just a regular StringProperty added to the AddonPreferences. Notice that the subtype of the StringProperty is set to DIR_PATH:

import bpy
from bpy.types import Operator, AddonPreferences
from bpy.props import StringProperty, IntProperty

class ExampleAddonPreferences(AddonPreferences):
    bl_idname = __name__

    filepath: StringProperty(
        name="Example File Path",
        subtype='DIR_PATH')

    number: IntProperty(
        name="Example Number",
        default=4)

    def draw(self, context):
        self.layout.label(text="This is a preferences view for our add-on")
        self.layout.prop(self, "filepath")
        self.layout.prop(self, "number")

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

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

if __name__ == "__main__":
    register()

Further reading

AddonPreferences in the Docs
How to create a Folder Dialog?
How to create a custom UI?


Is there any python code that can join two objects without losing the logic from the other object? In Blender Game Engine :

I want to join two spheres without losing the logic from the other
but I don't know how.I knew that its possible via python.  As I am not an expert in blender python can any one tell me how can I do it ? - Or Is There any other method ?

Here Is the file

Copy sensors.

Here is some pretty untested code to copy sensors from active object to other selected objects.

import bpy
context = bpy.context

def copy_props(v1, v2):
    ''' copy props from v1 to v2 '''
    props = v1.bl_rna.properties
    for k, v in props.items():
        if (k in ["rna_type", "type", "name"]
            or v.is_readonly):
            continue
        setattr(v2, k, getattr(v1, k))

def copy_actuators(actuators, c):
    ob = c.id_data
    for a in actuators:
        bpy.ops.logic.actuator_add(type=a.type,
                name=a.name,
                object=ob.name)
        a2 = ob.game.actuators[-1]
        a2.link(c)
        copy_props(a, a2)
    return c.actuators

def copy_controllers(controllers, s):
    ob = s.id_data
    for c in controllers:
        bpy.ops.logic.controller_add(
               type=c.type,
               name=c.name,
               object=ob.name)
        c2 = ob.game.controllers[-1]
        s.link(c2)
        copy_actuators(c.actuators, c2)
        copy_props(c, c2)
    return s.controllers

# sensors
def copy_sensors(o1, o2):
    ''' copy sensors from ob1 to ob2'''
    for s in o1.game.sensors:
        bpy.ops.logic.sensor_add(type=s.type, name=s.name, object=o2.name)
        s2 = o2.game.sensors[-1]
        copy_controllers(s.controllers, s2)
        copy_props(s, s2)

scene = context.scene
o1 = context.active_object
to_objects = [o for o in context.selected_objects
                if o != o1]
for o2 in to_objects:
    copy_sensors(o1, o2)

Result on your file.


Loop limit in animation nodes? I'm trying to make a sound visualizer.

I want to use a loop to apply transformations on objects in a group.

I make a loop. Plug the Goup node to it. There are 1313 cubes in this group.

It's my first time using the Group node so as a test I use the Object Output node and set the scale to .2 inside my loop

Only 10 objects receive the transformation. If I use Debug List I see that those are the first 10 objects in the group. If I use a Debug node on Interations in my loop it outputs 10.

Could this be a memory issue? Does Animation Nodes stop at 10 when memory is not enough?

There is no limit to the number of iterations in theory.

What makes your loop a bit more advanced is that you iterate through two lists at the same time. Normally you only want to do this when both lists have the same length because the addon works in the following way:

At first the loop will take the first element from both lists (Index 0). Then the second element from both lists, etc... This will continue until it reaches the last element of a list -> so the shortest list defines the number of iterations in a loop. The rest will be ignored.

The Evaluate Sound node outputs a float list with 10 elements in your example.

The debug node in a loop always shows the last value that went into the node.

If you just want to move around all the objects you can simply remove the Float Iterator from the loop. Then each object should receive the transformation.

I guess you want to use the sound information in the loop with a different frequency for each object. The easiest way to archieve this is to use the Sound Equalizer template that ships with the addon:


Fixed play head moving strips Is it possible to fix the play head in the center of the VSE, and have the strips moving as the video plays?

If it is possible then how do I do it?
If it's not possible in blender, is there a script to do it?
If there's not a script to do it, then could someone please give this
novice scripter some pointers on how to do this.

Try this

http://blenderartists.org/forum/showthread.php?338598-Addon-WIP-VSE-Quick-functions-Snaps-Fades-Zoom-Parenting-Titling-Play-speed

This addon already has that function


After importing an obj file, I cant enable smooth shading, or at least it doesn't do anything Blender version: 2.8

Windows 32-bit

Click Here to get the project file, you need in order to help me.

Thanks in advance!

So the problem you have here is that the entire model is ripped. If the mesh is not connected cant be smoothed out. In order to solve this, you have to select everything and remove doubles or as it is called now (merge by distance) by pressing Alt+M. Done that the mash will be messed up, with everything still selected press Shift+N to recalculate the Normals. Now if you press smooth shading the mesh should be good to go.


Light behavior is not correct Although the normal vectors of the faces looks correct, the way the object is illuminated by the light source is wrong:

As you can see the light source is very close to the left side of the cube, yet it's not fully visible, but the front face is fully visible, and if I look the right side of the cube, I see this:

Which is also...weird.

What am I doing wrong? What and where should I check? If it matters, I generate an .obj file which I import later into Blender.

Here is the .blend file I'm using:

The light behaviour is working as it should. Your mesh isn't...

You have been playing with the normals of your object, and they are all wrong. They should be perpendicular to each face, but instead they are tangents to the faces.
This was probably something you did in python since there's no interface to do it in the UI.

For a quick fix:

Properties Editor> Object Data> Geometry Data> Clear Custom Split Normals Data

I advise you to review your python code to avoid future situations like this one.


How do I split up geometry without any gaps? I'm trying to better organize my scene and I'd like to split up my geometry into some parts. However, there always remains a gap in between the parts and I don't get why. Of course, I can easily join the separate objects together into a single object and render the object as a whole:

Can it be that it is simply not possible to keep components of meshes separate? I can not find a way to do that properly but I'm sure there is a way. What am I do wrong?

Make sure you disable any Smooth modifier on your objects. It will effectively "shrink" the borders of the mesh, creating gaps in disconnected islands.


Why does my mesh get distorted when switching from edit to object mode? Whenever I create adjustments to a mesh in edit mode (covering body with clothes for example), when I switch back into object mode the mesh distorts weirdly as shown below and shoots out in all directions at a random point in the mesh:

Why does this keep happening when I switch from edit to object mode and how can I stop/ revert it without deleting what I just edited (happened at least 4 times now)?

I duplicated, Z-grabbed and separated a "shin-loop" from a Make Human,  built it into a boot shape (I wanted to keep the vertex groups for weight painting). When I changed to object mode the mesh completely distorted.

Looking at the shape keys under Mesh I unticked the Relative check box - this seems to have worked.


How to override Filmic color space in the Compositor nodes? I want to use Filmic color space for my renders, but I also want to override Filmic's constraints in the Compositor for the final image.

My current workflow right now is to open my Filmic renders in GIMP to adjust the brightness and contrast to my liking, but attempting to do the same with Blender's own Brightness/Contrast node in the Compositor doesn't allow the colors to leave their muted state.

In other words, if the color white was in my Filmic render and I wanted to raise the brightness to a full white, the Compositor doesn't let me get brighter than the dull gray white that's already in the render, so I have to either open the image in GIMP to have full control over the brightness and contrast, or switch back to the harsher and less accurate colors of the Default color space.

How can I get around this so I can keep my workflow entirely in Blender?

----------------------------------------------------------------------------

TL;DR SOLUTION: While using the Brightness/Contrast Node is limited to Filmic's usual muted colors, the Color Balance node, when set to the drop-down option "Offset/Power/Slope (ASC-CDL)," will let you manipulate the colors fully.

I've found the two controls highlighted in red to act most like brightness and contrast settings, but it's better to read how to fully use this node here.

Using filmic blender requires you to use much brighter values on your lights, as it is designed to work with a much wider dynamic range. To understand how it works read the following link carefully: Render with a wider dynamic range in cycles to produce photorealistic looking images .

Also you need to explore the different look transforms in the color management section to set the contrast to your liking. Read: https://github.com/sobotka/filmic-blender.

You can use the false colour look to evaluate the values within the image.

Lastly, you should try using the ASC-CDL node to make adjustments. Read: What is the the ASC-CDL node?


How to make textures certain size and constant between objects? I've been using Blender for few months now and really really loving it otherwise but trying to understand how textures work in blender is making me want to give up. I mostly do just architectural stuff and I still don't understand how to set exact sizes for repeating textures (e.g. brick wall texture where I know the physical sizes) and how to get them stay the same size when used between different sized and shaped objects.
Most times I've just used Cube Projection and then have tried to adjust things by hand but it just seems like a lost cause.
Is there some simple way to achieve this or any plugins that could be used for this?

A texture with a texture coordinate node that is applied to different objects that have all had their scale applied should appear at the same scale across the .blend file. You can use the texture coordinate node to alter the texture to the right scale for your world.
Good luck!


Gap between edge of lattice and mesh when using simple deform I'm stumped, I can't figure out what's going on here. I've got a lattice and a plane with identical x & z dimensions. When I use a Simple Deform Bend of 360 degrees on the lattice, the edges meet seamlessly to create a cylinder - but the edge of the plane don't. It's as if there's a gap being created between the edges of the plane and the edge of the lattice.
All transforms are applied apart from the y scaling on the lattice. Changing that back to 1 doesn't change anything, and neither does moving the empty I'm using as the origin for the deform. The solidify is just there to show what's going on from the top view - removing it makes no difference.

In the Lattice properties, change the interpolation from B-Spline to Linear. There is by default a smooth interpolation between the control points when using a Lattice.

Side note, for this kind of transformation, you only need a 1-dimensional lattice.
Result, with a Weld and a Solidify modifier :