how do I fix this weird thing where my objects turn purple so I did some stuff, and made a character. And then I had to go so I saved it and turned off my computer. The next day I woke up and then I opened the file and saw it looks like this

https://gyazo.com/19a4ad6cc6eea2a4e33aee761c5cf977

https://gyazo.com/852697c86ae713e8cab26d5fc404defd

I did not do anything to make it purple when I was saving it. I am using blender 2.77

Pink mesh mean that you're trying to load a texture that's missing. Check that textures have been loaded correctly and/or haven't been moved.


Solidify not even on plane rotation I'm a noob in Blender and trying to figure out how to make a box packaging. I'm following this tutorial: https://www.youtube.com/watch?v=Qkj1okN4ZqQ&t=940s

My problem is when I apply a "Solidify" modifier to the plane and rotate a part of the box, the solidify modifier it's not even. I'm sure that I'm missing something. Can you help?

Here is a preview:

Thanks!

In object mode, try to select Object > Apply > Scale. Do not forget to select Even Thickness in Solidify Modifier.


How do I get the 'Filepath' attribute from a sound strip in the VSE? How do I get the filepath attribute from a sound strip of a video sequence ? I am talking about the sound strip that comes with a video file.

Sound strip : demo.001   bpy.data.scenes['Scene'].sequence_editor.sequences_all["demo.001"].filepath

==> 'SoundSequence' object has no attribute 'filepath'

I can get the filepath from the associated video strip.

Video strip : demo.avi   bpy.data.scenes['Scene'].sequence_editor.sequences_all["demo.avi"].filepath

==> this works

You need to access the sound property of that strip which has the filepath property:

bpy.data.scenes['Scene'].sequence_editor.sequences_all["demo.001"].sound.filepath


trouble using keyframes to animate a float value (in animation nodes) Am learning animation nodes.

Within animation nodes, I would like to use keyframes to animate the value of a float number, but the keyframes are not having any effect.

To try this I right click on the float value and first 'add to keying set' then 'add keyframe'

it seems to work because no errors are reported and the value changes color.

But when I play the animation the keyframe seems to have no effect.   Screenshot below shows the nodes and my attempt to enter the keyframe.  (the idea is the float number then is used to place an object at a location).

Any suggestions to make the keyframe actually work are most welcome.

thanks,
Matt

You can use Delay Time and Animate Float node in this case.

Another Method:

Create an custom property to a object(in this example Cube) and keyframe the value. then access it's value inside AN.
You can use Object Attribute Input node to do this.


I broke the new Alpha (GP/sculpt/tablet) I have no idea what's happening!
I did something a couple of days ago that broke 2.92.x and every new version since has the same issues.
I can no longer draw in Grease Pencil, it just makes one dot when I try to draw anything.
I checked everywhere to see if it wasn't some stroke mode, ALL setting are similar to the Okt22 version which still works like expected. Tried deleting all materials / layers.
Simple annotation Pencil also has the same behavior now.
Sculpting also no longer works. I can't drag/add/shape my mesh but I can somehow change the resolution if dyntopo is on and I go over it, but that's it.
Also I can't change the strength or radius boxes anymore, I can click them now and a value box pops up (needing keypress confirmation), it should be just click and go left/right, done.
So it's seeing the tablet, it's just very confused what to do with it?
I tried factory settings.
Also tried pointing Wacom menu to the newest Blender version, though I never had to do this, it always worked it out with new installs.
The Oct22 version doesn't have any of these issues, so it's probably not the Wacom/drivers (at least not for any Blender release up to that one), just the new ones.

Never found an answer, but this was solved somehow by the Nov20 version,
leading me to believe it might have been an internal bug.
So glad it's solved; it was not fun seeing new features every week and not being able to use them.


Why doesn't Blender 2.83 load? I have been waiting for 2.83 Blender, but I installed it and try to start it up it doesn't even load. All previous Blender versions worked fine.

What have you changed in  2.83 for this to happen?

I have the same problem, the the 2.83 Windows installer is asking if I want to CHANGE, REPAIR or REMOVE Blender.


Removing applied displacement modifiers I clicked "apply" on 2 displacement modifiers to a plane and it really messed up the look I was going for. I went to go edit the modifiers but I can't see them. In my hierarchy my plane looks like it has no modifiers at all even though I've done a lot to it.
How do I find/edit the modifiers I applied to the plane?

If you clicked "Apply" the only way ctrl + Z to undo, but if you already close the file or made other changes, you can't go back and you need to start over.


How to export to .obj with separate map-channels? I'd like to export a .blend file with a UV-mapped texture, a displacement map and a normals map in 3 separate channels to an .obj file. Tried it with 3 UV Maps in 'Object data' but only 1 map will be exported. 3 separate objects with 3 separate maps or separate layers aren't working either. Do i need nodes...!?

The .obj file format only supports a single UV map per object. There is no way to export an .obj file from blender with multiple UV maps. What you should do is use another file format such as FBX which does support multiple UV maps per object.


Is it possible to generate roughness and normal texture maps from procedural textures inside blender? Basically can blender be used to create all pbr maps from a single texture just like substance bitmap to material.
Thank you

It is possible to create pbr maps such as roughness, normal etc. To this, you must first know how to bake textures. In the bake section, instead of combined, select the desired map and bake it.


Cones on a pointing out from a cylinder I am very new to Blender to please excuse me if I might use the wrong terminology.

I would like to coat part of a sphere will well packed cones. With this I mean that the cones will have two radii, one connected to the outside of the sphere (let us call it r1), and one sticking out (r2) of the sphere, similarly to what is shown in the image below.

One approach has been to simply make the cones by hand and try to match the radius of curvature of the sphere with that of the cylinders, however, this has not turned out great because:

1) I have not found a good way to match the radius of curvature of the sphere with r1 and r2.

2) I have not found a good way to snap the sides of the cones without deforming them. I want to snap them while only rotating the snap element (or target).

3) Doing this for many many cones would be very tedious.

Another approach I have tried was to make an array of several cylinders (r1=r2, same top and bottom radii). I then used a sphere as curve modifier to get a curvature. This worked quite excellently, for one radius. As seen below, the top radius (r2) will be kept intact whereas the bottom radius (r1) is deformed into a oval shape.

So the main issue here was:

1) to keep the bottom area as a circle, and not deformed into an oval.

2) Also for this approach it would be handy to be able to snap the arrays together

A third approach was quickly tried, which involved duplicating a cylinder on all the faces of the sphere, resulting in the rendition below

The problem here is that the cylinders are of different size but internally have the same top and bottom radius, so this was not the best approach.

Do you have any advice on how to solve this? I am open to all kind of solutions, as there are probably a million ways to actually do this, with more of less finesse.. And I apologise if this is way to basic or if my problem is not very well described.

All the best

Glassmacka

Here's my attempt:
Use a particle hair system, using a vertex group for density, growing from the vertices of the sphere (or faces, adapt to taste).
Muck about with the scale of the end caps of the cylinder, and the number of segments of the sphere for you needs...
Anything like what you're after?

Can't work out how to throw the blend file on here so-

https://www.dropbox.com/s/z8hpfk6rpbjpvbs/SphereWithConicalHair.blend?dl=0

Cheers
Mark


Texture with UV grid not showing up on 3d object I'm new to this. Learned a lot through tutorials, but now I am stuck at uv mapping thing.

Marked all the seams, it all shows well in UV/Image editor, but when I assign texture with UV grid on the mesh I cant see the grid on 3d object. Texturing is on so I'm not sure what I did wrong.

I tried the same with simple cube and it just doesn't show up. Checked few other tuts for this, but none helped to solve this.

On the panel to the right click the material tab. add new material. to the right of "color" their is a tiny button. click that button. now click the button that says image texture and then for the image select the one you are already using on your UV mapping.


How can i cover a space between a path i drew? Hi, im a trully beginner in blender. I made this logo and now i need to fill that empty space between the path i used to draw the logo. Fill it or cover the top and bottom with some kind of "surface" but i have no idea how. Any suggestions ?

Go into the curve settings and choose 2D.


Transparent object on transparent background I am using Cycles Render and v2.79. I have an object that is partly transparent and when I set the background to transparent (check transparent under Film) the object has no alpha and is rendered with the background (which is white). The rest of the background is transparent and edges that touch the background have variable transparency.

The two circled objects have the same material which is just a principled shader...

Why does this happen and what should I do to fix it? How to do I get the object to render with alpha?

Thanks for any help.

You can use 2.80 or a recent daily build of 2.79 from builder bot:  https://builder.blender.org

Here in the film section you can find additional Transparent Glass option:

But if you don't need refraction, you can try Transparent shader instead of Principled transmission.

Or even in recent builds you can use Alpha value in Principled BSDF:


Can't enter wired weight paint in 2.81 I can't go to wired weight paint mode, i want to weight paint in wired mode instead of solid, but it wont let me go there, it goes full wired instead of weight paint mode.

Nvm, the toggle x-ray option was toggled on and you need to toggle that option off before going to weight painting.


Need some help for an experiment (Eye animation) I'm a new member, and I thought this place was great for the question i'm going to ask. Here's the thing: I'm doing a little experiment on Blender, where I create and animate an eye, but not like people usually do, look here:

To explain it in my own words, I'm trying to keep the eyeball on the outside of the head, cartoon style, and that's all for modelling. Regarding the animation, i'm trying to:
1)make the pupil ''slide'' on the surface of the eyeball while the latter stays still (see figure number 1 on the image below for more details);
2)make the eyeball round (as you can see in the images above, its default shape is not    round) and the pupil smaller when the character is surprised (see figure number 2);
3)make the pupil morph into other shapes (for example when the character closes its eyes; see figure number 3);

I'm sorry if I made this question too long, and if you need any clarification, just ask me. Hopefully one of you can help me here.

Okay, here I am again. I tried to do like you've described, but it didn't work. Maybe I'll show a couple more details so maybe you can understand what's wrong:

To describe the second picture, I put the pupil directly into the eye and not with a separate texture, could that be the mistake I've made? If so, what other method can I use?

From the texture provided in your question, you can use "uv warp" modifier to do this:

How to do it:

UV unwrap the eye part that will be textured.
Place this UV part over the texture part you want: move and scale (big pupil, for instance)
Add the "UV warp" modifier.
The modifier uses two objects, say empties. One is the base, the other one "empty.001" is the one to shift from the base.

