Importing trajectories to create an animation

There are several easy ways to exchange data, common formats are .csv or .json and both can be written and read easily.

What you might end up doing is have csv file like this:

timestamp,p1x,p1y,p1z,p2x,p2y,p2z,p3x,p3y,p3z....etc
0:000,x,y,z,x,y,z,x,y,z....
0:020,x,y,z,x,y,z,x,y,z....
0:030,x,y,z,x,y,z,x,y,z....

The timestamp could be as fine grained as you want, or 24 frames per second. Exactly how you turn the information into an animation is entirely up to you and can also be entirely scripted.

Here's a movement.csv, which uses a frame number instead of the timestamp, simply because it makes the example more convenient.

To start off you might want to simply key-frame some empties. Let's say we have 48 lines of data for 3 points in space, and they describe these arcs (though can be any complex path)

import csv
import os
import bpy

# add 3 empties programatically to be certain it works as a demo
mt1 = bpy.data.objects.new('mt1', None)
mt2 = bpy.data.objects.new('mt2', None)
mt3 = bpy.data.objects.new('mt3', None)
empties = [mt1, mt2, mt3]
for m in empties:
    bpy.context.scene.objects.link(m)

filename = 'movement.csv'
directory = '/home/zeffii/Desktop'  # <-- if you have linux or osx
# directory = r'c:\some\directory'  # <-- if windows, the r is important
# directory = 'c:/some/directory'  # <-- if windows (alternative)

fullpath = os.path.join(directory, filename)

with open(fullpath, 'r', newline='') as csvfile:
    ofile = csv.reader(csvfile, delimiter=',')
    next(ofile) # <-- skip the x,y,z header

    for line in ofile:
        f, *pts = line

        # these things are still strings (that's how they get stored in the file)
        # here we recast them to integer and floats
        frame_num = int(f)
        fpts = [float(p) for p in pts]
        coordinates = [fpts[0:3], fpts[3:6], fpts[6:9]]

        bpy.context.scene.frame_set(frame_num)
        for ob, position in zip(empties, coordinates):
            ob.location = position
            ob.keyframe_insert(data_path="location", index=-1)


Use the wireframe modifier. By editing the different parameters, you can create a very similar result to what you are asking about.


Here is a quick method for that:

Create a circle curve object.
Enter Edit Mode, make sure all points are selected, then V to switch handle type to Aligned.
AltC to make it an open curve (acyclic).
Select the tip point, then E to extrude it. Note that the length should no less than the length of the text.
You can manually tweak the shape by extruding and transforming points to make it a circle (or several circles for a longer rolling later).
Add a Follow Curve modifier to the text object, and choose the curve as path object. You may also want to scale the text to match the curve.
If the text appears flipped, you can select the path then enter Edit Mode, then W > Switch Direction.
Then move the text horizontally to the expected location.

Finally, you can key the movement for path object to get the result:

Example File:


Adding Blender Datapaths together as strings and then executing the resulting string

You can use

eval(b)

eval() will take any valid Python expression string as argument.

To set a value, use

exec(c)

But be careful, exec() will execute ANY python code, so it is considered a very dangerous command, especially if the string is from user input.

I would advice rethinking how your code is setup, there is usually very little reason to access bpy in these fashion.


Would you be able to set "Transparent" on and then add the background in via the compositor? (See set up below).


Combine textures into one - For Tabletop Simulator

If anyone has an automated way of compositing them I would love to hear about it my self, but so far as I know the unfortunate answer is it has to be done manually.  The way I've always had to do it is to open the three separate textures together as layers in a photoshop type program (I typically use gimp) and arrange them as different squares on a bigger single image.  If at all possible i would make the canvas exactly twice the size of the origonal images and arrange the tiles on there with out resizing as that will help with the next step a little.  after that you have to open the model back up in blender and resize/move around the normal map so they line up with the textures on the new single composite image.  If everything went smoothly this is just a matter of selecting them all scaling to .5 and moving them around as a group till it lines up about right.  if each of the three images was a different size however, which often happens, it can get a bit more fiddly resizing and placing.
P.S.  One thing I forgot to add since you mentioned parts not having color.  the color slider in tts will only change the color to the first "material" the object mentions which can be handy if you want to only have say the base or a specific item of clothing on a character to change color.  so in blender which ever material is at the top of the list will be the one affected.  In the sample pic below I want the scales to be able to be set different colors so I have material.004 which is the scale pattern set at the top of the list


Colorize hidden parts from camera projection

You've indicated a few details in your comments: you're using the perspective of the camera for your UV projector; you want to do this using only scriptable tools (no mouse strokes).  For that, the linked answer you gave won't help you.
You need to make a mask for your projected image.  As I indicated in comments, the easiest way to make this mask is just by hand, with texture painting.  But it's not impossible to do it another way:

Make your object flat shaded.  Give it a diffuse material.  If it's not UV mapped, give it a non-overlapping UV map (a smart project or lightmap project would be fine.)

Place a point light at the location of your UV projector camera.  Set the radius to 0 and the light to something really high (like 100,000).

If necessary, remove everything but the object and point light from renders.  Set bounces to 0.

Create an image texture node in your material and bake combined to a new image.  Save your image.

Create compositing nodes using your baked image (not a render).  For each pixel of your image, check to see if the brightness is greater than 0.  Make your output 1 if it is, 0 if it isn't.  Set your color management display device to None.  Set your rendering resolution to the same resolution as your baked image.  Render.  Save the render.  As necessary, revert to settings used at the start of the process.

You now have a mask created using only scriptable operations that represents the occlusion (only) from your UV projector.

Let me know if that image is bugging out for you-- Imgur looks like it's freaking out or something.  Check comments for a different image host.


Blender 2.8 (Python) - very slow rendering to .jpg

It takes long because you're rendering the image using bpy.ops.render.render, not just saving an existing image as .jpeg.


Weird black lines come up over final render

It looks like you have freestyle turned on. Freestyle is used to give outlines to things (primarily), however the lines do not show up in the viewport and are only visible in renders. You can turn it off by un-checking the box in the Render Properties panel:


Cycles Render Still fine, Animation Gray

By looking at your .blend file, I've noticed that your character is on layer 1, while your RenderLayer is set to render only layer 2.

Selecting layers 1, 2 and 9 in the RenderLayer "Scene" checkboxes I managed to have the animation work fine.


Bake Follow Track constraint to f-curve?

Simply click the Constraint to F-Curve option on the constraint. This will remove the constraint and produce the required keyframes to replace it. You can then view and edit the animation in the Graph Editor.


bmesh.ops.inset_region gives unexpected results

Update the normals.
After you "twist" face by index translation, the normals are not recalculated unless we explicitly call normal_update either on the bmesh instance, or on a per face basis.
Update Edge Info when using script in Edit Mode
Script with that edit, also optionally changed operator to inset individual.
import bpy
import bmesh
from mathutils import Vector

ob = bpy.context.object
bm = bmesh.new()
bm.from_mesh(ob.data)

for v in bm.verts:
   v.co.z += v.index

# update the normals
bm.normal_update()
# or on per face
'''
for f in bm.faces:
    f.normal_update()
'''
# insetting bmesh
inset_faces = bmesh.ops.inset_individual(
        bm,
        faces=bm.faces,
        thickness=0.5,
        #use_interpolate=True,
        use_even_offset=True)

# creating mesh
mesh = bpy.data.meshes.new("mesh")
obj = bpy.data.objects.new("new_obj", mesh)
bpy.context.scene.collection.objects.link(obj)

bm.to_mesh(obj.data)
obj.data.update()
bm.free()


You can directly access node group data from

node_group = bpy.data.node_groups['NodeGroup']

The node group name is the one chosen in the group node

Each node group then has it's own nodes -

node_group.nodes

