One way to go about it, using answer from https://blender.stackexchange.com/a/53976/15543.

A cube has six sides, with orthogonal set of normals, all with equal area.

Below is code to split all faces into "sides" with same face normal and calculates the sides area and volume. The volume should be zero, if not the faces aren't coplanar and don't make one side of a cube.

Run the test code in edit mode.

If end up with 6 sides, equal area, all coplanar with orthogonal (either dot product is zero or sum length is zero ( v == -v) )

import bpy
import bmesh
from math import radians
from mathutils import Vector

context = bpy.context

def coplanar(faces, TOL=0.00001):
    bm2 = bmesh.new()
    verts = [v.co for f in faces for v in f.verts]
    o = sum(verts, Vector((0,0,0))) / len(verts)
    for v in verts:
        # origin to center (matters for convex_hull)
        bm2.verts.new(v - o)
    #calculate a convex hull
    bmesh.ops.convex_hull(bm2, input=bm2.verts)
    # if the convex hull has no volume its on same plane.
    volume = bm2.calc_volume()
    bm2.free()

    return volume

# create a bmesh
TOL = 0.01
bm = bmesh.from_edit_mesh(context.edit_object.data)
# tried (unsuccesfully) to calculate orthonormal set from face normal
f = bm.faces[0]
normal = f.normal
v = Vector((1, 0, 0))
if normal.dot(v) < 0.000001: # parallel
    v = Vector((0, 1, 0))
#get the axis
x = normal
y = x.cross(v).normalized()
z = x.cross(y).normalized()
print("-" * 72)
faces = bm.faces[:]
sides = []
while len(faces):
    f = faces[0]
    axis = f.normal
    # has to be at least one to match f.normal
    side_faces = [f for f in faces if f.normal.angle(axis) < TOL]
    area = sum(f.calc_area() for f in side_faces)
    volume = coplanar(side_faces)
    for f in side_faces:
        faces.remove(f)
    sides.append((axis, area, volume))
    print("Axis:", axis, "Area %5.2f Volume %5.2f" % (area, volume))

Won't be a cube if len(sides) != 6 and so on.

Better if an orthogonal axis set was calculated from the first face normal, but couldn't work that out.


Does the steam version of blender install Python automatically?

Python is bundled with all versions of Blender, since 2.5 onwards. Many aspects of the UI are declared in python and it is therefor an integral part of the UI system (shipping without would be a world of hurt).

According to Make Human docs the add-on comes with its own version of Python ( 2.7 ).

  (...) there is a bundled python inside the build zips (...)

This means you have at least two versions of python on your machine, one that Blender uses and one that Make Human uses, that's OK.


Particle Instance Modifier ignoring Length

This is an intended behavior. The length property only influences the particles from the particle instance modifier if you use the Create Along Paths option, but that doesn't scale them like you want.

They key here is to use the Size parameter. The issue with this is that it only exists for emitter type particles, and not hair. So you cannot control the size of particles if you are using the hair option (as far as I am aware).

Switching to emitter will allow you to control the size of each particle. This is not done with vertex groups, but with textures. Why that is I'm not sure. If you scroll down to the bottom of the particle settings there is a texture panel, where you can create a new texture. Go to the texture tab and create a texture that will define the size. Blend works well for the gradient on your example. There may be ways to convert vertex group values to textures, but I'm not sure about that.

Once you've got the texture created, under the Influence heading in the texture panel there is a Size option. Check that and you should be good to go.


Particles - Aligning particles to an SVG

Does dots should appear in place (plus to add animated Camera movement backward to zoom-out) ...

Example is SVG converted to Mesh (only outline), Extruded a bit to get side faces and added Particle System Emitted from Faces, Physics > None ...
... or dots should fly from behind camera to front?

Particles > Keyed suggested by Blunder in comment.

No problem to extend answer or redirect you to somewhere for more details, when will be clear the particles motion.


Why Does The Camera Make Weird Angles when animated?

You can add an empty to let camera stick on it (make parent with transform), and rotate the empty to make your camera rotate

You only need two keys for this job with a super stable result.


Particles render in front of other objects

The hint from cegaton's comment solved the issue. I had only to increase the end clipping distance in the camera behind the plane with grass.


UV 2d cursor and vertex coordinates from python script in Edit_Mode

This will print the uv coordinates of each vertex and (x, y) position in the UVmap editor then the cursor location

import bpy

ob = bpy.context.active_object

for area in bpy.context.screen.areas:
    if area.type == 'IMAGE_EDITOR':   #find the UVeditor
        cursor = area.spaces.active.cursor_location   # get cursor location
        if  area.spaces.active.image :                #get image dimension
            x = area.spaces.active.image.size[0]
            y = area.spaces.active.image.size[1]
        else:
            x = y = 256

        for v in ob.data.loops :
             uv = ob.data.uv_layers.active.data[v.index].uv   #get uv coo

            #calculate and print the position in the uv editor
             print("vertex %d at with UV coo (%d , %d) at  (%d ,%d)"%(v.index, uv[0], uv[1], uv[0]*x, uv[1]*y) )
             print( "is selected ? " , ob.data.uv_layers.active.data[v.index].select )

        print (cursor,x,y)


As far as I know, blender does not support exporting vertex colors to COLLADA (yet).

The only other formats that blender can export to (with the official export scripts, it would be perfectly possible to write your own exporter in python)
which support vertex colors are ascii fbx and ply.

If fbx doesn't work for you, you could try joining all your objects into one object and then exporting to ply:

Select the objects which you want to join/export a press CtrlJ, then export as ply in Info panel > File > Export > Stanford (.ply).


Why might I not be able to activate my drawing canvas grid guide?

It looks like Grid is the grid that is displayed when you are both in orthographic AND perpendicular view, it allows you to view the units when in ortho front view, ortho right view, etc... it always displays a grid perpendicular to your view, whereas Floor is the floor, it's only an horizontal plane, and it is seen whatever is your view, orthographic or not, but it's still an horizontal plane.

In your case the option is grayed because you are not in orthographic AND perpendicular view. It will appear when you'll be in both.


The blender layout code can be viewed by right clicking on the select menu and selecting view source.  This will open space_view3d.py in the text editor.  The select similar menu can be found around line 707

class VIEW3D_MT_edit_mesh_select_similar(Menu):
    bl_label = "Select Similar"

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

        layout.operator_enum("mesh.select_similar", "type")

You can append or prepend to a menu via (see https://www.blender.org/api/current/bpy.types.Menu.html#extending-menus)

import bpy

def add_menu_item(self, context):
    self.layout.label("Added this line")
    self.layout.operator("mesh.select_similar_kcl_flags")

bpy.types.VIEW3D_MT_edit_mesh_select_similar.append(add_menu_item)

For a custom submenu, create a menu class and call layout.menu in your draw function (see Templates > Python > UI Menu template for reference):

import bpy

bl_info = {
    "name": "My Add-on",
    "description": "",
    "category": "3D View"
}

class VIEW3D_MT_custom_select_similar(bpy.types.Menu):
    bl_label = "Custom Menu"
    bl_idname = "VIEW3D_MT_custom_select_similar"

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

        layout.operator("wm.open_mainfile")
        layout.operator("wm.save_as_mainfile").copy = True

        layout.operator("object.shade_smooth")

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

        # use an operator enum property to populate a sub-menu
        layout.operator_menu_enum("object.select_by_type",
                                  property="type",
                                  text="Select All by Type...",
                                  )

        # call another menu
        layout.operator("wm.call_menu", text="Unwrap").name = "VIEW3D_MT_uv_map"

def add_menu_item(self, context):
    layout = self.layout
    layout.separator()
    layout.menu(VIEW3D_MT_custom_select_similar.bl_idname)

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

    # add the menu
    bpy.types.VIEW3D_MT_edit_mesh_select_similar.append(add_menu_item)

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

    # remove menu
    bpy.types.VIEW3D_MT_edit_mesh_select_similar.remove(add_menu_item)

if __name__ == "__main__":
    register()


The Boolean modifier is supposed to work like that!

In Blender objects are usually full 3D models, with a surface and a volume: in your case, since your car's "walls" are made of only one layer, the Boolean modifier thinks that the object is full, and that the inside of the car is its volume (it doesn't work like that, but it's to make the concept easier).

That's why it makes a dent: it is trying to remove part of the volume of the car.

However, you only want to remove part of the car's door, because you know that the inside of the car is empty, so you need to make the doors thick (so not one layer, but 2 with a volume inside).

The easy fix is a Solidify modifier before the Boolean, like shown in the picture


You've enabled the Sequencer option in the Output panel > Post Processing, it renders the VSE, disable it:


How to make cube A size following cube B size? (boolean for window/door)

If you freeze the scale, it's not like

else
http://take.ms/CTUFw


Make a sphere of cubes in Blender using python script

I figured out the solution.  The issue was that once i got out of the embedded while loop the theta value remained at 6.28 instead of returning to 0.0  it was remedied by putting theta = 0.0 in the outer while loop.

lesson of the day When you leave a while loop the values you have made remain the same when you leave, remember to reinitialize them.

here is my sphere of cubes.


Your first issue is the use of Cycles Render in the top options bar. Change to Blender Render.

Once you do, change where it says Environment Textures to the materials button, as seen in the documentation.


Displace modifier with black and white texture has sloping edges

Displacement needs many subdivisions to work. Still, the results are not gonna be perfect as the map may not overlap with subdiv "grid". Use this map as a reference image instead and extrude the walls.


They are default Value nodes (Add> Input> Value), just renamed by user to make node-tree more "understandable".

Original node:

To rename any node open N-Panel in Node Editor window (press N) and type anything in Label field.

Renamed:


Okay.  Let's say we're rendering a bump map fed by an image texture in Eevee.  I'll give a general run-down, but I may simplify some details.  You'd be best off just reading a bump map implementation in some shader code (OGL or HLSL).  That will tell you exactly what's happening, and it's a lot more accessible than you might think.
The bump node samples the image texture three times.  First, at the UV of the sample being evaluated; then, a slight offset in the U axis; then, a slight offset in the V axis.  The size of this offset depends on your zoom, texture resolution, and FoV; as you get closer, the offset gets smaller.  (I think it actually samples at a screenspace offset of +1 pixel, and then calculates based off of that, but understanding it in terms of UV is probably more intuitive and amounts to the same thing.)
Each time we sample the image, we get a number.  For each of our numbers, we subtract the bump node's midlevel, multiply by the bump's scale, and then multiply by our object's scale.
Then we calculate how big those UV offsets were in terms of world space-- we calculate the change in world space, divided by the change in UV.  In Eevee, that's pretty easy, because our video cards are designed to work on four samples simultaneously, because calculating these deltas is really important for texture filtering, which is really really important.
Now we know, in two orthogonal axes, how much our height changes over a given world space distance, which lets us calculate a slope.  For example, if our height changes 0.5 units in the direction of increasing U over 0.5 world space units, then we have a slope of 45 degrees.  If it changes 0.25 units over the same world space, we have a slope of 30 degrees.  (This is some basic trigonometry.)  We take our base normal and rotate it, in the axis of changing V, by the slope we get by looking at the change in height in U, and we rotate it, in the axis of changing U, by the slope we get by looking at the change in height in V.  Now we have a normal that's different than the one originally calculated from our mesh.
If you're okay with calculus, the tl;dr of all this is, we calculate the derivative of our height map and use that as our normal.
How we use this normal depends on the shader.  Each shader does something different with a normal; a normal is a fundamental part of almost every shader, and their differences have a lot to do with what they do with their normals.  So I won't go through all of them.  But we can consider a diffuse BSDF with a 0.0 roughness, which is called a Lambertian diffuse.  If we shine a light on this surface, what color do we get?  It depends on the angle of the light, relative to the angle of the normal.  The color we get is equal to the dot product of the surface normal and the reversed light vector (in whatever space, just so long as they're in the same space) times the color of the light, times the color of the surface, times the falloff fraction.  The output color (before color management) is the sum of the contributions from each light.