Move the empty so that its position and scale makes the UV cover the wanted part of the texture.
Keyframe it when the position is ok.
Do it for all steps of your animation.
Then, go to the graph editor to edit the empty movement to constant steps.

The corresponding shader node tree:

Note: if the background is not pink but white as the eye is, you can add some more variations, as done here: How can I move a UV Island to simulate the Movement of an Eye


Rotate objects around their origin along a global axis (scripted) without bpy.ops I have read so much about Blender rotation in the last two hours that my head is spinning, but I can not understand how to rotate strictly in global coordinates without using bpy.ops. In reality I will have a large number of objects and do this frequently, so I'd like to use a rotation method of the objects themselves, like one of these: obj.rotate_euler() or obj.matrix_world *= some_vector or obj.rotation_axis_angle()

but I don't understand how to use them for strictly single global axis rotations like the following example:

import bpy
import math

half_pi = 0.5 * math.pi

group = []
for y in [-3, 0, 3]:
    bpy.ops.mesh.primitive_cylinder_add(location=(0, y, 0)) # ops is OK here, but not in the rotations
    obj = bpy.context.active_object
    group.append(obj)

zangles = [1, 1.5, 2] # radains

for obj, zangle in zip(group, zangles):
    bpy.ops.object.select_all(action='DESELECT')
    obj.select = True
    bpy.ops.transform.rotate(value=half_pi, axis=(1, 0, 0))  # rotate about global X by 90 degrees
    bpy.ops.transform.rotate(value=zangle,  axis=(0, 0, 1))  # rotate about global Z by zangle

bpy.ops.object.select_all(action='DESELECT')

ops can rotate globally, but I don't see any methods associated with objects to to global rotation, and I can't figure out how to do that.

A link to a less theoretical, and more "if you want to do this, use this" scripted rotation explanation would also be greatly appreciated. I'm OK with the math, it's the Blender conventions I can not get a handle on.

TL;DR > Skip to last paragraph

Each object has it's own World Matrix. It's a 4x4 transform matrix that stores the object's final location, rotation and scale. By doing math operations directly on this matrix we can transform the object how ever we want.

Every world matrix can be decomposed into it's components. We will get a

location vector (size 3)
rotation quaternion (size 4)
scale vector (size 3)

loc, rot, scale = obj.matrix_world.decompose()

Now about rotations. A rotation is either represented by a (3x3 or 4x4) Rotation Matrix (Euler or Matrix class in Blender), Quaternion vector (Quaternion class) or an axis (Vector of size 3) with rotation value (radians or degrees). They can be all converted between each other, but we just need the 4x4 rotation matrix. There are different options to get it:

from mathutils import Matrix, Euler, Quaternion

# directly
Matrix.Rotation(angle, 4, axis)
# converting from Euler matrix
Euler((angleX, angleY, angleZ), 'XYZ').to_4x4()
# converting from quaternion
Quaternion((w,x,y,z)).to_matrix().to_4x4()

Transformations are done with matrix multiplication and they can be stacked. The order in which they are multiplied is important. So:

matA * matB * matC

means first we will transform with matC, then matB and last matA (it's reversed!). All the transformations are applied in global space. Here you can see what it looks like to do Translation * Rotation and Rotation * Translation:

The first end-result we can substitute with a local/global translation and then local rotation, and the second we can substitute with a local/global rotation and then local translation.

This means if the matrices are rotation matrices, only the first rotation matrix (and last applied) will result in global space rotation (so matA), because all the others are influenced by it.

This is how a World Matrix is composed. The order is again important:

matrix_world = matLoc * matRot * matScale

So to alter it and add an extra global rotation, we need to sneak a rotation matrix before matRot (so it's applied last and in global space) and after matLoc:

import bpy
from math import radians
from mathutils import Matrix

# we will demonstrate on an active object
obj = bpy.context.active_object

# define the rotation
rot_mat = Matrix.Rotation(radians(angle_in_degrees), 4, 'X')   # you can also use as axis Y,Z or a custom vector like (x,y,z)

# decompose world_matrix's components, and from them assemble 4x4 matrices
orig_loc, orig_rot, orig_scale = obj.matrix_world.decompose()
orig_loc_mat = Matrix.Translation(orig_loc)
orig_rot_mat = orig_rot.to_matrix().to_4x4()
orig_scale_mat = Matrix.Scale(orig_scale[0],4,(1,0,0)) * Matrix.Scale(orig_scale[1],4,(0,1,0)) * Matrix.Scale(orig_scale[2],4,(0,0,1))

# assemble the new matrix
obj.matrix_world = orig_loc_mat * rot_mat * orig_rot_mat * orig_scale_mat


how to make realistic water texture in blender 2.82 I am trying to get something vibrant but realistic for some gentle flowing water like if you were pouring it out of a glass on a table.
this is what I got so far but it looks more like paint.

You can make your own transmissive water material and tweak settings,

But i prefer to install an free addon which is included in blender, it's called cycles material library or something like that.

There are many water materials available in it.
You can find whatever that suits your needs.

You would not need to change anything if you are using cycles but IF YOU ARE USING EEVEE,

You will have to turn on screen space refraction
You will have to change blend mode to alpha blend from opaque in your water material settings


How do i prevent active objects keep moving when they fall down on the passive? I made a Rigid body scene here and i want my numbers to not keep moving when they fall down on the passive.

Check Enable Deactivation under Physics->Rigid Body Dynamics. For me, the default Linear Vel. and the Angular Vel. worked great.


How to make a specular child copy on an object Let's make it clear, I need to create a specular copy of my object which gets modified if I edit the original one.
How can i do this?

What do you mean make it specular? Blender can create object instances which have linked mesh data, I.E. changes in one are automatically reflected in the other. Just copy the object with Alt+D to clone it


How to mirror a box around given point, not selection center How can I set the location of the mirror tool? I followed the documentation and while I can set the axis of the operation the mirroring always happens at the center of the selection and I have no idea how to set it to somehere else.

You can use the CtrlM mirror tool, in Object or Edit mode,  in any orientation, around any pivot-point.

Set the pivot-point .. most likely '3D Cursor', or 'Active Element'
Set the orientation .. if it's not conveniently Local, Global, or other preset, create a Custom Orientation from an edge, or two vertices. (CtrlAltSpace in 2.97, header orientation menu in 2.8)
Locate the pivot-point, by ShiftS snapping the 3D cursor to the right place, or, in Edit mode, making an appropriate vertex from your selection active)
Hit  CtrlM, and  X,Y, or Z. If the orientation is not Global, but the currently selected secondary orientation, hit the dimension twice. (XX, etc.)

You can still go into the tool region to change the orientation, after left-clicking.

In Edit mode, you can achieve the same effect by creating a Custom Orientation from ant two vertices, making your selection, setting the pivot, and hitting SXX-1


How to change the stopwatch settings to get a “clean” counting time? Good day, everyone! I render the same scene with various renderers and try to learn which one of them does the job faster than the others. Main issue here is that the process of rendering on the CPU runs in multiple threads and each renderer that I use (appleseed, YafaRay, LuxCore, Cycles) within Blender takes different approach to parallelisation. I use a regular stopwatch to measure the rendering time, hence results that I get differ for different renderers. My problem is that the time that I require is a processor time which depends on the CPU clock frequency and other technical specifications.

Could anyone help me with that? Can it be configured in the settings of timer somewhere or is there, maybe, any external solutions?

Using an external program to measure the execution time for each thread, while taking CPU scheduling, context switches, interrupts etc. into account would require an advanced profiling tool and an API for the operating system that allows to perform such detailed measurements. This is not something that can be covered in a single answer and is off-topic for Blender's StackExchange.

I think the whole premise of your question is going in a wrong direction though, since the mentioned render engines use different conceptual approaches for the rendering. Comparing the render time of LuxCore and Cycles is like comparing the speed of a race car with a cruise ship. While they both transport people from one place to another, they serve a different purpose and therefore function differently. For instance LuxCore is able to simulate certain physical properties of light, like dispersion through a prism, which Cycles cannot do. Therefore Cycles would render such as scene much faster, but the results would be less physically accurate. In conclusion the execution time is not a helpful metric for this comparison.

That being said you can get precise time measurements, compared to manually operating a stopwatch, by using a simple Python script. This does not measure the execution time per thread though.

The script gets all the available render engines in Blender and renders the scene with them. The rendering is repeated measurements_per_engine times to get multiple data points, since the systems load will impact the measurements. In the end some basics statistics are calculated and printed to the console. The console can be toggled through Window > Toggle System Console if you're using Windows, otherwise you'd have to start Blender from the command line. Alternatively you could modify the script and write the measurements to a file. Be aware that the script currently freezes the UI, but since you're trying to benchmark the render engines you shouldn't be using Blender during the rendering anyway since this would impact the timings.

import bpy
import time
import statistics

render_engines = ['BLENDER_WORKBENCH', 'BLENDER_EEVEE']

# Get the render engines registered through Python
registered_engine_types = bpy.types.RenderEngine.__subclasses__()

for engine_type in registered_engine_types:
    render_engines.append(engine_type.bl_idname)

# The number of renders per engine for which we measure the render time
measurements_per_engine = 2
render_times = {}

for render_engine in render_engines:
    render_times[render_engine] = []

for i in range(measurements_per_engine):
    for render_engine in render_engines:
        bpy.context.scene.render.engine = render_engine
        start = time.perf_counter()
        bpy.ops.render.render()
        end = time.perf_counter()
        render_times[render_engine].append(end - start)

for render_engine in render_engines:
    timings = render_times[render_engine]
    min_time = min(timings)
    max_time = max(timings)
    mean_time = statistics.mean(timings)
    stdev_time = statistics.stdev(timings)
    print(f'{render_engine}\n min: {min_time}s\n max: {max_time}s\n mean: {mean_time}s\n stdev: {stdev_time}s\n')


How to change material's color in blender game engine? I am making a new racing game in BGE. I want my game to have a feature to change car color in-game (car consists of multiple materials, but currently I want to change body material). How do I make something like this:

Without text (only color select) in blender, so it can apply on material in other scene?

First you have to enable Object Color, that is found in the Properties window, Material tab, then under the Options region Object Color.
One quirk I found, be sure that the diffuse color of the material is pure white [1, 1, 1]. If it is not you will only be able to control the color up to that level. Example: say the material's color is red [1, 0, 0], now because the green and blue channels are 0 you will never be able to get any value in those channels.
Now the material will use the object's color, that color is found  under Properties > Object > Display > Object Color*.
To change the object color while the game is running use this bit of python.
cont = bge.logic.getCurrentController()
obj = cont.owner
# set the game object's color
obj.color = [ 0.0, 0.0, 0.0, 1.0]

The color method is looking for a vector in the form of [Red, Green, Blue, Alpha], (You can just leave the alpha set to 1, I have yet to find a place where it is used.)
The game UI for changing the color
Creating the interface is the most complicated part.
Here is a working  demo file with three sliders, one each for red green and blue.
The three sliders all have a game property one for each color channel. They also have these logic bricks. The only difference among the three is the property name.

This script is what takes the input from the logic bricks above, and changes the three values.
scene = bge.logic.getCurrentScene()
cont = bge.logic.getCurrentController()
own = cont.owner

if cont.sensors['Mouse'].getButtonStatus(bge.events.LEFTMOUSE) == bge.logic.KX_INPUT_ACTIVE:
    posZ = cont.sensors['Mouse1'].hitPosition[2]
    if posZ > 1.0:
        posZ = 1
    elif posZ < 0:
        posZ = 0
    own.worldPosition.z = posZ

prop = cont.actuators["prop"]
prop.value = str(own.worldPosition.z)
cont.activate(prop)

Then another script on the object you want to change the color is this script. A always sensor set to True pulse mode makes the script run constantly.
scene = bge.logic.getCurrentScene()
cont = bge.logic.getCurrentController()
own = cont.owner

r = scene.objects['handle']['r']
g = scene.objects['handle.g']['g']
b = scene.objects['handle.b']['b']

own.color = [ r, g, b, 1.0]


How to join two bones that are part of the same armature after looking for a solution all the day,I surrendered. I would like to know how to join two disconnected bones that are part of the same armature.

I tried to select the two points of the bones and then pressing F to complete the gap but they don't stick. Check here what happens :

FILE BLEND

Here some shots of the final result

In order

1) In Edit Mode I select boneA and press alt + f in order to switch its direction (as you can see is the only bone having the opposite direction respect the others bone of the tail of your bird)