You can find a node groups nodes from a material (don't confuse node name with node group name)

bpy.data.material['Material'].node_tree.nodes['Group'].node_tree.nodes

You can get the node group name from the materials group node in node_tree.name

for n in mat.node_tree.nodes:
    if n.type == 'GROUP':
        node_group_name = n.node_tree.name

See this answer for an example of creating a node group using python.

Once you have the group nodes you can access them the same as normal material nodes.

node_group.nodes['Diffuse BSDF'].inputs['Color'].default_value = (1.0,0.0,0.0,1.0)


How to render flat shading just like LookDev in Blender?

Looks like I figured it out.

There should only be sun as a light source, no other lights
In Object Properties -> Ray Visibility, only Camera should be checked

This produces something that looks a bit more bland than LookDev, but it tiles perfectly.


How can I remove objects via datablocks outliner?

[Edit 2 Jan, 2016] You can delete datablocks of any type by way of the outliner window. Find the object, select it in the outliner, right-click on the item, and select "delete" from the context menu.

[Original answer]

But you wrote in your question that many of your files are

  "suffering from 2 empties".

Your problem might be that these can't be deleted as empties, because they are phantom bones and not empties at all. You will probably find the objects you want to delete if you look under the armatures in your file. You don't need to be in datablock view to do this. If you select the armatures in the "all scenes" view of the outliner one by one, I expect you will find which armature contains the bones (or that the two bones may not be in the same armature. In either case, in object mode in the 3D viewport, looking under armatures, I expect you will be able to delete the phantom bones.

But, it might want to be careful about deleting the bones, because it is possible to delete a bone from the middle of a chain, so that there may be other bones connected as children of the phantom bone which will be deleted if you delete the phantom bone.


Model doesn't appear in Solid Sculpt mode

I've solved it by accident. I was using skin modifier. Looks like I just had to apply the modifier before sculpting.


How can I display the "length" of selected keyframes (number of frames in-between)

So I ended up trying to make an add-on by myself. It works, but the code is a mess, since it's been years since I last did anything in Python, and I know little about the Blender Python API. But it works.

Source code is here (MIT license): SelectedKeyframesLength.py


How can I avoid or clean distortion in curves imported from SVG?

As explained in How can I model Gothic style windows? (credit to ardito comment)

You don't actually need to separate the board and then curve it, instead:

open the SVG in InkScape and change the image to be filled (instead of only stroke)
import the SVG to blender
select the important mesh and do Alt+C and turn it into a mesh
now you can simply extrude it and create a 3D object with carved spaces.

Note: if the curve is distorted then select it, in the Properties editor in the Object Data tab, on the right, find Extrude and increase it by 1.


How can i apply gobos to a spotlight to make it look like a real life moving head light?

What worked for me (for the same exact purpose) was to use either geometry (as @RBlong2us suggested - with the wanted shape made firstly as a vector image and then extruded in Blnder) or even simpler (as is in my example) by using a plane and put it in front of my spotlight (as a real gobo would be) with an alpha texture. In order to make this working you should take care of the blend Mode and Shadow Mode of the plane's material. You may take a look on the image below.


Steering Actuator Seek Near Sensor Transition

When the Near sensor is triggered the enemy will track to the player with an Edit Object > Track to actuator.

Add a Ray or Radar sensor to the enemy's camera or collision mesh with a player property in it, then connect it to the Steering actuator.


Cycles: How do I exclude the Environment Texture from reflections?

You could use Is Glossy Ray and a mix node in your environment material, but it might look weird..


WIll modifying an essential python file cause data loss in blend file?

Well… There are several questions here actually:

I. Is it normal that the installation directory of Blender grows after the first launch?

YES: Blender is only distributed with “pure” python files, the first time those get used/executed, the python interpreter will sort of compile them into an intermediary “machine language” code (similar to assembler, but universal and that still has to be interpreted by the python engine, not directly by the processor). You can find all those .pyc files in special __pycache__ directories next to all py modules (UI scripts, addons,.etc.).

See also this thread and the official py doc.

II. Can I modify some Blender's python files by accident by just working normally on a blend file?

NO: Usual editing of a .blend file will never touch anything on your file system. Unless it has been manually and maliciously crafted to do so, of course (a .blend file can easily execute arbitrary python code, which means it can wipe out your whole system if it wants to) - that’s why in .blend opening settings you have an option to “trust” the file or not.

III. Can I modify some of Blender scripts such that they delete and/or corrupt data in .blend files?

NO in general, but YES if you really want it. @Vitaliy already answered the general case: modifying “randomly” some script files of Blender is highly unlikely to have any bad effect on your saved data, it is much much more probable that it will just very soon error.

However, it is possible to modify a py script such that it breaks saving valid data (the simplest way to do so is to register a save_pre handler, and in that handler to e.g. delete all scenes or other nasty things like that. You can also generate invalid data (broken mesh, etc.) that will crash Blender on next load of the file, but that’s not so obvious to do. But yes, if you really want to, you do can break saving of .blend files from py script, like pretty much anything else in Blender.


Change Image sequence frame only every nth scene frame?

Another Way:

Add Image Texture Node with Image Sequence enabled.
Animate the Offset Parameter for animation.


Random pose generator addon ? How can it be done

#i can already tell you you won't like the results.

import math
import bpy
import random
def MoveRandBone(LIMIT1,LIMIT2,BONE_NAME):
    ob = bpy.data.objects['metarig']
    bpy.context.scene.objects.active = ob
    bpy.ops.object.mode_set(mode='POSE')
    BONE = ob.pose.bones[BONE_NAME]
    BONE.rotation_mode = 'XYZ'
    tmpcheck = random.randint(1,3)
    if tmpcheck == 1:
        axis = 'X'
    if tmpcheck == 2:
        axis = 'Y'
    if tmpcheck == 3:
        axis = 'Z'
    tmpangle = random.randint(LIMIT1,LIMIT2)
    angle = tmpangle
    BONE.rotation_euler.rotate_axis(axis, math.radians(angle))
    bpy.ops.object.mode_set(mode='OBJECT')
def cripple():#does everthing
    ob = bpy.context.object
    if ob.type == 'ARMATURE':
        armature = ob.data
        for bone in armature.bones:
            print(bone.name)
            MoveRandBone(300,360,str(bone.name))
def listedlimits():#and since you know what every bone is, you can make your own list and generate a random pose.
    MoveRandBone(350,360,'foot.R')
    MoveRandBone(350,360,'foot.L')
    MoveRandBone(350,360,'shin.R')
listedlimits();

#this is just a terrible way to animate, but can be a lot of fun if you just want to see random effects and apply limits to your bones, note that the
#limits here are not the total limit but the limits as to what can be applied. you are far better off going into riggify and creating your own by lining
#an metarig up. Or by using someone elses human rig.


In BoxCutter, how do you control distance of cutter from object?

Found the issue. The version of BoxCutter I had had a bug. When I downloaded the latest version, the cuts now begin just above the surface where they should be.


I would first make sure all your RB objects and passive objects have their scale applied ....  ctrl A ....scale.

I would also make sure each objects origin is set to geometry
ctrl..alt...shift C .... origin to geometry.

Posting a blend file would help to troubleshoot other issues that may be occuring.


Rigged model deforms on one side and doesent on the other

Switch to Solid mode. Select your armature and in the Properties panel > Object > Viewport Visibility, enable In Front. Select your mesh and in the Properties panel > Modifiers, choose the metarig as Object of the Armature modifier. Select the armature in Object mode, then shift select the mesh, switch to Weight Paint mode. Select the right upper arm bone, you can see that it influences the forearm mesh, same thing for the forearm bone which affects the upperarm mesh, they should not. So in the 3D View N panel > Tool tab > Brush, choose a Weight of zero or a Blend > Subtract, in the Options disable Front Faces Only and enable 2D Falloff, begin to paint until it looks like the left arm.


Unless you specifically need the driver for the relative offset, turn off relative offset and remove the driver.

The Object Offset doesn't work the way you're expecting it to. The second item in the array will be moved the same distance from the first item, as the first item is from the empty. The second item will be rotated as many degrees from the first, as the first is from the empty.

So, to get the effect you want follow these steps:
NOTE: Even if the origin of your rim "piece" is already supposed to be at the center of the rim, these instructions will be the same. You'll just have a few things on top of each other.

Set the array "Count" to 1 (just for now)
Place the first element on the rim exactly where it should be
Place the empty in the exact same location as that element, with the exact same rotation as the element
Place the 3D cursor at the EXACT CENTER of your existing rim
Change your pivot center to "3D Cursor"
Select the element (without selecting the empty)
Set your array count to the number of elements you want to end up with (5, I think?)
Then rotate just that first element and the rest will project ahead of it
Adjust until the desired effect is achieved
???
Profit

Hope that helps!


How can I automatically generate vertex groups for an armature?

If you first select the mesh and then the armature and use Ctrl + P > Armature Deform > With Automatic Weights, this will generate a vertex group for the part of the mesh that corresponds to the bone in the armature. (this is dependent on how many bones are in the armature and or how much geometry the mesh has)

You can then use either Edit or Weight Paint mode to tweak what parts of your mesh are affected by each group, to quickly select a group and see the selection, you can go to the Vertex Groups panel in the Object Data tab.

Additionally, you can also parent the mesh to the armature as empty groups..

and then select the bone while in Pose Mode, open the Specials menu with W or from the weight paint view header and choose Assign Automatic from Bones, this can give you a bit more control over how your groups are created as you can see it on the fly and edit it further.


How add dimensions[0] of selected objects?

You overwrite dim and dimX in every iteration of your loop, you do not add something to a list.

If you need a list of all dimensions you can use

dim = []
for i in bpy.context.selected_objects :
    dim.append(i.dimensions[0])
dimX = sum(dim[:])

dim will then contain all dimensions and dimX will contain the sum. dim is initialized as an empty list and the loop appends the dimensions to it. Note the indentation of the last line: dimX needs to be on the same height as for, otherwise python will think that it belongs to the for loop and execute it in every iteration.

If you just want the sum of the x dimensions you can add them up into a variable that you initialized with 0 first:

dimX = 0
for i in bpy.context.selected_objects :
    dimX += i.dimensions[0]


Why does joining meshes result in a joined mesh with (previously) non-actively selected meshes being transparent?

I figured it out!

The issue:
The UV maps didn't get combined on join because they did not have the same name. This resulted in all but the first UV map becoming inactive and all but the actively selected mesh, while having the correct material assigned, using that first UV map. That then resulted in the assigned materials then not being mapped properly.

Solution:
Before joining the meshes, rename all UV maps to the same name. This can be done in "Object Data Properties" (the green triangle above the material tab) > "UV Maps" --> Double-click on names to rename. Then simply join as usual. The UV maps will now be combined correctly and the corrected parts of the resulting mesh will have the correct materials assigned to them properly.


If a blend is saved with missing linked libraries, is that data now permanently lost?

Currently there is no solution, but this will be fixed soon, I think. Remember you can open a backup by opening your FILE.blend1, if its the first wrong save or .blend2, if its the second time, you saved it after your mistake. just activate the Failsave Filter () in the Blender Filebrowser to open your Backup File.


Is it possible to constraint an object on a vertice?

I'm going on memory here but basically you do the parent procedure, select the child, and with shift held select the parent.  Press Tab and you'll be in edit mode for the parent model.  Select a vertice and choose that option in the pop-up.  Press Tab again to return to object mode.  If the vertice is at the model's origin point, when the object rotates, the child shouldn't because the vertice won't be moving in any axis.  It's an ideal way to attach a camera to models.


Blender automatically adds filters based on the context of where you're adding/searching for files (in the movie clip editor, it'll only show files with movie file extensions, for example).

To disable the filters (in 2.81, might be different in earlier versions), at the top of the Blender file explorer, there should be a filter icon.  Click it and uncheck the "Filter" box.  A test to see if .jpeg isn't recognized by Blender is just to change the file's extension to .jpg and see if it pops up after refreshing.


You can use the wave modifier and press play animation.

In my example I rotated my object by 90 degrees without applying the rotation, so to have the desired effect.

Make sure to have enough geometry in your mesh, with evenly distribuited quads.


thanks to recent API changes raycasted was affected. This can be rectified by having a version of Blender 2.83.7, 2.90.1 or 2.91.0 via Buildbot.
https://youtu.be/BIlAj-y-BXk
When it comes up updating HardOps / Boxcutter
When it comes to Blender itself
As time goes on with multiple versions they receive updates even though they are of different branches.
2.83 is an LTS which recently received a .7 update.
2.90 was previously experiencing stability issues which received a hotfix of .1
2.91.0 is a future version not yet release but we support it as well since all three have the same api recent changes.
In short update blender to the latest.
While 2.90 is correct the month may not be.
Get a current 2.90.


Mapping option disappeared in Blender 2.79

The behaviour of the Mapping rollout is the same as in the previous versions. Once you have Image Texture node (not important whether with opened image or not) you will find the Mapping rollout in the Properties editor > Textures tab:

Note that is isn't important how the texture node was added, either from the Properties editor > Material tab or from the Node editor window.

Make sure to choose name of the Image Texture node from the drop-down list of present textures in the top of the Texture tab in the Properties editor.
E.g. if you removed any node in the Node editor window and just selected Image Texture node, its mapping options won't be shown in the Textures tab, you'll need to choose it from the list.

Note also that displayed name in the drop-down list is the name of the Image Texture node (not the label). By default it is incrementing ".001", ".002" etc. Below I renamed the nodes and copied names into the labels for clarity:


Because, to be blunt, the devs frigging broke the behaviour of the rotate operator AGAIN. A fix has been committed so it should be reverted in the next hot fix. https://developer.blender.org/rBf9e994d0f463abb87761591e30c47a9613be6cca


Boolean does the trick if you use the right object. You can also use an array modifier for the cutting object to have the same pattern without adjusting manually.
(In my example I switched to carve solver)


400 000 faces is a big number of faces and yes, the RAM may be a problem. But it also depends on the speed of your RAM, so what's your RAM speed and is your notebook humming when you try to move around, or move some vertices in Blender?


Show and Hide child objects along with Parent

EDIT, much better way to do this using properties
https://blender.stackexchange.com/a/147144/15543
https://blender.stackexchange.com/a/197072/15543
Fudge the driver system 2.9x
I removed the previous answer re doing this in 2.8, don't really recommend this one..
Melodicpinpon asks

Would it work in 2.9 version? This question has been debated in many
places and this method could be the solution...

Using a method somewhat similar to @AtomicBezierSlinger can add a driver to every object in the scene that has a parent.
However the use of use self makes this driver readily copy pastable into other objects, without the need to check or set the parent object.
Here is a test script to add the driver to all objects with a parent.
import bpy

from bpy.app import driver_namespace as dns

def test(self, dg):
    vl = dg.view_layer
    return not self.parent.original.visible_get(view_layer=vl)

dns["test"] = test

context = bpy.context
scene = context.scene
#parented objects
parented = [o for o in scene.objects if o.parent]

for o in parented:
    #o.animation_data_clear() # testing
    #continue
    o.animation_data_create()
    fcurve = o.driver_add("hide_viewport")
    driver = fcurve.driver
    driver.expression = "test(self, depsgraph)"
    driver.use_self = True
    # dummy var to make driver update.
    var = driver.variables.new()
    var.name = "dummy" # frame
    var.targets[0].id_type = 'SCENE'
    var.targets[0].id = scene
    var.targets[0].data_path = "frame_current"

Making a test method and adding to the driver namespace is unnecessary as it can be directly crunched into expression field as
not self.parent.original.visible_get(view_layer=depsgraph.view_layer)

use self is not default and will need to be set.

answer below is for versions prior 2.8 with the use self option available.  Also not a recommended way to use driver system.

Fudge the driver system
Firstly we'll set up a custom driver that sets a property of all children recursively to the value of the parent.
import bpy

def traverse_tree(t):
    yield t
    for child in t.children:
        yield from traverse_tree(child)

def set_children(obj, prop):
    val = getattr(obj, prop, None)
    if val is not None:
        for c in traverse_tree(obj):
            setattr(c, prop, val)
    return val

bpy.app.driver_namespace["setchildprops"] = set_children

Now we can add a driver to a custom property on the same object as the property we wish to set on all children.
setchildprops(self, "hide")

making sure to check the non default "use_self" property of the driver.

Now if you keyframe the "hide" property of the same object it will hide / show children accordingly.  Note it will not update the UI automatically, until some property eg frame is updated.


After further investigation and testing, I discovered that the artifacts were created by the "Blend Mode" settings in the "Material" tab. Selecting "Opaque" instead of "Alpha Blend" seems to fix the problem but creates a different type of artifact that could be corrected by checking the "Backface Culling" button which once again brings other sort of issues.


You must have changed the scale of your object in Object mode, you need to apply the scale with ctrlA, otherwise you will have some stretch effects when beveling, shrink/fattening, etc.


Curve coordinates p.co are local coordinates.
Use the curve world matrix to transform them to world coordinates:
from bpy import context, data, ops

bez_curve = context.active_object
bez_points = bez_curve.data.splines[0].bezier_points
world_matrix = bez_curve.matrix_world # Get the matrix

for p in bez_points:
    new_obj = data.objects.new('spline_point', None)
    new_obj.location = world_matrix @ p.co # Use it to transform coordinates in world coordinates
    context.scene.collection.objects.link(new_obj)


How to move vertices without stretching the texture

If you don't want the texture to be stretched by the vertices edit, enable the options called Correct Faces Attribute (since 2.9):

Also if you slide some edge loops (GG) enable the Correct UVs option in the Operator box:


array and curve modifiers (bezier) - distorted texture

So I hope my answer is accurate enough.

Your faces are projected as squares on the image in the UV Editor. But your faces are actually not squares, they are twisted quads. Also, in any 3D software a face is made of 2 triangles. So when Blender will map this face the UV map it will simply map 2 triangles, and it will give the following result.

If you subdivide your face a bit with some Ctrl R, the same thing will happen, but as your faces are much smaller the effect will be much less visible.


How to make a "soft-textured emission" (example provided)

You can get pretty good results with Translucent BSDF and a point light inside.

Emission shader isn't best, because it's uniform across the whole surface, nad doesn't receive shadows.
Settings are the same for both engines, but Cycles uses slightly lighter translucency color
For Eevee I enabled Bloom, for Cycles I'd probably use Glare node in Compositor.


What to do when I get the message "subsurf modifier need to be first to work with unwrap"?

That message tells you that while unwrapping you enabled option Use Subsurf Modifier. It lets you avoid applying Subsurf modifier if you have it in the stack while having vertices in the UV map moved as if the modifier was applied.
Note: it doesn't mean all the geometry which will be added with Subsurf will appear on the map with this option; it only allows existing vertices to be moved as close to "subsurfed" positions as possible.

However in order this to work as expected Subsurf modifier has to be the first in the stack, otherwise this message will pop up everytime you unwrap the mesh with that option enabled.
If you unwrapped once and accidentally enabled the option these settings will be saved and then every time you unwrap you will see the mentioned message if Subsurf isn't present. Just disable it if not needed.


star-like patterns formed by arrays of cubes in viewport

Yes, you would.  Those are known as "Moire patterns" and they occur in real life.  The wikipedia page goes into great detail:

https://en.wikipedia.org/wiki/Moir%C3%A9_pattern

You can even see it in this photo of a normal striped shirt!


How to copy keyframes from one Action to another?

Here is a script that copies actionA (hardcoded to "CubeAction", change to suit) to actionB and adds a frame offset to each key.

import bpy
# change how action is picked
# actionA = bpy.context.object.animation_data.action
actionA = bpy.data.actions.get("CubeAction")
if actionA is not None:
    # copy the action
    actionB = actionA.copy()
    offset = 10 # frames
    # iter thru fcurves and move keyframes by offset
    for fc in actionB.fcurves:
        for kf in fc.keyframe_points:
            kf.co.x += offset

Note this can also be done pretty simply in the NLA, by moving an action strip to the desired frame start.  This way you can keep all your actions as starting at frame 1.


Create a Gradual Gradient with Gradient Texture Node

I assume that you don't really want the emissions shader. At the moment the ColorRamp node doesn't really help the emission shader. The ColorRamp node only outputs black color everywhere because it has no input and the Fac is set to 0.645 where the color is black. Therefore the emission shader only outputs black.
I also assume that you don't want the Mapping to Displacement connection. A Displacement node should be connected to Displacement input of Material Output and it requires an image or some other kind of texture to work. Also it only works in Cycles and in Material Settings Surface Displacement should be set to Displacement or Displacement and Bump.
To add dark color to your image you could use a MixRGB node set to Multiply and connect it to your Gradient. To amplify the effect you could add a Math node set to Power. You could add an Invert node to have the shadow on the opposite side. The Mapping node seemed to work the best with default settings.


One solution could be using a rig with according weight painting. Unreal should be able to import that. Also posting an image might help finding the right answer!


The way you should get to the User preferences is through the menu in the info window. That will open up a separate floating window, just click the regular windows close button to exit. (as in the first picture)

Now I think what you did is change the editor type by clicking on the button in the very top left. If that is the case then just click on that same button and change the editor type back to the Info view. (see 2nd picture)


Python - How to get a list of background images used by a camera?

You should be able to access the name of a background image with

for background_image in bpy.data.cameras['Camera'].background_images:
    print(background_image.image.name)


How do I create a smooth curve along an edge on this model?

I would use an actual curve object in combination with a Screw Modifier.
First create a curve that will be one of four curve edges of your final object. Then in Edit Mode make it the shape you want, but also move it away form the origin in a way that will make the origin the center of your final object. (note the orange dot/origin in the gif image)
Then put a Screw Modifier on the curve object. Set the Axis to X, the Angle to 360, and the Steps to 4. Now if you manipulate the curve, all four curved edges change accordingly.

When you are happy with the shape press Alt + C and choose Mesh From Curve/Meta/Surf/Text, which changes your object to a mesh and applies the modifier.
Since the edge curve in your example image highlighted in white actually splits into two edges at some point, you might want to model this part manually as proposed by moonboots. You can select part of the edges of the curve, up to where the split would be split, and press Ctrl + B to bevel the curve and create the split. (in this example the top part would also have to be scaled down manually to make the curve flow nicely)


The Cache of ParticleSystem saves with the file (apparently).

Removing ParticleSystem from Sphere.001 reduces the file size. Reducing the Number of Emitted Particle from 500000 to 1 does the same.

Detailed Steps

Select Sphere.001 on Layer 2.
Go to the Particle System Tab. As you can see it has 20 users. Remove the particle system.
Select the other users and remove the particle system from each. Plane_cell.013
,Plane_cell.461
,Plane_cell.464
,Plane_cell.464
,Plane_cell.543
,Plane_cell.545
,Plane_cell.623
,Plane_cell.627
,Plane_cell.648
,Plane_cell.713
,Plane_cell.728
,Plane_cell.743
,Plane_cell.754
,Plane_cell.757
,Plane_cell.763
,Plane_cell.771
,Plane_cell.834
,Plane_cell.854
,Plane_cell.875.
They are easy to locate in the outliner, since they have the modifier icon next to their name.

While it is best practice to create a separate cache directory, you may have assigned the particle system to some objects by accident, thus increasing the performance cost (more particle emitting objects).


The reason you are seeing the cube instead of the chair is because there is a Cube on layer 1. Your chair is on layer 3. You only had layer 3 visible which is why you did not see the cube even though it is there.
There are two ways to avoid this problem in the future:
Method 1 - deleting the cube

Go to layer 1 by pressing 1 on your keyboard

Select the cube and delete it, X

Method 2 - only exporting the needed meshes

Select the chair and any other items you wish to export

In the export dialog check Selection Only

Once you do this you can import the chair and it will work like you expect it to.


UV unwrap: separate maps for separate faces problem

Yes you can have separate textures for separate faces.

One technique is to scale the vertices of unwanted faces by zero to the median point. Scale 0.  The area of the faces are now zero. Zero area signals no mapping is attempted.  I hope the single dot on the uv map is acceptable to you.

mark seams so as to partition faces into group A and group B

First UV Slot

uv unwrap case 1 and move unwanted faces to the side of uv map. The texture repeat must be set to [clip].

Second UV slot

uv unwrap case 2 and move unwanted faces to the side of uv map. The texture repeat must be set to [clip].
The combination of faces of the uv map and repeat set to [clip] should achieve your goal

Keep in mind advanced users may be able to simply use one uv map with texture painting.  You are the advanced user.


Environment choice for a color-only objects

enable Ambient occlusion to get better lighting " you should lower the light source intensity "
move the light source to get the shadows where you want
use proportional editing to create hills
add decimate modifier to get the LOW POLY look


Computer is laggy when editing with Multiresolution

The issue for the slowdown is due to how dense your model is. Generally it's a trade-off between quality and performance. in this instance you are using a multi-resolution modifier as well as a subdivision modifier. Both modifiers accomplish pretty similar tasks however in this case your subdivision modifier is subdividing an already subdivided surface adding significantly more vertices than what is needed in your model. This is why your are experiencing such a large amount of slowdown due to the amount of subdivisions that are in place.

I recommend picking either the the multi-resolution modifier or the subdivision modifier and sticking with that.


Load the EXR as an image sequence into the compositor of another scene. Route the layers that you want to the Compositor Output Node. Then load that scene as a strip into the VSE scene timeline. Do this for each layer of the EXR that you want to combine. Remember that in the VSE you will need to enable Linear to mix the EXR as they probably are not scene referred.

Make an EXR with multiple outputs:

Then import them into a compositor and route each layer to comp output using 1 scene per layer.

Then mix them as required in the VSE. The VSE isn't really ideal for this to be honest.


Why can't non color option produce und normal map and color option produce good normal map in cycles preview?

There might be a language barrier here. Without further information, it is a challenge to fully diagnose your issue.

However, it is noted that you have attempted your workflow with both saved and unsaved files. This is a potential source of issues.

When saving a file, file formats do not save identically, and most are mangling up the data representation.

All file formats with the exception of EXRs will perform some form of color transform on the data. Only EXRs will preserve the integrity of float data, and also keep the data in linearized format. If saving a data format, such as linearized values, one should take care to only save to EXRs to preserve the integrity of the values.


Why is the letter 'm' not displaying correctly in the interface in Blender 2.82?

You can try configure another font to check if something is broken on font side inside your computer. Here where you can do it:

You can also try:

install a brand new blender (on a different folder)
load the default configuration file

good luck


Change the font in the Sequencer Text Effect with Python code

First, you' have to know where the font-files are located in your system. You can find this location by changing manually a font. On my Windows machine, this is: C:\WINDOWS\Fonts\ARIAL.TTF for the Arial font. Then paste and run run the followig code in the Text Editor of the Scripting workspace to assign the Arial font to the active (selected) strip.
import bpy
strip  = bpy.context.scene.sequence_editor.active_strip
new_font = 'C:\WINDOWS\Fonts\ARIAL.TTF'
strip.font = bpy.data.fonts.load(new_font)

See also Select text object by name and change font via script


I don't use the fluid simulator much but it seems the problem can be fixed by adding some depth to the inflow object. Currently it's just a flat plane. Just extrude it a bit on the Y axis and bake.


Glossy material affecting color of another objects

Edit:

My bad, your cube is actually opaque, which was hard to guess from the pictures, I don't know if it's feasible with the Light Path node (?) so, as Thedigitalzorn said, the solution is probably to use the Compositor.

Another simple trick would be to launch a render of the arrow only, in the Properties panel > Render > Film, enable Transparent to make sure that the video has a transparent background. Then render the cube and the setup. At last, stack the 2 sequences in the Video Sequencer.

Old answer:

Give your arrow an Emission node instead of a Diffuse. And if you don't want it to emit any light, deactivate its Diffuse option in the Properties panel > Object > Visibility.


Go to the main repository page, and click download zip.

Then extract it on your computer, and navigate to the folder it creates, and then into the BoolTool folder.

Then extract the .rar file with the largest number (these are version numbers).

Inside Blender, go the users preferences, and then to the Addons tab, and click install from file.

Navigate to the booltool folder, and enter the folder that was created from the .rar. Then click on the .py, and click install.

The BoolTool Addon should now be installed. If you want to save it into your settings, so that it's always enabled, simply click Save User Settings button.

To extract a .rar on a Mac, you can use UnrarX.


Is it possible to dump an Objects Properties and Methods?

I found a solution to get started:

def dump(obj):
   for attr in dir(obj):
       if hasattr( obj, attr ):
           print( "obj.%s = %s" % (attr, getattr(obj, attr)))

This is based on one of the methods suggested on this Stackoverflow post and this

Instead of invoking print call dump( anyobject )

This would print something like:

...
obj.copy = <bpy_func Object.copy()>
obj.cycles_visibility = <bpy_struct, CyclesVisibilitySettings("")>
obj.data = <bpy_struct, Armature("rig")>
obj.delta_location = <Vector (0.0000, 0.0000, 0.0000)>
obj.delta_rotation_euler = <Euler (x=0.0000, y=0.0000, z=0.0000), order='XYZ'>
obj.delta_rotation_quaternion = <Quaternion (w=1.0000, x=0.0000, y=0.0000, z=0.0
000)>
obj.delta_scale = <Vector (1.0000, 1.0000, 1.0000)>
obj.dimensions = <Vector (0.0000, 0.0000, 0.0000)>
obj.draw_bounds_type = BOX
obj.draw_type = WIRE
obj.dupli_faces_scale = 1.0
...


bpy.ops.transform.rotate ignores pivot point

Use bmesh operators.

There are a number of bmesh operators that can be used for this transform. Here is an example using bmesh.ops.rotate(...)

The transform is performed in global space by using the matrix world of its object. S = ob.matrix_world.copy().
Using the global location of the scene cursor as pivot point pp = scene.cursor_location
The space is transposed such that the centre of the rotation is (0, 0, 0). S.transform -= pp

Example, run in edit mode, rotates selected vertices around the global Z axis, about the scene cursor location.

import bpy
import bmesh
from mathutils import Matrix
from math import radians

context = bpy.context
scene = context.scene
pp = scene.cursor_location
ob = context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)
S = ob.matrix_world.copy()
S.translation -= pp

R = Matrix.Rotation(radians(45), 3, (0, 0, 1))

bmesh.ops.rotate(bm,
        matrix=R,
        verts=[v for v in bm.verts if v.select],
        space=S)

bmesh.update_edit_mesh(me)

It's not a bug

The pivot point for transform operators is set in the UI.  Quite likely you have it set to object origin.

To rotate, need an angle, an axis of revolution, and a point on that axis. The z axis has a direction of (0, 0, 1) and includes the origin point.

Think of a wall full of clocks the axis of revolution for all is the same and is normal to the wall.  However each set of hands rotates around the local "center" of each clock.

The point on the axis is set via the pivot point.

The rotate operator has the center_override option.  Example with it set to rotate around the global point (0, 1, 0).

Note: center_override appears to be a new property, explains why I hadn't used it before lol.. Check the documentation of the blender version you are using. (Can confirm it's available in 2.80)

>>> bpy.ops.transform.rotate(value=radians(45),
    axis=(0, 0, 1),
    center_override=(0, 1, 0),
    constraint_orientation='GLOBAL')

For the most part wouldn't use the transform operators, rather apply matrices directly to the vertices.

Prior to the property, would need to override the area , space and possibly region context properties and pass as an override to the context.


You can usually retrieve the active object with: bpy.context.active_object or bpy.context.object
If you need to take the view layer into account: bpy.context.view_layer.objects.active
Chances are your view layer is already set, but if the view layer needs to be set, you can first do: bpy.context.window.view_layer = view_layer
[source]
To make sure the active object is also a selected object, you can do this:
import bpy
my_object = bpy.context.view_layer.objects.active # assign variable
my_object.select_set(True) # select the object

Setting an object as active is a similar process. See this answer to learn about that.
Many operations require both an active object and at least one additional selected object.


Clear Custom Split Normals Data on all objects

import bpy

selection = bpy.context.selected_objects

for o in selection:
    bpy.context.view_layer.objects.active = o
    bpy.ops.mesh.customdata_custom_splitnormals_clear()

This is the new code as the coding has changed a bit in 2.8


Is there a way to mirror an object without using the mirror modifer?

You can do this destructively by scaling around the 3D Cursor. Place the 3D Cursor at the center you want to mirror across. Next, choose the axis that you want. Hit ., to set the Pivot Point to the 3D Cursor. Finally scale it by negative 1 along the desired axis.

S then X, Y or Z then -1


An error occurs when copying and pasting blender's clipboard to the Text editor under windows

I now find a solution is to modify the context to get all the information in the prompt,
def get_info_context():
    info_context = None
    for window in bpy.context.window_manager.windows:
        screen = window.screen

        for area in screen.areas:
            if area.type == "INFO":
                info_context = {"window": window, "screen": screen, 'area': area, "regions": area.regions}

    return info_context

info_context = get_info_context()
bpy.ops.info.select_all(info_context, action='SELECT')
bpy.ops.info.report_copy(info_context)
bpy.ops.info.select_all(info_context, action='DESELECT')
clipboard = bpy.context.window_manager.clipboard

So you can get！


Moving object to exact location rotation of other object

one way..

Select all the objects you want to align, with the target last, so active.
In the target's Item > Transform panel in the 3D View, select a 'Location' field, Right-click, > 'Copy all to Selected'
Repeat for Rotation.


making vertices follow along a straight line

Try changing your transformation orientation to local or normal or even you can try view but then you have to align the camera to the object.


How to get the little 'modifier' menu see screenshot

That menu that shows the initial parameters appears only for newly created objects (it's kind of a constructor for your object).

Nonetheless, if you just created the object, closed the menu and immediately realized you wanted to change a parameter, you can adjust it by pressing F9: "Redo last". This won't create a new object but recall the construction menu where you can do adjustments.

If you have already moved the object, then this won't work, as the last operation is no longer the object creation.


How to set the rotate center to be the center of the object iI want to rotate?

The answer is to go to the Object menu, select Transform and then click on Origin to Geometry. This should solve your rotation and scaling problem.

It would also be good to apply scale and rotation to your object. (For the sake of future editing.) You can do this by going to object > apply > scale & rotation.


3D camera tracking and object tracking are not on right position

And after some testing.. I've found the solution..
My camera solution's scale was little.. I had to increase that..
See my first results with solved scale.

I selected two points with good results 0.01 and 0.01px,
Hit Apply Scale
Scale up and keep look on the result preview in right top corner in my image.

. this is what I got..

Perfect. Thank you to ALLAH for giving me solution..  :)


