Volumetric scatter shader does not show light focused through lens correctly

It is working, it's just not visible (yet).
Try using the branched path tracer to sample more volume bounces per sample:

Switch to the Branched Path Tracing integrator
Set the number of volume samples to something large (you may also want to increase the samples for some of the other passes as well)
Set the number of Anti-Aliasing samples. These correspond to the number of initial samples cast from each pixel (See What is branched path tracing and how is it useful? for more detail)
Note the total number of samples per pass (21000 volume samples, and still not nearly enough!).

Here is your file rendered with the settings shown above (to get a better caustic on the diffuse plane, try increasing the number of diffuse samples a bit):


Something wrong with my rig. All scrunched up and missing faces?

If you are using Rigify, the addon uses some drivers to control the bones, and drivers use Python expressions to work. Auto run of Python scripts are disabled by default for security reasons, but you can allow blender to auto run scripts by changing your user preferences. To do this press Ctrl+Alt+U, then head over to File and enable Auto Run Python Scripts:


You could use vertex colors.

Or you could do the fading by hand, you'd need to make an object for each color (or duplicate the mesh) and then move the UVs on an alpha texuture so you get gradients where you want them.

Or of course you can use cycles:


newbie question: Move several bones with one control

Absolutely!

I would recommend using Action Constraints. Here's how I would do that, and it actually works really well.

Start by making an animation, with the rest pose on frame one, and the final pose on a later frame. Make the animation fairly long, say 100 frames or so. Add whatever keyframes you need so that the animation looks like you want.

Next, you'll need a control bone or object, something to that the end animator will interact with. This can be a bone on the same rig, or a separate object entirely.

Finally, you will need to add an Action Constraint to every bone that moves in the animation you made.

In the Action Constraint settings, select your rig and control bone (or just the object). Select the action that you made, and set the action range (frames) to whatever you used. For example, if the animation you made was 100 frames long, it would start on 1, and end on 100. For the target, choose whatever transform you want to use to control the rig at the end. If you want it to behave like a slider, choose one of the 3 location options. You'll probably want to switch to Local Space as well. Then choose the target range. This defines how far you need to move the control to drive the whole animation. If you think that moving the control one Blender unit is good, set the minimum to 0 and the maximum to 1. Note, when using Local Space, the minimum will always be 0.

Now, when you move the control on whatever axis you chose, you will be able to control the action that you made at the beginning. Add this constraint to all the bones that will need to move and you're done! There may be a way to automate this to make it faster if you have a lot of bones to apply this to, but I don't know how to do that.


Try linking the object, duplicate it, delete the linked object. The duplicated object has the uv maps of the original, but you can now modify them.


Animation advice please (sliding pipes with handles)

Shapekeys

Would consider using shapekeys for the handles.   With two shapekeys fully flexed and fully straight.

For example sake have made the rest of the mesh into shapekeys, however could use hooks or constraints to move cylinders, but what matters here is getting the handle flex.

To open close handle is now only a matter of adjusting flex shape value.

Model a curve in the shape of full flex out.  I've used a simple 2 point bezier here
For example sake add the default cube, adjust the dimensions to
better suit.
To this add an array modifier, set to fit the  curve, and then a
curve modifier using same.  May need to tweak the curve scale, and / or cube scale, slightly to make sure it's a nice fit, ie how the last one fits the curve

We now have the flexed strap.

Apply the array modifier, to make it one mesh instead of an array of
items, and then apply the curve modifier as a shapekey  You will
notice the base shapekey is a flat line made up of how many of our
unit items fit the curve.
In edit mode moved the strap up, then adding a mirror modifier on y (top view in examples)
axis will give two handles.
In edit mode with Basis shape key selected, Add the two cylinders,
and adjust there position to match there attached ends. Change to
bent shapekey and do same.

Very quickly mashed together result from default cube and cylinders only.

Locating the pins.

Before I consine file to the ether, added this re using flexible bands to locate other objects

To locate pins that go thru the start and end element of strap

Select top and bottom face of where the pin goes thru and create and assign a vertex group for each end.

Added a pin object (mirrored in y same as flex). A copy location constraint on the pin to the flex, to the vertex group locates it.  This can be exended for the pistons.


Object too dark after solidify from an SVG

When you imported your svg object, it automatically created a material with the color of your svg. Go in the Properties panel > Material panel and delete this material.


To assign the second material to the second UV map:
1: In Edit mode, UV Editor, enable UV Sync Selection.
2: Box select all the UV vertices at the lower left hand corner.
In the 3D Viewport all the vertices associated with the second UV map should now be selected.
4: Select the second material and Assign this selected geometry.
5: Change the Viewport shading to Material Preview.
When done don't forget to disable the Sync Selection option in the UV Editor.


The best way to do this at the moment is having an object (the shape itself or a plane with a shape texture) that follows the Character, and turns visible or invisible depending on the character selection state.
You should be able to do this even without coding, by using the visibility actuator logic brick.


It might be because of children tab settings:

Make sure values in display and Render are the same.

Same cube in 3D view and in Render


After importing a .SVG like this you see that it consists of many curves.

You can convert it with Alt-C Mesh from Curve...

After scaling and rotating all elements and relocating some parts you should have something like that:

Then it is up to you to:

Animate the tree segments with glitter balls parented by simply keyframe their rotation.
Join all to one mesh and add a shape keys to animate them (use proportional editing)
Creating a rig is also possible but would be kinda overkill


Will EEVEE eliminate the need for cycles and rendering?

No. EEVEE will not replace cycles.

If you want accurate renders, cycles will still be your renderer. Cycles is a ray tracer, so it simulates individual rays of light your scene.

EEVEE uses approximations on the behavior of light and will not be as accurate, however is much faster.

For some projects (such as low-poly renders or stylized works), EEVEE could replace cycles, but when it comes to photorealism, cycles will still be the champion.


A vertex can be in multiple vertex groups. I think that's why you groups look good but move like that : other associated vertex groups. You can see that in edit mode with the selected vertices in N panel, vertex weight with associated groups.

Here you can change weight or remove a group from the list of vertices associated groups


why is my mesh not moving correctly with weight paint mode?

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.


You can bake the motion to an empty and then edit the keyframes.

Add an empty.
Parent the empty to the vehicle and the camera to the empty.
Go to Object > Animation > Bake and simply check all the boxes, then press bake.
Now that the motion has been transfered onto the empty, open the graph editor and select the empty. You can edit the keyframes by selecting them and pressing ⎇ AltO to smooth them or move them to a later frame with GX >  LMB confirm


Blender python : where is bpy module located in windows 10

The bpy module is Blender itself. It's automatically available inside Blender because when it starts the Python interpreter it also registers itself as a Python module.

If you want to load bpy as a module outside of Blender, you'll have to recompile Blender yourself. The old Wiki has instructions on this. Basically, it's like a normal build of Blender, except you set those CMake config variables:

WITH_PYTHON_INSTALL=OFF
WITH_PLAYER=OFF
WITH_PYTHON_MODULE=ON


Jump/Scroll to selected object in the outliner?

You can use Numpad . while hovering over the outliner, just like in the 3D view.


Enviornment texture not acting as expected

switch to perspective view instead of orthographic view (Numpad-5)


Adding multiple colors to an object without assigning them

You can add as many material as you want and change the active material whenever you choose.

You click the + button next to the material name to create a new material.

You will want to make sure you click the F so that is highlighted, this creates a fake user that ensures the material is saved with the file. Normally unused materials will not get saved.


Can use shrinkwrap modifier and some transparency animation to do that:

We can keep the text as it is: just give it a little extrusion (text property panel), and convert it to mesh (menu "object/convert to") as we'll need a vertex group.
Then add a support sphere that is around the text. This sphere will not be rendered and is just here to be projected on.
Add a vertex group to the text and add it this modifiers:

Vertex weight proximity onto the geometry of the support sphere and using the vertex group. We'll animate "global influence" parameter from 0 to 1, so that the text vertex group progressively go to 1.
Subdivsion surface which helps to get rid of artifacts
Shrinkwrap to the support sphere, using the same vertex group and with the parameter shown above

The text shader is directly a color to get rid of normal issues (see blend file).
Now use a second sphere, which will be visible at the end, as its alpha/transparency is animated.
This sphere is itself projected on the text using another shrinkwrap modifier, with the following parameters:

This sphere is fully shaded (see blend file) and adds the color transition.


Scripting solution.

The parametric equations and code can be found here http://blog.marmakoide.org/?p=1

Used the points generated to create a point cloud mesh with vert normals pointing out, and a dupli vert object to display.

I couldn't work out the vert order to skin this properly, it  appears to follow a fibonacci like sequence with the vert order.

Here a 512 point with a cone and plane dupli, and a 32 pointer with a cube dupli.

import numpy
n = 512
golden_angle = numpy.pi * (3 - numpy.sqrt(5))
theta = golden_angle * numpy.arange(n)
z = numpy.linspace(1 - 1.0 / n, 1.0 / n - 1, n)
#z = numpy.zeros(n)
radius = numpy.sqrt(1 - z * z)

points = numpy.zeros((n, 3))
points[:,0] = radius * numpy.cos(theta)
points[:,1] = radius * numpy.sin(theta)
points[:,2] = z

import bpy
import bmesh
from math import radians
context = bpy.context
scene = context.scene

bm = bmesh.new()

meshdata = bpy.data.meshes.new("goldie")
verts = [bm.verts.new(p) for p in points]
"make vert normals point out"
for v in verts:
    v.normal = -v.co.normalized()
#bmesh.ops.convex_hull(bm, input=verts)
bm.to_mesh(meshdata)
goldie = bpy.data.objects.new("goldie", meshdata)
scene.objects.link(goldie)
scene.objects.active = goldie
goldie.select = True
#make a dupe
bpy.ops.mesh.primitive_cone_add(location=(0,0,0))
plane = scene.objects.active
#plane.hide = True
plane.scale *= 32 / n
plane.rotation_euler = (radians(90), 0, 0)
bpy.ops.object.transform_apply(scale=True, rotation=True)
plane.parent = goldie
goldie.dupli_type = 'VERTS'
goldie.use_dupli_vertices_rotation = True

From a previous Loxodrome post

The vert order makes it easier to skin.  Change values for spirals, revs and ang to create differing meshes.

Skinned loxodromes using varying parameters.

import bpy

from mathutils import Vector
from math import radians, sin, cos, tan, sqrt, floor

context = bpy.context

def loxodrome_points(spirals, revs, angle_step=10):
    a = 1 / spirals
    degs = floor(360 * revs / 2)
    segs = [radians(d) for d in range(-degs, degs, angle_step)]
    points = []
    for t in segs:
        den = sqrt(1 + a * a * t * t)
        x = cos(t) / den
        y = sin(t) / den
        z = - a * t / den
        l = Vector((x, y, z))
        points.append(l)
    return points

ang = 20
spirals = 16
revs = 100
points = loxodrome_points(spirals, revs, angle_step=ang)
# quick n dirty
lazy = 360 // ang

import bmesh
bm = bmesh.new()

loxodata = bpy.data.meshes.new("loxo")
verts = [bm.verts.new(p) for p in points]
faces = [[i, i+1, i+lazy, i+lazy-1] for i in range(len(points)-lazy-1)]
for f in faces:
    bm.faces.new([verts[i] for i in f])
bm.to_mesh(loxodata)
loxodrome = bpy.data.objects.new("Loxodrome", loxodata)
context.scene.objects.link(loxodrome)


Motion tracking will not work on a still image you need some difference in a sequence of images called parallax for blender to re-create 3D information. For still images you have a couple of choices:

1- Use the image you want to match as a background image and then try to match the perspective manually. Set the viewport to camera view Numpad 0, then lock camera to view and position the camera. The grid may be very helpful to visualize the ground should be.

The tricky part here is trying to match the lens used for the original image.

For more details read: How do I align my grid to background footage?

2- Use an addon like Blam.

From the Blam users manual:

  BLAM is a camera calibration add-on for Blender and is meant to facilitate modeling based on photos or synthetic images rendered with a perspective projection camera.

Blam uses the grease pencil to help you determine and match the perspective of an image and match a blender scene to it.

UPDATE: Blam is no longer mantained and has been replaced by fspy:

https://fspy.io/

Read: How can I recreate geometry using a photograph?


Riggifying. How to make the arms and fingers bend with the armature?

It's hard to tell without the file.
here couple of points to consider:
Activate normalize in options
go through the vertex groups to verify that unrelated bones don't influence the given region. Ex. fingers on the upper arm.
If yes, then subtract it.
In case you didn't try watching - enter link description here
DanPro tutorials are brilliant and provide useful tips.
Remember also that the hand is a very complex mechanism, not only 3D, real hands are not intuitive organs, it's one of hardest parts of rigging.


How can I edit two materials simultaneously?

The windows sync with the selection you do. However if you want to retain a specific selection, just use the little pin icon, in the upper right handside of the shader editor to keep the tree "pinned". The second one will still update if not using the pin.
Release the pin to go back to the active selection


How to zoom in on off-center points with MacBook Pro mousepad?

Try setting the Zoom To Mouse Setting as shown below:


So I found another way to approach this. Using the particle system in blender and using the hair type, I just sampled a granule that I made quickly and emitted it over an object which would have the same shape of the granule inside the bottle.

As you can see in the image, this seem like a decent approach, I still have to play around with the settings and the texture of the granule but i think it will get the job done nicely :)


Blender doesn't support gpus on Mac, I own a Macbook with Radeon 555x gpu and i7 - 9750H, and it can't render on gpu


In the export dialog, not only uncheck Triangulate but also Preserve edge orientation. This option is here to avoid issue on non-quads i think.


How to change alpha for background image (camera) with python?

Python console
Given the tooltip, and the property being in 'DATA' panel can see that the property belongs to the data part of the camera.
I find autocomplete in the console handy for working these things out.
The data part of the scene camera (it's also the active object C.object.  In console C is a shortcut for bpy.context (see startup message).
>>> C.scene.camera
bpy.data.objects['Camera']

>>> cam = C.scene.camera.data
>>> cam
bpy.data.cameras['Camera']

Ok, if you autocomplete on cam.<TAB> will notice that it has a background_images property...  Ok it's a collection
Here I've looped over the collection and displayed the alpha and its attached image.
>>> for img in cam.background_images:
...     img.alpha, img.image
...
(0.5, bpy.data.images['1b.jpg'])

Set first in list to alpha 1
>>> cam.background_images[0].alpha = 1


Want to add particle systems to areas of object intersection

During the creation of Sintel the "Grease Scatter Objects" addon was created and is included in every blender release since, you just need to enable it. You can watch a video of it in use with some more explanation and download an example blend if you wish.

create a variety of objects you want to scatter
add them all to the same group ⎈ CtrlG
draw some grease pencil strokes on your ground. Ensure your stroke is attached to the object surface not the scene.

select your ground mesh
select Add->Mesh->Grease Pencil Scatter and fill in your group name.


How do I force objects to follow another object?

Hmmmmmm. Can't manipulate the model at. Try making a base mesh that fits the models shape, parent THAT to the model, add the watch and ring to that base mesh.  Delete the mesh but keep the accessories. This should. .."SHOULD" fix the axis problem as if the base is positioned properly, the watch and ring should inherit is rotation, scale and all that jazz from the mesh when you delete it but keep the watch and ring "IN" the initial mesh object.


Give this a try in the cycles node editor and see if it works for you.

This was taken from the following forum which should give you some assistance

Blend Artist Glass


Moving the point along projection of the edge

If I've understood you correctly, a quite fast way to this move is:

Set your Pivot to 'Active Element'
Select your moving vertex, and then your static vertex, so static is active.
use S, ShiftZ to scale the moving vertex to the static vertex in XY.

But a better way (among many) to retopologize, if that's what you are doing,  would be to construct your low-poly mesh edges in plan view, in a plane above the terrain, without regard to the height of the vertices.
Then when you are happy with the XY form, from top orthographic, set Snap to 'Face' and 'Project Individual Elements', and hit G. The entire low-poly surface will then snap down, conforming to the high-poly mesh below.


Cycles: Trying to bake all materials to one image, but it creates an image for each material?

I've solved my own issue. In Cycles, you must create a floating (not connected) Image Texture node and select it FOR EACH MATERIAL. I was creating a new material, not doing this for every existing one. Doh -- thanks!


Any idea how to get the location and bounds of object in the image?

You can do this by analyzing each isolated object in the compositor after rendering, via an object ID mask.

The compositor gives you access to the pixels of the viewer node, which can be manipulated quickly in Numpy.

Blendfile here

This is the rendered image:

I gave each of the objects a different pass index, so we generate a mask that isolates each in turn with the ID mask node.

By changing the index in the ID mask node you can iterate between the objects. Here's object 1's mask:

Now, to get the bounding box coordinates all you need to do is run this script (partially based on this nice method for producing a bounding box):

import bpy
import numpy as np

S = bpy.context.scene
width  = int( S.render.resolution_x * S.render.resolution_percentage / 100 )
height = int( S.render.resolution_y * S.render.resolution_percentage / 100 )
depth  = 4

pixels = np.array( bpy.data.images['Viewer Node'].pixels[:] ).reshape( [height, width, depth] )

# Keep only one value for each pixel (white pixels have 1 in all RGBA channels anyway), thus converting the image to black and white
pixels = np.array( [ [ pixel[0] for pixel in row ] for row in pixels ] )

bbox = np.argwhere( pixels )
(ystart, xstart), (ystop, xstop) = bbox.min(0), bbox.max(0) + 1

Output I got for this image:

>>> ystart
157

>>> xstart
273

>>> ystop
380

>>> xstop
398


Trying to make text float, before a wrecking ball wrecks it

I would recommend the following workflow for achieving the desired results:

Choose enable deactivation then start deactivated for your text objects. Also, ensure they are set to dynamic in your rigid body settings.
For your "wrecking ball", it needs to be set to animated as well as dynamic. Also, increase the mass of this object sufficiently.

Now, at frame one, keyframe the starting point for your wrecking ball
object, then move along the timeline to your end point, and set a
location keyframe for your wrecking ball again.

Because start deactivated is enabled on your text objects, the rigid body collision does not take effect until an active object collides with it. After following these steps, you should be able to come up with something like this.

Also note that by changing the shape of your text objects collision you can find some interesting results. For my example, I ultimately chose to use box for my text instead of the default convex hull.


You may try to reassign the CTRL+R hotkey combination to other hotkey combination
Go to Blender user preferences > Input > search for rotation > and reassign to whatever key combination you want


Keyframe seconds doesnt fit the animation

Snap keyframes to frames
Imported animation seems to be scaled down in time, three keyframes in frame is not usual. So original was probably designed for higher FPS (frame per second).
First you need to scale keyframes up, but by default blender use Snap to Nearest Frame, that cause in your case deleting (merging) all keyframes in between frames.

To avoid that, change to No Auto-Snap

In Pose mode select all bones. Go to Dope Sheet, select all keyframes and scale S them up with Current frame at zero, in your case scale to 3.482 seems to fit most of the keyframes on frame position. (Hard to say why they are not set precisely.)

Now you can switch Snap to Nearest Frame back and with all selected press G to move, but you dont really want to move, just move a bit so keyframes jump on frame positions and hit enter. Now you should have all keyframes aligned to frames.

Run cycle duration 0.76666s
Your import in length of 19 frames fits approximately to 25 fps. If you want to scale keyframes to fit frames you would have to increase FPS (frame per second).
Scaling keyframes per frame gives 65 frames with first keyframe on frame 1 (that is common start for blender). Last keyframe generates jump in motion, so I delete them. Since you know you have like 64 frames that should takes 0.766666s you should change fps to (64/76.6666%*100%) 84 fps. I dont know if there are some standards for game cycles, but I expected 60 or 120 so it is a bit weird.

Note:
BTW I don't have any shake even with your blend. So if you are OK to keep 24 fps with just 19 frames that with merged all keyframes in between - just select all bones in pose mode and press G to move a bit with mouse over Dope Sheet and release, keyframes jumps to frame position.


Linking movies in VSE but not graphically altering them?

The VSE is non-destructivee for any movie file you link into it. Just make sure that rendering outputs to a unique file name (otherwise it could overwrite an existing file and still be destructive to that particular file).


In an add-on, receive the path to the file Blender was opened with or its launch arguments?

bpy.context.blend_data.filepath - full path and name of opened .blend file. I doubt there is something for imported files, because they are "adding" to scene, not "opening"

For other arguments you can use standard recipe:

import sys
for arg in sys.argv:
    print(arg)


Weird outline around brush strokes in texture paint

The outline is caused by the Mix node not being exact enough because it is a low resolution, try creating an alpha layer with a resolution like 2048*2048 or 4096*4096, this should fix the problem.


You are close to the solution, you merge the vertices at each end of an edge to remove the duplicate edges.

If you look closely at your first screenshot, the two edges don't line up exactly. when you use Remove Doubles, it has an option defining how much distance between two vertices is considered a duplicate vertex. The default is 0.0001 - which means really close together. You can press F6 to adjust the value, but too big a value will start merging vertices you don't want merged. Only the current selection is considered when removing doubles, so check that you have edges using the duplicate vertices selected.

When vertices are further apart it is better to manually either move them together, or merge them.

Blender has transform snapping settings that lets you easily snap vertices/etc to other items. Set the snap element to vertex and either enable snapping or hold ⎈ Ctrl when you want to use it, and as you move the cursor close to a vertex it will snap and draw a circle around the vertex it is snapping to. After moving with snapping enabled you should find the remove doubles working without adjustment. There is also an auto merge option that will merge vertices as you snap them together.

You can also manually merge specific vertices by selecting both and pressing ⎇ AltM->At Centre - Note that in edge select mode, using merge at centre will collapse the selected edges to a vertex in the centre of the edge, not just merge the vertices at each end.


You can select all the bottom vertices and H hide them, then select your starting point and expand the selection as desired. When the selection is maden you should save it to a vertex group because when you unhide (alt H) the rest of the mesh, the previousely hidden vertices will be added to the current selection.


well, because cycles is a bit different to add a texture you should do this - first  click on use nodes in the materials tab. Then click on the dot next to color and then select "image texture". Now click on the drop down menu below the "image texture" on the left, it should have your img file.Cycles by default uses uv's so it should look fine


Cannot delete paint brush nor texture in texture slots

First, Shift click on the X button:

Then, in the Outliner, select Display Mode > Orphan Data, press the Purge button or select the brush with a 0 and right click > Delete.

There might be another way but I don't know it...


Set your coordinates to object.

And make sure that you apply the scale to your object.

(⎈ Ctrl + A in Object mode)

read:

Non-Uniform Scaling during UV unwrap. What is this?

and

Why is it important to apply transformation to an objects data?

and

Why do the measurements of this object seem erroneous?


How to bridge two faces (loop edges) which have diffrent number of vertex

I suggest different approach.

add plane, shape it , subdivide than extrude with z presed
than with just top loop selected (extruded edge)
go->mesh->transfor>to sphere

remember! extrude edge not whole plane!


Here is my node setup for a light bulb, I hope it helps. It worked well for my scene.
You can use this for the bulb only, if you want, or you can keep the emmission sphere, and use the glass settings.


You are using an older version of blender that pre-dates 2.82

The new cloth simulator you are looking for comes with blender 2.82 and higher


Shadow Catcher makes background objects invisible

The way the Shadow Catcher works is, that it will catch the appearance of the shadow in the Alpha channel only. The RGB pixels of the Shadow catching object will always be black.

In your scene you're adding your reference image to the scene as a mesh plane in the background. The way you've setup your render layers unfortunately means that you're rendering that background mesh plane into the same render layer as the foreground objects. Now there's a shadow catching object in the front of it, and it - as stated above - does not consider whatever is behind it. It just returns "transparent pixels" (i.e. Alpha at zero) wherever there's no shadow to catch.

To fix it, first move your background image to a different layer, so you can have control over it. At the moment the BG plane is on the first layer, as you can see:

I moved it to the layer below (layer 11). Next, setup your render layer in a way that layer 11 is not being rendered at all (take a look on the right hand side, Layer section. There is Scene layers on the left, and the Layers to be included in this Renderlayer on the right):

The composition should work out of the box, though the needed footage was not included in the upload you gave, so I couldn't test it.

Here's the .blend file to experiment with:


How do I switch low with highpoly models?

I don't know how it was done in the Conference video, but this can be achieved using Blenders handler functions. Handler functions are Python functions which you can hook up to events happening in Blender. You can find a list of them when calling Auto Complete from the Blender Python console using this:

bpy.app.handlers.

and then press Ctrl+Spacebar. In this case I will use render_pre and render_post. A simple script showing what you want in action would be this (paste the Code into a text Editor and run it):

import bpy

def switchGroups(_LowDetailName, _highDetailName):
    for _o in bpy.data.objects:
        if _o.type == 'EMPTY':
            if _o.dupli_group.name == _LowDetailName:
                _o.dupli_group = bpy.data.groups[_highDetailName]

bpy.app.handlers.render_pre.clear()
bpy.app.handlers.render_post.clear()

bpy.app.handlers.render_pre.append(lambda x: switchGroups('Cube', 'Dragon'))
bpy.app.handlers.render_post.append(lambda x: switchGroups('Dragon', 'Cube'))

In this example I replace a group which is visible in the ViewPort named 'Cube' with a group called 'Dragon' at the time Blender initializes a final rendering using F12. To adapt it to your situation, replace the names of the last two lines with whatever group you want to replace. To make this work more efficiently, coding an Addon with replacement lists would definitely be a solution, but it is out of scope for this answer  :)


Can you export stl file from one object in one layer?

When exporting from File > Export > STL in the file browser tool shelf, in the bottom right tick the option Selection Only.

This will export you current selection though, I don't think there is a direct way to export current layer only, but you can easily select all visible objects if you turn off other layers so it should suffice.

You may need to be in object mode for this to work though


@Aky-her, you write that you have "tried a bunch of tutorials"; if this one on youtube was not one you tried, it looks to me like the first four steps discussed here would be worth watching, and the fifth step on lighting if this is a display model, as opposed to use in a game. I suspect that if it is for use in a game, the lighting of an aircraft will be dependent upon the Game Engine you are making to model for use in.

But you also write that your model is 50 meters high; that suggests to me based upon the screenshot you provide with the answer that the length is on the order of magnitude of 200 to 300 meters, and that the wingspan is 250 to 300 meters. This would require a really, really large piece of metal to make it all from the same texture!!! Other vehicles on the same order of magnitude are some of the ultra-large cargo ships, like the Malaccamax and Chinamax sizes. But these ships are not made from a single piece of metal; they are fabricated from many much smaller elements, so a repeating texture might not be such a bad thing, in this case. If it were me, I'd suggest finding a number of textures, perhaps 12 or more, and use those at random to texture smaller parts of your object. These not be 12 separate textures; rather you might use a texture that is larger than what you intend to use, and map different elements of your model to different parts of the texture. Thus gives the model an overall visual cohesion, but still reduces the appearance that you are using multiple exact copies of the same texture.

In fact, I would suggest that using a very large texture that would be convincing, would be unconvincing in the long run, because viewers would expect to see some repetition in any very large object.


Blender doesn't open after Windows 10 creators update

I also had the same problem. I updated my drivers and went into the blender folder that's under the program files folder and just clicked on that application. Now it works again.

Hope this helped :)


Changing settings of the 3D view with Python

show_only_render and viewport_shade are attributes of the SpaceView3D. So for your usage example you'd make the following change:

-      if area.type == 'SpaceView3D' :
-        show_only_render = True
-        viewport_shade = 'SOLID'
+        area.spaces[0].show_only_render = True
+        area.spaces[0].viewport_shade = 'SOLID'


The solution is to manually move the curves over each other so that they give the appearance of overlapping. Curves in Blender do not automatically overlap, so you must do this yourself.
Simply move the curves over each other in edit mode until you get the desired result.
Setting tolerance does not automatically overlap the curves.


Is it possible to transform mesh animation (Shape Keys) into group of object (like primitives)?

Luckily yes!
Activate the "Oscurart Tool" in the User Preferences under Add-ons / Categories-Object (and save the User Preferences, if you want to keep it activated). The Oscurart Tools Tab then shows up in the Toolbox. Select the Object (with shapes).
Open the Oscurart Tab, select Shapes and in the Shapes Tools Tab "Shapes To Objects".
That should do it for you.


Bugs with Animation of tank. Blender 2.83 stl

So after 8th day of researching .. i found really interesting Bug...
It was made in Blender 2.9.1
https://youtu.be/vxjTQ7TOz1E Bug with constraints and parent objects


Figured it out. The composition checkbox and the sequencer check box should not be checked. You can find these checkboxes in the properties panel under render under post processing.

Make sure these aren't checked and it should work.


i am stuck on how to weight paint my human character using the rigify add-on

The metarig is only used to lay out the bones on the mesh. I recommend a tutorial if you're not familiar with Rigify.
Place the character model so that it stands on the "ground" (soles of the feet at z=0). Make sure you have applied All Transformations (scale, location, rotation) to the mesh with Ctrl+A (in Object mode) before you start. The bones of the elbows and knees should be bent slightly.
When you're happy with the layout, apply All Transformations to the metarig, then press the Generate Rig button. You can use this button more than once. Rigify can override the generated rig. See section button Advanced Options.
The Generate Rig button creates the actual rig. It's just named "rig" and has all the control bones and deform bones (layer 30) on different layers.
After you have created the generated rig you can parent it to the mesh with Automatic Weights and test it in Pose mode.
There might be some issues that need to be fixed.

The fingers might need some corrections. To make the fingers "grab" you need to scale the red handle. If it doesn't work proper have a look here: Rigify finger controls rotation not moving correctly

The eye lids you might have to weight paint manually. And you need to parent the eyeballs to a bone of the rig to make them follow the control. Video: Fixing the Metarig - The SECRETS of RIGIFY: Part 3 and Weight Painting - The SECRETS of RIGIFY: Part 4! - [Blender 2.8]

The teeth and tongue might need some weight painting


How to change color only of selected objects in a matrix?

You can use the List Boolean Operations node to removed the selected objects from your object list as follows:


While you can't change the default behaviour when creating the objects, you can use a simple script to update them to change the characters and run it when required.
Open a Text Editor window (or select the Scripting layout tab), create a New text block and paste the following :
import bpy

for obj in bpy.data.objects:
    obj.name = obj.name.replace(".","_")

If you now click the 'Run Script' button (a triangular "play" button in the header) the script will run and will run through all the objects in your scene and change any '.' to'_'.
The first line makes the 'bpy' package available ('bpy' is a package to interact with the Blender components via Python).
bpy.data.objects is a collection of objects present in your scene and the 'for' statement cycles through them (naming each as 'obj' in this case).
The final line does the work of setting the object's name to the object's name with all of the dots replaced with underscores.


You need to set the inflow's velocity to be positive in the Z direction. This will force the inflow's fluid up, giving you the fountain effect. Here is a bit about an example I quickly put together.

(click on the images to see a larger version)

Inflow settings (just a simple cube):

Domain settings:

Outflow plane below the fountain to "kill" all water than falls below. This is like a vacuum to "suck up" the water.

The fountain model itself is just a simple fluid obstacle.


Why can't I get the camera view like in the tutorial?

The clipping distance for the camera is probably too short. With the Camera selected, go to the Camera tab and adjust the End parameter to something more appropriate for the scale of the scene.

After you've done that, you can play with the position, focal length, and sensor size to get the look you're going for.


Isnt any solution to move the 3d cursor and origin to pivot?

You can position the 3D cursor by hitting or holding Shift and right mouse button in the 3D view, the 3d cursor coordinates are located on the view side panel of the 3D veiw and hitting shift + S will bring up a menu with other 3D cursor options. If you want to make an objects origin point the 3D cursors position just right mouse click in 3D view and go to "Set Origin" also Shift + C will reposition the 3D cursor back to the worlds center.


Rotate current selection of Objects .. Each object with a different Random Rotation ... Is this built into Blender?

You can do this using proportional edit mode.
If you have some objects in a scene that is already built and you need to do this operation without affecting anything else, first select your objects.

Press / to enter local view.  This will isolate these objects.

Change your tool settings to operate on individual origins, and set proportional edit to random.

You can now select one object and rotate it, with a large enough proportional edit strength, you will begin rotating each object a proportional amount to the rotation of the one you've selected.

Press / again to return to normal view.


I want to make a spiral in a sphere shape that has endpoints which are close together

Destructively: apply all modifiers and scale in one of the object's axes.  (Alt c convert to->mesh is a quick way to apply all modifiers.)
Non-destructively 1: Create an empty at the center of your sphere.  Designate this empty as the "object" for your Cast modifier.  Check "Use transform" on the modifier.  Scale this empty in one of its axes.
Non-destructively 2: create a single bone armature, weight your vertex (lol) to the bone, and use an armature modifier.  While armatures are typically thought of as animation tools, they can easily be used as modelling tools to create non-destructive, arbitrary transformations.  (Animation is just modelling over time, after all.)
Destructive (left) vs non-destructive 2 (right):

In that pic, I've placed the armature modifier above the solidify modifier, which keeps your proportions nicer than the leftmost cube (demoing the destructive option above, although you can be slightly less destructive to achieve the same mesh as on the right.)


When I recalculate Bone Roll in Edit Mode the recalculation doesn't transfer over to pose mode

Its because you use IKs. They are only calculated in Pose Mode. If you are using IKs its really important that your Bones that are affected are not in a straight line, else the algorithm will not know in which direction to bend. Also in the IK settings there is a Pole Angle with which you can experiment after you created that bend. To create that bend I recommend to move the knee connection almost to the skin, that will help later with deformation


Animating, exporting from multiple angles

After some searching I have found the answer myself, and I would like to leave it here for others.

Under the F-curves select the animation and just add a Make Cyclic Modifier by pressing Shift+E. This works just like the loopOut() script in After Effects.


Is it possible to create a script or shortcut for the UV-editor "save as image" in 3d view?

On the UV/Image editor you can Save as Image pressing F3.

In the 3D viewport (or any other part of the interface) press CtrlF3 will allow you to save an image (or screen grab).

You can then choose to save the whole interface (Full Screen) or just the active window.


Rigify - restart/reset to initial/default state

At this point, I don't think you can restore the initial state for these values. There no defaults for these.
If you're starting anew you could set a keyframe for all values at frame 0 or something. Then if you delete all keyframes at frame 0 you'll have the defaults.


Is there any way to fix outline object from others game?

The closest way I can think of is to use freestyle shading.  In the render tab, turn on freestyle.  You can then tweak the freestyle settings to make it look as similar as possible.  The settings I found useful are to set freestyle line set to visibility and edge types.  Select logical AND and only check silhouette.  Under freestyle line style, turn the thickness really high up and under texture, turn on use nodes and open textures properties.  Load the texture from the game.  From there you'll have to play with the settings, especially the vector.  One last note, you have to render the image every time you want to see a change because it is just post process.  Also, set the material for the object as pure black and zing, you got something similar.


How to fix rotational constraint 'jumping' in rotation problem

To get an object rotating at a constant rate you need to set two keyframes to define the speed of rotation then set the keyframe interpolation type to linear and the channels extrapolation mode to linear. This gives a constant rotation without speed variation.

To get another gear rotating in time with the main gear it is easy to setup a Transformation constraint. This constraint allows you to copy a rotation proportionally.

Here I have the source rotating -120 and the destination rotating 360. The key to having it rotate continuously is to tick the extrapolate check box.


There are two options that you could try.

The Factory Startup

The first would be to start Blender from command line with the --factory-startup which should prevent the broken add-on to be activated on startup.

Open the Windows Explorer Win+E
Navigate to the installation directory of Blender 2.8. You should see the blender.exe in the folder.
Type cmd in the path field and press enter. The command line prompt should open.
Type .\blender.exe --factory-startup on the command line and press enter

Blender should now start with the factory settings and you should be able to open the add-ons section of the preferences. Find the broken add-on in the list, open the detail section and click on the Remove button.

Manually Removing an Add-on

You should only use this approach if the first one didn't work, either because the add-ons are still not listed or there is no remove button for the add-on. If the former occurred, please report this on Blender's bug tracker (Help > Report a Bug). The latter will happen if you manually copied the add-on files to the add-ons directory instead of installing it through the UI.

If you know what files have been installed with the add-on you can remove them manually. Do not remove any files if you're not 100% certain that they are part of the problematic add-on. The add-on should be installed in one of the following subfolders in Blender's installation directory:

\2.80\scripts\addons
\2.80\scripts\addons_contrib

You can simply delete the broken add-on files and it should be working again.


Blender does not recognize Alembic file from Houdini

blender does not see .abc files from houdini, so in houdini you have to put the name of your project when exporting and after the name type .abc as the name


What are "Leaf" bones? (Collada import question)

I'm not versed in armatures or rigging, nor an expert in that matter, but a little Google research yielded some results about it.

From the Makehuman bug tracker we can learn that apparently most applications and file formats don't store bone length information. This is normally not an issue, since bone length is rarely a needed information. In most cases it can be extrapolated from child bones.

A bone normally extends from its head until it's child's head, length is implicit and can be calculated from the distance between these two points.

It can however represent an issue for end bones, on the extremities of the armature, where no child bones are present.

On such cases an extra fake dummy bone can be created exclusively to represent the end of its parent, and no other function of its own.

These loose bones at the end of an armature are then called "Leaf Bones" by analogy of a tree leaf, I assume.


Iterate with python on vertices created by subdividing an edge

Use bmesh

To keep tabs on mesh elements recommend using bmesh

Most mesh operators have their bmesh equivalent.

In this case bmesh.ops.subdivide_edges

The bonus of bmesh operators is they return new geometry.

Test method, 1 cut subdivide on all edges.

import bpy
import bmesh

context = bpy.context

ob = context.object
me = ob.data

bm = bmesh.new()
bm.from_mesh(me)

print(me.name)
print("Before subd")

for e in bm.faces[:] + bm.edges[:] + bm.verts[:]:
    print(e)

ret = bmesh.ops.subdivide_edges(bm,
        edges=bm.edges,
        cuts=1,
        use_grid_fill=True)

for k, v in ret.items():
    print(k)
    for e in v:
        print(e)

bm.to_mesh(me)
me.update()

Result of running on default "Plane" mesh

Before (left) 1 face 4 edges 4 verts and after 4 faces, 12 edges and 9 verts.

Plane.001
Before subd
<BMFace(0x7f3c16a24010), index=0, totverts=4>
<BMEdge(0x7f3c127b3010), index=0, verts=(0x7f3c1232f080/2, 0x7f3c1232f010/0)>
<BMEdge(0x7f3c127b3060), index=1, verts=(0x7f3c1232f010/0, 0x7f3c1232f048/1)>
<BMEdge(0x7f3c127b30b0), index=2, verts=(0x7f3c1232f048/1, 0x7f3c1232f0b8/3)>
<BMEdge(0x7f3c127b3100), index=3, verts=(0x7f3c1232f0b8/3, 0x7f3c1232f080/2)>
<BMVert(0x7f3c1232f010), index=0>
<BMVert(0x7f3c1232f048), index=1>
<BMVert(0x7f3c1232f080), index=2>
<BMVert(0x7f3c1232f0b8), index=3>
geom_inner
<BMVert(0x7f3c1232f0f0), index=4>
<BMVert(0x7f3c1232f128), index=5>
<BMVert(0x7f3c1232f160), index=6>
<BMVert(0x7f3c1232f198), index=7>
<BMVert(0x7f3c1232f1d0), index=8>
<BMEdge(0x7f3c127b3290), index=8, verts=(0x7f3c1232f1d0/8, 0x7f3c1232f198/7)>
<BMEdge(0x7f3c127b32e0), index=9, verts=(0x7f3c1232f128/5, 0x7f3c1232f1d0/8)>
<BMEdge(0x7f3c127b3330), index=10, verts=(0x7f3c1232f1d0/8, 0x7f3c1232f0f0/4)>
<BMEdge(0x7f3c127b3380), index=11, verts=(0x7f3c1232f160/6, 0x7f3c1232f1d0/8)>
<BMFace(0x7f3c16a24048), index=1, totverts=4>
<BMFace(0x7f3c16a24080), index=2, totverts=4>
<BMFace(0x7f3c16a240b8), index=3, totverts=4>
geom_split
<BMVert(0x7f3c1232f0f0), index=4>
<BMVert(0x7f3c1232f128), index=5>
<BMVert(0x7f3c1232f160), index=6>
<BMVert(0x7f3c1232f198), index=7>
<BMEdge(0x7f3c127b3010), index=0, verts=(0x7f3c1232f0f0/4, 0x7f3c1232f010/0)>
<BMEdge(0x7f3c127b3060), index=1, verts=(0x7f3c1232f128/5, 0x7f3c1232f048/1)>
<BMEdge(0x7f3c127b30b0), index=2, verts=(0x7f3c1232f160/6, 0x7f3c1232f0b8/3)>
<BMEdge(0x7f3c127b3100), index=3, verts=(0x7f3c1232f198/7, 0x7f3c1232f080/2)>
<BMEdge(0x7f3c127b3150), index=4, verts=(0x7f3c1232f080/2, 0x7f3c1232f0f0/4)>
<BMEdge(0x7f3c127b31a0), index=5, verts=(0x7f3c1232f010/0, 0x7f3c1232f128/5)>
<BMEdge(0x7f3c127b31f0), index=6, verts=(0x7f3c1232f048/1, 0x7f3c1232f160/6)>
<BMEdge(0x7f3c127b3240), index=7, verts=(0x7f3c1232f0b8/3, 0x7f3c1232f198/7)>
geom
<BMVert(0x7f3c1232f0f0), index=4>
<BMVert(0x7f3c1232f128), index=5>
<BMVert(0x7f3c1232f160), index=6>
<BMVert(0x7f3c1232f198), index=7>
<BMVert(0x7f3c1232f1d0), index=8>
<BMEdge(0x7f3c127b3010), index=0, verts=(0x7f3c1232f0f0/4, 0x7f3c1232f010/0)>
<BMEdge(0x7f3c127b3060), index=1, verts=(0x7f3c1232f128/5, 0x7f3c1232f048/1)>
<BMEdge(0x7f3c127b30b0), index=2, verts=(0x7f3c1232f160/6, 0x7f3c1232f0b8/3)>
<BMEdge(0x7f3c127b3100), index=3, verts=(0x7f3c1232f198/7, 0x7f3c1232f080/2)>
<BMEdge(0x7f3c127b3150), index=4, verts=(0x7f3c1232f080/2, 0x7f3c1232f0f0/4)>
<BMEdge(0x7f3c127b31a0), index=5, verts=(0x7f3c1232f010/0, 0x7f3c1232f128/5)>
<BMEdge(0x7f3c127b31f0), index=6, verts=(0x7f3c1232f048/1, 0x7f3c1232f160/6)>
<BMEdge(0x7f3c127b3240), index=7, verts=(0x7f3c1232f0b8/3, 0x7f3c1232f198/7)>
<BMEdge(0x7f3c127b3290), index=8, verts=(0x7f3c1232f1d0/8, 0x7f3c1232f198/7)>
<BMEdge(0x7f3c127b32e0), index=9, verts=(0x7f3c1232f128/5, 0x7f3c1232f1d0/8)>
<BMEdge(0x7f3c127b3330), index=10, verts=(0x7f3c1232f1d0/8, 0x7f3c1232f0f0/4)>
<BMEdge(0x7f3c127b3380), index=11, verts=(0x7f3c1232f160/6, 0x7f3c1232f1d0/8)>
<BMFace(0x7f3c16a24010), index=0, totverts=4>
<BMFace(0x7f3c16a24048), index=1, totverts=4>
<BMFace(0x7f3c16a24080), index=2, totverts=4>
<BMFace(0x7f3c16a240b8), index=3, totverts=4>