Texture Animation broken in version 2.78?

You have keyframed the texture list not whether the texture is enabled. In the tutorial images you can see that the checkboxes turn yellow, not the entire list background.

It seems a small detail but the mouse needs to be right over the checkbox to the right when you press I so that only the checkbox gets the keyframe. You can also right click on the checkbox and select Insert Keyframe.


Fill those petals in illustrator and after you fill that in illustrator application you will be able to fill that


Uv Maps Faces Objects Materials And Image Texutres.png

You don't edit materials in the UV Editor, you only edit coordinates for applying textures.

These sets of coordinates called a UV Map are created through the process of Unwrapping can be used in any number of textures for any materials, modifiers, for texture painting, or any other use you desire.

They are not tied to any particular material or texture for that matter, and each object can have any number of different sets of coordinates for different purposes.

Each object can have any number of materials applied to it's faces called Material Slots. Each slot can hold exactly one material, and each face can be assinged to exactly one Slot at any given moment.

Each material can make use of any number of textures, and each different texture must use at least on set of coordinates. These coordinates can be automatic like Generated or Object, or manually created through UV Unwrapping like UVMaps

Now go watch some tutorials about Blender unwrapping


I would model the profile of the open magazine -

then extrude it to the height of the magazine and add a solidify modifier.

One end can be scaled out to get the variation at the top. Apply the solidify and add a crease to the outer edges, then use an edge split and subsurf modifier to finish it off. Some parts can then be expanded where the pages are separated.

I would then add the "space" between the pages and the page variations to the texture.


I would suggest to add empty objects, or create a mesh to visualize Matrix/Euler/Vector types.

As a handy alternative to this, Blender comes with the MathVis addon that draws python defined variables in the view-port.


Learning Blender. Add custom hyperlink button to UI to navigate to browser

You can use bpy.ops.wm.url_open() to open a url from a button.

For example, using the UI Panel Simple template (from the Text Editor> Templates> Python) you can add this to the draw method:

def draw(self, context):
    layout = self.layout
    row = layout.row()
    row.operator("wm.url_open", text="Open Link").url = "http://www.google.co.uk"

This will display a button whose sole purpose is to open a link. If you already have a button and just want to add this extra functionality, you can call the operator directly with:

bpy.ops.wm.url_open(url="http://www.google.co.uk")


This question is very broad and has no definite answer.

With that being said, I'll write my answer as H.264. Why?

Among others, it's one of the most universal. High compression combined with high quality, especially compared to the compression ratio. I personally use it for most of my video renderings.

It's also broadly supported, and will run on all major platforms; Windows, Mac, browsers, iPhone/iPad, Android devices, Windows devices, etc.

If you decide, you can easily convert the video clip to MP4 at a later time if you so desire.

It's also one of the industry standards along with MP4, WAV, OGG and more.

So again, this is more of a personal answer on a broad question.

Hope this helps.


Delete all materials that aren't assigned to a face?

For future landers. This works on selected objects and its using new APIs so 2.80+ only.
import bpy

objs = [obj for obj in bpy.context.selected_objects if obj.type == 'MESH']
for obj in objs:
        bpy.context.view_layer.objects.active = obj
        bpy.ops.object.material_slot_remove_unused()


how to reduce clump of strange noise in render?

It looks like noise from reflective or refractive caustics or something simlar. Try disabling "Reflective Caustics" and / or "Refractive Caustics" in the Caustics section under "Light Paths". If the noise disappears, try re-enabling caustics and in the "Clamping" section set a value for "Indirect Light", like 10 or 5.


Is there a way to import many objs and then move them 32 units additively?

batFINGER shows how to load objects from a .blend file here.

To move the objects, you could use

selected_objects = [obj for obj in bpy.data.objects if obj.select]
for i, obj in enumerate(selected_objects):
    obj.location[1] = 32*i

This moves the selected objects so that their y-coordinates are 32
units apart. Essentially this idea and a number of other examples are showcased
on the Blender Developers Blog
here.


What do the 'Custom shape' options on the Sapling Tree Gen add-on do?

If you change shape to custom shape, these values will be active.

When you point your mouse on it it says these are the values for Base, Middle, Middle position and Top respectively. You can change those, using your mouse and drag these fields to the left or right or enter number between 0.01 and 1


Showing the volume using 3D Printing Toolbox

Unfortunately this is not a realtime statistic, it is only updated when you manually click the volume button.

So no you aren't doing anything wrong.


Child Of's set inverse without using bpy.ops

Try:

const.inverse_matrix = target.matrix_world.inverted()
obj.update_tag({'OBJECT'})
bpy.context.scene.update()

This does not show up immediatly. You have to update the view / tag the region for redraw.


Generate a Random Value between Two Limits

Duarte Farrajota Ramos came up with a better suggestion with the Object Info > Random value.  Then you just run it into a standard linear interpolation function t*(a-b)+b.  If you're feeding in random numbers 0..1 it does not matter whether a<b or a>b.  You still get a value in the range a..b.

The extra nodes at the bottom with the vector coordinate going into the noise texture will give you a solid color, but it will be identical on all objects that use that material.


Can Blender export to the COLLADA format?

I use Blender builds from the irie PPA, and I have it by default:

Installing from the PPA:

Add the PPA: ppa:irie/blender (sudo add-apt-repository ppa:irie/blender)
Update your sources (Ubuntu Software Center does this automatically, but you will need to do it manually if adding from the command line). (sudo apt-get update)
Install blender (this package is 2.6x from git) (sudo apt-get install blender)

More info: https://askubuntu.com/questions/169542/how-do-i-install-the-latest-blender-3d-builds-from-a-ppa

Collada support is enabled and available in these builds.


version Remesh
If you want an even grid also on edges you can try to use modifier Remesh > Sharps

or Blocks modifier directly on Silhouethe object... just use Solidify modifier before Remesh to let it works.

version Knife Project
Select Silhouette than Grid, go to Top View, switch to edit mode and search for Knife Project, but ...

... since silhouette use more vertices that grid you will have generated n-gons on edges that can be problematic for modifiers or modeling. You wil see :)

Notes:
If you need a grid on sides, extrude it after Knife Project. You can use Loop Cut Ctrl+R for that.
For some generated terrain you can use Displace modifier with Cloud texture ... here used on version Remesh > Blocks > Octree Depth 9


Arms detatching from torso on character rig? (rigify)

I figured it out. I combined the torso and arms into one mesh, and connected the shirt with the arms. Now it works! Yay!


Why are video proxies faster than raw clips in the sequencer?

I think this is because of the codec the images are stored in. Compare replay speed from a video with replay speed from an image sequence. It doesn't go that fast, but at least faster than video. A video codec makes random access of certain frames that is needed for playback harder: if the compression uses data from precedent or following frames to reduce file size, Blender will need to load and decode a whole segment to read one frame. If some complicated math is used, it will slow down further.

When generating proxies, they not only have a lower resolution, but they are also in a codec that Blender can load at a decent speed (jpeg images or jpeg avi). The smaller file size allows for faster loading and keeping more data in RAM.

I think there are many reasons for proxy files being faster at playback, but to me, it's the random access to individual frames Blender gets that matters the most unless your video is 4k or your hard drive is at the other end of the world.


Is there a build of Blender that only has the video editor enabled?

In Short, No.
You can make blender builds without many features (collada, game-engine, freestyle, smoke etc). But you can't make a video only version of Blender.


How to get the smoke animation to disappear after end frame

Note: this answer was posted before the OP specified the BI render engine, I am leaving it in case future viewers are using Cycles.

If you are using Cycles you can make the smoke disappear at a certain frame my simply animating its material.  To do this add a mix shader node and plug your smoke nodes into the bottom socket, leave the top socket empty.  You can then animate the mix factor on the mix shader to make the smoke disappear.

A value of 0.00 will give no smoke while a value of 1.00 will give full smoke.


I want to bend the corners of a square sheet to 90 degrees as follows. How should i do it?

The Simple Deform > Bend modifier IMO, is not easy to get your head around.

Create a plane, extending from 0 to its dimension in X and Y, with its origin at world 0.
Cut its outer corner (K, holding Ctrl to constrain to the center of the edges)
Bevel the cut.

Select the inner crease, and (ShiftS), place the 3D cursor there.
Create an empty, rotate to the orientation shown, and put the cursor back where it came from

Assign a Bend modiifer. The space in which it operates, here, is defined by the empty. From what I've deduced by trial and error, this is what happens, when set as shown:

a) In the modifier's space, rotations of the vertices of the modified object will be around Z.

