Problem with shadow catcher and a question about alpha blending

1) It is possible with the compositor. You need to pull a pass with the shadow catcher object only, modify its alpha and composite it. However, compositing back the foreground object with the shadow catcher pass might be tricky, specially in the edges where the solid object meets the shadow.
A useful tip in this case is to work with both alphas (solid foreground's and catcher's) and make sure they are combined properly rather than working with RGBA. Check whether those alphas are correlated or uncorrelated, depending on your setup.

2) As cegaton pointed out and you realized already, the reason for the difference is blending images in a linear space (blender) vs. blending images in a non-linear space (photoshop and others).
Blender works with linear images all the way. What you get from the compositor is linear, even though the display transform makes the final composite non-linear and also saving as byte-images (like PNG, JPG, etc. does ,as 8-bit images need to be gamma-corrected to avoid artifacts.
So, even when images are converted to non-linear in the end, all the blending operations inside the compositor are performed on linear data with associated alpha (also called pre-multiplied).
Photoshop does it completely different, for a number of reasons, being legacy the main one: Back in the day when it was only possible to edit 8-bit images, it made sense to work with gamma-corrected sources with unassociated alpha (like PNGs).
Things have changed since, but Photoshop kept the non-linear editing and a lot of graphics applications followed its lead doing the same.
It's good to keep in mind that linear blending works closer to reality than non-linear blending, so take Blender's result as the right one (which means that you should try making Photoshop look like Blender, not the other way around).

3) Yes it is!
You need to turn your linear associated images to non-linear unassociated ones.
With the alpha convert node, you have to make the buffers unassociated (premul to straight), then with a gamma correct node "bend" the linear image to 0.4545 (1/2.2).
The result will be merged with an alpha-over node (make sure you mark the convert premul checkbox, as the input is unassociated), and right after that node a gamma node set to 2.2 will take the result back to linear (which is necessary as Blender colour management expects linear to apply the display transform and the output gamma-correction.

Check the following image, it comes with a bonus: Did you see the ugly dark fringe around the foreground? That's one of the nasty effects of alpha blending non-linear images ;-)


Plane is not smooth when I render at 400 sample

You are dealing with Coplanar faces, or surfaces that are parallel and/or overlap.
They should be separated; otherwise you are going to get Z-fighting errors, Where the render engine cannot discern what is in front and what is behind and randomly renders one or the other.

Like in the real world two surfaces cannot share the same space.
If the planes are coplanar and slightly separated, but not enough for the render engine to pick up the difference, then you are dealing with precision on the depth buffer, to fix that you need to adjust the clip distance of the camera (and the viewport) so that the depth of the buffer encompasses your scene and nothing else. In other words the close clipping distance should start at the distance from the camera to the first point in the geometry, and the end of the clip distance should be at the farthest point of the objects not any further.
Use the viewport display>show limits option to visualize the clip range.


Just hit the axis key twice instead of once. This will make it rotate in local instead of world space.

(P.S.:  Your English is perfectly fine. Also, just as a helpful tip—if you need an exact rotation, you can always type numbers instead of dragging the mouse.)


Cycles UV/Image Editor: How can I control the Image Displayed?

UV/Image Editor Window

Cycles Render has texture nodes. Different than Blender Render.  This candidate answer may be biased towards Blender Render and may be deleted.
You may also switch to Blender Render from Cycles temporarily for a time period. Requires mouse movement and Click.  Perhaps only slightly more effort and humiliation than going into edit mode.  Some small amount of testing.  Oh, yes, ummm and do not forget to switch back to Cycles, otherwise the results could be ... Catastrophic .  Another Click.

Above image shows a pinned and unpinned image.  One is static. One follows the current mesh object in Blender Render Edit Mode, Not Cycles.  Thus we can see as many images as we want.

Viewport Shading. 2 simultaneous 3D Views.  Top is Solid Shading.  Bottom is Material Shading.  Image above.  Same Mesh.  Local Mode is meant conserve CPU/GPU resources in this contrived example.

Techniques to see the current texture for an object

Blender Render. When you enter edit mode for the Mesh, Blender makes an effort to change the image.  Please investigate. You can quickly menu into and out of edit mode.  Just confirming the OP original statement .... Cycles Render Failed this test. Even when I selected the texture node in the Node Editor Window.  This selection action has some effect in other parts of Blender such as Baking.
If computer resources permit, then you can have a 2 or more ... 3D Views, one with Material displayed. Local Mode may control CPU resource consumption.  More control with display options.  Or Switch Between Material and Non Material in Single 3D View.
Blender allows multiple windows with Menu/Window/Duplicate Window. You need not flood your current window as forbidden in a comment below.  This would again allow multiple 3D Views in the own window. Window meaning here is different than a 3D View.
You can open up 2 or more ... Image Windows. Pin the result of one by enabling "Display current image regardless of object selection". Enter mesh edit  mode with one object, choose the image window non pinned and select a new image.  You can see two images at once.  At least until you enter edit mode on a different mesh.
A single quick frame render may be a reminder.

Blender Behaviour allows flexibility because of So Many Potential Uses

The Image Window has many uses. Blender can not always make the correct guess .  The Blender User must have control.  Blender automatically changing the image for the Blender User May be contrary to the finicky and excessively moody whims of the user.
The little menu highlighted in your question allows you to change the image displayed or show the render result.
Perhaps you just want to inspect for fun, one of your many images.
Image Window can display the new result of Texture Painting so the result image can have no partner mesh. Odd Situation. Please search Texture Painting if that suits you.
Blender Render. You can have many images associated with a Mesh as  Material Textures in the Texture Panel.  The Blender User must be able to inspect the exact image that User desires at that moment.  Even if the images are displayed in the Material Window or Texture Panel.


To get the object to appear above the character, the simplest way is to just move the speech bubble mesh above the origin in edit mode.

To rotate the speech bubble, use the Track To Actuator to make sure the object is always facing the camera.

Or, even easier,

Under material settings, set the speech bubble to 'billboard', this way, it will always point at the camera automatically. You'll need to make sure the normal of the mesh is pointing at the +X axis of the world for it to appear correctly.


How to get correct context in animation nodes script

Then you launch script from AN, bpy.context doesn't include active_object anymore. So, I suggest creating context object from scratch, just 2 elements are necessary:

context_py = {
    "constraint" : const,
    "active_object" : rig
    }

This code works for me (but constantly resetting Inverse makes weird result):

import bpy

if Inverse:
    rig = bpy.data.objects['metarig2']
    pbones = rig.pose.bones

    for pbone in pbones:
          for const in pbone.constraints:

                if const.type == "CHILD_OF":
                    context_py = {
                        "constraint" : const,
                        "active_object" : rig
                        }

                    bpy.data.objects['metarig2'].data.bones.active = pbone.bone

                    bpy.ops.constraint.childof_set_inverse(context_py, constraint="Child Of", owner='BONE')


I don't think you can use an image like that as an HDRI, however, you can convert it into an equi-rectangular map that can be used.
Give a basic cube your Cube-map texture (it's default UV is already in the right shape), and align it properly in the UV editing tab. Make sure to connect the image through an emission shader (so it becomes it's own light).

Then, select your camera and place it in the center of the cube (since I didn't move the cube at all, it is still sitting at the origin, so Shift + S > Cursor to world origin, and then Shift + S > Selection to cursor (on camera)). I scaled the cube slightly (in edit mode) to make sure it is bigger than the camera. Press N to bring up the transform menu for the camera, and set it's rotation to 90 on the X axis, and 0 on the others. Make sure any lights are removed from the scene, or moved out of view.

Then, making sure you're in cycles, select the camera, and go to the camera properties panel. Change the lens type to Panorama, and the Panorama type to Equirectangular.

Under your render output settings, make sure that the width is double the height, whatever resolution you choose. I put 2048 X 1024, which I think is the very minimum you should use to avoid blurriness. As per convention, powers of 2 are always preferred.

Then, you can render the image - you can even turn the samples down because the camera is very close and is receiving light directly from the emission. After the render, save the image, and there you have it - an equi-rectangular version of your image. You can then load it as an environment texture and connect it as an HDRI as per usual.
Here it is connected as an HDRI. The image is blurry because for my base image I just used a cheap low-res image I took from a google search. This demonstrates, however, that the resolution of the base image matters to an extent.
In addition to the emission cube I started with, I added 2 additional objects to the scene - a rough cube and a shiny ball, just to demonstrate that it gives proper light and reflective contributions to the scene.


Imported .Obj has problem with texture export

It looks like you switched from Cycles render to Blender Internal render at some point (or maybe the other way around). When you import an OBJ, blender will automatically generate and assign materials to the models you imported, but the materials are generated only for whatever render engine you have selected when you import.

It looks like you imported the model with Cycles render enabled, then later switched to Blender Internal. Try just switching your render engine, then trying again, or redo the import/export process, making sure to keep your render engine the same.

I recognized this error because in one of your images, your material looks like some sort of sky texure-like thing, which is what happens when you switch engines and leave your materials the same.


Animation in Blender Game different from Animation Player Preview

The BGE plays animations different then Blender is doing. Not all channels are supported.

The BGE does not support the "Restrict View" animation channel (nor "Restrict Render", nor "Invisible (Material Game Settings)", nor "Transparency" ).

You can change the alpha of the material. But this is not that easy with text objects as they are special object.

A possible way is to toggle the visibility via visibility actuator.
You can also change the content of the text object on the fly by setting the "Text" property.

Remarks: When this is aimed for a game or an interactive presentation it might be worth to isolate the text from animation. E.g. A single text object that shows the description of the currently selected object. (This requires more thoughts on the design and is outside of the scope of this answer).


How do I fix this issue with weird faces?

In short, the face shown in your screenshot has 2 problems:

it is Ngon (face with more than 4 vertices),
it is non-planar Ngon (all its vertices do not share the same imaginary plane).

Chances are that you'd like to get rid of faces of this type and make sure they won't come up in future.

The thing is that there probably aren't any ways to avoid faces of any type in an automated way. It could happen that object is allowed to have Ngons on planning / modeling stage, but isn't on the final stage of working on it (when lighting / rendering). So no one knows if you are designing model or cleaning it. See When should N-Gons be used, and when shouldn't they?

The only viable option is to keep track of your topology which may be quite important for overall look of your model. So if it's a problem to have these faces, make sure not to create them! Do not subdivide faces while modeling (unless subdividing all of them); use LoopCut tool to add details along with managing edge flow orientation.

See also Topology Guides blog for great tips about modeling.

A lot could be written about different ways of modeling while preserving topology as good as possible, but generally 2 global principles should be listed:

cleaning up the model in the end of modeling stage (this could include retopologizing too);
modeling with quads or quads-tris only from the beginning.

While second comes mostly with practice, the first could be achieved with some tools which already exist (keep in mind that these tools are meant to be used for finding Ngons in meshes and finding / repairing non-planar faces in particular).

Default tools for mesh Clean-Up in Blender

Split Non-Planar faces tool will split adjacent faces if they are present and thus will show you where are they;
Degenerate Dissolve might help in deleting geometry which is not preferable like zero-area thin faces.

Mesh Lint addon

Check for Ngons in mesh with enabling adjacent option in Properties editor > Object Data > MeshLint rollout.

Mesh Analysis

With Distortion enabled you can preview faces which are not flat (non-planar, like one on your screenshot) and possibly can cause distortion of texture / shading artifacts etc.

See also:

How to flatten a non-planar face to a targeted plane?

How to make all quads or ngons on your mesh planar (2d)?

How to flatten a face to avoid distortion (make an ngon planar)


How to compare three (or n) values and output the minimum value using nodes

Shader nodes?  SeparateXYZ (or SeparateRGB, it doesn't matter, they do the same thing) and then run serial minimum operations:

Dividing by 255, because your numbers suggest you're interpreting color as values in 0,255 when Blender interprets colors as 0,1.
Serial maximum operations will work the same way.
If you want to, you can node group all of that stuff to make a MinimumVec node group, for easy reuse.


This does not cause any memory leak. It simply adds entries into your Undo list, and depending on how many undo steps you have setup in preferences the Mem reading will cap out eventually and will not grow any further.


Blender doesn't have way to directly interpret GLSL shaders. You can, however, use a BGE python script that tells blender to use a particular shader during a game's runtime.

To do this you will need two things: your GLSL shader formatted in the following way (inside of a text datablock)...

import bge

cont = bge.logic.getCurrentController()

VertexShader = """
   void main(){
      //your vertex shader here
   }
"""

FragmentShader = """
   void main(){
      //your fragment shader here
   }
"""

mesh = cont.owner.meshes[0]
for mat in mesh.materials:
    shader = mat.getShader()
    if shader != None:
        if not shader.isValid():
            shader.setSource(VertexShader, FragmentShader, 1)

and a bit of a logic brick setup:


I think the most accurate thing would be to say:

Tessellation is the process of procedurally generating additional faces.  Such as subdivision, Catmull-Clark or simple.  There are other algorithms as well.  Procedurally as opposed to manually, although of course procedural tools are useful for the artist doing manual work.

Displacement mapping is technically the process of mapping vertices to arrays to specify displacements that a mesh should undergo.  Those "arrays" are just images (there's no difference, it's just in how you interpret the data.)  And the mapping, of course, is via UV coordinates.  But that's kind of pedantic and technical, and what we really mean is the process of displacing vertices-- of moving them a certain distance prior to rasterization or raytracing, as specified by our image/array, in a vector generally specified by the vertex's normal.

First, is there any reason to perform runtime displacement without tessellation?  Hell no!  You'd bake it into the model.  Why tell your video card to do math when you could precompute that math?  You'd just be wasting GPU cycles.

Is there any reason to do tessellation without displacement?  Well, yeah.  It'll improve the silhouette.  But once you do tessellation, you might as well start doing displacement too, it's not much more expensive, a texture lookup per vert is nothing these days.

So-- no, displacement mapping does not include tessellation, not necessarily.  (Try a displacement modifier in Blender without doing a subidivide first: possible, not recommended.)  Can tessellation be used for implementing displacement mapping?  Well, yeah, it's an important part of most displacement strategies, but it's not the same thing, any more than planting food is the same thing as eating it.

Does tessellation use displacement mapping?  No.  Not in the slightest.  (Try subdividing without a displacement map-- oh wait, there's not even a slot for a displacement map on the subdiv modifier....) It enables fine displacement.

Finally: I know you want to get organized, but words are just words, and what's important are the concepts, the meaning.  You'd think 3D programmers would have their terminology straight, but very often they don't, and the reality is that when you don't understand exactly how someone is using a word, it's always worth clarifying.  Yes, even if you're talking to John Carmack.  Good books will define their terms, and you should read those definitions, and the instant you pick up a different book, you should read its definitions and forget the old definitions (for the duration of reading that book.)  Even when speaking with a single person, we can use a single word in multiple ways.  Try to figure out what people mean by "specular map" someday, that's always a fun one.


How can I make the "R" key only rotate the object around the x & y axis?

When you press R to rotate the object, press either X, Y, or Z on your keyboard. That will allow you to only rotate on one axis.


In the Properties panel > Particles, enable the Advanced option, then activate the Rotation option and choose Normal in the Initial Rotation dropdown menu. If you enable the Scale and Rotation option under Render, the scale and rotation of the peak object in the global scene will be reproduced, it can be handy.


Is there a way to write images from render process in batch mode

Think this is possible in current master now (brand new from early 2016 April ;) ).

Basically, if you run:

blender -b yourblend.blend -f 0 -- --cycles-resumable-num-chunks 24 --cycles-resumable-current-chunk 1

…you say Cycles to 'split' the render (its sampling actually) in 24 'chunks', and only render the first one.

Then you can use a script to keep that picture (by copying it e.g. to a new name), and render the second chunk, etc.

See also original commit log.


How will multiple GPUs improve Cycles' rendering performance?

There are lots of good articles out there on this topic, and short of recreating them, I can say that the two cards I use are not in SLI (wrong motherboard for it) and it uses them like two separate cores. It'll render two chunks at a time, if you tell it to use both. Some of the articles say that running in SLI is a little slower than running two separate cards, but I'm not familiar with the principles behind that.

I don't know if the rendered preview (in the viewport) benefits at all, but it can't hurt.


Here is a solution, maybe there is a simpler one.


If you select every thing Mesh objects, Lights, Camera etc then open the Object menu you will find that the Join option has been greyed out, and it wont appear in the search either.

If you select only the Mesh objects then you can use the Join function and Join operation will appear in the Search.


Spot light shows dimly through solid plane

I think is the blocking object, it's 2D. Try to get another one starting from a 3d even slightly extruded plane (extruding your gives me weird results), carving out the text. Then you might need a slightly more powerful (energy) spot, but in this way I got it working.


I cant light up the interior of an object

I found out if I select all objects in a scene and hit "W" I go to clear all restrict blender. The lights are shown!


When rendering, my FFmpeg video is fine, but it outputs a black video

I re-installed just in-case but I think what did it was instead of 'Lossless', I tried 'Perceptually Lossless'. I don't know how this fixed my problem but I'm glad it is fixed.


Display frame rate (FPS) of imported video/movie

No, Blender cannot currently expose the frame rate of Loaded movie media.
Perhaps it is something that python scripting could access via the internal implementation of ffmpeg (the media decoder inside Blender).

When you import a movie into Blender there is an option on the import panel to "Use Movie Framerate".

This will change your current scene's frame rate to match the imported footage. Otherwise you will have to look at the mismatched length of video to its audio, then alter the scene frame rate until they match up.


What is best workflow for having a scene with multiple light setups?

Instead of layers use scenes

In this example I want to have two scenes with the light on different places, so
I created a new scene by pressing the + button for scene on the info window

then moved the light to the other side and rotated it.

You can  choose to link your objects or do a full copy, is up to you and how you want to use your resources. If you link your objects then changes made in one scene will affect objects on others)

Then in the compositor I can have each scene as a render layer and switch between the two of them at will.

If you want to save each scene to a different file on the same render operation then just add file output nodes to each of the scenes.


Part of object not visible in render view

I had a similar issue. Part of my mesh was rendered in Render View in 3D ViewPort but all showing in Full Render Image (F12) see image below.

I found the solution; simple enough.
Select the Mesh in Edit Mode, then go to Mesh Menu > Clean Up > Delete Loose. (Clean the Loose Vertices Left after Applying Multier & Sculpting)

It seemed that I had some loose vertex which were creating a problem. But somehow they are not causing any issues in Full Render F12. Just issue in Render View in 3D View Port.


Changing moment of inertia in rigid body simulation

The moment of inertia of rigid bodies in Blender is currently determined only by their collision shape. In principle this could be defined separately from any collision geometry, but for most artistic purposes this approach is easier i suppose.

More importantly even, changes to the shape/inertia will not have any effect on the motion state of bodies, since the motion state is only defined by position/orientation and velocity and does not describe energetic state directly. After all it is called a Rigid Body simulation, which implies that the shape of bodies does not change over time.

This being said, you may have already given the answer: approximate changing moment of inertia by using connected rigid bodies. I've made a test using a symmetric set of secondary bodies (like the arms of the ice skater), which are connected to the central body with slider constraints. Unfortunately it looks like animating the constraint settings (x axis limits) does not work either, but perhaps there is still a solution.


How do I change Z offset in Blender 2.8?

You have 3 options;

Make whatever is in front of the object semi-transparent.
Render the object, then render what is in front of it (each perhaps on their own render layer), then composite the two renders in the compositer.
Move the object closer to the camera than the object that is obscuring it.

As far as I know, there is no "z-offset" setting for an object in blender.

Edit for followup comments

Given your example, I've come up with the following proof of concept;

I have attached the .blend file;

Explanation

First, forgive my model, it was a quick mock-up. By the time you sent your blend, I was almost ready to post :)

So, what I've done here is created a series of spheres, nested inside each other;

Then, I flipped them inside out (so to speak - I've actually just flipped the normal of all the faces by going into edit mode, selecting everything, searching for "flip normals", and clicking that option). This allows you to see all the spheres, despite being inside each other.

Note: This should be visible by default in Material Preview and Render modes, but if you want to see it in Solid mode, you'll need to turn on backface culling specifically for that mode;

Now, as for the shading, I set up the following node structure;

Effectively, what this does is flat shades the object (so you don't have the odd, inverted, shaded spheres).

To note, this is a default ColorRamp;

I only wanted the one color (no shading, no variation), so I completely deleted the first slider. Then I changed the color to the desired value.


Wire with SubSurf doesn't follow surface in Edit mode

Click on the triangle with vertices icon - last one on top row of SubSurf modifier panel.

Not always you want to have it enable in Edit mode since it can be sometimes quite confusing moving vertices affected by modifier. SO if you will have difficulties disable it to check situation.


Keyboard shortcut to take a screenshot in Blender 2.83

right click on the ScreenShot menu item, click assign shortcut. That should get you started


Why Eevee doesn't illuminate more than 128 lights in a scene in real-time?

This is a current limitation:

https://docs.blender.org/manual/en/dev/render/eevee/limitations.html

For your second question look here: Automatically hide everything out of camera view?


Open new editor pane in workspace (handle is missing)

It appears that the UI is different?  You can create a new editor pane inside a workspace by clicking and dragging in the tiny dark space between the panes.  See annotated screenshot below.


You may achieve it adding a Copy Rotation Constraint to every single letter and setting an Empty as a target.

Set the separate origin point to every single letter and add an Empty.

Select a letter, go to the Constraints header, choose Copy Rotation and set an Empty as a target. Repeat the process with every other letter.

Change the pivot center type to Individual Origins. Select an Empty and rotate it. Every letter copies the rotation of an Empty now.

Of course you may add a rotation shapekey to the entire object, but as you can see below it may cause some letters' deformations so I don't recommend it.


Getting rid of texture bleed from opposite edge

Try playing with the 'Image Mapping' in the Texture panel. If you change the 'Extension' from Repeat to Clip, the edge gets blurred with the background. Choosing 'Extend' yields a harder edge on the outside.

Extension set to 'Clip':

Extension set to 'Extend':


You have the focus of the camera set to 0  and are using a lens aperture of 1.0. Basically your scene is so out of focus that you only see gray. Change the distance value to the actual distance form the camera to your object, and maybe try a higher number for the f-stop.

To find where your camera is focusing you can enable display->Limits. If you move the focus you'll see a cross mark that indicates where the focus point is:

A trick you can do is use an empty. Move the empty to the place you want the camera to focus on and select the empty (or any other object as the focus target).


Can I reach the World's horizon_color in bge?

I'm not sure if this is what you want:

import bge
scene = bge.logic.getCurrentScene()
# background
saveit = scene.world.backgroundColor
scene.world.backgroundColor = [r,g,b]
# ambient light
scene.world.ambientColor = [r,g,b]

With r,g,b float values from 0 to 1.

If you have mist enabled, you should also do:

# mist color
scene.world.mistColor = [r,g,b]


Call a function with parameters on a certain frame

Return a callable
Please read the handler docs https://docs.blender.org/api/current/bpy.app.handlers.html A handler method takes two arguments the scene and the depsgraph. You append a function to handlers. In above update is a callable function whereas update(foo) is the result of calling that function, which without a return, returns None by default. Explaining error message.
That covered, using a method similar to answer here
Handler-script updates in viewport but not in render
Recommend passing the name rather than the object , otherwise object removal may cause null reference issues.  The object is fetched from the scene objects collection by name in the handler.
Q code
import bpy

def update_text(name, old_text, new_text, key_frame):
    def handler(scene, depsgraph):
        text_ob = scene.objects.get(name)
        if not text_ob:
            return
        f = scene.frame_current
        text_ob.data.body = new_text if f >= key_frame else old_text
    return handler

def register(update):
    bpy.app.handlers.frame_change_post.append(update)

# while testing to avoid buildup
bpy.app.handlers.frame_change_post.clear()
# update text content
register(update_text("Text", "old", "new", 10))

Am currently using 2.90alpha and this is updating both in viewport and when rendered. Will find some issues with earlier versions of 2.8 not updating in render.
Check out the answer in link above re using a text data block as input using line numbers as frames.  Instead of replacing body on each line could append or hold forward if a line is empty. (eg for example "old" on line 1, and "new" on line 10.

import bpy

# pass arguments to build a handler
def text_body_handler(text):
    lines = len(text.lines)
    # the handler method
    def text_body(scene):
        f = scene.frame_current
        text_ob = scene.objects.get("Text")
        if text_ob and f <= lines:
            body = text.lines[f-1].body
            if body:
                text_ob.data.body = body

    return text_body

bpy.app.handlers.frame_change_post.clear()
bpy.app.handlers.frame_change_post.append(text_body_handler(bpy.data.texts["Text"]))

Related
Updating text object in Blender 2.81 using python
Note also:  Avoid mixing context with handlers. It may be the case that the scene being "handled" is not the context scene. (bpy.context.scene)  perhaps given a bit of a bum steer by answer in Q link..


What is the easiest way to create peristalsis (when food moves inside food pipe) like animation in blender?

You could do it with Cast modifier as explained here.

But first I proposed the Lattice method:

Create your food and oesophagus objects.
Create a lattice with shift A and scale it in Object mode so that it encages a little bit more than your food.
Subdivide your Lattice in the Properties panel > Data > Lattice and U, V and W values (subdivide more than I did so that you'll be able to create details like the little pinch contraction).
Give your oesophagus a Lattice modifier with the lattice as the Object.
Select your lattice and in the Properties panel > Data > Shape keys, create a basis shapekey with the "+" button, then a second one that will be the deformation shapekey.
Keep that second shapekey selected, go in Edit mode and play with the lattice vertices so that it deforms the oesophagus the way you want.
Come back in Object mode, and play with the Shape Keys Value to deform the oesophagus.
Now, select both the lattice and the food object and move them up and down, you can see that the oesophagus deformation follows the lattice, as if the food was deforming it.
Create your animation with keyframes in the Dopesheet.


First point is that bpy is not available while the game engine is running, similarly bge is only available when the game engine is running.

When developing in the game engine you might find using the console to be helpful. In the console you will see the following -

Python script error - object 'Cube', controller 'Python':
Traceback (most recent call last):
  File "Text", line 11, in <module>
KeyError: 'value = gameOb[key]: KX_GameObject, key "addOne" does not exist'

To expand on that, you have set own as the owner of the script controller that is running the current script. The syntax of own["xxx"] will give you access to a game property called 'xxx'. I expect you want to access a sensor that you have named 'addOne', for this you want to use cont.sensors['addOne'] and you may want to use it's positive property.

Also scene.adObject takes at least two arguments, the second being an object to use as the initial location when created - empties are good for this.

import random
from bge import logic

cont = logic.getCurrentController()
own = cont.owner
scene = logic.getCurrentScene()

if cont.sensors['addOne'].positive:
    scene.addObject("Sphere","Empty")


How to edit multiple meshes once without joining?

I think i know what you want to achieve.

If you're trying to add a rounded edge to an extruded svg text/shape, then you can simply extrude the entire mesh and use Bevel tool (Ctrl+B in Edit mode with adjacent edges selected). If using it in Edit mode, the tool is interactive, i.e. change parameters while it's active.

Alternatively, before extruding change the Pivot Point to Individual Origins in the 3D Viewport Header bar (by default, in the bottom of the 3D viewport).


Recalculate image users after user_remap

The subject is more a Python problem than a Blender problem except for some points I'll try to explain below:

Original code:

def cleanup_images(case='none'):
    import os.path
    for image in bpy.data.images:
        filename =  os.path.basename(image.filepath)
        correct_index = bpy.data.images.find(filename)

        if correct_index == -1:
            image.name = filename
        else:
            #May remap an image on itself
            image.user_remap(bpy.data.images[correct_index])

The problem of that is an image can be remapped on itself, and if you do that, the image looses its user = 1 which becomes 0 (this is the point to report to the bug tracker in my opinion or at least documented).

Second attempt, I though that enumerating may be the solution:

def cleanup_images(case='none'):
    #rename all images to their filename
    import os.path
    for i, image in enumerate( bpy.data.images ):
        filename =  os.path.basename(image.filepath)
        correct_index = bpy.data.images.find(filename)

        if correct_index == -1:
            image.name = filename
        elif i != correct_index:
            image.user_remap(bpy.data.images[correct_index])

But this does not work, very possibly because user_remap may change the indexes so that some images continue to remap on themselves.

Correct code:

def cleanup_images(case='none'):
    #rename all images to their filename
    import os.path
    for image in bpy.data.images:
        filename =  os.path.basename(image.filepath)
        correct_index = bpy.data.images.find(filename)

        if correct_index == -1:
            image.name = filename
        else:
            correct_image = bpy.data.images[correct_index]
            if image != correct_image:
                image.user_remap(correct_image)

We no longer use index but direct objects comparison to apply user_remap.

For information, an alternative approach with no use of indexes:

def cleanup_images2( case = 'none' ):
    from collections import defaultdict
    import os.path

    #Organize images by filepath
    toClean = defaultdict( list )
    for i in bpy.data.images:
        toClean[i.filepath].append( i )

    for key, value in toClean.items():
        #image to keep is the first
        toKeep = value[0]
        #the other ones are remapped to the first
        for i in [i for i in value if i != toKeep]:
            i.user_remap( toKeep )
        toKeep.name = os.path.basename( toKeep.filepath )


Applying shrinkwrap modifier corrupts the shape

This is because the objects are Curve objects. Note the warning in the Info panel that appears when the modifier is applied:

When the modifier is active (not applied) it affects the polygon geometry generated by the curve object. When you apply the modifier it will only affect the Control Vertices (CV points) of the curve, giving a different result:

As you can see, the CV points are shrink-wrapped to the edges of the mesh, redefining the geometry defined by the curve.

To retain the shape, you must convert the object to a Mesh. This can be done with AltC> Convert > Mesh. This will take the geometry generated by the curve object and turn it into a mesh object:

Note that this will apply all modifiers as well. (See this post)


There are couple of problems in your file.

First the IK bones needs to have the deform property disabled as shown below:

Second, you need to adjust the pose position to be your rest pose to avoid bad bone roll values. To do this, switch to pose mode select the whole armature bones by pressing A then hit the space bar and write Apply Pose as Rest Pose as shown below:

Last thing is parenting your mesh to your armature. To do this, go to object mode, select your mesh first, then select your armature with right-click, then hit ctrl+P and choose With Automatic Weight and that's it, the mesh will be nicely deformed and parented to the armature as shown below:

The updated .blend file can be found here:


Two objects with same materials, modifiers and lighting are different

Material Properties > Settings > Blend Mode > Opaque change to Alpha Blend

Opaque

Alpha Blend


if i understand correctly, you want this mesh on one side of a box shaped mesh? if so, you should extrude those edges over the Z-axis, then scale the resulting edges
 to 0 over the Z-axis, and make a face on those edges.
shortcut to extrude over Z-axis: E->Z, followed by a value, or move with the mouse.
then to scale : S-> Z-> 0 to make it flat.
then press F with those edges selected, which will make a face.
As you pointed out yourself, answering your own question, you could use checker deselect to select every other vertex, and dissolve them.


Several years ago I came across the same issue. I had a character who has to be keyframe-animated, but also mocap-animated sometimes. And even, both in the same shot! I mean, for instance I had a shot where the character was animated by hand at the beginning, then I had to insert mocap animation for 10 seconds, then back to hand.

The solution I used for this to work and to be able to switch between each type of animation seamlessly was the following:

Using one Rig to deform the mesh and animate it by hand (FK, IK...)
Constraining some of this Rig's bones to the mocap Rig (the one which was created when I imported the Mocap data) with child Of bone constraints.

Then I just had to set the last hand-animated pose according to the first mocap pose, and animated the Influence of all "child of" constraints to switch between keyframe anim and mocap anim. Here is an example of setup, in use:

Of course the constraints had to be created with a small python script, once I found the good list of bones that had to be constrained (like head, neck, shoulders, FK arms, torso, FK legs, etc, but not the root bone). So finally I made it once, created the script, and then all similar cases were just at one button to go.

And, since all my mocap data was created with the same software (motion builder if I well remember), the imported Rig was everytime the same (same bones names, same structure), so my script worked like a charm. And also, when you need multiple mocaps in the same scene, each time you import a new mocap, no need to re-run the script, you just have to change the animation data of the first mocap-rig, which is already "binded" to your character's rig.

I hope my experience will inspire you!
Best regards


How to load/import a PNG image as plane via Blender's Python API?

The use_shadeless has been replaced with shader which accepts values of DIFFUSE, SHADELESS or EMISSION.

bpy.ops.import_image.to_plane(shader='SHADELESS', files=[{'name':file_path}])

For other options, if you manually do an import image as planes and have python tooltips enabled you can find the property name in the tooltips


Alt+M is actually what you are looking for... just select a pair of vertices and hit Alt+M. Make sure you choose the right option. I tend to use Last and keep that in mind when selecting, to make sure my vertices get merged at the right point.

Alternatively, you could enable vertex snaps (bottom right of your 3d view: click the magnet icon and choose vertex from the dropdown list next to it), snap the misplaced vertices to their expected destination vertex, select both the moved vertex and the "destination vertex" and then hit Ctrl+V and choose the Remove Doubles tool.

This will achieve the same thing in a larger amount of steps. Remember to disable snaps by clicking on the magnet icon once you are done using them, they can be quite bothersome if you don't.


What is the pipeline for a project that needs Cycles renders for still images and Eevee renders for animation?

Material output can luckily be directed to one or the other rendering engine, so one can easily compensate for the lighting limiations of Eevee by using a different output material on the same shader graph.
This helps greatly by not requiring to add and switch materials in the objects, it all happens inside the same material node graph, and also projection, images nodes etc. can be shared.


Sometimes this kind of thing is hard to find. That can be due to a too big influence of one of the groups or a too low... or also because the vertex (or vertices) are not in the group.

To check that, you can go to edit mode, select one of the vertices involved in the problem and have a look at the panel on the right :

This panel allows you to change the values so that you can understand the way the weights need to be changed.

Note that you can select several vertices, but only the weights of the active one are given. But in this case, the panel allows to copy the weights of the active vertex to the selected ones.

About normalization : in my experience, yes this can be important to keep it. If you don't you may have unwanted results.
But normalization won't remove 'all assignation'. Normalization is a calculation so that the sum of the vertex weights is 1.

When you paint, you may have weights values like bone1 = 1 and bone2 = 0.6.
Normalization will do so bone1 = 1 / (1 + 0.6) and bone2 = 0.6 / (1 + 0.6) so that bone1 + bone2 = 1.


I am a newbie, but the only thing I could think of is to change the lighting in precise spots.  What could be done with nodes? So I went looking.

I found this video for the basic question of making a section of the texture light up, in an example of making "lava cracks" glow. But it doesn't address the question of changing what lights up over time. https://www.youtube.com/watch?v=UEdA5pP5Wrk

Here's another that includes texture painting: https://www.youtube.com/watch?v=TF3hj5s5pr0

This one shows you (toward the end) how to animate a texture by keyframing the changes to it.
https://www.youtube.com/watch?v=Xa7wJZBuKXw

And finally, here is another Stack Exchange answer on how to change textures as an animations plays.
Is it possible to change material overtime by keyframes in swipe effect?


Wireframe modifier is your friend when you need to create the grid of
the outer sphere
Constellations are just some vertexes connected with edges (the hard part is to put them in the right position - if you have coordinates you can insert them in the object properties > Transform > location XYZ attributes)
you'll need to work with shaders to config how the edges are going to be rendered


Does an .obj file exported from Blender contain a texture?

When you export an obj from blender, it creates a .obj and a .mtl file.  As I understand it, the .obj file contains the geometry data and the .mtl file contains the texture data.  So as long as you keep the .obj file, the .mtl file, and the textures together, your model should retain its texture.


Which operations are expecting input in radians and which in degrees?

You can input a value in either radians or degrees by appending a "d" suffix (for a value in degrees) and a "r" suffix (for a value in radians) to the numerical value.

"1.5913513r" => in radians

"1.5913513d" => in degrees

For example, if you click the X-axis rotation button of an object to input a rotation value manually, and write "1r", after you press ENTER to commit the value the button will show 57.3º. Hovering the mouse over the button will show a tooltip saying "radians: 1.000000" (and 57.3 degrees is the approximate value of 1 radian).

You can use this when editing drivers, rotations etc. in case you prefer one unit over the other, and Blender will do the conversion for you.


My Blender v2.83 didn't show "follow path" after press Ctrl+P

To make a camera follow a path:

Add in a path

Select the camera

Go to object constraint properties and select follow path

Check fixed position , Follow curve and curve radius

Blender 2.79 had a hotkey Shift +Ctrl+C to add constraints


Can I dissable built-in Panels with another python script?

Import and unregister the UI panel

Simple test script, toggles the rego of the 3DView Properties View Panel, by looking at its is_registered property.

import bpy
# import the view panel
from bl_ui.space_view3d import VIEW3D_PT_view3d_properties as VP
# toggle rego
if VP.is_registered:
    bpy.utils.unregister_class(VP)
else:
    bpy.utils.register_class(VP)

Would suggest this is done in your register / unregister methods.

IMO this is a slippery slope, if you are going to distribute your addon,  as other addons may append prepend to those panels.


Previously I pointed it out that you didn't smooth the object.  That's not the case, see update.

Update:

Your normal map is baked correctly.

I brought it to Blender Internal Render and this is the result.

Cycle has shading problem on lowpoly models.  Whether you smooth it or not, it will be rendered as if not smoothed.

I previously missed that point, too.  Your process isn't the problem.  Cycle is.


How can I make a hexa grid follow a curvy shape without it being deformed?

I think you can get something rather good with this method:

First here is a close-up shot of your radio.

Create a mesh > Geodesic Dome with these parameters (or similar):

Select all, bevel the vertices with shiftctrlB. Then delete Only Faces.

Keep only 1/8th of the ball, you have your corner. Enable the Snap (Vertex mode) and the Merge Vertices options. Begin to duplicate the borders to make the flat surface.

At the end give it a Subdivision Surface and a Solidify modifier. Maybe a Shrinkwrap if you want to correct the shape a bit.


Image texture to partially mask part of material

TL;DR: Invert your mask image

"No idea what transparent black means, but it is not transparent."

It means that the area outside the image canvas will be considered transparent, as in Alpha value = 0, some image formats also have the ability to still save color for transparent areas, like PNG, and so will also paint that area black, besides making it transparent, in case you are not using the alpha map, or use it separately for other purposes.

In your particular image it is white all around the canvas borders, which generally means it opaque in terms of alpha channels, so it won't mix well with the remaining surrounding material.

Clipping in Blender will not work because as you already found out from the manual, the surrounding will be considered black which never matches your image border.

Don't use the Invert Cycles node in Blender, because it will invert the image color but also the black transparent area applied by the clipping effect, leading to surroundings that never match the current color of the image border.

You have to explicitly use an external application to invert the colors before using it in Blender.


In the event you want to include some objects whose origin points are close but not exactly the location given. Please note this does not specify object type so any object (camera, armature, light, etc) within range will be deleted.

import bpy
from mathutils import Vector

target_loc = (1.0,1.0,1.0)
target_deviation = .1

objs = [obj for obj in bpy.data.objects if (
        (obj.location[0]-target_loc[0])**2 +
        (obj.location[1]-target_loc[1])**2 +
        (obj.location[2]-target_loc[2])**2 <= target_deviation**2)]

bpy.ops.object.select_all(action = 'DESELECT')
for obj in objs:
    obj.select = True
bpy.ops.object.delete()


Cannot export transparent PNG animation frames in cycles render

I did not have "use alpha" checked in my compositing node. Does that make sense...?


Object is not showing Wires in wireframe mode and turns into invisible type black in Material preview mode

If you turn on High Quality Normals under Performance in Eevee it will fix most of the issues but not all, the Wireframe will still be an issue but at least you won't get that black shadow object.
I bet you have an AMD graphics card, the drivers that work for me are 20.9.2 (late September)


How do I make a high poly model from a low poly model and a normal map?

Moonboots was kind enough to provide one link in the comments, which I'll check out further.  Scroll down that Reddit page to find usage instructions; it works for me.
Another option here is njob ( http://charles.hollemeersch.net/njob/ ).
Njob just outputs 8bpc height maps.  Neither NormalToHeight nor Njob can properly handle texture tiling.
Note that conversion of normal maps to displacement maps is inexact.  There exists some data necessary for displacement that isn't present in a normal map.  Neither of those utilities take your UV tangents into account, and you'll find that displacement is incorrect as your UV rotates.  You will need to adjust displacement parameters to eye.
It's also possible for a normal map to encode for impossible angles, that can't be represented by geometry.
However, I know that it is possible to get reasonable results using Njob.  I sometimes convert from normal to bump in order to not have to worry about UV tangents during material creation, or to smooth out a rendered displacement-- smooth shaded normals interpolate differently than position, so rendering as normals and converting to height can create a smoother displacement map than just rendering height/position.


If you are talking about the Blender Guru video, this is the top comment from user  r19790606:

  If you can't see smoke and fire you probably use new version of
  blender (2.82). Correct instruction for 2.82:

  Add monkey
  select monkey in object mode
  F3 -> add Quick Smoke
  (different to video) select monkey
  choose Physics->Setting->Flow Type : "FIre + Smoke"
  (different to video) select "Smoke Domain" object
  in physics panel click "Bake Data" and wait... (progress in status bar on the bottom)
  after it 's finished click play to start animation.

  video: https://youtu.be/XN6ClIdL8yw

  ps : default only 50 frames are animated. you can change this in phisics->cache-> Frane End (you have to Resume or Free and Bake again ... see point 7)


So i figured out how to do it. The keyed physics has a checkbox marked use timing. Once that is checked to sliders are enabled. Adjusting the time slider sets how long the particles will move. By setting it to a value of around, the particles move for 40 frames leaving 60 frames for the display of the object. So in my situation. I had to set the time for object B and it worked.
For a more detailed explanation check this tutorial.


How display and use operator properties in a Python Blender UI panel?

You usually run an operator and adjust the settings afterwards in the Redo panel, or the operator should prompt the user before execution using invoke_props_dialog():

import bpy

class SimpleOperator(bpy.types.Operator):
    bl_label = "Simple Operator"
    bl_idname = "object.simple_operator"

    my_enum = bpy.props.EnumProperty(
        items=(
            ('ONE', "One", ""),
            ('TWO', "Two", ""),
            ('THREE', "Three", "")
        ),
        default='ONE'
    )

    def invoke(self, context, event):
        wm = context.window_manager
        return wm.invoke_props_dialog(self)

    def execute(self, context):
        self.report({'INFO'}, self.my_enum)
        return {'FINISHED'}

def register():
    bpy.utils.register_module(__name__)

def unregister():
    bpy.utils.unregister_module(__name__)

if __name__ == "__main__":
    register()

    bpy.ops.object.simple_operator('INVOKE_DEFAULT')

If you really want to display UI elements in a panel to be set before clicking the button, you will have to register global properties and pass them to the according operator properties (you can't add operator properties to a panel).

import bpy

class SimpleOperator(bpy.types.Operator):
    bl_label = "Simple Operator"
    bl_idname = "object.simple_operator"

    my_enum = bpy.props.EnumProperty(
        items=(
            ('ONE', "One", ""),
            ('TWO', "Two", ""),
            ('THREE', "Three", "")
        ),
        default='ONE'
    )

    def execute(self, context):
        self.report({'INFO'}, self.my_enum)
        return {'FINISHED'}

class HelloWorldPanel(bpy.types.Panel):
    """Creates a Panel in the Object properties window"""
    bl_label = "Hello World Panel"
    bl_idname = "OBJECT_PT_hello"
    bl_space_type = 'PROPERTIES'
    bl_region_type = 'WINDOW'
    bl_context = "object"

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

        ob = context.object

        row = layout.row()
        row.prop(ob, "my_global_enum", expand=True)

        props = layout.operator(SimpleOperator.bl_idname)
        props.my_enum = ob.my_global_enum

def register():
    bpy.utils.register_module(__name__)

    bpy.types.Object.my_global_enum = bpy.props.EnumProperty(
        items=(
            ('ONE', "One", ""),
            ('TWO', "Two", ""),
            ('THREE', "Three", "")
        ),
        default='TWO'
    )

def unregister():
    bpy.utils.unregister_module(__name__)
    del bpy.types.Object.my_global_enum

if __name__ == "__main__":
    register()


Understanding axis locking and local coordinate systems

You haven't been helped by a bit of outdated documentation (reported), or, IMO, by the interface.
First of all,though, the Local: orientation is the orientation of the Object axes. These can be displayed by checking Axes the Object tab > Viewport Display panel. Unfortunately the display is not 'In Front', so you may have to AltZ switch on X-ray mode, to see them. The Object is a vehicle for its mesh / curve elements, and carries all the object-level transforms.
Normal orientation reverts to Local in Object mode. In Edit mode, actually, it's not always predictable for modeling. Vertex normals may be calculated from adjacent faces, if there, or by projection from the object origin, if not. The useful, predictable normals, I think, are: from selected faces: Z will be along their mean normal. From 2 vertices or an edge, Y will be along the line between the verts. From 3 vertices, Z will be normal to the plane defined by them.
Contrary to your quote from the manual, a single tap on X, Y or Z will constrain a transform to the orientation displayed in the Transform Orientation dropdown. The second tap will revert to Global, (or from Global to Local, if Global is already selected). The third tap will release the constraint.
Custom Orientation
Following the above Normal rules, you can create your own orientation from a selection of elements by hitting the little '+' in the Orientation dropdown.
Extrude
Just to make everything more confusing, E Extrude behaves differently. You're right. The Normal orientation is assumed as the background behaviour, taking the place of Global in the transform tap-sequence described above, and the tool behaves as if you had tapped ZZ already, so the next Z releases, and the next puts you into the orientation in the dropdown.
If, in an extrude, you tap a constraint other than Z, the tool assumes you are starting the cycle from the beginning: Dropdown > Normal > Free.
The old behaviour of the constraints was as in your quote from the manual. It really seems to me that flipping the single and double-tap behaviour has opened up a can of worms. Personally I would rather have had consistency than 'convenience'.


Faces left behind when I move a face back

There is a Mesh-Ripping tool activated with V.

Make sure, your mouse cursor is below the vertex (left picture)

You can rip complete Edges as well.


Boolean Modifier Disabled in Blender 2.8?

If a modifier header turns red, this basically means it is doing nothing at the moment because some input is either missing or not as expected. There is an action required by the user to make it work. Here are three examples of modifiers that show this behavior:

In each case I have circled the parameter that is causing the behavior in red. Most of the time, Blender requires a reference to another object to run the modifier.

In case of a boolean, there must be another object you want to cut or join your main object with
In case of the lattice modifier, a lattice object is required that tells Blender what the rules of the deformation are
In case of the SubSurf the modifier is entirely skipped in the Viewport because there are simply zero subdivisions requested by the user.

These are not the only modifiers with such behavior, they are just listed here as examples. So red header means currently not doing anything at all, and as a result, clicking Apply will throw an error, because nothing can be done to the base object as a result.


How to get the caption of a text object in Python?

Yes, you can access the text via the body attribute,

Example:

# assume active object
obj = context.object
curve_text = obj.data

print(curve_text.body)

# set a new string
curve_text.body = "This is a NEW test :)"


Pose mode and GRS all give me a scale cursor that doesn't do any thing

Judging from your second screenshot, I'd suppose you've got Manipulate Center Points activated. While this is useful on multiple selected objects or bones, when bones are not connected, it leads to the behavior you describe in your Question. See the GIF below on how to deactivate this feature:

The purpose of this feature is to Translate objects by using Rotate or Scale functions. In your case, as the bone is already a child of another bone, Translation channels are automatically locked already. That's why nothing happens.


Modelling a mechanical spring for a bike

Activate the Add Curve: Curve Extra Objects addon in the user preferences if you haven't yet.

Then just add a new 3D object with Shift + A Add > Curve > Curve Spirals > Logarithmic or Archemedian in you prefer.

Adjust the desired height and number of turns as required.

Adjust curve bevel factor from the Properties Window > Object Data (Curve) as desired and set the Fill option to Full.

You can then manually add the "flat" end loops manually by joining in a bezier curve circle object afterwards in Edit Mode.


In Blender, simply mix two image layers like in Gimp

Edit: Ok it looks like it's not what you're looking for, you want 2 different planes and I give a solution for one plane:

You could simply mix your 2 pictures in a Color > MixRGB node (set on Mix):


Boolean difference removing wrong geometry

I ended up finding that changing the offset on my solidify modifier fixed the problem. I am still not sure why this happened but that is my fix.


Sticky Selection Mode has no effect on random proportional editing in UV Editor

I don't think so. Sticky Selection mode is for, well, selections. What it does is make it so that when you select one vertex, it also selects the one the are on the *same* position.

So it doesn't, and furthermore shouldn't, make what you want.


Why does the Remesh Modifier change object outer dimensions?

The problem is resolved by using a closed hemisphere mesh (below left), rather than an open hemisphere mesh (below right).

Using a fully enclosed mesh, the remesh tool retains the outer dimensions of the geometry (without shrinking the input shape) as the Octree Depth is decreased.

Perhaps in future I will close the geometry, apply the Remesh Modifier, and then remove the plane that closes the geometry after the modifier is applied.


How to mirror cut or modification made to basic shape?

Blender wont mirror operations made on a mesh but will mirror the mesh itself, in the state it is when the mirror is applied.

So, most of time, you may anticipate that your shape will be symetrical and define the mirror appropriatly.

By default, mirror is applied along the x-axis (1) and at the center point of your mesh (the yellow dot you can see in object mode marked 2 here).
In this example the mirror position corresponds to the plane defined by X=3, as the mirror is on X and is defined relatively to the object's center at the position (3, -1, 0).

This previous image shows a cube. But in fact, only a half cube is defined in this example :

This half cube is not a plain figure, but some kind of open box as a face is missing (see above) because the final mirrored cube does not need an inner face (at least this is the most common situation but this is not mandatory).

Once the mirror is placed and if you want to use the boolean modifier, some tricky things may happen (boolean modifier is not allways so simple) : or the intersecting object is not itself mirrored or it is :

If it is not, all is fine, and you obtain this kind of result when you apply the boolean modifier :

But if it is the two shape will be intricated, and that's probably not what you want :

So to avoid that, an easier way is to work on a half of the model (not mirrored) and add the mirror modifier once finished with the boolean.

In my opinion (but the following remark may be considered as subjective), using the boolean modifier is not the simpliest way to start using Blender, even if it seems "simple" at first sight (it may also have some other unwanted consequences).
So for a begining, I'd suggest to keep using the mirror modifier (if you need it) but go in edit mode to model your shape manually.


Blender renders plane in distorted way when enabling displacement only vs. bump displacement

You have the Strength property on the Displace modifier turned up too high. Turn it down to 0.1 (or lower).


Problem with applying image on a displacement map, displacement apply on top and bottom but not on sides

Try generated coordinates with Sphere projection. You do not need to UV unwrap for this.

Updated (after review file):

The question is related to applying an image texture to the Displace modifier in Blender Render. In Blender Render you can do a few more things with 'normal' textures like Sphere projection that are not available with the Displace modifier image texture - as far as I know. The distortion has to do with the way the square textures are tiled around the sphere.

The issue is further exaggerated by the scale not having being applied.

Left is the original sphere, and right with CTRL A and having scale applied. The texture was set to extend, but has been set here to repeat to avoid distortion after the scale was applied.

Some options would be to consider UV unwrapping, as Duarte suggested. This would cause seams that might be hidden by a procedural texture over this like Clouds.

The Displace modifier has been somewhat eclipsed by True Displacement which is available in Cycles Render - not Blender Render. It has the advantage that it can be used in combination with Adaptive Subdivision which also makes it less intense for your computer.

The Cycles material node system also has some versatile tools tools for achieving much of what I think you want to do. Some prefer old school Blender and I'm not judging.

I've attached the simplified file I tested - pictured above - in case someone has more solutions to offer...


(v. 2.72) Input movie's audio/video is in sync, but VSE output is floating and desynchronized between audio and video

My guess would be that Blender is not decompressing the file successfully. Best solution is to transcode the source media (with non Blender app) to be Blender friendly but sadly this will probably increase file sizes a lot.


Noob question : why are my Cycles render too bright, even with no lights?

It looks like you have inadvertently enabled the Ambient Occlusion setting in the World properties. Disable Ambient Occlusion again and all should be fine.


Weight Painting - Objects Getting Left Behind

Your can choose from a few different options to improve your situation.

Option 01 Copy Vertex weights in Edit Mode

The correct vertex group for the particular band is selected in the UI from the vertex list in the Mesh Panel, as seen in the image below.  Know the band is distant from Bone and currently not attached to body of glove.  The disconnected band is moved .5 Y axis units for visibility.  The band is selected.  A Single vertex is selected on the perimeter of glove as shown by yellow arrow.  The weights of this single vertex could be cleaned up, not shown here.  The Vertex Copy weights button is clicked. Weights are changed.  Disconnected band is moved -.5 Y axis units. Repeat on other side.

This will improve the immediate problem and assist your understanding. Improvement is the goal here and a light discussion of weight assignment.  Not 100% physical realism. If I had more time I would examine and clean up the source weights. Hopefully there will be more steps to improve the model outside this question. Currently the glove can intersect and pass through the organic skin portion of the mesh, which is not high physics realism. Answer time is finite.  In the little experiments I did, this gave the best result in some small amount of time.  Of course the whole mesh could be painted by hand and other controls added, with no automatic weights. More realism would come with larger time consumption.

Other problems will remain which may require a new question.

Copy Vertex Weight Image above.  Note arrow showing single source vertex of the well behaved body of glove.

Option 02. Modify Mesh and Armature Parent again.  Exercise for the OP

Connect the glove band to the the body of the glove. The band is distant from the bone. It is not connected to the body of the glove by vertices.  Vertex connectivity is taken into account for some automatic weights.  Distance to Bone is taken into account.  The details are not discussed here.   Then parent to armature again and test.

There could be an argument to consider the glove as very different than the human skin of the mesh. Some might say the glove is like clothing and should be a separate mesh.

Option 03.  More Weight Paint .. Weight Assignment.

Please paint/inspect again the band of your glove.  Please improve any weight paint results you see below.  2 Options.

Use Weight Paint mode
Edit Mode.  Select the band only.  Select the named group. Assign a weight of 1.0 which is full weight.

Band is not yet painted.

In the image above.  We see above we see your model.  The body of the glove is painted. The band of the glove has zero weights.  In weight paint mode please paint the band.  See how the correct group is selected before we paint. Well there are possible two correct groups as candidates.

Weight Painted Band in the Correct group.

Painting of band has begun.  Red color. In edit mode of the mesh I selected the band prior to my weight painting.

The topic of weight painting can be mastered.  This short answer will not be equivalent to a video weight painting tutorial.

Direct assignment to group in edit mode of mesh.

Weight assignment. See the arrow. Image above.

Showing weight in edit mode of mesh.  See arrow. Image above.


Python script to snap selected object to cursor

I figured it out. Just select the object and set it location to (0.0,0.0,0.0)

bpy.data.objects["name"].location = (0.0,0.0,0.0)


When an object disappears momentarily form the scene (either it goes out of frame and comes back later, or is occluded by other objects) you can track up to the point where it becomes untrackable, then add a new tracker for other sections of the video when the object reappears. Then just select the trackers and merge them with the Join Track button

That way Blender knows that is not dealing with a new object, but the same one.

Once you are done traking your objects go to the solve section/geometry and select "Link Empty to Track".

That will create empties on the 3D environment that follow the movement set by the trackers. From there you should be able to create the graphs you are after.


How to disable/enable multiple shapekeys visibility?

Iterate through the shape keys and check the current state of the mute attribute. Since it is a simple bool property which only can be True or False, I'd suggest write a toggle in order to enable or disable all shape keys of the selected object per execution:
import bpy

# iterate through the shape keys of the active object
for shape_key in bpy.context.object.data.shape_keys.key_blocks:

    # toggle (if true set it to false and vice versa)
    shape_key.mute = not shape_key.mute

Considering your last question and especially for a better workflow, I'd recommend writing a small Add-on instead of running code in the editor for each step:

shape_key_extras.py (updated for 2.8+)
# ##### BEGIN GPL LICENSE BLOCK #####
#
#  This program is free software; you can redistribute it and/or
#  modify it under the terms of the GNU General Public License
#  as published by the Free Software Foundation; either version 2
#  of the License, or (at your option) any later version.
#
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#
#  You should have received a copy of the GNU General Public License
#  along with this program; if not, write to the Free Software Foundation,
#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
#
# ##### END GPL LICENSE BLOCK #####

bl_info = {
    "name": "Shape Key Extras",
    "description": "",
    "author": "p2or",
    "version": (0, 0, 1),
    "blender": (2, 80, 0),
    "location": "Properties > Object Data > Shape Keys",
    "warning": "",
    "wiki_url": "",
    "tracker_url": "",
    "category": "Mesh"
}

import bpy
import random

from bpy.props import (IntProperty,
                       BoolProperty,
                       FloatProperty,
                       StringProperty,
                       PointerProperty)

from bpy.types import (Operator,
                       PropertyGroup)

# -------------------------------------------------------------------
#   Helper
# -------------------------------------------------------------------

def exclude_by_name(char_sequence, name):
    if char_sequence:
        char_list = [i.strip() for i in char_sequence.split(",")]
        if name.startswith(tuple(char_list)):
            return True
        else:
            return False
    else:
        return False

# -------------------------------------------------------------------
#   Properties
# -------------------------------------------------------------------

class SKE_PG_settings(PropertyGroup):

    value: FloatProperty(
        name = "Value",
        description = "Set static value",
        default = 0,
        #min = 0,
        #max =1
        )
    random_min: FloatProperty(
        name = "Min",
        description = "Set minimum random value",
        default = 0,
        #min = 0,
        #max =1
        )
    random_max: FloatProperty(
        name = "Max",
        description = "Set maximum random value",
        default = 1,
        #min = 0,
        #max =1
        )
    apply_enabled: BoolProperty (
        name = "Apply Values to enabled Keys only",
        description = "Apply values to enabled Keys only",
        default = True
        )
    exclude: StringProperty (
        name = "Exclude",
        description = "Exclude by first character",
        default = "#, =, *"
        )

# -------------------------------------------------------------------
#   Operators
# -------------------------------------------------------------------

class SKE_OT_enableAll(Operator):
    bl_idname = "shapekeyextras.enable_all"
    bl_label = "Enable All"
    bl_description = "Enable all Shape Keys"

    def execute(self, context):
        for shapekey in context.object.data.shape_keys.key_blocks:
            shapekey.mute = False

        self.report({'INFO'}, "All enabled")
        return {'FINISHED'}

class SKE_OT_disableAll(Operator):
    bl_idname = "shapekeyextras.disable_all"
    bl_label = "Disable All"
    bl_description = "Disable all Shape Keys"

    def execute(self, context):
        for shapekey in context.object.data.shape_keys.key_blocks:
            shapekey.mute = True

        self.report({'INFO'}, "All Shape Keys disabled")
        return {'FINISHED'}

class SKE_OT_toggleAll(Operator):
    bl_idname = "shapekeyextras.toggle"
    bl_label = "Toggle Mute"
    bl_description = "Toggle Mute of all Shape Keys"

    def execute(self, context):
        for shapekey in context.object.data.shape_keys.key_blocks:
            shapekey.mute = not shapekey.mute

        self.report({'INFO'}, "Enabled Shape Keys disabled and Disabled Shape Keys enabled")
        return {'FINISHED'}

class SKE_OT_randomizeValues(Operator):
    bl_idname = "shapekeyextras.randomize"
    bl_label = "Randomize Values"
    bl_description = "Randomize all Shape Key Values"

    def execute(self, context):
        scn = context.scene
        ske = scn.shape_key_extras

        if ske.apply_enabled is True:
            for shapekey in context.object.data.shape_keys.key_blocks:
                exclude_char = exclude_by_name(ske.exclude, shapekey.name)
                if shapekey.name is not 'Basis' and exclude_char is not True:
                    if shapekey.mute is False:
                        shapekey.value = random.uniform(ske.random_min, ske.random_max)
        else:
            for shapekey in context.object.data.shape_keys.key_blocks:
                exclude_char = exclude_by_name(ske.exclude, shapekey.name)
                if shapekey.name is not 'Basis' and exclude_char is not True:
                    shapekey.value = random.uniform(ske.random_min, ske.random_max)

        self.report({'INFO'}, "Values for Shape Keys generated")
        return {'FINISHED'}

class SKE_OT_applyValues(Operator):
    bl_idname = "shapekeyextras.apply"
    bl_label = "Apply Values"
    bl_description = "Apply a static Value to all Shape Keys"

    def execute(self, context):
        scn = context.scene
        ske = scn.shape_key_extras

        if ske.apply_enabled is True:
            for shapekey in context.object.data.shape_keys.key_blocks:
                exclude_char = exclude_by_name(ske.exclude, shapekey.name)
                if shapekey.name is not 'Basis' and exclude_char is not True:
                    if shapekey.mute is False:
                        shapekey.value = ske.value
        else:
            for shapekey in context.object.data.shape_keys.key_blocks:
                exclude_char = exclude_by_name(ske.exclude, shapekey.name)
                if shapekey.name is not 'Basis' and exclude_char is not True:
                    shapekey.value = ske.value

        self.report({'INFO'}, "Value assigned to Shape Keys")
        return {'FINISHED'}

# -------------------------------------------------------------------
#   UI
# -------------------------------------------------------------------

def draw_shapekey_extras(self, context):

    scn = context.scene
    layout = self.layout
    ske = scn.shape_key_extras

    layout.separator()
    layout.use_property_decorate = False  # No animation.
    layout.use_property_split = False

    row = layout.row()
    row.label(text="Mute State")
    col = layout.column(align=True)
    rowsub = col.row(align=True)
    rowsub.operator(SKE_OT_enableAll.bl_idname, icon="RESTRICT_VIEW_OFF")
    rowsub.operator(SKE_OT_disableAll.bl_idname, icon="RESTRICT_VIEW_ON")
    col.operator(SKE_OT_toggleAll.bl_idname, icon="FILE_REFRESH")

    layout.separator()
    row = layout.row()
    row.label(text="Set Shape Key Values")
    col = layout.column(align=True)
    rowsub = col.row(align=True)
    rowsub.prop(ske, "random_min")
    rowsub.prop(ske, "random_max")
    col.operator(SKE_OT_randomizeValues.bl_idname)

    row = layout.row()
    col = layout.column(align=True)
    col.prop(ske, "value")
    col.operator(SKE_OT_applyValues.bl_idname)

    row = layout.row()
    col = layout.column(align=True)
    col.prop(ske, "exclude")
    col = layout.column(align=True)
    col.prop(ske, "apply_enabled")
    layout.separator()

# -------------------------------------------------------------------
# register
# -------------------------------------------------------------------

classes = (
    SKE_PG_settings,
    SKE_OT_enableAll,
    SKE_OT_disableAll,
    SKE_OT_toggleAll,
    SKE_OT_randomizeValues,
    SKE_OT_applyValues,
)

def register():
    from bpy.utils import register_class
    for cls in classes:
        register_class(cls)

    bpy.types.DATA_PT_shape_keys.append(draw_shapekey_extras)
    bpy.types.Scene.shape_key_extras = PointerProperty(type=SKE_PG_settings)

def unregister():
    from bpy.utils import unregister_class
    for cls in reversed(classes):
        unregister_class(cls)

    bpy.types.DATA_PT_shape_keys.remove(draw_shapekey_extras)
    del bpy.types.Scene.shape_key_extras

if __name__ == "__main__":
    register()


Tips to avoid this:

Activate Selected Objects (not whole scene)
Activate only "Deform Bones" under Armature tab(so rig won't corrupt the FBX if many constraints, or loopback bones that might make it bug - will also export in a clean way, etc)
Disactivate "All Actions" from Animation tab (so that rig will export only it's aniamtion clips, not the whole scene animation
Make sure that SDS is at a reasonable level of Render Settings (1 or 2 max), SDS at 3 or 4 will take a long time to "Apply Modifiers" to the mesh - specially if it's a whole scene. You can optionally turn this "Apply Render setting modifiers" off under Geometries tab

Then export and the software won't have to think so hard or ultimately crash.


Why the scale parameters of this object is 2000 times bigger and there is almost no difference between the two?

That's because the original scale of the object (when you added it) was relative to its first size (scale of an object is relative to its own original size, unlike dimensions).
To reset that scale just press Ctrl+A and click on apply scale, then you will see the object scale is [ 1, 1, 1 ] (unit scale). I hope that helps.


Set the output format to FFmpeg video and the container to MPEG-4 in the encoding tab (which appears after selecting the output format).


Using the 2.8 Keyboard short cuts in Blender 2.79

Not entirely no.

While most keys can be customized in Blender 2.79 it is theoretically possible to create a keymap that mimics most functionality available in 2.8, however not all features are possible.

Blender 2.8 has been substantially changed under the hood and significant improvements were made to accommodate lots of new features, not only superficially at tool and UI level, but also keyboard shortcut definitions and settings, key press handling, and even at low level like keyboard and input device handling.

New features like being able to detect where a mouse click happened (over an object or empty area), button press vs button hold, hold and drag actions, active tools that allow simultaneous viewport manipulation, gizmos with tweak drag actions, among others make it impossible to fully recreate 2.8 input model in previous versions.

Otherwise most basic settings like left click select can be emulated or fully recreated.

Whether or not this is practical or worth the effort is a whole other matter.


How to get solid render with wireframes and no shading

There are quite a few ways to accomplish this.

OpenGL

See this answer for details on setting up the wireframe.
Note that the Hidden Wire draw option can be useful for culling the wires on the back of the model without setting the color of the model to match the background.

See this answer for details on making the models in the viewport shadeless.

Pros: Very fast.  Usually no artifacts or missing lines. Works with optimal (curved) wireframes.

Cons: Total hack, requires setting theme colors to adjust the color of the wire and background. No control over line width.
Blender Internal

See these two answers for setting up the wireframe materials.

To make the base material shadeless, enable Shadeless in material settings > Shading:

To make it automatically match the background color, enable Mask Transparency in the base material and set the alpha to 0:

Pros: Works with optimal (curved) wireframes.

Cons: Can have issues with the Z offset causing missing lines or visible lines which should be occluded. Limited control over line styled/width.
Cycles

To get wireframes directly in cycles, see this question and the wireframe node.
To make a shadeless material in cycles, see this answer.

Pros: It's cycles

Cons: Perfect non-triangulated wireframes are not currently possible. There is a workaround with UV coordinates, however this results in line sizes relative to polygon size.
Wireframe modifier

The wireframe modifier generates actual mesh geometry representing the wireframe of the input mesh. Since the output is just a mesh, it works with both BI and Cycles.

See this answer for details on setting it up (answer is for cycles, but the process is identical for BI).

For shadeless renders, see the previous sections in this answer regarding BI and Cycles for descriptions of their respective methods of creating shadeless shaders.

Pros: Just works

Cons: Generates geometry; line thickness is defined in 3D space.
Freestyle

Freestyle is a line rendering engine which supports drawing over both BI and Cycles renders.

For cycles, see this answer.
For BI, see this answer.

Pros: Lots of control over line style etc.

Cons: Sometimes edges have gaps/other artifacts. Can be resource hungry.


How to scale ColorRamps and Gradient Textures properly?

Without any input to your Gradient texture it will be applying the gradient along the x-axis only. I can't tell from your question, but which axis do you want the gradient aligned with? Likely your texture is applying to the 'depth' of your mesh so all you're seeing is the 'front' face at the far end of the gradient.
Add a Texture Coordinate node to feed 'Generated' into the Gradient - and put a Mapping node between the two so you can easily rotate the coordinates as desired.


How should I make scenes with atmospheric lighting brighter?

Whenever you are dealing with volume scatter and volume absorption your light sources will seem not as bright. Depending on the settings used for volume, a lot of the light is lost due to scattering, so it is normal to have lights that are much brighter than normal.

Without changing your current setup or adding any more lights you can use the ASC-CDL node to change the values for your scene and control the contrast and brightness:

More info on the CDL see this post: What is the the ASC-CDL node?

For even greater and more nuanced control on your image, use the powerful  color management options, you and use custom Lookup Tables (LUTs) to control how the values for the scene are mapped into the sRGB values.

More info here: Render with a wider dynamic range in cycles to produce photorealistic looking images


Getting the full address of an interface item

There are a number of keyboard shortcuts you can use to copy different forms of fields and components out of the interface.

The simplest is Ctrl+C - this copies the value of the field (eg, 0.0).

The next is Ctrl+Shift+C - this copies the local path to that value (eg, location).

Finally, you can use Ctrl+Shift+Alt+C - this copies the absolute path to that value (eg, bpy.data.objects["Cube"].location[0]).


How to make preset for RGB curves in compositor

The properties of every point of RGB curves node can be accessed using the following snippet. Generally, the location of the point in XY plane is useful. Hence to access that property:

(RGB_Curves_Node).mapping.curves[0].points[id].location_x

Similarly,

(RGB_Curves_Node).mapping.curves[0].points[id].location_y

id is used to access which point you want the property from. Also, the 'R', 'G', 'B' and 'C' curves are separated by id 0, 1, 2, 3 respectively.

As you want to save the data as a preset, you would probably want to do something like

preset = [[], [], [], []]
for i in range(0, 5):
    for point in bpy.context.scene.node_tree.nodes['RGB'].mapping.curves[i].points:
       preset[i].append((point.location.x, point.location.y))


This is because left side is rendered mode and right is solid mode. Blender doesn't show smoke and/or fire at full quality in solid mode in the viewport instead it shows only a little bit. If you see closely, in the file you provided, you can see a small white cloud of smoke, but in rendered mode it turns into a dense black mass of smoke.


You may get away with

Scene.frame_set
bpy.ops.export_scene.fbx

I.e. select your meshes and run

import bpy

PATH = "your_path.%03d.fbx"

for i in range(100):
    bpy.context.scene.frame_set(i)
    bpy.ops.export_scene.fbx(
        filepath=PATH % i,
        object_types={'MESH'},
        use_selection=True
        )

The source code of export_scene.fbx resides in scripts/addons/io_scene_fbx.


Not able to play full animation but in preview its playing fine

Not sure what you mean by saying 'not able to play full animation, but in preview its playing fine', but you probably just forgot to add any object to your particle system as a base for these particles. By default, after creating new Particle System Blender will create one with 'Halo' option as a 'How particles are rendered' property in the 'Render' tab in Particle System section in 'Properties' window:

Halo particles are apparently not visible when rendered with Cycles Rendering Engine. So, you might either switch to Blender Render (not recommended), or preferably just select some object or Group of objects to use them as a base for your particles:

Then, you can customize your Particle System as you wish, with these value highlighted above.


To achieve this particular rotation, you need to change the transformation orientation from global to local

Then if you press R to rotate and then Z twice, you will rotate the object on its local Z-axis. You don't have to have changed the transformation orientation to achieve this, it just help visualise the axis you're going to use

Hope this helps.


Rigify Rig: What's moving the chest bone?

The answer is so much simpler than what I was thinking: You can set "At:" field in the custom shape options for a bones. The bone itself doesn't follow the body, just the custom shape does.


Using the Screw modifier, how do I accurately set the axis of rotation?

The modifier uses the objects (local) axis (X, Y, Z)

Modeling from top side or front ortho view will make things simple. use numpad5 to switch orthogonal/perspective view

Shape modeled in top ortho view (green line is Y global axis)

Screw modifier set on Z object axis

Screw modifier set on Y object axis

Once modeled, you can move your object or rotate it (object mode) but in edit mode, you'll get a mess. Apply modifier or clear rotations for editing.


how to bisect_plane with use_fill = True in Blender 2.79 using python?

Boolean Modifier

Can use the clear_inner or clear_outer property of the bisect plane operator, and run twice, grid fill the returned cut(s).

However it may be much simpler to script this approach

add a plane at cutting coordinates
scale the plane such that it completely encapsulates mesh to be cut (sphere in example image)
give the plane thickness with solidify modifier, once again making sure it completely encaps cuttee mesh.
add a boolean modifier (difference)  to the object to be cut, using plane as target.
apply the modifier and save result.
redo with the plane normal flipped (other half).
the resultant filled face will be an ngon(s).


In edit mode select the head only of bone 1, then press Shift S "Cursor to selected", then select the tail only of bone 2 and presse shift S "selection to cursor". Then select the bone 1, shift select the bone 2, and press Ctrl P "Connected". Different bone groups are not a problem because they are referred to pose mode, not edit mode.


Setting transparency on mesh from inside, but not outside

I want to thank you for this question because I learned something in researching the answer.

Things have changed. Here's how you can do this easily in 2.8.

There is a backface culling option when in Edit Mode from the Viewport Shading Menu pulldown, BUT this is NOT what you want. Leave it alone. :)

THere is another backface culling option in the Materials tab of the Properties Panel. THIS is what you want. Make sure it is checked.

Your camera will now render what is on the outside of any object with this material assigned to it, but not what is on the inside of it.

It feels good to have finally learned how this works just now. :)


How to apply Custom Transform Orientation as a Local Transform

As I discovered while working on Blender function to transform a selected edge along a custom axis the transforms are stored in bpy.context.scene.orientations[i].matrix.  You can use orientations[0] or orientations[name].

If you want the rotation component as a quaternion use orientations[i].matrix.to_quaternion() .


cloth draped on a mirrored mesh: how to do it properly?

Check your modifier stack. The collision has to be applied after the mirror (and after the armature if you want to move it).

Use the little arrows on your modifier to change its position in the stack.


Is there a way to find all actions an object is "involved" with?

An object can have one active action, this is the one that is shown in the action editor. All other actions that affect an object can be found in the objects NLA data.

import bpy

for obj in bpy.context.scene.objects:
    ad = obj.animation_data
    if ad:
        if ad.action:
            print(obj.name,'uses',ad.action.name)
        for t in ad.nla_tracks:
            for s in t.strips:
                print(obj.name,'uses',s.action.name)


cont=bge.logic.getCurrentController()
own=cont.owner
mesh=own.meshes[0]
click=cont.sensors["click"]
if click.positive:
    vertex=mesh.getVertex(0,1)
    vertex.color=[1,0,0,1]

This code has no relation to a parent of the (controller owning) object. So this should never be an issue.

I can only guess you execute this code at the armature. An armature has no mesh and will fail when you try to access it (line 3).

Hint: When using code you should always have a console window open to see any error messages. If you already have ... please post error messages together with your question.


Object rotates when Copy Location Constraint enabled

So let me make sure I understand what's happening: through frame 100 (ish, can't see really well) you're using a child-of constraint, then at frame 101 you set the influence to 0 of the child-of, and set the influence of the copy location constraint to 1.0?
It's not the copy location constraint that is rotating the object.  It's the fact that the object is no longer under the influence of the child-of constraint.  At frame 100, that child of constraint is creating rotation on the object, inherited from the target of the child of.  At frame 101, that constraint becomes inactive, and it loses that rotation all at once.
How to fix? If you haven't already, start by keyframing rotation for the object on frame 100.  Then, go to frame 101.  Set the influence of the child-of constraint to 1.0.  In the 3D window, apply visual transform (from ctrl-a menu for me) and keyframe rotation.  The object will jump momentarily; don't worry about it.  Then set the influence of the child-of constraint back to 0.0.  The object will have the same rotation it would have as if it were a child-of, but without needing the child-of to get it.


Is there a way to assign shift key to a mouse button?

I think blender maps operators to keys and not keys to operators, so you probably have to remap every operator that uses the Shift key.

In user preferences->input ,  you can set the input event to a NDOF device.


Set material strength and keyframes in Cycles with Python

Haven't had time to test this too much, but should work (or be a good start if not):

import bpy

curMat   = bpy.context.object.active_material
curFrame = bpy.context.scene.frame_current

emitStr = curMat.node_tree.nodes['Emission'].inputs[1]

emitStr.keyframe_insert( 'default_value', frame = curFrame - 2 )

# Delete existing keyframes from curFrame -1 to curFrame + 100
fcurves = curMat.node_tree.animation_data.action.fcurves
for fc in fcurves:
    if fc.data_path == 'nodes["Emission"].inputs[1].default_value':
        kfs     = set( [ kf.co[0] for kf in fc.keyframe_points ] )
        kfRange = set( range( curFrame - 1, curFrame + 100 ) )
        kfsInRange = kfs & kfRange # Inresect both sets

        for i in kfsInRange:
            emitStr.keyframe_delete( 'default_value', frame = i )

emitStr.default_value = 5                  # Set strength to 5
emitStr.keyframe_insert( 'default_value' ) # Sets kf in current frame by default

emitStr.default_value = 0
emitStr.keyframe_insert( 'default_value', frame = curFrame + 100 )


Blender exported mesh extremely deformed

To solve this try to add a Triangulate Modifier and apply it. If this doesn't work well I don't know what will.


Epiphany hit me and I just deleted the faces over the point in edit mode, switched back to sculpt mode, grabbed the vertex with the "grab brush" and pulled it back to the outside, filled the faces back in in edit mode and then smoothed out the mess that made back in sculpt mode.

Pretty much what Todd suggested!

All good now!


UV layout doesn't match shape of the object

Seems like you have edited the object and didn't apply the scaling. If so, you have to apply the changes for your particular editing transformations such as Scaling and Rotating.

Go to the Object mode
Use ⎈ CtrlA and select an option.

This will apply your transformation changes to the object by setting the Scale to (1,1,1) and Rotation to (0,0,0).

See the documentation

Scaling object and UV Unwrap without applying transformation changes:

After applying changes:


You have to use square brackets and quotation marks to make the Object Attribute nodes work with custom properties.


This feature was added recently and should be in 2.74.

  This attribute means how "pointy" the geometry surface is, which
  allows to do effects like dirt maps and wear-off effects on render
  geometry. This means the attribute is calculated for the final mesh
  which means no baking (which implies UV unwrap) is needed. Apart from
  this the behavior is quite close to how vertex dirty colors works.

  The new attribute is available as an output socket of Geometry node.

  There's no penalty for the render time, only some delay on scene
  preparation (the delay is linear of the mesh complexity).


my curve modifier does not modify my arrayed object around the curve?

The curve modifier has deformation axis options :

Try to click on X, Y or Z. Or check you did not clicked on the "eye" button on the top of the above picture.


In texture paint mode, is there a way for brush to be normal to surface instead of parallel with viewport?

Not yet, but the ability to do so is coming since Pablo Dobarro has coded it in development and it should be coming in official 2.82 later on. He made it consistent with the way the new 2.81 sculpt brush drawing works with the brush following the normal.


Bone transformations of one keyframe of one animation being applied to ALL frames of animations

Undo that original hip rotation, rotate the object by grabbing the whole object, then rotating it (A,G,R). I also found the Rest Pose can never be changed after animating without disrupting the animations.


Using the Fast modifier instead of Exact (default).


Normalize (from the blender manual)

  Normalizing a vector scales its magnitude, or length, to a value of 1, but keeps its direction intact.

Why do this for the Z-Pass?

The Z pass is the distance from the camera to the geometry in the scene for every pixel of the image. The camera is the 0 on the scale and the units used for its values are the working units set for the scene (blender units, meters, cm, inches, etc). The Z pass usually has values that exceed the 0 to 1 scale, and thus cannot be displayed as an image.

In order to visualize the information on the Z pass you normalize it so that if fits within the bounds of what can be displayed as an image (o to 1).


How can I apply color to a digital elevation model and a border?

Ultimately the solution I found that seems to have worked is just adjusting the z values for the layers in question. I Set the base map at 0, then the elevation model 1. This may not be the most elegant solution (again still new to blender) but it seems to be good enough, and easier to implement than some sort of clipping mask.


How to set-up the perspective view based on a reference image?

As an alternative to background images (which can't be displayed in perspective), you could use an Image empty (ShiftA> Empty > Image).

Image empties can be rotated, scaled, and translated just like any other object.

You can make empties transparent by adjusting the Transparency slider in Properties > Object data > Empty:

Note that when using transparent image empties, they will not be correctly drawn when they are not selected if Transparency is unchecked in Properties > Object > Display: