How to get a new mesh with modifiers applied using Blender Python API?

The option to apply modifiers is common for exporters included with Blender, so you can check how they do it.

Typically you can use the Object.to_mesh function, which returns a new mesh. You can manipulate it without distructively editing the user's data.

import bpy

# --- setup variables ---
context = bpy.context
scene = context.scene

# assume we have an object with geometry, nurbs, metaball, curves... _not_ a lamp
obj = context.object

# --- get a mesh from the object ---
apply_modifiers = True
settings = 'PREVIEW'
mesh = obj.to_mesh(scene, apply_modifiers, settings)

# ... do something with the mesh ...

It's important to remove the mesh, unless you have explicitly assigned it to an object. Otherwise it will be stored in Blender until the file is saved and loaded again.

# optionally remove it
bpy.data.meshes.remove(mesh)


You Must have pressed the cancel button in the render tab or Esc accidentally.


How to export a sprite sheet from animation?

It is possible to do so by using a mapping node, the thing is that you may lack of precision since this job is done usually proceduraly without messing with normalized values (as UVs) but absolute instead (pixels).

So the idea is to create a plane (or as many as the poses you want to "extract") and with a mapping node pick and fit the proper sprites on them using the spread sheet as an image texture.

A more elegant and efficient way would be to do this automatically by using a python script but then it becomes a pain in the a#s since there is no any bundled / native lib for image processing.

In theory what you had to do would be to parse the JSON file (as is in your example) and get the directions from there for the pixel width/height and the position on the spread sheet of each pose or element.

you may take a closer look on this post : Crop image with Python script

where is the basic concept of cropping images in blender with python scripting.


How to apply texture on material with cartoon style?

To combine Toon Shading effects with existing textures, use a MixRGB Node to Multiply the Image texture by the shadow values from the Toon Shader setup. I often multiply it twice to really drive home the shadow effect. In the first example below, I used a full PBR texture on the object, just to show that mixing like this works with PBR as well, but of course it works just fine with a single Image Texture (second image).

If you're adding "colored shadows" from a ColorRamp, it will work just fine, however I would still recommend multiplying it by the "shadow values" of a black and white ColorRamp as well, to really intensify the shadow effect. You can always turn down the mix factor if it is too strong. (For the record, in this image, I used the roughness map of this texture as a BaseColor, just so I had a black and white texture (simulating your "texture lines") that I could mix with the colored ColorRamp to get the end result - I'm assuming this will be closer to your actual setup)


Animate many objects each object has many animations

What you want is a Modular Rig that can support all your weapons, this has trade-offs for example, you will have to make all weapons work the same way, you cannot rig a knife and expect it to work the same way like a rifle, but you can rig a pistol using a rifle rig, that's for a simple rig. But, if your rig is good enough, then it can adapt to some extent anything you throw at it, but that usually will require a average amount of knowledge in constraints and rigging.

That being said, if you are a beginner in blender, this is an advanced project and I am afraid you will not find a easy solution. I can point you to a great rigging tutorial with great techniques, but it's not for beginners, so keep that in mind. https://www.youtube.com/watch?v=lqiA9E9dHnk

Hope it helps,


Eevee - Material Shader - "Ray Length" or Z-index equivalent?

Found the answer to my own question: the "Camera Data" input node has "View Distance" and "View Z-Depth" outputs.


Unwanted hard edges with subdivision modifier

Check if you have an internal quad, which is made with those edges. If there's a quad, delete it.

Also check the Mean Crease of those edges (1 means hard edge, 0 means soft edge):


Pushing back part of extruded region after using knife tool

I normally either: extrude it down, which will be harder to get accurate to the same level as it's floor. Or you can delete these faces and edges, and simply create new vertices and edges at the floor level to get the same result.


Mesh problem when smoothing intersecting cylinder in object

The faces with 4+ sides are called Ngons.

Ngons are not easy to handle with subdivision surfaces. They don't give predictable results, you cannot easly controle them.

You can:

Change your topology by converting all ngons and tris to quads, as they have user-easily-predictable results with subsurf, but you must do it manually and it will take lot of time.
Convert ngons to tris, by triangulating and splitting your geometry (expecially concaves faces). This can be done automatically with the given commands with good results, but in will not be subsurfaced as percfectly as it would be done with only quads and will be hard to do further modeling onto.
Don't use subsurface to smooth edges but bevel them (manually or with the modifier)


I use physics to find the position of the objects, but then I can't save and go on

There are lots of issues in your file - this is not really a solution, but a start from which you should begin - in my opinion.
First - please watch tutorials about rigid body physics. I am assuming, that this is one of your first rigid body physics animations because you made a lot of things which an experienced user would not do.
What do i mean with that?

your objects aren't really separated (which is a situation which does not exist in reality) so some of your objects are overlapping at the start of your simulation. So what should Blender do with intersecting objects? Well...Blender does weird things with it, it is like dividing through 0 -> you can't do it. And in reality things do not overlap.

your objects have much too high subdivisions which isn't necessary for such an easy object. You should try to use as less subdivisions as possible, because more subdivisions mean: more used memory, less performance, more thing to calculate for Blender.

if you do not have basic shapes you always should use mesh as collision objects, else the physics looks weird and not realistic

start using physics with ONE object and check out whether it works. Then add more. Check performance. If it slows down dramatically as in your case, you did something wrong (too much subdivisions in your case). you can decrease your subdivision by using a remesh modifier.

decrease the margin for the collisions to 0, else it won't look really realistic.

Really watch or read tutorials/books/manuals about blender and rigid body physics. Learn from others instead of trying out yourself because it will save you lots of time. Blender is - in my opinion - not intuitive, but an amazing too. Lot's of people went to the problems you now have - learn from them and save time.

if you did all this - you don't have to manually move your objects, because they will fall down physically correct and realistic. and in a reasonable speed.

you did not apply transforms


how to make forest with different types of trees

Mask system's density and Render Groups

To avoid interaction between two particle system you should somehow mask their density in a complementary way, so where one is the other isn't.

Let's start from creating a simple forest with two type of trees and only one particle system:

After modeling the tree types, you should assigning your sample trees objects to a group (select and Ctrl+G):

Then add to your surface a particle system with these two characteristics:

Hair particles initial orientation on Global Z with random phase as well described in this answer to get trees pointin straight up and with some random rotation around the Z axis
Render option set to Group (pointing to the previously created group)
with Rotation (rotate your object towart the X axis as in the picture) and Pick random

The last mentioned option will pick a random object from the target group, resulting in an assorted forest.

To get full control, you can use the Count option instead which would let you choose in wich proportion each tree type is present in the forest

Above you can see a fores made by 90% of pines and 10% of Betullae.

Now add a second particle system, this time made by 20% Pines and 80% Betullaes:

Go to weight paint, create a new vertex group layers and start paining red the places where the Pines (90%) will be. Then duplicate the vertex group (Copy vertex grup from the menue), Invert the weight, paint some 0 weight areas (where you don't want anty tree) and rename the vertex group to Pines 20%.

Assign to each particle system the appropriate vertex weight group and you'll have a two-tree-type forest:

Apart from vertex weight, you can mask the two particles system even with textures, or splitting the surface in many different objects... it depends on what your project's workflow is.

To avoid intersection between particles you should keep an eye on this related question. Sadly there is not a exaustive answer yet.


Noise appears locked to the camera, as if looking trough a dirty glass

On the sampling section enable the icon that looks like a clock.
That will generate a different seed for every frame, making the noise pattern different.

Blatantly taken form the Blender Manual:

Seed
Seed value for integrator to get different noise patterns.
Animate Seed (clock icon)
This button which can be found on the right side of the Seed value can be used to give different seed values. It is a good idea to enable this when making animation because in the real world each frame has a different noise pattern.


How to fix inconsistent surface Normals of a shape in Blender?

Except from what @bertmoog has posted, your mesh has several more problems but you can easily and quickly clean it up.

Original imported mesh.
Select all parts then Ctrl+J to join them.
In Edit Mode press W > Remove Doubles to remove doubled vertices, it will also remove marked sharp edges.
In Object Mode set Shading to Smooth and turn on Auto Smooth with default value.
Back in Edit Mode, select all and P > By loose parts to separate meshes to original state. You can skip this step if you will want to have it as one object.


I find that pressing the "use nodes" works for this task (next to backdrop tickbox). When you want Blender to composite again just re-enable it.

screenshot:


Using Cycles I was able to achieve the following result using the meshes from your .blend. Not sure why your image has the funky artifacts, but as far as I can see the result I turned out seemed okay? I'll add the steps of how I achieved the result below... :)

1. To begin, after deleting all previous mesh data (Materials, UV Maps, etc- helped me to start afresh) and with the multires mesh selected, add a new 2048x2048px image in the UV Image editor. Then create a new Cycles material with this image attached to the diffuse colour (as this image needs to be applied to the multires mesh in order to bake the normals, and plugging it to the diffuse colour will help us view it in Textured View Mode later on if need be).

2. Next enter edit mode and UV Unwrap the multires teeth mesh onto the new image.

3. Now we can head over to the Render settings in the properties panel and jump to the Bake tab. Change the Bake Type: dropdown to 'Normal'.

4. You can change the Margin to be '0px' and check the Clear box beneath it. This'll just make the normal map look a bit cleaner, you can leave it at higher values if desired, it shouldn't affect the normal map. Finally, hit Bake!

And there ya go! You can save the UV Map externally by tabbing out of edit mode, hovering over the Normal Map in the UV Image editor and hitting F3. Hope this helps! :)


What is the Python script to set the current frame

you can set the current frame like this :

bpy.context.scene.frame_current = 1

bpy.context.scene.frame_set(1)


What causes shading artifacts and how to eliminate them?

Seems like your topology is the culprit. Subdivison modifier tends to not work well with triangles like the ones you have. Try using only quads (squares).
Other than that, I think your normals are flipped. Try this: Hit "T" to bring up the left hand panel on the viewport. Then go into EDIT mode and find the "Shading/UVs" tab. There scroll down and click "Flip Direction".
Hope this helps.