b) The extent of the modified object in X of the modifier's space is mapped onto a range of 1, with 0 set to the space's origin. So if 2/3 of the object is in negative X, its furthest negative point in X will be mapped to -0.66, and furthest positive to 0.33.

c) Each vertex will be rotated by its mapped position in X, multiplied by the total rotation requested in the modifier.

As far as I can tell, the 'Limits' setting also  refers to a mapped range of 1, but with a different origin. This time, 0 is mapped to the furthest negative point, and 1 to the furthest positive point, in the modifier's X. That's the best way I can explain to myself why the settings shown work the way they do.

Anyway, this is the result:

Now you can add a Mirror (X & Y)  and a Solidify modifier...

... parent the empty and the plane to another empty, (here I've raised it in Z, in case you want some 'pendulum' rotations in the animation)..

For safety, lock off all the transformations of the modifier empty and the plane, placing them under sole control of the parent empty, and you're good to go.


I had this exact same problem when trying to bring an armature from 2.8 into 2.79, and I found a solution that worked in that case, so maybe it will work for you as well. Try the following:

Create a new additional armature with a single bone in your project file. Then in Object mode, select your problematic armature (the one you can't select bones from in pose mode), shift-select your new single bone armature, and join the two (ctrl-j).

When I did this I was able to select all of my original bones in pose mode again.


In the BGE, how do I make collected objects never appear again even when go back to that level?

I assume with "level" you mean scene.

When you switch scenes, you destroy the current one and load a new one. The new scene will be as it is loaded from file. It will not know anything about the previous scene.

When you keep game status (such as points) in a scene it will die with the scene.

Solutions

Keep scene

Do not switch scene to preserve the game status.

Nether return

When leaving the scene you never come back. Therefore you do not need to know what was collected in previous scenes.

Keep game status separate

By keeping the game status somewhere else (e.g. at a Python module, or an overlay scene) it will survive a scene switch.

Transfer game status

Some game status are better kept in the scene (e.g. status of doors, collected objects, moved objects). Such things are typically needed when loading the scene again at a later stage (it is not the same scene, it is a new scene loaded from same source).

You need a store/restore system.

It basically extracts the game state (or part of it) from the scene and places it in a storage outside of the scene (e.g. a python module).

At a later stage the game state can be reapplied from storage to the same or a different scene. This can happen after a scene change.

You often find such a system in conjunction with a save/load system. I suggest to search for such a system as it would be way to much within this answer.


How to create a peppermint candy swirl material?

You can combine a radial effect and a wave effect:

The disk is Z up, its radius is along X and Y.
The generated coordinates are centered to -0.5 to 0.5.
The wave is to have a sinus going along the radius, from the center to the edge.
The radial effect is to have a cosinus depending on the angle around the disk.


Is there a way to use Textured Solid without getting a Backface Culling effect?

While toggling Textured Solid in Solid view, it will always display culling effect, regardless whether Backface Culling is toggled, I'm not sure if this is made on purpose. So, I think the answer is "no". However, you can always switch to the real Texture View mode in order to turn it off.


Is it possible to create a render layer with no depth of field?

You can use multiple scenes:

Add a new scene by pressing the + at the top of the screen and selecting Link Objects:

This will link the objects into a new scene. This way modifying any object will change it in both scenes.
In the new scene, select the camera and unlink it from the first scene by pressing U> Object Data. Then set the camera's aperture size to 0 to disable DoF. Note that the aperture must be set to radius for this to work.
Then you can get the render results of both scenes in the compositor by using multiple renderlayer nodes:

Note that each scene has it's own compositing node tree, so it might be confusing if you have composite nodes in both scenes. I usually like to keep all the composite nodes in one scene.

If you add any new objects to one scene, they can be linked to the other scene by selecting them and pressing ⎈ CtrlL> Link objects to scene and then selecting the scene you want to link to.


Noob Question: Symmetrized my bones, but Weight Painting is still mirrored?

The mesh object does not have enough vertex groups for the deformed bone names.
The results of searching with the keyword "Lip" are shown in the Vertex Groups List in the figure.
Select Mesh Object, then Armature in Object Mode. Press the Ctrl+P key and select With Empty Groups.

PS: Lip2C.L is a non-deformed bone name and can be removed from the list.


Strange twisting from multi-chain armature

The problem is 3 chains per hair strand combined with that you skipped many segments an created long bones over them, so the bones cannot follow the mesh strand exactly. They try their best to fit the shape, but this results in twisting at the tip:

The 2 side chains are redundant. Build only 1 chain but for every segment and set the bones like this so they rotate with the mesh:

You cannot notice any folding in the strands anyway, you will hardly see any difference.

If you really want to copy the motion exactly, rather than setting up 3 chains for each strand segmented like crazy write a script that will generate disconnected bones on every face and constrain each to that particular face with a Child Of with vertex group of that face. Child Of Constraint Set Inverse with Python

Also this simulation is not very high quality, the mesh oscillates with high frequency and you can see some nasty artifacts (but that does not cause the problem)

In the armature modifier check Preserve Volume (that does Quaternion skinning which you want)


Curves Circle method

Add > Curve > Circle,
In Edit mode go to Curve > Control Points > Set handle Type  and set it to to Free.
Then delete one knot point, and adjust the remaining knot and handles as in the image below.

A slight warning, this will only approximate a quarter curve, but often this will be sufficient for graphics.
Python script
Here is a short script that might be of interest to future python coders, creating this curve through code: https://gist.github.com/zeffii/5775583


How to import SVG files without putting them in a new collection?

The following script is intended as a limited example tested in Blender 2.9:
create a list of current collections;
given a specified directory:
get a list of all files in that specific directory;
if the file name ends with .svg perform the import curve operation;
create a list of collections after import operation (exclude original collections);
for each collection created during the import operation:
rename the objects in the collection;
link to scene's master collection;
unlink from existing collection;
remove the collection;
import bpy
import os

dir = "c:\\tmp\\svg"
files = os.listdir(path=dir)
tgt_coll = bpy.context.collection # master scene collection
colls = [coll for coll in bpy.data.collections]

for f in files:
    if not f.endswith(".svg"):
        continue
    bpy.ops.import_curve.svg(filepath = os.path.join(dir, f))

new_colls = [coll for coll in bpy.data.collections if coll not in colls]

for coll in new_colls:
    for obj in coll.objects:
        obj.name = coll.name # coll.name[:-4] to strip .svg
        tgt_coll.objects.link(obj)
        coll.objects.unlink(obj)
    if len(coll.objects) == 0:
        bpy.data.collections.remove(coll)


I just tried applying the object's location and it fixed the problem.


Node Shader and Principled BSDF not in the node list.

Besides being in the wrong version of blender ( for the Principled BSDF you need version 2.79, currently only available as a test build), you are looking at the compositing nodes, not the ones for materials.


Correct way to define "DATA" for object.material_slots in a single bpy call

The first error is that you are passing DATA a variable instead of string "DATA", hence you get DATA is not defined.

The second thing is object.material_slots[0] is not an operator, all operators resides in bpy.ops. ...  it is a variable,  when you write row.operator("object.material_slots[0]") it will try to call bpy.ops.object.material_slots[0] which doesn't exist.

you may want to make your own operator ( if there's none that can do this) and use it instead.

For this case it would be easier to let prop() handle this easily :

row.prop(object.material_slots[0], "link")

and it will display a combobox that you can chose from


How to control start and stop of fluid simulation

Animate the Fluid's Enabled property by inserting Keyframes.


Render using all cores except one (or N)

You will have to have a script file in each of your blends containing this:

import bpy
from multiprocessing import cpu_count

cores_idle = 1    # <- SET THIS

# cpu_count() returns logical cores not physical
cores_available = cpu_count()
cores_enabled = max(1, cores_available - cores_idle)

for scene in bpy.data.scenes:
    scene.render.threads_mode = 'FIXED'
    scene.render.threads = cores_enabled

Give it a .py extension and check register so it is run by blender when you open the file (this should be also enabled in Preferences). You can also save this script into your Start Up file CtrlU.

Or for rendering you can execute it from the command line with --python, without having to modify your startup or .blend files.


Blender 2.8 - WorkBench - Gradients appear very low quality

check your monitor/graphic driver color profile
check your image texture or it's color profile
check blender color management


First off, there is no way to rotate or move the area where the selection is. The selection is selecting something whether it be objects, vertices, edges, or faces, you have to select something.

Going from your picture, and using the view in that picture; selecting the faces on the other side will be easy.

Change to wireframe view, in the 3D view header, or by pressing Z.
Use Border Select B to select the same area that is already selected. However in now wireframe both sides will get selected.
Change the view back to solid view, again by pressing Z. Now use border select, but instead of pressing with the LMB , use the MMB . That will unselect everything that is inside of the box.


How to Keep the Same Color When Baking a Color Map?

If you need the pure color (formerly known as "diffuse", today it's called "albedo") without any influence of light, you don't use the Combined Bake. You can leave your setup as it is, you just have to make sure to not catch any light influences (shadows, reflections, etc.)

This means you have to bypass the Principled BSDF and pass the color values directly to the material output. You can do this by routing whatever node connects to the Base Color of the Principled BSDF through an Emission Shader directly to the Material Output.

If you have the Node Wrangler add-on installed, you can simply do the same by pressing Ctrl+Shift + Left-click on whatever node connects to the Base Color of the Principled BSDF.

In the Bake Options you select "Diffuse" as Bake Type, under "Influence" you deselect "Direct" and "Indirect" and leave "Color" selected.

No need to delete any nodes or create separate materials for each bake. Just reroute whatever you want to bake to the Material Output.


How can I make an indented cube without using a boolean operation?

The F2 addon is quite useful for operations like this.

Make sure it is enabled in user preferences, then...

Delete the faces where you want the indentation.
Select an outer corner vertex and press F to create a face.
Repeat 2 for the other corner vertex.
Select the upper (or lower) edge.
Press F twice to fill in the remaining faces.


Change the DPI setting for Blender exe?

Maybe override the setting inside here and use internal Blender scaling option


In Blender 2.75, you have to use expressions.

To evaluate any expression, you have to start with =

In your example: GX=2+2


Two steps you haven't mentioned: every time you do anything that moves the frames you have to click "Refresh Sequencer" to be sure it is showing the correct frame. Also, if it loses sync while it is playing, change the Sync Mode from No Sync to AV-sync. It still isn't perfect, but it helps.


How to add surface Imperfection to Glass in Cycles?

I have figured out how to add surface imperfection to Glass. It´s pretty straight forward, and not as complicated as I made it.

Basically you add a texture image and put the normal map there and link it up with the glass texture.

See below the node Layout.


Set Resolution Automatically on Video File Load

I asked for this Auto-Dimensions-changer about same time that the time remapping occurred. IIRC the issue was knowing what the dimensions of the media was before importing it? Anyway the bottom line was that it couldn't be done at import, however there is a retrospective change you can make after setting a clip on the timeline.

Select the strip and go to the Strip menu > Set Render Size. This will alter the current scene's dimensions to match the source clip.


Does the bone size influence its relationship with other bones?

Yes, the size (scale) of the parent can influence the children size, depending on the "inherit scale" parameter, as shown here, in pose mode :


Bevel will add bevel to all edges if not limited.
So to keep flatter parts untouched, limit it to "angle".


How do you combine a sculpt mesh with primitives for 3d printing?

You can use the Boolean Modifier to cut out the tube from your model, and combine it with scaffolding.
That said, scaffolding is usually added when slicing the 3D finished model in your 3D printing software. I'm not sure if you will get good results if you try to do this in the modeling step.
To add thickness to a sheet-like object, you can use the Solidify Modifier.


Where Alpha = black = 0, the Transparent shader is used ; when alpha = white = 1, the Diffuse is used ; for intermediate value, they are mixed.


Dynamic Paint not showing in rendered image

You may do it using the Attribute node with a paintmap information as a factor for mixing two materials. Here's the finished render:

First press Free Bake button in the Dynamic Paint Cache panel. Delete the blendcache folder from your computer.

Now select your sphere/ball and change the dynamic paint color to pure white. We'll be using the paint's color as a mask- I guess it's a good idea as you'll have more control over the materials later.

In your case you have two different materials creating the radial pattern for cylinder. I created only one material for it, unwrapped with Project from View and attached a radial texture to it. You should do it too, cause it'd be simplier in the next stages.

Now Bake the dynamic paint. In the Dynamic Paint Output panel press the '+' buton in the Paintmap Layer window. It should change from red to grey.

Now in the Mesh Data header you have the baked paint information present in Vertex Colors panel. Copy the 'dp_paintmap name' with Ctrl+C.

Now set up the nodes as pictured below. Add the Attribute node and paste the previously copied name in its window (Ctrl+V). Now we have the mask. Use it as a factor for mixing between the radial texture and anything you like (in my case it's a simple red color Diffuse shader, but it may be other material/texture you like).


Adding multiple green screenplates into an animated 3D environment

Your best bet would be to add the green screen video as a video texture on a plane object. You would need to create a black and white alpha mask clip as well to drive the transparency on the material node. This way you can have a plane object for each person in the scene and place them in the scene as needed.
Here's a test scene I just put together using this Minion green screen footage here: https://www.youtube.com/watch?v=QjN0BsUqeb4
I used blender's compositor to key out the green screen and create a black and white alpha matte video file (it's not a perfect key, but good enough for this demo):

Then I imported the green screen video use the Import Image as Plane feature. I find setting the image material to Emission works better than Diffuse in this scenario.
Then I set up the material to use the BW video file as the factor input for the Mix node that is mixing a transparent shader and the colour emission shader.

Final Output from Scene:

I should also mention that another advantage of handling the transparency via the Material as opposed to doing it in the Compositor after rendering is that you can see the character properly in the viewport when setting up your scene. This is very helpful in the pre-rendering stage for scene development.


How to separate 2 faces connects by an edge

Go to 'Edit Mode' and select the edges that u want to separate. Now select Alt + M. Then select Faces by Edges option. That will do the trick.


"Context is incorrect" python error, while script moves modifier up in modifier list during rendering

Match the area that the operator is called from in UI.

The operator bpy.ops.object.modifier_move_up when run from the UI is done in the properties area.  (area.type == 'PROPERTIES').  Properties has some extra context members, context.modifiers being one of those.

As well as "modifier" the error message is also complaining about "object" not being a member of over-ridden context.

import bpy

object_name = "Cube"

bpy.app.handlers.frame_change_post.clear()

win = bpy.context.window
scr = win.screen
areas3d = [area for area in scr.areas if area.type == 'PROPERTIES']
region = [region for region in areas3d[0].regions if region.type == 'WINDOW']

override = {'window': win,
            'screen': scr,
            'area': areas3d[0],
            'region': region[0],
            }

def my_handler(scene):

    print("Frame Change", scene.frame_current)
    obj = scene.objects.get(object_name)
    if obj is None:
        return
    mod = obj.modifiers.get("Mask")
    # delete mask-modifier and add new to last but one position
    if mod:
        obj.modifiers.remove(mod)

    mod = obj.modifiers.new("Mask", type="MASK")
    override["modifier"] = mod
    # perhaps works without these 2 but hey???
    override["object"] = obj
    override["active_object"] = obj
    # avoid hassles by adding scene here
    override["scene"] = scene
    #################################################
    bpy.ops.object.modifier_move_up(override, modifier="Mask")
    #################################################

bpy.app.handlers.frame_change_post.append(my_handler)


Add a Light path node to World shader, then connect "Is Camera Ray" to the strength input of the Background node.


Blender 2.79b

I've just discovered that if you mirror with the x-Axis option in the tool box, then you have to name each bone manually for both sides.
If you are rigging a human, a humanoid character or an animal, the best way is NOT to check the x-Axis option but follow the steps below:

Edit Mode, select all the bones to mirror on one side (arm, leg,
hand fingers)
Make sure each bone name to be mirrored ends with .L which means LEFT (e.g.: hand.L). This is vital!
Make sure the cursor is centred (Shift + C).
Your mesh has to be centred as well so that the cursor is placed at the base of it
Press W and select Symmetrize (duplication is automatic)
Your bones are now mirrored and the names automatically updated with extention .R (which stands for right).

You are done!


Convert Particle System to Object With Unique Faces

You can do it by going to Object > Relations > Make Single User.


Two-sided clothing with different materials?

In cycles, you can use the backfacing as a mixing factor between shaders.

In internal, you can use the front/back as a mixing factor between materials.


Why are my glass reflections so far apart?

The problem is that the Mix node using the 'is Reflection Ray' is causing the glass to behave as a single refractive surface - which doesn't exist in the 'real' world. Normally the refraction would bend the light one way on entering a solid and the other way on exiting the solid, effectively cancelling each other out.

However, I believe the Mix node is resulting in rays entering the glass and being refracted as normal, reflecting off the back surface of the glass, and then passing out of the front surface of the glass without refracting back the other way.

In order to demonstrate this, change the color of the Glass Shader to give the light that passes through it a tint to make it identifiable to that reflected off the surface. Also, increase the IOR to make its effect more pronounced. You should get something like the following :

As you can see, the 'untinted' reflection is the same as that on the surface of the other pane. This is not passing through the glass and is not refracting - it is simply the reflection off the surface of the glass.

The 'tinted' reflection is entering the glass and reflecting off the back surface. However, it is not being refracted at both surfaces - only one since the Mix is causing the surface to behave as Transparent on one transition - and this is causing it to act as a lens.


TIP: How to find total number of unique objects among many instances

Yes, there are two ways to do this! Blender refers to the number of unique objects as "Meshes", so you can find the number of unique meshes present in your scene within the Outliner panel. The first way is to set the Outliner to "Blender File" (highlighted in cyan color below). The number of unique Mesh IDs is shown as a tiny number beside the Meshes symbol. This is the total number of non-instanced meshes in your scene. On the other hand, the total number of objects (including instanced meshes) is shown as a tiny number beside the Objects symbol. In the sample image below, there are only 2 unique meshes in the scene, but a total of 4 objects, since the cube is instanced 3 times. This question had puzzled me until now, I hope the info helps someone else too. :-)
EDIT: Unfortunately, if you have more than 99 objects in your scene, the tiny number will only say "+99", so it's still not terribly useful to determine the total number of objects in your scene. In this case, you should switch the Outliner to "Data API" mode (shown in cyan color below). From here, you can see a numerical value for the total number of unique meshes even if it exceeds 99.


Any tools to capture movements from a mobile phone to Blender?

I'm searching for the same.

As far is I went, I have some experience using AndroSensorGTK.
https://github.com/geooot/AndroSensorGTK

accelblend looks nice.
https://talk.maemo.org/showthread.php?t=76991

Does what we want, but no source.
https://rbteam.wordpress.com/2014/07/29/android-blender-connector/

Interesting project, no source found.
https://ensiwiki.ensimag.fr/index.php?title=Use_of_smartphones_as_3D_controller

Uses android as virtual camera (no sensors).
https://www.blendernation.com/2012/08/27/using-an-android-phone-as-a-virtual-camera/

I think this is just a website for controlling (didn't look into).
https://github.com/joewashear007/BlenderWebController


I don't know why but if you want a normal interface again you can try this:
Open the user preferences and select themes

After that, you can click Reset to Default Theme or choose one of the presets
I hope that I could have helped you and if it is not going to work, please enter the blend file so that I can try a few things out.


You have that problem because the alphas of each plate are correlated, as the foreground doesn't overlap the background, it masks it out.

Solving it is not super straight-forward but it's quite easy:

Add add the alpha channels of each layer together. Use a mix node with the "add" mode.
Add RGB plates together, same as above: mix node, "Add".
Use the "set alpha" node to assign the result of the added alphas to the result of the added RGB plates.
Profit :-)

The result will be properly combined with no halos or holes.


How do I create grooves which have a certain shape and follow a round edge?

Starting with a cylinder add a bevel modifier to create the basic shape:

Repeat that shape with an array modifier.

On the same place as your object (it is important that the origins of both objects are in the same place). Add a bézier curve.

Edit the curve so it has the shape you want for the handle.

Now select the Cylinder and add a curve modifier to the modifiers stack. Select your curve as curve object, select the axis in which you want the deformation (in this case is the Z axis). You might need to adjust the count number on the array modifier or you may need to slide the object along the curve on the z axis for the object to fit properly.

The beauty of using modifiers is that you can keep editing the shape of the curve or the array that forms the handle. The changes will not be permanent until you apply the modifiers.


You probably toggled X-Ray mode in the object viewport.
You can switch X-Ray mode on and off with Alt +  Z


How do I add arbitrary metadata to a .dae export?

The collada support built into blender is done using C++ code. I would suggest getting this collada-exporter addon and adjusting it to add in your extra data. You will need to look through the collada specs to see how an extra tag would be acceptable within the file format.

Unless you calculate the tag as you go, you can add a custom property to the object type to store the tag info, then use that in the export steps. You would define that in the addons register()

def register():
    bpy.types.Object.mytag = bpy.props.StringProperty()


The reason to have a ChildOf constraint is for cases where you need to change parenting during animation. Like when a character needs to grab an item, or throw it- at the moment this happens, you can animate the constraint influence and be able to animate the object properly.

You should use normal parenting for everything else, because this method is far simpler, and simply more correct. The hierarchy is visible in Outliner, mostly exporters will work with it e.t.c.


Add bones to an armature deformed in pose position

Your new bone is green in Pose mode, it means it has a constraint, just delete this constraint.


I would use both a smoke sim and a particles sim.

You can use a smoke sim on the actual particle system. This is what I did here.

I used the particle system for the little tiny paint drops and of course the smoke for the mist.

Create a circle with a face (as the nozzle for spray)
Create an icosphere to use for the Particles.
Add a particle system to your circle
Make sure you choose your icosphere as the object to emit.
Create a big box for your Smoke sim, make sure it covers as much as you need reach the stencil and wall.
Add a wind Force Field in the direction you want your paint to blow.
Make sure your wall is set as a collision object and have it set as a Canvas for dynamic paint.
Choose your circle emitter and make sure you choose for the smoke to emit from the particles. I have a screen shot below how I set it up. You will obviously need to change the settings to better match your scene but that is the gist of it.


What's the best way to export from Lego Digital designer to Blender

I found that exporting a Ldraw file from ldd, and importing the ldraw file into blender using TobyLobster's LDrawImport addon worked really well.  The addon can add the word Lego on every stud, and it adds a bevel modifier to the object among all the other things.


Blender VSE Driver deleted when strip is copied or duplicated

The driver is not copied as the f-curve would have to be copied and the devs don't like to duplicate f-curves (as that gets quite messy).

Instead simply hover over the driver value in the first strip, right click and select "copy driver".
Go to the same value in the copied strip and right click then select "paste driver".

Remember that to see drivers update in the VSE you must either hit play or the button labeled "Update Sequencer" in the VSE timeline.


Camera tracking reference scene to match different shots in a common space

As far as I know there is no fully automatic way in blender to do what you want to do.

The tracking information is unique for each tracked video (or image sequence) and cannot be shared.

As a workaround you can use the Orientation settings, it should not be difficult to match different shots if you prepare your scene carefully.

To understand how this works:

Before creating the solved scene, Blender allows you to determine the scale and orientation. When you hit the Setup Tracking Scene button blender then re-creates the relationship between tracked points and camera in the 3D viewport as a set of points parented to a camera according to the information provided by the scale and orientation settings.

The key is to set these parameters meticulously for each of the tracked shots you want to reconstruct.

To set scale

With a measuring tape, measure the distance between the points that you will be using as trackers in the real world.

Once you have tracked your shot (and before pressing the Setup Tracking Scene button) shift+select the trackers that correspond to those you've measured in the real world and enter the distance information on the Distance parameter and press Apply Scale.

Set a common point as origin.

Choose a point that is present in the different scenes to be tracked to work as origin. Choose the tracker and Press the Set Origin button.

On the new 3D scene, that tracking point will be placed at the center of the world at coordinates X:0 Y:0 Z:0. Doing that in all of the tracked video clips will allow you to match a common point in the scene.

Set X axis and Y axis

Select a tracker that is aligned with the X axis (with respect to the origin) then press Set X axis. Do the same for one a different tracking point that is aligned with the Y axis.

Once you've set the orientation and scale correctly, hit the Setup Tracking Scene button. If your settings for Sensor, Lens and Lens distortion are correct, and you've manage to track the scene with a low solve error (less than 0.3 pixels). You should be able to line up different shots in a common space and scale.

You can also do some manual adjusting if the automatic tools fail. Remember that the camera solution means that all of the points and camera are parented, so if you move one element the rest will follow. See: Correct tracked camera orientation

Additional info: How can I get better results when doing camera motion tracking?


UV Mapping Doesn't Display in UV/Image_Editor

That is because at the bottom of the image editor, you are viewing the render result.  Click the X to the right of the image selection box or select another image and you should be able to see the unwrapped pelt.


"Internal error setting the array" during FBX export

The only advice that I can give is to make sure everything is UV unwrapped.  If you need to flip normals on a surface you likely need to unwrap again.


If you know exactly what location you had your object at previously, you can go into edit mode, with your cursor on the origin, use Selection to Cursor (Keep Offset). Then, back in object mode, change the position again to the same place it was before.

If you don't know the coordinates of its original location, you could just estimate them, or you could, in edit mode, press N, and average the locations of the individual vertices to find the original position, but that would be a lot of work.


Ok, I have answered my own question - looks like you need to make sure you only import one Mesh object. So if your character uses multiple meshes, you need to combine them. Bad news if you are trying to import multiple meshes with blend shapes/ morph targets!


Select both Edge Loops Shift+Alt+RMB
Hit Space Bar and type "Bridge" and press Enter
Press F6 and check "Merge"

Bridge works also for loops with different amount of vertices.
Merge function only with the same amount of vertices.

For more advanced work with Loops try "Loop Tools" add-on of Bart Crouch.


My object isn't fully Rendered, but in viewport is alright

You have to enable Show Emitter option, in Particles Settings.

It's often useful to have the emitter hidden, but in this case it is also an important part of your object.

Enable it here:
Properties Panel > Particle Settings > Render


You can 'rip fill', with Alt+V. Once done you'll eventually need to remake quad : select the needed faces and Alt+J.


Can I make a smoke emission only be affected by a specific force field?

You can specify a group of force fields which can affect the domain.

So by putting each force field in a separate group (⎈ CtrlG), you can have them influence some domains but not others:


How do I make a Polygon Pattern in Blender?

I'd use a combination of the Displace and Decimate modifiers:

For the above image I used a UV sphere, but you'll notice some stretching at the poles. For this reason I found a icosphere with a high-ish amount of subdivisions (I used 6) works a bit better. I did not use any subsurf for the icosphere.
For the displace texture I used Clouds with a fairly small size (the size you want may vary depending on the size of your object and polygons):
To animate it, set the displace modifier to use another object for the texture coordinates. Add an empty at the center of the sphere and specify it in the displace modifier.

Then animate the scale of the empty:

Dynamic topology sculpting can be used to create this effect with more control, but it may not be very convenient for animation.


Objects can be seen after turning off all lights : How to turn off ambient light in Blender/Cycles?

In Cycles, the Background is emitting light. This will affect all objects, which receive light.

In order for the ojects to not receive additional light, do one of the following.

Set the background color to black (0, 0, 0).
[or] Set the strength property of the Background BSDF to 0.0.
[and] Disable Ambient Occlusion.

If you don't want your background to appear black, the following node setup restricts the backgrounds visibility to camera rays.

You can also restrict the visibility of the background with the cycles settings. Uncheck everything except Camera under Ray Visibility and the background emit no light except to the camera.


Animating a boolean operation gives inconsequent results

I only looked at your BoolTest01.blend file.
First I applied the the Modifier on the "Water" object that had the "B_Box halving" as a target object. Then I applied the rotation of the "Water" object: 3D viewport > Object > Apply > Rotation. After that the glitching seemed to have disappeared.
Hope that (also) works for you.
EDIT:
I've seen some strange things happening in your third file. Among others, on opening the file the "Water" and the "Box halving" behaving as one object when trying to select the Water. And getting a kind of "can't assign value" message (don't remember it exactly and didn't record it) when trying to apply a Boolean modifier at some point.
Also tried a bunch of things to fix your problem. Making the cylinder have an all quads topology and reapplying the Boolean modifiers in various ways.
I was almost out of ideas, but i found another fix that works for me. It is not ideal, but it might be adequate.
I believe the perfect aligning of the side of the "Box halving" and the height edges exactly in the middle of the "Water" cylinder might be responsible for confusing the boolean operation.
So i moved the center of the cylinder slightly to the side (1 mm according to the MeasureIt Tools; hardly noticeable) and that made the glitching disappear.

Again, i hope that (also) works for you


How do I close the gap in a mask inside UV/Image Editor?

You can press Alt+C to Toggle Cyclic, which closes the selected splines. Pressing it again will re-open the mask spline.

This is also found in the Toolshelf (T) in the Mask tab> Mask Tools> Spline section or in the UV/Image Editor header under Mask> Toggle Cyclic.


Working fine here. (current build, 2.80.2)
Check your "Image Texture" Settings:
Frames: 1000
Start Frame: 3000
Maybe this is confuning blender. ;)


Exporting animation F-curve points from the Graph Editor

The coordinate and handles (co, handle_left, handle_right) can be read / set from the KeyFrame keyframe point.

Test code, runs on action on active object. Prints the fcurve name and each co and handle.

import bpy

context = bpy.context
obj = context.object
action =  context.object.animation_data.action
#print("fcurve_dic = {")
for fcurve in action.fcurves:

    print("'%s[%d]' : [" % (fcurve.data_path, fcurve.array_index))
    for kfp in fcurve.keyframe_points:
        #print("\t{", end="")
        vals = []
        for prop in ["co", "handle_left", "handle_right"]:
            co = getattr(kfp, prop)
            vals.append("{'x':%.4f, 'y':%.4f}" %  co[:])
        print("\t[%s]" % ", ".join(vals))
    print("\t]")

#print("}")


Does anyone know how to fix random tracking errors in Blender?

Blender's trackers and 3D reconstruction are quite robust and advanced, but it is hard to pin down what is happening without access to the video you are trying to track. "Solid visually to me" can mean anything or nothing at all.

Solid reconstruction is only possible with accurate camera tracking.

Common mistakes are:

-Trying to track blurry or distorted video, or video where the tracked elements move to far from frame to frame, for that you need to enlarge the search box.

-Expecting 3d information out of shots where the camera is stationary (where the video was taken from a fixed place and the camera just pans and tilt without any displacement). For those shots you can use "Tripod" Solve, but know that there is no way to get 3d information out of such shots. It is considered 2D tracking as you will only get the camera movement but no real 3d reconstruction.

There is a very detailed post on this site that you should read to troubleshoot your problems.

How can I get better results when doing camera motion tracking?..


yes, there is. Set the pivot to individual elements instead of active element and scale them to zero along the desired axis.

There is a way to setup custom transform orientations if normal, view, global, local etc. does not offer the desired axis. I believe you can find it here further down the page.

https://www.blender.org/manual/editors/3dview/object/transform/transform_control/transform_orientations.html


Thanks to Jachym Michal and Duarte Farrajota Ramos, I made it!

You can download Blend File for free from
https://gum.co/yin_yang_sphere_blend
The procedure is as follows:

Add UV Sphere (Radius = 1m)
Add Plane (Size = sqrt(2), RotationX = 90)
Select Plane -> Convert to -> Curve from Mesh/Text
Edit Plane -> Extrude vertex to make square with diagonal line (Turn on Vertex Snap mode)
Finish editing Plane
Select Plane then UV Sphere
Go into Edit mode -> Knife Project (Cut through = ON)

Step 1-3

Step 4-5

Step 6-7

Assigned materials (white, black and transparent)

NOTE: If you look closely at the reference video, the inner surface of the sphere is slightly raised.

My model doesn't have that part, so if you set the camera to the angle where you can see the Yin Yang plane, a small circle will be distorted horizontally.

Unfortunately, this seems to be the limit for non-mathematical modeling.


Painting with polygons in BLender 2.8 - help needed

I managed to recreate painting with polygons by using the ideas from this paper.
http://www.isaacbotkin.com/siggraph/
Here is my result:

To achieve the hand painted look by motion blur, i used the displacement modifier
and did a variation of the "Strength" over time.

Also i did a little rotation of the monkey head during rendering a single frame.
To get the oszillation of the object during rendering, i defined this in the Dope Sheet
so that the oszillation is performed multiple times during one frame.

Then i activated motion blur inside the Render Tab.

For a stronger representation of the blur effekt raise Diffuse value at Light Path settings.

At least i used a brush stroke Bump Map and a Gradient Texture node setup.

For the rendering i used a frame rate 25ps

and a render sampling rate of 600 and Pixel Filter 3


I went through the options, with the same successs :( so ... what about Booleans?

to help a bit topology, use Simple Deform Modifier > Twist
ShrinkWrap >
Smooth Modifier > Repeat 5
add a Cube and for Cylinder add Boolean Modifier > Intersect

(if you plan to move Cylinder, would be better to parent (Ctrl+P) Cube to Cylinder)

to smooth surface - search for Smooth Shading
fix for edges shading - go to Properties Editor > Object Data > Normals > Auto Smooth

(like that Subsurface Modifier probably is not needed in this case)


Turns out its just a simple option you have to tick off.


subdivide all faces whose area is bigger than 1mm until each face area is smaller than 1mm

Yes, you can do this with Blender. Enter Sculpt mode and set the Dyntopo resolution to 1000 (divisor by blender units) Subdivide Edges, Constant Detail and press Detail Flood Fill.

Set the Refine Mode to Subdivide Edges so it only divide edges that are longer than the wanted length but leaves shorter. In that way you can keep the geometry intact instead of loosing definition.


Add a circle (make sure fill is set to nothing)

Enter edit mode.

Press E to extrude. Do not move the mouse and press enter.

Press S to scale and move the mouse inwards to set the inner radius.


How do I delete these vertices? They are only visible in face selector mode

Those are not vertices, they are faces with a very small area.

To delete them you either:

Select all and remove doubles by pressing W then Remove Doubles;
Or manually remove them and join the vertices by pressing Alt+M.


How do I render video with rotoscope mask?

The Viewer and  Composite nodes are different outputs, The Composite node is the one that is rendered out and saved to a file. The viewer is just to preview the result. Connect the composite so that it follows the same node path as the viewer, otherwise the images get processed following different transformations.


Is it Possible to create a Online blender-made game without python?

Yes, it is almost possible. You can build the entire game using only logical blocks, but to leave the game online you will have to use a python model file to get internet connections in your game. That is another matter. Just search on youtube on this.


Why my geometry disappears when switching to sculpt mode?

What is the version of blender in your case? I check on mine version - it is ok, no such bug, default cube is visible. I have 2.81a


Why cycles engine renders in how many samples it wants, not how many i give it?

The number you see on the top is the number of tiles that have been rendered, not the number of samples. In your case the image has been split into 135 path tracing tiles.

You have set a render tile size in pixels in the performance tab. The image gets divided in as many tiles of those dimensions as it needs to rrender the image.


The difference in the material's options are in the renderer engine. On the video you are seeing, the author is using Blender Render (also named Blender Internal), and you are using Cycles. If you change to Blender Render

the options will be the same, yet I would suggest you to search for a tutorial using Cycles. About Lambert, is a kind of algorithm for reflections, or how the way the light gets diffused in the object. See the follofing image for examples on other kinds of similar algorithms, and you'll understand what i'm saying: http://what-when-how.com/wp-content/uploads/2012/07/tmpcd00152_thumb.png


Okay the problem of flying around appears to be the collision ball size calculation. You had it set to average. When I set it to minimal, it worked. I admit, I have no idea why this happened, it may have been a collision fight with the plane, but changing it does fix your problem.

I also tweaked a few other settings to get it to look like the target animation, it's not perfect, but it's better than what you had. :)

Turned off Stiff quads (you don't want anything stiff on this guy.)
Turned friction up to 1.00 (that may have been part of your problem, he's as slippery as an eel)
Angled him a little so his legs don't fold up. (didn't work real well, but I'm sure if you try you can get it right)
And (optional) changed skin texture to something shiny so I could see bounding and stretching problems. (also that skin texture is disturbing :D)

So the effect isn't quite right, but hey! he doesn't head for Florida every time you hit play. Noodling him is your job as the artist. Have fun...


How to move the 3D manipulator widget itself

Most likely the origin of your object is off. To recenter it, select the object and press ⎈ Ctrl⎇ Alt⇧ ShiftC> Origin to geometry.

If you want to move it to a more customized location, you can move the 3D cursor where you want it to go, either by clicking with  LMB or by snapping the cursor with ⇧ ShiftS, then pressing ⎈ Ctrl⎇ Alt⇧ ShiftC> Origin to 3D cursor.

Note that the manipulator widget is located at the pivot point, which is set in the header of the 3D view:

It's also possible that the pivot point is set to 3D cursor (.), in which case the manipulator will be position at the cursor. To switch it back to the default setting of median point, either select it in the drop down or press ⎈ Ctrl, (comma).


How can I render painted image texture in cycles?

Texture paint will only show in Cycles when saved and refreshed. Save the paint work to disk and then tab in and out of edit mode to refresh your render view, or press render again to get the update.


Python, is there a way to copy the orientation from a custom transform to an object?

The following script shows how to get to assign the custom transform orientation to the active object's orientation, after creating the custom transform orientation, and naming it (name):

import bpy
from bpy import context
import mathutils
#Get the matrix of the transform orientation called 'name'
custom_matrix = bpy.context.scene.orientations['name'].matrix
#Copy the matrix to resize it from 3x3 matrix to 4x4 matrix
custom_matrix_4 = custom_matrix.copy()
custom_matrix_4.resize_4x4()
#Set the matrix of the active object to match the resized matrix
bpy.context.active_object.matrix_world = custom_matrix_4


From your screenshot it appears that your 'inflow' object is just a plain circle with no faces. This will result in only a very small inflow of fluid since it is the faces (shell) or the volume that contribute to the flow.

The simplest solution will be to select your circle inflow object, go into Edit mode (Tab), select all (A) and press F to add a face. If you now bake your fluid simulation you should have a proper flow of fluid rather than just intermittent drips.


Weight paint maps in/out of Blender to allow editing in Photoshop or other

This script will convert weight to vertex color and vertex color to weight :

the script create new groups if they don't exist and overwrite old groups with the same names
the script use two methods for conversions grayscale<-->weight and RGB<-->weight
the conversion works in two ways  weight--> color   and color-->weight

HOW TO USE:

run the script once "it will be registered"
in 3D view select the object
hit space and type weight&color
choose the settings and conversion hit OK
new groups or vertex color maps will be created with the appropriate values "the viewport will change to show the result"

import bpy
from bpy.types import Operator
from bpy.props import EnumProperty
from mathutils import Color

bl_info = {
    'name': 'Convert Vertex Color to Weights',
    'author': 'Chebhou on StackExchange, refactor by aliasguru',
    'version': (0, 1, 0),
    'blender': (2, 7, 5),
    'location': '3D View > Spacebar Menu > weight & color',
    'description': 'converts Vertex colors to weights and vice versa',
    'tracker_url': '',
    'wiki_url': 'http://blender.stackexchange.com/questions/26467/weight-paint-maps-in-out-of-blender-to-allow-editing-in-photoshop-or-other',
    'support': 'COMMUNITY',
    'category': '3D View'}

color = 'HSV' #'HSV'    method used for conversion

def convert(value, method):
    if method == 'BW2W':
        return  (value.r + value.g+ value.b)/3
    elif method == 'W2BW':
        col = Color((value, value, value))
        return col
    elif method == 'HSV2W':
        return  1-(value.h / 0.66)
    elif method == 'W2HSV':
        col = Color()
        col.hsv = (0.66*(1-value), 1, 1)
        return  col

def vert_col2weight(context, color):
    color_maps = context.object.data.vertex_colors
    for color_map in color_maps :
        group_name = color_map.name

        #check for existing group with the same name
        if None == context.object.vertex_groups.get(group_name):
            context.object.vertex_groups.new( name = group_name)

        group_ind = context.object.vertex_groups[group_name].index

        for poly in context.object.data.polygons:
                    for loop_ind in poly.loop_indices:
                        vert_ind =context.object.data.loops[loop_ind].vertex_index
                        col = color_map.data[loop_ind].color
                        if color == 'BW':
                            weight = convert(col, 'BW2W')
                        else :
                            weight = convert(col, 'HSV2W')
                        context.object.vertex_groups[group_ind].add([vert_ind], weight,'REPLACE')

def weight2vert_col(context, color):
    vert_groups = context.object.vertex_groups
    col = Color()
    for vert_g in vert_groups:
        group_name = vert_g.name

        #check for existing group with the same name
        if None == context.object.data.vertex_colors.get(group_name):
            context.object.data.vertex_colors.new(name=group_name)

        color_map =  context.object.data.vertex_colors[group_name]

        for poly in context.object.data.polygons:
                    for loop_ind in poly.loop_indices:
                        vert_ind =context.object.data.loops[loop_ind].vertex_index

                        #check if the vertex belong to the group
                        weight = 0
                        for g in context.object.data.vertices[vert_ind].groups:
                            if g.group == vert_groups[group_name].index:
                                weight = vert_groups[group_name].weight(vert_ind)

                        #convert weight to vert_col
                        if color == 'BW':
                            col = convert(weight, 'W2BW')
                        else :
                            col = convert(weight, 'W2HSV')
                        #assign to the color map
                        color_map.data[loop_ind].color = col

class   weight_color(Operator):

    """weight from&to vert_color"""
    bl_idname = "object.weight_color"
    bl_label = "weight & color"
    bl_options = {'REGISTER', 'UNDO'}    #should remove undo ?

    #parameters and variables
    convert = EnumProperty(
                name="Convert",
                description="Choose conversion",
                items=(('W2C', "Weight to vertex color", "convert weight to vertex color"),
                       ('C2W', "Vertex color to weight", "convert vertex color to weight")),
                default='W2C',
                )
    color = EnumProperty(
                name="Color type",
                description="Choose a color system",
                items=(('BW', "Gray scale", "map weight to grayscale"),
                       ('HSV', "RGB color", "map weight to rgb colors")),
                default='HSV',
                )
    #main function
    def execute(self, context):
        bpy.ops.object.mode_set(mode = 'OBJECT')
        if self.convert == 'W2C':
            weight2vert_col(context, self.color)
            bpy.ops.object.mode_set(mode = 'VERTEX_PAINT')
        else:
            vert_col2weight(context, self.color)
            bpy.ops.object.mode_set(mode = 'WEIGHT_PAINT')

        context.active_object.data.update()
        self.report({'INFO'},"Conversion is Done")
        return {'FINISHED'}
    #get inputs
    def invoke(self, context, event):
            wm = context.window_manager
            return wm.invoke_props_dialog(self)

def addObject(self, context):
    self.layout.operator(
    weight_color.bl_idname,
    text = weight_color.__doc__,
    icon = 'VPAINT_HLT')

def register():
    bpy.utils.register_class(weight_color)
    bpy.types.VIEW3D_MT_object.append(addObject)

def unregister():
    bpy.types.VIEW3D_MT_object.remove(addObject)
    bpy.utils.unregister_class(weight_color)

if __name__ == "__main__":
    register()

any feedback is welcome

example :


If you just want thet two maze walls touching you could do this in object mode without the need to edit anything.

With a default scene resize the cube as required

when finished ctrla and reset all of the transforms

Turn on snapping and set snapping to vertex

Select the 3D cursor and snap as shown

with the cube selected rightclick and choose origin to 3D cursor

With the cube selected press shiftd to make a copy and immediately rightclick. This makes a copy and leaves it in place.

Select one of the cubes and F3 and type Mirror and choose the X axis

rz22.5 to rotate the object 22.5 degrees

and then the same with the other cube but use -22.5

You now have the shape and can copy and rotate as required.


Eevee reflections clipping at the edge in render but not viewport

Turning on Overscan in Render Properties > Film solved the problem. Still not sure why camera view is different from the render though


If your model has nice geometry around the edges, the first step should be a lot easier.
My answer is provided as an Imgur post (for some reason the steps are in a funny order, sorry) as I can't upload the gifs here - they're too big. I'll outline the basic steps though, just in case the link dies for any reason. All of the operations are performed in Edit mode.

Step 1: Select the vertices around the base of the mesh.
Step 2: Extrude the vertices down to whatever you want the depth to be along the z axis (E, Z, MOUSEMOVE). Then flatten them to a plane (S, Z, 0).
Step 3: Make a face by pressing F. You may want to recalculate normals at this point.


Official build of Blender come with the latest of Python (3.4.2 as of Blender 2.73); this means that your code cannot compile/be interpreted since, when moving to version 3.0, Python changed print from a keyword to a function.

Your code should be:

foo = "bar"
exec(foo + " = 'something else'")
print(bar) #Print is now a function; must use function call syntax.


You need to:

Deactivate the IK's rotation option (don't know what is for, it's off by default):

Bend the bones a bit in Edit mode so that Blender knows how to flex it.

Once bent, correct the Pole Angle of the IK bone:


How would I be able to procedurally generate brick tiles like these?

Three ideas, that might help here.

Don't underestimate good lighting. Use HDRIs, to add complex reflections.
Count your brick pattern :). It's 11 bricks high, Running Bond pattern, each brick roughly 1:3 ratio. Read more about the Brick Texture node.
Add depth. Nothing is flat in the real world. Use Bump or Displacement, to make your material feel real.

This material would look boring as hell without the HDRI lighting.

Count and measure the brick pattern :). It's not totally random, it has some rules.

Use at least a simple Bump map to add depth. While still pretty crude, it's better than nothing.


Why is a disconnected bone still following its former parent?

you have to really delete the parenting. In edit mode select your bone, in bone's options tab it's parent should appear, click X.

But the real problem was...

In pose mode, adding a constraint that needs a target (IK, track,...) with hotkey Ctrl+Shift+C should be done selecting it (the target) first, then the bone to constraint. If you don't select a target, an empty is added and becomes the target. This won't happen using the constraint menu.


The subpane for any modifier does not appear in my version of Blender

Your Modifier properties will be under this tab.


Mantaflow Alembic export for compositing

You will first need to bake the simulation, but once you've done that all you need to do is select the Domain and go File>Export>Alembic. Easy as that


Key Sensor | KEY + SHIFT ( with First Modifier )

The keyboard sensors allow to sense up to three keys being pressed at the same time.

It is the same behavior as three keyboard sensor's connected to a single AND controller.

There are some things to know about:
- Keyboards can deal with 3 pressed keys -> but more keys might not sensed (this is an hardware/OS issue)
- Keyboard sensors sensing one of the (already sensed) keys will still measure the single key press. It will not automatically ignore the single key because a modifier of another keyboard sensor is pressed.

Exclusive events

When you want to deal with  +  and  differently you need to describe it explicitly:

 AND
 AND not

The first condition can be sensed with the modifiers as you do already. Alternative you can use two keyboard sensors with AND.

The second expression requires two keyboard sensors:

-> Keyboard sensor sense

-> Keyboard sensor sense  [inverted]

combined with AND

or

-> Keyboard sensor "A" sense

-> Keyboard sensor "Shift" sense

(both positive)

combined with expression controller: "A and not Shift"

The last option can be used to reduce the number of involved sensors:


Yes, you can. Click on the double diagonal arrows on the top left of the UV editor and then you can select using UV editor.


Possible to make an Installation version of Blender with all current Add-ons and Settings?

The whole process is pretty easy and (in parts) also serves as a backup solution.

Windows 7/8.x/10

Open the Windows Explorer and copy/type "%AppData%" into the address bar.

There you will find a folder named "Blender Foundation" which contains all the settings for Blender for all the versions you ever used on the computer. Copy this folder.

The second part would be the actual Software with all the add-ons. Open the Windows Explorer and copy/type "%ProgramFiles%" into the address bar.

There you will find a folder named "Blender Foundation" with all the Blender versions you have currently installed on your Computer. Copy this folder.

Since this is effectively a backup of everything you need to move Blender and its settings to a different machine, you can zip these folders and then just have to remember where to copy them on your new machine.

You can copy the "Blender Foundation" folder from "%ProgramFiles%" either back into the same folder on your new computer, or you just drop it where ever you find it fit and use the zipped version in the future.


Is there a way to make the active object semi-transparent in sculpt mode?

It looks like "a solution" is to

Assign a new material to the active object.
Add a Transparent BSDF to the Diffuse BSDF via a Mix Shader and tweak
the Mix Shader's Fac value.
Go to the Material tab>Settings>Viewport Alpha and set it to Alpha
Blend.
Go to the Object tab>Display and enable X-Ray.
Go to Sculpt Mode and set the Viewport Shading to Material.

The white object is the active object that is being sculpted.

Note: You will have to manually assign this material to the active object and unassign it from the inactive objects as part of your workflow, in addition to enabling X-ray for the active object and disabling X-ray from the inactive object. An add-on that could do this would be very nice.


How do I get a Falloff offset matrix to look like it's coming from a single point?

Subtracting the initial position of the objects from the offset vector should do what you want, it is also non-destructive, so it might be better than your original solution:


You can't scale Z when the selection is already scaled to Z = 0 (they are equal position and you are using Median point pivot). You'll have to manually create a different in Z between them to be able to scale, otherwise use a different pivot point.


How to export fluid animation 100% prebaked and import to UE4

Some time ago I actually found a way to achieve this.

In this video you will learn how to export .abc file from Blender properly, and then you can use this add-on to simply import an .abc file into Unity.

Though the document is in Japanese, I think it's easy to follow.

By following these steps, you can get a nice animation outcome, just as in Blender.


How to view the vertex color of softbody distortion?

I was able to solve with the addon "tension map"

link addon tutorial
https://www.youtube.com/watch?v=6G8SkBQngvw


Why does my object file show up as a dot?

The reason and the solution is actually pretty simple, your model is just way too big and placed high (Z axis).
If you set the scene units to meters, it shows your figure is 5 kilometers tall :)

Just scale it down like this:


How to constrain an object to a compound child?

The issue can be clearly seen if you put it into physics visualization mode:

The physics engine never notices that the tail rotates!

Now, why is this? This is because compound objects don't necessarily update the physics mesh other than at game start. I'm not entirely sure of all the details, but you this issue with parenting and physics not always doing what you expect comes up quite regularly.

The reason why changing the constraint to the tail makes the joint fail entirely is that when the parent has 'compound' enabled, the child's mesh is appended to the parent's mesh, and a physics mesh is generated for the parent+child object. This physics object is assigned to the parent, and the child is ignored by the physics engine entirely.

As to the solution, There are two ways:

1) The first is to disable the parent's "compound" option, preventing the child from being ignored by the physics engine. Then the two objects collide, so one of them will have to be set to ghost to prevent the perpetual collision sending the parent and child flying.