PS remember when you use alt + f your bone will switch direction AND will lose every connection with the other bones; for this reason i will do step number 4) and number 5)

2) I take the boneA and i move its "head" near to the tail of boneB

3) Now I follow the step i tell you before:  select boneB - press shift - select boneA (remember the order is important); in this way you'll have both bones selected.

4) Press Ctrl + P and click Connected

5) In the end to keep your boneA connected with your bird's tail (i.e. the boneC and the others) i add a Copy Location in boneA


How to get a list of all unlinked objects in the scene with python? For example, I am running this script:

import bpy
import bmesh

if bpy.context.mode != 'OBJECT':
    bpy.ops.object.mode_set()
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete()

bpy.ops.mesh.primitive_circle_add(vertices=16, radius=1, fill_type='NGON')
bpy.context.object.name = 'AAA'
bpy.context.object.data.name = 'AAA.MESH'

bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.object.select_all(action='DESELECT')
bpy.ops.mesh.primitive_circle_add(vertices=16, radius=1, fill_type='NGON')
bpy.context.object.name = 'BBB'
bpy.context.object.data.name = 'BBB.MESH'

bpy.ops.object.mode_set(mode='OBJECT')
bpy.ops.object.select_all(action='DESELECT')

bpy.data.scenes[0].objects.unlink(bpy.data.objects['AAA'])
bpy.data.scenes[0].objects.unlink(bpy.data.objects['BBB'])

After running this script many manes, I have multiple hidden objects named 'AAA.001','AAA.002','BBB.001','BBB.002', etc

How can I get the full list of non-linked (hidden, invisible) objects with Blender Python API?
I want to completely remove all of them.
Thank you.

API method bpy.data.objects.remove(...)

A common theme in blender is using the remove(...) method of a collection to remove an item. Akin to removing from a list.

Quick test script, find all objects in blend with no users or hidden and add to a list named "trash"

Print then empty the trash.

import bpy

context = bpy.context

trash = [o for o in bpy.data.objects
        if o.hide or not o.users]
print([o.name for o in trash])

while(trash):
    bpy.data.objects.remove(trash.pop())

The "trash" list after running question script 4 times.

['AAA.001', 'AAA.002', 'AAA.003',
 'BBB.001', 'BBB.002', 'AAA', 'BBB',
 'BBB.003']

Note: there will be no "unlinked" objects in the scene objects collection.  Once unlinked AFAIK there is no way to determine from which scene they were once linked.  There may be hidden objects in the scene objects collection. Code above will remove all hidden objects in blend.

Use object reference

Recommend you get out of the habit of referencing by index or name. eg after running an operator

bpy.context.object.name = 'AAA'
bpy.data.scenes[0].objects.unlink(bpy.data.objects['AAA'])

If there is an object named "AAA" still in blend, then the newly added primitive will be named "AAA.001" and so on...  In most cases the scene you are interested in is the context scene.

Recommend instead using object reference

aaa = context.object
aaa.name = "AAA"
scene.objects.unlink(aaa)

Before I get a comment "needs to be bpy.context.object"  inferred I have  variables defined for context be it context = bpy.context for testing where later can be pasted into operator def execute(self, context): method code, where the context argument passed is not necessarily bpy.context.  And scene = context.scene.


Can Collada export vertex colors? In order to demonstrate my problem, I created a simple scene with a cube and I used Vertex Paint to color one corner.

When I export to COLLADA, I make sure that "Include Material Textures" is checked.

The vertex colors are not saved properly.  I've verified this by importing the COLLADA file back into a new Blender file and also by importing it into MeshLab, Sketchup, Photoshop and 3DS Max, none of which showed colors.

I know the Stanford PLY format also supports vertex colors (and it worked well for this same cube), but the actual scene I'm dealing with has thousands of little complex objects and PLY can only export one object at a time.  I could write a script to export each object, but I'd rather get into one file.

(using Blender 2.69, Linux 64-bit, any more info needed?)

As far as I know, blender does not support exporting vertex colors to COLLADA (yet).

The only other formats that blender can export to (with the official export scripts, it would be perfectly possible to write your own exporter in python)
which support vertex colors are ascii fbx and ply.

If fbx doesn't work for you, you could try joining all your objects into one object and then exporting to ply:

Select the objects which you want to join/export a press CtrlJ, then export as ply in Info panel > File > Export > Stanford (.ply).


How to pop up this command" object.modifier_add" I could not run the command object.modifier_add as explained here. What's up with this?

The string you type in the shortcut configuration screen is not Python code. It just happens to look somewhat similar to it. To run the operator as Python code, prefix it with bpy.ops, so bpy.ops.object.modifier_add().

However, it's better to not use operators at all, and use a regular Python function instead:

bpy.context.active_object.modifiers.new('operatorname', 'BEVEL')

See the documentation for more info on all the operator type names. This function returns the new modifier, so you can set properties on it directly.


Do failed tracking markers still contribute to the solution? Does Blender solve the camera only for markers which are able to track the entire scene?

For example, I have a complicated shot with a huge camera movement. The camera moves forward, leaving some markers behind causing some of them to fail by the end of the shot.
However, they give nice information about the camera in the first part of shot.

Does blender solve camera for them? Or only for markers which "survive" in the scene from the beginning to the end?

All available markers are used when creating a camera tracking solution. Markers that have moved off screen can be cleared of bad tracking data to help improve the solution.

By going to the last good frame and selecting the marker you can use Clean After or go to the first good frame and press Clear Before, you remove the tracking data that is contributing to a bad solution.

This short demo by Sebastion Konig shows how to use the tracking curves to find bad markers.


How do you transform a mesh with rig into another? how do you transform a mesh with rig into another, for example, a game or an animation of the Hulk, that transition between Dr and the monster, how do I make this transition of two totally different mesh’s? For objects, I know you have the Shrinkwrap option, but it doesn’t give me much control over the transition, thanks, you are beautiful, God bless you!

I would create one armature and one mesh, and use shape keys to turn this mesh from one shape to the other. Of course, the Dr. Banner version of the mesh may need to be rather dense, so that when it grows into the Hulk, it still looks detailed and smooth. For that reason, you may find that your system doesn't perform well when animating, and so you might need a low-res Banner mesh AND a high res Banner mesh for turning into the Hulk, with the high res version keyframed invisible/unrenderable, and all the modifiers for it deactivated, until it is needed. Both versions of the mesh would be bound to the same rig. I don't recommend trying to create two rigs. If you need the rig itself to get larger also, as I imagine in this case you would, I would keyframe the scale of the armature as a whole in Object Mode to coincide with the shape key animation change. I don't believe this will break anything, but I've never done it before. So if anyone knows of any pitfalls to this, please weigh in.


How to track a point with axis I want an object's axis always to face an empty while subject to a clamp constrain. Any suggestions on how to do that?

The "Clamp To" constraint and the "Track to" constraint can co-exist on the Object Constraints panel.  Place the "Clamp To" above the "Track To", so that the track targeting happens from the newly clamped location.

In this example, the object's location is clamped along a path defined by a Bezier Curve, and its X axis targets an Empty.


Uniquely addressing vertices in python This has been driving me crazy for some time, because it seems so simple, but I just cannot find a way to do it despite exhaustive searching. Say I'm in bmesh, and I create a vertex, and I add it to the mesh. For whatever reason, this vertex is special. I need to be able to access this vertex again. Not just later in the same script, but between sessions.

Things I've tried and why I can't make them work:

Obviously, I can just go for the index of the BMVert, but those change all the time when other vertices get deleted, so this value isn't useful to me.
I thought of storing the actual reference to the BMVert Python object, but I don't really understand how this could really persist between sessions, because besides the fact in new sessions those same objects (from Python's perspective) no longer exist, the only storage place I know of that persists on an object is custom properties, and in there you can only store basic types like strings and numbers.

So, I need a way, ideally in text or numerical form, to permanently and uniquely address a vertex, and it should be one I can access in an indexed way, because the shapes I'm dealing with have too many vertices to do this by search. It just feels so viscerally simple to me, and it's been a major stumbling block for me for a while now that I just can't figure out how to do it.