Ok here I got it. I think that matches it pretty well.


Strange behavior with Boolean Difference

How is your notch supposed to be? From what I experience:

You need to lower down your small cube a bit, otherwise its bottom face will overlap the U bottom face and it's a problem for the Boolean modifier. Now it works well.

For the second shape, it looks like it works correctly, what problem have you encountered?


Can I make the X-Ray mode even more transparent?

You can change the x-ray opacity in the shading dropdown.
It's not exactly linear, but it works.
Or you can put the image in front and make it semi-transparent.


Rendering my animation is black, but there is a light?

Never check the V.S.E. (the black screen you're seeing) for your rendered animation.

To see the outputed footage go to your file explorer and type in C:\tmp at the top (if you are on Windows). There you should see a string of image files for your movie. You can change the output file format and where it outputs to before rendering it. To see the rendered animation from within Blender, hit CTRL+F11.


You're using a Mesh Deform, so you need to make sure that the "cage" contains the object, so put it a bit above and give it more thickness with the Solidify:

Also maybe try with a Surface Deform, it should work as fine as it's a flat object.


Pick random option in particle settings?

Basically it picks a random object from the group for each particle, instead of selecting them in order.

With an already randomized particle distribution this doesn't make much of a difference, but when particles are consecutively organized the effect is more obvious:


Having some trouble with UV mapping distortion

Hey I think you have multiple choices.
You could use follow active quads on the "troublesome" areas of the UV only.
https://www.youtube.com/watch?v=ScRIlkmNTfw
essentially you unwrap a single quad which is a square then select all the additional parts of the UV that are connected to this quad you want to unwrap and press unwrap -> follow active quads. This may "square off" the areas you think are uneven.
Alternatively you could add additional seam cut to cut you square into a line down, by adding a new seem cut down one of the corner edges.
I hope this helps.


The issue you are having is that the layers you have set your Render Layers to are completely blank in front of the camera. You need to add the correct layers in your Render Layers settings.

The reason this was rendering in the viewport, is you had all of the layers selected to display in your viewport, while those layers were not enabled in the final render.

You may want to disable the compositing stage to get ride of the video overlay :

to keep the compositing and just eliminate the video overlay change the compositing nodes as this :


Ah, tried setting it with xmodmap and it works!
xkbset m
xmodmap -e 'keycode 66 = Pointer_Button1 Pointer_Button1'


Adding random object every time you press the same key

When you add a sensor, you need to eval if its active in the script so you can do stuff.

To evalute the keyboard sensor named "Keyboard"
from bge import logic
import random

keysensor = logic.getCurrentController().sensors['Keyboard']
scene = logic.getCurrentScene()
own = logic.getCurrentController().owner
list = ['Cube','etc']
'''Eval if sensor activated'''
if keysensor.positive:
    choice = random.choice(list)
    scene.addObject(choise, own, 100)

EDIT
To properly use scene.addObject the object has to be in an inactive layer
see objectsInactive

And the script to work properly.
from bge import logic
import random

keysensor = logic.getCurrentController().sensors['Keyboard']
scene = logic.getCurrentScene()
own = logic.getCurrentController().owner
list = scene.objectsInactive
'''Eval if sensor activated'''
if keysensor.positive:
    choice = random.choice(list)
    scene.addObject(choice, own, 100)

ObjectsInactive is a list of all objects who are in an inactive layer, so if you need just some of the objects yo can add a property to the objects so you can gather them easy.

Then change
list = scene.objectsInactive

for
list = [obj for obj in scene.objectsInactive if 'spawnObj' in obj.getPropertyNames()]

That way the list would be fill with objects that have a property named "spawnObj".
Finally use descriptive names for the sensors, instead keyboard, keyboard.001, keyboard.002, ect... SpaceKey, aKey, BKEY, ckey, etc..
Demo file:


Yes, it's very easy. Just add fake user to your current action for it to be saved and then remove it from action editor by clicking on x and then click New.Like this:


Split mesh along Bezier curve in Blender 2.75

You have to just select the face you want to add a cut in and Subdivide it, by going (w) and the first option 'subdivide', then for instance you want a vertical cut, so select the horizontal edge and by pressing (x) or (Delete) key and choosing 'Dissolve Edges' you will delete it but with out corrupting the mesh, and then you can use the 'Edge Slide' to position your cut on any position on your face you want. To Edge Slide press  (Ctrl+E) and choose the fifth option from the bottom 'Edge Slide'.


Material not assigning in cycles render, works in blender renderer

In the 3D view you can change the viewport shading to rendered SHIFT + Z then you can see the changes you make in your material.
But if you want to see the different colors in the 3D viewport under the solid viewport shading then you have to change the viewport color in the material settings as you did.


Why when clicking on numpad_0 or only 0 i don't see anything with the camera?

This is due to your far clip setting under: Camera Tab -> Lens -> Clipping -> Far.

Adjust that to a ludicrous number and you should see your buildings, but I'd suggest adjusting your scenes scale since this gigantic scale may cause other problems down the lane.


Modeling

To create the main shape you can use this technique:

Add a cylinder with and even amount of faces.
Subdivide smooth it once by pessing ctrl+W.
Convert to the vertex selection mode.
Select all then checker deselect half if the vertices.
Shrink the vertices by a fairly small amount By pressing Alt+S
Subdivide smooth it again.
Poke the faces by pressing Alt+P
Convert triangles into quads using Alt+J
Select a single edge loop and hen select all the adjacent to it by the edge ring selection.
Delete those edges by pressing X then Edges.
Go into object mode and convert the mesh into a curve using Alt+C
Edit the Depth and the Resolution of the curve and convert it's type into Full.
Select all the splines and randomize it's transformation by a small amount.

Now you have the first layer of the Fibers,to create the other layers,Just duplicate and scale in 2 axis and may be rotate to create randomness.

Material

I am going to do it in cycles.

To have more control we should convert the curve into a mesh and may be add a subsurface modifier to have a smoother result,bu keep he curve we may need it.

Separate everthing b looses part bu pressing P.
(I will tell you why in a while)

Now to the materials:

This material assign a color from the color ramp randomly to the objects and give them a shadow using the normal node.(you can edit it o get what you want)


How to rotate bone perpendicular to plane with parent bone

A bone and it's parent form a triangle, you can snap a polygon to it with vertex snap:

Next switch to Normal gizmo/manipulator and save the transform to use it on the bones:

It is not very convenient, maybe there is addon for it but I rarely need to do this.


How may I achieve the effect of insetting a concave n-gon?

An alternative and perhaps more accurate method would be to use the Solidify modifier twice.

Trace out the outside walls outer edge ground plan then add a Solidify modifier to create the inner edges of these walls. In the example below I set my walls to have 0.2m thickness and selected only the Even Thickness option. The solidify modifier needs faces to work with so the outer walls were extruded up 1 meter.

After applying this first modifier add a second. This will be for the insulation thickness. In object mode apply this modifier.
 The second modifier created unwanted faces ouside of the outer walls so these will need to be deleted. Also delete the extruded edges to return to a simple 2D ground plan.

With Snapping to vertex enabled use extrude to add the missing inner wall and insulation.


Projection painting from images sequences/movies

As nobody seemed to be able to answer my question, here is how I worked around my problem:

So my goal was to paint a texture over an object, using image information from a movie clip (displayed in the background image as a camera clip).

My first approach was trying to use the clone brush in texture paint mode. The problem here is that it is only possible to use an image as the source. I was then thinking about writing a python script, that would use the viewer node to export an image (current frame in camera clip), load it into the source from the clone brush so that I could essentially paint on my object from the camera clip. But ... yea that turned out to be too complicated and too long for me to work on (would be a nice feature though). So I looked for a more reasonable and not so time consuming solution.

The thing I came up with seems pretty straight forward. Simply split up your movie into chunks and use one image per chunk. Then I could make vertex groups, unwrap them using camera projection and project the image that I want for that specific group onto the texture. I then combined the textures and smoothed the edges out, so that you wouldn't see them in the final result.

And that's it. I think the clone brush would have been a nicer solution, but this also worked fine.

Hope this helps someone out there :)


Cutting Irregular Shape into an Irregular Cylinder (plane cockpit)

So why don't you simply cut this part with a knife? Plus before adding edge loops you should make sure that the whole shape is good.

Some steps :


Render Region is active in your project. You can clear the region by pressing CTRL+ ALT+B or through View > View Regions > Clear Render Region in the menu.

In case you meant that part of your model is missing and not just the limited render view, then it's probably because of clipping start or end. Adjust the distances so that the entire model can be displayed.


How can I bend a surface into a cylinder?

There is a very simple way to replicate this effect with modifiers, and to do it, you only need 1 hexagon.  Just follow my steps below to see how something like this can be accomplished.
Step1:
With 1 hexagon object in your scene, add a circle bezier curve, scale it up, and rotate it 90 degrees on the x or y axis.  when this is complete your scene should look something like this:

Step 2:
select your hexagon object, and add an array modifier, and a curve modifier, then in the curve modifier settings, click on "curve object", and then select your circle bezier curve.  (see image below)

Step 3:
In the array modifier settings, change the amount until the hexagons almost fit all the way around the circle, then scale your circle curve as needed until the 2 edges of the first and last hexagon are touching.  when this is complete, your mesh should look something like the images below:

Step 4:
once you've completed all the steps from step 3, add another array modifier to your hexagon object, but this time, set the X factor in the Relative offset settings, to 0, and change the Y factor to one.  then, all that's left to do is increase the amount until it is in the shape of a cylinder.  (see image below)

Now you're done. It's that easy!
If you encounter further problems, you can let me know and I'll be happy to help : )


actually the whole interface can be removed from ANY view, not only the Image Editor. Place your mouse cursor over the area in question, then hit Right Alt+F10 (maximize view and remove interface) and then Alt+F11 (remove title bar and also task bar on Windows or dash on Linux). To get back, you can use the same keystrokes, or move the mouse cursor in the top right corner of the window, until an icon appears.