The only 4 elements to survive unscathed from the operator are the original four corner verts.  They appear not in the return geometry.  All other geom has been altered in some way and is spread across the three options geom_inner, geom_split, geom.  I leave it to you to decipher what each is.

  look nice but how do I extract the initial edge I want to work on?
  everything seems selected when i iterate on bm.edges.

Yes, bm.edges is all edges in the bmesh. Can feed any subset list of edges into operator.

Another example, run in edit mode, make sure you are in edge select mode, have an active edge selected.

If so, Makes 5 cuts in edge, loops thru and prints return geometry as above.

import bpy
import bmesh

context = bpy.context

ob = context.edit_object
me = ob.data

bm = bmesh.from_edit_mesh(me)
# selected edges
selected_edges = [e for e in bm.edges if e.select]
# active edge (from active selection)
active_edge = bm.select_history.active
# make sure active element is edge
assert(isinstance(active_edge, bmesh.types.BMEdge))

ret = bmesh.ops.subdivide_edges(bm,
        edges=[active_edge],
        cuts=5,
        )

for k, v in ret.items():
    print(k)
    for e in v:
        #e.select = True
        print(e)

bmesh.update_edit_mesh(me)


Scale and Bias BAN, Blender Animation Nodes

We see your your nodes depicted in your question. Merci Mille Fois.
Two different approaches

Custom Property FCurve referenced in BAN
Only BAN Math Nodes
You need only one approach for results.  Two for your education.

Custom Property FCurve Approach

BAN Nodes focusing on Custom Property FCurves. Image Above.

Bias and Scale in your Custom Property Graph.  Image Above.  The intended units are number of characters. Example. [0, 20].  Not a percentage. (Approximate.  Please Improve)

Method 1. Using the Custom Property FCurve.  Curve that you would see in Graph Editor.  This Custom Property Curve is introduced below.

The Yellow Colored Nodes show the essentials. We take the zeroth [0] curve for the text object. We ask for its evaluation a number, which in my case is a range [0, 8] meaning the length of a string, not a percentage.  Debug Nodes show the numeric value and Data Path or less formally the Custom Property Name.  The name is displayed to verify correctness. Debug Name matches graph editor name which is good.
Debug Nodes are for the BAN writer.  They do not affect render.  Delete is desired.
You will need to take adjustment for your particular context.  Some cleanup work on my part is needed.

BAN Math Nodes Only Approach

Gain and Bias with the Animate Float Node.  Please improve.  Approximately 2 nodes.  Attach in similar fashion to previous Trim Node.  Units in characters. You can judge for yourself if you like the absence of keyframe.  Image above.

Trim text node has start value zero.  Lets assume this is correct or a good start.  Possible improvement can come later.
Lets assume text with trim node value [Start End] (0,0) is the empty string
Trim text node needs a new [End] value. Now add math nodes to create the formula indicated below.
Add a Math Subtract Node, Maximum Node, and Minimum Node. Connect them correctly.  Show your new nodes a soon as possible. Perfect or Imperfect.
Its better for you to show your nodes for your education.  You have already demonstrated your epic knowledge of Custom Property for an object.  I like approach one F-Curve better at this juncture.  So Math only nodes are a optional excercise for the reader.
In the discussion below you can substitute your number 120 for 10 below and make adjustments
An Object can have Custom Properties such as a number with Keyframe values. Keyframe creation implies a curve viewable in the graph editor.  Frame 10 may have value 0.00 and Frame 80 can have value 1.00  Blender can conveniently interpolate for you.  Blender has created a curve in the graph editor for you.  You have the full visual power of the graph editor at your command.

Custom property with Keyframes. Above image.

You might consider setting a percentage related to the current frame.
Using Math Functions. Example. Minimum(Maximum(Frame - 10,0), 80)/(80) produces ....

Value 0.0 in the frame range [-infinity , 10]
Linear ramp values 0.0 to 1.0 in frame range [10, 80]
Value of 1.0 for frame range [80, infinity]
Scale and Bias (Shift).  Offset ramp by 10. Ramp to 80 with division scaling (/)
These values should be consistent with the graph above
BAN Blender Animation Nodes may have an equivalent visual graph or other useful nodes for this purpose
[a,b] denotes a range from frame a to frame b, requiring a <= b
More abstractly, Minimum(Maximum(Frame - offset,0), end)/(end)

These values can for example determine the range of characters used for display
Please forgive the lack of mathematical exactness and formatting above. Above is pseudo code.  You can find the exact function names such as Min.
Old Statement. Seeing your nodes would be an improvement.  Lots of details missing.  Lets forge ahead.


Using linked duplicates does not reduce poly count

Facecount of linked duplicates only concerns base mesh faces.
If a linked duplicate has modifiers (like Subdivision surface), the facecount still goes up.
To keep facecount down even with modifiers, use Collection Instances instead.


A part of mesh turn into cyan in edit mode

Those edges are marked as sharp. If faces & edges are marked as smooth blender will simulate a smooth edge. Shading is computed from the direction of the edge normals. They will merge into one when smoothed.

If you want rid of the blue lines (yellow in my viewport) select everything and set all edges to smooth. If you want to play around with smooth/sharp faces and edges set all faces to smooth and enable auto-smooth (and perhaps increase the angle to 180). The relevant buttons are marked in red below.


[duplicate] You have bad normals all over the place, that's what those odd dark shadings are.  Select all verts in edit mode, control n to recalculate normals.


Snap to grid lines when moving verticle acros the path

ok this might be a funny solution but it works!

your line
make a line with e to desired location and connect to other with f
do the same to other side
join two new verts with J
clean the verts with ctrl + x


First enable screen space reflection in settings of the material
then in the render properties enable screen space reflection and then enable refraction in the screen space reflection tab...
Don't forget to change the ior to 1.5


Phyton code to get text remaining at the same size all the time to be readable

Place the text in an overlay scene. This way the distance to the camera (in that scene) is constant and the object size appears to be always the same.


How to glue one selected face of a mesh precisely to a selected face on another mesh?

I think you need to use 'Snap to face' to place object, and then you could join them into single mesh if you wish.


Which modifier do I use to twist this object horizontally in this way (video)?

I'm not sure you can achieve this with a Simple Deform modifier as your two tips are actually moving forward and backward, maybe you should try a Lattice modifier (or Surface Deform modifier), give it 2 shape keys and switch from shape key 1 to shape key 2:


cycles orthographic render with gradient background

Orthographic camera means 0 degree angle, so, the camera can only show one pixel (the smallest unit) of the background. Compositor seems the way to go for your desired effect.


How can I arrange items in a circle using Python?

Could use the polar coordinates r and theta, where x = r * cos(theta) and y = r * sin(theta)

eg below, a full circle with 60 pillars. Like minutes on a clock.

import bpy
context = bpy.context
scene = context.scene
from mathutils import Matrix
from math import radians, sin, cos
z = 0.5
r = 4
theta = radians(360) # 2Pi
columns = 60
alpha = theta / columns
for a in range(columns):
    angle = a * alpha
    x = r * cos(angle)
    y = r * sin(angle)
    bpy.ops.mesh.primitive_cube_add(location=(x,y,z))
    cube = scene.objects.active
    # rotate if needed
    #cube.rotation_euler.z = angle # or using Matrix
    rotmat = Matrix.Rotation(angle, 4, 'Z')
    cube.matrix_world *= rotmat

    cube.scale = (0.3, 0.05, 0.8)


Use UV coordinates instead of normal.  Then unwrap the flag with  u > unwrap.  Then in the UV image editor, while still in edit mode, scale the UV map along the horizontal axis by -1:  s > x > -1.  Scaling by -1 should flip the image.

Update:  Misunderstood the question.  I modified your node setup. This should make an un-flipped image appear on the back of the face.


