What's the best monitor for Blender? my old CRT is about to stop working altogether and I know nothing about new screens.  I have read that LED screens are more damaging than LCD.  I could just pick up a used CRT for $10 but I want to consider an upgrade.  I need a monitor for working on Blender and doing graphic design and illustration work, with a wide viewing angle and correct color.  Do any of you have a screen that you have worked with successfully for a while, with no eye problems, that you could recommend?  (I also need to limit RF and magnetic field exposure, if anyone has any knowledge about that, as concerning monitors.)

I would not worry about heath problems monitors might cause. They are quite safe. If you are worried about your eyesight, you should make breaks during work, let your eyes focus at things at different distances every now and then - it does not matter what monitor you have if you do not do this. I find it helpful to have a drink on my desk at work pretty much all the time - tea, juice, water, coffee - whatever you like. Fluids are good for you(well, maybe not coffee, and maybe not the ones with lots of sugar), you take your eyes off the screen every couple of minutes to take a sip and every hour or so take a walk to the toilet or to refill the drink. Works for me.

As far as color accuracy goes this gets really complicated. The prices range from something like 50€ to 5000€. It is also possible to get devices to calibrate and profile your monitors for around 200-250€, however if you are going to want to see the colors accurate in Blender, that makes absolutely no sense, since Blender does not support color management with ICC profiles that those devices produce so you can only see color tone calibration. Color profiling does not work with wide gamut or HDR displays well (see this confusing video) and color reproduction using FRC(Frame Rate Control) will most likely interfere with the process as well. So it does make sense to get a good quality display in the first place instead of trying to fix one that is not accurate to begin with and those may cost a fortune.

You may also wish to get a 4K display since it makes a huge difference when working with Blender. You get screen space equivalent to 4 HD monitors with it and Blender has a lot of stuff that you may want to have on screen without the need for switching layouts or panel types. Being able to browse the web or/and see reference images all the time while working is also really useful so I cannot recommend 4K enough. However with that resolution if you get a screen of regular size you may not experience the benefits of it since you would need to look at it from a very close distance, so it does make sense to get a bigger screen, even as big as 43"(I honestly find it the most comfortable size for 4K). With those sizes uniformity is likely to become an issue as well(in addition to color accuracy), so you have to look out for that and if you are thinking to try a cheep one that might not be such a good idea. So it is definitely worth to consider 4K monitors for work with Blender, however that adds a lot to the price.

As you can see there are many good reasons to spend a whole lot of money on a monitor for work with Blender and computer graphics, so I believe it will most likely come to your budget. If you can, get a huge 4K monitor recommended for work with accurate color that you can still afford. I believe one of the best options at the time I am writing is ColorEdge CG318-4K to answer your question, however I think you will want to consider some more affordable options.


Edit all the parts of a cell fractured object at the same time I'm a beginner in Blender and I was trying to do this tutorial This is a planet being fractured, so cell fracture addon is used.

At 6:20, after cell fracture has been applied and I have switched to layer 2, it is said to press ⇧ Shift+RightMouseButton on one of the pieces so that it becomes possible to work on all the pieces at the same time in edit mode (by joining them).

The problem is that it does not work for me. I'm using Blender version 2.71.

When joining objects, one object must be chosen to join all the other selected objects too.
In this case it doesn't really make a difference which object that is, but if you had different modifiers or materials on the objects, blender needs to know which object's modifiers should be used on the resulting combined object.

Normally this is done with the Active object, which is outlined in yellow and in most cases is the last selected object. Note that an object can be active without being selected.

Right after running the cellfracture operator is a rare case where there is no active object. You need to define one by selecting an object, but after you have done that, that object is active until you select another object and it becomes the new active object.

In the tutorial he uses ⇧ Shift RMB on a already selected object (orange outline) to make it active (yellow outline) without affecting the rest of the objects. I'm not sure why this didn't work for you (are you sure the object's outline didn't change color?), but you can just as easily select all the objects after one is active, e.g. with box select (B) or if you really want to select all the visible objects, A.
Once you have your active object and selection, you can join them with ⎈ CtrlJ or the join button in the toolshelf.


how to change number of segments I need to find these settings in blender 2.8. When you add new object (Blender 2.79) you have this object settings, botom left. But in version 2.8 I can't find it.

I need to change sphere/cylinder segments in blender 2.8.

Thanks for your help.

In 2.80 the panel to adjust the last operator has been moved out of the toolbar region into a floating panel at the bottom left of the viewport. This can be expanded/collapsed by clicking the top of the panel.

There is an option to hide this panel, it can be found in the 3D viewports View menu.

Even if the last operator panel is hidden, we can still bring it up manually with F9 - note that in 2.79 we use F6


Texture paint does not render in cycles or is very light The texture paint and noise texture on my creature shows up in material preview mode, everything seems to be correct, but it does not show up in rendered mode or in the final render, or maybe it is there but it's super pale. I'm not sure; my eyes might be deceiving me. Any idea what I'm doing wrong or why it's so faint? Thanks in advance.

Here's what it looks like in material preview mode.

And here it is in rendered, and my node setup.

I believe the Material Preview mode will show you the "pure" image texture without performing the full shader material computing.

On that note, I notice that you are trying to mix the image texture which seems already quite subtle in variations, with a similar color (the one on the bottom input on the Mix node) using the noise texture. It does not seem surprising that the final render result is very faint.

Try a more vibrant color in the mix node to see the difference. Also, a good practice is to use a Color Ramp on the output of the Noise texture to control the  contrast (moving controls left and right.)


particles blown away from impact? so I have an object that I have animated to fall onto a plane, and I want to have dust-like particles that are blown away from the impact like in a way that dust is. I don't know how I would achieve this effect, any help?

Consider adding Collision objects and applying a force in the Physics tab.

Particles are affected/moved by a force.

In the image above the blue cone has Wind Force attached in the Physics tab.
Particles are being moved to the right.
Experiment with the forces as suits you.

Cyan Plane is collision object in the Physics in the image above.

Particle system from large yellow sphere.


Scrolling effect for GUI menu in BGE So I'm making a GUI for my first person shooter type of game and I'm having trouble with making the effect for scrolling through the icons, trying to select one at a time instead of all. I basically have no idea how to do it so my question is, does anyone know how to use the mouse to scroll through the icons instead of selecting them all? I know why it selects them all I just want to know how to select them one at a time using the mouse wheel to go up and down the icons.

