text:
Exporting multiple materials to a single diffuse/specular map
I created a low poly scooter and applied different materials to different parts of the mesh for obvious reasons (check the photo below).

There are two things I need to do :
1) I want to put all the color from my multiple materials onto a single material or onto the UV map (whichever is easier) so I can export a single diffuse texture.
2) I want to create a specular map based on my materials so that the metal parts look shiny and the other parts don't.
What is the best or easiest way to do it?

Shaders can be made to use several different types of masks but the types of passes available for baking are currently limited but this can be overcome with a bit of extra setup.
Cycles works well for doing this but the masks are not necessarily all going to translate over to other rendering engines perfectly calibrated.  Some fine-tuning is likely to be necessary whether you use Cycles or Blender Internal for creating masks for other renderers since everyone uses slightly different(or very different) math for their shaders.
The following is an example of how you can bake an Exponent mask(Roughness) using Cycles.
This first image shows 1 object that has 2 materials.  Each material is a Glossy node and they both have different values for Roughness.

Now you can bake these values to a texture by using Emission Nodes with the strength value set to the same Roughness used for the Glossy shaders.  This will bake a black and white mask that has the values for Roughness baked in.

The sphere on the left is using only one material now instead of 2 and uses the baked texture to control the roughness for both surfaces.  The sphere on the right is still using 2 different shaders to control both surfaces.
Here is a diagram that attempts to show the part of the shader formula which is making use of the Exponent mask that was just baked.

You can also bake what people are calling a 'metalness' mask using the same technique shown above using Emission shaders for the exponent mask values.
Here's a turntable animation the shows several different masks in use to control only one GLSL shader for the armor.  Notice how the specular bright-spot's radius changes as the light plays across the bronze color to the plastic parts and then across the Blender Logo.  It's a specular exponent mask that controls the highlight's radius.  The shader also uses a masks to control the different paths the GLSL shader code will take since it's programmed for more than one type of effect.(sort of like a mini uber-shader)
https://vimeo.com/109779858

Extra reading: If you have a look at the following diagram for Valves DOTA2 modding documentation, you will see that there are several types of masks used to control various aspects of their shaders and since many of them are greyscale, 4 different masks can be stacked into just 1 texture.

Here's the Title and link for the Valve PDF
DOTA 2 - Character Shader Masks Guide
http://media.steampowered.com/apps/dota2/workshop/Dota2ShaderMaskGuide.pdf

First, in order to create the unified UV-Map, you need to combine all the separate objects into a single mesh object by selecting them all and then pressing "CTRL + J" on your keyboard to join them.
They will still have individual materials assigned and, but now you can create a UV map for the whole object. If you want to tweak the material settings later on you can go into edit mode and open the materials tab in the properties panel.
If you want to separate the objects again, press "P" in edit mode and separate the objects "By loose parts".
Now you select the parts of the mesh where you want to change the material (when you press "L" you can select all the faces that are connected to your selection, useful for selecting previously unjoined parts of the mesh) and in the materials tab you select a material from the list. To assign the material just press "Assign" underneath the materials list.

Now to create the diffuse map you need to "bake" the diffuse color into a texture. I will try to explain the process using the Cycles engine (because your render looks like that's what you are using), but I'll try to keep it short. If you need further details, either comment on this answer or search for yourself (just look up "cycles baking").
In order to bake the texture you have to have the UV-unwrapped model with all the materials assigned.
When that that is all prepared,  you need to go into the node editor and make some changes to your materials:
For each material you need to add a new Image Texture node and connect a UV-Map node to it. This Image Texture will be used exclusively for baking. You have to assign a texture to the Image Texture node(this will be your baked map). To assign the texture you have to create it first:
Go into the UV/Image Editor and click new (or the "plus" symbol next to the texture selection menu). A popup will appear where you can give your texture a name and set the resolution. When you have created the texture you go back to the node editor and assign the newly created texture to each of your material's Image Texture nodes.

Before you go on to baking, make sure that, in each material, you have selected your Texture-node containing the bake-map.
Finally, to bake the diffuse colors, you go to the render tab in the properties panel and scroll all the way down until you see the bake menu. There you can set the type of data to bake (go ahead and change it to "Diffuse color") and, among others, a Margin setting. If you are having problems with jagged edges on you textured model, or if your different UVs are very close to each other so that the baked texture overlaps in some places, you can turn this value up or down.
When you have made all the changes you want, make sure to check again, that the right texture is selected in the materials (selecting a different texture will overwrite it and possibly destroy data) and you can press the "Bake" button. Depending on the complexity of the object and the resolution of the texture, baking might take a while, but when it's finished, you should have a full diffuse map for your object.
To bake the specularity map you need to create a new texture and change all the Image Texture nodes to bake onto that texture. In the baking options simply change the data type to "Glossy Color" and bake again.

Thank you, I knew the seperate texture process but hoped there would be an easier way, as for the specular map I had no idea, thank you very much!

You mean having one texture in each material? I hope to find an easier way to do that too..


text:
How to add Wear & Tear effect in a Texture
I just need help to make my scene look like the scene in DYING LIGHT Game at least similar. the wear-and-tear look is somewhat missing, I'm a beginner in blender so i really don't know how to achieve this look, not really sure if its texture painting etc.i circled it red.

blood stains
crack in the wall
tear in the sofa
bulb wires and ivy (kindly disregard this, i'll search for this in YouTube instead but if you know one kindly pass on the link)

Thank you so much

see if this answer helps

@Chebhou thank you so much, that solves the blood stains and the crack in wall.
how about the tear in the couch?

i think that needs some modelling , but you may get a better solution

Well you take a hammer, and you stand just so...

@Chebhou modeling? Ok. so texture and materials won't do the job?Thank you so much for the help.

Once you've darkened the recessed and worn areas, you should be able to turn up the light intensity to achieve that sunlight bloom effect that we see in the top image.  For some tips on how to do this->see below.

You might also want to adjust the number of Global Illumination bounces to account for different times of the day.  Fewer bounces for late afternoon.  Maybe just one or two bounces should help get that appearance of a darker and more enclosed area.

Wear and tear detail on the surfaces of the models can be painted in using bump maps that are either imported or created using Blender's Texture Paint tools. Procedural textures also work well for this.
Start with a grayscale image(set to non-color) and connect this to Displacement socket of the Cycles Material output node.

The bump map node does not currently work for baking normal maps in Cycles.  Only use the displacement socket for now when baking.

Next, bake the texture so it can be used in the game engine this is supposed to be for(I'm making an assumption that this is what you are doing ;) Be sure to select the texture node that is being baked to so that the baker tool accesses the proper texture.  It should be active in the editor.

Now test the results by plugging the normal map into the shaders' normal socket.

You can bake normal maps using either Blender Render(Internal) or Cycles.  For many situations the results should be identical.
With Cycles, there is the additional option of using a custom defined cage when working with difficult geometry.

One of the three common ways that people add extra detail to a scene is to use a black and white image to mix between two shaders.
The following image shows a baked Ambient Occlusion image that is used to mix between a Glossy shader and a Diffuse shader.
There are several methods people use to generate these maps.
(i) Texture paint, change the color for edges and scratches and you can make these areas more Diffuse just as they would be for a real worn object.  A scratched surface tends to be less shiny.
(ii) Use Ambient Occulsion as shown in one of the other answers.  Recessed areas tend to accumulate gunk and goo and are more difficult to clean so we might expect these areas to be less shiny.
(iii) You can bake the results of the 'Vertex Paint Mode->Paint->Dirty Vertex Colors tool'
    (iiib)  Recently, a new attribute type has been added to Cycles nodes and is called the Node:Input->Geometry->Pointiness attribute.  It can be used for both baking and camera renders to accentuate the curvature of the model.
Sharp areas on the model will stand out from the flatter regions and this can be used as a blending factor.
The Vertex Dirty Vertex Colors tool can be used mostly the same way but the Pointiness attribute is more simple to use and is non-destructive to the model.

this is NOT for a game engine or for a game its just a fan art.im using cycles as my renderer...can i still use these methods you posted?

thank you so .this is very helpful.. im fairly new to blender so it will take me time to understand this concept =).

I did that all with Cycles.  If it's staying in Cycles you can avoid a lot of the texture baking.  I would still bake the Ambient Occlusion since Global Illumination fades AO if it's not baked.

If you bake normal maps, you can use lower poly counts.

I guess the basic concept would be as follows for mixing masks.  When the texture is black, it sets the mix ratio to 0.0.  When the texture is white, it sets the mix ratio to 1.0.  If the texture is grey, the value is somewhere between 0.0 and 1.0.    It works the same way as if you use the slider bar in the Color mix node for a single value except that when using a texture, the mixing takes place per-pixel instead of per-object.

Another common way to capture/add detail is to bake Ambient Occlusion(AO).
AO can be used to simulate the subtle indirect shadows that show up in recessed areas.
AO can also be used to as a mix factor for two different colors(or textures).
In the following example a photo of moss is being mixed with light gray using the baked Ambient Occlusion map.  The moss shows up where the AO map is darker.  A normal map is also being used here.

You can bake a simple AO map using Cycles with the following settings.
Basically it's just a Diffuse shader that has it's color set to pure white.  (1.0, 1.0, 1.0);
The sky is a simple colored background that is also set to (1.0, 1.0, 1.0).
Direct lighting should be used.  Global illumination will fade the effect and one or two bounces can be used to soften the result if it's too dark in some areas.
It's baked using the Combined pass.

source: Stack Exchange

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/

sort: votes


text:
Array and curve modifiers behave strangely
I'm trying to create a road from a plane and a curve which I obtained from converting a mesh. This mesh was at its turn obtained by using the shrink wrap modifier on two meshes. Explained in this question.

This is how the setup looks
I created a small plane at the lower left side of the path from top view, intended to be replicated along the path to form the road, as explained in this tutorial.

This is how the modifiers for the plane look.

And this is the monstrosity which I get when I select 'Road' as the Curve modifier's object
What I would like is that the plane would follow the path and create a road over the mountain. I tried playing with the settings of both modifiers but I'm not getting anywhere expected.
What am I doing wrong?

you should convert the road mesh into a curve using Alt+C

Did that, I thought I made it clear in the first paragraph. Without conversion it wouldn't show up in the Curve dropdown of the Array modifier.

Try changing the Deformation Axis until you get something close to what you want.

That was my first thought too. Clicked each of them, and I played with the offsets on the Array modifier, to no avail. I was only getting this type of fantasy shapes.

I didn't go through the links you posted so I'm not sure what you've done or not done but one thing that is sure to cause a curve/object/array setup is to have origins at different places.

after you convert the mesh to a curve you should toggle in edit mode before it take effect

It was an origin issue as many suggested above. I'll be writing an answer in a minute.

It was an origin related issue as suggested in the comments by MarcClintDion and cegaton.
What I did to fix it was:

Switched to edit mode with the curve selected;
Selected the first vertex of the curve;
Snap Shift + S > Cursor to selected;
Got out of edit mode;
Set Origin Shift + Ctrl + Alt + C >Origin to 3D Cursor;
Selected the plane;
Set Origin Shift + Ctrl + Alt + C > Origin 3D Cursor.

Not sure if steps 6 and 7 are necessary.
Additionally because the generated road was getting crazy cambers in some parts I went to the curve's properties and set Twisting to Z-Up.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/3.0/


text:
Specific object not being affected by any forces when a cloth
I have an object that I'm trying to act as a curtain that I have been slowly working on trying to simulate hanging it up onto a frame.
I have simulated it a few times applying the cloth modifier as I hook up each corner to where I want it to go. The problem is now I want to use a little bit of a wind force to push it out a bit, but the problem is the object won't be affected by any force when I've set the cloth modifier on it.
Attached is my .blend file:
On layer 3 is the curtain object (purple deformed plane), and a test grey plane. Both with the cloth modifier set on it. I have added a wind force field too. You can see that only the test grey plane will respond to the forcefield, but not the curtain.
I've tried appending it into a new file but that didn't fix it.
Edit: It may be a problem with the vertices as I joined the curtain object to the test plane object (into one object) and let it play and the test part was still affected but the curtain part not. I did accidentally mess with the weight painting if that might have anything to do with it

Solved!
Seems like subdividing a plane too many times can exponentially decrease how little a force will act on it. I had to set the force multiplier of wind on the cloth to about 50 to see a change


text:
Load, Change & Play Sound in BGE Without using Logic Bricks
Is it possible to load, manipulate (pitch-shift) and play back a sound without using logic bricks and instead using a script in Blender Game Engine?
Ideally, this would be possible with using only functionality included in Blender on Linux, Mac and Windows.
If this is not possible: what is the minimum required use of the logic bricks for this task?

you want to use a script ?

@Chebhou yes. I updated the question to make that clear.

All you need it to load a script file using an Always Sensor and a Python Controller. In the script file put:
import aud
device = aud.device()
sound = aud.Factory.file("sound.ogg")
sound = sound.pitch(2)
device.play(sound)

This will load the file, pitch-shift it and play it back.


text:
Advanced Rigging For Robot Arms/ legs IK
I build a Robot working on Gears, Chains and Pistons and I'm trying to rig it with IK for the legs and Arms but I'm stuck.
the arm/Leg is supposed to work as such:

first part(shoulders) need to rotate around itself only
Second part (ArmTop) need to rotate at Z pose only
third part (ArmBTM) need to rotate around himself only
forth and fifth part (Arm and forearm) is the IK

When the 1,2,3 parts need to follow the IK So if The Arm wave Hello for example :

first part will rotate a bit
second will rotate up
third will rotate as the arm

if it was in FK it was (1=Y19.5 / 2=Z-119 / 3=Y-70 / 4=X-25 / 5=X-12)(the last picture)
I don't know how to add a file so if you want the Robot file for you to try on it explain how to upload file on here and i will add it

if there is anything you can help
Thanks A head
Omer

Can't you just use locks?

locks dosn't work on IK  and lock constrain dosn't do what i want if the IK move above some hights  and i dont know how to lock with scripting

when you have an bone set to use an IK constraint, every bone in that chain enables the Inverse Kinematics tab, found in the bone properties (almost down the bottom)
Here you can set limits on the XYZ axis of each bone. the X and Z axis limits show up in the display as a red and blue circle. Y doesnt show up as Y is rotation along the axis of the bone.
using axis limits does cause some popping, so you will want to use a Pole target for the IK constraint to allow better control.


text:
Make hair in Blender Internal, but render in Cycle, realistic skin in blender render?
Even though I have made a character and applied material and some lightning effect, I still can't get somewhat skinny color - somewhat red as like real one.
In this video by Andrew Price, the object is not so real, but when rendered it gives very realistic image!
And I want to make hair for my character. I found every one using Cycles. But when I do Cycles render it takes forever, about half an hour for an image. So I want to make hair in Cycles and later choose Blender Internal. What will happen if I do so?

Assuming you don't change any of the particle settings, then there would be no problem rendering the hair in cycles and blender internal. Note you will need two different materials, one for the internal, and one for cycles.
See this question for how to use materials in blender internal and cycles.

how can i bring plane or any shape as a source of light in blender render?

@asheshshrestha You can't really.. BI doesn't support this (You can kind of do this with indirect lighting, but I don't recommend it). Best to use cycles or an area lamp (or whatever kind of lamp fits your needs).


text:
How do I limit particles to move only on certain axis?
I have a turbulence force field that moves some particles around, but I don't want the particles to move on the Y axis but only on the X or XZ axis. Is there any way to achieve it?
I already tried using wind force fields with no strength and some noise, the effect it's not really the same of a turbulence.

I have made Extra Nodes for Animation Nodes (blender 2.79, blender 2.80) which allows to control particles very easily. Here is solution for your problem:

So, in this node-tree, using particle data node, first get the locations of all particles (unborn, alive, dying which is crucial step) then multiply the locations with vector (1, 0, 1) which makes y-axis locations zero or limit the particles in the XZ-axis but you can limit them in any axes. Now, use these new locations of particles and plug them into the locations input of the particles output node. Here is tutorial link how to install and use Extra Nodes: https://www.youtube.com/watch?v=hvzr8lu5Ef0

Animation Nodes is an add-on and therefore a workaround, not really a solution, I was already using it without Extra Nodes, just by instancing the particle object and placing the instances into their particle's respective locations.
I didn't know about Extra Nodes tho, I'm already rendering so right now it's too late, but thanks!

OK. However, extra nodes directly control the particles, so you do not need to do object instances.

license: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
How do you animate the Inception spinning top?
I modeled and textured the Inception spinning top totem .

now I need to animate it like here:
https://youtu.be/XQPy88-E2zo?t=3m22s
I not only need to rotate it around Z but I need it to wooble.
Perfect would be a loop.
What would be the best way to do this ?

On such occasions I like to separate the movements by placing inbetween bones or inbetween empties. Might be a bit of overkill but it's handy.
I have three empties parented to each other. Each one is only animated or rotated in a single axis. The other axes can be locked for convenience.

The main Empty is parallel to the ground and does the slow precession around the Z axis which happens to be parallel to the global Z axis. It determines how long one full circle of wobbling lasts.
Parented to this is the tilt Empty. That determines how strong the wobble is. Just a little bit off center or dangerously close to touching the table?
And parented to that is the Empty that actually does the fast spinning of the top. It will spin around its local Z axis, so the spinning stays parallel with the axis of the top.

That way you can comfortably animate all three elements independently, wobble, tilt and spin. You can use generators in the Graph Editor to create endless spinning.

If I was aiming at realism, I'd probably film an improvised top made out of legos or similar and rotoscope the wobbling.

Great answer. I’d love to see that animated!

@RichSedman It spins and wobbles and I don't have a good software to make monster gifs. It's not a lawyer eating dino ( :

I normally just use Gimp for animations - load as layers and then export as a .gif and check ‘Animated’. Quick and easy - although I’m sure it’s not the most efficient for packing the file size.

Gandalf has mentioned peek as a gif screen recorder. Haven't had the strength to check it out yet. Gimp's my choice, too.

I have created a simple example for you.
First, the origin of the object must be at the tip of the totem.
In Edit mode, select the vertex end of the tip and press Shift+S to move the 3D cursor there.
Next, switch to Object mode and press Ctrl+Shift+Alt+C to move the origin to the 3D cursor.
You are now set up for origin.
Second, you need to edit the animation.
Notice the shape of the curve in the graph editor in GIF which I attached.
The Z axis, which is the rotation axis of the totem, is animated by linear interpolation.
Then apply a sine wave key animation that fades out to the X or Y axis.
I hope this helps.


text:
How can I map a texture node, using a factor similar to pointiness, when the mesh edges are too rounded?
I'll try to clarify. I have a guitar body mesh.
I want the front & back to have a lighter wood texture.
I want the sides to have the same texture, but stained darker.
Here's the tricky part: the darkened wood texture should extend a short distance 'beyond' the sides, and into the front and back of the guitar. Here's a pic of what I mean:

Is there a node setup that lets me do this without texture painting?
I tried pointiness but it doesn't work, maybe because my mesh is a mess, or the edges are too rounded.
Here's where I'm at so far - I can target the sides by using a geometry node. Sort of like saying "apply the texture to faces parallel to the local Z axis". But you can see the issue - the green color doesn't bleed into the front and back, it strictly covers the side. The color ramp doesn't help. Is there some way to extend the green area a few inches onto the front+back faces?

If your object is high poly enough, you could try with Vertex Paint:

Switch to Vertex Paint mode. It will automatically create a vertex paint group. Give it a name.

Paint your object in black and white.

Create an Input > Attribute node, in the Name field, type the vertex group you've created, plug its Color output into the Factor of a Mix Shader.

cheers for this moonboots. I guess I have been avoiding vertex paint for too long, it's time I learned, and in the end it was pretty easy and looks ok. https://i.imgur.com/3YVyeR1.png
I am still holding out in the hopes of some node setup that basically says "target the faces that aren't on the XY plane, and have the texture bleed into adjacent faces by [some specified distance]."

I would use the normal output of the texture coordinate node and remap the values with a rgb curves node.
For this you need to have your model's normals pointing in a global direction. Say you modeled the body along the XY plane, so the normals of the part where the cord is (I don't know the technical term) points towards the Z direction.
So we will create a gradient from blackish to orange-ish along the mesh, depending on the value of the normal. A Z component of Z means black values, and a Z component of 1 (pointing UP) is more red.
We will add a noise texture to make it a little bit more believable, but I think you know how to do this already.
The node network :

Zoom on the "RGB curves" node :

Result :

hey Gorgious, thanks for the idea. I messed around with your node setup, using separate XYZ... unfortunately, unless I misunderstand something, this seems to have the same problem as my own setup. Your setup definitely targets the sides and the bevelled edges. But I also need the texture to 'bleed' some distance along the XY plane (the front face and back face of the guitar). In your example, I would want the dark green to bleed several more inches/cm into the red area.

all_licenses: Creative Commons - Attribution Share-Alike - https://creativecommons.org/licenses/by-sa/4.0/


text:
Export .obj file with png texture
I'm playing around with Google's new Augmented Reality SDK.
Their example project contains an .obj file but its' textures are not in a .mtl file, put a .png file; no .mlt file at all (example for an Android robot model below).
From a little research I take this is not the 'standard' procedure of exporting a model / it's texture in the .obj format from Blender (or similar programs).
Is there a way to still achieve this (textures in .png instead of .mtl) with Blender?

Did you find a solution ?

The way Google did it appears to be a very simplistic way and I wasn't able to find any converter to do this. However, I found updated code to handle MTL files instead of trying to find this magical diffuse image converter. See the second answer: https://stackoverflow.com/questions/45985643/obj-file-for-arcode-app-development

The .mtl file is only a material definition file which contains references to textures.
if you want to export obj with .mtl and textures you need to make sure you follow these steps:
In your OBJ export menu:

Make sure material export is ticked

Set the path mode on COPY

You will see that in your target folder you now have

An obj file which contains your mesh information
An mtl file which contains material definition
All tetxure files referenced in the .mtl

It does not create a png file for the texture. Any solution ?

@Regis_AG did you manage to create .png texture file?

To export an image texture at Blender do the following:
Select your object and enter in edit mode. Select all vertices/faces (press 'a'). Then start the UV Mapping, press 'u'. And Select one of the options of the UVMapping. You must test the best option for you model.

Then go to the UV/Image Editor:

Export UV Layout at the menu, and save your image.

ensure your object has uv's and then bake out the map you want to a texture using the bake section in the render settings.

What's the reason for baking in this case?

Another easy way, but off topic way, to get a png out of an mtl, is to make a Roblox account, download Roblox studio.
Make a new baseplate game, insert a meshpart and then go to View -> Properties and then enable properties tab, then look at the properties tab of the meshpart and then you should see a folder button on the side of the mesh section, and then click it, insert your mesh, and under the mesh id, you should see a texture.
Copy the id, only the numbers, then type in exactly this and replace (insert id here) with your id: roblox.com/library/(insert id here)/name and then it should redirect you to a link with the image.
If it has an image of a piece of paper and an hourglass, you need to wait for it to be an approved image.


text:
I have 11 shape keys but my script wont read above number 9
Here is the script:

import bpy

#get the selected object
selected_object = bpy.context.object

#add shapekeys
bpy.ops.object.shape_key_add(from_mix=False)
bpy.ops.object.shape_key_add(from_mix=False)
bpy.ops.object.shape_key_add(from_mix=False)
bpy.ops.object.shape_key_add(from_mix=False)
bpy.ops.object.shape_key_add(from_mix=False)
bpy.ops.object.shape_key_add(from_mix=False)
bpy.ops.object.shape_key_add(from_mix=False)
bpy.ops.object.shape_key_add(from_mix=False)
bpy.ops.object.shape_key_add(from_mix=False)
bpy.ops.object.shape_key_add(from_mix=False)
bpy.ops.object.shape_key_add(from_mix=False)
bpy.ops.object.shape_key_add(from_mix=False)

#get its shapekeys
shape_keys = selected_object.data.shape_keys.key_blocks

#loop through shapekeys and replace the names
for index, key in enumerate(shape_keys):
    if key.name != "Basis":
        key.name = "Key 0" + str(index)

#loop through shape keys and replace the names
for key in shape_keys:
    key.name = key.name.replace("Key 01", "Open_Jaw")
    key.name = key.name.replace("Key 02", "Lips_Corner_In.L")
    key.name = key.name.replace("Key 03", "Lips_Corner_Up.L")
    key.name = key.name.replace("Key 04", "Lips_Corner_Out.L")
    key.name = key.name.replace("Key 05", "Lips_Corner_Dw.L")
    key.name = key.name.replace("Key 06", "Lips_Roll_Top")
    key.name = key.name.replace("Key 07", "Lips_Roll_Bot")
    key.name = key.name.replace("Key 08", "Lips_Corner_In.R")
    key.name = key.name.replace("Key 09", "Lips_Corner_Up.R")
    key.name = key.name.replace("Key 010", "Lips_Corner_Out.R")
    key.name = key.name.replace("Key 011", "Lips_Corner_Dw.R")

What is happening is the replace("Key 01", "Open_Jaw") matches "Key 011" and replaces the start of the name with "Open_Jaw".
One option is to do the replaces in reverse so that "Key 011" is replaced before you search for "Key 01".
Another way is to create and name each shapekey as you create it. Using the index of -1 will give you the last item in the list.
bpy.ops.object.shape_key_add(from_mix=False)
shape_keys[-1].name = "Open_Jaw"
bpy.ops.object.shape_key_add(from_mix=False)
shape_keys[-1].name = "Lips_Corner_In.L"

Which you can simplify into looping through a list of shapekey names.
keynames = [
    "Open_Jaw",
    "Lips_Corner_In.L",
    "Lips_Corner_Up.L",
    "Lips_Corner_Out.L",
    "Lips_Corner_Dw.L",
    "Lips_Roll_Top",
    "Lips_Roll_Bot",
    "Lips_Corner_In.R",
    "Lips_Corner_Up.R",
    "Lips_Corner_Out.R",
    "Lips_Corner_Dw.R",
    ]

shape_keys = bpy.context.object.data.shape_keys.key_blocks
for n in keynames:
    bpy.ops.object.shape_key_add(from_mix=False)
    shape_keys[-1].name = n


text:
how to force blender freestyle engine to redraw the same frame different
anwesered I have been trying to make a freestyle line changing each frame even though it's the same. I've been wanting a sketchy look for a while and cant find anything
help?

You need to add freestyle modifiers on your lineSet and animate differents settings with a driver depending on the current frame. The only one acting like you want by default is the spatial noise in the geometry tab.
The is an exemple of what you can achieve by mixing and animating differents setting like thickness noise and texture offset


text:
Static particles freak out after certain amount of time?
Ok, I have been trying to maintain "static" particles, meaning they stay the same count and just vibrate in place (like atoms) - like this https://dribbble.com/shots/4936693-VR-Birds
I have achieved this by just having start and end frame be same -

My problem is clearly Im doing something wrong because maybe 5 seconds after the start/end frame, the particles freak out and move really fast away from the desired volume:

(where before they were in that box by the cursor)
How can I stop them from exploding? Is it something with the lifetime?
EDIT:

2:

Additionally (re-editing my last answer)
I am attaching a blend file in which I noticed that I had to use Brownian Force and Damp instead of Turbulence or any other kind of field.

This should do the work.
Blender File
In order to keep the particles still you must turn off the Normal property in the Emiter Geometry under the tab Velocity of your Particles System.

The second thing that you have to do, so your particles will not go towards the "ground plane" is to turn off the Gravity affection in the "Field Weights" Tab.
From this panel you will also set the desired affection from other fields (such as Turbulence, Wind, Vortex etc) that you may use to give to your particles the kind of movement you are looking for.

I did that but still freaks out - I have Newtonian physics on, maybe thats it? But I need physics to keep them wiggling in place. See my edit

do you have a cache file ? if yes clear it first. You need Newtonian turned on for sure.

Right, I believe I cleared the cache I clicked "Free all Bakes (see edit) but still won't work

hm sounds really strange, what if you do it from scratch in a new file ? Can you reproduce the effect ?

yup, in that birds example I had it happen too but I just made a new emitter, but thats not sustainable

If you have it working would you maybe upload a blend file?

check the update and get the demo file


text:
How to scale objects vertically depending on proximity to an empty?
Alright, what I have is an array of cubes that I want to animate scaling vertically depending on proximity to an empty I'll move around the scene. Like this:

As I move the empty sphere around, the cubes will scale down to a flat almost plane or up to an elongated cube. What is the best way to do this? Shape keys and some sort of driver setup? I don't know how to approach this.
With first answer solution:

Hello :). Are they supposed to move in real-time? Or is it meant to be a rendered animation? And what have you tried so far? :)

Can do it using a "shrinkwrap" modifier driven by a "vertex weight proximity" modifier.

Each cube is a separate object like this with a vertex group (only the top vertices are attached to this group with a 0 value):

Each cube as the following modifiers:

"vertex weight proximity" that influences the vertex group values, using the empty proximity in "object" proximity (so that all vertices of the group will have the same weight)

"shrinkwrap" to a plane placed above in "project" mode along Z. Tune the "offset" value to vary the height influence

If you need to set the modifiers to several selected objects from the active one, use CtrlL then "modifiers".

Gorgeous thank you

What can I do to increase the max height? When I change the 'Lowest' value they dont fall off in a linear manner, rather its too steep

You can either move the plane up or decrease "offset" in the shrinkwrap modifier.

Increasing "lowest" of vertex weight. And for non linear, use the falloff type. Or you can lower the empty Z position (which is locked in the blend file I provided: so unlock it)

Make a unit, use self in drivers.
Recommend first making a driven unit.
For this example I have used a plane added a solidify modifier and driven the modifier thickness. Similarly could use a cube and drive object scale, after moving the origin to the bottom face of the cube
If we check use self in a driver it is the object being driven.  In this case it is the solidify modifier, to get the plane instead, we use self.id_data  (The blender ID object that owns the modifier.)
The matrix world of the empty is added as the variable mt Every object has a matrix world that contains the global transform of the object.  (Similar to using the world location transform channel)

The driver expression
-max(3 - (self.id_data.matrix_world.translation.xy - mt.translation.xy).length , 0) * mt.translation.z / 3

This part of the expression
max(3 - (self.id_data.matrix_world.translation.xy - mt.translation.xy).length , 0)

confines the result to be within 3 units of the 2d xy circle around the plane origin. If the empty goes outside this it will have 0 influence.
It is then mulitiplied by the global z location of the empty, and divided by 3 to normalize it such that at best the solidified plane can touch the empty.
I've assumed for simplicity the plane will sit on the z=0 plane, (other wise would need to subtract the planes global z coordinate)
Finally it is negated since we are solidifying against the plane normal. (Flip in edit mode to use +ve)

Ok, if happy with out unit, add an array modifier to it, apply the modifier, in edit mode, P separate by loose parts. In object mode Object > Set Origin > Origin to Geometry to make each plane have its origin at its center, not that of the original unit.

Quick example with 5 x 5 applied array mods
Extending.

Have arbitrarily chosen 3 as the XY radius of influence. Could add a custom property "radius" to the empty  add another single property variable in the expression in place of 3.  Can now also animate the radius of influence of the empty.
Another tip is if the expression gets too long to see in the driver field, try using the python console to check them out.
>>> mt = D.objects['Empty'].matrix_world
>>> self = C.object.modifiers['Solidify']
>>> (mt.translation.xy - self.id_data.matrix_world.translation.xy).length
1.9968496634438566

>>>


text:
material issue - how to make blurry/emissive material?
Ok, I am creating tiny particles (there won't be a ton so doing it manually) to achieve a kind of effect like this per this question: Sun Glow Particles
However this, and in my situation, the transparent material Ive created (with just a transparent BDSF and emissive shader mixed) has a hard edge. This doesnt get the desired, soft particle effect I want:

I want something where the edges of the "particle" meshes are blurred in some places, like if you took a Photoshop brush and erased some parts. I tried volume scatter as suggested but Id like to just make particle meshes.
Is this SOFT bokeh material possible?
What I did:

I guess there are several solutions, you could play with the blur in the Compositing, or the Depth of Field of your camera, or play with the material of the dust: make transparent bubbles with a Fresnel to blur the edges...

That looks like Bokeh blur and is most often achieved in post production, or using depth of field while rendering. You can probably fake it in 3D using some sort of circular texture

To truly get transparent edges you would need to move to volumetrics and vary the density or emission based on the proximity to the surface. This can be achieved using the OSL shader described here and produces the following result :

You can vary the 'depth' by adjusting the Multiply node - or replace that and the Color Ramp with your own calculation.
Note that this method will be way less efficient for rendering since it's using volumetrics - and this is further compounded by using OSL which is not GPU compatible (so you'll have to render with CPU).
Using volumetric scatter/absorption as you would for smoke can produce the following :

Adjusting the Multiply and Power nodes affects the sharpness of the objects. You could also add a noise texture to vary the depth of the fade to make the edges appear more 'fluffy'.

You can bevel the edges, or apply a subsurf and then use additional edges to control the round off, or a procedural texture that shows "worn edges". There's a free CG Masters tutorial that shows one of the many ways to do this.  Here is the relevant node group from the tutorial . You can download the blend file from the tutorial page.

See my edit - I came close but the transparent part, no matter the color ramp, still wont go all the way transparent

If you render the particles to another layer, in the compositor, you can use a blur/bokeh effect in combination with a transparency effect to get what you're looking for.


text:
How to curve cube/rectangular prism along path? Problem with distortion
Ok, so basically I need to create a low poly cord, where the actual cross section of the cord is always the same square shape/size but it can turn/bend at angles as I choose to model it.
Ive looked/tried tutorials with extrude along path and similar questions but can't get any to work. Rotating various rectangular prisms and aggregating them is messy, and with just dragging the face out I get this distortion on the cross section:

With extrude from cube - only goes halfway :

What is the easiest/best way to achieve this?

Best way is a bezier curve with a bevel object or an Array+Curve modifier

Doesn't work - see edit Ive tried with cube and flat plane and only fills one side


text:
Multiple particle systems are glitching all over the place?
Ok, Im in Blender 2.8 if that makes a difference but the main issue is getting multiple smoke simulations to work in the same scene. Since this is 2.8 Ive looked at past questions like Is it possible to have more than one smoke simulation in the same scene? , however some settings are different and I dont think I set up my smoke in the same way.
This came from an example project, but each smoke sim is just a plane that is an emitter, with a metaball as the emission object.
One was completely fine, and Ive tried sticking the 3 different emitters in different Collections (because the SO answers say to separate layers), but even when I turn off visibility on 2/3 emitters, the one remaining glitches out.
By glitching out I mean that it runs, but the smoke glitches locations like this:

I had a domain originally, but even setting to scale around all emitters, and even deleting it, does nothing. I just have the particle emitter and the domain cube, and Im not sure they're interacting.
What am I doing wrong? If these are just emitters, why are they glitching locations?

The metaballs themselves are moving locations.

I do not find the question to be clear. Please clarify the question.  Perhaps other people do find it to be clear.  [Glitching] as you use the word,  above is a vague term.  Please show one system that succeeds and label it clearly.  Please show the scenario that fails and label it clearly.  Please explain the difference between the two. Consider hiding any objects any objects that are not relevant to the problem.  I cannot guess what is success and failure in your images ... I must be told clearly by you.

You wrote SO... what is that?

@atomicbezierslinger stack overflow. The 3 images were to show, in progression, the changing location of the particle systems/meta ball aggregates. They glitch, meaning they flicker back and forth between different locations all over the scene


text:
Can't import the 'Serial' library to connect with Arduino
I'm trying to connect a blender project to Arduino but I have a problem with blender. I cannot import or use the 'serial' library. I can control an LED with Python and Arduino, but when I try it with blender it doesnt work.
Can you help me?

You probably need this: https://blender.stackexchange.com/questions/5390/installing-pyserial-in-blender

you typed impor instead of import.

I have found my problem (windows):
I was using and installing 32bits python and 64 bits from blender.
My solution:

I'm using Windows 10 64 bits.
Download Blender 32 bits,v2.79.
Remove/uninstall all Python stuff that i have.
Reboot the system.
Reinstall Python 3.5.3 (64-bits) donwloaded from Python site.
Download the pyserial, version 3.4.
Copy from pyserial: the folder serial, paste the folder in blender sub-folder site-packages:
 /blender-2.79b-windows32/2.79/python/lib/site-packages
Open and run Blender 32 bits,v2.79.
Using Blender game engine, made a script and my LED in Arduino turned on.


text:
Inputting amount of zoom manually
Is is possible to input the amount of zoom manually in Blender, instead of using the Mouse Scroll or Ctrl + Mouse Scroll, as that does not seem measurable?

I don't think so, the only "measurable" way is to use ctrl + and ctrl - to make discrete zoom jumps...

A convenient way to do this doesn't seem to be available. But you can lock the camera to the view and then change the camera's position.

Press Num0 to view the scene from the active camera
(optional) Press Home to maximize the camera region in the viewport
In the 3D View's properties shelf select View > Lock Camera to View

Zooming with the mouse does not change the camera's focal length but its position. You should be able manually change the “zoom level” by scaling the camera towards / from the object that you're looking at.
As far as I can tell the camera scale is not considered for the values of Depth of Field, but as a precaution one can enable transformation lock for the scale value of the camera.


text:
Subdividing arbitrary face into smaller faces
I'm trying to split an arbitrary face into smaller faces hopefully making some kind of grid. What I mean by arbitrary face is a face constricted by an random number of edges. Say, for example a circle with 32 vertices. By selecting the face (in edit mode) and pressing W> Subdivide I only manage to split the edges of the face into more edges, not the face itself.
For my purpose it doesn't matter what shapes the original face is split into, as long as its some kind og grid.

Face with more than 4 vertices won't be subdivided in smaller faces because it's an Ngon, see https://blender.stackexchange.com/questions/57534/cant-subdivide-face

You can use Grid Fill to fill faceless circle.
Select all vertices, press CTRL+F > Grid Fill, adjust Offset as you want, also you can check Span value.

Note: This will only work with even number of vertices.

but note, that may need an even number of vertices

@m.ardito good to point this out, I'll add this to my answer if you don't mind.

of course, every answer enhancement is good. I learnt this too from others too (https://blender.stackexchange.com/questions/84495/filling-hole-in-scanned-ct-object/84502#84502)

Maybe a solution which can work with a odd number of vertices :

Enter in edit mode (with TAB)
Select the face you want to subdivide
Press I (inset) and validate immediately with ENTER
Press S (scale), enter 0 (zero) and validate with ENTER : you should see radius from the center of the face.
Move the mouse cursor on a radius and press CTRL+R
Turn the mouse wheel, to select the number of rings you want to create
Validate by pressing ENTER two times
Select all vertices (by pressing A two times)
Press CTRL+V to display the Vertice menu
Click on the remove double option.


text:
Multi-core/threaded particle simulations
Recently did a liquid splash via Gleb Alexandrovs tutorial.
So smoke + flow field + particles + meta-balls to get some sort of fluid splash going on.
Where I noticed, none of these processes are able to use multiple cores. Grinding my 6 core / 12 thread CPU to a worse experience than a heavily OC-ed 2 core little thing. Making the whole experience quite unpleasant if using more than 550K particles.
Is there a way to make Blender 2,78 use more cores outside of rendering?

In Blender particles and simulations are still badly optimized and mostly single-threaded with no GPU compute support. With time features are added and even now you can look into the FLIP FLUIDS addon. Multithreaded with OpenCL support, demo for tryout here.
Another solution might be DualSPhysics simulation engine, which is free, multi-threaded and even GPU accelerated. It's ease of use is not that great, there is no integration with Blender other than importing the simulation data and rendering with Cycles (there is addon for that). It is integrated with FreeCAD. Ooutside of that there is no GUI, some programmer knowledge required.
Full capable, easy to use and well optimized simulation apps cost $3000+, like Houdini, Bifrost, RealFlow, etc.

Thanks!
FLIP FLUIDS addon looks promissing. While DualSPHysics looks like a good engine; having an AMD card, and added complications make me want to try the first option.
Will see if I can get it to run. Hope blender will be able to enable multi core/thread support in a few more of it's tools. Quite like playing around with it, pretty relaxing...except when it isn't :/

NO.
Processes like render can be separated in different parts, as you can see as a tiles. But some processes (like the smooth) can't be divided into threads to use all the processor cores. In this case one thread use only 1 CPU core: 1/4 or 1/8 (depends of how many cores in your CPU) of all CPU power. If so, CPU monitor will show that only 25% or 12% of CPU is used.


text:
How to display and use Vertex Color from OBJ model
Recently, I found this funny site, that allows you to generate a 3D model from a 2D image.
It works very well and you can download an OBJ file. Vertex are colored and when I import it using Blender, I can't see any Vertex color.
Using Cycle (I prefer a internal solution if it exists) according to some answers I've found on Blender Stack Exchange, I patched some nodes : Attribute -> Diffuse BDSF -> Material Output.
Unfortunately, I can't get it works, the model stills black.
When I open the OBJ file, I see that color per vertex are there :
v 43.747554 107.000000 69.000000 0.470588 0.380392 0.309804
v 43.780163 115.000000 64.500000 0.427451 0.337255 0.266667
v 43.782527 107.000000 68.500000 0.470588 0.380392 0.309804
v 43.801902 115.000000 65.000000 0.427451 0.337255 0.266667
v 43.806461 107.000000 69.500000 0.470588 0.380392 0.309804
v 43.821703 115.000000 64.000000 0.427451 0.337255 0.266667
v 43.838352 108.000000 68.500000 0.466667 0.376471 0.305882
v 43.854670 106.000000 69.000000 0.482353 0.392157 0.321569
v 43.856176 108.000000 69.000000 0.466667 0.376471 0.305882
v 43.873876 106.000000 69.500000 0.482353 0.392157 0.321569
v 43.888855 110.000000 68.000000 0.466667 0.376471 0.305882
v 43.891471 109.000000 68.000000 0.466667 0.376471 0.305882
v 43.892733 110.000000 67.500000 0.466667 0.376471 0.305882
v 43.895170 108.000000 68.000000 0.466667 0.376471 0.305882
v 43.900904 109.000000 68.500000 0.466667 0.376471 0.305882
v 43.907584 107.000000 68.000000 0.470588 0.380392 0.309804
v 43.917898 115.000000 65.500000 0.427451 0.337255 0.266667
v 43.925000 111.000000 67.500000 0.454902 0.364706 0.294118

According to some answers here, Blender import more easily the vertex color of a PLY file so I tried to convert to PLY with two different sites :
1. meshconvert .com : Give me a 3.5 Mo file
2. greentoken.de/onlineconv : Give me a 2.3 Mo file
(Of course, if you know some other sites I could try, it interest me)
I guess that color data are lost with greentoken (not sure).
When I import the 3.5 Mo PLY file in blender, I need to be in textured display mode, then I think I see my vertex color value but in black & white instead of RGB, that is weird. Anyway, I can't get it work
EDIT 1 : I opened PLY files and color vertex aren't there... I need to find a better converter
EDIT 2 : I tried www.ofoct.com/3d-model-file-for-3d-printer-converter it doens't take vertex color into account. In fact, in each PLY files I converted with the various sites here, there is a common line :

comment Created by Open Asset Import Library - http://assimp.sf.net
  (v3.2.0)

(the version varies)
EDIT 3 : In fact it seems that model converted by Green token, keep the vertex color. That is weird because that's the smallest file :
ply
format ascii 1.0
comment Created by Open Asset Import Library - http://assimp.sf.net (v3.1.187496374)
element vertex 29793
property float x
property float y
property float z
property float nx
property float ny
property float nz
element face 59582
property list uint uint vertex_index
end_header
82 103 6.37528 0.40963 0.0331735 0.911648
82 102 6.57043 0.272087 0.235193 0.933088
82.6603 103 6.5 -0.14071 0.043367 0.9891
82 103.935 6.5 0.201161 -0.136681 0.969976
81.5475 103 7 0.825371 0.0489484 0.562465
83 102 6.62244 -0.248588 0.147929 0.957247
83 103 6.56417 -0.411487 -0.0867124 0.907281
81.5819 104 7 0.787841 -0.0338904 0.614946
82 105 6.63886 0.0715144 -0.131383 0.988749
83 104 6.77321 -0.431167 -0.171652 0.885794
83.6781 102 7 -0.470137 0.061235 0.880467
83.6327 103 7 -0.543939 -0.0905203 0.834228
83 105 6.96709 -0.445324 -0.163091 0.880391
84 103 7.23724 -0.520118 -0.141377 0.842313
84 104 7.47775 -0.546517 -0.195833 0.814229
84 102 7.16782 -0.416323 -0.021798 0.908955
83.3508 101 7 -0.314426 0.156435 0.936304
84 101 7.22581 -0.280388 0.0301462 0.959413
84.9009 101 7.5 -0.339848 -0.0219793 0.940223
84.6939 102 7.5 -0.435242 -0.0925323 0.895546

As you can see, nx, ny and nz correspond to RGB values..

I already seen this question, not simple as that. I'm doing some experimentations, with convertion to PLY files,  I will add some details soon

You are right, looks like Blender's importer does not support those RGB values in OBJ format. It would be nice topic for a custom addon :)
I am sure you are on the right path - just find an utility which can work with this extended OBJ format and export it to other format supporting VCOL which Blender can work with. Then you should see it in Solid shading and VCOLs should be listed in Object Data -> Vertex Colors.

@JanKadeřábek yes, I will probably do a script at least for convert that greentoken ply file I think its possible, the header needs to be modifed and three last float value needs to be UCHAR between 0 255

Use Meshlab to convert the mesh to PLY format. I never tried the sites you mentioned, but I'm sure that with Meshlab teh colour will be preserved.

@Carlo Ok I wil have a look to this one : )

As others stated, the OBJ format specification officially does not have the ability to contain any vertex color information, but some apps extend the format to support this feature (RGB values are appended after vertex position values).
I managed to modify the Blender's OBJ importer to import & assign vertex colors as well.
Caution - the current implementation is really dirty at this moment (I am going to dig into the code more in the future), also I have not tested it properly so some bugs can occur.
DOWNLOAD / HOW TO USE
To try the modified importer, download the latest version of the import_obj.py script from my GitHub repo and replace the original one located in blender\2.x\scripts\addons\io_scene_obj (make a backup of the previous one, of course).
Then just cross all your fingers and try importing an OBJ model. To see vertex colors clearly, create & assign a new material to the object, set it Shadeless and enable Vertex Color Paint in Options. Then just set the 3D view shading to Material (as in the gif below).
This is an example of an OBJ model exported from http://www.cs.nott.ac.uk/~psxasj/3dme/index.php and imported using the modified importer:

Please let me know whether it works for you!

Works perfectly ! thanks ! But please... use the face of someone else the next time ;)

Face changed, let me know if my post is correct now :)

@JanKadeřábek: do you possibly have some advice on how to do this in blender 2.8 ? In 2.79 your solution works nicely, thanks!

@Quit007 I am sorry, I don't use 2.8, I even don't need to work with OBJ format anymore, so I am not sure. If I have some time, I will look at it, but can't promise it at this moment.

what about the other way around? say we have a texuture uv mapped blend file, how do we get the vertex RGB color for all the vertices?

It doesn't work for me. I am using 2.90.1 on a Mac. They probably changed something with 2.9.

@copypaste Have a look at my answer, it has been updated

Is there something like this for PyBullet too? I'm having lot of issues trying to import obj file with colors in there. thank you

Thanks to  Carlo's comment. Meshlab did it ! I just had to import the OBJ mesh and export it as PLY. Then, I import the mesh in Blender, add a material and just check Vertex Color Paint in option for blender internal rendering. Works like a charm :)
EDIT 2021 (Blender 2.92)
I also had to convert the mesh using Meshlab into a PLY format. Then with Eevee or Cycle, I had to use the node Vertex Color like this:

Vertex Color became Color Attribute in Blender 4


text:
Animation Nodes - how to remove with python command
As far as I know, you can run a command in the bar button to remove animation node trees. But I would like to automate this with another script, for rigging purposes.
This doesn't work:
bpy.ops.an.remove_node_tree("nodetreename")