You can perform this in several ways: you can create a particle system, you can UV paint where you want the sand (with a sand texture image), you can paint influence areas to switch from selected textures or you can make Blender automatically blend two (or more) textures based on your model geometry (height, normals, etc). The following node setup shows an easy way where i use model's height to blend a gravel image with a grass image (higher levels of topography have grass, lower levels have gravel). You can control the blend position by controling the color ramp, and you can control the image scale on the Mapping Node's point scale. I've remembered this solution because in your reference image, the sand is always at lowest height levels. You can switch raster textures with procedural textures.


You are probably adding it in the wrong window context

For the UV Image Editor the  operator is image.view_pan and is supposed to be added in the Image category

There also seems to be an entry for view2d.pan in both the View 2D and View2D Buttons List category

All set to Mouse Middle Press events


Jagged points on 2d model after rigging and trying to move bones

I have this new foot now, with fewer vertex. I think though, that I can't do a proper weight paint here, bc there are no vertex inside the mesh, but only outside?
Actually, I tried this one, and then I subdivided the mesh to have these lots of vertex. was that wrong and how can I weight paint properly on this one?

Actually, the automatic weights do well, but for each bone, it is affecting also the other parts. when I try to paint it, it makes weird changes due to the lack of vertex.
But I know that I can't weight paint it properly without having these jagged edges again. :(


Is it possible to design a game in Blender?

Yes, you can do that. You can model every element of your game in Blender then export them into Unity, or any other game engine. The game itself would still have to be coded in Unity.

Blender 2.79, the current version, even has an internal game engine allowing you to design games that works in Blender itself.


How to animate an expanding network using Animation Nodes 2.0?

Let's have fun with Animation Nodes then !

Teaser :

Teaser 2 :

Get the blend file here :

First, let's create a loop to instantiate the spheres and make them grow to their normal scale depending on a certain falloff :
If you want to find a node by name, type CTRL + A and then the name of the node you are looking for.

In the topbar, go to Add > Subprogram > Loop

Add a new iterator of type "Object List" and a new parameter of type "Float" and then put the nodes like the screen after.

Don't forget to click "New Generator output" and choose "Float" to generate a float list which will help us instantiate the growing bars between nodes.

Next up, let's grow the bars. Create a new loop. Add an iterator of type "Edge Indices List", a new parameter of type "Vector List" and a new parameter of type "Float List".

We will be using the evaluation time to make the bars grow between the first node, which is supposed to have already appeared, and the second node, which will appear when its correspond float value reaches 0.

Add a new generator output of type "Spline List" in order to output them from this loop. We only want to add to this spline list the splines where the bar can indeed be visible. Thankfully yhis node has a hidden condition input.

While selecting the "Spline List" generator output node, press N on your keyboard to make the right hand panel appear. go to the item subpanel and check the screen icon on the right of the "Condition input". Illustration :

Now let's finish this with the main loop :

Add a "Viewport input" node which will let you modify values in your node tree directly from the viewport.
Add a sphere object in object mode and choose it inside your instancer node. You can create invoke nodes of your subprograms by clicking on the first node and pressing W then choosing "Create invoke node"

Don't forget to set a new material for your spline or else the bars will stay white.


Cycles OpenEXR output way too dark when imported into After Effects

When you export as EXR you are creating an image that is in in a linear scale. In other words you are bypassing the transformations set by the color management in blender. You would need to interpret the exr image in after effects so they it understands that is dealing with linear data.

As an alternative, do the compositing in blender directly. Import your EXR files and background and composite them together, blender's compositor always works using linear data.


How do I make a textures values translate into shader values

The Alpha Channel works, because it is read linear. No Gamma correction etc. Color spaces HSL, HSV etc. can be very complex, so my suggestion is as @Jachym Michal points out, non-color, or linear color. However keep in mind, the roughness values of the materials are squared now, so they are less sensitive than in 2.79, in case you want to work with precize values. Lastly, you can use a color ramp to map the 2 values (0.75 and 1) to any color you want. That might save you going back and forth between GIMP and Blender.


Default skinning for vertices with no assigned vertex group

There is no system based on neighbouring vertices.

Most likely it is bone envelopes, you can look at the Armature modifier to see if they are enabled. If they are, disable them and see if that stops the vertices moving along with the armature.


While that seems possible it is not at all recommended. Not only would that go against Blender GPL license, it goes against it's open source philosophy.
The way I see it you are totally encouraged to sell your addon, everyone is entitled to make a living from its hard work. If you invest time and resources into creating something you should be able sell it, so that it becomes both rewarding and sustaining, allowing you to invest back more time and efforts to improve it.
If you sell Blender addons to users however, you are always essentially paying for a "download service" or "access" to relevant files technically, not actually buying the code itself.
The Blender license states that any script that interacts with its code and hence with it's API must be published with the same or a compatible license. Externally linked code or libraries (like say an external render engine, or closed source third party resources) may use any different licenses.
Quoting the official license

Sharing or selling Blender add-ons (Python scripts) Blender’s Python
API is an integral part of Blender, used to define the UI or develop
tools for example. The GNU GPL license therefore requires that such
scripts (if published) are being shared under a GPL GPL compatible
license. You are free to sell such scripts, but the sales then is
restricted to the download service itself. Your customers will receive
the script under the same license, with the same free conditions as
everyone has for Blender. Sharing Blender or its scripts is always OK
and not piracy.

The philosophy is always to share our findings and globally improve our collective knowledge, there is more to gain globally for the community as a whole from sharing, than from restricting the information flow for personal gains.
To answer you question directly, there are a few solutions around to obfuscate or encrypt Python code (that may or may not work well within Blender), but as an interpreted language I fear this something fundamentally hard to achieve and inherently easily reversible for anyone determined to actually do it.


Maybe not optimal, but "Shape" in the Cloth options has a "Shrinking factor", it non-zero it violently shrinks the cloth but it can be animated, so a simulation with this going from zero to whatever desired value will make a skin tight cloth.


I think you will need some sort of distance function from the cracks between the bricks. If your herringbone is procedural, that could be maths, inside the node tree. If it is an image texture, then blurring will do a pretty good job. You could blur the texture in an external application, or by putting it through Blender's own compositor:

.. trying to get a good range of greys for maximum flexibility. Then..

.. (Left) it can be inverted and adjusted, using a Color Ramp...  Your Noise, (Center) can be put through another Color Ramp. When the two are Mix RGB > Multiplied, (Right,) you begin to see how the bleed-mask appears. It can be further adjusted, put through a 'Greater Than' threshold, or a softer threshold, using another Color-Ramp, or Map Range.

The Brick shader (Left), and the Grass shader (Center) can be mixed using the resulting mask (right).
These are the nodes which produce the mask:

The result:


Does the Grease Pencil Tool create Vertices?

I hope I understand your question correctly... It seems like you want to convert your grease pencil to vertices?! When you convert Grease Pencil to geometry you can select path, bezier or polygon curve... It will convert it to curve stroke which you can convert to mesh object, and then you can apply all the modifiers you want...


Achieving wipe effect in video with (motion tracked) mask revealing 3D object

If I'm guessing right, you're moving a sheet of paper in a previously taken video to uncover some 3D (extruded) text that's sitting in Blender's 3D window.

I've done it here with a single animated masking plane.

The first example is the (pre-recorded) video I manufactured for the purpose.

The second is the end result when using the first as the bkd video and overlaying it's paper sheet with a matching sized plane. (in Blender's 3D work area)  The plane is textured with a screenshot of the video's paper sheet.

The text is there all the time.  It's the copycat paper (plane) that's hiding it from view.

The plane moves in unison with the video's paper using keyframes and shape keys to match it's changing dimensions as the frames progress.

It is in fact manual tracking and is not difficult in many circumstances.

Once the text is in view, the masking plane is dispensed with and the video can proceed on it's own.

This is but one solution.  Another might be to use Blender's tracking and inbuilt masking.


Video editing transform strip offset and crop in Preview window

If you use the 2.83 alpha, grab this add-on and use the transform tools in the toolbar:
https://github.com/tin2tin/VSE_Transform_Tools


It did not work out exactly as you wanted it to, but it's a bit close to what you want.
as if to blend these two pictures together. I just mixed you with your picture

I linked it in the editor


You need more geometry to have a smooth surface.

If you add a subsurf modifier the problem goes away.


The "stretchiness" you refer to is called viscosity.

The settings to change it can be found here, and there are even a few presets to get you started:

The Blender Manual explains these settings well. See the Viscosity section.


In places, where you see darker shading, inner faces are to close to outer faces. Try to get better geometry (similar to the other side of your object, with smooth curve in upper corners) and then use solidify modifier, but if you don't want to repeat this process, you can just set Transformation Orientation to Normal and pull inner faces in problematic areas a little more inside or outer a little more outside.


how to force blender freestyle engine to redraw the same frame different

You need to add freestyle modifiers on your lineSet and animate differents settings with a driver depending on the current frame. The only one acting like you want by default is the spatial noise in the geometry tab.

The is an exemple of what you can achieve by mixing and animating differents setting like thickness noise and texture offset


Odd Reflections occurring within my scene

Alright, i fixed this through turning the worlds diffuse back on as stated by Leander, then turning off the grounds diffuse which stopped the ground affecting the rest of the scene


How to texture a racing helmet (with all its logos)

We don't know how this specific artist created the unwrapped/distorted image texture.

  Did the artist use a different UV (say project from the left view) and
  then baked those lines onto a new UV?

This is a common technique called Projection Painting which is widely used during texturing. Since I found no clear overviews in any answer, I will demonstrate the basic steps.

Create a UV map, I named mine uvmapUnwrapped and unwrap it, maximizing used space and minizing distorsion. As you noticed, one cannot add any images onto the current 2d uv layout with them being distorted.

Create a second UV map (the plus-icon) which places a logo (or other desired image) neatly onto the object. I loaded the Blender logo in the UV editor and found that unwrapping the subdivded cube from orthographic front view with Cylinder Projection worked best for this szenario. But there are plenty of other unwrapping methods. U

At this point, both images should be showing correctly on the object when their respective uv maps are active.

Select the object and enter Texture Paint Mode. Go to the Slots tab, choose Image as mode, select the uv layout image as canvas layout, which we're going to paint on an choose its matching UV map layout.
We could now paint on the object by drawing strokes on it in the 3D view.

Go to the Tools tab, select the clone brush. Check the box at clone from image/uv map. Select the logo image and its matching uvmap. You can now "draw" the logo onto the texture.


Cycles - What is the expected range of values for Displacement?

In Blender 0.5 is no displacement, 0 is inward, 1 is outward. But note that this will not displace the actual surface, it is just a Bumpmapping effect. Thus what is the 'no displacement' level is hard to tell.

