Looking for a way to create details fabric texture(Normal Map)

For this kind of object you will necessarily have seams somewhere but you could delete the one on the top and it will unwrap correctly. You could also model a seam at the top so that it matches the UV seam.
As for the material, you could use a real picture of wool, but if you want to stay procedural, you can improve what you've done so far with some tweakings:

For the moment your wool looks a bit plastic, it is not supposed to be so glossy, so increase the Roughness and decrease the Specular values.
To make its tint more realistic and less monochromatic, Plug a Noise Texture node (with a high Scale value) into a ColorRamp with 2 or more colors.

About your question on mixing 2 normal maps, you can do it through a MixRGB, then plug the MixRGB into a Converter > Vector Math > Normalize:

I've watched this method that recommends to separate and recombine the RGB channels but I can't see any difference with my method as soon as I put a Converter > Vector Math > Normalize node as well, maybe node experts will tell...


Random text in a text Block Animation Nodes

You can generate lines individually then join them using a line break as follow:


Texture streches on the edge of extruded plane

If I were you I would just add a UV Seam to both edge rings of the sides, by clicking on the edge ring with Alt + LMB and then adding a seam with U > Mark Seam, and then unwrapping with U > UV-Unwrap. That way you can split the sides from the UV-map which is probably whats causing the weird overlapping!


Armature is moving weird on Unity made in Blender

To rule out Unity from the equation there are 2 things to try.
1. try removing the key frame optimisation in the inspector / animation settings.
2. Import your exported FBX back into a new blender scene, do you see the same issue in blander.

If 1 fixes it, it’s the Unity keyframe optimisation settings.

If 2 shows the same issue as you get in Unity then the issue lies in the rig and or blender export.


Polygon and Vertices count for Blender 2.9?

Check the 'Statistics' box in the Viewport Overlays to get those counts back, though in a different location.

If you need to see them at the bottom right of the screen you can enable the information using system > preferences, and in the interface section enable the information you want to view as part of the Status Bar


How to get Anisotropic Filtering in Blender Internal?

Anisotropic filtering affects the sharpness of textures at oblique angles. The setting under Preferences -> System affects only the OpenGL viewport (and games) as designed.

Blender Internal renderer's texture filtering is controlled by the Image Sampling settings under the texture panel. Changing the value from the default Box to something like EWA with 32 samples should give very good result.

Box Filter on the left, 32 tap EWA on the right


That happens if you are using the Loop Cut on an edge that isn't connected to the rest of the mesh.

Try selecting that lower edge and moving it down a little. If it is not connected then just delete it. If the edge you select is connected but you see that there was another edge hiding below it then select that edge and move/delete it.

Or you could select everything and from the Tools panel on the left and use the Remove Doubles tool.


Blender export support for 3MF (or AMF) file format?

This is a tough one. My concern about most of the answers that I see on the Blender forums is that people don't get that 3MF is NOT like STL, it allows for actual bitmaps for textures, not just one flat color.
So, I do have a workflow for you, that will at least get your model out, if you are running Windows 10.
Setup Blender to export to GLTF. Export a binary GLTF (GLB).
Open the Windows 3D builder app. It's free.
Open the GLTF with 3D Builder.
Then export a 3MF.
I tested it with Simplify3D and it seemed to work fine. The model sliced fairly easily.
    == John ==


Isn't this simply how 'uv select sync' currently displays things rather than being a coding issue?

The only way to do this would be to disable 'uv select sync' and change the 'Sticky select mode' to 'Disabled' in the Image Editor header, as shown below:

The disadvantage is that the whole mesh will have to be selected to appear in the uv image editor. I'm not sure if this helps or not because I don't quite understand what you're looking to do, but thought I would add this information in case it does, seeing as you don't have any other answers.


First set the Units in the Scene properties to Metric or Imperial. If you are using Imperial, then checking Separate Units can help make it more natural.

For 2.8x

For 2.7x

When entering in units in Object mode using the Dimensions, watch the scale. You have to apply the scale ( ctrl A > Scale ) before the same measurements will show in edit mode. When the scale of the object is applied (all three field set to 1)  then dimensions will work as excepted in edit mode.


Is it posible to get the coordinates of the shadow from its rendering?

I haven't been able to extract the data directly from the render, but i have been able to put together a code from different sources that works. I'm posting it here in case somebody finds it useful.

import bpy
from mathutils import Vector, Matrix
import random

# In case we wabnt to asign a random color to the shadow
def get_random_color():
    ''' generate rgb using a list comprehension '''
    r, g, b = [random.random() for i in range(3)]
    return r, g, b

#We create the material for the shadow and assignt transparency
mat_shadow=bpy.data.materials.new('shadow')
#mat_shadow.diffuse_color=get_random_color()
mat_shadow.diffuse_color=(0.01,0.01,0.01)
mat_shadow.alpha=0.5
mat_shadow.use_transparency = True

#From this point we assign the objects we are gonna work with
#We assign the light, a point in this case
LightObj = bpy.data.objects['Point']
light_mx = LightObj.matrix_world
light_location = Vector((light_mx[0][3], light_mx[1][3], light_mx[2][3]))

#We select the surface we want the shadow
Surface_Object = bpy.data.objects['Plane']
surface_mx = Surface_Object.matrix_world
imx=surface_mx.inverted()

#we select the test objects
test_names = [ 'Cube','Suzanne']
test_objs = [bpy.data.objects[name] for name in test_names]
test_mxs = [ob.matrix_world for ob in test_objs]

#We loop througth the objects to create the shadows
for ob, mx in zip(test_objs, test_mxs):
    pol_accepted=[]
    shadow_mesh=[]
    shadow_object=[]
    cont=0
    #We loop through all the faces of the object
    for poly in ob.data.polygons:
        Loca_hit=[] # Where the ray hit
        Vertice_hit=[] #if vertice hits we save it here
        hits=0
        #We loop through the vertices of the face
        for indx in poly.vertices:
            i=indx #We save the indx in a variable, if not it will change to -1 when used
            P0=imx * light_location
            P1=imx *mx*ob.data.vertices[i].co
            #We check that the object it's not higher than the light
            #We should check in a more general case, that the point of the light it's farther than the point of the object
            if P0[2]>P1[2]:
                #We use the equation of the line that goes through two points to select the point of the line that
                #goes through P0 and P1, bellow the plane
                d=P1-P0
                n=(surface_mx[2][3]-1)/d[2]
                Pfin=P1+d*n
                re,loc, no, ind = Surface_Object.ray_cast(P0, Pfin,distance=1.70141e+10)
                if re:
                    hits += 1
                    Loca_hit.append(surface_mx *loc)
                    Vertice_hit.append(surface_mx *P1)
        #We only consider a face has a shadow if at least three points touch, the minimum to crerate a face
        if hits>=3:
            #We create the vertices with the hits and the original points, the faces to make a 3D mesh of each face shadow
            verts=Vertice_hit+Loca_hit
            f1=[n for n in range(hits)]
            f2=[n+hits for n in range(hits)]
            faces=[tuple(f1),tuple(f2),(0,hits,hits*2-1,hits-1)]
            for n in range(hits-1):
                faces.append((n,n+hits,n+1+hits,n+1))
            name='shad'+str(cont)
            shadow_mesh.append(bpy.data.meshes.new(name))
            shadow_object.append(bpy.data.objects.new(name,shadow_mesh[-1]))
            bpy.context.scene.objects.link(shadow_object[-1])

            shadow_mesh[-1].from_pydata(verts, [], faces)
            # Calculate the edges
            shadow_mesh[-1].update(calc_edges=True)

        cont += 1
    # We change the name of the first

    if len(shadow_object)!=0:
        shadow_object[0].name='Shadow_'+str(ob.name) #We change the name of the first shadow

        #We are going to join all the meshes together from the object
        scene = bpy.context.scene
        ctx = bpy.context.copy()
        # one of the objects to join
        ctx['active_object'] = shadow_object[0]
        ctx['selected_objects'] = shadow_object
        # we need the scene bases as well for joining
        ctx['selected_editable_bases'] = [scene.object_bases[ob.name] for ob in shadow_object]

        bpy.ops.object.join(ctx)

        # Assign material to object
        if shadow_object[0].data.materials:
            # assign to 1st material slot
            shadow_object[0].data.materials[0] = mat_shadow
        else:
            # no slots
            shadow_object[0].data.materials.append(mat_shadow)

        shadow_object[0].show_transparent = True


Using sensor data as alternative for Motion tracking

While this sort of a concept is a seductive idea, it has yet to see practical CGI usage. The reasons are complex, but in essence, as with the seductive ideas for keying, sub-pixels will always resist your effort like guerrilla warriors.

That is, the margins for error of data are so small, so thin, so slight, that capturing spatial data will always slip, slide, judder, or other such things because the image is never quite 1:1 with the data.

To practically achieve these sorts of things, several witness cameras tracking camera position can be combined with scanned / surveyed set positions, 3D point cloud scans, and footage tracking / bundling, etc. Accumulating camera data could be used as aids in this, but never a sole source of camera positioning.


Simply just adding a border of a different colour to a shape in edit mode

I see at least 3 solutions. Note that if you want no shadow on your yellow, use an Emission shader:

1/ Create edge loops close to your angles, and assign your yellow color to all these edges.

2/ Duplicate your cube and give it a Wireframe modifier. Play with the parameters to increase or decrease the thickness of the wireframe.

3/ In Photoshop, create a picture with a blue square and yellow outlines. In the UV/Image Editor of Blender, open this picture, unwrap your cube and give it a material with an Image Texture node, with the cube picture as the image.


You can use two UV maps. One UV map laid out how ever is best for your model with the main texture. Then a second UV map unwrapped so the cloth seams come out better for painting.

You can unwrap your model with UV seams and all, make a second UV map then mark all new UV seams and unwrap again.

Here is an old blender nerd tutorial explaining the process. (for people that like video tutorials)

To use your two textures, and two UV maps in cycles, all you need are two UV Map nodes and two Image Texture nodes. Mix the two images together based on the "seams" image's alpha. The image below is a full node setup for using two image and two UV maps.


Python get shader tree in headless mode?

I found out that each object has shader node_tree. In order to manipulate HDRI, I need to change Shader Tree of World object.
Shader Tree is attached to World object too, here is how I get Shader Node Tree of world object in headless mode:
bpy.data.worlds['World'].node_tree


Trying to understand coordinate spaces in python