I found  solution.

@Carl
-check the driver-version of your graphicCard directly at the manufacturer's site. Surprisingly  he internal windows driverCheck via deviceManager lies saying all drivers are up2date!-continue with a fresh installation of the latest blender ... worked for me.


How can I get my texture to appear correctly on my cylinder?

This is happening because each side face on your cylindrical chip is having the texture applied to it. What you want to do is UV unwrap the whole edge as one strip rather than having a bunch of overlapping faces. To do this you need to mark some seams to tell blender where to separate the mesh. Mark seam the top and bottom circles and then one vertical edge (You can do with by pressing Space and then searching for "Mark Seam").

It will look like this:

From here you should select your whole mesh with A and then press U to unwrap.

You final UV map should look like this:

Your chips top and bottom textures should be aligned with the circles and the side texture should go across all of the side faces.


im pretty sure the shading artifact is caused by ngons or bad topology, try removing doubles and making sure all your faces are tris and quads, lastly press ctrl n in edit mode. if none of these fix it can i see edit mode shaded view and your node setup?


Find the size of an object in camera frame for bounding box creation

Ok, I think I found my mistake. The output from world_to_camera[2] is the actual planar distance that should be used for the calculation. However, instead of using the focal length of the camera to calculate the pixel pitch, the camera sensor width should be used instead such that:
sensor_width = camera.data.sensor_width/1000
pixel_pitch_x = sensor_width/x_resolution # [m]

The output for my previous configuration is now 1.006 pixels, which also explains why the rendered image fills 3 pixels. The way I see it, the resolution of the camera is not fine enough and therefore it interpolates the 0.006/2 pixels in each direction by filing them with a lower pixel intensity value.
The link to the reference that got me to use the sensor width instead of the focal length:
http://www.robsphotography.co.nz/crop-factor-advantage-appendix-2.html


You can only sculpt mesh objects. Right now you have a meta object. You need to convert it to a mesh first.

Do note that after converting to a mesh you will not be able to edit it with the meta objects any longer (so you might want to duplicate the whole thing and move it to another layer first).

You can easily convert it to a mesh by selecting one of your meta balls, pressing AltC then choosing Mesh from Curve/Meta/Surf/Text.

Or from the 3D view header Object > Convert to > Mesh from Curve/Meta/Surf/Text


Multiplying with positive and negative noise modifier

I've found the solution to my problem! I added the original curve and the noise on seperate Action strips for the same property into the NLA Editor and set the Blending on the Noise to Multiply


How to make the ocean become increasingly dark?

Use a volumetric shader plugged into the volume output of a material.

Add you flavor of surface shader to your liking like a glass, refraction, or mix of transparency and glossy.

Then add a Volume Scatter or Volume Absorption to the Volume socket of the material and adjust both its color and density to your liking.


How can I prevent an object from being too deformed when using a Curve modifier?

As is the case with any sufficiently complex thing, it takes time for all of this to become internalized / second nature.

In your situation, the base object (the deformed cube) was not just scaled to become elongated, but at some point you also translated one of the faces giving the base object the sheered look. This is one reason to use multiple views of your object to help catch deformations which might be tricky to see from just a perspective view. (Over time you will see all of this immediately.. but it takes practice)

Once you correct the sheer (best just to use a new object, or learn how to snap edges to the (x,y,z) coordinates of other vertices) , you'll still get deformation in those parts of the track which bend a lot. This might be OK if you're aiming for non-photo-realism, else there are hefty tutorials for tank tracks.


"Dyntopo" stans for dynamic topology optimization. Which means that topology is refined only under the brush.
If you want the polygons to be more finely resolved, you should try the "subdivision" or "Multiresolution" modifiers. Be aware though that they will subdivide even your finest polys, so it may be best to use a "retopology" modifier beforehand.
However, I think the most useful hint right now for you would be to enable smooth shading for your mesh - Doesn't affect your topology but gets rid of the "blocky" look of your model. To enable this, go to Object Mode, click the "Object"-Dropdown menu and click "shade smooth".


Mathematical functions for mesh in Blender 2.8 beta

The addon is still there - you can find it in \scripts\addons\add_mesh_extra_objects within the Blender folder. However, it hasn't yet been updated to be compatible with Blender 2.8 and so is not shown in the list.

Within the __init__.py file within each addon is a section that defines the 'bl_info' that tells Blender about the addon :

bl_info = {
    "name": "Extra Objects",
    "author": "Multiple Authors",
    "version": (0, 3, 2),
    "blender": (2, 74, 5),
    "location": "View3D > Add > Mesh",
    "description": "Add extra mesh object types",
    "warning": "",
    "wiki_url": "https://wiki.blender.org/index.php/Extensions:2.6/"
                "Py/Scripts/Add_Mesh/Add_Extra",
    "category": "Add Mesh",
}

The version section tells Blender what versions this addon is compatible with - in this case 2.74.5. Normally an addon would be deemed to be compatible with anything greater than this version number but it appears that Blender 2.80 includes some changes that mean that only addons that are specifically targeted at 2.80 and later will be considered.

You can try to get an addon to be accepted by Blender by amending its __init__.py to change the version to (2,80,0) - and this will get it to be listed in the list of available addons - but it is likely to fail when you try and activate it.

For example, it appears that the bpy.utils.register_module(...) function has now been removed in preference to byp.utils.register_class(...) - so any addon that uses the older method will now need to be amended to use the new methods. This will require each addon writer to update his/her addon to make it compatible.


How to add node in the center of the Shader Editor with python?

Feed it into the transform operator.
Rather than place the node into the editor at the location of view centre, suggest: make active and  feed the created (and / or other selected) nodes into the transform operator.
If you add say 3 nodes in your operator could make them relative to each other and let the user place them.
The script in the answer https://blender.stackexchange.com/a/197449/15543 creates a menu to add any of the math nodes from an expanding menu.  Use commented return instead

class AddMathNode(Operator):
    ''' Add Math Node '''
    bl_idname = "node.add_math"
    bl_label = "Add Math Node"
    items = [
        (p.identifier, p.name, p.description)
        for p in ShaderNodeMath.bl_rna.properties["operation"].enum_items
            ]
    #print(items)
    operation : EnumProperty(
        items=items,
        name="Operation",
        default='ADD',
        )

    def execute(self, context):
        # the material in the node editor
        mat = context.material
        # add a new math node to its nodes
        n = mat.node_tree.nodes.new("ShaderNodeMath")
        # set some properties
        n.operation = self.operation
        n.name = self.operation.lower().title()
        # make active
        mat.node_tree.nodes.active = n

        return bpy.ops.transform.translate('INVOKE_DEFAULT') # use translate

Putting in 2d region centre.
Most spaces in blender have a 2d region which is the window we look into. The tool panels, headers and other parts making up the area. Others like the 3d view have a 3d region.
If need be will supplement answer with how to place node right in the middle, but alas think that having the option to move and drop where I want feels more consistent with default behaviour.


How do you type fractional lengths into blender?

I suppose you are talking about the numerical input of Modal Operators, because in ordinary input field you can input a python expression with no problems.

In modal operators it is different. Numerical input works fine, but the divide / and minus - keys function as toggles instead. / toggles between {input} and 1/{input}.

There is however an expression mode you can enter by pressing the = key first (* also works, which is close on numpad). You can now enter any expression, like 3/2 or 3-2 and it works.

I like to do this rather than having to apply the operator in 2 steps: 1st for the numerator and 2nd for the 1/denominator to have a resulting numerator/denominator transformation.

Note: correct order matters. If you press  / first, you enter into 1/{..} mode. Then if you enter expression mode, you cannot go back and get rid of the 1/{..}. You have to cancel the operator.


Light from smoke simulator doesn't travel outside domain

I had the same problem. But after playing with the "Sampling"-settings of Cycle-renderer, I have by accident found the solution. Make sure that the number of "Diffuse" bounces is set to a minimum of 1. If it is 0, the light can´t pass through the domain.


How do you make a fluid emit smoke and fire?

Since a mesh can only have a single fluid sim applied to it, it is not possible to have both a fluid and a gas simulation at the same time. Instead, you need to add an additional mesh that can follow the fluid simulation to host the gas (smoke and fire) simulation.
Start by setting up and simulating your fluid. Once this is complete, create a new mesh (eg, a sub-divided plane) and use the Shrinkwrap modifier to map this over the fluid. Add the smoke and/or fire simulation to the 'shrunkwrapped' mesh in place of the fluid mesh.
This can produce results similar to the following :