To get real displacement you have to apply a 'Displace' modifier to the object. Here you can actually define what value is 'no displacement' and how sttrong the displacement is. Just make sure it is tessellated enough. Add a Subsurf modifier above for example:

The comparison of displacement in shader (left) to displacement using modifiers (right):

Edit:
As @gandalf3 mentioned in the comments, true displacement using nodes is available in cycles as an experimental feature. To activate it, first enable the 'Experimental' feature set in the rendering options:

Then go to the object data panel and set the displacement method to 'True' (1). This will give the same effect as adding a Displacement modifier to the object. To also get the fine tessellation effect of the Subsurf modifier enable 'Use Subdivition' (2). The 'Dicing Rate' controls how fine the mesh is tessellated.

However this method seems to displace the faces independently, which can lead to gaps in the surface:


Probably the most effective way to fade in alpha is to use the alpha over node.

In the image below, the top color socket is set to completely transparent (I'll explain how to do this further down), and the image is put into the bottom color socket. The factor (the highlighted input) controls the opacity. 0 is 100% transparent, 1 is 100% opaque.

It's the other way around if you switch the color inputs to make this image go in the top and the transparency in the bottom.

To make the color input completely transparent, just use the alpha slider in the color picker drop down. Make sure it's set to 0:


Python SCript - 'NoneType' object has no attribute 'vertices'

It says 'NoneType' object has no attribute 'vertices', so it can be an empty that is being selected. You must check that the objects are meshes:

actob = bpy.context.active_object
if actob.type == 'MESH':
    actobdat = actob.data
    dimact = actob.dimensions
    [...]
    for ob in scene.objects:
        if ob.type == 'MESH':
            dimob = ob.dimensions
            etc...

You use bpy.context.active_object to get the active object, the index 0 of selected_objects will give you the last object added to the scene within the selection.


Eyes and rig problems when exporting to .fbx

I think it's not possible to export constraints via FBX or any other format, i am not 100% sure but it's probably the case, and i think it's for all 3D softwares not just Blender


How to apply a loop cut on a specific area on a big object?

I would recommend selecting all the faces of the object you want to put details on and hitting "P" to separate it as another object.
This will help you with 2 things:
1) It will allow you to duplicate this object across the scene
2) And it will keep your large mesh clean and separate from the small details.

Ideally, you want your scene to have no unnecessary loop cuts or geometry.

Select faces, Hit P

Now you can create a loop cut for your small object, but there is also a new object in your collection.


How can I copy or duplicate several objects in one step?

I was about to answer "Array modifier", but your case may be more complex. My way to accomplish this:

I make a separate scene just for one component (e.g. a window frame to be duplicated, or in your case, one full story), and model it there.
After I'm done, I group it as one component.
Lastly, in the main scene, I instanced the group (Shift-A -> Group Instance) as many as I
needed. Each instances are free to be transformed.

Here's an example from a building I modeled, the original repeatable objects are collected in a scene for easy measurement control:

What I like about this approach, is that we can always modify the base component in its own scene, and all instances in the main scene will be updated. And unlike linked-duplicates, we can add as many object to the group as needed.


First you need to see bones. Go to properties pane, select the object (the cube icon) and find x-Ray and switch on that field. After that you see armature, and you can select one of the bones from the armature.

Second, go to properties pane, click on the human icon (data) and select pose position.   Rest position is for edit bones, pose position is for animation.


Best approach of joining a horizontal and vertical pipe together where one is curved?

Used shift+n to recalculate normals if you have not, then in object mode add bevel modifier and select as "limit method" in the bevel options as "weight" instead of none.
It looked fine for me with two size pipes with different subdivisions, even on 1 bevel.


Rendering a large number of unique objects

You could group all the brains (Ctrl-G) and then use the brain group in a particle system on a grid which emits from each vertex. Make sure the number of vertices = number of particles. Also be sure to display your models as bounds only, otherwise Blender will try to draw all the detail in viewport. Using a particle system allows me to draw forests of complex trees, so I think brains should work too.

In the picture you see the group of objects in the front and the result of a particle system on a subdivided grid emitting from each vertex in the background.


Go in Edit mode (tab), choose the left view (3), and switch to X Ray (AltZ) to be able to select through:

Choose the Lasso Select tool (or use the shortcut):

Select the part of your mesh you want, press shift to select again:

Switch to the Move tool (or shortcut G):

Move the selection, use the gizmo to move on the Y axis or press Y to contrain on this axis:


how to connect objects with splines with animation nodes?

Add your objects to a group or a collection. Then get the objects using the Collection Info node or the Objects From Group node. Finally, get their locations using the Object Transforms Input node. We now have the points locations, we use the Find Close Points and Splines From Edges node to create the splines as follows:


Textures appears in Blender Render but missing in Cycles Render

Blender Cycles and Blender Internal are two completely independent rendering systems with different settings and material definitions.

Your UV Maps did not disappear, you just have to recreate your materials using the Cycles material nodes system.

Have in mind that even after recreating them, the Blender viewport does not support displaying material previews for cycles, only basic preview of image based textures, so you will only get to see them upon rendering or on interactive viewport render.


Is it possible to inverse selection in Object mode?


hair particles emit from faces outside vertex group

You'll have to also assign the vertex group for some hair particle system parameters;

In Particle Settings / Hair settings, open tab "Vertex Groups" and assign your vertex group for example for Density and Length.


I can't go into pose mode or object mode at all

I think the problem is you haven't selected an object yet. Make sure to click and select the rig then clicking this button and it should appear.


There are many ways of doing this, here is how I would do it.

First, go to the render layers tab of the properties view and enable an environment pass under the passes rollout.

Then make sure you have checked transparent under render properties > film rollout.

Then you can blur just the environment pass in the compositor and mix it into the render using a mix node based on the alpha.


Blender freeze after hair particle system

If the color in the Viewport Shading is set to Random it will crash, if it set to Material everything works fine.


I would go the other way around, begin with the hole shapes, then draw the whole shape:


How to non-destructively bevel and extrude a mesh intersection?

If I understand your problem correctly, you should be able to solve this by using the bevel modifier limited to a vertex group.
First, go to the Object Data tab in the properties pane (the green one, can't miss it) and open Vertex Groups.  Hit the "+" button to create one.

Then, select the vertices you want to bevel in Edit mode.  While the group you just created is selected, click the "Assign" button underneath the vertex group list.

Third, go to the Modifiers tab (the one with the wrench) and add a Bevel modifier.  In the "Limit Method" drop-down, select Vertex Group.

Finally, select the vertex group you created earlier.  Play with the numbers a bit, and you should be good!


Why is subdivision surface behaving like this?

This will happen if you don't have enough geometry on the large faces with the cut-out to support the subdivision operation.  Consider these two objects:  both have the same shape cut out of a flat disk, but on the left, only a few edges have been used to connect the cut-out to the outside of the disk, while on the right, the same shape has been cut out of a whole grid of geometry:

and here's what they look like with a subdivision surface modifier added:

Note that the geometry doesn't have to be perfect.  Even pretty crude geometry will usually work:

You'll need to add a similar amount of geometry on the faces with your heart cut-out.  The heart shape might make it a little harder.  At the sharp parts of the curve, you make find it necessary to introduce duplicate overlapping or nearly overlapping edges:


How to make grooves without editing geometry

You can add a groove using a boolean modifier.

My process would be as follows:

Duplicate some faces from your original, then separate them into another object.

Scale them down, and extrude out some thickness to get the inverse of the groove you want:

Add a boolean modifier on the first object set to difference, and select the new object as the target:

Then, just hide the second object to see the groove:


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

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.


How to show only a portion of an object based on its relation to another object?

if you mean, it should look like this: https://youtu.be/tpeUWpk1okM
then you can achieve this by
1.) adding a track to constraint from sphere to your object (red point)
2.) adding a box with a boolean modifier (intersect)
3.) adding a track to constraint from box to your object
4.) adding a copy location constraint to the box from object
5.) adding a limit distance constraint to sphere
a video tutorial is here: https://youtu.be/pww3BxVsko0
(please be a little bit patient, my internet upload speed is blazingly ...slow... :(
and this is why i love BLENDER - you add just some constraints, combine them and you got a perfect effect which is looking really amazing, without knowing anything about matrix, vertices, scalar product or python or mathematics ;)
UPDATE:
and here is a video where the realization of changing the subdivision surface depending on the location of another object is shown:
https://youtu.be/28SGevbNZKQ


Cutting a 2D plane using intersecting planes as a guide

As it is a "cut" question, you can use knife project :

In object mode select the "wall" part RMB
Then both select the "floor" part Shift+RMB
Enter edit mode Tab
Place the view to the top ortho NumPad7
Then use knife project in the tool panel
Last step : remove the unwanted vertex

Knife project uses a mesh to cut into another. The cuts are given through the view plane (so it depends on from where you are looking). The cuts are given using the cutting object edges (from this point of view), to create new vertices and edges in the cut mesh.

A step further... this make an ngon (a face with more than 4 vertices) and it is better to avoid ngons...

First approach :

Enter edit mode
Select all and Ctrl+T to triangulate
Then selecting quad parts Alt+J

Second approach :

Remove the ngon face
Subdivide the wanted edges W then subdivide
Place the 3D cursor at the 'pivot vertex'
Set pivot mode on 3D cursor
Then move (scale) the vertices to the 3D cursor
Last : remake the faces F and eventually correct the normals Ctrl+N

Other possible approaches, certainly...


How can I get back to Blender's default theme?

If you go to File -> User Preferences... and then to Themes, there's a Reset to Default Theme button.


Separated objects following the original one

Because when you separated the 2 objects they kept the same animation, and if you change the animation for one it will change it for the other, several objects can share the exact same animation. What you can do is:

Go in the Dopesheet, switch it to Action Editor

Create an new animation from the previous one (Create New Action), or remove all animation (X button).


Why is my image sequence render using an old version of my animation?

I think reason you are seeing an old version of your animation is because you have an image loaded into the Video Sequence Editor (VSE), which is overriding the render.

Either remove the image strip with X > Erase Strips from the VSE:

Or, un-check 'Sequencer' in the 'Post Processing' panel in the 'Render' tab:


Cannot enter Pose Mode with an avatar with a grayed-out name

The armature is disabled in view port. If you go to your filter menu (little funnel icon at the top right of your object list) and enable the "disable in view port" filter you will be able to eneble the armature again.

Don't ask me why these buttons don't show by deafult.


Use Align Rotation to Vector, Vector should be "normal" and axis Z (for default cone):


You're not actually in rendered mode; you're still in solid mode. Press Z and a pie menu will show up. Click on rendered to show all your materials.


Emit particles from a plane based on the alpha channel of it's texture

you can add texture to the particle system :

then change the influence from time to density in the texture tab :

in the texture tab you can change the mapping, enable/disable Alpha ;
by default it will use the alpha channel and emit from the non transparent part


How to Change Image Saving Options with the Python API? (Color, Color Depth)

You can discover nearly all data paths from Blender GUI itself.

Set your mouse cursor over a field and a tooltip will appear:

You can also copy (part of) the path directly here:

Then you can use it (and test it) from the Python console, and also discover all the properties you need using autocompletion with the Tab key:

So concretely you can for instance:

bpy.context.scene.render.image_settings.color_mode = 'RGBA'
bpy.context.scene.render.image_settings.color_depth = '8'
bpy.context.scene.render.image_settings.compression = 20

You can now easily search in the documentation:

And have access to a complete information for the fields values (click me).


Texture brush doesn't make clear or smooth geometry on sculpture

These so-called Alpha brushes require a very high polycount to look good. I've done some tests with the Lips Alpha brushes by Todor. You can get the Light version here for free (https://gumroad.com/l/lipsfree) if you want to try it out yourself. It comes with a short manual for the brush settings.
The following images show the included example blend. The lips are low-poly with a Multires modifier, with 3, 4, and 5 subdivisions. 6 subdivisions (=2.4 million vertices) show no improvement in comparison to 5 subdivs.
If you have a fully sculpted character or creature you will end up easily with a few million verts like in this video: Create High Resolution Sculptings in Blender (24 million verts)
If your PC can't handle such a high amount of verts you can use a Bump Map and paint the details on a texture as shown here: Node Based Texture Painting in Blender 2 8
Hope that helps :-)