As far as I know, there is an error Invoking the right window?
Any clue how to script this?

You should be able to do it like so:
bpy.data.node_groups.remove(bpy.data.node_groups["tree name"])


text:
Can't remove unnecessary Geometry in Object
I want to make a 3D printed Marshall logo for my guitar amp, so i downloaded a Marshall font, extruded etc. and turned into a mesh.
When I had it in the shape I needed and edited the pins, I wanted to slice it, but the problem is that the overlapping lettes produce internal geometry that confuses the slicer.
Im new to blender, but I tried many ways to remove the geometry (booleans, intersect etc) but no tool works like it should.
I need something to create an edge at the intersecting faces to remove them. I even installed an addon for this, but nothing works.

I also think the whole geometry is mucked up, because the faces are ignoring the edges and go over them at some parts. I just dont know why its so mucked up. Is it because of the conversion from Text to Mesh?
Here's an example of the Overlapping

If it's too messed up, it would also be great to get a way to redo it properly. I started my first try with a vector graphic of the logo, but i couldnt get the conic shape of the text. With the font i just change the depth in the font settings and cut of the rest of the extruded material...
ah and here is what my slicer does with my Model:

How important is the bevel to you? The best way I know of to merge the letter shapes into non-intersecting bezier curves is actually to do it in Inkscape, then import as SVG. That curve object can be beveled and converted to a mesh, but the mesh will still have self-intersecting parts at various concave corners. That won't happen if it is just a straight extrude however.