For simplicity I only rendered smoke but the same principle applies to smoke and fire. Also, you could add a particle system to emit particles of smoke/fire from the surface or change the smoke emission with a texture for added variability.


Checkered material ends up stretching despite seemingly proper UV unwrapping

The Checker texture is actually 3D - it divides the texture space into cubes.

There are actually 2 things going on here:

Your tree is missing the nodes illustrated below:

First thing:

In Blender, a procedural texture-space will default to 'Generated' if texture coordinates are not explicitly provided. Generated space is measured (0-1, min->max) along the sides of an object's bounding box.

As  @3fingeredfrog has commented, the rotation of your mesh is not aligned with its object's axes, as you can see from the bounding box. So the mesh is at an angle to the Generated texture space. CtrlA  > applying rotation with the mesh aligned to the world would fix that.

Second thing:

(As @lemon has commented) Without the mapping nodes, the texture is not using your UV map; it's having no influence. If you do use the UV map, then a 2D slice at Z=0 (W=0)is taken out of the Checker texture,  mapped  0-1 in U and V. The shading points in your object look up the texture from that space, using the UV map you've provided, with the result shown in the picture.


Composite multiple render layers for multiple frames?

Ok so I found out my problem. Totally my fault, as I misunderstood this passage from: https://www.blender.org/manual/render/post_process/layers.html

Scene (layer)
The Scene Layers, showing which are currently visible and will be rendered.
(render) Layer
The Scene Layers which are associated with the active Render Layer. Objects in those Scene Layers will be rendered in that Render Layer. When an object is in the Scene Layers but not the Render Layer, it will still cast shadows and be visible in reflections, so it is still indirectly visible.

I had setup two render layers, one of which contained scene layer 1, and the other scene layer 2. I tried rendering by having only one scene layer visible. Here is where the confusing part is. When 2 scene layers are visible (or more) and I run a smoke simulation, it shows that my flow objects from scene one are pouring into my smoke domain from scene 2. However, if you render properly, even though the simulation shows up that way, the render still comes out right. I just got lost in the confusion but pulled myself out eventually.


Select the object and enter EDIT MODE (Tab). You will find the settings if you scroll down in the right viewport panel. There are various options you can enable concerning mesh display, such as edge length, face area etc.


BGE get controller/joystick count in python

bge.logic.joysticks gives a list of the max number of controllers (eight), now if there is not a controller the list will have None in that slot.

All you need to do is count how many not None items are in that list, or what I did, count how many are None.

connected_controllers  = 8 - bge.logic.joysticks.count(None)

Since we know there are always eight controller slots, it counts how many are "None" and subtracts that from 8. Quite simple really.


Curve edges of cylinder extrusion inward like an arc

Just make your extrusion (E, ShiftZ in my case) and bevel the inner edge loop (CtrlB).


How to eliminate visual artifacts in rendered output when using the Speed Control effect?

You are experiencing decompression problems with your source video. Try generating proxy timecode (the proxy vision file not required), or convert the file to a less heavily compressed format.


Why are you using a rig and bones at all, a telescope is is a hard object, you can use parenting and constraints, then use the transforms to do any animation of it you need. There isn't a need to use bones at all for it.


How do I clear the normal map seams even though I painted over the texture?

Open it in GIMP.
Filters > Map > Make Seamless
File > Export As > Whatever_you_want_to_call_it.png

Export > uncheck everything > Compression level 9 > Export
Load this normal map w/ node editor, in place of the original.


Overview:

You can control flame direction by Normals from Mesh that is your Flow object. In this example I'm using Circle filled with Triangle fan.

Mesh:

As I said before, simple Circle. You can check where Normals direction will go in Edit Mode > Mesh Display tab > Normals.

Flow:

Now in Flow settings you'll need to turn on Initial Velocity. Set Source to 0 and Normal to something higher then 0. This value will control the initial flame speed. By now flame will be rising but we can change it in Domain settings easily.

Domain:

In Domain settings you will need to set Temp. Diff. to 0. This will make flame straight. Higher value = faster smoke rising.


As far as I know there can only be one active camera per scene
But you can make different scenes, each one with it's active camera and its own render layers..

To save resources, make a new scene linking data, then select an other camera as the active one for the new scene.

Mix both scenes in the compositor.


Change of model origin does not export to .ac format

Some file formats can't store object center information, or simply don't have a concept of a "local origin", and some exporters also don't take into account local coordinates or object origin information.

In these cases all objects centers are generally considered to be at the scene origin or world coordinate [0,0,0]

Try moving all your objects so that their desired centers rest at Blender's scene origin.


You can type the name of the Action in the Outliner "Live Search" field :

In this example, "CubeAction" is attached to both Cube and Cone objects.


If you are using Cycles render, select the light source and just go to the light tab in the inspector. There, just bump up the strength! Alternately, you could add more light sources, or change the lighting type.


My Mesh Distorts When Switching To Object Mode?

Looks like your rig is not in your 't-pose', meaning you adjusted the bones and didn't clear the adjustments you made, meaning the bones' rotations are applying to the mesh. If you want, you can either clear the keyframes on your rig to fix that, or I think leave your armature in edit mode. Your mesh isn't broke, it just looks like the rig is properly affecting it.


Where is Remove Double Vertices blender 2.9 Alpha

The Remove double vertices operator has been move into the "Mesh" menu and is now executed by going Merge > By Distance. Note that you can access it by right clicking while in edit mode and vertex select mode.


How to change value of object data property by using python script?

Assuming you want to add extrude/bevel to you Curve object :

Select your curves and run:

import bpy

obs = bpy.context.selected_objects

for ob in obs:
    if ob.type == 'CURVE':
        curve = ob.data
        curve.dimensions = "2D"
        curve.offset = 0            # set offset value
        curve.extrude = 0           # set extrude value
        curve.bevel_depth = 0       # set bevel depth value
        curve.bevel_resolution = 0  # set bevel resolution


In simple cases with a planar surface, one possible workaround is to use the Connect Vertex operator.

Move the existing vertex so they stay above an imaginary line connecting both ends, in such way the shape is convex.

In vertex select mode select both ends and use the Connect Vertex Path (from the context menu or J key) operator to joint then with an edge.

Then erase the surplus area.


How to get all meshs added in with a import script?

Add an empty object and set as parent

Rather than edit into your code I have added an example of how to add objects and set to have same parent.  Have used "dummy" version of your add_mesh_to_scene to illustrate.

Uses the default cube mesh as a proxy for the imported mesh.  Adds an empty at the cursor location and num_objects = 4 as the children of that empty.  Set the inverse parent matrix to position the imported mesh objects where they would be without an empty parent at cursor location.

import bpy
from mathutils import Matrix

context = bpy.context
scene = context.scene

num_objects = 4
def create_mesh():
    # dummy method returns def cube mesh
    return bpy.data.meshes.get("Cube")

def add_mesh_to_scene(scene, mesh):
    obj = bpy.data.objects.new(mesh.name, mesh)
    scene.objects.link(obj)
    return obj

if num_objects:
    # code to add empty parent
    mt = bpy.data.objects.new("Handle", None)
    scene.objects.link(mt)
    mw = Matrix.Translation(scene.cursor_location)
    mt.matrix_world = mw
    # return as active
    scene.objects.active = mt
    mwi = mw.inverted()

    for i in range(num_objects):
        me = create_mesh()
        ob = add_mesh_to_scene(scene, me)
        ob.parent = mt
        # setting this keeps them in import locs.
        ob.matrix_parent_inverse = mwi
        # set some loc to visualize
        ob.location.x += 1.1 * i * ob.dimensions.x
        # return as selected
        ob.select = True
    # update scene once.
    scene.update()


It looks to me like you might try LoopTools -> Relax on that curved edge.


Split your view, so that you can have 3dview and UV Window.
Select Texture Paint in 3d view.
In Uv window, Turn on N Panel and in Display check Repeat.
This alows you to tile your texture.

Now in 3dview, select Clone tool. Choose a point in your textures, which you want to clone. Left click to move the curson at chosen point (Ctrl+Left CLick)  and start cloning your texture to seamless one.

Move your UV layout in uv window, when you want to offset the texture.


I can't make freestyle to work in blender 2.8 (file provided)

You overfiltered the line selection.
Here is a working setting:

And HERE is the blender file.


That´s the official PIE menu addon. Go to user preferences >> Addons >> Type in the seachbox: pie. Select all 3. Now you have special shortcut keys that will display what you see on the screencap. Specifically invoke it with tab.


How do I solve the problem of black surface forming on an object with 0 alpha transparency adjusted in cycle mode?

Increase your transparency bounces in Render Settings. I think you don't have enough bounces to make it through the object all the way .


Glass is supposed to be transparent and reflective (and other thing  is refractive, can disperse and absorb light, etc). If you take away the reflections then it will no longer look like glass.
Instead of trying to suppress the reflections, you need to use them to your advantage, so that they feature the characteristics of your object.
Using point lights or very small sources will always result in the kind of ugly spots that you dislike.

That is the very reason why photographers never use point light sources to light shiny objects.
Do an internet search for articles on how to photograph glass and shiny objects. The same principles apply for 3D rendering.
Use large area lights and white panels to light the scene, so that the reflections are much larger and more pleasant (or less distracting). Here's a single very large area light on the same scene: you can see the transparency, reflectiveness, roundness of the object and the overall shape of the object inside the glass.

Delete all the lights you are using, set the world to a black environment, and start with a single large light and play with it, pay attention at what happens with the reflections and the shape of the object, move it and play with the size until you find something that you like, and that suits your needs. Strategically add more lights, or white or black planes, until you get the results you are after.
The same principles that apply to shiny objects can also be used on glass: You are not lighting the object but creating an environment that gets reflected on it.

Read also: Why does an object with a glossy shader render in black?


Shading issues most commonly occur because of the presence of non-quad geometry (especially near edges).