Force an update.
Using the add empty object operator (or any operator) has the side effect of forcing a view_layer update.  In version < 2.8 this was a scene.update().
It can be the case in a script execution that object matrices are not yet updated when their values are being queried.
Updating the viewlayer in the same loop as the operator produces the same result as with operator, without operator. (circa line 30)
pCounter = 0
for pair in combinations(list(pointDict.keys()),2):
    pCounter = +1 # Did  you mean += 1
    bpy.context.view_layer.update()  # <== UPDATE
    objA = bpy.data.objects[pair[0]]


How to apply material to disjointed object duplicated with array modifier

When dealing with the Array Modifier it's important to know that object coordinates (which you are using) are generated for the whole object, but the 0-1 texture space is matched to the un-arrayed object. If you were using UVs, the UV map would repeat on each tile, which is even less of what you want in the long run. So your approach is the right one, but instead of having UV coordinates between 0 and 1, you have them between 0 and 7, because you need 7 tiles to fill the space. That makes the texture repeat again on your tiles.

Luckily the solution in your case is simple: Plug a Mapping node right after you generate the random coordinates, and set the scale to 1/7 (or if you change the number of tiles later, fill in the numOfTiles respectively). Blender will do the math for you. Voila: The coordinates have been transferred back to 0-1 space:

You can check the modified Blend file here:


Can I temporarily replace an object with a "placeholder" to help with multiple high-detail objects?

Select your high poly object
Go to Object Properties panel
Under display tabs, look for "Maximum Draw type"
Choose "Bounds" in the selection drop down.

Now your high poly mesh will be displayed as a simple box in the viewport.

Alternative Method

Or you could add a decimate modifier on the high poly object which would let you pull down the mesh count considerably. When you have finished positioning all the mesh all you need to do is to remove the modifier so the high poly object is restored.


Force a Blender operator to always start with default values

Add 'SKIP_SAVE' to the blender property option set.

When defining properties for the operator, any with 'SKIP_SAVE' in their property definition options set, will (like the name suggests) not be saved, and revert to their default value the next time the operator is invoked.

    scale_factor = bpy.props.FloatProperty(name="Scale Factor",
            default=1,
            options={'SKIP_SAVE'})


How to make a 'rocky' material with procedural bump?

I was able to get something pretty close to what I think you are looking for using a voronoi texture.

Here is my node setup (click to enlarge):

Here is a close up of the nodes that make the holes (there are actually two of these sets, one for the larger holes and one for the smaller ones).

The upper voronoi texture, set to cells, is sent through a less than node to "weed out" a few cells I then use that result to mask the lower voronoi, set to intensity.  If that didn't make any sense here is an image that will hopefully clarify it:

Cells voronoi texture.
Put through less than 0.4 node (converter > math) to "grab" 40% of the cells.
Used to mask intensity voronoi texture.
Color ramp node added to (mostly) eliminate the hexagons.  (Try playing with the color ramp swatches to see how this works.)

The main material is simply two of these setups with a noise texture for added roughness, all put into the bump of a grey diffuse shader.  The asteroid itself is simply an icosphere with a subsurf and two different sized displacement modifiers.

Here's the .blend:


Weird color on texture painting with brush

I think you tapped it. I've been trying to recreate the pink and RED is the direction any change in Saturation goes. As I approach .03, the pink begins to stand out if I see all your other settings correctly.

I'm not sure about creating palettes and how much protection that affords from changing colors. In my opinion you took the right steps by restarting and opening a saved version. I almost want to point some blame toward the alpha but that seems pretty locked in.

Triple check that color swatch and don't get fancy with any button shortcuts while painting in case one of them toggled some setting we're not thinking of. Checking Accumulate and Add for the Blend mode might also restore white where you need it if things are still rosy.


how to clear parent inverse without actually moving the object

You can reset the parent inverse matrix, then apply the relationship between the original matrix and the parents onto the child object.

This script assumes you have the child selected.

import bpy
ob = bpy.context.object

# Store a copy of the objects final transformation
# so we can read from it later.
ob_matrix_orig = ob.matrix_world.copy()

# Reset parent inverse matrix.
# (relationship created when parenting)
ob.matrix_parent_inverse.identity()

# Re-apply the difference between parent/child
# (this writes directly into the loc/scale/rot) via a matrix.
ob.matrix_basis = ob.parent.matrix_world.inverted() @ ob_matrix_orig

Note, if the child has any shearing because of rotation and the parents non-uniform scaling, that will be removed, since loc/scale/rot can't represent shearing.


How to Snap/Align Verticies at an Angle.

You can scale the edges with a custom Transform Orientation with two axes locked.

Select some edge that has an orientation that you are happy with.
Once it is selected press ctrl+alt+Space to make(and activate) a new custom Transform Orientation from the edge. The newly created Transform orientation will have its Y axis going along the length of the edge.
You can now select all the edges that you wish to straighten. You could manually select them or use some tools from the Shift+g menu, or ctrl + click to select the shortest path between two edges and check Face Stepping option in the bottom of the t panel or the F6 panel.
You need the pivot center for scaling to be set to Individual Origins in the Header of the 3d View for this to work.
Then you just hit s for scaling, hit shift+y twice to constraint scaling operation to the x and z axes of the selected Transform Orientation only and hit 0 to scale them to 0.


If I got it right, what you could do is using hook to move one side of the shelf, like this

In edit mode, select all vertices of one side of the shelf, then, hook (CTRL+H) them to an empty like this

then you can select the empty

and moving it (here on Y) will "scale horizontally" your shelf like this:

Other setups are possible, this is just to give you the idea


How to make a generated texture follow a Bezier curve?

Thanks for the pointer, Carlo. Yes, enabling "use UV for mapping" helped; but I also needed to change from Object to UV as the input to the mapping node:

Animating the Y parameter of the mapping node makes the rings travel along the tube as desired. Thanks!


.data.vertices returns an empty collection in Edit Mode

A "snap shot" copy.
When entering edit mode, blender takes  a "snap-shot" object mode copy of the mesh.  (Differs from accepted answer, as AFAIK this is not a bmesh)  Any referencing of the mesh while in edit mode will be values of the copy.  The edit mode manipulated mesh is written back to the mesh when exiting edit mode, or via Object.update_from_editmode()
The question code is adding a new object entering edit mode via the operators enter_edit_mode property, in which case it reports the 0 verts.. of a new mesh object with no geometry.
Had we added the plane primitive in object mode, then toggled into edit mode and subdivided would report 4 verts (the unsubdivided plane pre edit mode)
updating the mesh from edit mode, eg inserting this line
obj = bpy.context.active_object
obj.update_from_editmode()
print( str(obj.data  ) + " vertices=" + str( obj.data.vertices ) )

would update the mesh and print 196 vertices.
Avoid edit mode.
In many cases can avoid edit mode completely.
My rule of thumb would be, if there is no need for the user input to select specific geometry there is probably no need to bother with the mind numbing overhead of numerous & repetitive bpy.ops.mesh... calls.
Avoid unnecessary operations.
A 12x12 cut subdivided plane is a 14x14 grid
>>> bpy.ops.mesh.primitive_grid_add(
...         x_subdivisions=14,
...         y_subdivisions=14,
...         )
{'FINISHED'}

>>> len(C.object.data.vertices)
196

instantly replacing all code in question.
Use bmesh.
If edit mode selection is required would recommend the use of a bound edit mode bmesh, bound in that it is tied to the edit mode mesh and any changes to selection or geometry  via bpy.ops.mesh... are instantly reflected by the bmesh data.
Have answered numerous questions and titled them bmesh script, so in no particular order  https://blender.stackexchange.com/search?q=user%3A15543+bmesh+script


Here is the constraints setup, that will solve the issue. I used naming convention from the tutorial, so constraints visible on the image are added to the tail bone.


Parametric primitives through python script

I don't know if you're still searching for this but I found something that may be what you're looking for. It's an Add-On called "Wonder Mesh". The Add-On allows you to generate and edit the parameters of its available primitives. That being said, the author states that you need to convert the object to a "regular mesh" if you want to modify the primitive. It overwrites modifications to the Object Data that were made in Edit Mode.

Here is a direct link to the Add-On:

https://blendermarket.com/products/wonder-mesh

(You can purchase it here or go to the bottom of the page for the GitHub link)

Here is a video on the most recent version for Blender v2.8:

https://www.youtube.com/watch?v=zUFWcGAoDPw