Any help would be immensely appreciated.

Custom Layer Access

Suggest adding a custom layer. Example of adding an int layer.

id_int_layer = bm.verts.layers.int.new("id")

Vertex groups could also be considered a custom layer, it's the deform layer.

>>> bm.verts.layers.
                bevel_weight
                deform
                float
                int
                paint_mask
                shape
                skin
                string

Example of adding an int layer with values assigned to vertex index.

import bpy
import bmesh
obj = bpy.context.object

bm = bmesh.new()
bm.from_mesh(obj.data)

#get or create custom verts int layer
my_id = bm.verts.layers.int.get("id") or bm.verts.layers.int.new("id")

for v in bm.verts:
    v[my_id] = v.index  # assign value
    #print(v.index, v[my_id])

bm.to_mesh(obj.data)

Also see examples here, for tagging specific vertex using this method.  Custom data of vertices, Vertex Layers

After setting the layer on default cube, extruding one face, saving then reopening and printing v.index, v[my_id]

0 0
1 1
...
7 7
8 0
9 1
10 4
11 5

New verts 8 to 11 have the layer value of the original they were extruded from.


blender sapling tree error; leaves rearrange to one direction Creating a sapling tree in blender works well, for example this tree below

However, if I select the leaves and go into edit mode, the leaves become like this

at this point, I can undo(ctrl + z) and it will revert back to normal, however most times, going into edit mode is not the cause of the error, I just find that all my trees have become like this and I can't undo it.
from my observation, the tree has changed in such a way that; the origin position of each leaf is only found on the top of the branches.

I have six trees in this scene, all of them became like this and I don't know why, I only know that I can achieve the same thing by selecting the leaves of a tree and going into edit mode.
I am running  blender 2.9. thanks

I had the same issue- however, if you go to Object>Apply>Make Instances Real you can convert the leaves to an editable mesh.


Apply texture to plane via script What is the simplest way to apply an image texture to a plane using python (in 2.73)?

I've tried the script give here, where I replaced the cube with a plane:

http://wiki.blender.org/index.php/Dev:2.5/Py/Scripts/Cookbook/Code_snippets/Materials_and_textures#Textures

But, it didn't work. Perhaps there's a different method for 2.73?

The texture script there still works in 2.73, but there are a couple points that you may need to check.

Render engine needs to be set to Blender Render, the sample script is not setup to work with cycles.
The viewport shading settings. The texture will not show if the viewport is displayed in solid shading. In Textured shading you also need to enable GLSL instead of the default Multitexture. In Material shading the texture will show. These options will only show the image part of the texture, you will only see the full result of the texture in rendered display of the viewport or if you render an image (F12).

The Viewport shading mode can be found in the header of the 3dview -

GLSL shading can be enabled in the Shading panel of the properties sidebar (press N) -

If you want to adjust the script to work with cycles this question might get you started.


How come my exported (fbx) files are weird and transparent? After exporting an fbx file, and reimporting it, the models all look weird and look transparent, and I think it has to do with the material.

The blend mode for the materials, under materials tab>settings turned to opaque after being exported. This is a bug of Blender version 2.92. Download the previous version without the bug here: https://download.blender.org/release/Blender2.91/


Why is it important to align bones to view axis? I'm watching a tutorial on Youtube about leg IK rigging and this menu gets pulled up to align bones to view axis.

What is this menu called and how can I access it without hot keys?
Why is this important?  Are there additional resources I can read to better understand? It was difficult to google.

The operation is "recalculate roll."  It can be accessed from the armature menu, via armature-> bone roll-> recalculate roll-> whatever.
You don't necessarily have to align bones to the view axis specifically.  What you want to do, though, is make sure your bones have appropriate tilts.  Using the recalculate roll option to do so is the easiest way to control your tilt.  (I tend to recalculate to cursor myself.)
Why?  Think about a lower arm bone.  Your elbow rotates in a single axis, more or less, and if you animate a model where its lower arm rotates outside of this axis, it's going to look broken.  So you're either going to use angle limits, or transform locks, or IK angle limits, or expect the animator to animate in specific bone-local axes.  Doing any of these requires that you set the tilt such that the unlocked axis corresponds to the way you actually want the elbow to bend.
In the case of Euler transforms, this is even more important.  An XYZ Euler interpolates well with X rotation, but once you start combining it with Y and Z rotation, you can get some funky, counterintuitive interpolation.  So an Euler bone should be set such that its X axis rotation corresponds with the most likely, most extreme rotation with which it's going to be animated.


Lining up vertices/edges horizontally along a slanted object without altering the shape of the object? I have a slanted object with verts aligned along the slanted edge, however I wish to have the verts aligned horizontally (in Global orientation) while still maintaining their alignment with the edge they are placed on.

If I S, Z, 0, this gets them all perfectly in line, but then it changes the shape of object as it pulls all the verts in a bit.
If I set the edge as the transform orientation, and use snapping to align the verts, then it aligns them as they are currently are in the screenshot.

In essence, I need to mix the 2 methods to align in Global orientation while maintaining the edge alignment.

Any help would be appreciated.

Thanks

The best option here IMO is to use a knife tool. Press K and place the knife icon on the vertex to snap to it. Then press C to make a straight cut. Then select the angled edge and press X-->Dissolve Edges.

To align other edge loops to the newly created horizontal one add an edge loop with Ctrl+R, press E and then F.


Subdivision tears and cleaning up edges I would really appreciate some advice about cleaning up edges. I feel that when you start adding more complexity to a model and use edge loops it can get really complicated so I want to be able to close the edge loop without wrapping it around the entire object.

In image 1 I created a cube subdivided it, bevelled the edges. Then I selected only the top row of faces (used shift-H to isolate) and extruded over and over to create the hollow edge. I used loop cut to clean up. I can see I have edges that should be closed and are not but the render and surface looks good.

In image 2 I used the same method on the side of the cube at the bottom but now I run into big trouble with lots of tears. In image 3 you can see all of the edge loops that are not closed up.

In image 4 you can see that I added a few edges and it resolved the issue but I am pretty sure I will not go to modelling heaven for the way I cleaned it up.

Here is a link to the file I am using.

If anyone can point me in the direction of cleaning up edges or the rules I would be very appreciative or if you could show me how to clean up the edges. This cube is just me practising and not needed for anything.

Image 1

Image 2

Image 3

Image 4

Check your topology. You have N-gons and triangles. Stick to rectangles so the subdivision can work properly. Use MatCap's for a better view of lightning around the edges when adding new loop cuts so you dont have to go to modeling hell.

I have fixed your cube for you. I'm still using Blender 2.79 so you can import the fbx from here: https://drive.google.com/file/d/1_hVeMLHYu2jdWg9_t7FFv98-NyJLxZTO/view?usp=sharing


soft selection vertices on edit mode Is there something like Maya "soft selection" on edit mode? Something like a selection with a gradient value to do modification on a lowpoly mesh?

Yes, in blender it is called Proportional Edit.

You just have to enable the tool by pressing O and then you can adjust its area of influence by using the mouse wheel (or by using PgUpPgDown) while you perform a tranformation, say, while you are translating a vertice.


How to make 2D stabilization in Movie Clip Editor only follow active tracks? When using Blender and the Movie Clip Editor to stabilize a clip, I can select multiple tracking markers and have them follow the tracks for 2D stabilization, etc.

Now, I have a shot, where features come into shot one after another, and I'd like to have stabilization be based on them. Not all track markers are visible throughout the whole shot, so they become active for the section they're visible in, and are otherwise disabled.

When adding all these tracks to the 2D stabilization list, Blender creates the median of all the tracks, even the disabled ones. Is there a way to make it only follow the currently active tracks, and disregard tracks that are not active in the current frame?

And if so, how?

You can continue to track past an obstruction in the frame, or track a new feature by using the Offset value of the active Marker. Go to the Properties panel and look for Marker > Offset:  simply change these values to position the Marker boundary over the new feature and continue to track.


Objects in edit mode are all black I have created two bezier circles, then converted them to meshes. When I press tab to enter edit mode, the objects appear completely black.

You can see the exact tutorial I am following at 6:20 of this video

Why do they appear black, and not have any subdivisions? Is this a problem with blender, or is there a setting I need to change?

Edit Mode

Edit Mode + Wireframe view

From what i can see in the image your object has about 166000 Vertices. In Edit Mode vertices are displayed in a certain size independent from the polygon size, so it may well be that you only see the black vertices, while all edges are hidden because of the vertex "display size". Here is an example with 4 rings of increasing vertex density:

Also none of your vertices is selected right now, so this would explain why the mesh appears in black. So i guess when you hit A then your rings will turn from black to light orange (the color of selected vertices)

Maybe you had added a subdivision modifier to your Curve ? When converting your curve to a mesh the subdivision modifier would be applied...


How to convert this logic to python code? How to convert this logic to python code?

look at http://blenderartists.org/forum/showthread.php?294632-Convert-Logic-bricks-to-python-scripts-how and read "kastoria" post.

they said "As far as I know, there is no automatic way to convert the logic bricks into Python script. However, porting the logic bricks into Python should be very straight forward. Each Sensor goes into a Controller that is a simple "AND" or "OR" operation.

Step 1) Replace all the and/or Controllers with Python controllers that simply do the same AND/OR operation.
Step 1.5) Test everything to ensure nothing has been broken.

Step 2) Remove all the Keyboard/Joystick/Mouse button sensors and access them directly in your Python though
Step 2.5) Test everything to ensure that nothing has been broken.
bge.logic.keyboard, bge.logic.joysticks, bge.logic.mouse, etc.

Step 3) Remove the Actuators that are easy to do. Things like 'Property' and movement actuators are pretty straight forward to replace with Python code
Step 3.5) Test everything again to ensure nothing has broken.

Step 4) Move the more difficult Actuators to Python. Things like 'Action' actuators that play animations require a bit of work to replace with Python code.
Step 4.5) That's right, test again." but to be honest i dont know if this will work for you or not since im new to blender still.


retopologizing large irregular ngons This Toyota logo is a topological mess. Initially it was just a large circle plane, extruded, with no cutouts. Then, it got messed up after using a boolean difference modifier. It actually looks better than before because I ended up deleting a lot of extra faces and filling in new ones. The main problem with this is the faces of the object which are large asymmetrical ngons.
I now assume a much better way to have done this would be with curves and knife project but am retpologizing this as a learning exercise.