Here's a link to what I'm trying to make overall (https://www.youtube.com/watch?v=ALGcJVFb5oo)
but as or right now I just need help getting the icon selection part right.

You can check out the blend file here-
https://www.dropbox.com/s/p0312glj761zaei/SAO%20Ui.blend?dl=0

The only controls I have so far is when you press E it brings down the menu and when you use the wheel on the mouse it selects the icon (which is what I'm having trouble with...)

You can use a property to hold the selected circle index, then switch between them each time the mouse-wheel rotate.

the easiest way was the script, the script is attached to the first circle as follows :

the first circle has two properties selected "the index of the selected circle"  and open  "indicates whether the menu is open or not"

here is the script used in the file :

def switch_selected():
    #get this controller
    cont = bge.logic.getCurrentController()
    # the object running the script "1st cicle selected"
    owner = cont.owner
    # get this scene and a list of its objects
    scene = bge.logic.getCurrentScene()
    objects = scene.objects

    #hide all circles  to clear the previous selection ( also in case the menu is closed no circle is selected)
    objects['1st cicle selected'].visible = False
    objects['2nd Circle Selected'].visible = False
    objects['3d cicle Selected'].visible = False
    objects['4th Circle Selected'].visible = False
    objects['5th cicle Selected'].visible = False

    #check if menu is open
    if owner['open'] :
        #get the mouse wheel sensors
        mouse_up = cont.sensors["up"]
        mouse_down = cont.sensors["down"]

        #if mouse up increment index
        if mouse_down.positive :
            owner['selected'] += 1
            if owner['selected'] > 4 :
                owner['selected'] = 0
        #if mouse down decrement index
        if mouse_up.positive :
            owner['selected'] -= 1
            if owner['selected'] < 0 :
                owner['selected'] = 4

        # read the index and set the selected to be visible
        selected = owner['selected']
        if selected == 0 :
            objects['1st cicle selected'].visible = True
        elif selected == 1 :
            objects['2nd Circle Selected'].visible = True
        elif selected == 2 :
            objects['3d cicle Selected'].visible = True
        elif selected == 3 :
            objects['4th Circle Selected'].visible = True
        elif selected == 4 :
            objects['5th cicle Selected'].visible = True

switch_selected() #a call for the above function at each tick

Here is the file


All but one objects not visible, yet in library, rendering. Alt+H doesnt work Help!

I've probably used some shortkey than hide all objects but the one selected, and then saved blender file and quit. Now, i don't remember what it was and im wasting time to "unhide" them.

The thing is they're not hidden, as ALT+H doesnt work.
Tried Clear All Restrict Render but it's even not that, because all objects are:
- rendering
- visible, selectable IN LIBRARY
- do have eye sign toggled on

I just cant unhide them.

Help?

It sounds like you're in local view. You can tell by looking in the top left corner of your viewport, it says something like User Perspective (Local). As xlxs said, you can use / to switch local view on or off. But be sure to use the one on the keypad. The regular one doesn't work.

It could also be that you moved the other objects to a different layer.
Below your viewports there are two 5 by 2 grids. If there are dots in a square it means there are objects on that layer. You can either show multiple layers at the same time by shift left clicking the grid squares and making them visible (the squares turn dark), or you can left click a square to only show that layer. If you select objects in a certain layer and press m, you can move them to another layer.


How to avoid fluid appearing outside collision objects? In fluid simulation as it is done on a grid with a resolution definable even choosing a higher value for the resolution (as in our example below, 200) it is not enough to have a realistic shape of the simulated fluid with respect to the obstacle, here a glass.

One may suggest that after simulation scale up the glass up to a size that the artifact disappear. This is a bad idea. The obstacle is not going to be a simple shape. Scaling causes many issues.
One may also suggest that trying to apply Boolean operation on the resulting fluid (domain) with the obstacle (here glass) e.g., applying fluid(domain)-glass. This is also bad idea as it will not remove parts of fluid on outer surface of the obstacle.

Is there any better way to do this: to generate a fluid that respects the surface of the obstacle in a more realistic way?

For those may suggest even higher resolution, please note that for just such a simple simulation shown in the figure, it consumes gigabytes for baking! If you could increase the resolution to infinity, yeah, this may solve!

Update:
Check the following example.
Left is what you get if you don't do anything.
Right is what you get if apply Boolean operation properly on stack.
We put this example here to demonstrate that clipping (which is very costly, BTW) may work only for simple situations as this example. It cannot be done for complex shapes. The results (after couple of hours) will be very disappointing. We believe something should be applied in more low-level during fluid simulation. Say, each frame (step or stage) of fluid simulation a post=processing should apply to match the grid output with the obstacles' surfaces.

  Only for simple situation like this

I can't comment, so:

Try to keep the size of the domain as small as possible, and as fit to the simulation as possible. That makes the simulation require less resolution. For example, if you pour liquid from a bottle into a glass, restrict the boundaries of the domain to the neck of the bottle on top, and on the bottom, to the table, if you wish to have drops fall on the table. The domain works like a third dimension matrix. The resolution allows for the cells that are inside it to be smaller (which gives more resolution) or larger, depending on the resolution. Which is why you must fit your domain to your scene as much as you can. Since the cells inside your domain are not small enough, they touch the glass and some of them leak out, since the cells are larger than the thin glass.

I also suggest that you try to use "volume initialization" set to "shell" on the obstacle fluid properties, which will change a lot of things (although it won't work miracles).

As you already know, the trick about precise liquids is the resolution of the domain. It's the only thing.

One example (Only 102 of resolution and domain subsurf):


rendering mask image but many parts failed to render I made a simple blender model to output the RGB, Depth and Mask picture respectively.

As shown in the image below, there are many cars of the same type on the ground in both RGB image and depth image, however the Mask image only shows one car. Note that the car is in the same type, if I used n different types of cars, the mask picture will show only n different cars.

This is my node

Any ideas ?

I know what goes wrong here, it is nothing about the model but because of the object index.

In my model, i have only one object, then I used the code to duplicate to many more, therefore probably the new generated object has not the same object index as the original one.

Here is my code for creating a new object.

  def createCarWithName(self,name):
      obj = bpy.data.objects[name]
      mesh = obj.data
      new_obj = bpy.data.objects.new(name, mesh)
      bpy.context.scene.objects.link(new_obj)
      new_obj.rotation_mode = 'XYZ'# Force the right rotation mode
      new_obj.pass_index = 4

Though you have shown me the way to give the objects the same object index manually, I tried to give the object the pass_index, and it worked.

The object index is a property that is unique to each object, you need to have every object set to the same index if you want them to show up in the same mask.

You can do this easily by selecting all of the cars, then right clicking on the object index and choosing Copy To Selected.

Another way is to use the same material on each car and use the material index instead of object index.

As you are duplicating the cars using python, you can set the pass_index as you create each car.

def createCarWithName(self,name):
    obj = bpy.data.objects[name]
    mesh = obj.data
    new_obj = bpy.data.objects.new(name, mesh)
    bpy.context.scene.objects.link(new_obj)
    new_obj.rotation_mode = 'XYZ'# Force the right rotation mode
    new_obj.pass_index = 1


Need help with this one piece! (Floral ornment) So I need to do this handle in 3D. I already made that bubble top part, but I need that "Flower pattern", and I only have this reference image. How would I approach and make this ? Because modeling it with hand seems impossible..
Thanks!

You could do it:

Manually. It will garantee that you're very close to the real object and you'll be able to make some close-up shots. Here is just a try with a small detail, you'll need to do if with whole shape of course:

With a Project From View texture: Draw the contours of the whole shape, extrude up, bevel, shade smooth, give it a Subdivision Surface modifier, unwrap from the top orthogonal view with the Project from View option, give it a material with the original photo as Image Texture, you can even add a bit of bump:

You can even cut with the knife or inset to extrude up or down some parts:

With curves: Draw some curves that roughly follow the ornments, bevel them, use the Profile tool, scale the vertices with AltS if you want more thickness, and when you're glad, convert to mesh:


How to get local rotation from Matrix but taking parent transforms into account beI have this simplified blend file were I need to match the bone 'shoulder' to this other bone called 'shoulder_extra_snap':

https://pasteall.org/blend/9f468cbe96f145eb9d77553f3ebf1b89

So, both bones have constraints that rotate them. In order to make the rotations match, I'm calculating a rotational difference with matrix.to_euler. and then I'm applying that rotation to 'shoulder'.

This is the script you will find inside of the blend file:

import bpy
from mathutils import Vector

Original_rot = bpy.data.objects['Armature'].pose.bones['shoulder'].matrix_basis.copy()

bpy.data.objects['Armature'].pose.bones['shoulder'].rotation_euler = Vector((0,0,0))
bpy.context.evaluated_depsgraph_get()

a = bpy.data.objects['Armature'].pose.bones['shoulder'].matrix.copy()
b = bpy.data.objects['Armature'].pose.bones['shoulder_extra_snap'].matrix.copy()

bpy.data.objects['Armature'].pose.bones['shoulder'].matrix = b

difEuler = Vector(b.to_euler()[:]) - Vector(a.to_euler()[:]) + Vector(Original_rot.to_euler()[:])

bpy.data.objects['Armature'].pose.bones['shoulder'].rotation_euler = difEuler

This calculation works as long as I don't rotate the 'master' bone, which is the parent of the other bones. Therefore I need to fix that.

I'm pretty sure the solution must be to multiply some matrix by some other matrix so that I can get the local rotation difference but also take the transforms of the hierarchy into account, but I don't know anything about it! (Although I did read some answers regarding similar topics around here, but still I don't get it and it's not my area of expertise, haha)

Any help will be appreciated! thanks!

So quaternions worked! Thanks BatFinger!

import bpy
from mathutils import Vector

Original_rot = bpy.data.objects['Armature'].pose.bones['shoulder'].matrix_basis.copy()

bpy.data.objects['Armature'].pose.bones['shoulder'].rotation_euler = Vector((0,0,0))
bpy.context.evaluated_depsgraph_get()

a = bpy.data.objects['Armature'].pose.bones['shoulder'].matrix.copy()
b = bpy.data.objects['Armature'].pose.bones['shoulder_extra_snap'].matrix.copy()

bpy.data.objects['Armature'].pose.bones['shoulder'].matrix = b

q1 = a.to_quaternion()

q2 = b.to_quaternion()

difQuat = q1.rotation_difference(q2)

difEuler = difQuat.to_euler()

bpy.data.objects['Armature'].pose.bones['shoulder'].rotation_euler = Vector(difEuler) + Vector(Original_rot.to_euler())

Might not be the best code but it works!


Automated Rendering of Multiple Objects I am trying to use Blender to create a dataset to recognize Dominos for machine learning. To do this I need to be able to take the object files I have and create ~100 random images of each of them (preferably with different backgrounds and lighting). Is this something that is even possible to do with Blender? Or for just rendering is there another, more easily scriptable option?

You will definitely have to adjust and ignore some code, paths etc, but most of it is reusable. You also need the MultiCamera addon.

import bpy
import time
import numpy as np
from datetime import datetime
import os
startTime = datetime.now()

def delThisObj(obj):
    bpy.data.scenes[0].objects.unlink(obj)
    bpy.data.objects.remove(obj)
    return

def setupCamera(scene, c):
    pi = np.pi

    scene.camera.rotation_euler[0] = c[0] * (pi / 180.0)
    scene.camera.rotation_euler[1] = c[1] * (pi / 180.0)
    scene.camera.rotation_euler[2] = c[2] * (pi / 180.0)

    scene.camera.location.x = c[3]
    scene.camera.location.y = c[4]
    scene.camera.location.z = c[5]

    return

# Assumes there is only the car object (no camera etc.)
# example use:  oldmat = [['body'], ['M_0056_Yellow']], newMat = 'Body_Pain_new'
def changeMaterialColor(old, new):
    for o in old:
        for mat in bpy.data.objects[0].data.materials:
            if mat.name == o:
                bpy.data.objects[0].material_slots[mat.name].material = bpy.data.materials[new]
    return

def setEnvironmentTexture():
    # TODO: Load all environment textures if possible
    # TODO: and just exchange which one will be used for curret render

    # Add Environment-texture to image collection
    fileName = 'shanghai_bund_8k.hdr'
    filePath = 'D:\\Anon\\HDRIs\\' + fileName
    fileDir = 'D:\\Anon\\HDRIs\\'
    bpy.ops.image.open(filepath=filePath, directory=fileDir)

    # [4.9.1] Set HDRI background

    # Add nodes
    bpy.data.worlds['World'].use_nodes = True
    texEnv = bpy.data.worlds['World'].node_tree.nodes.new(type='ShaderNodeTexEnvironment')
    nodeMap = bpy.data.worlds['World'].node_tree.nodes.new(type='ShaderNodeMapping')
    texCoord = bpy.data.worlds['World'].node_tree.nodes.new(type='ShaderNodeTexCoord')
    background = bpy.data.worlds['World'].node_tree.nodes['Background']

    # Link Nodes
    links = bpy.data.worlds['World'].node_tree.links
    links.new(texCoord.outputs[0], nodeMap.inputs[0])
    links.new(nodeMap.outputs[0], texEnv.inputs[0])
    links.new(texEnv.outputs[0], background.inputs[0])

    bpy.data.worlds['World'].node_tree.nodes['Environment Texture'].image = bpy.data.images[fileName]

def main(model):
    # [1] Reset Scene, based on factory settings
    if list(bpy.data.objects).__len__() == 3:
        defaultCube = bpy.data.objects['Cube']
        defaultLamp = bpy.data.objects['Lamp']
        defaultCamera = bpy.data.objects['Camera']

        delThisObj(defaultCube)
        delThisObj(defaultLamp)
        delThisObj(defaultCamera)

    for item in bpy.data.meshes:
        bpy.data.meshes.remove(item)

    # [2] Change to Cycles Render
    bpy.context.scene.render.engine = 'CYCLES'

    # [3] import .obj
    filepath = model + '\model.obj'
    bpy.ops.import_scene.obj(filepath=filepath)

    # [4.9.2] Create shadowcatcher
    # Create plane
    bpy.ops.mesh.primitive_plane_add()

    # Make it a shadow-catcher
    bpy.data.objects["Plane"].cycles.is_shadow_catcher = True

    # Scale the plane to match modelsize
    bpy.ops.transform.resize(value=(10, 10, 10))

    # [5] Enable multi-camera addon
    bpy.ops.wm.addon_enable(module="multiplecamera")

    # [6] Add Sun and position it
    #x, y, z = 1, 2, 3
    #bpy.ops.object.lamp_add(type="SUN")
    #sun = bpy.data.objects['Sun']
    #sun.location[0] = x
    #sun.location[1] = y
    #sun.location[2] = z

    # [7] Add cameras and position them
    numberOfCameras = 4
    scene = bpy.data.scenes["Scene"]

    # [euler0, euler1, euler2, x, y, z]
    cam0 = [77.487, -0.000244, 91.4015, 13.6156, 0.094522, 2.19869]
    cam1 = [70.2677, -0.000819, 173.623, 1.1328, 11.1731, 3.33687]
    cam2 = [85.5084, 0.000169, -90.6852, -12.8706, 0.355527, 1.29131]
    cam3 = [74.6794, -0.002039, 11.1926, 3.2923, -15.5643, 4.444]

    camList = [cam0, cam1, cam2, cam3]

    for i in range(numberOfCameras):
        bpy.ops.object.camera_add()
        newCamera = bpy.data.objects['Camera']
        newCamera.name = 'c' + str(i)

        newCamera.rotation_mode = 'XYZ'
        scene.camera = newCamera

        config = camList[i]
        setupCamera(scene=scene, c=config)

    # [7.5] Set resolution
    bpy.data.scenes["Scene"].render.resolution_percentage = 100

    # [8] Enable CUDA and activate GPU
    # code from https://developer.blender.org/T54099

    scene = bpy.context.scene
    scene.cycles.device = 'GPU'

    prefs = bpy.context.user_preferences
    cprefs = prefs.addons['cycles'].preferences

    # Attempt to set GPU device types if available
    for compute_device_type in ('CUDA', 'OPENCL', 'NONE'):
        try:
            cprefs.compute_device_type = compute_device_type
            break
        except TypeError:
            pass

    # Enable all CPU and GPU devices
    for device in cprefs.devices:
        device.use = True

    # [9] Select all cameras
    for i in range(numberOfCameras):
        camera = 'c' + str(i)
        bpy.data.objects[camera].select = True

    # [10] Render selected cameras with mutli-camera addon

    # define outputpath
    path = r'C:\Users\Anon\Desktop\3DModels\TestRenderings4\\'

    bpy.data.scenes['Scene'].MultiOutputDir = path+model.split('\\')[-1] + '\\'
    # render
    bpy.ops.render.multiple_camera_render()

    # [12] Delete every object in the scene
    bpy.ops.object.mode_set(mode='OBJECT')
    bpy.ops.object.select_by_type(type='MESH')
    bpy.ops.object.delete(use_global=False)

    for item in bpy.data.meshes:
        bpy.data.meshes.remove(item)

if __name__ == "__main__":
    print(datetime.now() - startTime)

    listOfModels = [
        '1a30678509a1fdfa7fb5267a071ae23a',
        '1a4337da899da1936909632a947fc19b',
        '1a7125aefa9af6b6597505fd7d99b613',
        '1a7d2c9d3a084885afa2ee0adc62d22',
         ]

    setEnvironmentTexture()

    for p in range(listOfModels.__len__()):
        main(model=r'C:\Users\Anon\Desktop\3DModels\02958343\\' + listOfModels[p])

    print(datetime.now() - startTime)


Is there a way to change the default Booean operation type? I use the Boolean modifier a lot and almost always use the "Difference" option. It would be great if I could make that the default rather than "Intersection". Is there a way to do this?

This has been asked before in 2015: Where are the modifier scripts in the Blender package contents folder?
They are part of the main app coding, so unless things have changed, not easily modified.
I would like to do this, too, as I use Booleans a lot for 3D print drawing.
Not changing dimensions from millimetres to CM would be good as well.


Realistic Outdoor Lighting in Cycles I'm interested in architectural illustration and always find it hard to get a realistic outdoor lighting (shinny/cloudy).
Can you provide settings/tutorials for that?

For quick results you could setup an environment texture in the world properties.  For this examples I used a free example from hdri-hub. Note that this only works for stills an animation would look weird.

You can also create your own panorama pictures (with limited quality) with a smartphone or tablet.


Animation Nodes: How can I apply a different matrix to every point in a mesh I have a mesh that I want to deform, and since there doesn't seem to be a deformer built in to blender that does what I want, I thought I'd try animation nodes.

Here's my node tree. The four maths nodes calculate how far the point is on the XY plane to the center (distance to line would have done the same thing, but it doesn't work for lists). Then I have a rotation matrix where the amount of rotation is controlled by that distance. Now it's just a matter of applying the matrix to the vert, right. But computer says no! I can't give a list of matrices to the transform node.

Can anyone suggest a workaround?

EDIT OK, I sat down and did the maths, and I got THIS CLOSE to having it work. But EVERY. FREAKING. TIME. there is one node that I need that doesn't work with list inputs.

Here is the updated node tree, with the rotation calculated using maths nodes (the formula is written in on lwr left).

It is so close to working that I'm thumping the monitor.

Here's the original mesh. seen from top ortho:

Here is what I get with the nodes applied:

SO CLOSE! The only problem is that for verts where x==0 it is returning 0,0 because it's dividing by zero. You can see it when I set the strength to 0

So I thought I'd add a compare node, and for any vert where x==0 I'd use a formula that avoided the divide by zero problem. But of course the compare node doesn't work with lists. HNGGGGH!

Why is something so simple so bloody difficult in Blender? Because you haven't read the manual.

OK, over lunch I sat down and read through the Animation Nodes docs, and worked out how subprograms work. Like a lot of stuff in Blender it seems like they're completely opaque and baffling, until you understand them, at which point they're completely obvious. So what I needed to do was to make a subprogram with the Project Point On Line node and the transformation matrix inside, and use the vectors from the mesh as an iterator. That means that for every point in the mesh the subprogram is run, given the point's co-ordinates and the strength parameter, and returns the rotated vector as a result.

Here's the much simpler, and more elegant node tree:

And here's the before and after, working just like I want:


How do I light up a dark scene correctly in Cycles? How can I light up a dark scene correctly in Cycles, so it looks as in a dark room with only one light (as a lamp, for example)

"Correct lighting" is highly subjective, and so my answer is just based on my personal preferences and not some formula of doing things 'right'.

To start, I like to use at least a bit of ambient occlusion or global illumination on the scene to prevent large areas of the scene to be lost in shadow. In general you should try to avoid absolute black values.

Add a point lamp wherever your light source would be in the scene or if you have a lightbulb mesh, you could add an emission material to it for more accuracy. Then simply play around with the lamp/emission settings until you get a level of brightness you like. Try turning off AO to see the effect of only your light. Also note that you can enter a negative value into a lamp object and place it in corners of the scene that you want to look extra dark.

Hope that gives you an idea or two.


Cleaning up overlapping meshes I'm building a human spine, was trying to keep the polycount as low as possible in order to get a usable result for texturing right away. I used single torus objects for the spinal discs, now In order to give the spine its natural curve (built it vertically straight thinking it makes the most sense) I'd have to join all vertebraes and discs to one object, which leaves me with quite a chaos of overlapping mesh everywhere.

Wondering if it was a mistake to build it with single objects...
What is the best way to get this halfway clean so it's usable for decent texturing? Retopologizing the whole thing the "old fashioned" way?
I was somehow thinking the Quad Remesher would clean up the surface/the overlapping parts, basically retopologizing only the surface, but it seems to remesh the internal stuff as well, just as it is:

Still kind of new to a lot of things in 3d, so any advice is greatly appreciated. Thanks

You may use Shrinkwrap modifier.
You should separate each part using "P" because the modifier is working between different objects.
You can find the balance between the settings, offset, even using a group of vertices, to have a gap between the two meshes.
The original mesh:

An example of the result using Shrinkwrap:

Notice on the right part: a poor vertex count or a wrong topology do not allow the modifier to manage the gap as expected.

Depending on the position of the vertices and the different topology,
you may need to modify or add/remove some loops.


Smoke Simulation Vibrating Last week I started making a volcano that was starting to erupt. I've got some sparks and I made a nice smoke simulation. I clicked Bake All Dynamics and then rendered. The result was a nice volcano with sparks. The smoke, though...
It's hard to explain, but it's vibrating. I don't think smoke should do that.
I've google a bit for vibrating smoke, but I couldn't find anything except for actual blender that start smoking.
This is the actual animation for anyone who would like to see it.
Does anyone here have any idea what I may have done wrong and/or maybe some tips to speed up the baking and rendering process (it take way longer that I have time for).

To speedup rendering, you may render smoke, sparks and  volcano separately. Maybe you have accidentally rendered every 2nd frame? do the frames per seconds from the render settings match the video output FPS settings?


Nvidia Quadro M2000 4GB - does this grapic card meet system requirements? Does anyone know whether the Nvidia Quadro M2000 4GB meets Blenders minimum system requirements and is compatible?

This is a Maxwell-based card, and will support Blender just fine, including Cycles' CUDA mode. However, Quadros are very expensive compared to the GeForce series for the same GPU core performance, and the extra features of a Quadro will not be useful for Blender. Unless you need a Quadro for some other software you will be using, or some other reason such as non-Blender-related hardware features, or enterprise purchasing requirements that only have Quadros for workstation hardware, you should get a GeForce series card of similar cost, such as a GTX 1070.


How to trigger something when a game property equals a (certain value) How do I trigger something when a game property equals a certain value?
So Here is what I have done.

myprop = own['prop']
if myprop == 50:
    own.applyRotation((0, 0, 0.5),True)

The script is checking if prop is an integer equal to 50, but the property is actually a string.

Solution 1

Change String to Integer in the Properties panel

Solution 2

Change

if myprop == 50:

To

if myprop == '50':

Going forward if you enable the console (Window -> Toggle System Console) it will let you know when these sort of errors happen.


How do I bisect along an axis? Maybe I can't find the answer because I am not familiar yet with all the terminology. I know this is probably a simple answer but I cannot find it. How do I align the plane of a bisect along an axis?

I have an object that I want to bisect where 2 parts meet. The object is aligned to the platform and I want to make a cut through it the Z/Y axes.

Also... there is no tag for the bisect tool

Bisect tool has the Plane Normal option in its settings. It consists of 3 sliders for each axis with values between -1 and 1 which allow to control the orientation of the cutting plane.

The values below or above 0 will make the custom plane to be oriented towards that axis, while values of 0 or around mean that the plane will be oriented along that axis.

In your case enter 0 value for the Z axis:


UV unwrap not working? I'm trying to linearly unwrap a wheel into 4 lines. So I select the 1st 1/4 faces, U->Follow Active Quads, and the unwrap shows up in the UV editor. Then I select the next 1/4 of faces, U->Follow Active Quads... nothing happens. Try another set of faces. Same thing.

Why can I unwrap any more faces?

None of the suggested answers helped. The point of this question is that nothing happens when I hit unwrap. Nothing shows up in the UV editor.

I wasn't aware of this behavior myself so far to be honest, but I was able to replicate what you described on a simple cylinder with a few loop cuts on the side. The first face ring would unwrap no problem, but all the others would fail. At least the command seems to do nothing.

Here's a small video demonstrating the behavior:

In fact, it does perform an unwrap, but it is scaling all resulting UVs to zero.

To fix it, perform any other unwrap on the whole mesh before you start the Follow Active Quads method. For example, use Smart UV project. Afterwards, you can unwrap ring by ring.

Of course, it is also possible to unwrap more than one ring at once:


Seeking better way to add precise hemispherical caps to a swept curve Given an arbitrary curve swept with a circular profile of a specific radius and side count (controlled using the Depth and Resolution parameters of the curve's Geometry), is there a reasonably efficient way to add hemispherical caps of the same radius to each end of the swept curve to produce an arbitrarily curved capsule shape?

The desired result is the 3D equivalent of this (please see the Blender screenshot lower down as well):

My definition of "reasonably efficient" is "more efficient than my current procedure", which is:

Add a Bezier curve and modify it as desired.
Under Object Data Properties, set the curve's Depth to the desired radius R and its Resolution such that the desired side count C is obtained (e.g., a resolution of 2 gives 8 sides).
Convert the curve into a mesh (I'll refer to this as the tube mesh).
Add a UV sphere with C segments, C rings, and a radius of R.
Delete the bottom half of the UV sphere, leaving a hemisphere.
Select the edge loop at one end of the tube mesh, create a face, create a transform orientation named "End of tube 1" (for example), and delete the face. (Note that creating a transform orientation with the edge loop selected is not sufficient: the resulting transform orientation is based on the active edge only.)
Select the hemisphere and perform the Align to Transform Orientation operation with "End of tube 1" as the target orientation.
Select the edge loop at one end of the tube mesh and perform the Cursor to Selected operation.
Select the hemisphere and perform the Selection to Cursor operation.
Rotate the hemisphere by an appropriate angle about the Z axis of the "End of tube 1" transform. For example, with C = 8, the angle is 22.5 degrees because 360 degrees/8 sides = 45 degrees per side, which is then divided by two since the hemisphere's rotation is off by half the angular extent of one side relative to the end of the tube.)
Join the hemisphere to the tube, select all vertices, and merge By Distance. This removes the C duplicates where the hemisphere and the tube meet.
Repeat steps 4 through 11 to add a hemispherical cap to the other end of the tube.

Here's a screenshot of a blend file containing all the steps (from left to right along the global X axis; two empties mark steps 6 and 8, although only one is visible in the screenshot):

I'm hoping there's a quicker way to achieve the same result. I've tried using the bevel tool (as suggested in this answer), but it requires cleanup at the convergence point when the bevel distance is set to R.

Maybe, instead of the native curve bevel, you can use Array and Curve modifiers on a profile segment ..(blue section, below)

The array can have 'Start' and 'End' caps (red and yellow). It's easier to use Constant Offset in the array. Adjust (here, in  Z,) the positions of the caps in Edit Mode, until the  'Merge' in the array takes, before giving the array a Curve modifier.

You can set the count of the array to fit the curve, and parent the curve to the mesh to keep it all together.

This is reasonably reusable, the curve and array can be duplicated together, and the curve edited as you like, the caps will stay in place.

If / When you want to fix the mesh, you can Header > Object > Convert To > Mesh, which will apply all the modifiers at once.


Border Select keyframes in Action Editor I am having trouble selecting multiple keyframes in the action editor spread over multiple channels. I have tried with all channels selected/deselected but with no luck. Is there a trick in order to get border select working across multiple channels.

Here is my attempt to border select, after which I individually select keyframes.

You need to unpin the action in NLA editor.

It will then "un-timeremap" your action and allow you to select with B.

Not sure if "feature or bug", will ask Aligorith or a dev.


An Issue while applying texture to all the ivy generated curves So I am currently following a tutorial by tutor4u, on ivy gen . https://www.youtube.com/watch?v=LshPEGiHsqc
So the problem I have is that, there is the stage in the video where he selected one ivy curve which had textures applied to, and then he went to select=select all by type=curve and then he did crtl+L=materials and that texture got applied to all the curves . But when i did it , it got applied only to the ones on the floor/plane mesh . Is this a bug or something ?
sorry but a beginner here
You can see my issue in the image below :

It's impossible to know what is at work without more information, but I wanted to offer some general information anyway.
It's important to understand what is happening when Blender selects objects. The first object to be selected isn't merely selected, but is also active. An active object is a special case of selected object, and there can only ever be one active object at a time, even if multiple objects are selected. When adding multiple objects to any selection one at a time, the last one selected is always the active object. When you use the Make Links menu, as you did above, Blender needs to know what object is going to be the source object for the data transfer. The active object is always the one from which data is transferred, and all other selected objects are the ones to which that same data is transferred.
Now, Blender also remembers the last object to have been selected, even if no objects are selected currently. This is important, because there are ways to select multiple objects without selecting them one at a time. If it were the case that only the last object selected is ever the active object, then which object would get designated as active when all objects are selected at once? The answer is, the one that Blender remembers being exclusively selected previously. And it turns out that every object is designated as exclusively selected (and therefore active) as soon as it is initially created. Meaning that there will always be an object in the scene that Blender remembers to have been exclusively selected previously. So there will never be a condition for which selection outcomes prevent Blender from knowing which object to designate as active.
It's also important to understand that objects which are currently invisible, or which are marked as unselectable currently in the Outliner, will not be added to any selection made via the All By Type menu. This rule also applies to the active object. If the active object is invisible or unselectable, it cannot be sourced in a linking operation. Performing the link with the active object cut off in this way will result in no linking being performed. Invisible or unselectable objects will, as a rule, not be involved in any operations which require selections in order to function. So check to see if you have any visibility or selectability issues.
I noticed in your screenshot that you don't have your selectability column exposed in the Outliner. So you aren't yet even in a position to see what the selectability status is for the objects in your scene. Float your cursor to the top-right of the Outliner, above your listed objects, and you will see the icon for the Restriction Toggle. The selectability toggle option will be found under there.
Until you give more info, there won't be much more anyone can say about your file.


Can You Edit a Mixamo Animation In Blender? Can you edit a Mixamo animation in Blender? If so, are there any tutorials on the internet or YouTube over it? I could not find any.

I am using the low crawl animation where my character crawls straight up and I would like to edit that so I can have two animations of him crawling diagonally to the right and left.

I am using it in Unity 5.2.3 by the way.

The short answer is "yes" it can be done

First you need to convert your animation into something that blender can understand, like FBX or Collada..

My very first search for "import Mixamo to Blender" was an auto-complete suggestion from Google, implying that it's common. And the first 5 hits all seemed pretty useful.


How to disable anti-aliasing in the background images This is pretty straightforward: I'm using pixel art as background image and I don't want it to anti-alias like it is right now:

You need to change your interpolation type to Closest:

This also works with Materials Too.


Preview window of RENDERMAN This is a question about indication of material setting in "RENDERMAN for Blender". Display of the preview window changed as shown in the following image. What is this cause? I want to return this display to the original (left side).
Thanks.

I found the cause. It is a set of sampling in Render Propaty. I'm sorry for upsetting you.


Rotating Camera moves the skeleton out of the armature (2.49b) I decided to reinstall my Windows 7 because the install was showing it's age (2015). I reinstalled Blender 2.49b (for Fallout New Vegas meshes) and now have the problem that whenever I turn my camera by clicking the middle mouse button, the skeleton moves "out of the armature" like this:

It "snaps back" after I release the middle button and e.g. scroll around to zoom in and out. It is highly irritating and I have no idea whether it will also affect exports. I tried reinstalling video drivers but everything is up to date as far as I know. I even reinstalled Windows 7 again to no avail.
Did anyone else encounter this issue and possibly knows a fix?

EDIT: Sorry, I'm apparently too dumb to have the images show here and it also removes my greetings.

Alright, consider this answered. I had "Driver Booster 4" check all my drivers and apparently the ones I downloaded directly from HP were too old. For anyone else having this issue I recommend either using that program or searching for updated drivers manually.


How do I resume a rendering animation? I've stopped my animation that was rendering at 224 frames (out of 250) and I can't find a way to start rendering again from where i left off. I've been told to change the start frame (under frame range) to where I last left off but it just starts the render from the beginning (restricted to 224-225 frames). Please help, I just need a few more frames

What you've been told is correct. You'll need to adjust this number:

Then you'll need to stitch the two clips together in a video editor.

A better approach to rendering animations is rendering an image sequence of PNG's (or EXR's for full dynamic range) and then using the sequence editor to convert that image sequence into a video. Have a look at this tutorial on how to do that.


Blender 2.80: Delete Collection or clear the intial scene in scripting mode The Python refernce says: bpy.ops.outliner.collection_delete(hierarchy=True) is the rightway to remove the collection and its contents, which are generated in every new document in Blender v2.80 (Beta).
But in Scripting Mode it says: AttributeError: 'Screen' object has no attribute 'scene'

How do I clear the initial scene and jump to the next point in my script?

Unlink all children from the scene collection

Not a fan of using outliner operators in scripts. Unlinking or removing the collections from a scene will also have the same effect of clearing a scene.

Script to unlink all the child collections from the scene's master collection.

import bpy
context = bpy.context
scene = context.scene

for c in scene.collection.children:
    scene.collection.children.unlink(c)

Theoretically could remove the child collections using bpy.data.collections.remove(c) above instead of unlink, however I found this has the tendency to seg fault my build of 2.8._ (See EDIT below)

Running this after removes the orphan collection

import bpy

for c in bpy.data.collections:
    if not c.users:
        bpy.data.collections.remove(c)

Similarly could remove the collections objects from blender file with

for o in c.objects:
    bpy.data.objects.remove(o)

EDIT. Update: removing collections from bpy data

import bpy

name = "Collection 1"
remove_collection_objects = True

coll = bpy.data.collections.get(name)

if coll:
    if remove_collection_objects:
        obs = [o for o in coll.objects if o.users == 1]
        while obs:
            bpy.data.objects.remove(obs.pop())

    bpy.data.collections.remove(coll)


Blender moving bij +n actually moves by +n.nnnn I'm trying to move a point in blender on the x-axis and typed g x .4. The current coordinate was 1;0;0 and became 1.444;0;0 instead of 1.4;0;0.
Then I tried to check if the increments were the problem, which they were... When I tried to move a point on x: 1 by increment, it jumped to 1.95238 instead of 2.0

I had the coordinates set on local instead of global, that explains all.


How to Keep Textures High-Res Without Scaling UVs Ridiculously I have a recurring issue where my textures, although seemingly high enough quality, appear very grainy and low-res when applied to a model. However, I've found that scaling the UVs up excessively makes the texture appear way higher fidelity on the model, but I'm pretty confident this is a terrible way of doing this. Am I missing something obvious? For context, I have my Unit Scale on .01 (for exporting to UE4) and the barrel is currently a very large barrel coming in at about 2x2x3m, if that changes anything.

For comparison, it looks pretty bad to me when the UVs are scaled "appropriately":

Instead of directly connecting the UV Vector output from the UV Map node to the image input in the material nodes, insert a Vector > Mapping node. You can use it's scale component to scale the existing UVs, or move/rotate them.

For scaling only a Vector Math node set to multiply will do just as well.

This will obviously not work in an exported object for another program without corresponding material nodes.


UV auto update not working I created my UV texture file and it is displaying fine in the UV/Image Editor window, but it is not showing up on the model.

In every tutorial and every where I've checked on the web it is supposed to auto update on the model and there is even an "Update Automatically" check box, which is ticked, but not working.

Any idea how to fix this? Thanks

Ignore the properties window, adding it as a texture should only be necessary for final renders, to my understanding.

I discovered my fault.
the auto update texture only works while selecting your model on the EDIT MODE of the 3d View window, then selecting the desired texture on the UV/Image Editor window.
i was selecting the texture without entering edit mode. :9


Animate Branch Growth I was trying to create a animated effect on the branch of the "Sapling tree gen" but couldn't animate the respective.So,I would like to know is there a way to animate just the "branch growth" property.If not then can you please give me an idea of how to accomplish the respective? Thanks in advance.

You can achieve a simplistic tree growth animation using the Bevel Factor property of the curve.

You might have to separate your tree into several discreet branch levels, and for a proper realistic effect it will probably require a lot of manual work.

Create a Sapling tree, enter Edit Mode select the whole main trunk and separate it with P.

Then select one of the branch tips (radius $0$), Shift+G Select Grouped > Radius then Ctrl+L to select all linked vertex. Press P again to separate that whole branch level.

Repeat for every branch level you wish to animate independently.

You can then animate the individual Bevel Factor properties on each curve object to achieve a simplistic growth animation by pressing keyframing the property with i while hovering it.

Separate into further objects for more detailed growth, for example by height levels, so lower branches can start growing before the upper ones.


How do I open my .blend file as a folder? I want to make my own folder of grouped objects where I store my assets. I then want to be able to drag and drop it into any blender file so i can use group instance to access that folder and import any model i want. I know there are simpler ways to do this, but i wanted an entire library similar to the extra objects plugin. The only problem is I cannot access the information inside the .blend file. If i could access those files without the need to open blender, i could transfer data between blender files easily. Is there a way to do this?

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.


Blender Bones: How to Join Bones with Objects My ultimate goal is to have a arm that can move in Unity. I have made an arm in blender and have added bones to that arm.

How do I connect the bones to the arm? Is there an easy shortcut to do this?

I am very new to blender, so any help would be much appreciated!

In Blender Select mesh. Then Select armature. Both are selected.
Control-P  will produce a dialog similar to the image below
Consider a blender tutorial video on some well known video site such as YT
In the past some (new to Blender) questions are cast away.


Modelling a sphere with 2 flat faces I'm trying to model something like the object on the left side of this photo:

I need to get a shape that is basically a sphere with two flattened areas, one at the bottom and one on the side with an angle. The part I'm having trouble with is getting the shape while maintaining a clean topology.

The best base topology seems like a cylinder, I just can't find a way to deform it perfectly with the Simple Deform (Bend) + Cast (Sphere) modifiers.

To make a sphere with flat faces:

Put your picture as Background Image.
Create a cube and W > Subdivide Smooth.
Cut it with the knife tool (K to activate, Z to cut through, C to cut perpendicularly).
Use V to separate the pieces you want to delete, then delete.
Clean a bit the rim with some merge (alt M).
Extrude to create faces, merge at center.
Give it a Subdivision Surface modifier and click Shading > Smooth to smooth.

I've tried a more detailed version, with the button holes etc... In that case a UV Sphere seems better to begin:

Put your picture as Background Image.
Create a UV Sphere (48 segments, 24 rings), keep a copy on another layer, give this copy a Subsurf modifier.
Rotate your original sphere 45°. Give it a Shrinkwrap modifier with the copy as Target so that the shape of the original will stick to a sphere shape during the next operations.
Cut the top of your sphere, align the rim to the picture’s rim.
Cut 2 holes on the side, extrude and scale to create 2 circles for the buttons (use W > LoopsTools > Circle, or shift alt S).
Cut the base with the knife tool (K to activate, Z to cut through, C to cut perpendicularly).
Apply the Shrinkwrap modifier.
Make some extrudes for all these holes.
For the sphere's « equator » make a thin bevel and extrude .
Etc…


How to quickly separate and/or delete extra faces created by extruding? I have made a giant plane and subdivided it with 100 cuts. I am extruding the surfaces to make a "room" if you will.

If the areas are not extruded in the same extrusion, a wall is left between the two extrusions, as you can see at the end of the green arrow.

What I would like to do is take one of the "squares" on these said walls and delete it. Now I had tried to work around this by grabbing the wall at the top and pulling down on it but the problem with that is it is connected to the walls next to it. So when it moves they move.

Question

Is there a way to delete one specific "square" from a plane or one specific side to a cube? Also, is there a way to 'unhook' or 'unbind' the objects or squares of a plan from one another when scaling or skewing?

Thanks in advance.

By now you are working with "edge" selection mode (2nd button on the header).

Just switch to "faces" mode (the third), select the face you want to delete, press X and choose the preferred option.

Try also the first button (vertex mode).

The fourth on the right lets you also select  vertex, edges or faces hidden by some other geometry.

Another useful function is select some faces, hit P> Selection, then exit edit mode (↹ Tab). The selected faces will be no longer be a part of your original object: they are a brand new object.

Additionally if you hit Y instead of P the selection will be separated from the original mesh while remaining part of the same object.


Blender normal Shader not working I wanted a wave texture to convert to normal but it has a problem.
This is what I want:

And it gives me this:

Since the texture you are trying to use is a B&W image, not a purple (tangent space) normal map, you should be using a Bump Node instead of a Normal Map Node. Connect the wave texture to the Height input of the Bump Node, and then connect the Normal output of the Bump Node like you would with a Normal Map. Additionally, I often find the contrast between black and white on many of the generated textures to be too strong to make a realistic bump map on it's own. I find that using a MixRGB node, to mix the results of the generated map with white (or black), helps to soften the impact of the texture and make the resulting bump map look more realistic. This can also be done by controlling the strength factor of the Bump Node, however I feel this way gives me more control, especially when using multiple generated textures at once.


X-axis Mirror does not work properly I'm having troubles with the x-axis mirror operation. Maybe because I moved the bones when the option was disabled and I shouldn't do it. But now,with the option enabled,the left and right bones are no longer symmetrical. I tried to delete the right bones and then I duplicated/flipped name/mirrored on the x or local axis the left bones,but it didn't work. They are again not symmetrical. What I should to do ? Check the attached video for a better understanding of the problem. Very thanks.

x-axis mirror video

X axis mirror is mirroring along X axis considering the origin point of the object (mesh or armature) is the center of the mirror:

As your armature seems to be centered around the world center, you can

Snap the 3D cursor to the center ShiftS then cursor to center
Then transform the origin point of your armature using the menu in object mode: object/transform/origin to 3D cursor

If the world center was not the center of your armature, you can use other snapping options to place it where needed.


name 'bpy' is undefined In test.py I have the following line. It was taken from this page:

bpy.data.objects

Then I start blender from the bash prompt:

blender Rigged\ Hand.blend  --python test.py

The response on the terminal:

Traceback (most recent call last):
  File "/home/sam/proj/Rigged Hand/a/setup.py", line 1, in <module>
    bpy.data.objects
NameError: name 'bpy' is not defined

Even though blender has opened my file, I can open the python prompt inside blender and type the same thing; I get the response <bpy_collection[5], BlendDataObjects> as expected.

Why can I not use bpy in the script which I invoked from the command line?

"import bpy" first.

They automatically import that module in the console as a convenience,
so you don't have to type it in every time.  -cheers


Can't see the Armature in Object Mode and in Weight Painting Mode in blender 2.8 For whatever reason, If I'm seeing the model in Object Mode the Armature hides, same in Weight Painting Mode, I can select it but the Armature doesn't show, the only thing that shows representing the Armature is a orange dot placed where the Root is. Alt+H doesn't show it.

Maybe you disabled Bones in the Viewport Overlay options?
The options are at the two intersecting circles on the top right.


Lower resolution of rendered viewport whilst maintaining size on 4k monitor I have a 4k screen on my laptop which means that if I position a rendered viewport in one quarter I'm rendering on-the-fly a resolution of 1920X1080. My current solution to save time is make the viewport window smaller but then it's harder to see. What I'd really like to do is set a scale for the preview rendering of something like x0.5. In other words, whilst I size the rendered viewport to something like 1920x1080 I actually want Blender to only calculate 960x540.

Is there an option for this in Blender? Otherwise I'll end up down-sizing my resolution before starting Blender :(

there is a setting under performance that does that, it's called viewport resolution.
2x means half the resolution, 4x means a fourth etc.

Blender 2.8:

Blender 2.7:


How to map one image across multiple objects I am looking for an older post on here, but I can't find it.

I can't recall the exact question, but essentially a user asked how to cast an image across an entire array of objects with it automatically fitting to the objects. A person responded and the main image they used to answer was using a blender logo in many different shapes and sizes. I am hoping to find the original post. Thank you.

Dot matrix display in Cycles?

This is the thread I was looking for. The term I had been thinking of was "Dot Matrix"


Why does running a game engine script from the text editor cause an error? Why does running you Python script using "run script" option in text editor generate an error called "bge module not found", while executing it using P command doesn't cause any problems?

The 'Run Script' button is not intended for BGE, but for Blender addons and macros. Understand that BGE is a standalone component, it's not part of Blender environment.

This way, importing the module bge is not possible when running scripts inside Blender, the same way you can't import the module bpy while running scripts through BGE.


Video format that will play on MacOS I exported my animation with all standard settings and used the 3rd Selection in the Video Format Options. When the render was complete, I couldn’t open it because it was in .mkv. What specific settings should I use for a Mac?

You should use FFmpeg video and MPEG-4. It will output a .mp4 file, which is the most common video file format and will probably work on any device, including mac.


Can i control emission brightness using an object controller with animation nodes? I would like these pipes to gradually light up when the ball floats over them but i cant work out how to get each pipe to work independently of each other. At the moment the brightness is dictated by how close the ball is to the original pipe and i want the brightness to be controlled by how close the ball is to each instance. This is what i have so far...

There are multiple ways to do this, one way is to send the location and scale of the controller object to the material and compute the distance between the locations of the pipes and the location of the controller in the material:

How you use the distance is up to you.


I want to follow a tutorial but my mirror modifier doesn't work like in video? So as you see on the video , the front side is moving together but the back side is not ! I want to follow a tutorial video but my mirror and the tutorial mirror is behave differently ! But why ? As I see on the tutorial both sides moving together ! Here is the video how my mirror works!

In the video, (having used it before,) the tutor is still using B Box-Select, in the shot you're referring to. In wireframe mode, that will select every vertex, however deep, within the box.

In your video, you are selecting directly, with a right-click. This will only select the vertex closest to the viewing plane.


Why does the material tab has a different layout? I downloaded a Blend from Blend Swap and the materials are behaving much differently than I am used to - I think it has something to do with Cycles maybe? Here is what I see:

On the left is my "normal" materials tab, and the right is from Blend Swap. What is going on here? Why are they different? Also, with the screen on the right I cannot assign a different material to different parts of the mesh:

Any ideas what I'm into here?

Looks like it is a Cycles render file, and the materials look like that since they mention 'Diffuse' etc. Your faces must be selected to use the assignment button, but in this particular file they might already be assigned but the material might not be set to use a color for the viewport....


Using the Object Attribute Output node to drive the Orthographic Scale of the camera I´m trying to animate the orthographic scale of the camera with Animation Nodes so that I can procedually change the value and don`t have to rely on keyframing it. Using the Object Attribute Output node I managed to change values of different modifiers but when i try to use it on the camera object, it gives me the error "Attribute not found".
I'm not sure if this is the right way to achieve what I want.


Why can't I switch out of object mode? I seem to be locked into Object Mode.
When I hit Tab, Blender won't switch into Edit Mode.

Why is this happening? And how do I fix it?

I copied and pasted an object from a different Blend. Maybe that's why it was locked. But why is that?

If you link an object from another file, it can only be edited in that file, not the one you have added it to. What Blender is doing is making an exact copy of a portion of another .blend file, and reverse connections are not currently supported (being able to update the linked .blend). You will need to Import the mesh in order to edit it.

Changes to the source .blend file will not be automatically visible in the linked mesh, you will need to re-link or update the mesh.


what's the difference between 'repeat', 'extend' in image texture node? i'm toying with those two options but cannot figure out. with flat mode on, I loaded image texture but they both extend the edge of image at the boundary on the top of cube. all I figured out is repeat extends only one direction of image horizontally and vertically but is there more than that? and what is tiled looking.

I figured out. you can check the difference when you use mapping node with image texture and change the scale of an image on the object through mapping node. scale the image down with the mapping node by tweaking its scale option you'll see that extend just extends the image on the top of a object while repeat makes several same images on the top of an object.
from what I've figured out, you should scale the image down through mapping node or whatsoever.


No Option For Graphics CPU in Render Settings Specs
Windows 10 Pro 64 bit
Intel i7-4810MQ
Nvidia K3100M
--- [Nvidia Graphics Driver 354.56]
--- [Nvidia nView 146.90] comes with graphics driver above.
Intel HD Graphics 4600
--- [Intel Graphics Driver v10.18.15.4268]
500 GB Crucial SSD
32 GB Kingston 1866 SODIMML RAM
And some other miscellaneous stuff that probably doesn't matter.

Hopefully the image will explain what is happening.
I am just learning Blender and I am trying to render the monkey head. I set the resolution to 1080p HD TV and then 500%. That should strain the pc right?
Well when I run the render, all 8 CPU cores go through the roof. I am guessing my Video card is not helping with the process.

I think that I have all the settings correct. Why am I not able to select the graphics cpu under the render tab?
PC and Blender Settings

Now you must have Blender Render on that renderer option of yours.
Change it to cycles! Now! Now!

The option box on the render setting will magically appear!

Additional Notes
You may need to make sure the Performance numbers are setup correctly
to make rendering go faster when you are using the GPU. Also beware
that overly bright scene that renders with lots of "firefly" noise
will slow down the render too.

Turn on "Auto Tile Size" in your user preference add on tab.

Here is where you will find the tool on the performance header.


How to select the cylinder object and not the outer reference surface? I am starting out with blender and it is difficult for me to explain in words, I am attaching image for reference:
I want my cylinder object to be selected like this:

But currently it is selecting the outer reference:

I added the cylinder in edit mode just as shown in this video. Please let me know where the issue is.

You need to click the "On cage" icon inside the Subdivision modifier


How can I make an armature for eyes? I am struggling with setting bones of eyes in a model. I followed some eye riggings tutorials and applied it on my model.

I can change the direction of eyes with IK's. And when i rotate my model's head, eyes follow the position properly. However when i move another bone like hip bones, eyes moves non-propotional to head. They move fastly. How can I arrange that?

Here is what i did:

i added two bones to both of eyes. and added their IK's. Then i connected the eyes ('n object mode) to bones (in pose mode) with bone choice. Lastly i connected both bones of eyes to head bone with keeping offset.

okay i solved the issue. i deselect vertex groups of eyes in armature section at modifier tab. know eyes move as they should be. maybe this helps others who struggle with same problem.


Explosion effect is getting stopped by domain When i make my explosion, everything is good, but when it builds up, the smoke reaches the walls of the domain, causing it to stop there. I made the explosion from a video and in order to ask, i joined the youtuber's discord server, where they told me to expand the domain and bake it again. But that makes my explosion bigger, it doesnt give it more space. Do you have any advice?

I solved it! I had to increase the "add resolution" property under adaptive domain and decrease "threshold" to .01


stl and obj import export python broken Here's the problem: Whenever I try to import or export anything(.stl and .obj), I get the following error:

  Traceback (most recent call last):
  File
  "C:\Users\owlteagames\Downloads\blender-2.78-windows64\2.78\scripts\addons\io_mesh_stl__init__.py",
  line 203, in execute
      from . import stl_utils
  File "C:\Users\owlteagames\Downloads\blender-2.78-windows64\2.78\scripts\addons\io_mesh_stl\stl_utils.py",
  line 31, in
      import contextlib
  File "C:\Users\owlteagames\Downloads\blender-2.78-windows64\2.78\python\lib\contextlib.py",
  line 4, in
      from collections import deque
  File "C:\Users\owlteagames\Downloads\blender-2.78-windows64\2.78\python\lib\collections__init__.py",
  line 10, in
      from operator import itemgetter as _itemgetter, eq as _eq
  File "C:\Users\owlteagames\AppData\Roaming\Blender
  Foundation\Blender\2.78\scripts\addons\operator.py", line 5, in

      from .hmd import HMD
  SystemError: Parent module '' not loaded, cannot perform relative import

I don't really know what any of this means, but I've noticed...that the problem seems to be centered around a bunch of different Python scripts.

I have been researching this for three days without any luck. My boss is about to fire me for "Claiming I Know How To Use Blender When I Obviously Don't." I've uninstalled and reinstalled Blender, and no help. I'm afraid that if I roll back to an earlier Blender version, that all my files opened in the new Blender will be incompatible!

I even tried going into the preferences under files paths, to see if the lack of connections to everything was the culprit- the boxes next to FONT, TEXTURES, RENDER OUTPUTS, etc were all empty except for the TEMP path. I hooked up what I could- fonts, scripts, but the same error appears- completely unaffected by my path connections effort.

Many Thanks to the person able to help, and thank you for reading this even if you can't help! Let's save my job! Haaa...

thank you metaphor_set and sambler!

a combination all of your suggestions helped. I had tried to download a theme, and I guess it didn't want to work right. Anyhow, I deleted my pycache, restarted, and made sure to select Selection Only on export, and change the type from Batch to Object. After that, things started working again.

thanks again! I hope this helps somebody else!


How would I rig this mechanism to have the same movements as shown in the video? I attempted to rig this mechanism just like the video but didn't really know where to start. Any information/help would be amazing.

Picture of what I'm trying to rig:
The mechanism I'm trying to replicate: https://vimeo.com/359913559

Blender file with the models: https://www.dropbox.com/s/3ycyxw4vhuvvb23/RigAnimation.blend?dl=0

Start from the first half of the mech: a wheel that's driving a two part arm. Put the head of a bone exactly in every center of rotation of all joints (use Shift S, selection to cursor and cursor to selected, for precise placements).
 Starting from the bone that drives the force A, B is simply son of A and acts as target for the IK bone chain C,D. E is simply son of D (keep offset), and it will be the IK target of the 2nd part IK chain.

Part 2 is simply another IK Chain, bone E is target for the IK chain F,G,H,I. The only difference is that every bone of the chain has locked the rotation axis that in real world would be constrained by its rigid nature.

Which axis to constraint it depends by the bone roll (you can set it in edit mode). A good habit is to rotate the roll so that the main rotation is along positive X Axis, and you can turn on axis visualization to help understanding which axis to lock.

I added on the end a third IK chain (L,M) form bone E head to bone H tail, just to drive the rotation of the smaller part of the piston, because it was getting a big rotation out of its natural axis (in your video this longitudinal extra rotation is absorbed by imprecision of the joints).


Simple fan with single bone / weight paint doesn't appear correctly while posing So I'm trying to create a simple fan like object that folds up from right to left.  You can see my single bone along with how I painted the weights below:

And here is the result when I go into pose mode and rotate the bone 90 degrees.  I would expect left side vertices to be influenced less so that the entire object can fold into itself.

If you have a vertex that is controlled by only one bone, even if the weight of this bone on this vertex is 0.01, the influence will be 100%.
Example: I have this square, the bone has a weight of 0, 0.01 and 1 on its 4 vertices:

If I move the bone, the vertices with a weight of 0.01 will move as much as the vertex that has 1, the vertex that has a weight of 0 won't move:

So if you want to vary the weight of a bone on a vertex, you necessarily need a second bone. If I create a second bone that has a weight of 0.01 on the vertex that has already a weight of 0.01 from the first bone, this second bone will share a 50% influence on this vertex.
For your object, you could create a series of bones, for example 5 bones, parent the object to the armature With Automatic Weights, then give your bones number 4, 3 and 2 a Copy Rotation constraint with bone 5 as Target, and a decreasing influence of 0.75, 0.5 and 0.25:

Here is what it gives:


The Bevel is not normally applied to a specific edge of the connected edge with Subdivision surface Some problems arise with the application of the Subdivision Surface modifier when trying to create the following model:

If you look closely at the picture, the bevel did not apply properly on only one edge.

I also put a set value in the Crease for the edge. However, the edge is described as strange as follows.

Q.Is there a way to make the edge look like any other beveled edge?

This happens because there are two large n-gons, and the Subdivision Modifier doesn't like it.
Just cut them into quads, and everything will be fine.

Connect vertices to make quads.
Vertex > Connect Vertex Path
Shortcut: J

Compared results:


Make blue glass shader in cycles I would like to make a blue glass shader in cycles.
Something like this:

This was my first trying but I think it's terrible.

And here's my second trying but it doesn't look well.

Is there any way to make a shader like on the first image?

Try to mix two Glass Shaders- one with a white color and the other with a blueish color. Set the mix factor to a low value to make glass look more blueish and transparent at the same time. With a good lighting setup you'll achieve the effect you want.


Cutting a speed-adjusted clip distorts audio/video alignment in Video Editor Blender Version 2.82a
I am combining clips that I recorded with my phone using both front and back cameras. This means that I must adjust the video speed on some to align with the audio because the front camera records at 60fps and the back camera records at 30fps. One clip,slowed down from 60fps to 30fps I am trying to cut a few seconds off of.
I adjust the speed of the individual clips using the Add>Effect Strip>Speed Control.
When I perform a hard cut (shift+k) on the audio and video, the video in the clip slows down relative to the audio. When I perform a soft cut (k) on the audio and video, the video speeds up relative to the audio.
How do I cut the clip so that the audio and video stay aligned?

looks like blender can only speed control video, but no audio.

but you can change the speed of the sound by pitch:


How can i randomize the position of particles even more? I'm trying to do a Asteroid belt, as you can see in the image the first one works well (for its own size) because the asteroids have a lot more random positions that the big one, but that's the problem, in the bigger asteroid belt, i made a different particle system, based in one single asteroid, rotated (and it still works grealy) because if i add a group as particles, the groups are too notorious and i want to make this as natural as possible, is there any way to randomize even more the particles, like in the small asteroid belt i did?

Attach a Voronoi or Noise Texture.  Affect the pattern of particles by selecting Influence Density TRUE.

The texture in the particles system

Modify to suit your artistic goal.


Blender MantaFlow ... no visible result! Im really wondering why the MantaFlow branch does NOT show me anything. What I mean ... I made a simple cube as a domain, than another one as an obstacle and finally a sphere as a flow. Leave the settings as it is but of course change the type of simulation to liquid for both the domain and flow. When I press "play" on timeline nothing happens so I tried to press "bake" which looks like something is computing cause it takes some time.
After all is done I want to play the anim but I still see NOTHING so wonder if I made some mistake or what??? If someone could point me in the right direction I will be REALLY glad fellas!

Sincerely, Jan

The mantaflow branch works a bit differently than you may expect. First bake the fluid sim, then enable fluid mesh and bake the mesh. There is no visible mesh changes before baking the mesh.

You can pause the bake after a few % and start the mesh bake to see results at the beginning before finishing the bake.

There is also fluid particles that can be baked, this can give the extras like bubbles floating on the surface.


4 way video for pyramidal hologram I struggle with one thing. I need to create a 4 way video for a pyramidal hologram. How can I do it using blender? I have tried to search everywhere but seems that Im not hitting the correct keywords.

Please see example of such video here

Thank you Mike

Transform Effect

Transform strip effect is the way to manipulate input strips around the "canvas". As stated by the Blender Manual page:

  Transform is a swiss-army knife of image manipulation. It scales, shifts, and rotates the images within a strip.

Select the given video strip and add several Tranform effect strips to it (the must all be referred to the input, the one in blue, so always pick it before adding each effect).

You'll not need to duplicate the strip several times, as the effect strip is already a copy of the input video itself, but with custom parameters.

Make sure to assign a Over drop blending mode to each tranform strip and mute the input one.

If you are planning to use multiple views (as shown in this video), just assing a transform strip to each input video:

The 4 input videos were made by rendering the same animation from 4 different cameras:

You can find several templates for Blender at: DIY hologram using a 4-sided pyramid


Knife project on smooth cylinder resulting in streaks I've been having this problem where, when I Knife Project an ellipse shape onto a smooth cylinder, I have streaks on it like so:

I have tried Edge Split and that fixes the problem, but it makes the mesh look really ugly (like it's flat). How would I go about solving this?

Never mind. I figured that if I Edge Splitted the edges at the back of the elliptical eyes, I could do away with the streaks since they were connecting the vertices of the eye's adjacent faces to the eye. Edge Split gives each adjacent face their own copy.


Lagging/glitching when moving things When moving things, it almost seems like it's lagging or I'm moving in specific grids, it's hard to explain, watch the gif:

You have snapping to increments while transforming on. Click on the magnet icon to turn it off, or change your snapping element (to vertex/edge/face) if applies.


Separate an advanced model into two sections I need to separate the leaves of an apple tree from its trunk. The only thing defining the two is that they both have a different texture, so I wondered if there is any way to manage to separate the two? Currently I have this 'export selected' add-on: https://github.com/dairin0d/export-selected
Which I plan to use to separate the two objects into different .blend files.

I'm not certain on how else to do this as the model is quite a mess vertex wise:

Any help would be greatly appreciated,
thanks.

Yes there is a way.If they have different textures then you must have applied two different materials.Then you can go in edit mode and select the leaves by material and separate them.


Looking for a Team (A Question about Blender Community) This is a question about the Blender community itself.

We have a list of resources (Resources for Blender) of things like sounds, models, and addons, but the one for community organizations has just been added, and may not be of much use for a while. I want to recruit a team for my first animation, Ignite Cascade. It is thirty minutes long.

Is this the right place to ask this question (that is, should it be moved to meta?) Is this the wrong place to ask for a team to be assembled?

If you go to the user community page on the Blender website, you will find a number of sites on line where there are blender users participating in forums, including a facebook page, where you might recruit members for your development team.

Good luck. A 30 minute animation is quite an undertaking.


Better way to retopo? I want to pass a couple edge loops through the abdomen, but as you can see, the edge loops pass all the way around the side, up the back, neck, head, and down the front.

I've been practicing retopology and have been trying to make really clean topo.  It seems like I'm TOO interconnected.  What did I do wrong here?

Don't hold back!

.blend at http://www.filedropper.com/retopopractice1

The topology of the back is bad, it makes the edge loops come back vertically, so you need to create some vertical edge loops with the knife, delete the oblique edges, make sure it only leaves quads, then horizontal edge loops will be possible:


How to make dr.eggman mustache? I am trying to make a the mustache in the picture above but can’t make the same thing. So far I have tried modeling the mustache but there is no hair and it’s just a flat mesh.

You can use hair particles.

Add a particle system and set it to hair. Choose a higher number for segments (e.g. 10).
Go to Particle Edit mode. Select some tips and scale them towards their center to create a pointy end segment. ⎈ CtrlNumpad+ select additional segments of the same strands and comb, smooth or cut them.

Unwrap the emitter object and use Noise Textures to create color variations in the material.

Use child particles, if the hair is not dense enough.


Nodes and vector colours of a 2D picture in Blender I have a jpg picture as given below and I wanna have it entirely red with the red color having
the density which would follow the original picture. A .blend file using Nodes postcomposition would help.

You can run your image into a separate RGB node and use only the red channel.  This is in the material editor, but there are similar compositor nodes.


Is anisotropic BSDF different to principled BSDF w anisotropy? I have a simple sphere. Half of it has an anisotropic BSDF material, the other half has a Principled BSDF material with anisotropy. I believe I have the same settings for the two materials, but they render differently. How do I get the materials to match?

It looks like if you play a bit with the Principled settings you get about the same result. I can't tell you more as I don't know anything about anisotropy   ;)


How to use the equation of the circle in the driver expression? How to use the equation of the circle in the driver expression?

x^2 + y^2 = 1 we can write in driver expression as sqrt(1-scale^2)


Reverting shifts and rotations to an imported object so essentially I have imported a model fetus to make a mold. At the very beginning, I shifted and rotated the object and the origin of the object to make it easier to manipulate the mold before I developed it. I now need to add to the model which requires importing the brain and editing the mold. However, I need the exact position that the fetus was originally imported to maintain accuracy. Is there any way to recreate the transformations I did on the fetus to the brain, or do revert the changes on the fetus to have the original position it was imported in?

I have tried applying the current modifications from the fetus (seen in figure 3) used to create the mold but I believe since I reset the origin, the changes would not reposition the brain correctly. Eyeballing is not really a solution here unless it is the only one. I need to maintain the accuracy of the relative positions.

Figure 1: imported position of fetus

Figure 2: imported position of fetus and brain

Figure 3: Transformed fetus used to develop mold

For reverting, the information you're missing is the exact location of the origin, before it was moved.

If you can find it (maybe reimporting the mesh, and pressing Shift S - cursor to selected) it should be simple to perform a "backflip" (just use negative values for the trasforms)


How do I make a square when the existing edge is not alined to any of the axes? If I have two arbitrary points (not aligned with any particular axis), is there a way to make a square using them?

For example, if I have two points along the X axis, I can select the edge between them, E to extrude it, Y to constrain, and type in the length to make a square.

Can anyone help me do this if the points are not alined on the X or Y axis?

With the edge selected open up the properties pane with N Scroll down to the Mesh display section and turn on Length for the Edge Info.

Now press E to extrude, then press YY to constrain the movement to the Y Normal axis. Pressing XX or ZZ would lock movement to each their respective axes. Finally before you confirm the movement, type in the length of the first edge.


Adding a pole target causes bones to ignore their IK constraints I currently have a robotic arm rig with the shoulder only being able to rotate along 1 axis, and the bicep only being allowed to rotate along a different axis. I am controlling these bones with an IK controller, and It's working great, save for the fact that when I add a pole target to adjust the solution, all of my axis locks are ignored.

This issue has been driving me crazy, and I am wondering if there is a solution.

Here is the blend file : as you can see, the rig works exactly as intended, but when you set the pole target as the bone labeled "elbow" the axis locks are ignored.

As it turns out, this is impossible. The issue of ik constraints being ignored because of a pole target is a known problem. Hopefully support for this function will be added in the future. I might have to look into fixing it myself.


How to remove Triangles and Ngons I'm new to Blender and 3D modelling in general. I encountered a problem where I can't remove Tris/Ngons after using the boolean modifier (Union) to combine 2 objects to make the handle of a sword.

this is the mesh

Is there a way so that all of them would become Quads?
Thanks for your help in advance.

Using quads not always necessary. But, anyway, here how would i do this task:


Mesh disappears when using boolean modifier Mesh disappears when trying to boolean it with a text, some text font work but this one doesn't i really like this one. Text here is already converted into mesh.

Maybe your normals are facing in the wrong direction?


why the extruded verts not lay down on ground i have made the verts and extruded and added cloth simulation and below a plane ground. Why the verts not lay down on the ground. I have apply passive from physics tab.

New Result

Floor plane needs to be set as Collision, not Rigid Body.

Cloth needs Faces to work, not only verts. You should extrude your vertices by a small amount on Y. (Not to small : below 0.003 I had some strange results)


Baking Textures as Image Sequence by Script in Cycles Related to this: Baking textures on headless machine (batch baking)

Is there a way to batch the baking of textures over all frames? I have an animation and since the light is changing at each frame, would like to bake out the texture of each frame into an image sequence.

I've set my render mode to cycles
I've added a Image Texture Node and have it set to image sequence
My UV is unwrapped to the image sequence

If I put this in console, I can bake one frame to the sequence:

bpy.data.objects["Cube"].select = True
bpy.context.scene.frame_current = 1
bpy.ops.object.bake(type='COMBINED')

Similarly, I can bake another frame:

bpy.data.objects["Cube"].select = True
bpy.context.scene.frame_current = 2
bpy.ops.object.bake(type='COMBINED')

However, when I try to put this in a for loop to bake multiple frames like this:

for i in range(1,30):
     bpy.context.scene.frame_current = i
     bpy.data.objects["Cube"].select = True
     bpy.ops.object.bake(type='COMBINED')

It will only bake the texture of the first frame in the loop. It appears like it is looping through all the frames and it is baking them, but the images in those frames do not get updated once the script is finished. Any ideas on what is happening?

Since 'Animation Baking' is now officially supported by this Add-on (shipped with Blender by default), you can simply call bpy.ops.object.anim_bake_image() for a sequence:

import bpy

scn = bpy.context.scene
scn.animrenderbake_start = 3
scn.animrenderbake_end = 30
bpy.ops.object.anim_bake_image('INVOKE_DEFAULT')

The following script is a slightly modified version of the Add-on in order to bake specific frames (for demonstration purposes). To bake all frames (or a custom range) use the range() function.

import bpy
import os
import shutil

# set the frames to bake
bake_frames = [0, 230, 99]

# format frame number
def framefile(filepath, frame):
    fn, ext = os.path.splitext(filepath)
    return "%s_%04d%s" % (fn, frame, ext)

# scene attributes
context = bpy.context
is_cycles = (context.scene.render.engine == 'CYCLES')
selected = context.selected_objects
img = None

# inspect the materials
if is_cycles:
    inactive = None
    selected = None
    for mat_slot in context.active_object.material_slots:
        mat = mat_slot.material
        if not mat or not mat.node_tree:
            continue
        trees = [mat.node_tree]
        while trees and not img:
            tree = trees.pop()
            node = tree.nodes.active
            if node.type in {'TEX_IMAGE', 'TEX_ENVIRONMENT'}:
                img = node.image
                break
            for node in tree.nodes:
                if node.type in {'TEX_IMAGE', 'TEX_ENVIRONMENT'} and node.image:
                    if node.select:
                        if not selected:
                            selected = node
                    else:
                        if not inactive:
                            inactive = node
                elif node.type == 'GROUP':
                    trees.add(node.node_tree)
        if img:
            break
    if not img:
        if selected:
            img = selected.image
        elif inactive:
            img = inactive.image
else:
    for uvtex in context.active_object.data.uv_textures:
        if uvtex.active_render == True:
            for uvdata in uvtex.data:
                if uvdata.image is not None:
                    img = uvdata.image
                    break

# convert the path to absolute path
img_filepath_abs = bpy.path.abspath(img.filepath, library=img.library)

# iterate through the frame list
for f in bake_frames:
    print("Baking frame %d" % f)

    # set the frame
    context.scene.frame_set(f)

    # cycles bake
    if is_cycles:
        bpy.ops.object.bake()

    # internal bake
    else:
        bpy.ops.object.bake_image()

    # save the image
    img.save()
    img_filepath_new = framefile(img_filepath_abs, f)

    # copy the image
    shutil.copyfile(img_filepath_abs, img_filepath_new)
    print("Saved %r" % img_filepath_new)


Remove sharp or jagged edges in mesh The problematic edges are small, convex, sharp protrusions on a larger concave, smooth surface.  Edge split, smooth, and subdivision modifiers do not achieve the smooth surface I'm looking for.  Is there a way to force edges with larger than, say 290 degrees to become less obtuse?  Note that I describe the edge this way because that is the side of the surface I'll be viewing (not side of the surface with the equivalent acute angle).  Here's an example:

The mostly horizontal lines are where thin, jagged protrude out of the otherwise smooth surface.  Close-up:

Using the Smooth brush in sculpt mode with dynamic topology and Collapse short edge enabled gives (applied on various scales for demonstration):

This is close but is there a way to now make the 'crumpled'-looking surface become more like the other smooth surface?

This topology is so messed up (current Sculpt Mode will do that), it might need a retopology.

Either use a Shrinkwrap Modifier to get a clean result with a new mesh and far less verts (after the rough adjustments, you can enable the modifier to be active during Edit Mode which glues your verts to the surface) or use use the Bsurfaces addon. With it, you can convert Grease Pencil strokes into topology. You need to set the grease pencil to Surface or otherwise the strokes won't connect to the underlying mesh.


Multiple GPU card problems I have two GPU cards in my machine. I had a GTX 980 Ti and I recently added a GTX 1070. My render times have more than doubled, however when I go back to look at my PNG's, I notice that they don't line up. Every other frame is slightly off in "space" so when the PNG's are run together or if I put them through the video sequence editor, it makes my object shake or slightly move back and forth. Almost like a heat wave effect. Not sure what to do, or if anyone else has seen this.

Problems like this might happen when using different devices to render one frame. That's why render farms have always one type of GPU and/or CPU letting render one frame. If its an animation, lets say frame 1-100, just open Blender 2 times, let one instance of Blender render with one GPU the first half (frame 1-49) and the other instance with the other GPU the other half (frame 50-100).

I never used 2 GPUs though, i dont know if this will work perfectly. But i think so.