Hair particle guides remain the same after simulation

It seems like it is not natively possible for now, but here is a Heveti's script

switch to Particle Edit - move at least one hair a bit to initiate hair editing
enable Hair Dynamics and Play animation to simulate hairs
move to frame where dynamics should be applied
lt- copy&paste script into blender's Text Editor and Run Alt+P script

Now when you switch to Particle Edit, hairs are at a position of your choice so you can continue with editing. Or enable Hair Dynamics again, move on start at Timeline and run simulation agin from this point of state.

    import bpy

# How to use:
# 1. edit hair system (important, move at least one hair, at least a bit to initiate hair editing)
# 2. run hair dynamics
# 3. move to frame where dynamics should be applied
# 4. run script
# 5. if happy, delete cache
# 6. keep editing hair

# get the depsgraph and the evaluated object
deps_graph = bpy.context.evaluated_depsgraph_get()
evaluated_object = bpy.context.object.evaluated_get(deps_graph)
# assume context object has a particle system (warning, no check), use active
particle_system = evaluated_object.particle_systems.active

# Variable to hold hair-verticies-coordinats
hairs = []

# At current frame
# For each particle (hair)
#   For each vertex
#     Store XYZ coordinates
for p in particle_system.particles:
    hair = []
    for v in p.hair_keys:
        hair.append([v.co[0], v.co[1], v.co[2]])
    hairs.append(hair)

# Deactivate hair dynamics
particle_system.use_hair_dynamics = False

# On static hair system
# For each particle (hair)
#   For each vertex
#     Overwrite XYZ coordinates
for p,hair in zip(particle_system.particles,hairs):
    for v,h in zip(p.hair_keys,hair):
        #print(v.co, h)
        v.co[0] = h[0]
        v.co[1] = h[1]
        v.co[2] = h[2]
        #print(v.co, h)

# Update view and UI
bpy.context.scene.frame_set(bpy.context.scene.frame_current)


How to make object move but stay within another object?

this is what you need to setup:

all the involved objects (plane, cylinder, toruses) must have rigid body enabled (to calculate gravity and collisions)
plane and cylinder must be passive, toruses active (they're moving)
all involved objects MUST have all transform applied

Plus, all objects (except plane perhaps) need to have the 'mesh' shape type setting, as shown in the picture. When you need to precisely evaluate complex geometries this is the best setting.
example:

then play the animation to get this:


Motion Tracking: save tracks but change movie clip

You need to load the old JPG (the "proxy" tracked scene)in the Movie Clip Editor, so you have access to the tracking information. Select the trackers toe be used for stablilizing the footage.

In the compositor create a Movie clip node that uses the new image sequence.

Create a "stabilize2D" node and use the tracking information from the old scene on the new scene.


UV unwrapping problem with image mapping

Hmmm .... There is a perspective problem (the perspective of the image and the Projected View don't match) and I think I should solve that problem in Photoshop. When I export the UV layout after UV unwrapping I can correct the perspective of the image in Photoshop (with the WARP tool) so that the image fits with the UV layout.

I think Cegaton is right with his comment (camera perspective in Blender and image perspective don't match) but correcting the perspective of the image in Photoshop does the job pretty good.

There seems to be a Blender Addon named BLAM that helps to solve this kind of challenges (thanks Cegaton).


Add a Speed control strip.

Then change the speed in the multiply speed control.

Then just adjust the render range of your project.


How do I make sunlight emit between clouds?

This has been asked before many times.

You need volumetric lighting to see beams of light shining through the environment

The reason you would see those rays in the real world is because all the suspended particles in the air (smoke or mist) reflect some light, making the air not completely transparent anymore.

Volume scatter simulates that effect.

Add volume scattering as volume for the world (or create a big box that surrounds the scene and connect a volume scatter node to the volume of the material shader as shown on this post). The default value of 1 is way to high, so bring it down a bit.

Add a lamp and give it a very high value for intensity.

Create a plane with a texture that controls the transparency.

IF you want a more elaborate scene, then create clouds with the cloud generator add-on. The important part is that the clouds create different degrees of opacity between the light and the ground


How to draw line with 2d thickness using Animation Nodes?

Let the thickness be $T$, the length of the base be $L$, the length of the other side be $W$, and the angle between the base and the other side is $\theta$. Then you should create a mesh composed of 6 vertices with the following vertices locations:

$(0,0)$, $(0,T)$, and $(L,0)$ are trivial. For the point $(L-T\cot{(\theta/2)}, T)$, the y location is trivial, the x location is computed by noting that $T\cot{(\theta/2)} = T\frac{\text{base}}{T} = \text{base}$, where $\text{base}$ is the base of the triangle composed from $(L,0)$, the point, and its projection on the x axis. For the point $(L+W\cos{(\theta)}, W\sin{(\theta)})$, $W\cos{(\pi - \theta)} = W\frac{\text{base}}{W} = \text{base}$ where $\text{base}$ is the base of the triangle composed of $(L,0)$, the point, and the projection of the point on the x axis. And $W\sin{(\pi - \theta)} = W\frac{\text{height}}{W} = \text{height}$ where $\text{height}$ is the height of the triangle composed of $(L,0)$, the point, and the projection of the point on the x axis. Finally, for $(L+\cos{(\pi-\theta)}(W-T), \sin{(\pi-\theta)}(W+T)))$, we add a vector to the aforementioned point, this vector is computed from the triangle composed from $(L-T\cot{(\theta/2)}, T)$, its projection on the the side whose length is $W$, and the intersection point between the projection lines of the point on the x axis and the side length whose length is $W$. Which conclude the derivation of the point locations.


Go to where you installed blender, and copy all the files except blender, blenderplayer, and uninstall to the folder where you .exe is. This should fix your issue.


Zero faces problem with model for 3d print

As a noob myself I have noticed a big amount of zero faces. Selecting them by clicking the Zero Faces "text" in the 3d print result block make them show up in the model. They are small faces. I measured a really big one to be 4 millimeter by 10 millimeter. The rest of my faces (the models!) are about 70 by 20 millimeter. I assume therefore that they are small faces that clogg upp the model, and wont contribute much. One way I have figured out to fix them is to select the mesh and use Merge by distance. Merge by distance is found if you have added the Mesh tools addon. Look elsewhere for how to do that. Under Utility tools there I found the Merge by distance. Mesh tools appear in the Edit vertical menu under the 3dprint vertical menu. I selected a side of my model and entered Merge by distance as 0.02 meters ie 20 millimeters. (In the small popup down left in the big part of the screen.) I set the selection tool to faces before that, ofc. :) With this method I will go around the model and merge the small faces.

So go around your model and select it and merge these small things away. Perhaps you can select the whole mesh and do it in one go. Good luck.

Edit.Btw I guess that: - "Intersecting faces" are two faces where one go through another without an edge. "Thin Faces" are faces that are at least partially on top of each other.

Edit 2: A more economical way of doing the same thing is selecting the "Thin Faces" in the 3d print addon, and then doing Select more in the Select (2nd row horisontal menu). This select adjacent faces as well as the original selection. Merging by distance will then correct that too. The merging by distance command works immediately so just shorten the distance gradually until your problem is solved.


How to make particles stick to mesh when Molecular Script is enabled?

I maybe have solved it using particles in the lower cubes, and particle linking on collision while simulating everything with molecular. Check the provided blend for more
details. (there is a text file inside, with a few small hints)

Short version: Cube particles are linked on birth, and also perform linking on collision with nearby plane particles.

Note, the particle linking may slow down the simulation.


How to assign a random color to objects and make them parent to specific objects using Python?

you can change the color with a simple random in r - g -b
and in order to assign each lipid_name as child of lipid_region you should use some loop... check this after run the script:

import bpy
import random

scene = bpy.context.scene

for selected_obj in scene.objects:
    selected_obj.select = False

Lipid_names = ['DGDG','DGTS','MGDG','PE','PI','SQDG','PG']
Lipid_regions = ['Lipid_DGDG','Lipid_DGTS','Lipid_MGDG','Lipid_PE','Lipid_PI','Lipid_SQDG','Lipid_PG']

for object in bpy.context.scene.objects:
    if object.name in Lipid_names:
        #color
        r, g, b = [random.random() for i in range(3)]
        object.active_material.diffuse_color = (r, g, b)

        #parent assign
        lipid_index = Lipid_names.index(object.name)
        parent_name = Lipid_regions[lipid_index]
        object.parent = bpy.data.objects[parent_name]


HDRI With Volumetric to Create Throw Pattern?

You can't use volumetric scattering and any kind of surface in the world settings simultaneously.
(see: Why doesn't an Environment texture appear when the world has a Volume Scatter shader?)
Volumetric scattering will completely obscure the HDR.
(Blatant Quote from the Blender Manual)

Volume World
A volume shader can also be applied to the entirely world, filling the entire space.
Currently, this is most useful for night time or other dark scenes, as the world surface shader or sun lamps will have no effect if a volume shader is used. This is because the world background is assumed to be infinitely far away, which is accurate enough for the sun for example. However, for modeling effects such as fog or atmospheric scattering, it is not a good assumption that the volume fills the entire space, as most of the distance between the sun and the earth is empty space. For such effects it is be better to create a volume object surrounding the scene. The size of this object will determine how much light is scattered or absorbed.

To illustrate this workaround: create a box around the scene (it will act as a domain) and have that box use volume scatter:

Please note that the volume scatter is plugged to the volume socket of the material for the domain, the surface socket should not be used.
Note that the default density for the Volume scatter node is usually too high at 1.0, use smaller values until you find one that works for you.
Here's a scene lit entirely by an HDR image (HDR credit goes to giantcowfilms.com).

Then, if you have windows and are using glass on the windows, you need to modify the shader so that it lets direct light through.
(read: How to illuminate the darkness inside glass objects in Cycles?)


They are just indicating the currently rendering tiles:

AFAIK there is no way to turn them off, other than disabling tiled rendering (anyway, IMO they are quite useful).

To disable tiled rendering in cycles, enable progressive refine in Render settings > performance:

To disable tiled rendering in BI, make the tile size at least as large as your render:

Note that disabling tiled rendering will increase render times, as in most cases rendering many small images is faster than rendering one large image. See Are there any advantages of bigger/smaller tiles.


Dashed lines (made with Freestyle) are rendering inconsistently

I can't get what you show in pictures above:

But I could be doing something different...? You could share your file on http://blend-exchange.giantcowfilms.com/ so we can use the same exact geometry.

I wonder if it could be some kind of this effect, instead: https://xkcd.com/1814/ :D


Which file format represents surfaces with quadric equations?

I don't know enough about math to interpret your specific math requirements but generally speaking mathematically defined models are as far as I know specified either as NURBS or in ACIS Solid format.

ACIS solids are used in many 2D CAD applications in the style of AutoCAD alikes and similar clones, but also in applications like FreeCAD or OpenSCAD.

It is generally more geared towards "hard suface" modelling, for geometric shapes like mechanical parts, engineering and industrial design.

On the other hand, NURBS is generally used for the same ends but where more organic or flowing shaped are required, like automotive industry, nautical design, aerospace engineering, aircraft design, etc.

Contrary to what you state, NURBS can be used for 3D models, while NURBS curves can be two dimensional they can also describe splines in 3D space, and NURBS surfaces are its extension to describing actual surface shapes.

Now it is not common to model human form in NURBS, most people do it using mesh based geometry mostly for a variety of practical reasons (like availability of software, animation capabilities, common tools and workflow, texturing, among others) but it has been done before.

To answer your question directly about a file format the two open standards that come to mind are either IGES or STEP, as far as open formats go that is all I know.

A better question would be What tools to use? since Blender is very poorly suited to deal with NURBS. Not only are its tools vestigial and its bare capabilities minimal at best; it cannot, as far as I know import or export any NURBS based data.

As for alternatives, the list of open source or free tools is sadly non existent, as far as I know.

The best known NURBS software is probably Rhino  and CATIA, both of which are more geared towards CAD and mechanical work.

Software like Maya and 3DS Max have builtin tools for NURBS work, but it is not its main focus. They use just proprietary formats to store their data, though most can export in both IGES and STEP.

For alternatives you may look into MoI, which is a far cheaper alternative and a very capable software, more focused simplicity of workflow and designing small parts (rather than full blown projects). It is closely related to and has workflow highly compatible with Rhino.


3d cursor on position of vertex of subdivision modifier mesh with 'adjust cage' on

One way would be to duplicate the object in Object Mode and then, for the duplicate only, apply the Subdivision Surface modifier. Then, snap the 3D Cursor to the desired vertex on this new version of the mesh. Afterwards, either hide the new version of this mesh, or, put it in a new collection so that it can be referenced at will in the future for this same purpose. You could also delete it if you know you don't need it anymore. But you now have your desired 3D Cursor position, and you still have your original mesh with a Subdivision Surface modifier that remains unapplied.


The manta flow integration isn't working that well.
It seems to be out of focus of current development goals, not sure why.
It has various issues, for example there is no world scale.
So essential a teacup can behave alike an ocean.
in 2.92 there is setting narrowband that might improve the rendering, for beams.
Another bug is that once the cache is made, its not refreshed on each setting change.
If you change some domain settings, you probaply dont see its effect.
What so far worked for me is to change the domain resolution, this forces a new cach rebuild, and new settings get effective. its a pain in the a** to do it like that but i dont know of other options.
Positive about this cache as compared tot he past you dont have to bake all frames before you see the result, and a needle preview option (unmeshed).

Updated answer
Though read the above parts as well.

Note some versions seem to have delete bake option now.
So you can quickly rebake the domain of the fluid. I used an alpha 2.92

For these kind of flows use a planar inflow it's an option which you can enable.
And when you do you can remove the surfaces pointing to unwanted directions (ea sides and the back surface).

Use liquid (not smoke)

Set the grid maybe a bit smaller

There is no need to put it surrounded by a fluid blocking object (if you use surface option), when you still want such an object have at least some surfaces stick out of the blocking object.

An extra trick is to set the object of the domain to smooth shading.
The're often highly detailed and smoothing really finishes it off to get that wet look.

I personally always use the latest alpha versions (its a choice), so i'm not sure if the other verrsions with manta have the free bake and bake buttons on the domain, i never kept track of it, though i think its new ??.
Freebake has the same effect of the altered fluid domain trik, to enforce new cache.
Result with workbench render, (higher cell size in domain) and more sub sampeling, to deal with high speed flows, result :
https://youtu.be/6Ic_pe8W8bY


The easier is to unwrap with 'project from view with bounds' :
That gives you a flat projection of your 3D model into the UV map part. This projection depends on the 3D view itself, so you may want to align your model correctly (using NumPad4 and NumPad6, for instance). Once done, you may have to adjust (grab and scale) your UV map a bit to fit your image.

Note : I took the wrong image from your screen captures, that why you still see the UVs from this image in the gif above even when the unwrap is done.


How come my mirror modifier messes up when I apply subdivision?

The order of stack modifiers is very important. When you apply the Subsurf Modifier the result will be as if it was first in the stack.
The solution is to apply the Mirror Modifier first and then Subsurf Modifier.
If you still want mirror modifier then you can delete half of the mesh and add the modifier again.


as @stacker said the answere was in How to check if two meshes intersect in python?

this the "new" code in order to answer your question:

note:  the "chosen object" must be the active object.. I mean the last selected object... check:

import bpy
import bmesh

def bmesh_copy_from_object(obj, transform=True, triangulate=True, apply_modifiers=False):
    """
    Returns a transformed, triangulated copy of the mesh
    """

    assert(obj.type == 'MESH')

    if apply_modifiers and obj.modifiers:
        me = obj.to_mesh(bpy.context.scene, True, 'PREVIEW', calc_tessface=False)
        bm = bmesh.new()
        bm.from_mesh(me)
        bpy.data.meshes.remove(me)
    else:
        me = obj.data
        if obj.mode == 'EDIT':
            bm_orig = bmesh.from_edit_mesh(me)
            bm = bm_orig.copy()
        else:
            bm = bmesh.new()
            bm.from_mesh(me)

    # Remove custom data layers to save memory
    for elem in (bm.faces, bm.edges, bm.verts, bm.loops):
        for layers_name in dir(elem.layers):
            if not layers_name.startswith("_"):
                layers = getattr(elem.layers, layers_name)
                for layer_name, layer in layers.items():
                    layers.remove(layer)

    if transform:
        bm.transform(obj.matrix_world)

    if triangulate:
        bmesh.ops.triangulate(bm, faces=bm.faces)

    return bm

def bmesh_check_intersect_objects(obj, obj2):
    """
    Check if any faces intersect with the other object

    returns a boolean
    """
    assert(obj != obj2)

    # Triangulate
    bm = bmesh_copy_from_object(obj, transform=True, triangulate=True)
    bm2 = bmesh_copy_from_object(obj2, transform=True, triangulate=True)

    # If bm has more edges, use bm2 instead for looping over its edges
    # (so we cast less rays from the simpler object to the more complex object)
    if len(bm.edges) > len(bm2.edges):
        bm2, bm = bm, bm2

    # Create a real mesh (lame!)
    scene = bpy.context.scene
    me_tmp = bpy.data.meshes.new(name="~temp~")
    bm2.to_mesh(me_tmp)
    bm2.free()
    obj_tmp = bpy.data.objects.new(name=me_tmp.name, object_data=me_tmp)
    scene.objects.link(obj_tmp)
    scene.update()
    ray_cast = obj_tmp.ray_cast

    intersect = False

    EPS_NORMAL = 0.000001
    EPS_CENTER = 0.01  # should always be bigger

    #for ed in me_tmp.edges:
    for ed in bm.edges:
        v1, v2 = ed.verts

        # setup the edge with an offset
        co_1 = v1.co.copy()
        co_2 = v2.co.copy()
        co_mid = (co_1 + co_2) * 0.5
        no_mid = (v1.normal + v2.normal).normalized() * EPS_NORMAL
        co_1 = co_1.lerp(co_mid, EPS_CENTER) + no_mid
        co_2 = co_2.lerp(co_mid, EPS_CENTER) + no_mid

        co, no, index = ray_cast(co_1, co_2)
        if index != -1:
            intersect = True
            break

    scene.objects.unlink(obj_tmp)
    bpy.data.objects.remove(obj_tmp)
    bpy.data.meshes.remove(me_tmp)

    scene.update()

    return intersect

obj = bpy.context.active_object
contador = 0
for sub_obj in bpy.context.selected_objects:
    if sub_obj == obj:
        print("is the same active object")
    else:
        obj2 = sub_obj
        intersect = bmesh_check_intersect_objects(obj, obj2)
        print("There are%s intersections." % ("" if intersect else " NO"))
        if intersect:
            contador +=1

print("How many objects touch one chosen object?: " + str(contador))


Thanks for the responses everyone. I realize I was asking several things at once. Here's what I figured out:

The sun lamp was too dim. That's why the results were not comparable with the HDRI.
I had to really turn up the the "Strength" and "Distance" settings on the bump node to get some effect. And turning down the roughness setting allows the "Dirt" to look like it's sitting on top of the metal.

Unfortunately, the effect looks more like metal than dirt, but the questions I was asking in this thread are answered.

Edit: I found that inverting the Bump node, gave more of the look I was going for:


I want to render a scene but have the sun lamp not be effected by a certian object

If the ceiling is not a separate object, first separate it. You can do this by going into edit mode, selecting all the ceiling related vertices and pressing P. And from the popup menu, select 'selection'.
Once the ceiling is separated, select that ceiling object and go to material tab. If you find any number next to the material, it means the material is being used by more than one object (other than ceiling). Click on it so that a unique material is created for the ceiling.

Now, with ceiling selected, go to material node editor and change the node setup as shown below. In my case, my ceiling material is a diffuse shader. This node setup essentially makes the ceiling invisible for the sun lamp.


Radial Simmetry

At the moment you are using only X simmetry. If you would like to sculpt the same thing in multiple directions, you should go for radial simmetry.

Just try to increase the number of Z iterations in the Simmetry panel:

You could also activate both X and Y simmetry to achieve a perfect mirroring on those axis too.


How to use an alpha map in Blender Render?

How to use an alpha map in the Blender Internal Render Engine

In the Material context:

Enable "Transparency" and turn the Alpha slider down to 0. This means at its most transparent it will have zero visibility.

In the Texture context:

Set the Influence to be Alpha instead of Color. You'll probably want this slider to be at 1, since this controls the total transparency of the texture. If you lower it, even the opaque parts will become somewhat transparent.


I'll show you how to model it as a one mesh with a clean topology.

Start with enabling the Extra Objects add on. Then add a Spiral (Add-->Curve-->Spirals). Play with its settings in a Tool Shelf (T).

Convert your curve to the mesh (press Alt+C-->Mesh from Curve). Fill the gaps with the F key (enable F2 add on).

Add the edge loop (Ctrl+R) as pictured below.

Use knife (K) to cut away the very top of the cone. Make the topology as pitured below.

Add a loopcut between the other two. Snap the cursor to selection (Shift+S-->Cursor to Selected), and scale it evenly with Alt+S.

You may now finish modeling and add the edge creases (Shift+R) or create a topology like the one pictured below to make the edge loops  for creasing work.

Add final two edge loops to crease the blade even more. Enable Subsurf Modifier and smooth the faces. You may also cut the bottom of the drill with the knife to make its base flat.


Dimensions vs Scale without affecting animation

apply scale and rotation

CTRL + A

las dimensiones no se cambian, solo puede cambiar la escala


Set the active face

To set the active face

me.polygons.active = <index of face>

or via bmesh

bm.faces.active = <BMFace>

Bmesh

Can use bmesh  in edit mode, bound to the object being edited. Takes away the need to toggle modes

Notice I set the mode to face.  Otherwise would need to flush the selection.

import bpy
import bmesh
context = bpy.context

context.tool_settings.mesh_select_mode = (False, False, True) # faces
ob = context.edit_object
me = ob.data

bm = bmesh.from_edit_mesh(me)

faces = sorted(bm.faces, key=lambda f:f.calc_area())
bf = faces.pop()
bf.select = True
for f in faces:
    f.select = False
bm.faces.active = bf
bmesh.update_edit_mesh(me)

In object mode can set all to false by looping or via

import bpy
context = bpy.context
context.tool_settings.mesh_select_mode = (False, False, True) # faces
# deselect all polygons

ob = context.object
me = ob.data
all_false  = [False] * len(me.polygons)
mp = sorted(me.polygons, key=lambda p: p.area).pop()
me.polygons.foreach_set("select", all_false)
mp.select = True
me.polygons.active = mp.index

set random active face in python without toggle mode

Is the active object and zeroth selected object always the same?


Wrong shading as a result of "bisect_plane" in bmesh

Following the comments in the question and the edit of it, here is a script that automates the cuts and smooth normals to the original.

The principle is the following:

Copy the original mesh
Set a data transfer modifier on the copy targeting the original
Cut the copy
Remove double vertices (because the cuts may create doubles and these doubles explain what is shown in the edited question)
Apply the modifier

The code is commented below. But if the comments are not clear enough, please tell.

import bpy, bmesh
from math import pi
from mathutils import Vector

#Utility: test if obj exists and is a mesh
def MeshObject( obj ):
    return obj is not None and obj.type == 'MESH'

#Utility: go in the specified mode, call the lambda and returns to previous mode
def InMode( obj, mode, call ):
    prevMode = obj.mode
    result = None
    try:
        bpy.ops.object.mode_set( mode = mode, toggle = False )
        result = call()
    finally:
        bpy.ops.object.mode_set( mode = prevMode, toggle = False )
    return result

#Cut the mesh and gets the normals for the vertices created during the cut
def CutMesh( obj, cuts ): #Original code from CoDEmanX

    bm = bmesh.from_edit_mesh( obj.data )

    for (plane_co, plane_no) in cuts:
        #Adds a bisectrice following the cut
        result = bmesh.ops.bisect_plane( bm, geom = bm.verts[:] + bm.edges[:] + bm.faces[:], plane_co = plane_co, plane_no = plane_no )
        #Gets the created bm edges from the result
        edges = [e for e in result['geom_cut'] if isinstance( e, bmesh.types.BMEdge )]
        #Splits the mesh according to these edges
        bmesh.ops.split_edges( bm, edges = edges )

    bmesh.update_edit_mesh( obj.data )

#Select all
def SelectAllVertices( obj ):
    for v in obj.data.vertices: v.select = True

#Get selected objects
def GetSelectedObjects():
    return bpy.context.selected_objects[:]

#Removes double vertices at the normals positions
def RemoveDoubles( obj ):
    bm = bmesh.from_edit_mesh( obj.data )
    bmesh.ops.remove_doubles( bm, verts = bm.verts[:] )
    bmesh.update_edit_mesh( obj.data )

#Duplicate the object
def DuplicateObject( obj, scene ):
    newObj = obj.copy()
    newObj.data = obj.data.copy()
    newObj.animation_data_clear()
    scene.objects.link( newObj )
    return newObj

#Duplicate the mesh and add a data transfert modifier to the copy
def DuplicateObjectAndDataTransfert( obj ):
    copy = DuplicateObject( obj, bpy.context.scene )

    #Auto smooth is needed as if not, the normals will be lost when the modifier will be applied
    copy.data.use_auto_smooth = True

    #Create the modifier, keeping mainly the default options
    mod = copy.modifiers.new( "Data transfer", 'DATA_TRANSFER' )
    mod.object = obj
    mod.use_loop_data = True
    mod.data_types_loops = {'CUSTOM_NORMAL'}

    #The copy is now the selection
    obj.select = False
    bpy.context.scene.objects.active = copy

    #Returns both copy and its modifier
    return copy, mod

#Creates cut objects from the selected object and normalize their normal to the original
def CutAndNormalize( cuts ):

    obj = bpy.context.object

    if MeshObject( obj ) and obj.mode == 'OBJECT':

        #Creates a base copy of the original object
        copy, mod = InMode( obj, 'OBJECT', lambda: DuplicateObjectAndDataTransfert( obj ) )

        #Cuts the copy according to the given cuts
        InMode( copy, 'EDIT', lambda: CutMesh( copy, cuts ) )
        InMode( copy, 'OBJECT', lambda: SelectAllVertices( copy ) )
        #Separates loose parts from the copy
        InMode( copy, 'EDIT', lambda: bpy.ops.mesh.separate( type = 'LOOSE' ) )

        #Get the objects created from the previous separation
        createdObjects = InMode( copy, 'OBJECT', lambda: GetSelectedObjects() )

        #And for each of them
        for createdObject in createdObjects:
            #Activate it
            bpy.context.scene.objects.active = createdObject
            #Select all...
            InMode( createdObject, 'OBJECT', lambda: SelectAllVertices( createdObject ) )
            #... in order to remove double vertices created by the cuts
            InMode( createdObject, 'EDIT', lambda: RemoveDoubles( createdObject ) )
            #And finally apply the data transfer modifier
            InMode( createdObject, 'OBJECT', lambda: bpy.ops.object.modifier_apply( modifier = mod.name ) )

print( '---------------' )

scale = 0.4
cuts = []
cuts.extend( [((i * scale, 0, 0), (1, 0, 0)) for i in range( -5, 5, 1 )] )
cuts.extend( [((0, i * scale, 0), (0, 1, 0)) for i in range( -5, 5, 1 )] )

CutAndNormalize( cuts )

Note1:

The result is not totally perfect where the cuts have created very small non quad polygons.

Note2:

I've tried to set the custom normals "manually" by affecting them directly. But I failed to do it. What happened is some per-face normals were wrong. I don't know why... if someone knows, please comment.


How to map procedural bricks on a Pyramid Part II

One method: Go to UV editor, and mark proper seams, then orient each face to show the bricks lined up the way you want, while using UV texture coordinates.


How can I create a template for a class of objects?

The choice of the technology is quite subjective but yes, blender and python could be a great solution depending of the complexity of the transform you need to do. I've made some addon that can generate complex object based on parameters and it work pretty well.

You could begin by defining a list of properties that can be displayed in a Blender addon panel, and add an update function on each of them that will redraw your car or parts of your car based on this parameter, change the size of the wheel base on a FloatProperty , the type of wheel or vehicle with an EnumProperty, ...

So, this is possible but keep in mind that if you want to make really complex operations, like mesh transform on high poly models, load complex parts, ... the update function will take more time and the properties update could make blender a little laggy. You can also decide to forget the real time idea and the update function in this case, to change the parameter and the clic a "process" button for more complex operations.

The question of the user friendly interface is another point. Do you think that blender is user friendly enough? The solution I gave you would be a Panel in the blender interface, surrounded by other blender functionalities. This is an easy and quick way to do what you want but your interface wont be dedicated to your app.  (It is maybe possible to do something better with blender games but this is out of my area of knowledge)


You can get the desired result using the UV mapping feature.

Start with U to bring up the unwrap menu. There will be several options. Try smart UV project. After doing that, hit F6, and set the Island Margin to 0.03, so you can see the gaps. Next open up the UV image editor, and you should see the layout inside. This is how the paper template will look. If you don't like it (probably to many separate parts) you can use a manual process.

To manually define the cuts, hit Tab  to enter edit mode. Select the edges where you will wan't gaps. Be sure to select enough that it can sit flat. Hit Ctrl-E>Mark seems then use U>Unwrap and set the Island margin to 0.03.

Finally, when you're satisfied with your layout, Go to UVs>Export Uv Layout and save the image.

Useful further reading and help:

Importing an OBJ file: https://youtu.be/5t2Ntn6JDAY?t=1m53s


Ok, got it! (sorry, couldn't post a comment since i haven't got an account)
This works what I searched for.
try:
   posemp = bpy.context.active_object.location
except:
   posemp = bpy.context.scene.cursor.location

bpy.ops.object.empty_add(type='PLAIN_AXES', location=posemp)


You can try to start with lower resolution. Like here is use Circle with 12 vertices. Screw mmodifier with 12 Steps, Screw 1.73.
Duplicate Circle and use as top sphere, just change Screw to zero.

I'm not sure how transition should looks like, but you can just use Boolean modifier > Union ...
Before boolean, Apply Screw modifier, Merge by Distance 0.04 small inaccuracy. From top view box-select all center vertices and delete. So you get clean topology. Apply Boolean modifier. Loop select inner screw and mark as Sharp ⇧ Shift+E 1. Then add Subsurface modifier, Smooth shading. Under Data properties > Normals > enable Auto Smooth.

... or probably more natural it will result with upper part of sphere and manually delete unwanted faces and reconnect.


In the VSE window, select an item, press N, press the folder icon and relocate your missing file. Do the same for every missing file.

These are the settings for saving as mp4, with H264 codec.


Boolean difference produces incorrect result

Make sure you apply the scale and rotation of the objects. In Object Mode select an object and press CTRL + "A" and select "Rotation and Scale" from the drop down menu.


Can I use code in Cycles Mode that will run my human baby AI?

Using python you can create an animation that can be played back and rendered using any render engine at a later time.

bone.rotation_euler.x = 15.0
bone.keyframe_insert('rotation_euler', frame=10)

As you want to read external data while creating your animation you might want to look at using the subprocess module to keep blender responsive.

Without wanting interactivity you could capture your data to a text file and have your script read it in to create the animation.

with open('mydata.csv') as csvfile:
    inFile = csv.reader(csvfile)
    for row in inFile:
        bone.rotation_euler.x = row[1]
        bone.rotation_euler.y = row[2]
        bone.rotation_euler.z = row[3]
        bone.keyframe_insert('rotation_euler', frame=row[0])


When should object parts be part of the mesh and when separate?

There are no rules about this. Whatever is more convenient for you in a specific situation and whatever works is fine.


You need to apply the modifier before you can edit it in edit mode. Hope this helps!


Blender 2.83 Cycles Not Rendering New Objects

From a similar question on SE I found the solution. The VSE has a previous image that is over riding the render result....
Why is my image sequence render using an old version of my animation?
I solved my problem by unchecking "sequencer" in the "post processing" tab.
Alternatively I could remove the existing images in the VSE


Blender Armature/Rig exported, without Bones but with Animations (to Unity)

I recommend you check your export options.

It should look something like this :


The box with the settings is not showing up when i add a new object

It's called the Adjust Last Operation menu.
just enable it in View > Adjust Last Operation

Also if you press F9 it will pop up wherever your cursor is.


First select your object, the view that you prefer (in my case I'm using orthographic view). Then enter edit mode.

Now, you have a plane at the bottom, so to get a better view, let's hide that plane. To do so, rotate the view like the image. Please make sure you are in face selection, look at the top left of the image.

With the bottom plane selected, press H to hide the selection and then it will look like this.

Now go to top view => (numpad 7) and please make sure you are in orthographic view => (numpad 5)

Change to vertex selection on the top left corner

Change Wireframe (top right corner of image)

Now let's get to work:

First, select the vertex like in the image.

Then press S then Y then 0 (zero) and ENTER. What this means is that you are telling blender to "S" = scale all the selected vertices in the "Y" axis to 0, this will cause to all selected vertices to align in that axis.

Press Alt + A if you are in Blender 2.8 or just A if you are in a previous version to deselect the vertices. Then select the left side vertices like this.

Now repeat the alignment procedure but in the X axis, press S then X then 0 then ENTER.

Let's repeat the procedure on the right side.
First deselect all the vertices with (Alt A or A) depending on Blender version.
Now select the vertices like in the image.

Again S then X then 0 then ENTER.

Finally do the same on the bottom. Select the vertices (Don't forget to deselect the side vertices first).

Align the vertices on the Y axis (S then Y then 0 then ENTER).

Let's take a look at your object. Press Z and select solid.

Look that there are some discrepancies. There is a tiny gap and lack of roundness. Let's fix this.

Select the four vertices like in the image, now press "S" => scale then "X" for the x axis, hold down Shift and slowly move the mouse cursor to the center of the object to get the vertices closer to each other in the selected axis. Do this until you like the results.

Now for the gap, let's select the top and bottom vertices like in the image.

Press S then Y then hold shift and slowly move the mouse until the gap is closed.

Here is the result.

Hope this can help you. If you have any doubts let me know.


How to animate object rotation on a single local axis when local and global axis not aligned?

You can simply use the Copy Rotation contraint:

Create a new empty;
Select your object, switch to Constraints tab in Properties Editor, add a Copy Rotation constraint, set the empty as Target, toggle Offset, set Local Space as the owner space (current object).
Then you control the rotation by rotating the empty.

Tip: For quick constraint creation, you can also first select the empty, then holding Shift to select your target object, then ShiftCtrlC -> Copy Rotation.


how to Isolate Vertex Groups so they don't combine when edges collide

Very likely you have AutoMerge enabled in your UI. Check if this button here is clicked when you are in edit mode:

When this is on, and you move one vertex to the same location as another one (like you do in your example), the vertices are melted together. It's a feature - rarely used as far as I know - which by default is disabled.


Where is the default save for animations?

I was able to find the missing frames by starting a new instance of blender (has to be new project) and looking at the default save location.
For me, the default save file was C:/tmp/


Objects places opposite partly in particle system

I found out!
If I apply rotation and scale, then it works.


If I scale this part, I can see some empty space there

From the looks of it you appear to be using a mirror modifier. To fix this tearing caused by scaling; enable "clipping" in the mirror modifier window.

Use the GIF below for an example:
https://imgur.com/pZNoMDe


Both text objects are located at exactly the same y-coordinate (0). To fix this move one of the text objects slightly along the y-axis after that the z-fighting artifacts will disappear.


rotation via python does not the way i would it have expected

Use variable names.
import bpy
context = bpy.context
scene = context.scene
ob = context.object

The  context variable step is for when your test code works, and you wish to make an operator, can very easily copy an paste blocks of code. To where  context is a usual suspect in operator and panel method arguments.
Reducing a line like
bpy.context.scene.cursor.location = bpy.context.active_object.location

to
scene.cursor.location = ob.location

Remove default settings from operators.
Sure can copy the complete operator call from the info window, but what of these settings do  you need to set? Consult the docs, if it's default it's not required, reducing
bpy.ops.transform.rotate(
    value = math.pi * 2 - angle * i + math.pi / 2,
    orient_axis='Z',
    orient_type='GLOBAL',
    orient_matrix=((1, 0, 0), (0, 1, 0), (0, 0, 1)),
    orient_matrix_type='GLOBAL',
    constraint_axis=(False, False, True),
    mirror=True,
    use_proportional_edit=False,
    proportional_edit_falloff='SMOOTH',
    proportional_size=1,
    use_proportional_connected=False,
    use_proportional_projected=False
    )

to.
bpy.ops.transform.rotate(
    value = math.pi * 2 - angle * i + math.pi / 2,
    orient_axis='Z'
    )

to rotate globally (the default) about 'Z'.
What I think the issue is.
If using set origin to cursor, pays to know where that cursor is, and unless it is a script where this is used and set by the user first, make sure its location is a known entity.
scene.cursor.location = (0, 0, 0) # so we know where it is
setOriginToGeometry(ob)
bpy.ops.transform.rotate(value = math.pi / 2, orient_axis='Z')

IMO better still, make it an argument and  pass it to your origin set method, and set it (and reset it) there
Or better still, just don't do it with operators, most of time they are not required & IMO it will drive you nuts, so instead I'm....
Revisiting this answer.

Thank you very much for your answer batFinger. Unfortunately i do not
understand it. But that is my fault because i have just a few days
experience with Blender python and i am pretty proud i made it that
far (from my - i have no idea what i am doing - point of view ;).
Hopefully i do understand your answer in a few weeks when i am diving
deeper into that very amazing topic

This begs the question.. hows it going with operators?, am aware how we can become  attached to getting a script to work...(guilty myself on many an occasion) IMO once we "See the light" will never return to using code designed basically as a UI interface to do simple tasks like transforms (translate, rotate, scale).

In this example add the scaled cylinder at (0, 0, 0)
Emulate the edit mode rotation of 90 about X axis, and translation of 1 (radius) units in Y direction with a translation and rotation matrix.  The objects origin will remain at (0, 0, 0) and the mesh will be at 12 o'clock (top view) and can be simply rotated around the clock with its Z rotation property.
The Mesh.transform(matrix) uses the matrix supplied to transform all the vertices of the mesh in one fell swoop. A 4x4 (rowsxcolumns) transform matrix, like the matrix world is made up of its translation, rotation, scale parts
M = T @ R @ S

Here we have use T and R
import bpy
from mathutils import Matrix
from math import pi

context = bpy.context
scene = context.scene
radius = 1
# create our object to array
bpy.ops.mesh.primitive_cylinder_add(
        location=(0, 0, 0),
        scale=(0.1, 0.1, 1),
        )

ob = context.active_object

T = Matrix.Translation((0, radius, 0))
R = Matrix.Rotation(pi / 2, 4, 'X')
ob.data.transform(T @ R)

Effectively this has made our object lie in the XY plane, point up (+Y) and shifted its origin 1 down from its orginal location.


Actually you should be able to render 4k without slicing the image into parts, however here some options:

"Slicing" you can create several view layers and always render a part of the image and combine then later in your editing software of choice
"Splitting" you can split your scene in foreground, background etc and combine the layers in compositing blender guru 2.7 sample
"Add-on" there is also an add-on (not sure if it's for 2.8+) set render border addon

This question also got asked at stack exchange previously


Circular dependency for image "Normal" from object "Plane" while baking

The circular dependency error means you are trying to bake to the same image where you need a separate image meant as a baking target, or that you have 'bake from selected to active' checked and are only needing to bake a single object. Untick that option and you should be able to bake to a new image texture that is selected in your node tree.


How do I open my .blend file as a folder?

You can't.

blender files use a custom binary format for a lot of stuff, so you really need to open blender to modify them safely.

There is a bit more information here:
How would you go about reading a .blend file? I mean all of a .blend file, not just the .obj information

The best way to achieve similar functionality would be to do it as an addon within blender, so blender can handle file operations.


Creating "sharp" chamfer in blender fast

DISCLAIMER: If you want faces, created by chamfer to be flat, this won't work for you.

As far as I know, there isn't any way integrated into Blender to do this, but you can do it really simply yourself.

If you have three edges coming together, select two of them and do a regular, one segment bevel (Ctrl-B) and remember the offset value (0.2 in my case). Then, select the third edge and do the same bevel, with the same offset to it. If you want, you can get rid of the excess edge with Delete > Edge dissolve.

A gif of this: Imgur

The chamfer on the cube was done in 2 steps and the one on the pyramid was done in 3 steps (without dissolving excess edges).


Boolean modifiers do not work, when boolean objects are in certain positions

Boolean doesn't work when faces are overlapping, at least until the recent versions, maybe they will fix that, so you need to find another method for the union one, maybe simply do it manually.

About the Bevel modifier, you've choosen None mode, so it will bevel every edge, and you've enabled Clamp Overlap option, that won't allow you to do any overlapping. With the given topology you won't be able to bevel anything without overlapping. So what you should choose is the Angle mode, or perhaps Weight if you want various bevel strengths depending on the edges, and disable Clamp Overlap. But even with those options I'm not sure it will be easy to manage your topology.


Different texture space in the same mesh?

Unless I'm mistaken, the texture space is an attribute of the texture, not the material, so if you have two materials with different textures, each texture will have its own texture space; if you have two materials that use the same texture, both materials will have the same texture space. So, you can have two different texture spaces, but they need to be assigned to different materials, although the two materials themselves can be identical (except for the material name), one for each texture.


A problem while rendering wineglass in Cycles

It's a problem of normals, you need to flip the normals in the Screw modifier:


Select object then use (for texture sort 0, after create texture):

bpy.context.object.active_material.texture_slots[0].use_map_color_diffuse = True


What are these spots that appear after using subsurf modifier?

It simply means that the subsurf is generating mesh outside the bounds of the non-subsurfed mesh. It's not an issue and they will not show as soon as you Tab back to Object Mode.


In the video he is using the beveling for vertecies tool . For doing this,select the vertex and press Shift + ctrl + b


How to use External option in Texture painting?

1- Choosing the resolution of the projected image - "Screen Grab image"
2- Select the desired angle in the viewport
3- Click "Quick Edit"
4- it throws us into the program for 2D editing (important - check that the path to "Image Editor". Path - Preferences > File Paths > Applications > Image Editor). We draw and edit the image any way we want, then (importantly) we merge everything into one layer and save it.
5- Then in Blender press the "Apply" button.


While trying to make a walk/run animation CTRL+SHIFT+V doesn't work correctly

The symmetry of the IK controllers is bad, here is what we have currently:

If I delete the right leg and symmetrize the left leg, here is what I have:

Now it works correctly, except I'm not sure about your feet Copy Rotation constraint but it's another problem... (I would rather parent the feet to the controllers and give them a Copy Location with the lower legs as targets and the Head/Tail value at 1).


Plane not rendering, but is visible in materials mode

The "Duplication" setting of your Plane object, which now looks like this:

should be set to "None".


Cannot select vertices of any object In blender, while in edit mode and using Archipack

I updated my Blender to 2.91 and I already can select the vertices again, but if you manage to give another solution I have 2.90 as well so another person can find an answer to this problem.


Using panels in 2.8+
It's my opinion that many (including my previous self) get over enamoured with invoking modal dialog props dialogs.
Currently question code has some empty operator (execution wise) that is basically  a draw method. Often I see code where the functionality of the operator used to draw a popup could be replaced entirely by a group property and update methods on the individual properties, hence may as well put in panel code.
IMO if you want a nice stable UI use a panel
Since the advent of 2.8 there is  the ability to

absolutely size panel content

Popup a panel with an operator wm.popup_panel(...)

Popup a panel from draw method (no operator layout.popover(...)

Make child panels.

Here is an example which I've demonstrated in text editor.  (based from good old Hello World Panel template)
In the UI N panel (context.region == 'UI') the x ui width is set to 0 making the add cube operator button the width of the panel, if invoked from the FOOTER region then the panel is 20 wide.

import bpy

class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "TEXT_PT_hello"
    bl_space_type = 'TEXT_EDITOR'
    bl_region_type = 'UI'

    def draw(self, context):
        print(context.region.type)
        layout = self.layout
        layout.ui_units_x = 0 if context.region.type == 'UI' else 20
        obj = context.object

        row = layout.row()

        row.label(text="Hello world!", icon='WORLD_DATA')

        row = layout.row()
        row.label(text="Active object is: " + obj.name)
        row = layout.row()
        row.prop(obj, "name")

        row = layout.row()
        row.operator("mesh.primitive_cube_add")

def draw_panel(self, context):
    op = self.layout.operator("wm.call_panel")
    op.name = "TEXT_PT_hello"
    self.layout.popover("TEXT_PT_hello")

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

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

if __name__ == "__main__":
    bpy.types.TEXT_HT_footer.append(draw_panel)
    register()

Note: Given the desire is to have "popup" not close when mousing away, and be resizable consider opening a new window as discussed here
New window with Python API?


Is it possible to save depth values and rendered image in different formats?

The Composite output node in the compositor will use the File Format and Color Management set in the properties window.
If you add a file output node it will allow you to save the image as an additional file with a different format or in a different path.
Set the file type to OpenEXR multilayer. Whenever you save as EXR the file will bypass the color management transforms, and remain linear float. You can add inputs/layers using the + Add Input button for depth or whatever other passes you need.


Scripting: silence all nested audio metastrips

This selects all sound strips in meta strips and mutes them

import bpy
context = bpy.context
scene = context.scene
se = scene.sequence_editor
sounds_in_meta_strips = [s for ms in se.sequences_all if ms.type == 'META'
               for s in ms.sequences if s.type == 'SOUND']

for s in sounds_in_meta_strips:
    # mute the sound
    s.mute = True

Extended to append a toggle button to the Sequencer Header.

import bpy
from bpy.props import BoolProperty

def mute(self, context):
    se = self.sequence_editor
    sounds_in_meta_strips = [s for ms in se.sequences_all if ms.type == 'META'
               for s in ms.sequences if s.type == 'SOUND']

    for s in sounds_in_meta_strips:
        # mute the sound
        s.mute = self.mute_meta_strips

def draw_button(self, context):
    scene = context.scene
    layout = self.layout
    layout.prop(scene, "mute_meta_strips", toggle=True)

bpy.types.Scene.mute_meta_strips = BoolProperty(name="Mute Sounds in Metas", default=False, update=mute)
bpy.types.SEQUENCER_HT_header.append(draw_button)


It looks like your particles are actually emitting light. In order for this to happen, they either have an emission shader, or a principled shader in which the Emission value is not set to black.

If the particles using an emission shader, simply change it to a principled shader and that should fix the problem. If they are using a principled shader, simply go to the Emission box and set it to black.


If G. Garone's answer doesn't work and none of your operators work, then i have another possible solution. I've had this happen a few times to me already, using 2.8.

Just press F3 in the 3D view, then search for "Load Factory Settings". Click on it, and the problem should be fixed. Be sure to go through your settings again, enabling add-ons and changing whatever you need. Don't forget to save the settings afterwards!


Press T , and your panel should come up.


Textures getting warped close to a vertex

N-gons can give unreliable texturing results in some cases. Add a triangulation modifier to the stack or triangulate the face.


Select the object that is parented with the bone, and go to the data panel  in the properties window. Enter edit mode, and select all geometry. Under the vertex groups, ensure the Weight slider is at 1.000, and select Assign.


(Internal) fire Simulation with wind force field is too curvy

Adjust the Vorticity settings to affect the turbulance in the smoke or flame. From the Blender Manual pages :

  Vorticity
  Controls the amount of turbulence in the smoke. Higher values will make lots of small swirls, while lower values make smoother shapes.

Reduce Vorticity for a more stable flame.


How do I get Blender to import a Collada file?


How to keep mesh exactly as it was after a simple modifier when I join it up with another object

Without an image it's hard to guess which form you exactly want to achieve, but if you would like to make the cylindrical part thinner I would add some loop cuts and shrink them to your liking.


What I would do is this:

Instead of using smooth-surface to smooth the object, adjust normal-smoothing angle

Here are the steps:

1) Go to edit mode with the fan selected, and then go to Mesh > normals > recalculate outside.
(This is to ensure that normal-smoothing will not ruin the topology.)

2) Right-click (2.80+), or select smooth-shading on the left (2.79-), and select "smooth-shading". This will allow you to smooth the normals.

3) Swap back to object mode, and go to the vertex tab in the properties section.
Check the box that says Normals-autosmooth. Adjust this value.
Lower for less smoothing, and higher for more smoothing.

Here is a sphere at 0 degrees, 50 degrees, and 180 degrees:

0 degrees:

50 Degrees:

180 Degrees:

It's kind of hard to see the 180 degree effects on the sphere, so this is on a cube:


Render shadows over a transparent background in cycles

UPDATE:

As of Version 2.79, there is an option to make an object become a shadow catcher in Cycles.

From the release notes

  This option will make object to only receive shadows in a way that it could be alpha-overed onto another image.

The workflow is following:

Enable Film: Transparent.

Then (Quote from the develpoer's notes)

  Create an object which matches real-life object on which shadow is to be catched.

  Create approximate similar material on that object.

  This is needed to make indirect light properly affecting CG objects in the scene.

  Mark object as Shadow Catcher in the Object properties.
  Ideally, after doing that it will be possible to render the image and
  simply alpha-over it on top of real footage.

Once the plane has been marked as a shadow catcher, just render!

Again from the release notes

  It is to be noted that shadow catcher objects will interact with other CG objects via indirect light interaction. For example, shadow catcher will be reflected in the glossy surfaces.

OLDER ANSWER:

You can do a shadow catcher using a shadow pass and different render layers to create an alpha channel for the scene:

Move the plane object (shadow catcher) to layer2.
Make a copy of the other objects and move them to layer 2.

The idea is that on layer 1 you only have your objects but not the plan, and on layer 2 a copy of your objects and the plane that will act as shadow catcher.

On all of the objects in layer 2, except for the shadow catcher plane, disable Ray visibility for camera. You want the plane to be visible, but the other objects should be transparent to camera and projecting shadows on the plane:

Make sure your lamps and camera are active in layers 1 and 2.

Set up two render layers:

One for the objects in layer 1 that excludes information from layer 2.

A second render layer for the shadows that includes a shadow pass and excludes layer 1.

Enable Transparent on the Film section.

In the compositor you can use the shadow pass to alter the values of the alpha channel of the object's layer.

Add an invert node to shadow pass and plug the result as factor on a mix node (in add mode). Plug the alpha channel of the object's layer to the top socket and leave the lower socket empty.

You can control the transparency of the shadows by changing the color on the empty socket of the mix node. If you make that color white the shadows will be fully opaque, if you make it black you'll have no shadows.

Alternatively you can use the values from the shadows layer and the transparency of the shadows will be set using the values from the original scene:

For softer shadows you can add some blur:


If you select the last lid edge loop, activate the Proportional Editing (Connected option), scale on the Z axis, rotate a bit, it looks ok to me,  no? You have to be a bit skilful with the Proportional Editing influence radius.


Visual Studio can't read submodule definitions in Bpy

The problem was that for some reason the available docs don't work for Visual Studio Community, but they do work for VS Code.

I feel like VS Community just doesn't know where to look for the rest of the definitions bc if you move the entire 2.83 file from bin\Release\ to C:\Python37\, the IDE actually shows some code suggestions but not everything. At this point it's easier to just use VS Code for addon development and VS Community for blender development


Is there any driver expression for elif statement?

Nest the ternary conditional operator

(var + 3.5) if var > 0 else (var - 3.5) if var < 0 else 1

or for more detailed scripts

import bpy

def x(var):
    if var > 0:
        return var + 3.5
    elif var < 0:
         return var - 3.5
    else:
         return 1

bpy.app.driver_namespace["x"] = x

And then use x(var) as your driver expression.


try this:

mark those edges as "seams":

then  a simple UV unwrap gives:


You got "Snap during transform" enabled (magnet icon) and when you're moving vertices with "G" it snaps them to the nearest surface (cause you have also Face as the type of element to snap to enabled) As this are edge vertices, and you're doing it from considerable distance, it snaps not to the edge faces but to back faces. I would suggest you to try disable first one and snap vertices with CTRL. It would also be helpful to decrease distance to increase accuracy or hide back faces of high poly model to avoid snapping to the wrong ones. You could do it with mask modifier for example.Options, which I'm talking about are selected in the image.


Append function in menu is greyed. What can I do to fix it?

The problem was that I was in Edit Mode where append can't be used ,so you need to switch to the Object Mode and it's done


You can set the axis colors in the following settings tab:

Preferences -> Themes -> User Interface -> Axis and Gizmo colors

Happy Blending! :)


How do I remove dark areas from my mesh?

I think some of your vertices got moved arround, maybe by using "proportional editing/scaling".

Cleaned up version:

Work around:


How many ray tracing samples they used in theater animation?

Depends.

The thing that you noticed was that it looked good. That is the target, not a certain number of samples.

You may have noticed for instance that a glass shader typically needs more samples than a diffuse shader. Once you have determined a ratio of samples that looks good (assuming you are using branched path-tracing which separates out the number of samples each type of shader uses per pass), then you can turn up the samples to produce higher quality results.

If you are trying to reduce fireflies, that is a separate question that has already been answered here.

Computer specs don't really matter either, as it is more a matter of what gets the job done in a certain amount of time within budget. The more computers and/or more powerful computers you throw at the "problem" of rendering, the easier it becomes to quickly produce animation.


How can I make a simple volumetric light on Cycles?

That kind of effect is easier to do in the compositor using a Glare node. Is not as computationally intensive as dealing with volumetrics.

If you absolutely want to do it with volumetrics you can try this:

Around a sphere that works as the emitter, place an object that will give you the shape of the rays.

Give it an opaque material and make it invisible to the camera.

Add scattering and absorption to your world's volume settings.

Keep in mind that when dealing with volume scattering and volume absorption your lights might need to be much, much brighter, and you'll be dealing with increased noise and possibly more fireflies. So you'll need a lot more samples and maybe and play with the settings for clamp indirect.


Blender's collada export is indeed in a delicate state to say the least. I am not sure about exporting animations as collada, but I can say for sure that nothing in this world besides Blender can open .blend files. They are basically brain dumps. Trying another format could be your best strategy.


help me to install and run version 2.9 in Ubuntu

You have to make a file executable before running it.I will explain two ways to do that here.
Gui way

Right click on blender
click on properties
click on permissions tab
check make as executable box

now apply your changes and run blender

command line way

navigate to the location were you have extracted blender via a file manager.

right click on empty space and select open terminal here.Note open terminal option may be in different sub menu for you.

now execute the following commands one by one

  chmod +x blender
  ./blender


I'd still go with the cloth physics approach but instead of using your character model as a base for the cloth simulation I'd create another simplified version of the parts that are going to be covered by clothes. This dummy then would get a simple displacement modifier with a low value so that it always stays over the character model's surface - like a cage.


You can do this by using modifiers on a very simple mesh. This is the result:

Because of the complexity of this I have given general steps, which will be helpful to most people, and included the blend file at the end if there is still confusion:

Add a single vertical edge which is the height of the required basket. The origin (orange dot) is set away from the edge as it is about this point that the edge will be rotated later:

A Subsurf modifier is added, set to 'simple' subdivision to give the edge enough detail to twist. Because this mesh is so simple you can set it to something unusually high, like 5 subdivisions.
A Simple Deform modifier is added, set to twist. Increase the deform angle to twist the mesh as much as you require and adjust the limits so the ends aren't included in the twisting:

An Array modifier is added to repeat the single twisted piece of iron as many times as needed. An empty is used to control the rotation of the array - it is placed at the object origin and rotated on it's 'Z' axis (a rotation of 51.42 for an array set to 7, or 360/Array Count):

A Lattice modifier with 6 'v' divisions is added to scale up the middle and scale down the ends of the basket. The lattice is connected to the basket with the 'Lattice' modifier - scaling and moving the vertices of the lattice (in edit mode of the lattice object) will warp the basket. Here I have scaled up only the middle vertices, causing the basket to bulge:

A Skin modifier is added to give thickness to all the edges. If the 'skin' is too thick then Tab into edit mode, select all the vertices of the basket mesh and press Ctrl+A to scale it up or down:

This is the final order of modifiers:

All modifiers can now be applied if you wish or you can just leave them all active.

Further modifiers can also be added such as a bevel modifier for beveled edges or an additional Subsurf modifier to smooth things out.

Because of the complexity of this setup I have included the blend file here:


Why are all the textures in my file pink?

Pink means that the texture files are missing.

If the texture files are still on your system, then it sounds like the textures are referenced relative to the blend file (the default behavior). This means that if you move the blend file and you don't move the textures, blender won't be able to find them.

There are several things you can do:

Use the Find Missing Files operator in Info > File > External Data to let blender try to find the files for you:

This will give you a file browser with which you can select a directory which you think contains some (or all) missing files. Blender will then recursively search through all files and subdirectories of the selected directory for files with the same names as the missing files.

Note that if the directory is big (contains lots of files and subdirectories), this might take a while. Blender will appear frozen while the operator runs, but don't panic.
With the blend file in the original location (so the textures are loaded correctly), press Make All Paths Absolute in Info > File > External Data,
then save the blendfile. Now blender can find the textures (provided they don't move) no matter where the file is on the system.
Pack the textures into the blendfile. Press Info > File > External Data > Pack into blendfile. This will embed the image data into the blendfile itself, so your file may become rather large. However, this means that blender will always be able to find the textures no matter what (even if the file is put on another computer).
Move the textures to be in the same position relative to the new blend as they were to the old blend. E.g., if the textures are in a directory that is in the same directory as the old .blend, move that directory into the directory containing the new .blend.


You would prolly have to edit the overlays file to get it in that location. Pretty easy to add settings to overlays though.

import bpy

def draw_stats_overlay(self, context):
    layout = self.layout
    win = context.window_manager

    layout.label(text="Show Stats")
    layout.prop(win, 'stats_toggle')

def register():
    bpy.types.VIEW3D_PT_overlay.append(draw_stats_overlay)

    bpy.types.WindowManager.stats_toggle = bpy.props.BoolProperty(
        name = "Toggle Stats",
        default = False
      )

def unregister():
    bpy.types.VIEW3D_PT_overlay.remove(draw_stats_overlay)
    del bpy.types.WindowManager.stats_toggle

if __name__ == "__main__":
    register()

Edit:

You might could do something like this.

Remove just the guides settings.

import bpy

bpy.utils.unregister_class(bpy.types.VIEW3D_PT_overlay_guides)

Add the settings back with the new setting.

import bpy

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

    view = context.space_data
    scene = context.scene

    overlay = view.overlay
    shading = view.shading
    display_all = overlay.show_overlays

    col = layout.column()
    col.label(text="Guides")

    col = layout.column()
    col.active = display_all

    split = col.split()
    sub = split.column()

    row = sub.row()
    row_el = row.column()
    row_el.prop(overlay, "show_ortho_grid", text="Grid")
    grid_active = (
        view.region_quadviews or
        (view.region_3d.is_orthographic_side_view and not view.region_3d.is_perspective)
    )
    row_el.active = grid_active
    row.prop(overlay, "show_floor", text="Floor")

    if overlay.show_floor or overlay.show_ortho_grid:
        sub = col.row(align=True)
        sub.active = (
            (overlay.show_floor and not view.region_3d.is_orthographic_side_view) or
            (overlay.show_ortho_grid and grid_active)
        )
        sub.prop(overlay, "grid_scale", text="Scale")
        sub = sub.row(align=True)
        sub.active = scene.unit_settings.system == 'NONE'
        sub.prop(overlay, "grid_subdivisions", text="Subdivisions")

    sub = split.column()
    row = sub.row()
    row.label(text="Axes")

    subrow = row.row(align=True)
    subrow.prop(overlay, "show_axis_x", text="X", toggle=True)
    subrow.prop(overlay, "show_axis_y", text="Y", toggle=True)
    subrow.prop(overlay, "show_axis_z", text="Z", toggle=True)

    split = col.split()
    sub = split.column()
    sub.prop(overlay, "show_text", text="Text Info")
    sub = split.column()
    sub.prop(overlay, "show_cursor", text="3D Cursor")

    if shading.type == 'MATERIAL':
        col.prop(overlay, "show_look_dev")

    split = col.split()
    sub = split.column()
    sub.prop(overlay, "show_annotation", text="Annotations")

    #Add my new setting here
    sub = split.column()
    sub.prop(context.window_manager, "stats_toggle", text="Toggle Stats")

def register():
    bpy.types.VIEW3D_PT_overlay.append(guides_with_new_settings)

    bpy.types.WindowManager.stats_toggle = bpy.props.BoolProperty(
        name = "Toggle Stats",
        default = False
      )

def unregister():
    bpy.types.VIEW3D_PT_overlay.remove(guides_with_new_settings)
    del bpy.types.WindowManager.stats_toggle

if __name__ == "__main__":
    register()

Addon example

bl_info = {
    "name": "Overlay Stats Test",
    "version": (0, 0, 2),
    "blender": (2, 82, 0),
    "location": "",
    "description": "",
    "warning": "",
    "wiki_url": "",
    "category": "3D View",
}

import bpy

#Guide settings with new setting added
def guides_with_new_settings(self, context):
    layout = self.layout

    view = context.space_data
    scene = context.scene

    overlay = view.overlay
    shading = view.shading
    display_all = overlay.show_overlays

    col = layout.column()
    col.label(text="Guides")

    col = layout.column()
    col.active = display_all

    split = col.split()
    sub = split.column()

    row = sub.row()
    row_el = row.column()
    row_el.prop(overlay, "show_ortho_grid", text="Grid")
    grid_active = (
        view.region_quadviews or
        (view.region_3d.is_orthographic_side_view and not view.region_3d.is_perspective)
    )
    row_el.active = grid_active
    row.prop(overlay, "show_floor", text="Floor")

    if overlay.show_floor or overlay.show_ortho_grid:
        sub = col.row(align=True)
        sub.active = (
            (overlay.show_floor and not view.region_3d.is_orthographic_side_view) or
            (overlay.show_ortho_grid and grid_active)
        )
        sub.prop(overlay, "grid_scale", text="Scale")
        sub = sub.row(align=True)
        sub.active = scene.unit_settings.system == 'NONE'
        sub.prop(overlay, "grid_subdivisions", text="Subdivisions")

    sub = split.column()
    row = sub.row()
    row.label(text="Axes")

    subrow = row.row(align=True)
    subrow.prop(overlay, "show_axis_x", text="X", toggle=True)
    subrow.prop(overlay, "show_axis_y", text="Y", toggle=True)
    subrow.prop(overlay, "show_axis_z", text="Z", toggle=True)

    split = col.split()
    sub = split.column()
    sub.prop(overlay, "show_text", text="Text Info")
    sub = split.column()
    sub.prop(overlay, "show_cursor", text="3D Cursor")

    if shading.type == 'MATERIAL':
        col.prop(overlay, "show_look_dev")

    split = col.split()
    sub = split.column()
    sub.prop(overlay, "show_annotation", text="Annotations")

    #Add my new setting here
    sub = split.column()
    sub.prop(context.window_manager, "stats_toggle", text="Toggle Stats")

#Guide settings without new setting
def guides_without_new_settings(self, context):
    layout = self.layout

    view = context.space_data
    scene = context.scene

    overlay = view.overlay
    shading = view.shading
    display_all = overlay.show_overlays

    col = layout.column()
    col.label(text="Guides")

    col = layout.column()
    col.active = display_all

    split = col.split()
    sub = split.column()

    row = sub.row()
    row_el = row.column()
    row_el.prop(overlay, "show_ortho_grid", text="Grid")
    grid_active = (
        view.region_quadviews or
        (view.region_3d.is_orthographic_side_view and not view.region_3d.is_perspective)
    )
    row_el.active = grid_active
    row.prop(overlay, "show_floor", text="Floor")

    if overlay.show_floor or overlay.show_ortho_grid:
        sub = col.row(align=True)
        sub.active = (
            (overlay.show_floor and not view.region_3d.is_orthographic_side_view) or
            (overlay.show_ortho_grid and grid_active)
        )
        sub.prop(overlay, "grid_scale", text="Scale")
        sub = sub.row(align=True)
        sub.active = scene.unit_settings.system == 'NONE'
        sub.prop(overlay, "grid_subdivisions", text="Subdivisions")

    sub = split.column()
    row = sub.row()
    row.label(text="Axes")

    subrow = row.row(align=True)
    subrow.prop(overlay, "show_axis_x", text="X", toggle=True)
    subrow.prop(overlay, "show_axis_y", text="Y", toggle=True)
    subrow.prop(overlay, "show_axis_z", text="Z", toggle=True)

    split = col.split()
    sub = split.column()
    sub.prop(overlay, "show_text", text="Text Info")
    sub = split.column()
    sub.prop(overlay, "show_cursor", text="3D Cursor")

    if shading.type == 'MATERIAL':
        col.prop(overlay, "show_look_dev")

    split = col.split()
    sub = split.column()
    sub.prop(overlay, "show_annotation", text="Annotations")

def register():
    #Check to make sure overlay guides panel is registered
    if hasattr(bpy.types, 'VIEW3D_PT_overlay_guides'):
        #Unregister if overlay guides is registered
        bpy.utils.unregister_class(bpy.types.VIEW3D_PT_overlay_guides)

    #Append guide settings with new setting when addon is registered
    bpy.types.VIEW3D_PT_overlay.append(guides_with_new_settings)

    #Remove guide settings without new setting when addon is registered
    bpy.types.VIEW3D_PT_overlay.remove(guides_without_new_settings)

    bpy.types.WindowManager.stats_toggle = bpy.props.BoolProperty(
        name = "Toggle Stats",
        default = False
      )

def unregister():
    #Remove guide settings with new setting when unregistering addon
    bpy.types.VIEW3D_PT_overlay.remove(guides_with_new_settings)

    #Append guide settings without new setting when unregistering addon
    bpy.types.VIEW3D_PT_overlay.append(guides_without_new_settings)

    del bpy.types.WindowManager.stats_toggle

if __name__ == "__main__":
    register()
```


Why does my final render image have white particles all over the lighting area?

This is noise, which will happen in complex scenes without enough samples.
Aside from increasing the number of samples, here are some other things you can try:

Enable Multiple Importance Sample for the lamp in Properties > Object Data > Lamp:

Adjust the Clamp in Properties > Render > Sampling. Note that as of 2.70 indirect samples can be clamped separately from direct samples.

Increase the filter glossy option (also in Render > Light Paths) if you have rough glossy materials.

There are also some tricks you might be able to do with your materials, but it's hard to say what without looking at your file.

Also see these related questions:

How to avoid noisy renders in Cycles?

What is the Reason Cycles Creates Incorrectly Colored/Firefly Artifact Pixels?

What is multiple importance sample option

And the wiki page on reducing noise.


Why does cycle rendering only use one core from an AMD GPU?

That is the normal rendering behavior of a GPU.
GPUs don't have multiple discrete cores in the sense that a CPU has; GPUs have many (hundreds maybe thousands) small processing units that act together as a highly parallelized process that forms a single rendering bucket.
Since on it's own each single unit is relatively 'stupid' in the sense that it can only understand simple basic instructions they can't each alone process a full image, but their strength lies in the fact that they act together as a single 'processing thread' that may end up being faster than the multiple cores of your CPU (depending on the performance of hardware involved of course).
As Cegaton mentions bellow you would get multiple buckets if you had multiple graphics cards in your system without a pairing (SLI/Crossfire) solution.
Also as Gandalf says, for this reason GPUs tend to like larger bucket sizes while CPUs benefit from smaller ones, although due to the traditionally more limited amount of VRAM usually present in graphics cards, increasing too much will at some point start having a negative impact on rendering speed.


I want to make the head and arms as different objects which are as single mesh now with the bone structure intact

I'm not entirely sure if it does or doesn't corrupt your animation data as the weights possibly change but here a workflow worth a try:

Select the mesh and go in edit mode 'tab'.
Select the head press Y to split the geometry.
Repeat the process for the arms.
While still being in edit mode press P and select "separate by loose parts".

This should separate the geometry into parts. I'm not sure how this will affect the armature / binding and animations.
-> run an animation to check if that already solved your issues
If the bindings are lost (arms / head etc, don't react to the bones):

Select all objects you want to bind to the rig.
Select the rig last.
Press Ctrl+P and select "With Automatic Weight".

Run an animation - if the deformations are weird, you probably have to take a look into weight painting.


The closest thing is the Add_3d_Function_Surface addon.

Related:

Generate curve from equation
Organic yet accurate modeling with the golden spiral


Spot light is not working in preview render

If the sun is working (the hemi light isn't supported in Cycles – it basically just acts like a sun) the problem is most likely due to light falloff of your light sources. your scene is too large for the size and strength of your lamp.

You can confirm that by adding a light falloff node to the emission of your light as shown below.

quadradic is the default (and real world) falloff
linear is a linear falloff (double the distance, half the strength of the light)
constant is no falloff, this is i.e. used per default by the sun lamp

Adjust the falloff and strength to fit your needs.


How to increase the amount of times one can use REDO option?

Don't you mean by any chance UNDO steps?

They can be increased here:
Edit > Preferences > System > Undo steps

The maximum is 256, but that should be enough in most cases.


Shift + wheel and Ctrl + wheel doesn't work anymore in Blender 2.8?

I solved the problem manually add key map item in the preferences.
User preferences - Input - 3D View - 3D View Global - Add new - in field "Identifier operator to call on input event" type view3d.view_pan - then choose your key and action Pan left or right \ up or down.
This is not solved by Import key configuration from blender 2.79.

On Blender 2.83.4:

Click Edit > Preferences.
Click the Keymap tab.
Expand 3D View.
Expand 3D View (Global).
Scroll to Pan View Direction.

At this point, you can change the options to suit your preferences.


Rotate (group) objects outwards on spherical particle system?

For your hair particle system, just click on the button Rotation in the render panel of the particle settings.

Then make sure your objects are pointing towards the X axis. Other wise all your trees will point out from your planet, but they will not be pointing up.
.


Try increasing the clipping end distance in 3D view > properties region (N) > View > Clip:


The GTX 10XX cards were not supported under OS X until just this past week. So benchmark data will be hard to find. For now.

Also, if you haven't already, study up on using newer Nvidia cards in the classic "cheesegrater" Mac Pro's, there are some caveats, especially if the card has not be reflashed. (off the shelf PC cards will work, but you won't have a startup splash and you may need to switch the monitor to a Mac card or use SSH to update the driver after installing OS updates)

Cycles can render across multiple cards, however the scene must copied in its entirety to each card, so you don't get to "add" the VRAM amounts. See: Does Blender support dual-GPU rendering if the two GPUs aren't the same?


In edit mode, if I move a vertex the whole mesh is transformed

you have probably enabled proportional editing the hotkey should be 'O'


Linked scene copy, unable to remove objects from rendering in that scene [Blender 2.90.1]

You need to use the Collection checkbox.
It removes the whole Collection from the current View layer.
You can then use different View Layers, or different Scenes.

Works with linked Scenes or different View Layers


Parent with Automatic Weights fails, how to detect which bone?

Here's the solution I come across, this might work for others so I'm posting here.

So you failed the automatic weighting and you have no idea where the problem might be. So what's the solution?
Well, it's to go around looking for real close or overlapping vertices all over your mesh. (I assume you tried normal fixing or merging by distance already)
It is not a pleasant thought if your mesh is complex.

So select all your mesh in edit mode, Select all vertices(or better the ones youre suspicious about) then keep applying Merge By Distance while increasing the Merge Distance value, then apply the auto-weight until it works.

Example
My Merge Distance was: 0.00001 by default.
I increased it to 0.00011 then applied and re-auto-weighted. Didn't work.
So I increased it to 0.00012.
Keep going.

I found my mark at 0.00022m.

Use this method at your own risk, there's always the off hand chance of your CPU going critical and causing a thermonuclear reaction in which half a continent can vaporize in the blink of an eye.


How do I use emission, without my object's shape getting lost in the emission?

You could try with Ambient Occlusion and a color ramp.


How to make a grid properly and render it faster?

Make a plane, and add the subsurf modifier. Change the subdivision algorithm from Catmull-Clark to Simple. Now add a wireframe modifier. You can increase or decrease the density of your wireframe grid by changing the number of subdivisions in the subsurf modifier.


Transparent textures that allow light to shine through

In Cycles you don't need to do anything special, just set your material to use the image's alpha channel to control the mix of a diffuse (or other shader) and a transparent shader.  The light will pass right through the transparent areas:

click on the image to enlarge

To get volumetrics you need to change the world texture to have some volume scatter (and increase the intensity of your lights a bit):

For Blender Internal it's a bit trickier:

Set the transparency for the material by enabling the transparency box and moving the Alpha value to 0:

On the texture settings enable the

Use Alpha option for the image

and on Infulence settings enable Alpha

That will let the light pass through the texture, but other objects will receive the shadow of the mesh, not the transparency of the texture.

For other objects to receive the shadow cast by the transparency, you have edit their manterial and on the Shadow section enable Receive Transparent

Now... as far as creating a volumetric light that uses that transparency... It just doesn't seem possible.

The buffer shadows on the lamp seem to be follow only the mesh...

When you are expecting for something like this:

To create such image, you need to have a real mesh, not just a texture, to create the correct shadows.


I have two edges that intersect, how do I get a vertex at the intersection point?

Currently knife would be good to use. For this particular case, there are some tricks to do it even faster:

Trick 1:

Select all intersected edges, then P > Selection;
Press Space to quickly search for Knife Project tool.
Switch to Object Mode, delete the separated object (edges).

Trick 2:

Select the n-gon face while using Face Select mode, then switch to Vertex Select mode to quickly select related elements (or simply press A to select all elements in this case);
Hit Space to search for Split by Edge tool;
Select the two vertices on that horizontal edge, then press J.

P.S.:

There are some addons that are aimed to split intersecting edges, such as zeffii's X ALL, nixy's Boolean 2D Union, even the powerful Sverchok can handle some situations. they all got pros and cons, however. IMHO, We really need an internal tool to perfectly handle it (something like an enhanced version of the current Split by Edge tool).


What is the actual film manufacturer reference for the film response data?

The original dataset was taken from the Computer Vision Laboratory, and more specifically this portion of the site. The research PDF is available here.

The response data didn't include the primary colours, nor the log encoding as the results are normalized. They are essentially junk Instagram-esque filters sadly.


how to go back to a previous grease pencil frame?

Just click on the timeline frame 1.This is the most simplest method. Hope it helps!


One option is to use the Denoiser.  It is located on the properties bar under Scene.  The downside is that by using it you lose detail in the scene.  There is a video on Youtube called "Drastically Reduce Rendertime in Blender Cycles New Denoising Feature".

As implied by the title, it also reduces your render times.  What I mean by this is that it keeps you from having to do a higher amount of samples, which would increase your render times.  The denoiser actually causes each frame to take longer in rendering, but it's way better than trying to increase the sample amount till you get the same result.


Alt+S moves vertex instead of scaling skin modifier in 2.79

Correct shortcut to shrink/fatten when using the skin modifier is ctrl-A. I have always wondered why, but that is it.


By inverting the RGB channels before splitting them I was able to create a working setup that is also easier to understand.

Here is the new node setup:

There are a few things that can probably be tweaked and improved, but in essence the problem is solved.


Handling of SVGs between Blender 2.7x and Blender 2.8x

If you give yout text a more usable size (like x10) then Apply Scale, the problem disappears.

Looks like 2.8 viewport is less precise than 2.7 on really small numbers, probably for optimization purposes.


'Limit selection to visible' suddenly not working in user perspective?

I think you are looking at it the wrong way...it is "limiting the selection to visible" (the verts up front) right now. It sounds like you want to disable it. Also you might want to fix your normals (Select All > Ctrl + N).

Let me clarify:

When the button is disabled you can "see through" it
When the button is enabled it appears opaque


How do I use Dynamic Paint with the Image Sequence setting?

It turns out I was making a silly mistake, but I'll run through the steps in case it helps.

I'll assume we're starting with the default cube and the plane scaled up.

1) UV map the plane

Select the plane, hit TAB to get into Edit Mode, then press U.  This will bring up a menu.  Select Unwrap.  Hit TAB to get back to Object Mode.

2) Give the cube some motion

In order to actually see the paint, you have to make the cube move around.  So give the cube some motion in the XY-plane.

3) Enable Dynamic Paint

Select the cube, go the Physics tab of the Properties window.  Enable Dynamic Paint, click on Brush and then "Add Brush".

Now select the plane, click on Dynamic Paint.  Make sure that Canvas is selected.  Hit "Add Canvas".

Change Format to "Image Sequence".  Under the Dynamic Paint Output header, click the box next to "UV Map" and find your UV map you just created and select it.  (It'll probably be called "UVMap")

Just underneath UV Map, you can select where you want the texture images to be outputted to.  Hit "Bake Image Sequence".  I believe you have to bake it.  You can't just render.

4) Give texture to plane

With the plane still selected, go to the Materials tab of Properties window, and hit New to give a material.

Now go to the Texture tab.  Make sure the Material Textures button is selected (this is where I messed up).

Hit New to give the plane a texture.  For Type, choose "Image or Movie".  Scroll down to the header Image, and click on Open.  Navigate to the folder where you outputted your images to and select the first image (probably called paintmap0001.png) and click on Open Image.  Then look for Source, which you should set to Image Sequence.

5) Render

That's all.  Just render it and you should see the paint.


Selected wrong keymap, how do I change it?

Go to Edit >>>> Preferences >>> Keymap

In the center you will see a dropdown menu that says Blender 27x, Change that to Blender.

Hope that helps

Good Luck


Does blender have a layout system for architectural modeling?

Use the Archimesh addon. It is included as part of blender just needs to be enabled in the System Preferences window.

As described in the github page:

Is Blender add-on for creating architecture elements:
Rooms, Houses, Columns , Stairs, Doors, Windows, Tile roofs, Kitchen cabinets, Japanese curtains, Roller curtains, Venetian blinds, Books, Lamps


Blender 2.8 Viewport object visibility problem

Using a driver for visibility properties works in the current build of blender. There are some related changes that may be affect what you are trying to do.

In 2.7x pressing D adds a driver to the property under the cursor, in 2.80 that is now ⎈ CtrlD to add a driver.

In 2.7x the property hide will hide the object in the viewport, in 2.80 that is now called hide_viewport so scripts or drivers may need to be updated with this change.


Blender adding extra bone when exporting FBX causes problems with Unity & Mixamo

I know it's a year late, but I've just had this same exact issue, so I would like to answer it here in case anyone else comes by this post.

The way to fix this in Unity is, after dragging the model into your scene, right clicking it and selecting 'unpack prefab'. Then, drag your hip object, that is parented by the unwanted armature node, up one level. You can then safely delete the armature node, and the animations should now work as normal.

Hope this will help some people, this behaviour isn't documented well enough for how annoying it is.


Translate Z Location of object for every frame?

There are a few ways to do this, but essentially you want to parent a camera to the path of the old camera. The easiest way to do this is to:

duplicate the camera SHIFT+D
remove the keyframes on the second camera
parent the second camera to the first camera CTRL+P
change the Transform widget orientation to Local
move the second camera back on the local Z axis
it will still move and pivot with the original camera's orientation.
Select the second Camera and click Set Active Object as Camera CTRL+NUMPAD 0
you can also optionally hide the first camera via the outliner if you find it distracting


Select the nodes you want to group and click Create a node group .
To put nodes in a frame select them then hit Shift+P .


Multiple scenes and material with pass index

This is because there is no thickness to the outside cube.
Your file is setup so that when the camera "sees" the face on the front it is replaced with the inside scene.
However, when the camera goes inside the cube, the camera can no longer "see" that face, so nothing is replaced with the inside scene:

Solution:
One way to fix this is to make the outside cube have an inside, by giving it some thickness. The easiest way to do that is with a Solidify modifier:

Delete the inset face on the front of the cube.

Add a solidify modifier in Properties > Modifiers > Add Modifier:

Now assign the door material to the inside faces:

Apply the Solidify modifier.

Select the inside faces and assign the "door" material to them:

Now your setup should work.
Frame 60 looks like this:


Object Info Node's Random Output

I just discovered there is an Input node that can output a random value:
  Input -> Object Info
However, it only works for Material Shader nodes.

Here is the Blender wiki description of this node:

  Object Info
  Information about the object instance. This can be useful
  to give some variation to a single material assigned to multiple
  instances, either manually controlled through the object index, based
  on the object location, or randomized for each instance. For example a
  Noise texture can give random colors or a Color ramp can give a range
  of colors to be randomly picked from.

  Note that this node only works for material shading nodes; it does
  nothing for lamp and world shading nodes.

  Location: Location of the object in world space.
  Object: Index Object pass index, same as in the Object Index pass.transformed.
  Material Index: Material pass index, same as in the Material Index pass.
  Random: Random number unique to a single object instance.


Manual bevelling works, but not the one limited by a Vertex Group

Actually, it work. May be you not assign the vertices correctly.

You should choose "Assign to New Group" from the Panel.

You can press "select" to make sure that you assign the vertices correctly.

You can assign this three vertices to bevel the remaining edges.

Disabling "Clamp Overlap" also can fix the problem for the questioner


Okay I finally have it. All I had to do was enable the Colour field in the Influence tab via the texture section. It works fine now!


There's no easy way to do all this in one click

(unless you wanna setup a hook and constraint system for every side of exterior walls that will allow you that kind of specific control)


If I understand correctly, you can use Extrude Region and Edge slide for that.

And an inside ramp


part of material not showing up in render

Found the solution:
I have a bevel modifier on the ring itself. I did apply it to a vertex group (the edges of the ring). I now changed it to "limit method: weight" after I gave those edges a mean weight of 1. Now it works fine.
The reason I didn't see the problem before in the viewport was that I accidentally had the modifier hidden in the viewport.
Shoutout to @Robert_Gützow for the right idea.


No, it is not possible, unfortunately.You cannot hide the top bar completely in Blender versions starting from 2.8.
I know it's far from perfect solution, but if you create a new window, it will not have the top bar:

But you will still have to have the main window with the top bar somewhere.


Armature: automatic weights not working correctly

Happend to my model as well, exactly as you described.
Weighting couldn't be solved on the model, so I removed entire head and then applied armature with automatic weighting. Weighting was solved as in the bottom image (some weight, though not visible, was all over model). Then I removed eyes, glued head back to the body and weighting was solved normally.
I had bones sticking out of mesh when got this wrong weighting.


How to move bones rest position from Python?

You have to access Armature.edit_bones, but they can only be accessed from EditMode.

Example of moving all bones rest positions.

# This script assumes you have an active armature in 'Object Mode'

import bpy
from bpy import context

obj = context.object

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

for bone in obj.data.edit_bones:
    bone.head.y += 1.0
    bone.tail.y += 1.0

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

Note: instead of manipulating the head/tail directly, it can be more convenient to use EditBone.transform so you can use a transformation matrix to rotate/scale/translate - all at once.

To transform the entire armature, use Armature.transform