Animation nodes, finding current material for object

Welcome to StackExchange. You can easily get the material of the object with Expression Node by using Obj.material_slots[Index].material. Here I have made AN-Material of Object group-node which allows getting material of any object:

For Object List, you can use Loop Node and AN-Material of Object to the materials of objects in the object-list:

Blend File:


If I understand your problem, I think that you have set some bones keyframes at the end of the first static part (lets say frame 100), then  - on the next frame (101) - you moved the armature in another location and posed and keyframed it, but when you come back the location of your meshes are not as expected.

This is probably due to the fact that even if you set a keyframe on all bones of your armature, the location of the whole armature object is not recorded. To do so, you'll have to set on frame 100 a keyframe of the loc (and maybe rot and scale) of the whole armature (in object mode), then switch to pose mode, select all bones and set a keyframe; then - on frame 101 - move the armature, set a loc (rot scale) keyframe in object mode, then switch to pose mode, pose the mesh, select all bones and set a keyframe.

Another (more usual) method is not to move anything in object mode during the animation process, and move everything using bones only.

If this doesn't solve your problem I suggest you to upload your file.


Blender Python: Exclude Collections from View Layers

First you need to retrieve the view layer you'd like to modify. The view layers in the scene can be accessed through bpy.context.scene.view_layers or if you want to access view layers of other scenes you can use bpy.data.scenes["Name of the scene"].view_layers.

In order to exclude a specific collection the LayerCollection has to be accessed, because that is where the exclude property is stored. While iterating over the children of the master layer collection from the view layer, we can check for each entry if it matches the collection that we want to include. If it doesn't, it can be excluded through its LayerCollection and otherwise be included.

import bpy

def include_only_one_collection(view_layer: bpy.types.ViewLayer, collection_include: bpy.types.Collection):
    for layer_collection in view_layer.layer_collection.children:
        if layer_collection.collection != collection_include:
            layer_collection.exclude = True
        else:
            layer_collection.exclude = False

if __name__ == "__main__":
    view_layer = bpy.context.scene.view_layers["View Layer"]
    collection_include = bpy.data.collections["Collection"]
    include_only_one_collection(view_layer, collection_include)


Removal of everything except mesh, or extraction of mesh from Blender file to a new one

Open your downloaded file, create a cube, name it "onlyMesh", go to the mesh tab in the properties panel, switch the cube mesh to the character mesh, delete the whole original character, save, close, reopen your file.


How to remove jitter on cloth simulation?

I ended up increasing the "Cloth > Quality > Steps" from 5 to 10 and the "Cloth Collision > Quality" from 2 to 5. This helped with some of the jitter, but I can still see it at the end subtly.


How do you create a Gradient Texture as the background for your world?

As promised, I intend to answer, once and for all, how to attain a gradient texture for world backgrounds. I had found myself searching through a few Blender Stack Exchange threads, and this one in particular did the trick:

Cycles texture mapping, generated coordinates with world orientation?

If you check that link to a different Blender Stack Exchange thread, you will notice the same setup being used for an object. I had previously overlooked that, believing it to be impossible for use with World Nodes.

...I was wrong.

Not only could you use that node setup to achieve a gradient background, you can also use a Mapping node, personally best set to point, in order to rotate, scale and position it as you please. Here, see for yourself:

Using Normal allows you to properly use Rotation to legitimately rotate the gradient, though it does not seem to stay linear. Using a Gradient Texture node does not work with any of these nodes, as far as I have currently determined.

Edit: By setting scale as seen here, I have managed to straighten the gradient, but it only works at certain angles.


Mesh LoopTools Click Circle

Mesh Loop Tools or Loops Tools is an Addon which must be installed in User Preferences.  That takes 88 seconds or less.

Know that the faces of a mesh can be UV unwrapped and assigned a texture and painted.

Simplified form mesh. Clearly the more low poly your mesh,  the more the hole will look like a polygon or octagon .. rather than a smooth circle with high vertex density.

Stages of editing left to right top to bottom.  Edit Mode.

Yellow vertex dense cylinder
Blue Partial quad strip extrusion
Yellow Loop Cuts for local vertex density
Blue Two Patches cut out in square on both sides.  Bridge Edge Loops

Yellow Mesh Loop Tool click Circle changes rectangle hole to circular hole. Select the vertices in edit more beforehand. See Side Panel. This is the step most relevant to the OP

Blue Proportional Editing for edge protrusion
Please improve this to suit you needs
Technique only. No artistry focus.


I suspect that the object your are trying to parent to a bone already has a parent. If that is true, then try removing the object's parent then parent it to the bone. This may not always be easy, depending on your object structures and dependencies. But at least it should solve the problem of the object jumping when you parent it to a bone.


UV mesh does not appear in UV editor in blender 2.8 but does in 2.79

In 2.80 the Image and UV Editors are 2 different things.

Your screenshot is showing you have the Image Editor open.

Change to UV Editor to see the UV unwraps :


How can I change the viewport shading to 'Texture Solid'?

The shading panel's options are Mode dependent.

Means,Every shading mode has his own option,Texture Solid is one of the Solid Mode option so you have to be in Solid Mode to enable it.


Why isn't Armature>Separate Bones working for me

In edit mode, select the bones you want in a different armature, then press P.


Difference between Blender 2.8’s camera and world HDRI

Well since you seem to have cross posted this I'll just shamelessly plagiarize Brecht's answer for completeness sake.

Camera HDRIs are basic studio lights meant for fast performance with non realistic shading.

They will behave like matcaps in the sense that they are viewpoint dependent and will rotate along with the view angle.

World HDRIs behave as realistic environment maps like the ones you would use in Cycles World environment textures.

They are convenient scene lighting replacement suitable for quickly testing your model and viewing it under different lighting conditions.

Both can be easily easily user customized by adding new entries to the menu either from the user preferences by pressing the small Wrench icon, or by manually adding files to the folder Blender-2.80\2.80\datafiles\studiolights, either under a Camera, Matcap, or World subfolder.

  By Brecht

  Camera HDRIs are like matcaps or solid mode lighting in 2.7x, in that
  they rotate along with the camera. This ensures objects are always
  well lit and you can see their shape clearly, even if it’s not
  realistic.

  World HDRIs are the same as environment textures in the world, with
  light coming from the same global direction. This is the more
  realistic method, and the only one that can be efficiently supported
  for features like Eevee indirect light and light probes. For that
  reason camera HDRI’s are not available in LookDev shading mode.

  Naming of these features could be improved.


Trying to make a donut from blenderguru's tutorial

Hope this helps,
Go to the little dropdown arrow next to the snap tool(The magnet icon) and make sure you have these exact settings:

These settings worked fine for me.
Some more things you should keep in mind:

The offset of your solidify modifier should  be +1 i.e. the thickness should come towards the outside

The icing and the donut should have uniform scale i.e it should have scale of 1 on X, Y and Z axis. If they don't have a uniform scale then you can make it uniform by going to object mode - > Press Ctrl + A and applying the scale.

You have to be in edit mode to move the vertices and change the shape of icing.

Snapping has a limit, you can't drag the icing too far and expect to have no intersections between the donut and icing(In ur case it should work fine)


UV Editor - Use other Units of measurements

This doesn't exist yet.
I will be submitting a pull request to the Blender3D Repo for version 2.80+
It will allow you to enter:

MM, CM, M, KM, Inches, Foot/Feet and Yards

with a screen DPI of 96 DPI
it will take input: 20cm
and it will output: 756px

Using this formula:

dpi = current monitor/screen or blenders dpi setting
scale = getScaleFromInputField() * 2.54
pixels = RoundUp(input * (dpi / scale))

getScaleFromInputField will convert MM, M, KM, Inches, Foot/Feet and Yards To Centimeters and return the correct value
Using this conversion chart:

You can contribute to my repo: https://github.com/DeanVanGreunen


How to rotate multiple objects towards one point?

Perhaps DupliVerts are too inflexible for what you need, but their ability to orient objects according to the parent object's vertex normals certainly makes it easy to have duplicates point toward the center, as illustrated here:

To make the above, simply parent the master cone (in center) to the spiral, then go to the spiral's Properties->Object tab, where you will find a Duplication category (in red box above). Select Verts, then check Rotation (in green box above). Then simply rotate the master cone to re-orient all the other cones however you want. Be aware that whether-or-not the master cone has its rotation applied (Ctrl-a) makes a difference; try both ways to see which suits in this instance.

Also know that for finer detail and ability to scale seeds differently, you could do a Make Duplicates Real for all the DupliVerts, then give each a Track To constraint oriented toward an empty at the center.

By the way, the curve was created via Add Curve->Extra Objects, then converted to mesh for this use. You might need to turn Extra Objects on in User Prefs.