Here is a video on a older version (in case it's useful):

https://www.youtube.com/watch?v=WCnwnwuDbfk


Scene > Simplify
(don't go in edit mode with a mesh with a lot of subdivision: for example don't go in edit mode on a mesh you sculped)


Actually there is very easy way. Give the camera, one "Track to" constraint for each planet, that You want the camera focus on, and then Animate Influence of the constraints.
Although if You want different planets to be in camera focus in Depth of field settings, You need to create an empty, make it focus target and "Track to" target and give it "Copy Location" constraint for every planet. Then Animate influence of "Copy Location" constraints of this empty.


How to take away the wrinkles on the tentacles?

As it has been said, your topology is bad, the stretched triangles create these artifacts. To fix this, use the knife (K to activate, Z to cut through) to create new edge loops, and join (J) the vertices like that, and it should work:


Rendering animation frames with GPU and CPU

No, I would not recommend against it, mainly because even if there are problems with hybrid rendering with the native network renderer, it's REALLY easy to get around it. By rendering to a network location and turning ON "Placeholders" and turning OFF "Overwrite," any computers rendering to that location will sort it all out themselves, very nicely. This doesn't automate nearly as well as the Network Renderer (i.e. not at all), so if that's important to you, that would take some scripting.

But in short, there is a way to cooperatively render with multiple computers using a mix of GPU & CPU.


How do I permanently add materials to Blender using Cycles?

Append imports the materials into you current scene, so it is project related. Yes, you will have to append them every time this way.

The solution I'd use in this situation is to append them to the default scene and save the edited default scene as the new default startup file (google how to do this, its easy). When you start Blender, the scene will be loaded with the added materials.

Make sure that you make the materials persistent by hitting the "F" button. Blender deletes unused materials on close if they are not persistent. The button will add a "fake user" and the material won't get deleted.

Here some post that could help you out:

Changing startup file

About the "F" and the "2" button in material panel


You can write a script to create the groups with all the vertecies in one group for each mesh and then just join it.

I just quickly threw this together. I don't usually write much python, so don't confuse this with good code (I'm sure some list comprehensions could clean this up nicely).

import bpy;

selected = bpy.context.selected_objects
print(selected)
selected_meshes = []

# only use meshes of the selected objects
for obj in selected:
    if obj.type == 'MESH':
        selected_meshes.append(obj)

# for each mesh make a vertex group with all vertices in it
for obj in selected_meshes:
    vg = obj.vertex_groups.new(obj.name)
    verts = []
    for vt in obj.data.vertices:
        verts.append(vt.index)
    vg.add(verts,1.0,"ADD");

# join meshes
if len(selected_meshes) > 0:
    # copy selection to new context to avoid messing with selection of the current scene
    ctx = bpy.context.copy()
    ctx['active_object'] = selected_meshes[0]
    ctx['selected_objects'] = selected_meshes
    # this was jsut copypasta from here: https://blender.stackexchange.com/questions/13986/how-to-join-objects-with-python
    ctx['selected_editable_bases'] = [bpy.context.scene.object_bases[ob.name] for ob in selected_meshes]
    bpy.ops.object.join(ctx)


There is an option to export only deform bones in the FBX exporter.

For this to work you must uncheck the Deform option in the bone properties.


Material Reflection: Creating an Optical Filter in Cycles

Would something like this work?  The Glossy reflects only red and the Transparent Shader allows all the Green/Blue to pass.


The color ramp maps values to colors.

A black and white picture is made up of a bunch of pixels, each with a value between 0 and 1, where 0 is black, 1 is white and 0.5 is half way between, etc.

What the color ramp node does, is it takes a black and white input (if you input a color image, it will convert it) and re maps each pixel to a new value.

If a white pointer on the color ramp is at postion 0.5, then a value at 0.5 will be mapped to white.

To see this in action, lets look at two color ramp nodes:

The one on the top represents an un modified image, white goes to white, black goes to black, grey goes to grey.

The one on the bottom is a modified image, everything about .5 grey goes to white.

We will now have a little 3 pixel demo image:

[.25][.5][.75]

The first pixel is at 25% grey, the next at 50% grey and the last at 75% grey. Lets see what the lower color ramp will do to each of these pixels.

.25

The first pixel, at point two five will get mapped to .5. The reason is that it is half way between a white and a black point, and since the color fade is linear, the half way value will be .5.

.5

The pixel at .5 lands directly on the white pointer, and therefore is set to 1.

.75

The .75 valued pixel lands past the white pointer, between it and the end. This means that it will also be set to white, a value of 1.

What I would do now is put some images through the color ramp, using the image texture node, and just play around until you get the hang of what effect it is having.

Footnote The pixel at .25 would not have the value if the interpolation was not set to linear. For the sake of understandably I won't mention interpolation in detail, leave it a the default until you get the hang of things.


Reading and writing these values from Python must happen in Object mode. I added a plane and deleted one vertex, added the skin modifier and decreased the radius of one vertex.

>>> obj = bpy.data.objects['Plane']
>>> for v in obj.data.skin_vertices[0].data:
...     print(v.radius[:])
...
(0.25, 0.25)
(0.25, 0.25)
(0.08836718648672104, 0.08836718648672104)

Each element in skin_vertices[0].data has radius, use_loose, use_root to read and write. Radii can be any two element iterable (tuple, list).

import bpy

obj = bpy.data.objects['Plane']
for v in obj.data.skin_vertices[0].data:
    v.radius = 0.2, 1.2

I just realized that CtrlA lets you constrain the effect on radius per axis with ShiftX,Y.


Many bones don't have their "deform" option enalbled, and the armature is child of the mesh, while it should be the inverse.
To solve:
Select the armature and press Alt P (unparent, keep transformations).
In pose mode, select all bones, press the ALT button and while pressing Alt click on the deform bone option.
Then  in object mode select the mesh (first), shift select the armature, press Ctrl P, with automatic weights.


It doesn't work as you have it posted, you're missing some code. I can confirm that this code works in 2.78:

import bpy
def createEdge(coord1 = (-1.0, 1.0, 0.0), coord2 = (-1.0, -1.0, 0.0)):

    Verts = [coord1, coord2]
    Edges = [[0,1]]

    profile_mesh = bpy.data.meshes.new("Edge_Profile_Data")
    profile_mesh.from_pydata(Verts, Edges, [])
    profile_mesh.update()

    profile_object = bpy.data.objects.new("Edge_Profile", profile_mesh)
    profile_object.data = profile_mesh

    scene = bpy.context.scene
    scene.objects.link(profile_object)
    profile_object.select = True

# ACTUAL FUNCTION THAT TURN BONES INTO EDGES
def boneToEdges(armature_name):
    myRig = bpy.data.objects[armature_name]

    # which armature to work on
    #myRig = bpy.data.objects['Armature']
    #myRig = bpy.data.objects['metarig']

    # this actually return STRING NAME of bone
    boneNames = myRig.data.bones.keys()

    # the actual data to each
    myBones = myRig.data.bones

    for i, bone in enumerate(myBones):
       #print(bone.name, bone.vector)
        # every bone has HEAD and TAIL

        #loc = bone.vector
        head_loc = bone.head_local
        tail_loc = bone.tail_local

        createEdge(coord1 = head_loc, coord2 = tail_loc)
boneToEdges("Armature") # Change the name to your Armature Object Name. "


You have Ambient Occlusion enabled in the World tab. Uncheck it and your scene will be dark.


How to get all faces based on a certain angle of their normals?

Use Vector.angle(Vector)

To get all normals that are within 89 degrees of the -z axis in local space (down = Vector((0, 0, -1)) use face.normal.angle(down) which calculates the angle between the face normal and the local vector pointing down.

import bpy
from math import radians
from mathutils import Vector
context = bpy.context
obj = context.object
me = obj.data
down = Vector((0, 0, -1)) #  -z axis.
test_angle = radians(89)
# list all faces with normal less than 89 degrees to down
faces = [f for f in me.polygons
        if f.normal.angle(down) < test_angle]

print(faces)

Change the test_angle value to suit.


Set background color without effecting scene colors

As mentioned by @rjg, you will need to add the color in compositor. The reason, why the colors of other objects change, when you change background color is beacause the way light works. (And the fact that background is not just a color).

Now the way how to achieve what @rjg has mentioned is following.

Go to Propetries panel > Render > Film and tick the Transparent box.

Go to Compositor (Compositing workspace), tick Use nodes, add a Mix node and route RenderLayers Image output into the bottom Image input of Mix node and Alpha otput of RenderLayers into Fac input of Mix node. Set the desired color of the background on the first Image input of Mix node and finally route the output of Mix node to Image input of Composite node.

You can precisely set the color of the background by checking the color of a rendered image (right click on rendered image to see RGB values), or kind-of automatically (below).

You will notice the border line, where the plane ends, which is probably undesired and can be fixed by further utilization of the Compositor.

In the compositor you will need to apply a Feather (Dilatate/Erode - mode: Feather) filter to the alpha channel, before plugging it into the Mix node.

Feel free to adjust the Distance value (Note that it can be both positive and negative).

Here is a visualisation of what the Feather filter does to the alpha channel:

And the result:

Now each time you render, the background will be this color. Note however that the color of the plane might change if you add a light source or even an object (again due to the way light works).

Now for the last question, how to do this in python (I assume to automate this).
You could actually do this in python so that python script sets the color.

You would need to look at the rendered image, the way is described here, and determine what the background color is, then set the color on the Mix node to that value.

You can get very close to this behavior without using Python with this node setup:

You basically use the Translate node to move the pixel of the image, that you want to grab the background color from, to the middle of the screen. Then you scale the image by large amount (so that the whole image is made up of this one pixel) and you plug that into the first Image input of the Mix node.

Now the background color will adjust automatically.

Edit:
I found a way to setup the whole thing with Python and was eager to try it out, so here is the code.

import bpy

#select the point in pixels from which the background color will be selected
#note that it is not necessarily exact so it may be about +-4px (too lazy to do the math correctly)
target_x = 20
target_y = 50

render_p = bpy.context.scene.render.resolution_percentage/100.0
render_w = bpy.context.scene.render.resolution_x * render_p
render_h = bpy.context.scene.render.resolution_y * render_p

bpy.context.scene.render.film_transparent = True

#bpy.ops.node.add_node(type="CompositorNodeMixRGB", use_transform=True)
#bpy.ops.node.translate_attach_remove_on_cancel(TRANSFORM_OT_translate={"value":(-121.875, 273.423, 0), "orient_type":'GLOBAL', "orient_matrix":((1, 0, 0), (0, 1, 0), (0, 0, 1)), "orient_matrix_type":'GLOBAL', "constraint_axis":(False, False, False), "mirror":True, "use_proportional_edit":False, "proportional_edit_falloff":'SMOOTH', "proportional_size":1, "use_proportional_connected":False, "use_proportional_projected":False, "snap":False, "snap_target":'CLOSEST', "snap_point":(0, 0, 0), "snap_align":False, "snap_normal":(0, 0, 0), "gpencil_strokes":False, "cursor_transform":False, "texture_space":False, "remove_on_cancel":True, "release_confirm":True, "use_accurate":False}, NODE_OT_attach={}, NODE_OT_insert_offset={})

# switch on nodes and get reference
bpy.context.scene.use_nodes = True
tree = bpy.context.scene.node_tree

# clear default nodes
for node in tree.nodes:
    tree.nodes.remove(node)

# create input image node
in_node = tree.nodes.new(type='CompositorNodeRLayers')
in_node.location = -400,0

#create mix node
mix_node = tree.nodes.new(type='CompositorNodeMixRGB')
mix_node.location = 400,0

#create alpha filter node
af_node = tree.nodes.new(type='CompositorNodeDilateErode')
af_node.mode = 'FEATHER'
af_node.distance = -50
af_node.location = 0,-200

#create translate node
t_node = tree.nodes.new(type='CompositorNodeTranslate')
t_node.inputs[1].default_value = render_w/2 - target_x
t_node.inputs[2].default_value = render_h/2 - target_y
t_node.location = 0,200

#create viewer
v_node = tree.nodes.new(type='CompositorNodeViewer')
v_node.location = 200,400

#create scale node
s_node = tree.nodes.new(type='CompositorNodeScale')
s_node.inputs[1].default_value = render_w
s_node.inputs[2].default_value = render_h
s_node.location = 200,200

# create output node
out_node = tree.nodes.new('CompositorNodeComposite')
out_node.location = 800,0

# link nodes
tree.links.new(in_node.outputs[0], mix_node.inputs[2])
tree.links.new(mix_node.outputs[0], out_node.inputs[0])
tree.links.new(in_node.outputs[1], af_node.inputs[0])
tree.links.new(af_node.outputs[0], mix_node.inputs[0])
tree.links.new(in_node.outputs[0], t_node.inputs[0])
tree.links.new(t_node.outputs[0], s_node.inputs[0])
tree.links.new(s_node.outputs[0], mix_node.inputs[1])
tree.links.new(t_node.outputs[0], v_node.inputs[0])

target_x and target_y is used to select the pixel from which a color for the background is picked. It isn't necessarily pixel precise so choose a general area.

I have also added a Viewer node. If you click it in the Compositor (and you have backdrop enabled and you have rendered the image already) you will see a cross on the screen, pointing to the selected pixel in the backdrop. At this moment, you can adjust the Translate parameters manually to select a different pixel (Alt+V and V to zoom the backdrop in and out).

So just paste the script into Blender and run it.

A tip: If you are having a problem with anything, it never hurts to try things on a new blank file and get a feel for how a thing behaves. When you encounter problem in your file then, you will notice the moment when it went wrong with more ease and find solutions faster.


Particles started before animation does not appear in cycles animation render

So per Frederik's commment I looked into baking the particles and it seemed to do the trick...

In order to bake the particles, click "Bake All Dynamics" in the properties :

Thanks !


Know when edit-mode is entered by script? (python)

In your modal operator you can test object.mode for which mode the object is in - example:

import bpy

bpy.context.active_object.mode   # = 'OBJECT'

bpy.ops.object.mode_set(mode='EDIT')

bpy.context.active_object.mode   # = 'EDIT'

There is no callback, you will need to test this on 'tab' event or always to be sure..


Cycles: Shadeless "Shadow-catcher" Material for Rendering onto Footage

Divide objects into 2 scene layers, move actors (Suzanne) onto layer 1, move backgrounds onto second layer, place lights into both of them.
Setup 3 render layers - First for layer 1, second for layer 2 and third for layer 2 with layer 1 excluded:

Render it with transparent bacgrounds, it will produce results like this:

In compositor divide render layer 2 (BG_With_Shadow) with 3 (BG_Clean) - you now have a shadow to multiply over your backdrop and layer 1 to composite into backdrop:


How to create volume scattering material not throwing shadow?

Volume scatter will always make your lights seem darker. So you can make the lights brighter until you get the level you want.
You can animate the density.
$0$ density will make the volume scatter transparent, then bring up the value when you need the volumetric lighting.
As an alternative don't use volume scattering in the world, but on an object with volume scatter as voume, in a way in which you get the rays as you want, but not on the rest of the scene.
Another alternative is to disable ray visibility on light so that is invisible to Volume Scatter.


VSE: How to automatically snap the cursor to the selected strip?

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


Mesh face not rotating at the same rate as rest of the mesh

Thanks for the file, I feel now I can understand what you meant.

in weight paint mode you can see that (at least) some bone have incomplete weights to that arm: some part are blue while they should have been red.

this is causing a part of the arm not moving with that bone:

You just need to correct weights (all red) to make it move better with the bone:


Can Blender take two video files and overlay them with transparency?

Yes, this is possible.

To overlay a video, simply layer one on top of the other in the VSE timeline.

To make the top one transparent, simply use the opacity slider in the properties panel. 0 is for fully transparency, and 1 is for full opacity.


How to make blood splatter effect in the Blender Game Engine

Almost every game uses pre-rendered animated (sometimes) transparent textures applied to a quad attached to the camera rendered in front of everything else for such effects (the same way as a HUD is).
Such effects include, but are not limited to, rain drops, blood, damage (eg. red blinking emboss, injury texture, blood splatter).

It is both pointless and very CPU and GPU intensive to do it in 3D and/or in realtime. Pointless as since it is applied to the "camera" it follows the camera, so since it is viewed from one angle, there's no point in it being 3d rather than 2D and it is too CPU/GPU intensive to render it in realtime as fluid dynamics are still not fast enough for the average consumer GPU.

If you want the blood to increase as the health decreases, there are several design choices which can be used:

1) Apply several blood splatter textures on the same quad, on top of each other

2) As some games do it, just add a second red emboss texture quad on top of the blood quad as the damage increases. That texture can also be blinking (animate the transparency, or have the texture an animated video file or sequence of image files).

3) Have a blood animation where just a few blood drops flow to form a big blood pool and navigate to the corresponding frame as the damage increases (eg. if health is 100, set frame to 0, if 01, set frame to 120).