As can be seen in your picture, the "quads" surrounding your highlighted section have more than 4 vertices apiece. This is as a result of your use of the knife tool. There are a myriad of methods you can employ to "correct" the geometry (often this involves moving unavoidable n-gons to flat sections to avoid shading issues), but could also involve simply extending the new edges all the way around the mesh - it all depends on how "clean" and "orderly" you need the final mesh to be.

A second reason for shading issues (and what seems to also be the case here) is a case of supporting geometry. Generally, supporting geometry is used to sharpen the appearance of edges,however, it can have the side effect of causing "ugly creases" to appear (especially on curved surfaces) when there is uneven spacing between edges or edge loops. If two edges on a curved surface are too close together, they will highlight the "crease" between two flat faces that are being shaded to appear smooth.

I suggest you spend a bit of time practicing some simple topology exercises, just to get a feel for the "rules" so to speak, as well as what you can and can't get away with without causing shading issues.

Best of luck.


Strange Lines Appearing In Object View Wireframe Mode

You need to tell Blender to draw all edges in the Object Display Panel:

I believe that Blender does this essentially as a way to conserve processing power as well as to keep wireframe scenes uncluttered for easier navigation.


How to control the line thickness of a drawn object with Grease P. (2.80)

The stroke thickness can be controlled in the adjustment section for the grease pencil layer.


I think it's a glitch in the new 2.9 edition.  It's frustrating the hell out of me too.  It was working fine last night.  I read someone suggesting to simply revert backwards to 2.8.  But come on, Blender!  You're 3D modeling software.  Surely you should be able to pull off the FIRST THING ABOUT SCULPTING!  It's not like you haven't had to time to figure it out by version 2.9!  I'm so sick of the broken ass program.  You sure do get what you pay for.  Free as dirt!


Is there a good way to make a "perfect" dome?

You can instead just use the boolean modifier in order to cut away the quad sphere. It should still keep all-quad geometry but the faces near the cut could be squished.
Important notes:

Using subdivision surface on a cube will not give you a perfect sphere. The corners will always be slightly lopsided.
Instead: Enable the "Extra Objects- Mesh" addon inside Edit->Preferences->Addons. This comes with Blender. Then, when you add a new object you can choose "Round Cube" inside the mesh section. Choose that, and switch the operator preset to "quadsphere" to make a truly round quadsphere.


bpy.data.images["ID"].save_render("XXX") changes color space

Had the same issue but found that the Sequencer (Render Properties tab, Color Management) seemed to be the cause for colorspace change when using save_render. Setting it to "Raw" fixed the issue for me.

bpy.context.scene.sequencer_colorspace_settings.name = "Raw"


Unable to fix error message "You should have an active texture to use multires baker"

Not all faces of the mesh are assigned to that texture so baker can't start working due to that.

The culprit is that some faces of the mesh are hidden, never fall under selection hence don't get assigned to the texture in UV Image editor. Unhide them in Edit mode with Alt+H. Only unhidden geometry is selected in the screenshot below.

Note also that while baking will work once you select all after unhiding and assign to the texture, it's better to fix that area as it's non-manifold geometry which can cause some troubles down the road.
Select overlapping edges and remove them:

Also there're overlapping vertices on the back of the head left probably after applying Mirror modifier. To avoid UV map corruption don't delete them rather than use Alt+M to join them at center:


You can do that easily with the Bridge Edge Loops operator, just select both faces capping the ends you wish to join, and press Space Bar and search for Bridge Edge Loops.

Adjust parameters as desired, most importantly the Number of Segments and Smoothness.


Right-clicking selects the object you want to edit (in this case, it would be your text), and the "tab" button on your keyboard (above caps lock) allows you to enter into Edit Mode. Alternatively, you could right-click on your text and then enter Edit Mode via the menu at the bottom of your screen where it says "Object Mode".

Check out this link and see if it helps: https://docs.blender.org/manual/en/dev/modeling/texts/editing.html


Wondering if there is a hotkey/group mechanism to quickly select a subset of bones from an armature

If you select one of the bones and then ShiftG > Group, you'll select the whole bone group.


If you try to recreate the shape, you should begin this way:

Load your image as a background in the 3D view N panel.

As your logo is made of concentric circles, create a circle and extrude it inwards.

Delete all the useless faces.

Create some new circles for the rest of the shape.

Again, delete the useless faces, then join the meshes with some merges (altM).

Move some edges to stick to the logo shape.

Now you need to extrude on the Z axis to give your shape some thickness, create bevel, give it a Subdivision Surface modifier, etc.


Why won't this mesh let itself be weight painted?

I see two reasons:

Mode is face selection masking: so you need to select faces (A or right click select)
The setting is to subtract and there is no weight to subtract


For illustration, you could pass an Empty down the length of the cube, create a vertex group in the cube, (say, 'Prox',) and give the cube a Vertex Weight Proximity modifier, modifying the weights in the group by the proximity of the Empty.
Here, we see the Vertex Weight Proximity modifier, affecting the 'Prox' group, targeted on the plain-axis Empty, and the consequent weights (made visible in the 'Overlay' settings,in Edit Mode).

Those weights can then be used to control other modifiers. For longitudinal compression, you could parent a plane to the Empty, and give the cube a Shrinkwrap modifier, projected in + and - of the length-axis (mine is X) towards the plane, weighted by the 'Prox' group:

If, for example, you wanted a leading compression front, rather than contraction on both sides of the plane, you could get the shrinkwrap to project on one side only.
This, though, is as shown:

For transverse compression, you could use a Displace (along normals) modifier instead of the shrinkwrap.. no need for the plane:

If you needed something more mathematically exact, I'm sure there will be a Geometry Nodes solution. For that, maybe you could provide your wave function.


How to remove background HDR of rendered image using compositing?

The best way does not use compositing, but avoiding having a background image in the first place.

You would just go to Properties panel > Render tab > Film  and check Transparent.

By doing that your background will not be part of the render image and will be transparent through an Alpha channel:

Transparent enabled on the right

That being said, there is a way to do it using the following Compositing Nodes setup.

The Color Key takes out the black from the Environment pass. The Invert changes the matte map to preferable colors. The Alpha Over node actually adds the transparency.

The following .blend file is the one shown in the above Compositing Nodes screenshot.


Eevee crashes when trying to render two animated particle systems

You need to delete your lighting cache and rebuild it before rendering it again. Try with lower cubemap sizes, lower diffuse occlusion size, and lower cube size and cascade size for shadows. Haven't tried reducing the 'Dots' in Irradiance volume's , but do try if everything still fails.
Also if possible, since most particles-related renders are related to 'abstract' theme - like simulations or Logo-intros, try rendering without baking the indirect lighting cache. Rendering without baked lights must work.


Cannot find UV Mapping options on tools shelf

You will see the options, you're referring to also, when You click on the little + sign visible on your image on the left ,right next to "History"


Since Mapping is a shader tree node, a 'material reference' is required:

import bpy
import math

# get the material
mat = bpy.data.materials['Material']

# get all material nodes
nodes = mat.node_tree.nodes

# get the mapping node
map_node = nodes.get("Mapping")

# set the rotation z component
map_node.rotation[2] = math.radians(180)

Direct access:

rot_z = math.radians(180)
bpy.data.materials['Material'].node_tree.nodes['Mapping'].rotation[2] = rot_z

Result:

Other properties

# set the vector type to 'TEXTURE'`, 'POINT', 'VECTOR' or 'NORMAL'
map_node.vector_type = "NORMAL"

# set the location components
map_node.translation = (0, 1, 3)

# set scale values
map_node.scale = (1, 0.5, 1)

# use minimum clipping value
map_node.use_min = True
map_node.min = (1,1,1)

# use max clipping value
map_node.use_max = True
map_node.max = (0,0,1)

Result:

For the world environment it's basically the same:

# get the world
world = bpy.data.worlds['World']

# get all material nodes
nodes = world.node_tree.nodes

# get the mapping node
map_node = nodes.get("Mapping")

# set the rotation z component
map_node.rotation[2] = math.radians(180)

Direct access:

rot_z = math.radians(180)
bpy.data.worlds['World'].node_tree.nodes["Mapping"].rotation[2] = rot_z

Result:


How do I bend a Model with an Armature? (Worm, Caterpillar, Tentacle...)

I'm not sure it will fit your need because it looks like your object is stiff and my solution is rather for a flexible caterpillar/tentacle kind of object. Anyway here is a solution with the Spline IK constraint. Contrary to other methods, you can easily stretch and twist your object in all the directions. Nota Bene: You should use several layers to make it easier to prepare:

Create a 5 bone armature (2 short, 2 long, one short), the first one will be the root, make the 4 other bones as long as the mesh.

Disable the Deform option of the root bone, it won't have any weight on the mesh.

Create a curve as long as the 4 front bones, subdivide it and make the vertices overlay the bones head.

Give the front bone a Spline IK constraint, choose the curve as Target, give it a Chain Length of 4.

As you can see, your curve vertices now control the bones head.

Switch your armature to Pose mode, select the root bone, then select the curve, shift select the bone, and parent with a ctrlP > Bone.

Now to make the control much easier and to be able to come back to a basic rest pose, you're going to create a second armature that will control the curve vertices: First create a bone for each head.

Switch this new armature to Pose mode, select a bone, now shift select the curve, go in Edit mode, select the corresponding vertices, and press ctrlH > Hook To Selected Object Bone. Same for all the other bones.

Now as you can see, the new armature control the curve vertices.

Switch the first armature to Pose mode, select the root bone, then select the second armature, select again the root bone and ctrlP > Bone. Now when you'll move the first armature it will move the whole thing.

Change the display of the first armature from Octohedral to B-Bone, Segment the 4 front bones (2 or 3 segments) to have a more flexible armature. Don't do it if you want to keep a stiff object.

Parent the mesh to the first armature with a ctrlP > With Automatic Weight.

Make sure that the Armature modifier is above the Subsurf. Enable the Preserve Volume option.

It should work.


Why the displacement option in the material panel is missing?

The Settings panel from your first screenshot is from the Cycles render engine. The second screenshot shows a project where Eevee is the current render engine.

The render engine can be changed in the Render Properties tab.


UV image editor, only drawing straight lines

Maybe you accidentaly changed the paint stroke method to Line. Press E in the UV Editor window and change it to Space or do it in the Paint Stroke panel.

For other useful shortcuts please see this answer: Can I paint a texture within the UV viewport?