Is there a simple/concise explanation out there of script manipulation of mesh objects?

it's simple in that case.

ob = bpy.ops.mesh.primitive_uv_sphere_add()
print(ob)
>>> {'FINISHED'}

The docs for mesh.primitive_uv_sphere_add don't explicitly mention a return type, and that's a first hint that it won't have a very useful return value.

There are 2 main ways to get object references. Either by:

# getting the reference by object name
ob = bpy.data.objects['Sphere']

# or using the fact that calls to bpy.ops.mesh_xxxxx
# place new objects as the active_object.
bpy.ops.mesh.primitive_uv_sphere_add()
ob = bpy.context.active_object

unlike objects of type BlendDataObjects. These are found in bpy.data.

data.objects
data.meshes
data.materials
# etc

The new() method for those Objects does return an Object reference.

ob = bpy.data.objects.new('tim_the_object', me)

A good approach to learning the bpy is to use that print() statement on objects, or dir(). I'm fairly confident in my bpy-knowledge, but I still use those methods to understand the return values on occasion, and I use dir(whatever) constantly.

Hit control+space after typing this in the python console:

>>> bpy.ops.mesh.primitive_uv_sphere_add(

It will return a lot of information about the function signature, and that works for most functions. But not all functions have elaborate docstrings to tell us the return values (then you use print() )

active_material

your code

ao.active_material = purple  # Nope!
bpy.ops.object.shade_smooth()  # Nope!

assumes that purple is a reference to a material, if that failed, then the next line will also fail.

# this assumes you have a material, called 'purple'
ao.active_material = bpy.data.materials['purple']
bpy.ops.object.shade_smooth()  # probably works with an active object.

this does work:

import bpy

bpy.ops.mesh.primitive_uv_sphere_add(size=1, location=(3,3,3))
ao = bpy.context.active_object
ao.active_material = bpy.data.materials['purple']
bpy.ops.object.shade_smooth()


Is it possible to capture a shadow on an emissive plane?

I can think of a way to do it in Eevee, but not Cycles. In Eevee, you can extract the color generated by a shader using a Shader to RGB node. If you connect this node to a Diffuse shader and a ColorRamp, you can get a shadow mask.


CUDA rendering on Linux Mint or Ubuntu variants

You will need to install the package nvidia-modprobe which (I believe) allows Blender to detect your nvidia CUDA device. This is applicable to Mint, Debian and Ubuntu, I don't know about other distributions of Linux:

sudo apt-get install nvidia-modprobe

You can also install nvidia-modprobe via your favourate package manager.
Please use the Nvidia drivers from the standard repo, the drivers from their website are not auto updated. Doing sudo blender for one feature is non-optimal :) and means that all your .blend files and exports will be owned by root. This is inconventient.

Note that Blender+Nvidia+CUDA requires nvidia-cuda-toolkit, nvidia-modprobe and the proprietary drivers.

Edit: Mint doesn't have a nvidia-modprobe package.

Download the nvidia-modprobe coresponding to your nvidia driver from here then extract it.
Use a terminal to navigate (use cd [dir] to navigate) to the folder where you extracted the file. Run make and then run sudo make install to install nvidia-modprobe.

Alternatively use this to download and install the Ubuntu nvidia-modprobe package (not recomended):

wget -c "http://mirrors.kernel.org/ubuntu/pool/multiverse/n/nvidia-modprobe/nvidia-modprobe_340.24-1~ubuntu14.04.1_i386.deb" -o "nvidia-modprobe.deb"

And then:

sudo dpkg --force-install nvidia-modprobe.deb

You will need to reboot afterwards.
This should install the right package. You might want to submit a bug report to the Mint17 people for not including nvidia-modprobe.


"Curve From Mesh/Text" not working on wireframe of cube

Conversion to wireframe does this in essence, for every face on a Mesh.

The wireframe conversion transforms each face into thin faces interior to  the perimeter of the face, this function has parameters that you can change to adjust the width of those faces, but by default it is rather thin.

  As a side note: The Curve from Mesh/Text conversion tool operates best on Meshes if you remove the faces first. (X, remove only faces). If the mesh doesn't have any Faces there is no need to convert to wire-frame (or remove doubles later on).

You can set the thickness of the wireframe to 0.000, and then you'll see little dots on the edges, because it still creates faces but they are so thin they will fall below the 'remove doubles' limit:

Removing doubles would look like this:

At this point you can convert to Curve from Mesh/Text. But I doubt that is actually what you want.

If you follow the link in the first comment on your Question you will be able to render results like this:

Conversion to wire-frame isn't the way to go about rendering with face occlusion.


What does the 'F' button and '2' button do (materials tab)?

Some Theory

To understand how these buttons work, you first need to understand the concept of datablocks and users.

Everything in Blender is a datablock. An object is a datablock. A material is a datablock. A particle system is a datablock.

A user in blender, is something that uses a datablock. If you have a material, and you apply it to an object, that object's datablock becomes a user of that material. If you have a particle system applied to an object, that object's datablock becomes a user of it.

A datablock can have an infinite number of users. For example, there is no limit to how many times a material or a particle system can be applied to another object.

Blenders Garbage Disposal System

Before we can actually get into what this button does, I need to explain Blenders garbage disposal system.

Blender has a really neat, but somewhat annoying method of getting rid of datablocks.

Blender never deletes datablocks unless they have not users, and then, only when it's closed. So if you have a material that not objects use, and you close Blender, you lose that material.

The Fake User Button "F"

The way to stop this from happening is to use the "F" Button. The "F" stands for Fake User. This is exactly what it sounds like. It creates a fake user, so that the datablock always has at least one user, and doesn't get deleted by Blender when Blender is closed.

The "Number" Button