I am pretty new to blender. I used to use it several years ago but have memory issues and am now relearning everything. This is my third model.

I know the first step would probably be to connect the vertices of the cutout edges and dissolve non-matching vertices and edges. But I cant always do that for edges What I am trying to do with this model is chamfer the edges of the cutout areas. Is this possible even with tedious work or is it a lost cause? Also, would it have been better to keep the main two faces of the disc as a circular ngon or should I have used fill grid before applying the difference modifier?

The file is at http://www.pasteall.org/blend/33200

For popular and common items it might be a good idea to search for wireframes other people have made in order to learn from them. For example sites that offer 3D models for sale.

Here's one I found.
I post it here for educational purposes:


Need help with sculpting a shield So I'm very new to Blender, literally only days old. I never studied 3D modeling, I'm trying to learn by myself, I'm watching lots of tutorials to learn, my main use for Blender will be 3D printing my models. I have been trying to make a 3d model of this shield

so I initially made a thin cylinder for the base, and for the curved area I made a UV sphere and bumped it down until it seems right, and deleted the parts that stuck out under the bottom. My issue is trying to model the thorny branch and gem in the middle. I finally managed making the branch itself with a bezier curve, but the thorns have stumped me because I can't figure it out, the gem impossible to make (tried making a sort of pyramid and rounding off, tried sculpting a sphere, nothing has worked). My first attempts were to directly sculpt on the curved base, instead of making everything separate objects. But the program refuses to sculpt anything, the brushes may as well do nothing. I'm aware there may be a setting I've missed that will solve it, but I try things I find on here for the same problem (sculpt not working) and nothing has worked. I've tried subdividing, tried NOT subdividing, tried changing strength, radius, tried pressing control, I don't know what else I could do.

Can someone please give me some pointers on how to efficiently go about this? I've seen such intricate detailed models from Blender and I cannot figure out why a seemingly "simple" shape is causing me grief. I'm willing to hear any answer, if I still cannot make this work I'll just 3d print the bare shield and sculpt the rest with real life air clay as a last resort.

Thank you for your time reading this and if you try to help. I'm really trying but I understand that when you're self-learning a lot of the obvious things fly over your head.

For a base mesh I would use Sphere (12 segments), upper part scaled on Z in Edit mode. If you don't like curvature, scale Z to 0, select centre vertex and with enabled Proportional Editing O (and chosen desired curvature) move up on Z axis.

For spiral enable addon Extra Curve Objects. Add new object Spiral and tweek parametrs in properties. Add Shrinkwrapp modifier > Target your "base" mesh.

Add Plane, Scale it down into thickness os spiral shape, add Array > Fit Curve, Curve > Spiral, Shrinkwrap > Sphere, Solidify, alternatively Bevel modifiers (see screen).

Thorns - I choose hand modelling, just apply Array and Curve modifiers, disable Shrinkwrap and extrude a few vertices for thorns. In screen I used move vertices, dont do that :)

Tip: just by selecting inner side and Scale you can get wide of spiral thinner at centre and thicker on outer side of shield.

For 3D print you will need manifold object. Blender has an add-on 3D Print Tool that can help to show problems. To get it right seems to me better extend spiral ornament and cover whole shield with shrinkwrap - like retopology, so you get nice wire for print.
When I tried to Merge by Boolean or Remesh it comes with a lot of issues.

Another way

For 3D print would be ideal to start with Curve profile of shield. Add Screw modifier to create shield and use Simple Deform > Twist modifier to create spiral topo. Like that you will get shield shape with Spiral wire so simple extrude of one loop can does the job, but I wasnt able to create spiral in shape from your image. But you can try your luck with that.

Mesh is quite dense so I just pushed vertices up here. You can also create Shape Key before you start, like that you can create more designs on shield or you can any time to get back into clean surface.


Blender extrude along normals Hello I am new ot Blender. So even when i am choosing "Extrude faces along normals". Getting this result. It isnot filling gaps of corners. How can i fix that?

What you've done looks more like an altE > Extrude Individual Faces than an E (simple extrude). If you select the whole ring of faces, make a simple E, then S + shiftZ to scale on X and Y axis, you should get what you want.


How do I export a baked texture? I'm new to blender and I'd like to bake my material into a texture in order to export it to GLTF.

Once baked, I do not know where the "baked" texture is, how to visualize it and how to export it out. I could not find any relevant documentation for Blender 2.8.

If you have baked your texture, you can view it in the image editor.

In the image editor select the baked map.
Click the button next to the baked image to save it anywhere you like.

I'm not sure this was the answer you were looking for, hope it helps.


My Light is not shining on the lit side of my imported object For some reason my imported object is absorbing all the light, it does have some reflected light but none on the side it is lit from. I've tried increasing the light source but it doesn't help.

As you can see the object is sat on a plane and the plane is acting correctly to the light.

Some imported objects have normal problems and display black artefacts, so in  Properties panel > Object Data > Geometry > click on Clear Custom Split Normals Data.


When do I add hair to my model? I have sculpted a humanoid Rat and have retopologized it. As many of the youtube tutorials say, I am supposed to proceed to UV unwrapping. I want to add hair to my character (fur to be specific) and it will be an animated character (I will rig and get it animated from Mixamo).
Now what should I do? Should I add hair particle system before uv unwrapping to the retopoed mesh or after it?

You can do UV unwrapping and hair particles independently of each other.
UV unwrapping creates UV maps. You can find them in the Object Data Properties.
Hair particles create particle settings and adds a hair modifier to the object.
As long as you haven't started to paint textures or edit/comb the hair you can delete uv maps and particle settings and re-create them.


Why can't I duplicate faces in place? I'm trying to duplicate a loop of faces on a bottle shape to create a label.
I can do it successfully if I drag the duplicate faces away from the original bottle and then separate the vertices by selection.
Problem is, when I leave the duplicate vertices in place and the try to separate them by selection, Blender then deletes the original faces underneath the new faces, leaving me with a hole in my bottle.
What am I doing wrong?

You have to hit Enter right after you hit Duplicate with Shift+D. This locks in the duplication. If you don't do that, Blender deletes the underlying verts once you do the separation step.


Copying Action From One armature to Another armature I am a beginner in blender.

I have 2 Armatures. They have different bone structures/names.

Armature A does some action for 200 frames, Armature B does some action for 80 frames.

I would like to add the action from Armature B to Armature A.
I tried to use NLA editor, push the action from B to A, but it didn't work. I think somehow i need map each bone from Armature B to Armature A.(I couln't find a way to rename bones)

I searched for every related tutorial but i couldn't find how to map. All i can find was people joining actions using NLA editor, adding action strip.

After that i tried copying keyframes from Armature B to A, but i couldn't find a way to do it in neither dope sheet nor action editor.

I am not afraid to do lots of menial work (like renaming all of the bones) or using python scripts(i am comfortable with coding with python). But i couldn't find a way to do it.

Any detail will be appreciated as i am a newbie in blender.

Thank you in advance.

An object can have only one active action, this is the action that receives new keyframes when you keyframe a value. The same action can be assigned to multiple objects. The dopesheet has several modes which includes action editor which can be used to edit or create, delete and assign actions to an object. The NLA editor can be used to have multiple actions affect the same object and also has the ability to repeat, ret-ime and offset an action over time.

An action is a collection of fcurves that contains keyframed values for an objects property/s. Each fcurve contains a data path that specifies the property that the keyframes effect. While the dopesheet can adjust the timing, the graph editor is used to edit other details of fcurves, including the interpolation mode of the curve.

For an action to be usable on multiple objects, they need to have the same data path for property names, for things like location and rotation that simply applies to every object. For an armature the "data path" recorded for each keyframe includes the bone name, so to use an action on multiple armatures they need to have matching bone names. The keyframes in an action will animate the bones with matching names the same in each armature.


Why can't I open the side menu in 2.8? I'm working on 2.8 and noticed I could not pop open the window on the right side of the screen. Usually that had a "plus" sign, it only has a "less than" V and won't let me open. Is that a bug? or a feature change? Doesn't matter whether I'm in Object Mode, Edit Mode, Layout screen, modeling screen, etc.

Also have a project that has "Lasso Select" stuck on, can't get it to turn off

This seems to be a bug with the most recent builds of Blender 2.8 (as of writing, build of April 26, 07:03:52 - 513b71c89ad0). You can open these items via the shortcuts N and T for the right and left context menus respectively. Once you toggle the menus via these shortcuts they will respond to the mouse correctly thereafter.

In case these aren't your keybindings (these should be Blender defaults), you can find and/or map them in Edit>Preferences>Keymap. You can search "context toggle" by name or find them under the keymaps of the respective editor windows. You are mostly looking for "generic" editor modes NOTE: Every editor window (3D view, node editor, image editor, etc.) has an independent keymap for this action which means you will have to change every case of this mapping you find if they are all not to your liking.


Rigify-armature won't attach to mesh I am a new Blender user.  I have a Genesis 3 character I created in DAZ.  I exported him as an fbx into Blender.  I followed a few tutorials and using rigify, I fit my bones onto my G3 character.  I created a rig using my armature, and it's not attaching to my G3 mesh.  Any help would be greatly appreciated.  I am attaching a link to download to see what I've done here.  Thank you in advance!

https://drive.google.com/file/d/1iENa2NnRVvCUUQF3kzyXhcy90L7unsdp/view?usp=sharing

If you select your body mesh and go to the vertex groups, you will see that you have two "series" of vertex groups: one has been created by Rigify parenting (all thoose starting with the suffix "DEF"), the other created by another rig. The DEF vertex groups have no weights assignements (so they don't act), while the others do have weights, but they don't "talk" with rigify bones because they have non corresponding names.

There are three different ways of repair:

1) delete all "DEF" vertex groups, then rename all others vertex groups, i.e. "lindex3" shall be renamed "DEF-f_index.03.L" (I know, it's a pain".

2) rename the deforming bones of Rigify (the opposite, but another pain).

3) Delete all existing vertex groups and redo the weighting. If you want to use Automatic weighting you will have to temporarily detach the head from the body, because in the head region you will get the "Bone heat failing" error, and probably this is the reason why you did the parenting but only empty vertex groups were created.

BTW, it's correct to parent the mesh to "Rig", not "Metarig".