By default, pressing C in Sculpt Mode will select the Clay brush.

Similarly, pressing ShiftC will select the Crease brush.

You can simply change either of these shortcuts to the Clay Strips brush instead. Or you could add a new shortcut of your own using the same syntax.

In the screen shot below, notice how I've changed the function of the second shortcut to trigger the Clay Strips brush instead of the Crease brush.

Let's say you want to add your own instead of modifying the existing shortcuts. It's as easy as clicking "Add New", pasting in paint.brush_select, setting the Paint Mode to Sculpt, then selecting which Sculpt Tool you want. And of course specify the key, and the modifier key(s) if any.


To fix to shading in Blender, select the 2nd object in Object mode ...

go to Object Data Properties tab

expand ► Normals, and activate ☑ Auto Smooth, 30°
expand ► Geometry Data, and clear the x Custom Split Normals Data

go to Modifiers tab

remove the WeightedNormals modifier


Creating big number of arrary in blender

Create a single cube, scaled to the size you want to represent.  UV unwrap the cube. Add an image texture of the bill you want to use and set its scaling to match the number of bills you want across and along the surface.


Is it possible to refresh strips in the VSE

Select the strip and press Alt+R to reload, or Shift+Alt+R to reload and adjust length.


Is it possible in blender to change the dimensions of a downloaded 3d model in .blend format or .obj format in blender using python scripting?

I will be waiting for the clarification of the question and will do my best to edit my answer accordingly because the question is really poorly formed, however if you need a way to generate different human characters quickly defining properties and measurements of their body parts, you will definitely find ManuelBastioniLAB add-on interesting. It is a free and very well designed tool for parametric human character modeling.


Don't know of any shortcut to show and hide curve handles, or a way to turn them off by default in the settings (are you sure you didn't just add a mesh circle until now?).

But you can turn handles on or off through the Properties Panel (N) > Curve Display > Handle.

By the way, just for a bit of terminology and trivia:
These points on bezier curves are called Control Points, rather than Vertices (which are mesh points).


2.83: how to join cylinders and hollow out the junction

This particular issue arises in the old boolean solver.  The issue is that these shapes are exactly the same size and their points are coplanar.  The solver doesn't correctly eliminate all the faces.

2.91 introduced an exact solver that can be activated with a button in the modifier box, it is for these situations.


Is it possible to export marker location over time?

I just wanted to do the same thing: Export tracked marker locations in screen space for each frame. There is a Motion Tracking Export Plugin which seems to do that. Looking at its source code, the marker coordinates can be obtained in a few lines of Blender Python script:
import bpy

frameStart = bpy.context.scene.frame_start
frameEnd = bpy.context.scene.frame_end

clip = bpy.data.movieclips[0]
#videoWidth = clip.size[0]
#videoHeight = clip.size[1]
tracks = clip.tracking.tracks

for i in range(frameStart, frameEnd+1):
    firstTrack = tracks[0]
    #trackerName = firstTrack.name
    marker = firstTrack.markers.find_frame(i)
    x = marker.co.x # relative X coordinate between 0 and 1
    y = 1.0 - marker.co.y # flipped, relative Y coordinate between 0 and 1


Stretch normal/displacement to give entire mesh one color

After hours of messing around, I finally found a way of doing this. If you stumble across this post seeking the same results, here's how I did it:

Firstly, I re-orientated the normals of each face of the sphere to point upwards.
Next, I disabled shadows for the material seen in the image above. This can be done in the material settings.
Lastly, I created another translucent material that, with the help of a shader to RGB and color ramp node, will only ever be black or white. I assigned this material to the bottom half of the sphere.

I'm satisfied with the result. The cons is that this method will work best with eevee, only work with spheres/simple objects and the top half of the sphere won't cast any shadows.
You can also get something similar by combining a translucent and diffuse shader with the add shader node. This might be better in some circumstances.
I hope this post helps someone ^^


How do I curve an edge? Bevel not working!

You can use the LoopTools > Curve tool: Enable the LoopTools addon (available by default in Blender), select 3 vertices of the edge, right click > LoopTools > Curve. Play with the parameters in the Operator box if needed.


Trying to create a 3D print of a spray paint stencil and I'm having difficulty joining 'islands'. What I'm doing wrong?

I think the normals on the inside of your main character profiles are flipped .. it would explain the twisting on the bridge. Also remember, to be tidy, Bridge Edge Loops needs an equal number of vertices on both sides.

Try a quick CtrlN 'Make Normals Consistent' on the entire mesh in edit mode.

Have a look to see: in Edit Mode, Properties Region > Mesh Display panel > Normals > Face..

It would probably be easier to create the bridges in the flat, before extruding the thickness of the piece.. you could, instead of using a Boolean, Knife-Project the text down on to a plane, make the bridges, and then extrude.


Same image sequence one offset but not the other

Make sure that materials is different. If it is not true, you will see a number near material name:

In this case press on digit to make independent copy

Next step - image node. Click on digit here:

Also mesh data can be linked:

So do you understand the rule? Remove all digits to make independent copy of material, image, mesh data.


Does Blender have a tool to automatically create & set up a control panel for a character's expressions?

I am not aware of such a tool built-in into Blender. There is an option to use custom-properties to drive shape keys though. It is not as good as a python scripted interface, but does the job for small rigs.

https://www.blender.org/manual/data_system/custom_properties.html


Falling bricks building the walls of a house

I would try using making a rigid body simulation, upside down so that the bricks are animated to fall down from your model. Then, once the animation is baked, flip it 180d so that it is oriented correctly. Finally, play the animation backwards. If you want it to be layer-by-layer, you would have to find a way to bake each layer individually (If your bricks are individual objects, just select each layer to animate and play them in the right order).


What is the best workflow for decimating part of mesh on huge aerial models with high poly count?

In Sculpt mode, you could try to use the Dyntopo > Collapse Edges mode. It will change the minimum geometry size to the threshold chosen in Detail Size. Make sure the brush is at a Strength of 0.


AN - Change Color and Text on Empty Location

First Question

You can use the Delay Falloff node to do the animation after sorting them by name, making sure that our objects are named by their number.

Second Question

What you need to do is check the max 1D distance (distance between components of vectors) to see if the empty is located inside the square or not, so a node tree like this works:

Third Question

In the same loop, you add a text input and reassign it to the object name if and only if the boolean we computed before was true, so a node tree like this works:

I didn't describe each in details because you seem like you know AN. However, if you want them in details, please ask.


How can I render all the frames and not 1 frame at a time

Use the render animation button found in the render context of the properties editor (or Ctrl-F12).

If you are trying to create a video the best practice is to take those rendered images and add them to the video sequence editor as an image strip and then change the render settings to whatever video output you'd like and render the animation again.


Blender isn't too great for stitches in my experience since it lacks proper texturing tools like a world space based brush size. But I found 2 decent ways:

Make the stitches in 3D by modelling one simple stitch, adding an array and curve modifier combo, extract edge loops from your model, convert them to curves, and assign those curves as target for your array and curve modifiers. This will create believable stitches.
Paint the stitches in Texture Paint mode to affect diffuse and height map, you can use this images I made as a texture for your brush, mapping : 'view plane' and stroke method : 'line' with big spacing. But be careful as your brush size won't change on your screen when you zoom in and out so you have to manually adjust, unlike in Substance Painter.


Why is only one side of the object affected by subdivision surface?

I think the subdivision has applied equally to the whole surface (check the wireframe).. but maybe some of it is flat-shaded, and some of it is not.


Okey I found the solution to keyframe follow path curve. You Need Delete Evalution Time in Fcurve.

And Then Manually Set Values Frames and Evalution Time, Click I to keyframe.


How to align some vertices group by polygon/edge and axis?

This is a standard Boolean operator task:


fixating rotation around a dynamicly moving plain

When you click r for rotation you can limit the rotation on world axis by hitting ( xy or z) or on local axis ( xx, yy or zz)

first place the bones in a good way

rotate around the local axis
or
select the bone in pose mode
in Bone Constraints add Limit rotation constraint
setup the constraint according to your needs (in this case see the image )
now the bone will only rotate around the desired axis

Bones setup:

Bone constraint :

result :


By default the mirror modifier will choose its mirroring axes depending on the object's origin, not the world origin.

The origin of each object is marked by a yellow dot when it is selected. As you can see, your tooth's yellow dot is a little bit to the left of it, so logically the mirror modifier creates a copy with a symmetry relative to its that.

If you want to create a mirror with a symmetry to the world origin, you have to select in the "Mirror object" field of the mirror modifier either:

An object which you know has their origin in the world origin 0, 0, 0
Create a new empty object, and keep it at the origin point
Make sure your 3D cursor is at the origin with SHIFT + C and while your object is selected, right click > Set Origin > To 3D Cursor


how to array objects along mesh in blender and make it deform along mesh normals?

Here is an example of an array following a curve, so you'd look to extract an (interior) edge (of the object to follow) into a curve to array and curve the objects along.

hmmm... how to attach the blend file....??


Only render reflection of an object on an invisible object

A bit late, but this can be done with two render layers.

Put the objects that are to be reflected on one layer and the mirror on another layer, and make sure that the camera and any light sources are visible on both those layers. Under Relations in the Object tab, make sure both layers are selected (hold Shift while clicking LMB to select more than one).

Go to Render Layers and add one render layer. Under Scene select the two layers on which your objects are.
On the first render layer, make sure only the layer containing the objects that are to be reflected is selected. Leave everything else unchanged.

On the second render layer, make sure only the layer containing the mirror is selected, and under Passes make sure only Glossy: Indirect is selected.

Now go to the compositor. Make sure you're on the Compositing tab and have enabled Use Nodes. One input and one output node should already be there. Leave those alone for now. Add another one one, Render Layers (ShiftA > I > R or Add > Input > Render Layers) and select the render layer containing your mirror. It should only have a single output socket, Glossy Indirect.

Add a Math node (ShiftA > N > M) and set it to Greater Than. Connect the Glossy Indirect to the upper input socket of the math node. This checks if the intensity of the colour is greater than the value specified in the lower input of the math node. Anything greater than this will be set to 1 and anything equal to or less than this will be set to 0. This output will be a mask, and the value you specify is the threshold at which to mask. Connect that to a Blur node (ShiftA > F > L). I'm using Gaussian and enabled the Bokeh option, but the exact settings are a matter of taste. I found that I liked this best, but you may prefer something different.

Add a Set Alpha node and connect the output from the blur node to the Alpha input and the Glossy Indirect output from the Render Layers node to the Image input.

Add an Alpha Over node, and connect the Image output from the first render layer to the upper input and the output from the Set Alpha to the lower input, the the output from the Alpha Over to the Image input of the Composite node that should already be there. Make sure Use Alpha is enabled.

I used a slight roughness on the glossy shader for the mirror, and this makes the reflections a bit blurry. This will cause some parts of the reflection to have very low intensity, but still greater than 0, which can make it appear as if the mirror is showing although there are no reflections (i.e. black edges around the reflections). The threshold (the value in the Math node) controls how much of these will be visible. The blur node blurs the mask slightly, to get the reflections to blend better with a background image. If your mirror's roughness is set to 0.000, you may get good results with a threshold of 0 and no blur node.

Since this uses the fact that reflections are indirect light, it will not work as expected if the objects whose reflections you want to see emit light. And using Glossy: Direct instead, will also make the reflections of the environment visible. Remedying that will be a bit more complicated. If needed, I'll look into that too, but for now, this is what I have.

The result...

And the .blend I've used in this example.

The PBR Dielectric node group used in the included .blend was taken from
How to Make Photorealistic PBR Materials - Part 1 courtesy of Andrew Price.


You probably have keyframes set for your objects. If you have set a keyframe for an object and then you move it without overwriting the keyframe, the animated property gets reset on render.

To fix this issue move the object into the desired position and press I. Select LocRotScale to set the location, the rotation and the scale.

When you render the scene now, there should be no more problems with moving objects.


How do I join two objects without having the modifiers disappear?

Go to the modifiers tab on the side and press the apply button.

Please note that modifiers won't actually change the mesh of your object until you apply them. Before that it will just show you what it would look like in the viewport. I hope this helps!


Animation Nodes - Pressure Arrows / Scaling, Rotating and Changing color along surface

To put arrows pointing along the normals of the vertices of a room, you can sample the vertices normals, convert them to Eulers through the Direction To Rotation Node and use that euler along with the vertices locations ro compose a list of matrices representing the transformations of arrows. Then we you can offset those matrices just as you did implementing the variable scale and rotation, and the color can be set as a vertex color just as you did (Making sure Deep Copy is enabled in the instancer node):


I don't have the render, dimensions tabs in the scene panel

The problem is that you are currently in Blender's Game Engine. You need to switch it to either Blender Internal or Cycles. I recommend Cycles because of it's realistic lighting.


Textures are visible in Texture viewport mode, but disappear in Render and Texture Paint

Make Sure your 3D Mesh is UV unwrapped.

Your material must have a texture attached.

As a temporary investigation tool you may select  ... Material Shading [Shadeless] or add more lights to the scene.

Here is an example.

We are in the texture pane ... indicated with red and white checkerboard icon.
In the image above you see Object Name, Material Name, Texture Name ... next to the push pin. Reading that line verifies the attributes are linked. These names indicate an active hierarchy. Object with subordinate Material with subordinate texture.  They are linked, attached, bound.

It can be confusing that in 3D View Window you may see an image temporarily on your mesh.  Feature perhaps. During render only the texture pane setting will be rendered in Blender Render mode.

Because I created the object, then created one material while the object was selected, the material is bound to the object.  Next I switched to the texture pane. I created a  new texture immediately after viewing the material.  The check box for the texture is selected.  The texture is bound to the material.

I am simply restating the settings you see here for emphasis.  Type [Image or Movie].  Image source you see a filename from the hard disk. By clicking the button you will see a select file dialog.

More texture settings.

Mapping UV with understood default name. Influence [Color]


How to model an irregular object made of tubes?

Objects that are made out of tubes can be modelled with curve objects.

Shift+A> Curve> Bezier
On the curve properties make the curve fill type 'full' and set the Bevel depth and resolution to increase the diameter of the tube and the smoothness of it:

The curve on the left is what it looks like after adding it and editing it's shape in edit mode. The curve on the right is after the above settings have been applied.

You can extrude this curve and edit it similarly to how you would edit a mesh, using scaling, rotating and moving to manipulate the curve handles.

If at some point you want it to be a mesh you can select the curve and choose Alt+C> Mesh from Curve


Set this Environment Variable on Windows:
Variable: CYCLES_OPENCL_TEST
Value: NONE

On your Desktop, right click on the This PC icon and select Properties
Select Advanced system settings from the list on the left
Select Environmental Variables at the bottom
Under System Variables, click New...
Variable Name: CYCLES_OPENCL_TEST
Value: NONE
Click Ok several times to set the variable and close the settings windows
Start Blender without error


How do I do axis-locking + edge/face intersection snapping? (with screenshot)

You can enable Snapping by pressing the magnet at the top of the screen. If you click on the drop-down menu next to the magnet icon, you can change what Blender will snap to.

To toggle snapping via a keyboard shortcut, press Shift+Tab. Pressing Ctrl+Shift+Tab will bring up a pop-up menu for changing the snapping object.

If you don't want to toggle snapping, you can just hold Ctrl instead to enable snapping only while Ctrl is held down.


Why can't I pose my armature after setting a keyframe?

Make sure you are editing the bone and adding the keyframes in Pose Mode.

Go to the starting frame.
Make the Location/Rotation change you want on the bone
Press the i key and select Loc/Rot

This establishes your starting position and rotation.

Go to the end frame.
Make the Location/Rotation change on the bone.
Press the i key and select Loc/Rot.

This establishes your end position and rotation

Your animation should play as expected.


The next version of Blender, version 2.78, currently available here https://builder.blender.org/download/ will contain major improvements to the Grease Pencil. With these, you could get a really fast starting point for your example. The new release allows you to define specific brushes for GP, and also to smooth the stroke, which is what I'm using in this example.

First, enable the options like this (note that this is only available in the release stated earlier) and draw the curve onto the mesh directly by holding down the D key and click-dragging:

The smoothing option will, as soon as you let go of the mouse, smooth out the stroke, cleaning it up and making it usable for the next step.

Then, convert the pencil drawing to a curve:

Finally, add some bevelling, subdivide the mesh, and set the smoothing option:


Ctrl+Alt+0 moves the Active Camera to the current viewport position.

For this to work there have to both be a camera in the scene and the camera must be set as active object.

If some other random object is incorrectly set as active camera that object will be moved instead.

Either add a new camera to your scene and make it active, or make an existing one active for the scene by selecting the camera object and pressing Ctrl+0.