ok thanks, but if i do it from vector drawing, can i get the angle of the text? Only shrinking the top layer isnt the same. top text needs to be thinner

I would suggest you to separate each letter (L > P > "Selection) then use the boolean modifier :) Or maybe try the remesh modifier, it could help !

Start with flat text without bevel or extrusion, convert it to mesh and fix the topology in a manifold way so that there are no overlaps or disconnected vertices. After you have a clean 2D mesh you can just extrude/solidify modifier it and bevel the top edges.

Ran into exactly the same problem. Is there any other 3D modeling software that can handle this neatly?

I find this a rather unsatisfying answer, as it does not involve "proper" modeling, but a functional way to get an acceptable mesh for 3d printing (I think/hope) would be to bake a height map of your object, then use that height map to displace a subdivided plane.  This bypasses the problem of self-intersecting geometry because the height map is an undifferentiated mass of height data.

The crispness of your edges and the smoothness of your surfaces will depend heavily on how much you subdivide your plane.  It will also depend on the resolution and bit depth of your height map image, I'd suggest using a 16-bit file format.  You'd have to relate all that to your 3D printing methodology to determine whether you'll get an acceptable result.
Please let me know if you'd like a description of how to bake a height map or what I did in this particular case, my previous answer here has some info.
But as a general matter, I'd love to learn a more . . . elegant solution to the problem of self-intersecting meshes.  Something that doesn't involve a lot of manual retopologizing.

Thank you for the answer, but if I get it right, the height map only makes a smooth surface and has nothing to do with the inner geometry?? from the outside my model looked nice and closed, but the inside geometry makes the slicer mistake the edges and make the overlappings to holes. Is there no way to remove it? even roughly it would be okay as long as the slicer closes the object on top

I'd say the height map method REMOVES the inner geometry completely.  There's nothing inside to create weird holes, overlaps, and conflicting normals.  If you want to keep your geometry, boolean tools will help you merge separate objects (as per @Kevin Jourdain), but the problem remains of the self-intersecting geometry created in individual letters when you bevel them.  The tool that comes closest to addressing this issue is (in edit mode) Mesh-->Faces-->Intersect (Knife) with "Source" set to "Self Intersect" and Mode to "Cut."  Try it!  It might work for you, but often.disappoints.

ah okay thanks. well thats what i already tried with knife intersect... didnt work for me. now that I understood what you say i want to learn how to use the height map method!


text:
Why does inserting a new keyframe effect previous keyframes?
I'm new at the Blender animation thing and having a problem where my objects will move without me telling them to.
I start at 1, adding all my objects to the first keyframe as a starting point.

Then I rotate a few objects, and make a second keyframe at 25.  I use the timeline editor to play the animation, and everything works great.

So I move on, rotating a few other objects, and making a third keyframe at 50.  This is where everything breaks downs.  The keyframe at 50 looks great, but when I go back to 25, everything has moved.

And this is rewound back to 25...

All the objects are suddenly way spaced out from each other.  Why would creating a third keyframe ruin the first 2?

I am guessing, but here's one problem. Have you parented the objects properly so there are object origins or, ideally, empties where the rotations take place? Because I guess you haven't just rotated stuff, you have also moved it even though you didn't mean to.
Blender doesn't remember around what you have rotated objects. Sometimes it rotates around the cursor, sometimes around a common selection center. For key frames, that is irrelevant. Key frames only care about the object origin mostly. When you rotate more than one object, it's almost always also movement.
If you don't use armatures, put empties where your box is supposed to fold and create a hierarchy of parents and children. That way you can rotate the inner part around the empty and all other parts will follow, even if they're not animated.
An example:

The sides of this unfolded box are 6 separate objects, similar to your setup. I just used a lot of empties as well.
Boss is the main empty. If I move that, all others follow.
e1 - e4 are all parented to boss and e5 is parented to e4. If e4 is rotated, e5 behaves as if glued to it.
That's also the reason why my top flap does a 180° turn. I made e4 turn 90° and e5 turn 90° as well and it adds up.
The empties may be invisible, but they're handy pivot points and all the faces are parented to the empties, so they move with them. That's the result when animated:

You could achieve the same with bones. Then you could model your box out of a single mesh and deform it by posing the bones. But empties are fine, too.


text:
Make several (same level) objects children of new empty?
Is there a shortcut to make several selected objects children of a new empty object?
That would be so handy, instead of always doing a new empty and moving it somewhere and then parenting all objects to it.

without the ops:
import bpy

context = bpy.context
scene = context.scene
objects = bpy.data.objects

selected_objects = context.selected_objects.copy()
mt = objects.new('parent_empty', None)
scene.objects.link(mt)

for o in selected_objects:
    o.parent = mt

You'd need to wrap this in operator /addon code so you could trigger it from a shortcut or menu, permanently..
Templates for Operators can be found in: TextEditor -> Templates -> Python -> Operator Simple

Here is a script that create an empty and make it a parent for all selected objects, select the objects and run the script
import bpy

selected_obj = bpy.context.selected_objects.copy()
bpy.ops.object.empty_add()
for obj in selected_obj :
    obj.parent = bpy.context.object

the script at the end is in an addon for reuse , install it and you can trigger it with pressing P, you can change this in the user preferences :

select the objects
press P
select the Empty type ( axis, arrow, cube ...)
select the empty position ( world center, median point, at cursor, active object )
check parent inverse if you want to set the inverse
you can set the name of the empty in name field

bl_info = {
"name": "Add a parent",
"author": "Chebhou",
"version": (1, 0),
"blender": (2, 65, 0),
"description": "Adds a parent for the selected objects",
"category": "Object"}

import bpy
import sys
from bpy.props import BoolProperty, EnumProperty, StringProperty

def add_parent(self, context):
    selected_obj = bpy.context.selected_objects.copy()
    if self.position != 'None' :
        exec("bpy.ops.view3d.snap_cursor_to_%s()"%self.position)
    bpy.ops.object.empty_add(type = self.type)
    bpy.context.object.name = self.name
    inv_mat = bpy.context.object.matrix_world.inverted()
    for obj in selected_obj :
        obj.parent = bpy.context.object
        if self.inverse :
            obj.matrix_parent_inverse = inv_mat

class AddParent(bpy.types.Operator):
    """Create a new parent"""
    bl_idname = "object.add_parent"
    bl_label = "Add a parent"
    bl_options = {'REGISTER', 'UNDO'}

    type  = EnumProperty(
        name="empty type",
        description="choose the empty type",
        items=(('PLAIN_AXES', "Axis", "Axis"),
                ('ARROWS', "Arrows", "Arrows"),
                ('SINGLE_ARROW', "Single arrow", "Single arrow"),
                ('CIRCLE', "Circle", "Circle"),
                ('CUBE', "Cube", "Cube"),
               ('SPHERE', "Sphere", "Sphere"),
               ('CONE', "Cone", "Cone")),
        default='PLAIN_AXES'
        )

    inverse = BoolProperty(
                name = "parent inverse",
                default = 0,
                description = "check to set the inverse"
                )

    position  = EnumProperty(
                name="parent position",
                description="where to create the parent",
                items=(('center', "World center", "World center"),
                       ('None', "Cursor position", "Cursor position"),
                       ('selected', "Median point", "Median position"),
                       ('active', "Active object position", "Active position"),),
                default='center'
                )

    name      = StringProperty(
                name ="name",
                default ="Parent")

    def execute(self, context):
        add_parent(self, context)
        return {'FINISHED'}

addon_keymaps = []

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

    wm = bpy.context.window_manager
    kc = wm.keyconfigs.addon
    if kc:
        km = wm.keyconfigs.addon.keymaps.new(name='Object Mode', space_type='EMPTY')
        kmi = km.keymap_items.new(AddParent.bl_idname, 'P', 'PRESS')# you can chnge the shortcut later
        addon_keymaps.append((km, kmi))

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

    for km, kmi in addon_keymaps:
        km.keymap_items.remove(kmi)
    addon_keymaps.clear()

if __name__ == "__main__":
    register()

link to Addon file


text:
There is a missing part at my object when I render in cycles
This is my model in the solid view, we can see it is complete.

but in the render view or in the final render it is clipped :

here is my viewport clipping settings :

I have added a cube to the object in edit mode ; the render shows me all the form but not the cube!!!! as you can see

to clarify:
I added to the object (in edit form) a cube and move it far away. Now the render shows all the form as if the new mesh is moving some clipping plane...

I want to add an image or the file but I do not know how to do it, is not a camera clipping problem...

@Guillermo are you using mask modifier?

no, the only modifier used is a multirresolution

As you can see at the first picture the sofa it was made of two objects but the render only cuts 1 object, not the other.

@Guillermo can you upload the blend file use this site pasteall.org just copy the link when it uploads

the link  http://www.pasteall.org/blend/34577

@Guillermo is this the correct file? because it is looking normal ! render_result

You made a render view with the camera as it is? in Cycles? But the preview render at the 3d view?

@Guillermo yes see the render result ^

Try it the render directly at the 3d view, the problem is there.

@Guillermo it's the same no clipping ! all good ; check the file you uploaded again please

The preview render still cut the image, but when I render the active scene with the render panel doesn`t cut. The problem is on the preview render window...and only with that object!

@Guillermo "back face culling" can cause clipping but the model is fine ,so for the moment i have nothing to add ,try : reset the user settings, append the object to a new clean scene

Is not that problem, can you see the preview render fine at the 3d view? I have unchecked the "back face..." you will see that is cutting front faces on my attached images

@Guillermo yes the viewport render is fine

When I set the Viewport BVH Type to Static in Render settings > performance (see http://blender.stackexchange.com/q/32465/599 and http://blender.stackexchange.com/q/7510/599), the couch renders correctly. Looks to me like a bug with dynamic BVH, you may want to report this to the tracker.

I don't entirely understand what you were doing with the troubleshooting, but the problem may be the camera clipping.
In the Properties Panel (N while cursor is in 3D view) you can change the viewport clipping.
By selecting the camera and going to the camera properties you can change the camera clipping.

Increasing these values will allow more of the scene to be rendered.

I was having this problem and it was driving me bonkers so I started turing off the render view in my my modifiers. When I turned off my multires modifier it fixed the problem... So I just took it off and added a new one and the problem fixed.

authors: إسلام البشبيشى


text:
cycles bake script error: "Circular dependency .."
I'm working on a simple bake script - if the materials are just colors the script works - but if any of the materials include a texture - then I get a "Circular dependency for image.."
when I manually replicate process of this script - baking works fine.
The script works like this:
for each object within a group named 'bake':

create a new image to hold baked texture
loop thru each object material + add extra image node
bake object
remove extra image node

test file:
http://www.pasteall.org/blend/39951
# list items in a group names 'bake'

import bpy

# bpy.ops.baketool.bibake() - quick test to use BAKETOOL addon for baking from CI - it works well

bake_size = 512
uv_channel_name = "B"

# function to create new image
def create_new_image(name):
    # create blank image
    bpy.ops.image.new(name=name, width=bake_size, height=bake_size) # new image

    return

# function to add nodes
def add_bake_nodes(mat, name):

    # make sure using nodes
    if mat.use_nodes == False:
        mat.use_nodes = True

    nodes = mat.node_tree.nodes

    node = nodes.new(type="ShaderNodeTexImage")
    bake_img_txt = "bake_img_" + name
    node.name = bake_img_txt
    nodes[bake_img_txt].location = 300, 160
    nodes[bake_img_txt].image = bpy.data.images[name]
    nodes[bake_img_txt].select = True

    node = nodes.new(type="ShaderNodeUVMap")
    bake_uv_map = "bake_uv_" + name
    node.name = bake_uv_map
    nodes[bake_uv_map].location = 100, 160
    nodes[bake_uv_map].uv_map = uv_channel_name
    # connect nodes
    outn = nodes[bake_uv_map].outputs[0]
    inn = nodes[bake_img_txt].inputs[0]
    mat.node_tree.links.new(outn, inn)

    return

def remove_bake_nodes (mat, name):

    nodes = mat.node_tree.nodes
    bake_img_txt = "bake_img_" + name
    nodes.remove(nodes[bake_img_txt])
    bake_uv_map = "bake_uv_" + name
    nodes.remove(nodes[bake_uv_map])

    return

def select_none():
    for obj in bpy.context.scene.objects:
        obj.select = False
    return

bakegroup = bpy.data.groups['bake']

print ("ITEMS TO BAKE: " + str(len(bakegroup.objects)))

# select none
select_none ()

for object in bakegroup.objects:
    objName = object.name
    print ("name: "+ objName)
    object.select = True
    bpy.context.scene.objects.active = object

    # num materials
    num_materials = len(object.data.materials)

    # create new image for bake
    create_new_image(objName)

    # add bake nodes
    for num in range(0,num_materials):
        print("  -material "+ str(num) + ": "+ object.data.materials[num].name)
        object.active_material_index = num
        material = object.active_material
        # add bake nodes to material
        add_bake_nodes(material, objName)

    # bake object to internal img data
    # assume bake settings are set
    # select UV channel B
    uv_textures = object.data.uv_textures
    uv_textures.active = object.data.uv_textures[uv_channel_name]
    bpy.ops.object.bake(type='COMBINED')

    # remove bake nodes
    for num in range(0,num_materials):
        object.active_material_index = num
        material = object.active_material
        remove_bake_nodes(material, objName)

    object.select = False

Cycles is baking on the texture ( not the new image ) itself because you haven't changed the active node through the script, just add nodes.active = node inside add_bake_nodes() like this :
# function to add nodes
def add_bake_nodes(mat, name):

    # make sure using nodes
    if mat.use_nodes == False:
        mat.use_nodes = True

    nodes = mat.node_tree.nodes

    node = nodes.new(type="ShaderNodeTexImage")
    bake_img_txt = "bake_img_" + name
    node.name = bake_img_txt
    nodes[bake_img_txt].location = 300, 160
    nodes[bake_img_txt].image = bpy.data.images[name]
    nodes[bake_img_txt].select = True
    nodes.active = node   # set it as active node

   ......

"Circular dependency for image" because the image that is used as a texture (read from) is the target of the baking (written to)


text:
How to add window specific shortcuts?
The steps explained here by Ray Mairlot for how to add custom shortcuts to pretty much anything in Blender are easy to understand:
https://blender.stackexchange.com/a/63125/50625
But I would like to do all of this, but limit the new shortcut to a specific window, just like how most of Blender's other default shortcuts work.
In my case, I want to make custom key bindings for controlling the animation timeline.
I want to stop/start with SPACE, for example, but I don't want to un-bind the default search box that normally appears when pressing space everywhere else.
Thanks

"do you not prefer that new users to add to existing questions" No, if you have a different question post it has a separate post. Link to the original one  if it is relevant.

I was only asking because I felt like it was not a different question, but a continuation on the information already there.
There are so many forums that will blast you to pieces for "spamming" with already existing questions.

We do not have the mechanisms for you to ask in another person's question. You either have to post a comment there, which will most likely go largely unnoticed, or get you pointed towards posting a new question at best. Or you would have to (mistakenly) post an answer, which your promptly be deleted and again recommend you post a new question instead. But thanks for actually caring, most newcomers don't even bother. Do go through our help section to get acquainted with the local rules.

For your first question regarding comments, check this out:https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-can-i-do-instead.
To add the Space control for playing and pausing your animation in the timeline, that can be done by opening the User Preferences and going to the input tab. Find the Timeline and click the little arrow to expand it. Then click Add New to create a new shortcut. Set the control to be Keyboard and set the key to Space, then set the operator to be screen.animation_play. I found the operator by searching for AltA and using the Key Binding search, then copy pasting the operator. Since this is a timeline specific key binding, all other Space shortcuts will still work.

That's wonderful!
Thank you, that's exactly what I needed!
I really love how customize-able Blender is.
Searching for key-binds like that was a great tip!
Is it possible to search for "ALT+A"?
When I press ALT+A it is registering the "A" but not "ALT"
Yes about the comments, the very first point there:
"There are big problems with spam. Automated filters cannot catch all of it"
That is exactly why I was asking, because isn't it even worse to have bots spam out NEW threats rather than "just" spamming comments?
I'm genuinely asking, I'm not trying to argue :)
Thanks again!

Oh yes!
I can just literally TYPE "ALT".
Haha this is so great!

This isn't the place to discuss how SE sites are run, so I can't comment on that. The linked question did have some decent info though, and you can try looking around on that site for answers to questions in that area.


text:
Issues importing grouped objects with materials and textures
I'm new to blender and still trying some simple things.
I have a scene and importing various models I download from blendswap.com.
The problem I have is: no matter what import option I use, be it append Shift + F1, or simple copy-paste, objects are copied without materials and textures.
What I usually do, since models I import consist of many objects, is group them, and then import, so I can easily manipulate them.
Here is one example:

Download and open the model
Select all objects in one of three chairs in the scene
Copy Ctrl + C
Open my blender file
Paste Ctrl + V
Create a group
...

But the problem is that just the models import, I see no colors or materials when I render the scene.
I also tried File > External Data > Find missing, as well as googled around, however I had no luck finding the solution to this problem.

Are the original objects textured at all? Do they include materials setup you said textures? Did you download or include the textures at expected location? Are they prepared for your current render engine? Are you matching the current render engine to the one the assets were made for?

have you UV unwrapped the objects and applied the textures?


text:
How to interface with blender using IPython from terminal?
Is there any way to interface with blender using IPython in blender 2.68? I have tried many many options over the past couple of days and none of them have worked for me...
The best option for me would be if I could use IPython in the terminal I initiated blender with.
I have tried using IPython.embed with no success, and I also have tried this, but I can't get it to work with blender 2.68a.
Perhaps there is a way to start an instance of blender from within an IPython session?

I don't know much about this, but from what I can tell, blender --python-console does what you want.

Yes, simply run this in a text editor
import IPython
IPython.embed()

it's even in blenders official documentation.
Note:
This will lock Blenders UI and prevent any redraws or user input while the console runs. You can start IPython in the terminal, execute some commands, then Ctrl+D, to exit the IPython and use Blender again.
There is no convenient way to avoid this.

OK, I've tried running a script containing this at startup, but I get "RuntimeError: input(): lost sys.stdin"

@user1276, define "running a script containing this at startup", I tried saving these 2 lines in a script, then running: blender --python test_ipython.py and ipython gave me a prompt in the terminal I started blender from.

Yes, this is the command I tried exactly, except when I tried it with these two lines only I received "ImportError: No module named IPython". To solve this, I have three lines appending my local python site-packages to the blender python sys.path. I also included the lines mentioned in the documentation you linked to.

I tried it without the other lines from the documentation and am given a prompt, but now blender runs with a completely blank screen... When I ctrl-D out of ipython, blender loads the gui into the window... Any ideas, ideasman? :)

@user1276 "without the other lines from the documentation", Please try to be specific or it becomes hard to provide useful feedback.

Quite sorry, without these:
import code \n     namespace = globals().copy() \n     namespace.update(locals()) \n     code.interact(local=namespace)

When I run in debug mode, here are the two debug logs printed to the terminal between exiting ipython and the blender gui loading:
recalcob Cube
recalcdata Cube

Not sure why this would fail: suggest to, install fresh blender, backup / remove your user preferences. Remove the "python" directory in the fresh blender install (forces use of system python), then try running blender from a console and running this in blenders text editor import IPython; IPython.embed(). Troubleshooting this stuff remotely is tricky but think this has the greatest chance of working.

OK, thank you so much ideasman42! I really appreciate all your help on this. I will mark this question as closed because you have thoroughly answered the solution that will likely work for most people. I have started a new question with the specific details of my problem, and I will proceed in the manner that you have suggested.

For anyone coming upon this question in 2020, I had a similar want and wanted to use Blender from a Jupyter Notebook.
I made a Jupyter Kernel to do this for Blender 2.8 here. It uses asyncio so the Blender UI is not locked when using the kernel.

Brilliant. Going to try set it up this weekend :)

We created a sample notebook available here, and there is an installer for this blender kernel here. Have fun!

See also link

Start Blender with a threading that run IPython.embed()
blender --python-expr '__import__("threading").Timer(0, __import__("IPython").embed).start()'

# It won't lock Blender UI.
# Have fun with IPython in blender!

If not install IPython:
# Get pip: equl to /blender-path/2.xx/python/bin/python3.7m -m ensurepip
blender -b --python-expr "__import__('ensurepip')._bootstrap()"

# Update pip toolchain
blender -b --python-expr "__import__('pip._internal')._internal.main(['install', '-U', 'pip', 'setuptools', 'wheel'])"

# pip install IPython (or any package)
blender -b --python-expr "__import__('pip._internal')._internal.main(['install', 'IPython'])"
```


text:
How can I read data from an Arduino without resetting it?
I would like to read the data printed by an Arduino in Blender but the Arduino is reset each time Blender reads the data.
Here is my Blender code:
import bge
import mathutils
import serial

from math import pi
def Player():
cont = bge.logic.getCurrentController()
obj = cont.owner

serialport = serial.Serial('COM3', 115200)

# tell Arduino to send values
serialport.write('a'.encode('ascii'))

# read a line from the serial port
line=serialport.readline()

# Pi radians = 180 degrees so, since Arduino sends values between 0 and
# 255, we devide by 255 in order to spread the 255 over pi radians (from
# -90 to +90 degrees).

# There is one angle for each axis, and there are 3 axes.
Angles=[0.0,0.0,0.0]  # inicial angles for X, Y and Z axes
AnglesNumber=3       # number/quantity of angles/axes
for i in range(AnglesNumber):
     Angles[i] = Angles[i] + (float)(line.split()[i])
     # And we convert each value to radians (from -pi/2 to +pi/2).

mat_rot_z = mathutils.Matrix.Rotation(Angles[0], 3, 'X')
mat_rot_x = mathutils.Matrix.Rotation(Angles[1], 3, 'Y')
mat_rot_y = mathutils.Matrix.Rotation(Angles[2], 3, 'Z')

obj.localOrientation = mat_rot_x * mat_rot_y * mat_rot_z

First try to minimise the code. Your Arduino will probably not be reset by parsing text as floats or converting angles to matrices. By removing all but the relevant code it'll be easier for you and us to drill down to the real problem.

Related: Blender game controller using arduino not working properly

I wonder if the problem does not come because the sensor true level triggering is activated, but if I deactivate it, i have to use a while loop only to read the given in a loop. but when i do that like this, blender don't work, so i don't know how to do...

You create a new Serial each time you call that script.
It is better to create it once and communicate with the connection as long as it is established.
Unfortunately I can't provide you with working code due to non-existence environment.
Connecting
One script gets executed and establishes the connection once:
serial = serial.Serial('COM3', 115200)
owner["serial"] = serial

Communicating
A second script handles communication (polls for data) running at each single frame.
serial = owner["serial"]
serial.write('a'.encode('ascii'))
line = serial.readline()
...

Combined
Due to the strong dependency between connecting and communicating, you might want to combine both operations:
serial = owner.get("serial");
if not serial:
    serial = serial.Serial('COM3', 115200)
    owner["serial"] = serial

serial.write('a'.encode('ascii'))
line = serial.readline()
...

I've test with if not like you said but that don't work :/

What does not work? (you can discuss the topic at blenderartists.org)

When i run the bge, that don't do anything

Sorry for the late answer, but there were some holidays in-between. Can you add some print statements to check that the code gets executed?


text:
Rigid Bodies with Follow Path Constraint
I am creating a scene in which an object with rigid body type active is following a path (constraint).

I wanted to test it (with the default cube) but the problem is that the plane is also a rigid body (passive) and I would like the cube to interact with it. But it seems like when using follow path constraint, the rigid bodies do not interact with each other.

I followed the method provided by this answer and even got somewhat close to what I needed, but the problem is that I want the active rigid body to follow the path and still interact with the passive rigid body. I want the cube to follow the path till the end interacting with whatever comes in between. I am attaching my blend file here:

Could you clarify what you mean by interaction in this case? Do you want to make the body rotate according to the rigid body physics while keeping it's center of mass where it would be according to the constraint?

The blend file which i uploaded shows the cube following path makes contact with the plane and obeys the rigid bodies principle but deviates from the curve path. I want the cube to follow the path till the end and yes make the body rotate according to the RBP when it touches the ground. Would really appreciate if anyone could help.


text:
What are the differences between lamps in Cycles and Blender Internal?
I've noticed that if I have an existing scene setup for Blender Internal and I switch to cycles, the lighting is completely off. I sometimes have had to start a new scene and import the models I want from the previous scene to get the lighting to work.
What is different in the way they work?

What are the main differences between Blender Internal and Cycles?

In Cycles, part of the way that lights work is through an emission shader; unlike BI which uses lighting primarily from points, the way Cycles works is friendly to the concept of physical objects emitting light; this leads to incompatibilities because traditional "lights" don't physically occupy space, and sometimes seem to confuse Cycles.

Cycles uses a physically correct light falloff by default, Blender Internal uses a smoothed falloff with a Distance parameter. Cycles can give a similar falloff by using the Light Falloff node with Smooth parameter.
Cycles lamp strength for point, spot and area lamps is specified in Watts, while Blender Internal has no clear physical unit that I know of. For Cycles this means you typically need higher values, as you couldn't use a 1W lamp to light a room, you need something stronger like a 100W lamp. For Blender Internal the default Distance of 30 means you can use lower strength values.
Sun lamps in Cycles are specified in $\frac{\text{Watts}}{\text{m}^2}$, which requires much smaller values like 1 $\frac{\text{Watt}}{\text{m}^2}$. This can be confusing, but specifying strength in Watts wouldn't have been convenient, the real sun for example has strength 384600000000000000000000000W. Emission shaders on meshes are also in $\frac{\text{Watts}}{\text{m}^2}$.

+1 for units; that's cool that it actually uses watts. Is one Blender unit = 1 meter?

Yes, one blender unit is one meter.

In Cycles, part of the way that lights work is through an emission shader; unlike BI which uses lighting primarily from points, the way Cycles works is friendly to the concept of physical objects emitting light; this leads to incompatibilities because traditional "lights" don't physically occupy space, and sometimes seem to confuse Cycles.
In addition, Cycles is a more complex render; light bounces around off of even diffuse surfaces, meaning that a scene that is not enclosed or that is enclosed with objects that are likely to bounce back unexpected light (for instance, a normal outdoors scene within a large magenta cube), may wind up causing different results than were originally anticipated.

Little Stack Exchange tip; you really don't want to award answers until at least 24 hours after asking the question-I've heard this sort of thing explained much better than I did, and people tend not to answer questions that have already been accepted; this is particularly mediocre answer, in my opinion.

Looks like light strength in Cycles is 100 for converted lights (give the default light, which has strength 1.0 in Blender Internal, after switching to Cycles nodes, you'll see what I mean). A Sun light will blow everything away easily if you don't take care about tweaking settings.

Yes, definitely. It's part of the compensation for the changes in how things light the scene.


text:
Cycles - transparent background still renders background color through glass?
Im having an issue with glass rendered where there isn't something IMMEDIATELY behind it - either objects are in distance or there actually isn't anything there. I need it to render CLEAR, meaning whatever is in background even if it is far off, like how this renders actually the transparent background texture default:
Alpha channel through glass material instead of background (Cycles)
I just have a normal glass setup, with a mix shader between transparent and glass nodes. Problem is, when I look at my glass where isn't something RIGHT behind it it turns the world color (white), despite that my film is set to Transparent and I dont render the background color:

What can I do to make glass ACTUALLY transparent?
In recent 2.79:

Please attach the .blend

@WhatAMesh If you going to ask someone to upload a blend file it is important to say where they should upload it. E.g. https://blend-exchange.giantcowfilms.com/

@WhatAMesh they're all too big but honestly if I just make a glass cube in a new cycles file I have the same thing. If you have it working differently could you post/explain what you do when making glass?

Have you tried the 'transparent glass' under film in the render tab?

Where is that? I just see "Transparent" under Film in the tab with camera icon @WhatAMesh

Under Render>Film you can check 'Transparent' and afterwards 'Transparent Glass'. It may be possible that you are using a blender version, which doesn't have this option. If you aren't bound to any particular version I suggest downloading a Daily Build from https://builder.blender.org/download/
I tried with MixShader (Transparend BSDF and Glass BSDF) and just Glass BDSF, both of them work for me.
The cubes are actually transparent, but it of course then must take some background here in the stackexchange.
Edit, because question was edited:

Enable 'Transparent'
Enable 'Transparent Glass'
Disable 'Transparent'

This way 'Transparent Glass' is enabled without making the background transparent (Imgur has problems with BSE so direct link: https://i.sstatic.net/fKSTv.jpg)

I didn't know that option was there. Looks like it wasn't in 2.79b but is in 2.79.5 (build from early July).

Ok, thanks yes I didn't have that version. I checked it, but now 2 problems - 1. see edit, glass is transparent yes but it goes THROUGH the background objects, even though world background is set to a color. 2. Unrelated but why is this new version all pixelated in previewing render mode? Its lower quality..

@skyguy I edited the answer, it works for me when I take an environment texture. If you have more problems add a .blend.


text:
Make sine wave around a circle?
Ok I found this question with no answers - Sine wave on a ring and How do I make a curve in the shape of a simple wave form (sine)? to make a sine curve. I need what the first question asked for -
I now have the sine wave curve, but I need it to go around in a circle. How can I achieve this?
EDIT:

Glad you fixed it, but.. I've been trying to reproduce this.. and can't! I'm curious about how you managed to lose the axis option?

old version! of blender

Via the UI:
Simple Deform... modifier.
for any sine wave with a whole number of cycles, created aligned to world axes

Bend
360 degrees
In the wave's Object-Space axis of amplitude.

Simple script
Translate the circle primitive into a sine wave.  The primitive circle distributes the verts x, y coords in a circle.
The z coordinate is adjusted to oscillate in a sine wave.

import bpy
from math import sin, pi
verts = 128 #  verts per circle
radius = 1 # radius of circle
freq = 16   #  how many phases of sin wave
amp = 0.1   # amplitude of wave
# angle per vert
apv = freq * 2 * pi / (verts)

context = bpy.context
bpy.ops.mesh.primitive_circle_add(
        vertices=verts,
        radius=radius)
ob = context.object
me = ob.data
for v in me.vertices:
    v.co.z = amp * sin(v.index * apv)
me.update()

Thank you for answering. I am learning Python by studying examples like yours.


text:
How to achieve toon shading like this in eevee?
Alright, this has been asked before but I haven't found a satisfactory answer. Is there a good handdrawn toon shader in existence for eevee? Here's the look Im going for - toon, painted, around the edges but affected by the color of light directed on it

This is from the game Ooblets. So far, Ive tried using a standard toon shader https://gumroad.com/l/gkExH and feeding in painted textures. The issue is that this shader isn't affected by color of light, and the "steps" in separating the colors of the toon shader are hard lines, not fuzzy handdrawn.
Hard steps:

Soft, handdrawn steps:

How can this be achieved? Does this exist?
Here's what Im getting at. After painting the textures, the effect works with a generic toon shader in full lighting:

The problem is, it does not react to color or strength of lighting, beyond the banding. So with a dark blue light (for nighttime) we get this:

The only solution I can think of is just keeping the lighting constant to achieve the banding, then just paint the textures per my lighting setup? This feels too static.

This doesn't look like toon shading at all. It seems to be regular shading on low-poly assets with smooth shading.

@metaphor_set Can you explain what you mean by regular shading? Because if I use a normal diffuse shader smooth shaded Im not going to get those hand painted steps like the tree demonstrates

There is a VERY high amount of post-processing going on in these images (color correction, vignette, bloom, particles, etc.) and it looks like textures are, well, hand painted. so your best bet is to paint textures directly on the assets

@Gorgious See my edit

@metaphor_set see my edit

There is a lot of components at play to achieve the unique artwork you posted as a reference. For this reason, there is no silver bullet answer on how to recreate a 100% match. That said if you follow this tutorial it will teach you how to control the propagation of light on meshes, which should be a good start. The basic setup is to use a Diffuse BSDF and plug it in the Fac of a ColorRamp.

Ok, thank you for the tutorial link. See my edit - the banding seems to be fine with a lowpoly smooth shaded model. Its the reaction to light that is problematic

I think it would be worth posting a screenshot of your material node graph.


text:
Odd STL result, but I don't know why
So I drew a threaded cap.  This is my first attempt.  It looks OK in Blender but when I view the resulting STL file in an STL viewer, it looks very wrong and I don't know where to begin to fix it since it already looks ok in the modeler.

Ok, I figured it out.
When you HIDE an object and forget that you hid it... It will be there in your export laughing at you.  Don't be like me... remember your hidden objects.