Anchor path vertex to object I am working on a project to simulate a hydraulic cylinder extending and contracting. It is working against a lever on a pivot, which means that one end (the ram) needs to be constrained to the pin on that pivot, while the other end (the cylinder) needs to remain at a fixed location but pivot along with the ram.

I'm sure this can be accomplished with a variety of object modifiers, but I'm having a really hard time working it out.

My object hierarchy, as of right now, looks like this:

The cylinder extended looks somewhat like this:

And retracted...

Notice how the origins for the ram and the cylinder remain in the same general location (cylinder fixed to frame, ram fixed to arm).

I should also mention that this is an approximation of the project I'm actually working on.

Edit:
The title is just one idea I have. To create a 2-point path and use the follow path constraint to keep the ram and cylinder aligned to it. The one place where I can't figure out how to make this work though is how to anchor just one path vertex to one end, and the other to the other end, causing it to scale and rotate according to the anchor points, where one anchor point is fixed and the other moves with the arm.

I got it working, finally. The comments provided above by Duarte Farrajota Ramos and Edgel3D gave me the bread crumbs I needed.

This new model contains a few parts:

Frame - Has a Limit Location constraint to keep it in place
ArmPivot - Has a Limit Location constraint to keep it in place
Arm - Has a Limit Location constraint to keep it in place, Limit Rotation to keep it from going further than the hydraulic cylinder would allow
ArmPin - Parented to Arm
ArmPin.001 - Parented to Frame
Cylinder - Has a Limit Location constraint to keep it in place, Locked Track targeted at ArmPin with To: Z and Lock: X
Ram - Has a Copy Rotation with Target: Cylinder, X, Y, and Z

Rotation of Arm causes the cylinder to track perfectly. I was able to implement this in my actual project and complete an animation that was holding me up. Huzzah!


Motion track markers go red and stop tracking I'm trying to do motion tracking for a clip but it can't track past a certain point. The trackers all go red and I can't figure out why. Any help would be greatly appreciated, thanks!

The tracking process stops when blender cannot accurately track an element. In other words: tracking fails when the tracked element cannot be found accurately within the search box area.

This can be because the element has moved too much and is outside the search area, or because is blurred, deformed, occluded or too close to the edge of the frame. The tracking process also stops when it has reached the last frame defined for the scene (or the first one if tracking backwards).

What are the blue and red lines?

When you track there is a path created showing the motion of the tracked element across the frame.

Red indicates motion on the previous frames, blue is for the path on future frames.

If you track forwards you will see a red track being created. If you track backwards you will create a blue path.

When you play back you can see both.

What can you do when the tracking stops?

Go back one frame (or where the tracking stopped) Change some settings and re-start the tracking process.

If the tracked object is growing in size or has moved beyond the search area make the search box larger.

(To view the search box enable the Search Marker Display or preass Alt+S)

Change the motion model. Usually changing from Loc to LocRotScale or perspective works well.

For tracked features that change in shape because of the perspective or because they change size, you might want to change the match setting from keyframe (where the tracker uses the original shape as reference to find the matching features) to Previous Frame (where it will try to match the features to those in the previous frame only)


Unable to select CUDA or OptiX with new 3090, "No compatible GPUs found" message As I mention in the title, Blender just doesn't seem to recognise new 3090.
I just upgraded from a Vega 64, installed 3090 card (Gigabyte Vision OC), installed latest drivers (tried both game and studio) and... nothing.
I can only choose CPU rendering.
OpenCL is obviously now disabled, yet I get the  "No compatible GPUs found" for CUDA and Optix as well!
Any suggestions welcome!
Cheers
Adam.

In case anyone else encounters the same problem:
I reinstalled my windows (keeping apps and files) and suddenly it was recognised in Blender.


Black shadowy mesh in Edit Mode I am in Edit Mode trying to visualize the bottom part of my model.
But the bottom meshes are black and so are the parts on the other side.

I looked at this question and this question but I don't think they are related to my problem.

I'm in Edit Mode with Material shading turned on (to be able to see the reference images imported as planes), and would like to see the faces and vertices on the sides that are currently dark.

You've set the viewport shading to material (the drop down right to edit mode) it seems that there is no light in this direction either add another light source or change to a different mode.


Path for camera from motion equation Is there any option in blender to define path as equation?
I need to move camera by specific equation of motion. This equation is described as follows:

x = cos(t) + 0.5 * cos(4*t)
y = sin(t) + 0.5 * sin(4*t)
z = sin(4*t)

Add a single key frame to the camera the go to the f-curve editor. Selcet the curve for the desired coordinate. Go to the proverties panel of the f-curve editor (if you don't have it press N to get it)

Add a Built-In Function modifier

You're looking for a "sin" type for each of your coeficients.
For example I'll do the X location formula you provided:

Remember to check the "additive" option if your have more then one term in your equation
To enter "cos" you need to use the fact that cos(x)=sin(x+pi/2) Wikipedia: Trigonometric identities

Final graph for X location:

Extension:

In your case you only needed sines and cosines, but it it would be nice if we could do it for any function. It would be nice if we had a any function modifier, but for now heres a work around:
This method is inspired by @gandalf3 comment

Add a driver to the property you want to control using a equation

Then head over to the graph editor, and change from the f-curve editor to the driver-editor. Select the property you want to add an equation to on the left hand side. Now head over the the properties panel.

There change the variable type to "single property" and select the current scene object (You must first select a scene object type). Then type in "frame_current" into the path box. If you want you can name your variable (I called mine "t")

Now all you need to do is enter your equation into the box "Expr:" Remember that this is a python expresion so a quadratic function is x**2 not x^2

If you get an error saying somthing about "Python Auto-execution disabled: reference this question.


Texturing Fractured Objects How do you apply UV mapping and texturing to an object after it has been fractured? If I texture things before I fracture it, things mess up (A bug in blender right now) but if I wait to texture the object until after I fracture it, as far as I know right now I am forced to deal with each separate object one at a time causing not only a headache because of how long it takes, but when I do texturing like this, the texture doesn't line up properly from object to object.

I would suggest using Scorpion 81's fracture modifier build instead of Blender's default cell fracture. There, the fracture is a modifier, so you can unwrap and apply your material to a cube, and after fracturing each piece of the fracture will retain it's original uv coordinates. In addition, Scorpion 81's fracture modifier build offers some great features for streamlining and making easier the fracturing process.

Here is a link to an example of the modifier in action:
https://www.youtube.com/watch?v=6Vcd1GQw5Ac

Here is the fracture modifier build's page:
http://df-vfx.de/fracturemodifier/


The effect of Proportional Editing in Random mode is not as strong as I expected. How can I make it more intense? In this video ("Blender Beginner Tutorial - Part 4: Material Nodes", around minute 34) the author uses the "Proportional editing" mode and chooses the falloff type to be "Random".

I tried to do the same but it doesn't give the same wavy shape. I think the randomness effect isn't that great in my case but I don't know why.

I tried to press W and then "Subdivide Smooth" to add more segments to the shape but I still don't achieve a great effect.

Any ideas?

After having initiated the G ("move") action, scroll up the mouse wheel ( wheel) to enlarge the area of influence of the proportional edit.

While scrolling (up or down) you'll see a circle representing roughly to what spatial extent the other vertices will be affected. Make sure it is large enough to encompass several of the other vertices.

Then just keep moving the selected vertex to see the effect. (As Ashutosh Budhdeo noted, you may want to use Z during the "move" action to constrain the movement to the vertical axis).


Changing the color of an object (UV sphere) I've been enjoying my first hours with Blender so, my question is super simple. I am trying to make a neon loop with the sun on the horizon. How do I change the color of the sun only, without changing the color of the surroundings?

I added the Emission Surface and changed the color but in the result I got all the surroundings modified.

Could you tell me the right steps?

Happy quarantine :)

It's okay if you don't set the world material to emission.
In world panel, you can select background option instead of emission and you can increase the strength of the background to make it brighter and brighter. You can also set any colour you want to the "world background"

To make the sun, you can make a emissive uv sphere, by the way i would recommend to make the sun circular instead of spherical (because the sun is very far from the earth so we see the orthgraphic image of spherical sun which is circular).

So to make the sun you can add a circle and fill it to get a solid face. Now set an emission material to your sun.

In eevee mesh lighting don't work so you will have to place the sun lamp or point lamp or plane lamp to simulate the lighting.
You can turn on bloom, screenspace reflections, and depth of field if you want.

Links:
https://youtu.be/hnLsktA4gmY

https://youtu.be/FsETUAsiI7c


Render not including light on output? My blender session looks like so:

im in render view and can see the spot light Im using. When I export to an image however I get this very flat image and no light happening? why is this happening?:

Did you accidentally turn off that plane in render setting?

The preview in 3D view doesn't follow render visible setting in the outliner

Toggle the icon on again and see if the problem is resolved.


Why do i get this Merge Operator: Enum not found error? I am recently learning to extend blender and trying to create a custom utilities panel.

I'm trying to add a "merge vertices" button on a panel but I keep getting errors saying;

enum 'FIRST' not found in ('CENTER', 'CURSOR', 'COLLAPSE')

Any solutions to this?

Also, any tips regarding convention and styling is welcome :)

Thanks in advance

Many thanks to batFINGERS answer, I ended up going with the try/ except method.
I then changed the code and now it works like a charm

row = layout.row(align=True)
for k in ['FIRST', 'LAST']:
    try:
        row.operator("mesh.merge", text=k.title(), icon="GROUP_VERTEX").type = k
    except TypeError:
        row.enabled = False
row = layout.row()
row.operator('mesh.remove_doubles', text='Distance', icon='DRIVER_DISTANCE').threshold = 0.01

which ends up like this and is exactly what I wanted.

The type enum property items for the operator is populated based on selection.

The type enum is an example of a dynamic enum that is populated dependant on selection.

As mentioned in my answer to  this related question Add shortcut for Merge Last, and Merge First if you use col.operator_enum("mesh.merge", "type")  you get the available options.

import bpy

class MESH_PT_merge2(bpy.types.Panel):
    """Merge Panel in Mesh Tools"""
    bl_label = "Merge"
    bl_idname = "MESH_PT_merge2"
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'UI'
    #bl_category = "Tools"

    @classmethod
    def poll(self, context):
        return context.mode == 'EDIT_MESH'

    def draw(self, context):
        layout = self.layout
        col = layout.column()
        col.operator_enum("mesh.merge", "type")

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

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