If you want to keep the current view you can then press again Ctrl+0 to return to the previous state and finally press Ctrl+Alt+0 to bring the now active camera to line up with the current view.


Why is this plus sign in a yellow circle appearing on the selected face?

Check your Tools panel, on the left of your 3D View (displayed with T), you must have activated the Extrusion tool, select another one if you want. To use the Extrusion tool, you can either click on it on the Tools panel, or activate it with the shortcut E, in that case you won't see the yellow point.


The grease pencil strokes are aligned to the window in which you draw. Strokes will appear in a plane that is perpendicluar to the Z axis of the camera (or to whatever other view you want to draw in).
Here is an example that shows how to draw in camera view (press Numpad 0).

The distance to the camera, in which the grease pencil layer appears, is determined by the placement of the 3D cursor.

Note that the link posted on the question refers to the annotation tool, which is a different tool than the Grease Pencil


Why does subtracting weights add weights to other parts of the mesh?

Turn off "Auto Normalize" and it'll work as expected.

What normalizing means:

Let's say we had a vertex group with four vertices that have a weight value of 0.1, 0.3, 0.45 and 0.7.
Normalizing these values would mean that every weight is scaled up so that the highest value is 1. To achieve that, divide 1 with the highest value and multiply your other weight values with the result.
In our case this would mean 1 divided by 0.7 = 1,4285714286.

If we apply this equation on our values, we get 0.14, 0.43, 0.64 and finally 1.

(Every value rounded to two decimal places.)


Anyone can do a debug build and make these files available, but typically we don't do this.

However - you assume the person fixing the bug has ms-windows, MSVC - etc, however many devs use Linux and OSX.
Even ignoring this, the crash data alone often isn't enough, developers need to be able to reproduce the bug so they can change the code and prove that the bug is fixed (without the trouble of sending you an updated build and having you test - which would get very tedious/slow).

Normally its possible to provide a blend file and some steps to redo the bug which is better for devs so they can redo on their own platform.


Fire looks better in 3D viewport then in render?

The viewer is broken regarding images with alpha, and composites them incorrectly. Never trust it. Never rely on it.

Composite your work using the Alpha Over node against an image and you will have an accurate rendering of your fire.


Why can't I change the weights of subdivided bones?

It looks like some of the vertices of the biceps are influenced by several bones, if you select one vertex of this zone and open the N panel (on the right of your 3D View) > Item tab > Vertex Weights, you'll see a series of vertex groups that the vertex should not be part of.
Also, if you select your armature and go in the Properties panel > Object Data > Skeleton > Layers, you have a lot of hidden bones that have their Deform option activated and that will influence this part of the body.
For example it looks like the wrist is the parent of some upper arm bones, therefore when you rotate the wrist it deforms the upper arm mesh. It makes no sense, you should probably correct these bones relationships. This correction should fix the problem.

But if you want to entirely redo the weight painting you can select the part of the mesh you want to rework, go in the Properties panel > Object Data > Vertex Groups and on the left of the Vertex Groups list, click on the down arrow icon and choose Remove From All, which will de-assign these vertices from all groups.
Now you can work in Weight Paint mode and give to this part the influence that each bone is supposed to have.
Instead of subdividing your forearm, you could choose to display your bones as B-bones instead of Stick (Properties panel > Object Data > Display As). Then choose the bone you want to segment and in the Properties panel > Bone > Bendy Bones, choose the amount of Segments you want for this bone. Then give it a constraint Copy Rotation that you put above the IK Constraint, and choose the hand as Target, Space > Pose Space / Pose Space. The bone flexibility is set in the Properties panel > Bone > Bendy Bones > Easing.


When I render the scene, the dress gets weird

Never mind, figured it out. (It only took me like 50+ legit hours)
I had the displacement modifier turned off. Simple solution.


Texture paint not staying in object mode

If the object is pink, it means that blender cant find your textures. It's probably an issue with your shading. Would you mind showing your nodes?


How do I add a Freestyle Line-Style to a Freestyle Line-Set using python script?

I hope it is not to late but everything related to the linestyle / lineset is in the documentation. Your code is right, you just missed the class member. The cool thing is that you don't need to add something :)

Blender 2.79

The Freestyle line class class bpy.types.FreestyleLineSet(bpy_struct)

https://docs.blender.org/api/2.79/bpy.types.FreestyleLineSet.html#bpy.types.FreestyleLineSet

The linestyle class class bpy.types.FreestyleLineStyle

https://docs.blender.org/api/2.79/bpy.types.FreestyleLineStyle.html#bpy.types.FreestyleLineStyle

You can even add modifier or use nodes.

import bpy
from mathutils import Color

sceneR = bpy.context.scene
freestyle = sceneR.render.layers.active.freestyle_settings

sceneR.render.use_freestyle = True
sceneR.render.line_thickness = 10
sceneR.svg_export.use_svg_export = False
freestyle.use_smoothness = False

#Set a lineset for the visible lines
LineSetV = freestyle.linesets.new('VisibleLineset')
LineSetV.select_by_visibility = False
LineSetV.select_by_edge_types = True
LineSetV.select_by_face_marks = False
LineSetV.select_by_group = False
LineSetV.select_by_image_border = False

#Set the lineset variables
LineSetV.select_edge_mark = True
LineSetV.select_crease = False
LineSetV.select_silhouette = False
LineSetV.select_border = False
LineSetV.select_contour = False
LineSetV.select_suggestive_contour = False
LineSetV.select_ridge_valley = False
LineSetV.select_external_contour = False
LineSetV.select_material_boundary = False

# Set the linestyle
LineSetV.linestyle.color = Color((1.0, 1.0, 1.0))   # Color
LineSetV.linestyle.thickness = 2.0                  # Thickness

Blender 2.80

Same with this version

FreestyleLineSet

https://docs.blender.org/api/current/bpy.types.FreestyleLineSet.html#bpy.types.FreestyleLineSet

LineStyle

https://docs.blender.org/api/current/bpy.types.FreestyleLineStyle.html#bpy.types.FreestyleLineStyle


How do you get second window in Texture Paint Mode

I figured it out.

Go to Texture Paint mode
Copy a new window by mousing over the top right of the window and then dragging left to create another window on the right
Change that window to show your model by click Editor Type in the very top left corner of the window and select 3D Viewport. Then to the right of that select Texture Paint


Blender 2.82 Eevee smoke problem (density)

I had a same problem until I tried to solve yours one.
I have found that the most helpful is decreasing Volumetrics End Distance or increasing Volumetrics Samples amount.

For some reason I couldn't make the smoke render with OpenVDB cache. So I changed it to modular Uni Cache and made a full bake.


Can I Put Multiple Animations on a Single Skeletal Mesh?

As Moonboots said, you have to turn a dopesheet window into an action editor and store every animation as an action, pressing the shield icon to enable the "fake user" function so that you won't loose your stored actions when the software is closed. Then, while exporting in Fbx format you have to enable the "all actions" option, so that the Fbx file will carry all the actions to UE.


Spacemouse NDOF, panning view2d other than front, right and top

I don't think this is what you are after, but I bound "shift" to my left button on the Spacemouse.

This allows easy panning in 2d views by keeping my hand on the Spacemouse.

Good luck!


Shear transform is a bit different that other transforms like Rotation and Scale. Angles and lengths between points is not preserved for instance. According to Wikipedia Shear is defined as:

  In plane geometry, a shear mapping is a linear map that displaces each point in fixed direction, by an amount proportional to its signed distance from the line that is parallel to that direction and goes through the origin. This type of mapping is also called shear transformation, transvection, or just shearing.

So we usually use Shear to distort a group of points. Try to use Shear as the local transform of an object and you will see some unexpected distortion. I am not entirely sure why, but it has to do with how blender interrupt the transformation.


Mirror Selected Faces Without Mirror Modifier

Did you delete half of your mesh before mirroring? Enable the Auto Mirror add-on in User Preferences and try using that to mirror your object.


Is it possible to interpolate missing frames in video editing?

Blender does not currently support inter frame effects that allow information from one frame to inform a later one. What you need is Optical Flow technology.  There are a number of software solutions available and even some free ones, depending on your OS.

This would be a neat trick for blender however, allowing you to render at half frame rate then interpolate the rest.


Error when using Deselect/Select All tool?

I found out that if I swap from Texture Paint to Edit Mode that I can simply press B, and select what I need.


You can change the "camera size" in properties object camera to enlarge your image while keep all light angle stay in place:

This is the thing that every photographer in real world want to increase, you can do it in Blender for free. Thank you, Blender.


Baking all paint slots into one material

Yes, just

1) Click image and create new image with the same size as your paint slots

2) Select the paint slots that you want to bake.

3) Then go to the Properties panel > Render tab.

3a) Go all the way down to the Bake dropdown and select the Bake Mode that you want. e.g. Textures

4) Go to edit mode and select your object

5) If the image you just created is not there anymore bring it back

6) Click Bake.

Don't forget to save your image


Apply rotation and translation to bones(Math)

Well I solved the problem already. I realized the transforms are done in the bone's local space, so they need to be calculated with the editbone's matrix before applying to the posebone.

for i in range(0, len(bones)):
    name = 'Bone.'+str(i)
    tran = frame.dTransforms[i]
    pb = pose.bones[name]
    eb = armature.bones[name]
    m1 = eb.matrix['BONESPACE'].rotationPart()
    e1 = m1.toEuler()
    e = Mathutils.Euler(tran.rotX,tran.rotY,tran.rotZ)
    e2 = Mathutils.Euler(e1.x+e.x,e1.y+e.y,e1.z+e.z)
    m2 = e2.toMatrix()
    m = m2*(m1.copy().invert())
    pb.quat = m.toQuat()
    pb.loc = m1*Mathutils.Vector(tran.locX,tran.locY,tran.locZ)


What does the use_local_location mean for bones

Apparently this setting only affects the way the location coordinates are displayed on the Transform properties on the UI.

When True, coordinates are shown using the bone local space.

When False, coordinates are shown using the parent space. (Global for the root bone)

Also note this only appears to affect POSED bones and has no effect when editing bones.

Also this can only be set on unconnected bones.


The best way to do what you wish to do is to use a texture, and a normal map. If you still really want to model them you can use an array modifier and a curve modifier. Hope this helps.


How to effect scale based on frame number Animation Nodes

Once I recreated your node tree I realized what you want is for the text to always read forward. To accomplish that I used the sign of the cosine of your rotation angle output, which is negative when the text is rotated away from the viewer, and used a 'copy sign' math node to build the scale vector.