This also ties in with the whole idea of users. Basically, this displays the number of users this datablock has. If you click on it, it simply creates a duplicate of it, with 1 user (the datablock it's applied to).


Cannot open user preferences menu anymore

Okay, I just did a full uninstall followed by a reinstall and toasting my Blender user directory.  The User Preferences will open now.


Not super realistically. I have an approach at this, which involves taking the slope and cavity to create an erosion-like displacement effect, but this is not really how erosion works. As far as I know, the only truly realistic way to attack this project is with actual coding. Heres an addon you could check out: https://www.blendermarket.com/products/erosion-add-on


This is what the Vertex Group option is for:

Start weight painting; a vertex group will be automatically generated.
Select that group in the cast modifier:

Note that Vertex Groups and Vertex Weights are really the same thing; the weights seen in Weight Paint mode belong to the highlighted vertex group in Properties > Object > Data > Vertex Groups.


No, there is no way around this currently.
This is a limitation in Blender's undo stack. Each mode has its own undo history.

See: https://www.blender.org/manual/interface/undo_and_redo.html


armature deform with automatic weights mesh deform

Apply the Mirror modifier, then Apply the Subsurface modifier but only 1 level. You can see from the picture that it's plenty smooth enough. Then in object mode select the mesh, shift select the bones and Ctrl P>Automatic Weights


How can I make a realistic collision bounds in BGE?

I have found that if I were to have a mesh with a tri count of greater than about 1.5 million (at least on my machine, could be different for you due to differing PC specs on your end) set to triangle mesh it would produce the same results.  Lower the poly count and try it again to see if that is the issue.


How do I extrude perpendicular to a plane NOT oriented along X, Y or Z?

Press F to fill the face with an n-gon and then extrude.
Once a face exists the extrusion can happen along the normal of that face.
If you then want to move the face along that axis again you can change the transformation widget to the 'Normal' axis:

Allowing you to move like so either by using the widget pictured...

or by pressing G,Z,Z.
You can then delete the face after the extrusion is complete via X.


Try the Knife tool, set your view to an ortho side view hit "K" for knife than "Z"(cut through) and "C"(constrain) than draw your edge cut.

EDIT:
Another option could be to select these edges and just right click and select subdivide and than slide that edge by double tapping "G" to move it into position. Creating edge loop cuts is usually easier when you don't have Tris though.


Parts of the mesh don't move when moving bones

The vertex of those parts that stay behind means you don't have them assigned to any bones to move them. Check all the vertex groups in weight painting mode and most likely they will be blue for all vertex groups.

You can select a vertex group while the mouse pointer is still in the list you can use the up/down arrow key to select all the vertex in the list to check quicker.

Then you need to weight paint them with the Add brush to the desired vertex group.


How do I mirror an object using the mirror modifier?

You have to position your 3D Cursor away from the cylinder, then press Shift+Ctrl+Alt+C and choose the 3rd option- Origin to 3D Cursor. Next add a Mirror Modifier and choose the axis. Remember that the mirrored object appears on the same opposite distance from the origin, that's why you have to put your origin away from the Cylinder center, otherwise you will not be able to see any change, as your mirrored object will appear in the same position as your mesh.


Can’t select Boolean object after beveling it—bug?

Got it.

The solution is to pull back your Boolean object’s bevel offset. Set it back just a hair under the clamp overlap threshold (to 0.015m in my case whereas 0.016m caused the clamp overlap to kick in). To speculate on why: when clamp overlap is turned on and at maximum it might be creating overlapping vertices where the bevels meet. It reminds me of how sometimes when beveling for smooth round edges you get an odd crease in the middle which is also mitigated by reducing the bevel offset to just under the threshold (Chipp Walters talks about this in his Nitrox 3D series).

Hope this could help someone in the future, Happy Blending!

John


How to attenuate an area light so that it falls off more rapidly than Quadratically

Here's a setup to get any falloff power - Constant, Linear, Quadratic, Cubic, etc. and everything inbetween :

Control the overall strength of the light by changing the Strength of the Light Falloff node. Changing the 'Power' changes the falloff with 0 being 'Constant' (ie, irrespective of distance), 1 being Linear falloff, 2 being Quadratic falloff, 3 being Cubic falloff, 4 to falloff to the power of 4, etc. You can adjust the power to any value including, say, 2.5 to be somewhere between Quadratic and Cubic.

EDIT : To get a bit more control over the effect close to the light source you add an extra Maths node to add an offset. This allows you to limit the lower end of the response by making so that it's as if the light is never closer than the specified amount. eg, setting to 0.5 the light will never be in the extreme range.

Another option would be to swap the 'Add' to, say, a Maximum. This way any distance below the set value will be treated as that value (and so not 'blow out') but it will still behave as the required falloff above that threshold.


In Edit Mode select a vertex, snap a cursor to it (Shift+S-->Cursor to Selected) and change the transformation orientation type to Local. Enable the Snaping Tool (click the 'magnet' icon and change its type to Vertex). Press G and then choose the axis (press X, Y or Z, depending on your situation) twice and move a mouse cursor until it snaps to other vertex. Then select the whole mesh (A) and hit W-->Remove Doubles.


How to get rid of subsurface shading artefacts

Your problem is the huge ngon on the top. Try filling it with a grid-like patch of mesh.

Check out this topology guide especially the part about Cylinder Caps


Rendering smoke and volume object which is emitting light causes black spots

It looks like i've solved my problem. I've changed muzzle flash volume object that was appearing and disappearing - now it's a paricle emitter. Particle lifetime is just one frame so it looks pretty similar to previous effect. Smoke is not hidden anymore because there is no object that could do this - particle emitter surface is not visible and muzzle flash particle is there for very short time.

Strange thing is (which I've not expected when i was thinking about this solution)  that particle - which is an object with volume shader - is not bugging anymore! I mean there is no black deformations inside flash object even when all objects are on the same render-layer.

This funny trick fixed my problem but it will probably still exist if someone try to render smoke and volume object inside which is not moving or disappearing - black deformations on volume and hidden smoke when volume density is set at 0.000.

I hope this will help somebody.


Depth of field (as defined by circles of confusion) depends on three factors:

The length of the lens used (in mm). Longer lenses will have less depth of field
The distance to the subject. The closer the camera is to the object the more critical focus will be, and the depth of field will be shallower.
The f stop on the lens. Higher f-stops will give you larger depth of field (more things will be in focus) Smaller f-stops will reduce the depth of field.

You are using a wide angle lens (35mm) and a very high  number for f stop (31.8), and your object are quite large and far away.  with those settings is very unlikely that you will see the effects of selective focus (which I presume is what you are looking for). Lower the F-stop to something like 1.4 or even less than 1 to see the effects. Also in cycles you can preview the depth of field in preview render mode.


Render depth map to image with python script

From various sources I found out how to assemble a render graph to put out the depth map (scaled to the range [0, 255]):

# Set up rendering of depth map:
bpy.context.scene.use_nodes = True
tree = bpy.context.scene.node_tree
links = tree.links

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

# create input render layer node
rl = tree.nodes.new('CompositorNodeRLayers')

map = tree.nodes.new(type="CompositorNodeMapValue")
# Size is chosen kind of arbitrarily, try out until you're satisfied with resulting depth map.
map.size = [0.08]
map.use_min = True
map.min = [0]
map.use_max = True
map.max = [255]
links.new(rl.outputs[2], map.inputs[0])

invert = tree.nodes.new(type="CompositorNodeInvert")
links.new(map.outputs[0], invert.inputs[1])

# The viewer can come in handy for inspecting the results in the GUI
depthViewer = tree.nodes.new(type="CompositorNodeViewer")
links.new(invert.outputs[0], depthViewer.inputs[0])
# Use alpha from input.
links.new(rl.outputs[1], depthViewer.inputs[1])

The output can then be saved to a file using a File Output node:

# create a file output node and set the path
fileOutput = tree.nodes.new(type="CompositorNodeOutputFile")
fileOutput.base_path = "/my_path/"
links.new(invert.outputs[0], fileOutput.inputs[0])

Whenever a render is triggered, the depth map will be dumped into the base_path specified.


Is there a way to change the edge from 'Auto Smooth' mode to a complete curve?

You need to do two things.

Add more Bevel segments, so the shading works properly
Add the Subdivision Modifier to "smooth the outline"

(There's no need for the Weighted Normal modifier.)

Note:
I'd also strongly reccomend, that you make your model all quads.
Most of your problems are caused by n-gons.

Edit:
To keep your corners sharp, add more geometry manually, without the Subdivision modifier.


python -- apply/run script for every array instance individually

Distribute copies.
Further to @moonboots answer can copy and distribute the object. Each copy shares the one mesh.
import bpy
from mathutils import Vector
from random import uniform

def array(context, count, rel_offset=Vector(), rnd_var_range=(0, 0), rnd_var_dir=Vector()):
    scene = context.scene
    for ob in context.selected_objects:
        mw = ob.matrix_world
        R = mw.to_quaternion().to_matrix()
        offset =  R * rel_offset.dot(ob.dimensions) * rel_offset.normalized()
        copies = count - 1

        for i in range(copies):
            copy = ob.copy()
            t = copy.matrix_world.translation
            t  += (i + 1) * offset
            copy.delta_location = uniform(*rnd_var_range) * rnd_var_dir
            copy.select = True
            scene.objects.link(copy)

# test call

context = bpy.context

array(context,
    count = 5,
    rel_offset = Vector((1.1 , 0, 0)),
    rnd_var_dir = Vector((0, 1, 0)),
    rnd_var_range = (-1, 1))

array(context,
    count = 5,
    rel_offset = Vector((0, 0, 1.1)),
    rnd_var_dir = Vector((0, 1, 0)),
    rnd_var_range = (-1, 1))

Result of running script with Suzanne selected. The variation of both arrays in test call are in local Y direction.
The same script updated to Blender 2.8 API
import bpy
from mathutils import Vector
from random import uniform

def array(context, count, rel_offset=Vector(), rnd_var_range=(0, 0), rnd_var_dir=Vector()):
    scene = context.scene
    for ob in context.selected_objects:
        mw = ob.matrix_world
        R = mw.to_quaternion().to_matrix()
        offset =  R @ (rel_offset.dot(ob.dimensions) * rel_offset.normalized())
        copies = count - 1

        for i in range(copies):
            copy = ob.copy()
            t = copy.matrix_world.translation
            t  += (i + 1) * offset
            copy.delta_location = uniform(*rnd_var_range) * rnd_var_dir
            context.collection.objects.link(copy)
            copy.select_set(state=True)
            context.view_layer.objects.active = copy

# test call

context = bpy.context

array(context,
    count = 5,
    rel_offset = Vector((1.1 , 0, 0)),
    rnd_var_dir = Vector((0, 1, 0)),
    rnd_var_range = (-1, 1))

array(context,
    count = 5,
    rel_offset = Vector((0, 0, 1.1)),
    rnd_var_dir = Vector((0, 1, 0)),
    rnd_var_range = (-1, 1))

Main changes are:

@ operator is now used for matrix/vector component-wise multiplication
selection of an object in context is now done with copy.select_set(state=True)
The link must now be done via collections and not view_layer


How to make partial glossy material without roughness?

After messing with different value of roughness , specular and clearcoat I was able to achive the result I wanted.
above displayed result needed very small amount of specular and clearcoat. both set to 0.001 and roughness 0 with principled shader.


fSpy for interior design - Can't get it to work

Firstly I would suggest looking for a different image if this is your first time using fspy, as it doesn't show an obvious vanishing point. I suspect this is a crop of a larger image therefore the vanishing point may even be off canvas to the left.

Here's how I have used it:

Drag an image into fspy when it first opens, by default you'll be presented with two two vanishing point axis and a orientation gizmo.

You need to click on the small circles at the end of each of those axis lines (highlighted by me with yellow circles), and attempt to line those up with similar axis on your photo.

As you can see from my example I have aligned the X and Y vanishing point lines with lines on the photo. As you modify the position of these lines you will witness the gizmo updating to show you how it is calculating the orientation of the scene it.

Using Shift and dragging you get a really nice zoomed in view of the point you are moving which will help to position it with greater accuracy.

Once you are happy with your positions, you should adjust the green I shape on the gizmo which will relate to the reference distance in the menu, I think it currently defaults to 4, which could be 4 blender units. You may change this as necessary.

If you find that the Z axis on your gizmo is pointing down then the scene imported into Blender will also be upside down. To correct this, change one of the axis in the vanishing point axis menu from + to - or vice versa to flip the gizmo to Z up.

I cannot really offer much in way of how to use the Principal point, I just leave it on image midpoint for this example, if you need to ensure this is calculated exact then choose From 3rd vanishing point and you get the option to utilize the Z axis lines.

Use the dim image check box as necessary to see your image while aligning these various lines.

Once you have completed your setup, you need to save this as a .fspy file by choosing save as option not export.

Finally you will use the Blender plugin to import this saved .fspy file to setup your scene.

You should now have a correctly oriented scene based on your settings derived from the original photo.

To aid with you compositing of objects, what you need to do next is go to front view and orthographic so that you can add a background image, this should be the same image you used in fspy. Now you can add objects that should match the perspective of the view.

If you want to have the image in the scene then you can add this in the compositor afterwards, you will need to render your objects with transparent from render panel and turn on any shadow catchers you need.

Use a color mix or alpha over node in compositor to add your rendered objects above the original image which you can add in the compositor and plug also into the mix or alpha over node.

I hope this helps you.


Manually:

In edit mode, with your edges selected, fire up the properties panel N, and click on Edges, & Angle.

It worked for me.

Python:

bpy.data.meshes["Plane"].show_edges
bpy.data.meshes["Plane"].show_extra_edge_angle

Since you modified your question:

Here is an append to this answer that may get you closer:

To Actually access the information that you need, you could get all the verts and calculate angle based on XYZ deltas:

bpy.data.meshes['Plane'].vertices.items()[0][1].co

I'm not going to solve it for you, but I will at least tell you how I would approach it.

I would first loop through the verts using something like:

for vert in bpy.data.meshes['Plane'].vertices:
    print(str(vert.co.x) + "," + str(vert.co.y) + "," + str(vert.co.z))

Note this is just printing the coordinates of each vert (not very useful, other than showing you how to access their info).

Then I would calculate the angle between each vert, find the selected edges that match these verts, and spit out the angle.

Please note that you can access .edges similarly to .vertices, inside of the .edges object you will have a vertices object that is a list of two vertex indices:

eg. py.data.meshes['Plane'].edges[0].vertices[0]

It seems doable, just have to figure out the calculations, and how you are going to narrow down your selection.

Hope it helps.

I think that you would have an easier time if you thought about doing the calculations after you account for coordinate system rotations in the following example case I'm simplifying this to only "Z"

Here is a visual circular example to show you what I mean:

From your comment it seems that you are not taking this into account.

It is advisable to calculate the midpoints of the section, and do your calculations from there, because as you see in the circular example on side of the mesh is longer than the other, and getting the midsection helps you to work on the average edge rotation.

Once you have this, you can translate your coordinate locations to rotate about "Z" via the indicated angle.

As another hint, it may be advantageous to think about this angle according to the following (Where I believe that your desired angle is the sum of a2 & a3):


Receiving error "Can't Detect 3D Hardware accelerated"

After Windows updating, they use "Microsoft basics display drivers". This is drivers for something like "emergency mode". They work, but they doesn't use all hardware features.

You need to install appropriate Intel graphics drivers from Intel website.
I never had Intel Graphics, but this look like page for download:

intel download center


Rigging a driving belt moved by a rotated wheel

You can use a combination of both drivers and Transform Constraints. To synchronise the front and rear wheel, Transformation Constraints are an easy choice, as you can map source and destination value ranges easily using known even values, and just use extrapolate to calculate the rest. I prefer doing this in Armatures, but feel free to also try this on objects.

The constraint between Front and Back wheel could look like this:

The numbers you put in are a relation between the diameter of front and back wheel. So the combination of 5 and 10 is actually arbitrary, it's the relation that matters. 1 and 2 would work just the same.

For the belt, use a Driver instead. Transformation constraint could do the job too, but the issue is, it resets the target bone position after each full revolution of the front sprocket bone. In my case, there was a noticeable popping, so I went for a driver instead:

Note that in my example, the expression is -var, not var, as I had to reverse the bone movement. Thinking about it, I could have also changed the bone roll, and then use Minimum Value instead of Scripted Expression for the driver mode. The expression in my case is only so simple, because the radius of the front wheel is 1.

Final result of this Blend File here:


with autohotkey , I was able to remap my shift key and it works with blender , I couldn't find the "squared" key so I remap shift on the "left window" key .
To do it you must download autohotkey then create a new script and put in :

LWin::LShift


Okay  a little trial and error,  and I've figured this out.  I need to export both  objects together from  the original program(not Blender),  keep  the vert order,  and poly groups intact. Import into  Blender, still keeping everything intact.

Go  ahead and sculpt it as I normally would.  Save the file, and delete one half of the object,  and then export that(also  keeping vert  group order,  and poly groups).  Do  NOT save.  Close the file, open it back up  and delete the other side and export.  I now have the original two models,  right and left,  with  all internal  names intact.


Armature deform on same placed verticies of different objects creates weird gaps

If two meshes have no unapplied scale/rotation/location, any vertices in the exact same locations, with the exact same weights, will be deformed in the exact same way by two identical armature modifiers.  (Same armature, same deformation mode-- "preserve volume".)

To make sure that vertices are in the exact same location, you can always shrinkwrap to the nearest vertex and apply.  To make sure that vertices have the exact same weights, you can data transfer from nearest vertex and apply.

To see the specific weights of a vertex, select that vertex in edit or weight paint mode and look on the sidebar, item tab, vertex groups section.

To make sure that meshes are using the exact same armature modifier, you can copy modifiers from the link menu (ctrl-L for me.)

Note that modifiers evaluated before the armature can change the position and/or weights of verts.  What matters are the values at the time that the armature modifier is evaluated.

As an aside specific to this picture, I've found that a surface deform is a much easier way to deform mouth interiors.  Because of differences in topology, you can get clipping (not from the margin verts, not if you're careful about weights and positions) from just an armature modifier.


How to Remove these Ngon's with good topology?

It seems to me that the best way to do your shape is this one, and to do it you can just correct your topology with some merges and edge slides:


Video Sequence Editor: change all data/files paths with python

There are many great VSE add ons that you could look at for inspiration. Also consider reducing your complexity. Perhaps you could create sub scenes, each containing the png sequence you need. then you could iterate those scene strips in your master VSE scene.

After setting up a repetition of the strip stacks (in the master scene) you could make a simple command line render of the master scene with an array for start / end frames to give you discreet composited renders.


How can I enable the Laplacian Lightning Generator?

Read about the API change:
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.66/Addons#Restricted_Context

And here I posted an example script to show a possible solution:
http://wiki.blender.org/index.php/Extensions:2.6/Py/API_Changes#Restricted_Context

There's also a hack to circumvent the context restriction:
Add an app handler for the scene_update_post event, let it remove itself and run the initialization code in the body.


Faces are Missing when Import from Blender to Unity

Ok, it turns out that the issue was indeed inverted faces. After inverting it in blender the faces rendered correctly.


Problem when rendering fire and smoke in Blender Render

You have more than 1 smoke domain in your scene.

There should only be one, or if you are going to use more they have to be in different layers.

Read this answer for more details: Is it possible to have more than one smoke simulation in the same scene?


Different objects selected on different tabs

Maybe it won't make the process as fast as you'd like, but if you disable the Lock Object Modes option it will speed up a bit when you'll switch from the armature to the object and back to the armature.


How can I select the vertexes on the corners of an object in Blender using Blender Python API

Considering the mesh is close to a plane,

that can be done by taking boundary vertices, then try to see which 4 of them are closest to a 90° degrees angle.

This script does that:

import bpy
import bmesh
from mathutils import Vector
import heapq

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

# Get active object
obj = bpy.context.active_object
# Deselect all vertices
bpy.ops.object.mode_set(mode = 'EDIT')
bpy.ops.mesh.select_mode(type="VERT")
bpy.ops.mesh.select_all(action = 'DESELECT')

# Back to object mode so that we can select vertices
bpy.ops.object.mode_set(mode = 'OBJECT')

# Gets bmesh from obj data
bm = bmesh.new()
bm.from_mesh( obj.data )

# Allow indexed access for vertices and edges
bm.verts.ensure_lookup_table()
bm.edges.ensure_lookup_table()

# Vector from an edge
def vect_from_edge( e ):
    return (e.verts[0].co - e.verts[1].co).normalized()

# Absolute of the dot product: the smaller the closer to 90°
# => "corner intensity"
def abs_dot( e1, e2 ):
    return abs( vect_from_edge( e1 ).dot( vect_from_edge( e2 ) ) )

boundary_vertices = []
# Collect boundary vertices
for vert in (v for v in bm.verts if v.is_boundary):
    # Corresponding boundary edges
    edges = [e for e in vert.link_edges if e.is_boundary]
    # But consider only 2 (we dont want vertices at the jonction of 2 parts)
    if len( edges ) == 2:
        # Associates the vertex to its "corner intensity"
        boundary_vertices.append( (vert, abs_dot( edges[0], edges[1] ) ) )

# Get the 4 smallest "corner intensity" which should correspond to the wanted result
for v in [vi[0] for vi in heapq.nsmallest( 4, boundary_vertices, key = lambda vi:vi[1] )]:
    obj.data.vertices[v.index].select = True

# Release the bmesh
bm.free()

Note: not sure this approach solves all the situations, though.


Image plane is blocking the one behind it despite transparency

You must enable Transparency in the material settings:

Using mask transparency won't work because it renders sky where there is transparency.


Outline using freestyle missing some parts of the mesh

Sorry guys
Thanks for ur concern
Its my fault from the first place
I used solidify modifier to test the out line and some how flipped the face
and well... accidentally clicked apply


Make "Muzzle" and "Weapon" one object,with Ctrl J, and set "Enemy" as its parent.


When apply the mirror modifier when rigging a character

You'd better apply before rigging or shapekeying:

Rigging: It's always simpler to apply the Mirror modifier in my opinion, as you'll avoid bad surprises later on, even though you should be able to keep it in theory. If you keep it, as reminded here by Nathan, don't forget to put the Mirror modifier above the Armature modifier and enable its Vertex Groups option.
Shapekeys: You won't be able to apply the Mirror if you've created some shapekeys, so you'll have to recreate your shapekeys.


How to remove lighting and keep objects visible

You can try to change the rendering engine to “workbench” and set the shading as flat. Although if you have textures and material you may can’t use that.
If so, try switching to EEVEE/Cycles. Set the color (I’m not sure what it’s called, but maybe a color correction?) to “Standard” instead of “filmic “. It’s located on the color management, properties tab. Then, delete all shader and replace it with an image texture/color (just the emission). Without a shader, the final result should be flat without shading. You can also mess with the world setting for better result.
(If you’re confused about the emission, it’s using only image/color, like ColorRamp, image texture, noise texture, other textures, and yeah stuff like that. I believe it would work)
Oh, and I remember NVDIA GauGan is using a color mapping (if it’s what it called.) There shouldn’t be any texture on the material, isn’t it?


Accessing the new External Image Save functionality using Python

The patch adds an additional option to the Save as mainfile operator:

bpy.ops.wm.save_as_mainfile(external=True)

In a build with this patch applied, the option should show as checkbox in the side panel in the file navigator if you use Save as... or Save Copy...


How to add thin wispy clouds or fog to my blender 3d scene of building

Blender internal:
You could try the Cloud Generator addon. This is good for making 3D volumetric clouds, but note that it will only work for BI, as cycles does not yet have volumetric rendering.

Enable the Cloud generator addon in User preferences > Addons. This addon is bundled with blender by default, so it should be in the list:

Create a bounding shape for your cloud, then press Generate cloud in 3D view > Tool Shelf (T) > Cloud generator with it selected:

This will create a point cloud for the cloud and setup the volume materials.
For more info take a look at this tutorial on blender cookie.
Cycles:
Because cycles does not yet have volumetrics, you will have to fake it.
Here are some options:

Render the clouds in BI and mix in the compositor

Use a transparent plane with an image texture (may look okay when seen from a distance)

Related questions:

Volumetric Shading in Cycles

Creating volumetric lighting (crepuscular rays) in Cycles

Rendering smoke in Cycles?


Contrasted triangles on interface and transparent materials in viewport and material view

TL;DR: Your GPU does not fulfill the minimum requirements for running Blender 2.8x or later.

"Turks" is part of the codename of multiple GPUs that have the TeraScale 2 micro-architecture:

Radeon HD 6570 (Turks Pro)
Radeon HD 6570 (Turks Pro)
Radeon HD 6670 (Turks XT)
Radeon HD 7510 (Turks LE)
Radeon HD 7570 (Turks Pro-L)
Radeon HD 7670 (Turks XT)
FirePro V3900 (Turks GL)
FirePro V4900 (Turks XT GL)
FirePro M2000 (Turks GL)

In order to run Blender properly, your hardware has to fulfill the minimum requirements. For AMD graphics cards the micro-architecture has to be at least GCN first generation or later. This is to ensure normal operation, GPU rendering has higher requirements. At the time of writing the minimum requirements for graphics card for Blender 2.8x and 2.9x are:

Supported Graphics Cards

NVIDIA: GeForce 400 and newer, Quadro Tesla GPU architecture and newer, including RTX-based cards, with NVIDIA drivers (list of all GeForce and Quadro GPUs)
AMD: GCN 1st gen and newer (list of all AMD GPUs)
Intel: Haswell and newer (list of all Intel GPUs)
macOS: version 10.13 or newer with supported hardware

Unfortunately, this means that your GPU is below the minimum requirements and not officially supported. You may still be able to run Blender, but graphics glitches or even crashes, due to issues with the graphics driver, may occur. Sometimes the graphic glitches can be resolved by installing a more recent graphics driver, if one is available.
Blender 2.79b is the last release that officially supported your GPU. Previous versions of Blender can be download from this page.


How do I create a light streak like this?

Yes, you want to create a curve to follow the path of the light streak. You are going to go into the curve settings in the property panel and go into geometry. Increase its depth to the width that you would like the streak to be. Then apply the material of the streak based off of an opacity map with a basic color. I would choose something basic like white. You are then going to animate the curve with streak with the bevel start and bevel end option in the same geometry menu in the curve settings of the properties panel. You then need to find compositing software that you can apply glow effects too from a render layer that you rendered the object in. If it is under glass it should not matter what order you render in. If you can afford BorisFX it is great for stuff like this. You can see something basic that is relevant to what you are asking that I did with the same instructions here in this scene. https://www.dropbox.com/s/1d3844h6kvg78ym/TheRealmOfCelesbian%27sFantasyHold.mp4?dl=0


GLB (GLTF) export, how to include color/material information?

Let's assume you have your model like this. Click on your model to select it. Then open the Material Properties panel by clicking the sphere in the Properties Editor.

Click on the New button to add a new material.

You should see something like this. You can edit the properties of the new material. Click on the Base Color button and a color picker will come up. You can now pick a color.

Your model will now export with the color you picked, but to see the way the model looks with materials applied, make sure the 3D View is in Material Preview mode.

Also when you export, make sure the Geometry > Materials option is on (it is by default).


Rigging makehuman character in Blender 2.79

This sounds like a basic armature mis-configuration. If the armature was not provided with the model, check the following:

Vertex groups in the model are not only existent but are assigned to the right areas (use weight paint mode to check).
The model has an Armature modifier on it, and the modifier’s target is the correct armature object. What’s more, the modifier is turned on (visible in both viewport and render).
Further modifiers on the model would not be interfering with the Armature modifier results. Shrink wrap would fall into this category, while corrective smooth would not.


How to composite in a background picture?

Another option is an Alpha over node:

Add an Image node (ShiftA> Input > Image) and open your background image:

To crop or scale your background image to fit your render, add a Scale node (ShiftA> Distort > Scale).
Set the Coordinate Space to Render Size, and set the scale type. If your background image is larger than the render, you probably want to crop it. (select Crop) However, if it is smaller and you want to scale it up, select Fit:

Connect the nodes as shown above.


A possible solution to your question could be that you need to try and make geometry that defines the shape of your  all quads and then, around corners, add edge loops to surround those defining points (namely sharp corners, etc.). Then, after that, mark those edges (not the esge loops) as creases. It should work after that. Using a subsurf modifier should help on top of this.


Setting up a metallic foil overlay with transparency using materials and textures

Another way you can do this is to combine the label text and the gold foil using a mix shader, and the alpha value of the foil image as a mix factor. I took the b&w value from the foil and used it as a metallic factor as well. You can increase the "metalness" by dragging the slider on the right side.


How to unwrap part of a body to a single material

OK. The obvious part I missed is that I need to just select the vertices. I still don't see how it has a single UV map that spans 8 different materials, but that doesn't actually matter for what I'm doing.


Snap 3D cursor to camera
Set pivot point to be the 3D cursor
Select vertices
Scale them

You don't want to just move them, scaling take into account how far you are from the camera so that your cube will look exactly the same from the camera perspective.


How to connect end and beginning of a "ring" with a cutout?

Toggling Cyclic on your curve should not (and does not) affect the shape of existing curve, especially since it is poly type. That could only happen if there were any Automatic control points in it.

If it truly is a 2D curve then press the 2D button to ensure it actually is bidimensional.

In your case you will notice it will ruin your geometry because it is not correctly oriented in local space. Enter edit mode, rotate it 90 degrees in the X axis before making it 2D.

You can finally press Alt+C in edit mode to make it Cyclic.


Blender is under continuous development, with new features and bug fixes being added to the code as soon as they meet the criteria for ready. The codebase is the built nightly and the builds are available at https://builder.blender.org/download/.

This allows users to preview and test what will be in the next release, but should be used with care, as these builds are not fully tested and so may contain significant bugs.


The problem appears to be due to the geometry of the Inflow object - it has a negative scale (-0.025). This causes havoc with the Volume Initialization of the inflow in the domain.

The simple solution is to select the Inflow object and simply press S-1Enter. This will 'flip' the scale of the mesh so that it is enclosing the correct volume.

Re-baking produces the following :

When using Volumes it's imperative to ensure the Normals are facing in the correct direction - in your case the negative scale resulted in them pointing 'inwards' rather than 'outwards', confusing the fluid sim.


How would I set a precise width of a road comprised of multiple edges?

My suggestion is to use a curve which will keep the segments of consistent size.

1.) Create the curve:

Create a plane for the road surface (although you could use a cube) and loop cut it multiple times (the more the merrier) and scale it out:

Add the Curve modifier to the plane and select the curve.  You can also scale it to the desired length:

Finally, use the MeasureIt addon (included with Blender) and proportional editing to get the segment the exact width you want.


Make UV map texture not follow mesh geometry?

Instead of using UV coordinates you can use the Object coordinates of an Empty. In this way, the position of the pupil is controlled by the empty (you should Parent the empty to the eye so that it stays in place as the character moves) and the shape remains undistorted despite the geometry. This can be achieved as follows :

Here the Texture Coordinate's Object socket is used with the Object set to the Empty. This means that each point on the surface is handles in coordinates in relation to the specified object (the Empty) instead of your mesh coordinates.
The Vector Math node set to Multiply is set to mask out the Z coordinate and the following Vector Math set to Distance returns the distance from the centre. The distance is passed into the Color Ramp to produce the eye pattern based on the distance from the centre. If need be you can scale the eye texture by changing the X and Y multipliers in the Multiply node or by scaling the Empty itself.
Moving and rotating the Empty will move the texture, with it always aligned with the empty's Z-axis (although you can pick a different axis by changing which channel is multiplied by zero in the Multiply node).

To use an image texture instead of generating the eye from the distance from the centre, you can use something like the following :

Here the UV coordinates are manipulated using a Vector node to map the centre by 0.5 in each of the X and Y directions. This is to centre the image onto the empty (otherwise it will correspond to the top-left coordinate since that is the 'origin' of the image texture space). The Mix node uses the image Alpha to fill in the surrounding space around the texture. Note also that the Image Texture node is set to Clip so as to have only a single image.

As an aside, the first example (using the distance from the centre) uses nodes that were introduced relatively recently and aren't available at some earlier versions of Blender - in particular the Multiply and Distance modes of the Vector Math node. While the new nodes are very convenient, there are other ways to achieve the same thing - but you have to perform the underlying maths manually rather than relying on the convenient new node functions.
For example, you can achieve the same effect at Blender 2.79 using the following nodes :

Here the Separate XYZ uses only the X and Y coordinates - effectively the same as multiplying Z by zero - while the Power Maths node (raising to the power of 2), the Add, the Power (to the power of 0.5) calculates the distance using Pythagoras (sqrt(x^2 + y^2)). The newer nodes offer a more convenient way by hiding the underlying maths.

Using your example Blend file I imported the material, images and meshes, re-located Empty.001 to near the surface and rotated it 90 degrees so its Z-axis pointed to the surface and scaled to size and produced the following result :


To make particles emitted evenly from each face's center set up the next things:

Uncheck Random in Particle System settings (which you already did, still for completeness).
Make sure the object which will be used as particle instance has origin in the center of its geometry.
If you don't this still will work but when scaling particles' size it will grow somewhat unexpected.
Set Particles/Face to 1 in Particle System settings (by default 0, i.e. automatic selection). This will mean that you ask particle system to emit only 1 particle per emitter's face.

This will work in a similar way for Emitter type of Particle System too.
Number of particles - in order all this to work it has to be not less than total number of faces of the emitter. It may be higher though (doesn't matter how much, Particle System will automaticallsy cut what's not needed).
This behaviour is less predictable if Even Distribution in Particle System settings is left being turned on. In order to make number of particles exactly fit amount of faces uncheck this option.


Driver rotating driven object in the wrong direction?

You can multiply the driver by -1 using the Generator modifier.
This will effectively invert the values.
Original answer on how to set up driver modifiers.


"Drawing" single vertices obstructed by coordinate axes

You can press Ctrl + Space to toggle the 3d manipulator between visible and hidden. Or you toggle  it by clicking on it.

If you are referring to the fact that once you extrude you no longer see the manipulator that is because after you extrude you automatically go into grab mode, which will hide the manipulator. So if you want to move it along an axis you have two ways of doing this.

Method 1 (preferred)

Press E to extrude like you normally would
Constrain the extrude to an axis by pressing either: X Y Z

Method 2

Press E to extrude like you normally would
Drop the tool, RMB or Esc
Use the 3d manipulator to move it like you are used to


faces are lined and stripey in the view port after extruding

To get straight to the point if you try to extrude an object that is completely selected, it creates a duplicate of the object. Basically the weird "glitch" you are seeing is blender's lighting is having trouble processing your model because there's two of them in almost the exact same place.

Note: Extruding an entire object isn't a bad thing in blender, it can be used add another layer to the model, if you scale what you just extruded.

I tried my best to recreate the problem you were having in the following pictures:

The first image is an extruded but fully selected model

The second is after I extruded the model

This picture is of the same extruded model from picture two except I scaled the object on the X and Z axis (You can scale objects on specific axis by pressing your S key to scale and then X, Y, or Z for it so scale on one of those specific axis.)

In picture four I'm trying to show a huge use for extruding an object. If you were to bring an object with only one set of faces ("only one layer thick") it would only show one side and the other would be invisible.

Hope this helps sorry for the barrage of information, but I remember being new and I just don't want you to hit my same pot holes.


Why does the 'energy' field on my lights keep disappearing (2.8 beta)?

In Eevee, you will use "Energy", in Cycles, you will use what is in the image you placed, or Shader Nodes. So depends on the render engine.


What is the purpose of the "Grid" object type?

I don't think there is any difference, other than it's slightly  faster to add a grid than to add a plane and subdivide.

From the wiki:

  A standard grid is made out of n by m vertices. The resolution of the
  x-axis and y-axis can be specified in the context panel in the Tool
  Shelf which appears when the object is created; the higher the
  resolution, the more vertices are created. Example objects that can be
  created out of grids include landscapes (with the proportional editing
  tool or Displace modifier) and other organic surfaces. You can also
  obtain a grid when you create a plane and then use a subdivide
  modifier in Edit mode.

emphasis mine


You can't have vertices, edges or faces across different objects. Different objects need to be joined first. Select both objects and press Ctrl+J

In case you forgot to "join" mashes here is a useful link on how to do it Thanks!


Material won’t render, but does show up in the 3D viewport with “Material shading” (project file included)

In your node setup you are connecting color outputs and BSDF inputs. Cycles is not meant to work like that (hence there is no rendered material). The viewport will still show something, because it is an approximation which evaluates nodes differently.

Connect color outputs with color inputs.
Connect BSDF outputs with BDSF inputs.

You can use either method to create your setup. Color outputs can be mixed with a MixRGB node and BSDF outputs can be mixed with the Mix Shader node.


Complications with rendering and compositing nodes

you have added some nodes just for the viewer, but not for the composite node (which is responsible for render output)


Do some Bone Constraints only work with Root Bones?

The Limit Distance constraint influences the location of the bone. All the bones (except the root bone) are children of another bone in the armature. Because of this you cannot move them (the location is also greyed out in the properties panel). If you want to allow the tip to move, you should un-parent the tip, create an IK constraint on the bone beneath it, and target the tip bone. That should make it work.


(Placement of hair)Hair particles ignores Weight Paint and Vertex Groups

Assign the selected vertex group and name it.

Go to the 'Particles Menu' header and input the vertex group name in the Density window (located in 'Vertex Grops' panel).

Edited:
I've checked your model and found the solution. In your case you have to place the 'Particle system' modifiers over the 'Mirror' modifier. As you can see below, the beard and tail particles are now assigned to the right vertex groups.

I can advise you few more things. Before adding the hair particles to your model, make sure that:

it has a good topology
the double vertices are removed (in 'Edit Mode' press W--> Remove Doubles)
the normals are facing the right side (CTRL+N in 'Edit Mode')
the location, rotation and scale is applied (CTRL+A in 'Object Mode')
there are no ngons, non manifold elements, interior faces (you can check it very fast using a 'Mesh Lint' addon)
the 'Mirror Modifier is applied


is there a way how to find out to which objets a material is assigned

This creates a list of all materials and objects. Paste it into the text editor and press the run button. The results will be displayed in the console windows. You might want to open it from the menu: Window/Toggle System Console

import bpy

for mat in bpy.data.materials:
    print()
    print(mat.name)
    print("-"*20)
    for obj in bpy.data.objects:
        for slot in obj.material_slots:
            if slot.material == mat:
                print(obj.name)

Script is derived from: How to know which object is using a material

Sample output:

Material
--------------------
Cube

Material.001
--------------------
Cube
Sphere


In 2.8, select your camera, then go in the Properties panel (on the right by default), select the Object Data tab (camera icon) > Lens > Clip End.


You can use a Pixelate node in the compositor. Go to the Compositing Screen Layout or open a Node Editor some other way. Make sure the Compositing Nodes button is selected.

Use the following setup. Notice how the left side of the gun is pixelated, but the right side is normal. In the final render, it will all be pixelated. Additionally, see how the both Scale node's X and Y values are equal. Also notice how between them they equal 1 (0.2 x 5 = 1). This means that the overall scale of the gun image doesn't change.

If you so desire, you can copy the node setup straight from the following file (gun not included) (sorry) (it does include an awesome hippie monkey, tho). Lastly, you can read more about the Pixelate node here.

Pixelated:

Normal:


Camera Tracking 360 Degrees On X, Y, Z Axis

I solved the 180 camera flip problem by duplicating my camera and switching the active camera. Here is how it works for anyone new to 3D camera animation like myself.

I created four separate empty cubes named CameraFocus, CameraTrack, CameraTarget_Y, CameraTarget_-Y, and then three cameras named Camera_Y, Camera_-Y and StationaryCamera.

I parented Camera_Y to CameraTarget_Y and then parented Camera_-Y to CameraTarget_-Y.

Then I parented CameraTarget_Y, CameraTarget_-Y and StationaryCamera to CameraTrack by selecting them all, selecting CameraTrack last, and pressing Ctrl-P. Then I added two Locked Track constraints to each CameraTarget_Y and -Y, like this:

CameraTarget_Y:
Locked Track: 1
Target: CameraFocus
To: Y
Lock: X
Locked Track: 2
Target: CameraFocus
To: Y
Lock: Z
CameraTarget_-Y:
Locked Track: 1
Target: CameraFocus
To: -Y
Lock: X
Locked Track: 2
Target: CameraFocus
To: -Y
Lock: Z

I had to set the Camera_Y x-axis to rotate 90 degrees to point it at my CameraFocus. Then I set the z-axis of Camera_-Y to 180 degrees and added a Copy Rotation constraint to copy Camera_Y's x, y and z inverted rotation in local space and checked the offset. So now I have two cameras that point to the CameraFocus but they are mirrored on the x-axis.

Now I can use the Follow Path constraint to make the CameraTrack follow a path while tracking my CameraFocus. I can also keyframe the CameraFocus to move or set it to follow it's own path.

The 180 camera flip happens when the CameraTrack is parallel to the zero x-axis and crosses the y-axis because the Locked Track direction and 'up' values cannot be parallel. When To: is Y or -Y and Lock: is also Y the Locked Track doesn't know where to point so you end up with the 180 camera flip.
But we now have two cameras that are mirrored on the y-axis, so when they flip just switch cameras by setting a marker in the timeline with M and then Ctrl-B to set the active camera.

If the camera flip is instantaneous you can simply switch from Camera_Y to Camera_-Y or vise versa. If it's not instantaneous, key frame the StationaryCamera to match the rotation to the active camera and set the StationaryCamera as the active camera. Move the timeline to when the cameras have completed their flip and key frame the StationaryCamera to match the rotation of the opposite camera of the previously active camera and set that camera to the active camera.

And viola, a professional Hollywood camera dolly system that can rotate around the x, y and z-axis simultaneously with no 180 camera flips. I can move the CameraFocus by key framing it or constrain it to follow it's own path to create smooth curving camera pans. And since the CameraTarget_Y and -Y handle the camera tracking, the cameras themselves are free to pan and roll independently if needed. Just remember when you switch Camera_-Y to the active camera and you want to pan or roll Camera_-Y, you will actually need to rotate Camera_Y to keep them in sync. Hope this helps someone else out there.


The most straight forward and "useful" thing that I managed to find online is as follows:

Select the 3D Cursor tool
Open the properties tab (N), check "surface select" and select "Geometry"

Click on a face: the cursor will stick to that face and orient itself so it's normal to the face

Go to edit mode and select the "Add Box" tool

Click and drag
Poof you've now created a box that is normal to the face you selected

Warning: 3DCursor Tool in Edit mode and object mode are independant so if you click again on the cube in edit mode it will reposition itself based on the configuration of the edit mode's 3D Cursor tool

That's something I found in a Youtube video from "Blender Developers" from a year ago so maybe you can do more things with it now or maybe in the future I don't know.


Boolean problems, object is left as a hollow mess

You have the right operation i.e Difference, and it is working too, the problem with it is John Cena(you can't see it). Jokes aside!
You only can't see the changes because the object is lying on it. If you want to see the changes before applying the modifier, select the object which you are using for hollowing and go to Object Tab. Under View Port Display Select Display as Wire! Now you can see the hollow.

And also after applying the modifier you can delete that hollow helping object to see the hollow. But its risky, arrange it first with the above method and then you are ready to apply and delete.

Have fun!


Select the faces in edit mode, X and dissolve them


Dynamic menu creation : how to get the selection?

The menu invokes an operator and this operator would need to receive the filename as a parameter.

I assembled a few lines (sorry for not renaming the classes) I'm sure this can be improved.

AnimMenu - iterates over all loaded text files and add them to a manu in the main header. The files name is handed over by a StringProperty.

AnimOperator - Is invoked when a menu item has been selected it reads the value of the property and shows how the filename is received and how to retrieve files content.

import bpy

text=""

class AnimOperator(bpy.types.Operator):
    bl_idname = "object.anim_operator"
    bl_label = "Pose Anim Operator"

    text_name = bpy.props.StringProperty(name="anim_text_name")
    @classmethod
    def poll(cls, context):
        return context.active_object is not None

    def execute(self, context):
        print("invoked script %s" % text )
        print("invoked script name=%s" % self.text_name )
        txt = bpy.data.texts[ self.text_name ].as_string()
        print("do something with script")
        return {'FINISHED'}

class AnimMenu(bpy.types.Menu):
    bl_label = "Anim Menu"
    bl_idname = "OBJECT_MT_anim_menu"

    def draw(self, context):
        layout = self.layout
        for txt in bpy.data.texts:
            props = layout.operator("object.anim_operator", text=txt.name)
            props.text_name = txt.name

def draw_item(self, context):
    layout = self.layout
    layout.menu(AnimMenu.bl_idname)

def register():
    bpy.utils.register_class(AnimOperator)
    bpy.utils.register_class(AnimMenu)
    bpy.types.INFO_HT_header.append(draw_item)

def unregister():
    bpy.utils.unregister_class(AnimMenu)
    bpy.types.INFO_HT_header.remove(draw_item)
    bpy.utils.unregister_class(AnimOperator)

if __name__ == "__main__":
    register()


Do some materials appear to be darker at grazing angles ?

It's not about being lighter or darker. It's that the material is more reflective at grazing angles. So if the surrounding environment is lighter than the object, the grazing angles will appear lighter. If the surrounding environment is darker it will appear darker. The material's lowest point of reflectivity is also a factor.

To understand why the material reflects more at grazing angles, take this example of a sphere with lots of tiny particles being emitted from it. These little shards reflect light more, whereas the sphere itself absorbs it more (as perceived from the viewing angle). This is a simulation of how roughness works. The "roughness" value of a shader simulates the effect of microscopic bumps on the surface of materials.

In the image below, the sky is a black and white gradient. Here we can see that the Fresnel effect is not lightening or darkening, but rather reflecting more or less. So areas of the sky that are more white are causing lighter edges and areas that are more black are causing darker ones.


When I opened your file, the image called Normal was not loaded in the Image Texture node, once done it seems to work fine:


Interface changes with stock model files

You can bypass the user interface saved on the file and use your default one.

Open blender.

Then use File>Open to select the file you want, click on the gear on the right side and uncheck the LoadUI box.


How to insert keyframe (a modifier property) to all selected objects?

I originally thought you were using a driver for the angle property.  I don't know why I brain-farted like that.  But-- you should use a driver for shared properties like this, so that's the first thing we'll do.
Create an empty.  Right click in its X rotation field (for example) and select "copy as new driver."
Select one object.  Right click on the angle field and select "paste as new driver."
Now test it out by rotating your empty (in the X axis.)  You'll see your modifier's angle changes with the rotation of the empty.
But we want that on the rest of the objects as well.  Select the rest of the objects, with the first as the active selection, and link modifiers (ctrl l -> modifiers.) The modifier on the actively selected object, including any driven values, will be copied to all selected objects.
Try rotating your empty again.  You'll see that the angle changes, in unison, for all of the objects to which you copied the driven modifier.
You can drive from something other than rotation, something other than an empty, if you'd prefer.  But if you want everything acting in unison, it's nice to have a single thing to animate.  Frequent choices for driver targets are custom properties and bone transforms (the latter, because it vastly simplifies combining animations into single NLA strips.)


How to add single vertices onto the surface of a mesh?

I don't think it's possible to use ctrl+RMB and snap at the same time. However, if you would use E to extrude a vertex and have Snap to Faces enabled at the same time, you can do what you trying to achieve, I think.


how to render without displaying the rendering process

If your concern is performance, render using the Command line. This is for sure the most efficient way to render, since blender will not use any resources on the user interface.
The basic command is:
blender -b file.blend -x 1 -o //render -a

-b
Render in the background with no user interface
file.blend
The path to the blend file you want to render
-x [0\1]
Set option to add the file extension (e.g. "avi" "jpg", "png" etc) to the end of the file, 0 means no and 1 means yes
-o
Path for the output file and file name (// if using relative paths)
-a
Render the whole animation from start to end using all the settings saved in the blend file.
There are a lot more options accessible when rendering using the command line. More info Here and Here.

If you want to use blender normally, you can close all UV/Image editor windows and in the the Properties window set Scene->Render->Display to

Keep UI
The image is rendered to the Image Editor, but the UI remains the same. You will need to open the Image Editor manually to see the render result.


Set Window.view_layer

From https://code.blender.org/2017/09/view-layers-and-collections/

  For simplicity now, we stick to having a single ‘active View Layer’
  per Blender window.

Set the view_layer property of the context window to the view layer you wish to be active for that window.

Example using py console. I have 3 viewlayers "RenderLayer", "View Layer" and "XXXX", code below sets "XXXX" as active in current (context) window.

>>> vl = C.scene.view_layers['
                              RenderLayer']
                              View Layer']
                              XXXX']
>>> vl = C.scene.view_layers['XXXX']
>>> C.window.view_layer = vl
>>>


I'm so frustrated with uv image/editor. I can't get my decal to show in render after editing the decal in gimp

I got it to show by simplifying the material and making sure I had a material output node. The use of the alpha here is a little confusing, but I suppose if you can get one showing and then use the alpha to set a separate shader of another color then you might work it out.


A few things to try when dealing with fireflies:

Enable Multiple Importance in your light:

Left is your original settings, right with Multiple importance enabled.
(click on the images to enlarge)

Using clamp indirect takes care of most of the fireflies with no noticeable side effects as far as I can see...

Now for a super clean render you might want to use Branched Path Tracing:


How do I use multiple columns in my add-on UI?

UILayout.column_flow

Perhaps the easiest way to have a 2 column layout  is using the column_flow layout,  set to 2 columns.

Replacement draw method for Text Editor > Templates > Python > UI Panel Simple

11 add cube operator buttons by way of example

def draw(self, context):
    layout = self.layout
    cf = layout.column_flow(columns=2, align=False)
    for i in range(11):
        cf.operator("mesh.primitive_cube_add")

Changing to 3 columns.

cf = layout.column_flow(columns=3)

cf = layout.column_flow(columns=3, align=True)


How to use array to create circular array without spiralling

Create an arch or an object to be repeated.

Create a closed curve (circle) This curve will control the perimeter.

On you object add an Array Modifier with the Fit Curve option and your cicle selected.
Then add a Curve Modifier using the circle again to control it.

Then add another array!

If you add an empty in the middle of the circle and use it as an offset object you can create variations in size and rotation by changing the placement, size and rotation of the empty.


You could do this with drivers and a bit of Pythagoras.

Construct your bars and linkage in the fully extended position:

The origins of both bars, Bar_L, Bar_R are at the centers of their sliding pivots,
the centers of the large circles
The central Link (pink) is at World 0
All parented to an Empty,(the square) so all coordinates can be measured in the Empty's space, and everything transformed as a group.

Both bars are given a Locked Track constraint, aiming their X / -X at the link object:

To set up a driver, right-click in the X location field of one of the bars in the 3D View > N Properties region > 'Item' tab, and select 'Add Driver'. You have the option to open a Driver Editor on the selected object.

You can also set any split-off pane in the interface to be a Driver Editor with the Editor Type dropdown in its header.

There will be other ways of doing this, I'm sure. This way is prone to a bit of numerical error, but maybe it's good enough?

EDIT in response to query..

If, say, you wanted the left bar tip to slide along X while the right remains stationary, then you could drive the Empty to translate the whole rig to compensate for the inward/outward movement of the right tip. For instance, the Empty could be driven to be halfway between whatever other parts were squeezing the joint open and closed. Is that what you'd like?

.. This can be done with an IK chain, see other answer.


How to use one weight layer as a mask for the other

You can either use the Vertex Weight Edit modifier or, more simply in this case, the Vertex Weight Mix modifier:

Which will let you subtract the band group from the circle group:

Ensure 'Use Modifier Stack' is checked in the particle system..


Move hands from two seperate rig from a single controller

Yes, you can.

The two arms should have an IK Chain, you can set a copy location constraint to both the IK targets (Man and child), to follow the empty. You can animate the "influence" parameter of the copy location constraint, so - in the section of the animation in which you want the arms to be controlled by the empty - delete all animation data ot the arms, set two keyframes to get full constraint influence (1.0), and animate the empty as desired (and the pole bones, if present, to set the elbows angles).


How do you make your model skeleton to look like this?

In this case it looks the importer has created tiny bones at each of the pivot points, and the lines you are seeing correspond to parent-child relationships between them.

Tiny bones, empties instead of bones or disconnected/misaligned bones are a common quirk of many file importers/versions of file types. Unfortunately for file types like fbx and collada, there are many small variants of them that make writing importers very tedious.

This is most likely to happen because some data is missing or slightly different than expected in the file format, and should really be considered a bug in the importer. Either way, bone length is a visual convenience and has no effect on the calculations used to deform the model. Small bones do make it harder to select and manipulate though. If the bones have a different orientation, then this can be a problem for some constraints like IK.

To solve this you can try using different importer settings or file formats if they are available, possibly importing and re-exporting through other software.


You can go to pose mode, choose the menu "pose-animation-bake action", activate "visual keying, clear parents, clear constraints, and click OK: the animation will be baked as it was done without IK.


I finally found this which helped solve my problem, along with correctly unwrapping my objects mesh:
Add a transparent image on top of a material