if __name__ == "__main__":
    register()

  I would like only the "At First, At Last, and Distance" buttons to be
  visible

Speculatively it looks like first and last options require vertex select mode and at least one vertex  selected.  An edit bmesh could be used to test, depending on your use case. this is probably overkill.

A try and except clause, except I generally recommend try to avoid these if possible.
In this case the error is thrown after the UI draws the button before the type property is assigned, hence I've disabled.

    for k in ['FIRST', 'LAST']:
        row = col.row()
        try:
            row.operator("mesh.merge", text=k.title()).type = k
        except TypeError:
            row.enabled = False

Lastly, to get all the items possible in an operator enum

>>> rna = bpy.ops.mesh.merge.get_rna_type()
>>> rna.properties['type'].enum_items.keys()
['FIRST', 'LAST', 'CENTER', 'CURSOR', 'COLLAPSE']


How to display and use operator properties in a custom UI panel? For example, as you can see in the keymap preferences, there are operators that have properties, like this Smooth Vertices:

With this little code row.operator("mesh.vertices_smooth") I can make a button to execute this operator in my UI panel

So how can I do the same with those properties and checkboxes, for them to show up in my custom panel, so then I can set some settings before clicking the button?

This is in blender 2.8 by the way..

Thanks...

You can set new property like this:

bpy.types.Scene.my_use_x=bpy.props.BoolProperty()
row.prop(context.scene, 'my_use_x')

And set property of operator like this:

operator = row.operator("mesh.vertices_smooth")
operator.use_x = context.scene.my_use_x
operator.use_y = False
operator.factor = 2

I do not use blender 2.8 and I did not test this. But it should work.


How to map cube uvs from existing tilesheet? I have a tilesheet with 128x128px tiles with 2px offsets. When I unwrap a cube to map faces to the tilesheet, I can't figure out how to accurately scale the face uvs so that they are exactly 128px. I'm currently trying to eye it, but my uvs end up being imprecise.

Is there a correct way to unwrap cube faces to a tilesheet?

Thanks!

Enable Snap to Pixels in UV editor > Header > UVs to snap UVs exactly.

Use the Reset unwrap method (U, R) to unwrap all the faces of the cube over the whole UV space.
Scale (S) the resulting UV faces down to the area you want.
Select faces on the cube and reposition/rotate their corresponding UV face accordingly.


How to use the 'MESH_OT_extrude_verts_indiv' parameter? I'm trying to extrude a single vertex several times in a loop for different directions. For that I'm using the function: bpy.ops.mesh.extrude_vertices_move(MESH_OT_extrude_verts_indiv=???,TRANSFORM_OT_translate={"value":(new_direction)})

If I use this function without the MESH_OT_extrude_verts_indiv it will extrude the last active vertex, wich is the one I just extruded.
The problem is that I don't know what to put in MESH_OT_extrude_verts_indiv. I tried to put the vertex in that loop index, but I can't put a Vector type in it.

Can anyone give me an example of what to put in this MESH_OT_extrude_verts_indiv?

Here is my code:^

for k in range(0,5):
    for v in bpy.context.active_object.data.vertices:
        bpy.ops.mesh.extrude_vertices_move(MESH_OT_extrude_verts_indiv=v,TRANSFORM_OT_translate={"value":(v.co+new_direction)})

#new_direction is a random vector

Use bmesh

Strongly recommend using bmesh instead of bpy.ops.mesh whenever you can.

Here is my understanding of the script needed.  Extrudes the individual selected vertices randomly a number of repeats.

The operators return dictionary has the newly created vertices and edges.

import bpy
import bmesh
from mathutils import Vector
from random import uniform

context = bpy.context
ob = context.edit_object # edit mode!
me = ob.data
bm = bmesh.from_edit_mesh(me)
verts = [v for v in bm.verts if v.select]
for repeats in range(5):
    ret = bmesh.ops.extrude_vert_indiv(bm,
            verts=verts)
    for v in ret["verts"]:
        v.co += Vector([uniform(-1, 1) for a in "xyz"])
    verts = ret["verts"]

bmesh.update_edit_mesh(me)

If the idea is to extrude from the same vert  repeat times, then remove the line

verts = ret["verts"}


How can I make a bed canopy? How can I make a bed canopy?

Both the modeling and the material?

Looking for something like these 01, 02.

UPDATE:

So this is what I ended up with thanks to Nicola Sap suggestion and I'm pretty satisified with it. Thank you.

What do you think?

What about the material? (Now I'm just using mix of diffuse and transparent).

(credit to pixabay/Viscious-Speed for the floral background).

Short answer just to point you to the direction of cloth simulations.

Start with a large circle in the position of the highest point of the canopy, with a "triangle fan" face fill.
Remove one vertex along the circumference, to make an opening
Subdivide many times, minimum 6 but possibly 11-12.
Assign the central vertex to a vertex group.
Set up a Cloth simulation and enable pinning on the newly created vertex group.
Make the canopy holder ring using a simple torus mesh and enable collision.
Enable collision on the bed (or on a cube representing the bed's proportions, if your bed isn't ready yet).
Bake a cloth simulation
Choose a frame that looks right, and "Apply" the Cloth modifier.


How to smooth/bend a specific edge? I am a beginner, I tried with basic tutorials, but I can't actually solve this.
If I have this:

How can I get this following shape?

In other words, what I would like to do is to get the same shape as where the hams are hung. Thanks! (sorry for my bad english)

Bevel

Easiest way for your particular case is probably to use the Bevel operator (other softwares sometime call this operation Charmfer) you can find in the Edge section of the Mesh sub-menu.

Other possible ways could be to use SubSurf modifier with proper crease or take advantage of capped&extruded curves, but for the example you bring in, these kind of approaches don't look particularly helpful.

You can find an in-depth explanation of the usage the the Blender reference manual's page, but basically you should:

enter edit mode
select the eges you would like to bevel
run the command from the menu or press Crtl+B
adjust the size with the mouse cursor
increase the number of segments with the mousewheel
click to confirm

You can change the parameters even in the panel of the toolshelf on the lower left (or in the pop up menu you can call with F6).


How to delete an object in an animation How would I delete an object that I no longer need in an animation? I am animating a projectile, but once it's out of view, I don't want my computer to have to process it anymore. Is there any way for me to delete it after I'm done with it?

You can animate the renderability of the object.

Move the mouse over the camera icon on the outliner and set a keyframe (just press i or right-click and select insert keyframe) then move to the frame where you want the object to disappear, disable renderability by pressing on the camera icon and set a new keyframe.

Note that the interpolation for visibility is always Constant.


problem during script execution hi I wrote a simple script to take screenshots, but the frames are not updating in the screenshots i.e all screenshots are the same image (a single frame). I introduced a time delay in case blender having problem updating but the problem is still there
import bpy
import pyautogui
import time
c=1
while c<=50:
    bpy.context.scene.frame_current =c
    time.sleep(2)
    path='D:\\Blender\\script_screenshot\\'+str(c)+'.png'
    pyautogui.screenshot(path)
    c=c+5

Blender doesn't update the GUI by default when a script is running. See Update viewport while running script
Add bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1) after you change frames to update the GUI.
Also, you can take Blender screenshots with a BPY op like this bpy.ops.screen.screenshot( filepath=path, check_existing=False) so you might not need pyautogui.
import bpy
#import pyautogui
import time
c=1
while c<=50:
    bpy.context.scene.frame_current =c
    bpy.ops.wm.redraw_timer(type='DRAW_WIN_SWAP', iterations=1)
    time.sleep(0.5)
    path='C:\\tmp\\script_screenshot\\'+str(c)+'.png'
#    pyautogui.screenshot(path)
    bpy.ops.screen.screenshot( filepath=path, check_existing=False)
    c=c+5


Find implementation of specific class in source code I am trying to find the following classes in the source code:

SCREEN_OT_screenshot
EXPORT_MESH_OT_stl

However, I have no idea where to find them and it would be painful to search in every .py of Blender. Is there a way to find a class (especially those two listed above) from console or from the documentation?

It depends whether the operator is from an add-on or implemented in Blender itself. The former will be from a Python script, while the latter is implemented in C or C++ and is accessible through the Python API.

For operators from Python add-ons it's necessary to know the command for the operator, therefore enable the Developer Extras in Edit > Preferences > Interface > Display. Once enabled, you can right click on buttons and choose Copy Python Command from the context menu.

When the command is known, the inspect module can be used to find the source file and the source code. Replace bpy.ops.export_mesh.stl with the operator you would like to inspect.

import bpy
import inspect

cls = getattr(bpy.types, bpy.ops.export_mesh.stl.idname())
print(inspect.getfile(cls))
print(inspect.getsource(cls))

Alternatively, if the class name is already known, it can be used directly.

import bpy
import inspect

cls = getattr(bpy.types, 'EXPORT_MESH_OT_stl')
print(inspect.getfile(cls))
print(inspect.getsource(cls))

The source code of operators, that are implemented in C or C++, can be found by opening an IDE (e.g. Visual Studio Code) or advanced text editor of your choice (e.g. Notepad++) and searching the cloned repository of Blender for the definition of the class name. This approach works for any programming language, including Python scripts.

Alternatively you can use the:

Diffusion for Blender or Blender Add-ons and search the class name through the Pattern Search
GitHub mirror and search the repository using repo:blender/blender followed by the class name.

The SCREEN_OT_screenshot class can be found in  /source/blender/editors/screen/screendump.c. The EXPORT_MESH_OT_stl class, which is actually named ExportSTL, can be found in /release/scripts/addons/io_mesh_stl/__init__.py.


How to convert edge selection to outer edges only? I have a selection of edges. I would like to convert my selection to the outer edges only. How do I do this automatically.

Ensure you are in edge selection mode CtrlTab > Edges.
Then in the 3D view header Select > Select Boundary Loop

Alternatively you could (for such a simple selection) just hold Alt and RMB  on the first edge, then ShiftAltRMB  on the second edge.


How to create splash of a ball falling on water? I have a ball with a rigidbody and it has fluid with a type obstacle. But when it falls in the water I don't get a splash or anything. What I want to happen would be the ball to fall in the water, splash and also maybe the ball float a bit. How would I do this?