As Moonboots has already suggested use the Conformal method when unwrapping.

Then In the Object Data Properties panel > UV Maps select the Leak UV map and click on the little camera icon to make it the active UV map.


Blender RC 3 and the official release of Blender 2.8 are not the same version. The last release candidate is a build based on commit 507ffee6e1f4 and the release version is based on commit f6cb5f54494e. That means there have been additional fixes between the release candidate and the final release.

In general it's best to update from official release to official release, unless you really need the cutting edge version. If you want to use experimental builds, be aware that bugs, compatibility issues and broken projects may happen.


How to export Blender model into Adobe After Effects?

After Effects is not a 3D program, therefore it can not import 3D objects by itself. There are 3rd party programs that can help import an OBJ file. One of the best is Element 3D by Video Copilot ($200). After Effects also comes with Cinema 4D lite which has built in pipeline for working with 3D. You could always export from Blender into Cinema 4D and then use the built in pipeline to get it into After Effects.

Hope this helps.


The challenge we have in general with feature requests is that a good place to ask assumes that there is some chance of developers reading and implementing it (or at least replying to the request).

However, developers get asked for features a lot (personal emails, on blender-chat, mailing lists, on social networks even!) — so chances are, you are not even the first person to ask for it.

The ratio of people asking questions to those who can implement them is so high that its difficult to usefully manage requests.

Especially since Blender is general purpose 3D software, there are so many things you might want to do, depending on your project.

Taking this into account, here are some suggestions:

Check module owners tasks
Search on forums (eg, blenderartists)

If nothing turns up:

Ask on rightclickselect.com(community run web site, currently in development)
Ask in the "User Feedback" section of devtalk.blender.org.
Find the developer who works on this are and mail them personally, see Module Owners
You could look into funding the feature, Either by hiring a developer directly or contact the blender institute (via the blender network)


What is a python command to create a node group or shader node tree from the nodes in the currently active material?

When you run a script from the Text Editor you use its bpy.context. The Text Editor does not have a node tree related API.
To run your script in a right context you can:

Pass a context to an API function as an argument.
Run an operator with your script in the editor using search menu.

To be able to find the operator in the search menu Developer Extras should be enabled.

Create a button in that editor to run your script.

Your code should be in the execute() function.
import bpy

class TEST_OT_poll():
    @classmethod
    def poll(cls, context):
        if context.space_data.type == 'NODE_EDITOR' and context.space_data.tree_type == 'ShaderNodeTree':
            return True
        else:
            return False

class TEST_OT_make_group(bpy.types.Operator, TEST_OT_poll):
    bl_idname = "node.test_make_group"
    bl_label = "Make Group"
    bl_description = ""
    bl_options = {'REGISTER', 'UNDO'}

    def execute(self, context):

        bpy.ops.node.group_make()
        bpy.ops.node.group_edit(exit=True)

        return {'FINISHED'}

class TEST_PT_panel(bpy.types.Panel):
    bl_idname = "TEST_PT_panel"
    bl_label = "Make group"
    bl_space_type = 'NODE_EDITOR'
    bl_region_type = "UI"
    bl_category = "Tool"

    @classmethod
    def poll(cls, context):
        if context.space_data.tree_type == 'ShaderNodeTree':
            return True
        else:
            return False

    def draw(self, context):

        layout = self.layout
        column = layout.column()
        column.operator("node.test_make_group", text = "Make Group")

classes = (
    TEST_PT_panel,
    TEST_OT_make_group,
)

def register():
    for c in classes:
        bpy.utils.register_class(c)

def unregister():
    for c in classes:
        bpy.utils.unregister_class(c)

if __name__ == "__main__":
    register()

Change the editor in the script with changing it back at the end.

But in this case, it may not update the UI correctly, and you have to use an unrecommended force update.
import bpy

try:
    initial_area_type = bpy.context.area.type
    bpy.context.area.type = 'NODE_EDITOR'
    bpy.context.area.ui_type = 'ShaderNodeTree'
    bpy.ops.wm.redraw_timer(type='DRAW_WIN', iterations=1)

    bpy.ops.node.group_make()
    bpy.ops.node.group_edit(exit=True)

except Exception as e:
    print(e)
finally:
    bpy.context.area.type = initial_area_type


Unable to find "Subdivide Smooth" option in blender 2.8

The 'Subdivide Smooth' option in previous versions of Blender simply applied a Subdivide operation with the Smooth parameter set to 1.0 - the Smooth parameter is available in the Tool properties 'Redo' panel available in the left-hand panel.

It seems that in Blender 2.8 the menus have been pruned to remove unnecessary options - instead, you can adjust the 'Smoothness' by simply opening the tool properties (the floating Subdivide panel at the bottom-left) and varying Smoothness :

However, I don't think that is your complete solution - in your case, possibly you also need to set the mesh itself to 'Smooth' shading. At 2.8, this is available in the Object menu as 'Shade Smooth' :


Preventing BI Emit material from lighting through objects

I tried to replicate, probably not identical, but it seems that indirect lighting is the factor mostly affecting that... I just reduced it from 1.0 to 0.2 here:

turning it off removes the colored shade completely (but also on the top face of the bottom cube):

Since indirect lighting here works only with "approximate" gather (if you use "raytrace" gather it works better and is very similar to turning off indirect like above), I guess that "approximate" word means: faster, but it does not fit well in all situations...

eg:


Does enabling crossfire speed up GPU rendering with cycles?

I tried rendering the bmw with both crossfire enabled and disabled (2 of my 3 cards)

The setup is
Radeon R9 280X
Radeon R9 270
Radeon 7870

The following time (2.11) is with crossfire enabled between the two R9's

while 1.33 was the time with crossfire disabled


Fluid - Sudden splashes during calm down

Id say rerun the bake. Fluid Dynamics are very complicated and your computer probably had some sort of Error which reslulted in a sudden net plus of Energy, thus creating the splash.
Another option may be resonance. See, the Fluid still has a lot of energy even if it is close to a resting state. And as all Dynamic systems tend to do, the Fluid kind of equalizes itself by moving. And so what can happen is that a lot of Energy suddenly gets released because a lot of Particels just happen to hit the right frequency. There is something similar that happens in the real world, but that is related to Quantum Mechanics. And Blender dosnt take those effects into account as far as i know.


Like so:

Emit all 'particles' in the first frame
Set emit from faces
Grid
. let resolution match you subdivision
assign the group and pick whole group or let blender pick random group member


You will need a model human to place the dress on. If you don't have one of these you can use the makehuman blender plugins to bring a human female into your scene.

You will also need to find or make a pattern for the dress, Ideally something that shows where to place the individual pieces on a sheet of cloth for cutting out.

Model the parts of the dress individually as flats pieces of cloth.

Place the parts around the model, you might want to either bend or cut your cloth to for larger pieces of cloth that need to be on more than one side of the model.

In the places where pieces of fabric are sewn together attach each piece of cloth using bridge edge loops in the specials menu (w) then delete faces only using the delete (x) menu. you should now have the segments of cloth attached by edges everywhere the dress will need to be sown.