Why ALT + Click does not work when you need to return the checkmarks to all objects in the Visibility parameter?

In the design of Blender, if an object is hidden, it cannot be selected.
Also, if it is not selectable, you can't access its properties.
So when you disable selectability or viewport visibility for all selected objects, it automatically excludes all objects from selection.
Somehow the "active" selected object (yellow dot in the viewport) is still selected, explaining why you still can toggle its visibility or selectability.
In short, this is Blender's developers team design decision and you can't change it easily.
I suggest you use the outliner and collections for this behaviour :


Finally figured this out. Basically, you should use the 'exposure' slider in the color management tab to make overall brightness adjustments while keeping the light 'ratio' the same. Seems obvious, but by default Cycles uses strong clamping which botches this up. If you disable clamping, you can render once then adjust lightness through the exposure slider with identical results to re-rendering with brighter light sources.


How to offset root position of an animation?

In your mocap animation, Make sure your active action is set to the mocap action, either by selecting it in the dope sheet - action editor mode, or in the NLA editor, select the strip and hit tab to turn it green (this is known as tweak mode).

Change into the graph editor, and select the hip bone. Hide and lock all but the z-location channel. Select all channels (a key) which should only select the z-location and "grab" (by pressing the g key) the channels in the positive "y" aka up direction (constrain to up-down motion by pressing y after g) and adjust its z direction for all key-frames to one that lines up with the ground plane.

Keep in mind I usually work with the dope sheet when working with 1 action because if you edit the animation, it may not always update the NLA strip. I think some of the interface inconsistencies in blender show here and are actively being worked on (eg. the tweak mode which is new in blender 2.74ish)


Why is my FK-rig behaving weird when animating?

It is playing the animation that you created. I would guess that you expected it to interpret the movement you recorded a little differently though.

It would appear you want the arm to raise and then rotate a little to wave the hand. the problem is you keyframed the rotation with the arm pointing downwards, then you moved it up and rotated it and keyframed, blender then gradually rotates from the lower position to the upper position, the "waving" rotation is then merged into the lifting the arm movement.

To fix this you need more keyframes. You want a keyframe of the arm pointing down, then a keyframe of the arm pointing up, then add keyframes for the rotations to make the wave.

If you want the arm to start rotating as it is raised then you will need a few more keyframes to define the arm raising so that it is in the right position as it raises.

Below is the f-curves for your animation. The red curve is the x-rotation for the arm going down and raising up. The green curve is for the y-rotation and the blue is the z-rotation intended for the arm rotating to give a wave, you can see that the y and z curve begin rotating as the arm raises upwards. You only want the y and z to start rotating around the time the x rotation is in it's highest position.


Change animation time to match audio track

You'll need to scale the keyframes of all animated elements in the scene so the last ones end at frame 60.

Open the dope sheet editor and place the cursor (the green line) at frame one.
Select all the diamonds on the dopesheet so that they are all orange
Press S to scale and stop when the diamonds on frame 24 reach frame 60. Left Click to confirm.


I have a few materials that I want to fade between during an animation

What you need to do is add a mix shader in between the two nodes, then you can add keyframes to the factor value by pressing 'I' while hovering over it:

I hope this helped!


Why is one face in my mesh not being rounded by the subsurf modifier?

The problem could be that you have duplicated vertices.

Try to select the overlapping vertices in your red circle (the one you draw in the screenshot) and merge them Alt+M in Edit Mode. Do it for all the 4 areas that generate the rectangle.


How to render transparent background for png image texture with eevee?

Here is the proper setup for a texture with an alpha (transparent) channel in EEVEE. Take note of the blend modes I highlighted in red on the right - these are necessary (anything but opaque).


Glass material not rendering as expected in Cycles

In this particular case you will need to check Shadows under Light Pass tab.


You can not assign more than one Vertex Group to one Bone. However you can assign many vertices to a vertex group where each vertex may have different weight. And that should be exactly the solution for which you are searching.

There is no benefit from splitting the weights for one single bone into different vertex groups. Even if that would be possible, blender had to merge the groups anyways before it could apply the weights to the vertices.

Please also check the wiki documentation about vertex groups:

https://docs.blender.org/manual/en/dev/modeling/meshes/properties/vertex_groups/index.html

You should read all 4 chapters of that section.


Imported an Alembic animation to Blender. How can i time-reverse it?

Related:

looping alembic
start alembic at specific frame

(e.g.) My alembic animation has a length of 240 frames.

Select all the objects, which were created on alembic import and go to the constraints or modifiers [properties tab].
Hold ⎇ Alt and  LMB click Override Frame.
Then ⎇ Alt LMB into the Frame field and type # 240 - frame.

A driver will be created for the Frame field and the field will turn purple.
Holding the ⎇ Alt key ensures, that this happens in all the modifiers and constraints of all the selected objects. You can confirm this, by individually selecting the other objects and double-check that their Frame field of the Cache Modifier and Cache Constraint is also purple.


Adding a modifier to an FCurve is much like adding a modifier to an Object, you first add it, then you adjust the properties.

Adding the Modifier + Setting properties

Here is shown how to add a modifier to an existing fcurve for an object, but it's very similar when the subject is a keyframed property of a shader tree.

import bpy

obj = bpy.data.objects['Plane']

# pick the fcurve to add to
fcurve = obj.animation_data.action.fcurves[0]

# add a modifier and get a reference.
limits = fcurve.modifiers.new(type='LIMITS')
limits.use_max_x = True
limits.max_x = 0.23
limits.use_influence = True
limits.influence = 0.5

The shadertree version

mat = bpy.data.materials['some_material']
fcurve =  mat.node_tree.animation_data.action.fcurves[0]

The attributes of the modifier can be found by

hovering over the UI elements and reading the tooltip
using the Python Console and use the auto-complete feature to dig through the list of attributes. (admittedly not very graceful)

Normally you don't need to set all possible properties of the modifier, the modifier will come with all its default values set (just like when you add via the GUI). The properties are named fairly logical and the above methods of finding the properties should be sufficient.

Picking  the FCurve

Picking the FCurve from the UI is direct, but using a script to pick the FCurve will take some practice. Luckily there's a method to get fcurve by name and index.

# to get a reference to an fcurve for location, specifically the
# x component. index 0 is x.
action.fcurves.find('location', index=0)

or for materials with keyframed node properties

fcurves = mat.node_tree.animation_data.action.fcurves

# get the reference this way
fcurve = fcurves.find('nodes["Emission"].inputs[1].default_value')
# >> bpy.data.actions['Shader NodetreeAction']...FCurve

Figuring out what to use in the fcurves.find() method, can involve doing a little experimenting (a dry run) and first see what fcurves[your index].data_path returns. Or use the UI and read what the Active F-Curve says:

for the materials..


Clear Custom Split Normals Data - Many Objects

I came across this question when I was googling about the same problem. This worked for me.
import bpy

selection = bpy.context.selected_objects

for o in selection:
    bpy.context.view_layer.objects.active = o
    try:
        bpy.ops.mesh.customdata_custom_splitnormals_clear()
    except:
        pass


Blender supports only a handful of mesh formats as sequences, .mdd, .pc2, and in test builds, alembic (.abc). This is done using the "mesh cache" modifier. If you have an external tool that can convert/re-export the sequence to one of these formats, that's your best bet.


You will need to add color emission to your object by using an Attribute node with the property flame spelled exactly like that.

Then connect that node to a ColorRamp. Adjust the color ramp settings to be the color of the flame, and then attach that to an Emission shader.

Set the power of the Emission shader to 5, then connect that to the Add shader in the Cycles node setup for the smoke domain.


How do I bend a plane and keep the objects on it following its bend?

In edit mode subdivide the plane so to have a grid with enough vertices that will define the position of your cube, then select the 3 vertices nearest the position you want the cube to stay.

Then in object mode select the cube, Shift
 select the plane, press Ctrl+P
 and choose "vertex triangle", so the cube will always follow the average location of the three vertices of the plane.


Blender is applying only part of texture onto plane ? -- No Shading -- Bug?

I think your problem is in view port settings.
As you wrote, your image RGB goes over variety of colors and the corners should give absolute number of the color (as 1.1.0 in case of yellow) This can be picked by color picker in UV editor or texture paint as the texture is shown without any view port shading.
In fact, the view port has some basic shading and light from the very beginning and the colors in 3D view port are always distorted by the environment as the pure color is not reachable in a real world normally.
There is no problem with the texture. If you want the absolute color output you have to set up you render, color or material to give you this output.
If you want it to be seen just in view port then change your shading.


I've changed position of vertices with python but nothing happened

Please try your statements with the 3D View Window in object mode not edit mode.


Subdivisions View parameter using Multires or Subsurf modifiers no longer increases object resolution

It looks like you may have enabled the 'Use Simplify' option found in the 'Scene' tab of the 'Properties' area:

This option works as a 'cap' on the number of subdivisions that objects in the scene can have if the simplify subdivision level is set lower than the subdivision level on your objects.

So a simplify subdivison level of '2' will mean that no subsurf modifiers will be able to subdivide objects higher than level 2. Setting it to zero would effectively turn all subdivisions off.

It can be useful when you have a very dense scene, with many subsurf modifiers and want to render it quickly as a test.


Blender Render: PNG image on semi-transparent colored object

I'm not sure to understand what you mean, but I feel you maybe just need to enable this flag in the "shadow" section of the blender internal material settings: "receive transparent".

Here I created a (guess somewhat) similar setup, and without that flag the result is like this

while after enabling it, you can see the "hidden" image behind the semitransparent "glass"

note I here used "raytrace" transparency, but it should work with "Z transparency" too...


Large Ocean Texture & Boat Wash Material with Dynamic Paint

First of all, a noise bump texture does not make for an ocean. You need waves, not noise. Either go for some online textures, or create your own one:

Generate a smaller mesh with the ocean modifier (as large as possible)
Bake normal and height to a plane
To render your ocean, apply both the normal map as well as the height to the plane using microdisplacements
You can even do this texture baking for the whole animation (I'd recommend you to do it in a separate blend file then)

For the boat, you first need to have realistic materials. Have a look at "physically based rendering" to get true photorealism (Blender Guru is your friend).