To have the rigid body affect the fluid, simply go to the fluid obstacle settings and check Export animated mesh. However, while the rigid body will affect the fluid, the converse is not true, so the fluid will not slow down the rigid body in any way.

Keyframed animation is the way to go in this case.


how to change camera view of a player? You guys know that when you play games, you can see whats happening around you right?how do you change the camera view so that your camera is on the head of the character and not behind the character?

You have to parent the camera to the player object by pressing Ctrl+P,
then move the camera where you want it by pressing G.


Can I un-hide everything without selecting everything? I'm familiar with the Shift+H keystroke to hide everything except selected objects. When I reveal everything again with Alt+H, everything is selected, which is often troublesome, especially if I just want to quickly check how my object editing is reacting with other objects.

Is there any way to reveal all the hidden objects without also selecting them?

Yep.To hide and view anything on view port,you could just toggle the small eye like icon on the outliner. This is especially helpful when there are a lot of objects on the scene. see I have plane as well but I've toggled it off,so you cant see.You can toggle any number of items on or off to hide or view.Hope this was helpful


How can I change the buttons text position? I'm messing around with python for the first time.

I'm making my own changes to the interface, just because..

How can I move the text inside the buttons down and to the left?
The left image is what I have now and the right one it's what I want to do..

Please have in mind that I have zero python knowledge. But I'm willing to learn..

You can't, Blender's layout engine text alignment (in the internal C code), but Python has no access to this.

This is intentional, Python layout definitions are not supposed to care about details like alignment and color, this is controlled by the layout engine and current theme.

If the layout looks bad this may be a hint we need to improve the layout engine's behavior - its unlikely these details will be exposed to Python, unless theres a very good reason.


why is my mesh not moving correctly with weight paint mode? here is my an image of my mesh.

For some strange reason i red weight paint is not working. how can i fix thi

I Managed to find a solution.

Go into 'object mode' select the figure mesh(not the armature), and look at the vertex groups assign to that specific mesh. My problem was that my vertex groups were all out of alignment (The vertices were spread in placed i didnt intend to put).

So i deleted all of my Vertex groups, and stated assigning new one with the correct vertices.


Why is mirror and subdiving co-acting wierdly? Heres a picture. im making a body, and it seems to have flash in the middle.

In order to get smooth surface transition with Mirror and Subdivision modifiers you have to remove the internal faces where the mirrored mesh connects.


Why does adding shaders take the colour out of grass in render mode I am making a field of grass using particle systems. The set up has 2 different clumps, green and green/brown plus some weeds and flowers. In materials mode, when I add shaders, (translucent and glossy for example,) I get the great effect that I want. When I go to render however the colour in the grass is completely gone. (I'm only setting the glossy shader to .002 by the way.) Anyway, glossy or not glossy, translucent or not, if I even go near changing a basic image texture>diffuse>output node setting all the colour goes in render mode. I have had some issues recently with seeing multiple shader and texture nodes in materials mode apparently because I'm on a MAC but this seems to be the inverse problem. Any Ideas?

You have to be careful what information you connect on the node sockets.

Sockets have colors (Yellow, Green, Gray or Purple) for a good reason: so that you use the correct kind of information.

You can't connect color information (yellow) to the green input of mix shaders.

Likewise, plugging the output of a mix shader to the color input of an other shader makes no sense. The output of a shader can only be plugged in to mix shaders or to the material output sockets.

Please read the following link for a detailed explanation:

What is the meaning of the color of the node sockets in the node editor?

Read also: Cycles and nodes, trying to use Diffuse BSDF as color source for Glossy/Subsurf Scattering BSDFs.. not working


How to extrude all edges 1cm from center point? How can you extrude all these edges 1 cm away from the center point, thus creating a rectangle 1 cm larger in all directions?

Blend file here also, the desired edges are already selected:
.Blend file

With the loop selected, press AltS to scale it
along the normals.
Press S again to activate Even Thickness, so you define the actual width of the border instead of the corner edges' length.
Enter -.01 to get a border of 1cm width.

The edges don't provide normals to scale along, so the adjacent faces' normals are used, which are pointing inwards. This is why you have to enter a negative distance.


How to remove background colors in antialiasing pixels in Eevee? I have a shadeless red material applied to the default cube.  The world background is green.  When the scene is rendered with Eevee, transparent green pixels appear at anti-aliasing pixels along the contours of the cube.  How I can remove the green color and make the anti-aliasing pixels purely red?  The green color seem to come from the world background.  No transparent green pixels if the same scene is rendered with Cycles.

Change the world background to a black color and it should look fine.

In this example I am using a world enviroment but wanted a color/alpha to appear for the camera/render.

At first the render came out with a light blue border over objects, and as I changed the "world bg" to black with the light path node, the render came out fine, without borders.

I hope this can be understood easily, im at work and typing this without thinking it too much


Number of markers in VSE? I'm wondering if there's a way to show the number of markers you have in a sequence in the blender VSE? Thanks

Run this code in the Text Editor:

import bpy

scene = bpy.context.scene
print("Number of markers: "+str(len(scene.timeline_markers)))

And in Menu > Window > Toggle System Console see the result.


Dynamic sky not showing up in Render After creating a sky from the in-built addon 'Dynamic Sky', the sky shows in the cycles viewport. But disappears when I render the image.
Using the Cyles Render with Cuda GPU compute.
The images are below for reference.

The issue resolved. There was a plane which I hid at the start of the project right behind the scenery and in front of the sky.


Animate A Change In Speed (Velocity Keyframes) In blender you can keyframe a parameter's value, but is possible to keyframe rate of change in that value (the speed). For example, animating a rotating wheel smoothly speeding up, staying at a constant speed, and then smoothly slowing down by keyframing 0 rpm then keyframing let's say 150 rpm, etc.

Seems like a basic thing. Can blender do this or are there any add-ons that do this?

Edit:

(I changed the question above to clarify)

I know how to do animations and change how it transition between keyframes. My question is about changing not the value itself, but the rate of change of that value. You could obviously do the example above by hand, but it would be a tedious and if you wanted to extend the time the wheel rotated for during the constant speed portion you would also need to change all the values after that. Additional note, I know there some add-ons to simplify animating a car, but I just need something just for rate of change.

You can also quickly access presets for the graph editor by pressing T on the keyboard. This will give you option like bounce, smooth slowing, and more!


Hide Object or Collection using Keyframe I have seen tutorials on the older Blender version to hide and unhide an object using keyframes.  I haven't been successful in 2.8.  I thought you could use collections to control this, but no luck.

I basically want to control the visibility of an object and various parts of the timeline.  What's the trick in 2.83.  Thanks

Hiding a collection

None of the hide properties of the collection are animatable. That is cannot drive or keyframe them.

Can however use a frame change handler to set.

Here is a trivial example that sets the visibility of all immediate children of the scene collection to un hide when frame is in on list, and hide when frame in off list.

import bpy

on = [1, 44, 66]
off = [10, 55, 77]

def frame_change(self):
    frame = int(self.frame_current)
    for c in self.collection.children:
        if frame in on:
            c.hide_render = c.hide_viewport = False
        elif frame in off:
            c.hide_render = c.hide_viewport = True

#bpy.app.handlers.frame_change_pre.clear()
bpy.app.handlers.frame_change_pre.append(frame_change)

Using a keyframed prop

Alternatively can give the scene a custom property. Make it an integer by giving it a value and default that is an integer.

In the graph editor make the extrapolation constant.

Now we have a keyframable switch to turn on off collection switches.

import bpy

def frame_change(self):
    frame = int(self.frame_current)
    print(frame, self["prop"])
    for c in self.collection.children:
        c.hide_viewport = c.hide_render = self["prop"]

#bpy.app.handlers.frame_change_pre.clear()
bpy.app.handlers.frame_change_pre.append(frame_change)

Uncommenting (removing hash #) from second last line cleans the previous handlers

See also

How can I exclude a collection from rendering with Python?

How to get all collections of the current scene?

disable all collections with python in blender 2.8

Sorting Collections Alphabetically in the Outliner


What's the fastest way to select every other vertex of an edge ring? What's the fastest way, without using Python, to select every other vertex of an edge ring with an even number of verts?

In edit mode with entire edge ring selected:

Select> Checker Deselect

This should deselect every other vertex.

You can then use the 'offset' value in the toolshelf if you want the other vertices in the edge ring selected.

No Offset:

Offset by 1:

Note: This works in edge and face mode too, deselecting alternate edges or faces to get a checkerboard selection.


With cycles, how do I render only highlights and only shadows and nothing else? I want to render a scene that only the shading and highlights including reflections is rendered in gray scale without rendering diffusion.
Would I be able to do such a thing?
Image example: The lower part shows where it is darker it's black and white where light hits it and gray where it's in the middle.
I just found the effect I'm looking to create here: https://developer.valvesoftware.com/wiki/Screen_Space_Ambient_Occlusion_(SSAO)

I'm not exactly sure about what features you need to highlight, and you might not like my solution because it will just tell "global" highlights from "global" shadows, instead of underlining "local" sharp changes in lighting (however, I think this is exactly what your example image is doing).

With that in mind, I think you can start with a very simple Compositing Nodes setup:

Take your RenderLayer input, and between it and the output, add a "RGB to BW" and a "ColorRamp" node.

Move the sliders around on the ColorRamp node to find your highlight/shadow range.


Moving in steps or smoothly, changing the default settings By default when you are grabbing part of a mesh you can move it around smoothly or you can press the Ctrl key to move it in steps.

Somehow I pressed something I wasn't supposed to and now it moves in steps normally and I have to keep Ctrl pressed to move selections around smoothly, how can I return to the default settings?

Sounds like you have turned snapping on.

Holding the Ctrl key toggles on snapping temporarily. I presume you have accidentally turned snapping on, meaning the Ctrl key will now toggle snapping off.

You can turn it off my clicking the magnet icon in the 3D header toolbar:

(The image shows snapping is turned on)


Interactive 3D Objects my question may sound too small.

I want to create or export the rendered object, for example a cube in such a format that, I will be able to interact or rotate it in the same manner I do it in the object mode in the blender.

Thanks in advance

You could have a look at Blend4Web WebGL solution. You may find it interesting. Using it you can make interactive 3d content that can be viewed in 3d in web browsers. You could bake a more complex lighting to textures using Cycles.