2) The second method is to attach the child to the parent not by parenting, but with a second rigid body joint. The issue with this is that, if you wish to steer the tail, you have to create that constraint from python so you can use the rather poorly documented constraint.setParem() method to control it.
This is the method I use whenever I simulate vehicles, such as this n-wheel steer thing:
https://dl.dropboxusercontent.com/u/17630723/Blends/Rover-packed.blend
(I'm actually quite proud of the math controlling that vehicle. It calculates the wheel velocities and angles for a wheeled vehicle to move along a certain path with minimal wheel slip)


Windshield is pink although I have searched missing files

The color of the whole piece looks a little pink. You might check your light tints. The windshield texture looks like it's okay as you have the window sticker in the right place.
To make the windshield look less pink, but you like the scene light color the way it is, you could color the windshield tint nodes with green to counteract the effect of the pink light.


All you need to do is set your near clipping distance to 0

You should also consider changing the Unit Scale so that your objects are of reasonable relative size.  I increased it from 0.001 to 5:


Python script to add additional faces to an existing mesh

I would not say "simple".  With an understanding of how you constructed the mesh in question it would probably be possible to algorithmically generate the vertex indices for the new faces.

Without the algorithm all I can supply to you is the basic code of how to add faces to an existing mesh:

Here is an extract from http://web.purplefrog.com/~thoth/blender/python-cookbook/add-to-mesh.html that illustrates several idioms for modifying a mesh using bmesh.  You are chiefly interested in the bm.faces.new( vertex_index_array ) technique.

import bpy
import bmesh

def mission1(scn):

    obj = scn.objects.active
    if bpy.context.mode == 'EDIT_MESH':
        bm = bmesh.from_edit_mesh(obj.data)
    else:
        bm = bmesh.new()
        bm.from_object(obj, scn)

    v2 = bm.verts.new( [0,7,0] )

    bm.verts.ensure_lookup_table()

    v1 = bm.verts[3]

    e1 = bm.edges.new( [v1, v2] )

    f1 = bm.faces.new( [v1, v2, bm.verts[7]])

    if bpy.context.mode == 'EDIT_MESH':
        bmesh.update_edit_mesh(obj.data)
    else:
        bm.to_mesh(obj.data)

    obj.data.update()

mission1(bpy.context.scene)

If you are willing to try without python, consider using Bridge Edge Loops:  How can I automatically create edges according to the number of vertices?


- Fail Error on FBX Export, Cannot Export Model

Just a guess here:
I suspect this was based on something like the cube mesh, which comes with its own UVs even if you don't do anything with them, and that is what's causing this. Or maybe you built that side from scratch so it really doesn't have any UVs but everything else does, and FBX export is looking for a UV even though it won't end up being used.


How to move the 3d cursor in blender 2.8

On a computer: Shift + Right Mouse Click


How Do You Achieve Realistic Spinning for Exhaust Fans?

There are a couple of ways which you can fake the effect for a fan blade spinning fast. One would be to use or create a texture which has the original appearance of a fast spinning blade and then jut animate that.

Another way and more than likely what you are looking for is to use a vector blur node in compositing to add the blur effect to the blades.

Here is a link for how this can be used.

Vector (Motion) Blur Node

You can also use the motion blur effect located in the render tab to create motion blur for the animation. Here is an example for how something like this can be done.

Blender Tutorial - How to Create Motion Blur For The Wheels


Are there situations in which Blender Render is the better choice?

Some external game engines do not make use of the cycles rendering engine, and for content made for use with games running these engines, the internal Blender engine is a better choice. Minecraft is an example of one such game.


Is a Directional/Flow Map Necessary for Hair Cards?

Stumbled on this while looking for a way to vector field flow in blender... While I'm here
"I read on other forums that creating a flow map may not be necessary if the UV's are all unwrapped and flowing in the same direction, is that correct?"
No. Absolutely not.
If you bend the hair cards in your particle, it matters not where the UV goes, the flow of the normals is impacted and different engines (namely unreal) will render stuff differently.
What the flow map is, for hair cards, is a fixed world normal texture that covers each individual hair card. So you need to create an additional UV in blender, smart UV unwrap, and bake world normals.
You can then play with the texture paint tool and some visual balancing to adjust the flow look manually - a bit tedius. Usually use the smudge tool.
The shader, is than told to use this map with UV coord 1 to derive normals and tangent. making the hair appear to bend more appropriately.


The reason the faces are not showing up is because they are hidden.

As Mr Zak suggested;

  Enter edit mode and press Alt+H

This will reveal all hidden geometry.


As long as all the vertices in your objects are completely connected to each other (no loose parts) the following technique will work:

Select all your objects, and press CtrlJ. This will join them into one  mesh.
Press U > Unwrap (or whatever unwrapping method you want use).
Press P > Separate by Loose Parts.

This works great for quick 'n' dirty unwrapping onto a tileable image, but it may make more sense to link them all (like Matt said). The simplest way to link them early in a project is to duplicate them with AltD instead of ShiftD. It will link the mesh and the UV map which will make things easier later on.


You can change the "segment" to get a higher number of "hair_keys".

In script, you can use bpy.data.particles["ParticleSettings"].hair_step = n,
where n is the segment number, which is len(hair_keys) - 1


Adding texture to the model, getting a pink model

You need a material. There are few in the file, but they are not for Cycles. Open Material tab in the property panel, and create one. Hit "Use nodes", then in the Node editor add a "Texture/Image texture", and set the image file in this texture node. Then play with the shader settings.


How can I subdivide this surface or what do I need to do to the surface to make it able to subdivide

Explanation

Probably that face used for the ground is an n-gon. It isn't possible to subdivide an n-gon directly to produce predictable results, all it does is add vertices to the perimeter.

On the left is a similar structure that has edges spanning to each opposite vertex. On the right the face was generated in one go by selecting all perimeter edges and pressing F to generate one face (an n-gon)

and that's OK until you try to apply a modifier like Subsurf, because you don't have any control over the way Blender internally constructs the n-gon geometry.

Solution

Judging by the geometry I see in your image, it might be possible to select the n-gon, then press Ctrl+F to get the faces menu and select option 'Triangulate Faces', this will make initial cuts. Then Ctrl+F again and select 'Tris to Quads`. This might produce the following geometry.

Realistically.

Once you get a bit more practice with Blender you'll probably approach making a tunnel in a different way.

An efficient way to make a tube/tunnel is to create a profile shape and then use that as a bevel object for a curve.


If you name your script *.py in the text editor you can import it in the console as a module.

Beware - after you imported the script for the first time you can't import it again. If you make changes to the module you can use imp.reload or importlib.reload (for blender versions > 2.71 using python 3.4)


bpy.context.active_object.select_set(False)
for obj in bpy.context.selected_objects:
    bpy.context.view_layer.objects.active = obj


First, delete the inner face by selecting it and pressing Delete > F. Next select the edge loop and press Ctrl+E to bring up the Edges menu, and then press G to select Edge Slide. Now slide the edge to the top or the bottom:

Now select all with A and remove doubles with W to bring up the Specials menu and then R to select Remove Doubles. You should now be back to your standard cube mesh shape:


Rendering multiple scenes in blender render

The scene with the text doesn't look liike it has any transparency, so when you Alpha Over it on another image, it completely covers that image. Change Alpha to Transparent under Shading in the Render tab. Change this only on the scene named Scene in your file. Scene.001 and Scene.002, which contain the halos, should keep the default setting, Sky. The halos really do get rendered, but they are so faint, that they're just not visible enough without a background.

You can also set them all to transparent and insert a second Alpha Over node like this, to be able to contro, the background colour.


Animation nodes not working in rendered view

In the animation Node options "Node Tree" I ticked auto execution options and it worked !


How do I ensure a sequence of quaternions from matrix.decompose() is continuous?

After doing a little more research I think I have found a technique that will work.  Examining the matrices that are computed from the quaternion led me to conclude that q and -q both represent the same orientation, so I compare both q and -q to the previous quaternion orientation and pick whichever one is closest in 4-space.  The following udpated code sample illustrates the technique:

import bpy
from math import *
from mathutils import *

def mission(obj):
    res = 36
    qs = QuaternionStabilizer()
    for z in range(res):
        theta = 2*pi *z / res
        mat = Matrix( [ [ cos(theta), sin(theta), 0],
                        [ -sin(theta), cos(theta), 0],
                        [ 0,0,1]]).to_4x4()
        (loc,quat,scale) = mat.decompose()

        obj.rotation_quaternion = qs.stabilize(quat)
        for ai in range(len(quat)):
            obj.keyframe_insert(frame=z*5, data_path="rotation_quaternion", index=ai)

class QuaternionStabilizer:
    def __init__(self):
        self.old=None

    def stabilize(self, q):
        if self.old is None:
            rval = q
        else:
            d1 = (self.old-q).magnitude
            d2 = (self.old+q).magnitude
            if (d1<d2):
                rval = q
            else:
                rval = -q
        self.old = rval
        return rval

mission(bpy.context.active_object)

And now my fcurves don't look discontinuous:

This will not give good results if your orientations are flailing about wildly, but that's a case of Garbage In Garbage Out.


Quickly Copy UV's from one face to another

Use this add-on:

https://wiki.blender.org/index.php/Extensions:2.6/Py/Scripts/UV/Copy_Paste_UVs

You could also just unwrap one, then use an array modifier to duplicate it down the row, then remove doubles.


Missing bone rotation when exporting FBX animation to Unity

I don't know which procedure you followed to export from Rigify to Unity, but if you used some automatic functions, it's possible that the new bone has to be named starting with the DEF- suffix, and has to stay in the bone layer n. 29 (counting from 00 to 31, as Blender internally does), same as all deforming Rigify bones.