head to the physics tab and place a cloth modifier on your dress (you may need to add a collision modifier on your human - I can't remember), from the cloth presets menu choose a stiff fabric (leather or denim) enable "Cloth Sowing Springs" and add a sewing force.

now try running the sim (hit play on the animation bar). You might need to turn gravity off and you will probably want to play with the quality settings.
You may also need to scale your dress object or reposition it to get it to sew together correctly.

This first cloth sim is to get the dress to stitch together not to get the final shape exactly right. Once you are happy with the stitching apply the cloth modifier, use "Remove Doubles", "Merge" and "Bridge Edge loops" to remove the edges without faces. Either mark the areas where the seams are supposed to be as hard edges or add geometry if you want those seems to be visible.

Now you are ready to do a second cloth sim, this time we want to apply it to only parts of the mesh which don't contact the body closely and need to fold realistically. This time choose cotton or silk as your preset and run the new sim.

Hope that helps


I need to animate a production line simulation (several rotating cylinders pushing a rubbery gasket material forward)

I'm sorry, the question was way too broad.

I've gotten a partial solution from Duarte Farrajota Ramos by experimenting with presets and ramping up bending to 1000 and structural to 500 for the rubbery material.

I'll create a new question for how to propel the piece of ruber track in the animation forward.


Object Light Emission - only on certain surfaces

You can have a object with multiple material.
In the material panel, there is a small '+' icon on the right, to add a new material slot. And define the second material you want to use.

Now got to edit mode (Tab), and select the faces you want for this secondary material. Then in the material panel hit assign.

However, this does not the change that it will be cumbersome for you the select the correct part of your CAD.

Maybe it's will be easier for you to split your CAD data in various file (or group some pieces in one file) and then in you CAD software export various STL file. Then you'll just have to set a meterial per STL file.


The answer was from Subol, he said that it wasn't thick enough, to make it "thicker", add a solidify modifier.


Why glass isn't darker when overlapping?

You're better off using a simple glass shader.

Give your glass a very light color so it lets a lot of light pass through (your example uses dark blue)
Use a simple Glass BSDF shader (Or Principled BSDF with Transmission=1)
Make sure to use high contrast lighting or HDRI (or the glass will look flat)


Api throws context error when adding UI tool to sculpt or particle mode

I had the same issue and figured out that there are a few issues in the python code. The problem is that context is not being passed into the methods for sculpt, but it is for all the rest. If you are up to it, you can edit the python scripts to fix this. There are 4 locations in space_toolsystem_common.py, 1 in keymap_from_toolbar.py, and 1 in _ _init__.py.

space_toolsystem_common.py:

Line 219 @staticmethod
Line 220     def _tools_flatten(**context**, tools):
.........
Line 241 @staticmethod
Line 242     def _tools_flatten_with_tool_index(**context**, tools):
.........
Line 274     for item in ToolSelectPanelHelper._tools_flatten(**context**, cls.tools_from_context(context, mode)):
.........
Line 291     for item, index in ToolSelectPanelHelper._tools_flatten_with_tool_index(**context**, cls.tools_from_context(context)):

keymap_from_toolbar.py:

Line 59     for item in ToolSelectPanelHelper._tools_flatten(**context**, cls.tools_from_context(context))

scripts/modules/bpy/utils/_ _init__.py

Line 769    item.idname for item in ToolSelectPanelHelper._tools_flatten(**_bpy.context**, tools)

That should fix it.


Where can I access Sketchfab upload (and other tabs)

Make sure you are in Object Mode, not Edit Mode, nor Texture Paint mode in the menu at the bottom of the 3D View Window Header. The tab will not show up unless you are in object mode.

Also in User Preferences > Addons make sure to expand the Sketchfab Addon tab and check the tab name written there. If changed the Title of the tab in the tool panel may differ.


Is it possible to add a button to an existing panel or node with python?

Yes. You need to find the class that defines that panel (usually pretty easy to do by right-clicking a button or setting in the panel and choosing Edit Source). From there, you just need to define a function and append it to that class. As an example, I do this in my Render Music add-on (in __init__.py, starting at line 82). Below is the relevant example that adds two checkboxes (properties defined by the add-on) to the Render Panel (RENDER_PT_render):

def render_panel(self, context):
    user_prefs = context.user_preferences
    addon_prefs = user_prefs.addons[__package__].preferences

    layout = self.layout
    layout.prop(addon_prefs, "use_play")
    layout.prop(addon_prefs, "use_end")

# Registration

def register():
    bpy.types.RENDER_PT_render.append(render_panel)

# Unregistration

def unregister():
    bpy.types.RENDER_PT_render.remove(render_panel)


Why is my proxy armature not highlighting when selected?

I needed to tick "In Front" in the armature panel "Viewport Display" and now I can select the armature with highlighting.


How to add an Image Reference to for Side/Front/Top

Press N to bring the properties panel, then enable Background images and select the image.

By default using an image as background will enable the image for all of the preset views.

By selecting the Axis you can restrict the image to appear in only one view.

To have more than one image simply add more images and specify an axis for them:

Remember that Background images will only be displayed in:

Camera Perspective view (Numpad 0)
Any of the preset orthographic views which you can access using the keys on the number pad:

Front/Back (Numpad 1 or CtrlNumpad 1)
Right /Left (Numpad 3 or CtrlNumpad 3)
Top/Bottom (Numpad 7 or CtrlNumpad 7)

Background images will not show in perspective view. To switch between perspective and [orthographic][3] view use Numpad 5

Background images are used for reference only and will not be part of the final render.


I made a circle similar to yours and extrude it.
You can add a driver to the Y rotation. See below:

You can change the value of driver to whatever number you want,
for example: frame / 2   can change to  frame / 1


My mirror modifier doesn't mirror on x axis and rotation shows 0°, I applied rotation already

Delete Mod, In object mode/ on the menu bar under Object/Apply (or Ctrl+A) apply Rotate and Scale. reapply mod


The normals on your main object are all flipped.
To see them, enable the checkbox on the Viewport Overlays dropdown. (Red means they're flipped!)

Select the object and then press Alt-N > Flip. You should find that the boolean works properly when you've corrected them.


Texture Only Correct in Texture Paint Solid Mode

You have multiple UV maps, and you painted on another one while rendering (UVMap.003 <=> UVMap). Go to the UV maps, and set UVMap.003 active for rendering by clicking the camera icon. There you can also clean up and delete the unused UV maps. You can see the layout in UV Editing workspace.
(Multiple UV maps are useful when you want to change the texture layout. You can bake or transfer parts of the texture with the clone brush from one image to another.)

Switch UV maps (Material Preview mode)


How can I present an array of booleans in a panel?

It works pretty well to use BoolVectorProperty and then in the UI to address each element by specifying the index and overriding the (empty) text.  I learned this reading http://blenderartists.org/forum/archive/index.php/t-264624.html .

ex:

myList = ["cat", "rabbit", "fox"]

class SpriteSheetProperties(bpy.types.PropertyGroup):
    sets = bpy.props.BoolVectorProperty(
        name = "Sets",
        description = "Which animal sets to render",
        size = len(SETS),)

class SpritifyPanel(bpy.types.Panel):
    def draw(self, context):
        layout = self.layout

        box = layout.box()
        split = box.split(.25)
        column = split.column()
        for i,set in enumerate(SETS):
            column.row().prop(context.scene.spritesheet, 'sets', index=i, text=set)

Doing this over a few different list, I now have this nice box:


How do I render a background image as a sky in blender 2.7x

For Blender Render you set the transparency in the shading panel.


Grease pencil strokes disappear in surface mode in Blender 2.8

I just recently experienced the same problem!

Maybe a solution to your problem:
In the "stroke placement" dropdown if you select "surface" there is also an option for an offset.
This works good.
However I found out that the offset to the projected surface as well as the thickness of the Gpencil is relative to the viewing distance to the object.

There should be an option for relative to object and relative to screenspace if you have placement on surface selected.
Where can we report this? I don't know how I can get in touch with devs...

Anyways, I hope that helped!


Prevent having to rotate faces every time I unwrap an object

It looks like "Pin" is what I was looking for.

In the UV Editor highlight vertices, edges, or faces you want to pin then:

Right Click -> Pin

This keeps the UV's wherever you left them during the last unwrap.


I'm answering my own question since I seem to have figured it out.

My issue was in Unity.  On the base layer of my player controller, blending was set to Additive.  I changed this to Override, and my animations are now playing smoothly within the game.


Cycles renders black areas in glossy concave mirror

It seems that it was a problem with the mirror object mesh. The curved surface was created in SolidWorks, and exported in .stl format.

I created another mesh taking reference from the imported .stl file and the problem was resolved.


I agree it would be nice to be able to enter a distance value after pressing G twice.
Method 1
Select the edge your vertex is on, and press Shift Numpad 1, 3 or 7, depending on the situation.
Then set the Transform Orientation to View, press the key to move along the desired axis (X,Y or Z) and enter your distance value.
Method 2
Select the vertex you want to move. press Shift + S and choose Cursor to Selected. Then press Shift + D to duplicate, but don't move it. Then extrude it in a a direction to make a helper edge (along a main axis, close to the edge you want the vertex to move along is probably best) and while doing this, type the exact distance you would want to move your vertex.
Now go to the snapping menu and choose Snap to Edge, check the box Align Rotation to Target, and for the Affect choose Rotate.
Then as Transform Pivot Point choose 3D Cursor.
Now rotate your helper edge, and it will snap to (and align with) the edge your vertex is on. The end of the helper edge will be at right distance. Now you can snap your vertex to that point and delete the helper edge afterwards.
Be sure though, before snapping the vertex, to go back to the snapping menu and choose Snap to Vertex, and for the Affect choose Move. (unchecking the box Align Rotation to Target is not needed but does affect the way snapping responds)


Create and render a cube in python from the commandline?

add
bpy.ops.render.render(animation=True)

at your end of your python code
Basically you've done all right - the cube will be created. You just forgot to tell Blender to render it out.


You may remove the edge creases by selecting the whole mesh or only the desired edges,  and then opening the properties panel with N
Then change the mean crease to 0

Another way is to press ⇧ Shift+E and enter a negative value (-1 for instance).
Documentation is here


Can I turn a procedural displacement into geometry?

Yes, you can.

But you need to use different modifiers for this.

First, remove subsurf and use multires+displacement:

You need to use multires for simplicity in creating normal map for game engine. With normal map you can create a detailed object without complex geometry, that important for game engines.

For creating normal map, unwrap your object (U), crate material and put image for baking in it, and in render settings select normal type and press bake.

After baking, save resulted image and setup it as normal map. Now you can remove multires, apply displace (for basic shape) and export your model in game engine.


Why don't the freestyle lines show in the rendered image?

Because (probably accidentally) you clicked on Exclusive, and now no edges are marked for inclusion. Click on inclusive, and you will see immediately some edges.

EDIT This is the result:


Animate size of each letter in text with effector

Animation Nodes
Animation Nodes is a blender add-on for visual scripting. See the Docs for more info. As you haven't worked with Animation Nodes before, I'll be a bit more specific i nmy explanations.
This is an all-AN-solution, if you don't care about creating the text object inside AN, you can skip the first 2 Steps and just create it by hand.
Text Input
We have different options to get our text into animation nodes including but not limited to:

Text Block Reader reads a text block in Blender. Best for multiline text.
Text Input if you only have a few words
Random Text thats what I am using here, so I don' have to think about words.

After you have typed in your text, linked a file or created a random string you have the possibility to process the text further. Repeat it, trim it, change case etc. Press shift + a and look through the different text nodes, I think they are easy enough to understand.
I'll go with some uppercase repetition similar to your example.

Creating A Text Object
We need to tell Blender, that we want a text object in the scene. We use an object instancer to create that object and an object output node to fill it with our text.

Separating the Text
Thats probably the most difficult part. Add a Seperate Text Object Node, select the Text Object you just created and click update.

Text Grid
Add a Grid Mesh Generator, that creates an easy to control grid for us. We use the vertex positions (through the Mesh Info Node) of this grid to align our letters with an Object Transforms Output. We won't actually see the mesh in the viewport or the renders.

If we didn't care about the order of our text that would have been it. Unfortunately...

The vertex indices start in the bottom left and go up, we want them to start in the top left and go right. SO we need another step:
Ordering the grid vertices
We rotate the grid by 90deg with a Transform Matrix and a Compose Matrix node and reverse the vertex list with a Reverse List node. Great.

This was basically just the Animation Nodes Setup. There are a lot of different ways with Animation Nodes to achieve the scaling, I'll show only one. But maybe that helps you experiment a bit.
Scaling each Letter
This is one possible Node Setup:

What is happening here?
We use the vertex location to create a random value for each location using a Vector Noise node. As we dont want our letters to scale different in each direction, we are happy with 1D noise. The Vector Noise node outputs negative numbers, so we add 1 to always kepp them positive. you could use a Map Range node so you'd have more controll over min and max values instead. We then compose a vector out of the noise value. The same value for X,Y and Z because again: we want the scaling to be uniform.
To animate the noise I use a Vector Wiggle Node in combination with a Time Info node to change the offset of the Vector Noise.
That's it. If you have any questions, let me know.
(Thats a long answer, but in the end you need 15 nodes. Thats managable imo.)


This is due to the filmic color management option. If you switch back the view transform to default, you get full white as background.

Filmic allows values higher than 1.0, so 1.0 is not displayed (and exported) as full white.

Another way is to crank up lighting or emission values, to reach about 16, which is where filmic outputs pure white.


Working with larger .stl wireframe files

You can reduce the mesh density in Blender by using a Decimate or Remesh modifier: create the modifier, change the settings until the mesh is as detailed as you need it, and then apply it. Don't forget to apply it or your mesh will still be very dense in edit mode.

If your mesh is too large for Blender to load at all, you could try using Meshlab, which is also free and open source and works nicely with .stl files. This video shows how to decimate a mesh using Meshlab.