How to set Freestyle line set setting using python?

Blender 2.80

In order to activate the selection of edge marks you first need to access the Freestyle settings. These settings can be found in the view layer in Blender 2.80. Assuming your view layer is called "View Layer" you can access the settings using the following code:

freestyle_settings = bpy.context.scene.view_layers["View Layer"].freestyle_settings

Alternatively, if you always want to use the active view layer, then you can use the following instead:

freestyle_settings = bpy.context.window.view_layer.freestyle_settings

Next the line sets need to be accessed because the edge mark setting is configurable per line set. Assuming your line set is named "LineSet", you can access it the following way:

lineset = freestyle_settings.linesets["LineSet"]

Alternatively, if you always want to access the active line set, you can use the following instead:

lineset = freestyle_settings.linesets.active

Then you can enable the edge mark selection for the line set.

lineset.select_edge_mark = True

If you don't need access to the freestyle settings or the line set in other parts of your code you can also do this in a one-liner:

bpy.context.scene.view_layers["View Layer"].freestyle_settings.linesets["LineSet"].select_edge_mark = True

The alternative version when relying on the active view layer and line set looks like this:

bpy.context.window.view_layer.freestyle_settings.linesets.active.select_edge_mark = True

Blender 2.79

In order to activate the selection of edge marks you first need to access the Freestyle settings. These settings can be found in the render layer in Blender 2.79. Assuming your render layer is called "RenderLayer" you can access the settings using the following code:

freestyle_settings = bpy.context.scene.render.layers["RenderLayer"].freestyle_settings

Alternatively, if you always want to use the active render layer, then you can use the following instead:

freestyle_settings = bpy.context.scene.render.layers.active.freestyle_settings

The rest is exactly the same as in Blender 2.80.


Please take a look of the following image:

Please Save as image (so your edit become an external file on your drive as image) and  than add the Fake user by clicking the F button as high lighted.

I hope it will help :) good luck!


How to make custom "create options" panel in bottom left

While mountainstorm's answer is functional, you actually don't need so much to get the redo UI to show up. (At least not in Blender 2.9 - I haven't tried this in earlier versions but the release notes don't indicate any changes around this.)
The requirements are simply:

Your operator's bl_options must include 'REGISTER' and 'UNDO'. (Register indicates to show the redo panel; undo is needed because redo is just an undo of the last operation, followed by re-execution of the operator.)
Your operator needs to have at least one property defined.

That means this is a minimal operator that will display the redo panel when executed:
import bpy

class EXAMPLE_OT_DefaultIntOperator(bpy.types.Operator):
    bl_idname = "example.redo_operator"
    bl_label = "Example Redo Operator"
    bl_options = {'REGISTER', 'UNDO'}

    my_prop: bpy.props.IntProperty(name = "My Property")

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

This uses the default operator drawing logic, with one property per row. If you want, you can also control exactly what's drawn by defining the draw(self, context) method in your operator. The following code defines two operators, one matching the earlier example, and another using a custom draw method to enable/disable a property input based on another property's value.
import bpy

class EXAMPLE_OT_DefaultIntOperator(bpy.types.Operator):
    bl_idname = "example.redo_operator"
    bl_label = "Example Redo Operator"
    bl_options = {'REGISTER', 'UNDO'}

    my_prop: bpy.props.IntProperty(name = "My Property")

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

class EXAMPLE_OT_CustomDrawOperator(bpy.types.Operator):
    bl_idname = "example.redo_operator_with_draw"
    bl_label = "Example Redo With Custom Draw"
    bl_options = {'REGISTER', 'UNDO'}

    dependent_prop: bpy.props.IntProperty(name = "My Property")
    flag_prop: bpy.props.BoolProperty(name = "Use Int")

    def execute(self, context):
        msg = f"dependent_prop: {self.dependent_prop}" if self.flag_prop else "Nothing to report"
        self.report({'INFO'}, msg)

        return {'FINISHED'}

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

        row = self.layout.row()
        row.prop(self, "flag_prop")

        sub = row.row()
        sub.enabled = self.flag_prop
        sub.prop(self, "dependent_prop", text="")

bpy.utils.register_class(EXAMPLE_OT_DefaultIntOperator)
bpy.utils.register_class(EXAMPLE_OT_CustomDrawOperator)

# If you're using Blender 2.9, operators only show in search if they're registered in a menu,
# so you need everything below this point. You can find your ops in the Object menu within the 3D viewport.
# See https://wiki.blender.org/wiki/Reference/Release_Notes/2.90/Python_API#Compatibility
def basic_op_menu_func(self, context):
    self.layout.operator("example.redo_operator")

def custom_op_menu_func(self, context):
    self.layout.operator("example.redo_operator_with_draw")

bpy.types.VIEW3D_MT_object.append(basic_op_menu_func)
bpy.types.VIEW3D_MT_object.append(custom_op_menu_func)

As mountainstorm noted, you may need to override the execution context if you're calling the operator from a script and still want the redo panel to appear. If you're just creating a UI button via UILayout.operator, or executing your operator from a menu, then this should be unnecessary.


How to visualize a value resulted from math node?

Just plug the value directly into compositor output:

Check the Auto Render option in the header to have your composite update.

In the Image Editor see the value with right-clicking on the grey rectangle:

You will see values less than 0 or more than 1 also. No need to scale them.

But you can't see it always, you have to fiddle with the nodes then right-click and check value, can't change node while seeing the output. Blender lacks this functionality.

Theoretically one could make some value visualizer from translating and cropping a picture of numbers with some math involved..or something similar..so here you go:

Image (no need to download its packed in blend):

Blend File with node group:

It will replace your composite with numbers on black background:

This node-group for every decimal of input crops that number from the number-strip (image texture inside the group) and then translates it onto its position.

Due to some rounding artifacts sometimes you might get weird result but its good enough. Its a floating-point limitation.


Super Laggy when moving vertices, in edit mode, where it shouldn't be laggy

I have found the issue. Its the shrink-wrap modifier I used for the side markers.


motion tracking : how to extract 3d position from selected 2d tracker

Use Link Empty to track, which will create an empty in the 3D environment that correspond to the tracker


Convert armatures to empties while retaining animation data

If I got you correctly you may transfer the animation data from bones to empties and then bake it to keyframes.

Add an Empty in the same location as keyframed bone and give it a Copy Transforms constraint. Set the Head/Tail value to 0.500 to place it in the middle of a bone.

Select an Empty, go to the Animation bookmark of a Tool Shelf (T) and press the Bake Action button. Check all the checkboxes there and set the Object as a bake data type. Delete the bone finally.


UV problem. Artifacts appearing on material

When you create new holes inside the mesh with the Boolean modifier active, Blender will wind up recalculating all of the faces affected. Normally, if you sub divide the mesh and then apply the Boolean modifier, you could get better UV textures. At this point, you can do one of the following:

Subdivide the mesh first with enough vertices to avoid this problem when you apply the Boolean modifier.
Add more vertices to certain parts of the mesh to create cleaner faces with the Boolean Modifier active.


The Gradient texture outputs a numerical value between 0 and 1.  You can create a color gradient from this by plugging the gradient texture into a Color Ramp node.

The Color Ramp takes a value between 0 and 1 (values outside this range are clamped) and outputs the color from the proper place along the set gradient.  A value of 0 will output the color on the far left, a value of 1 will output the color on the far right.

You can create a custom gradient by adding color swatches, Cycles interpolates the colors between each swatch.  Add a new color swatch by clicking the "+" button, select a swatch to change its color and position.

As a technical side note, the gradient node is actually a texture not a shader.  A shader is a set of instructions that tell Cycles how light interacts with the surface or volume of an object, a texture is an array of colors.


Move each of edge loop's vertices by their relative weights in a vertex group

I suspect you can use any of the deform modifiers to do this, and while a lattice can be deformed in many ways (and so your VG), even a hook modifier to a simple empty will do, eg:

to get this:


Is it Possible to have Two Alternating Pistons in Blender Physics?

Robin Betts comment was probably the closest I was looking for.
However, in the meantime I have switched to  a more simple mechanism proposed by the students of Delf TU in Holland.
Here is how I rendered it.

They key in making this happen is by setting the piston to Animated and building keyframes on it. The rest moves by itself through Physics.
Thanks to all!


In the "Scene" tab go to "Passes" and enable "Object Index". Then select the object you want and go to the "Object" tab. Under "Relations" you will find the "Pass Index". Give it a value, example: 1.
Then go to the compositor and add an ID mask node and a File output node like this:

Set the ID mask node to whatever your object's index is example: 1.
You will get a Black and white image of the silhouette of the object.
Make sure to have a decent resolution so that your image is not pixelated.
Hope this is what you were looking for.


Add a lip to the cup. This will help guide the direction of refraction rays. Most cups have a rim, and the glass shader is physically-based, so you're probably going to get weird results if you deviate from the real world.

Increase glossy bounces to something dramatically higher, like 64-128. This will help ensure enough glossy (reflection) bounces hit the rim of your cup. Also up transmission bounces to something like 64. This will help stop refraction rays from terminating too early.

Add an HDRI, more lights, and/or simply add a box or some other objects surrounding your cup. The environment is mostly causing this. At the moment, your world color is just a flat color, and you only have a small pink plane that the cup rests on. There's very litle for light to reflect off of, so you get too much refraction where there should be reflection.

See: Excessive refraction at glancing angles with glass and/or fresnel nodes?
This is how it looks when I upped glossy bounces to 128 and transmission bounces to 64. I think it's significantly improved already. It's not perfect though, and you can further improve the realism following my other steps. Most important is an HDRI or some other more realistic environment instead of endless empty space.


How to restore menus after unregistering a menu-altering-add-on?

You add this to the unregister function, pointing the the UI script of the affected editor:
    bpy.ops.script.python_file_run(filepath= bpy.utils.resource_path(type="LOCAL")+"\\scripts\\startup\\bl_ui\\space_sequencer.py")
    bpy.ops.script.reload()


How to change highlight color for icons in outliner panel

The colour in the outliner seems to be linked to the outline colour of the active object in the 3D view.

You can change this colour in User Preferences> Themes> 3D View> Active Object:


Particle Info not working on Blender 2.8 with Eevee

This link (https://docs.blender.org/manual/es/dev/render/eevee/materials/nodes_support.html) does state that the particle info node is not currently supported in Eevee, so that answers part of the question.

https://developer.blender.org/T59459


Lighting preview does not work in Blender 2.78?

It is not currently supported, it's a known limitation of the current system.

Cycles OpenGL material preview has vey limited functionality, until recently (before 2.78) it didn't even have proper texture preview

It is currently planned to be substancially improved for Blender 2.8 project with a new viewport rendering system supporting PBR and improved performance


Can you change the shader and font settings as a new default?

For the first question about the keyboard shortcuts

Go to Blender User preferences window [Ctrl+Alt+U] under the "Input Tab"
Search for "Context toggle values" in the search field.
Scroll down to the "3D View" category
You should see three entries by default for [Z] [Alt+Z] and [Shift+Z]
key combinations.
Expand each of them and change the strings in the "Value" fields to whatever you want.
In you case change the [Shift+Z] to toggle between "MATERIAL" and "RENDERED"


Why is part of a mesh a different color on the viewport?

Normally, I believe it's just plain shadows that blender generates for you to be able to identify the object as 3D. However in this case, the unusual colouring of these faces are most likely because their normals are the wrong way around. If your model is well designed (in which you made sure all the edges connect each other with no holes or gaps, which can be re-ensured using remove doubles in edit mode, but don't do this if you actually need different vertices in the same place), go to edit mode, click the UV tab on the left and recalculate normals.

Or to avoid any confusion, click Reverse normals on the faces that look unusually dark. If they become brighter and more grey rather than blue, it means their UV's were the wrong way around and are now the right way around. This is essential when importing models into game engines like Unity 3D, where you wouldn't want to have a partially invisible asset.

Here:


why my plate turn to normal map in object mode?

It's happening like that because you have selected the normal map image node in the Node Editor. If you click the object texture node in the node editor, that active node will be displayed in the viewport.

EDIT:


You can try this kind of configuration :

The bounding box is considered as a local space from (0, 0, 0) to (1, 1, 1), and each vertex of your mesh has a position into this bounding box. The 'coordinates' node gives this position.

Here with a sphere, no vertex has coordinates greater than 0.8, so you don't have any white part (this is a top view) :


How to simulate overexposure due to bright light? (Cycles)

Ok I think I found a solution, for now.
It doesn't look realistc but better than nothing.
With this nodesetup its possible to increase the brightness to white and then spreading out from the source.

If you increase the value of the multiply-node the light is getting brighter.


How do I UV unwrap this shape in to one island?

I would mark two seam rings.  One around the outside of the donut, and another cutting across  a small ring of the donut:

The problem is that the quality of the unwrap you get from blender's default logic can be pretty variable.  A plain unwrap sort of pinched the ends of the rectangular island.  The "follow active quads" depends on the state of the uv map when it starts (the screenshot shows one of the less disastrous outcomes).

The best uv unwrap seems to be when you do a Reset (which makes every quad cover the entire image) and then a Follow Active Quads.  Then you can scale it to fit in the image, or leave it huge to tile a texture.


Your object is cloned.
You have a complete mesh (MECH_MESH) and the same but in 195 separate objects (MECH_MESH.001,MECH_MESH.002, ..., MECH_MESH.195). This could be for easy damage or something like that (?) but destroys the surface whan rendering (faces overlapping).

Anyway, just select MECH_MESH (right click until you select the good one or use outliner) and move it to another layer (with M, 3 or number of your layer) to get a good render. Setting the objects on different layers will allow easy selection (and then deletion, hidding, toggle renderablity,...).


Removal of Program to reinstall not gone entirely

To remove blender completely go to Control Panel -> Remove a program -> remove blender, then go to C:\Users\Your-Username\AppData\Roaming\ and remove the folder called Blender Foundation (This is where blender saves it's stuff), then reinstall blender.

about Blender 2.8, here is the link to download it: https://builder.blender.org/download/

just download the .zip folder, unzip it, then run the Blender.exe file (You don't need/have to "Install" it), Thats it :)


How can I edit text object properties with a script?

import bpy

# Set render engine to cycles
bpy.context.scene.render.engine = 'CYCLES'

textObjs = [ o for o in bpy.data.objects if o.type == 'FONT' ]
print( "No of text objs: %s" % len( textObjs ) )

for o in textObjs:
    print( o.name )

    # Set text properties
    o.data.extrude             = 0.2
    o.data.bevel_depth         = 0.1
    o.data.bevel_resolution    = 0.1
    o.data.resolution_u        = 12
    o.data.render_resolution_u = 12

    # Create a new material based on the object's name
    o.active_material = bpy.data.materials.new(o.name + '.mat')
    o.active_material.use_nodes = True


What is a good approach to reduce the number of faces on this chair model

You can reduce the number of quads on a flat surface without generating Ngons with edges poles in red, by doing something like this (I don't know the name of that specific kind of retopology)

High poly is useful for boolean operations or deformation, to reduce the number of polygons, and keeping detail you can use for baking.


Showing mouse event in blender info panel

Finally i could find that there is an option in blender called "debug_wm" which can be enabled by typing

bpy.app.debug_wm=True

in the python console which lets you see the those function calls linked to the mouse. Make sure that you launch blender from the terminal as the logs are written to the terminal on which blender is opened.


Creating a python script that will add objects in fixed time intervals

I found a potential solution here: https://blenderartists.org/forum/showthread.php?246876-Python-time-delay-within-script
Based off what I see, it looks like blender only has one thread which is why your script wasn't working the way you expected

(Note: I found it via Are there any other script delays besides sleep?)


Automatic weight painting doesn't affect mesh

Before assigning a mesh to an armature, the deforming bones have to be marked as deforming by checking deform. When creating bones, this checkbox is enabled by default, you must have unchecked it at some point.

After that, select the mesh, then ⇧ Shift RMB select the Armature and Parent them ⎈ CtrlP e.g. with Automatic Weights. Note, how vertex groups are created for the bones, which have Deform checked.

To ensure deformation, the Deform must stay checked and the Armature modifier (created by the parenting earlier) must be visible.


Because of wrong keyword so i couldn't find the answer on google before.
But i just found out that it's all about Action Constraint.
More information and simple tutorial here


Cycles lighting Principled BSDF differently on CPU and GPU

OK I found the answer, really stupid mistake.

I had direct light clamping on 10 and it did really weird things where light sources would be randomly clamped out.

I could re-render the same frame several times and achieve different results each time.

I just turned it off now.


Connecting two planes together successfully

After removing doubles (select all > W > Remove Doubles) and recalculating normals (select all > Ctrl+N) only this part of geometry is displayed as non-manifold:

When inspecting one of those sides it becomes clear that vertices of thin part of mesh aren't connected to thick part:

You should connect those vertices to edge located between thick and thin parts.

Select top and bottom vertices of that edge. Subdivide them with W > Subdivide, in Last Operator panel (F6) choose 2 subdiviosions.

Select top subdivided vertex, select top original vertex and press Alt+M > At Last to merge them.

Repeat that for 3 other vertices (to do that faster you can use Repeat Last operator. Once you merged first pair of vertices select next pair appropriately and press Shift+R. It will repeat last action).

Optionally: you could edit topology a bit to avoid Ngons on thick part of this mesh. However this shouldn't be important if you aren't going to add Subsurf on the model.


While Lemon's answer about the shading sounds correct, and use of triangles is a subject that can be debated for hours, I thought I would add some suggestions for adjusting the topology you have.

I see two ways to quickly get rid of the triangle you have highlighted.

Add an edge loop ⎈ CtrlR that will terminate at the triangle. This adds a fourth vertex to the triangle turning it into a quad.

Split the mesh that connects the triangles on each side and add in an extra face loop which adds another triangle that you can merge into a quad. With the vertices selected press V to rip the selected vertices. You can also use ⎇ AltV to rip and fill in one step.


How reorder layers in animation? (grease pencil)

There are two ways to go about this, not including the one you have.
The first is separating each ball onto its own object, then translating the objects’ Y axis to literally move one ball behind the other. Grease pencil objects are flat, so a translation as small as 0.001 should suffice. This method is good if you have a lot of individual objects with their own properties because you can then parent them, like pieces of armor or orbiting planets.
The other method is the ‘switchboard’ technique, which utilizes the dope sheet. At a certain point in the animation, copy layer 1’s keyframe and paste it onto layer 2, then copy layer 2’s key frame onto layer 1 - manually switching the two. This is good if you have a lot of components to a single object, say like fingers on a hand.


How do i make grease pencil lines to disappear?

In the "N" properties menu, go to colours and delete the colour which the stroke is using, and this deletes the strokes.


Reset origin of objects after file import (from Cinema 4D)

After you bring any object into a new file, whether by appending from another blender file, or by importing a file from another format, the first actions you should take are to apply rotation, scale, and location. If the object's origin point is not where you want it, you can set the 3D cursor where you want the origin, and use CTRLSHFTALTC to move the object origin to the 3D cursor.


As Mr Zak suggested, the option Object Data > Shape > Fill has to be set to "full" instead of "half", as mine had.


How can i wrap an array grid onto a different object without the objects "collapsing"?

You can do this by using a lattice to proxy the shrinkwrap modifier.

Add a lattice at the same position as where you want your objects to intersect.

Add a shrinkwrap modifier set to your cylinder.

Add a lattice modifier to your array

sources :

https://www.youtube.com/watch?v=tsNPpFvpTAU

https://youtu.be/UfhJ0mBUqr8


To create a colored background with and HDR we want everything but the camera to see the world as the HDR, and the camera to see it as white. To do this we can use the Light Path node. use the Is Camera Ray attribute to see if the camera is what is looking at the sky, if it is, show white. If not, show HDR.


How to make two separate curves move together

With the Hook modifier you can parent the vertices of 2 separate curves to the same empties or bones.
If you want to parent a curve vertex to a bone:

Disable the Lock Object Mode option:

Select the bone in Pose mode, shift select the curve, go in Edit mode, select the vertex, press CtrlH > Hook to Selected Object Bone:

It has automatically created a Hook modifier for the curve:

Move the bone, it will move the vertex, the advantage compared to a hook to empty is that you can always come back to the bone rest pose:

To hook to an empty you just need to select the curve vertex and CtrlH > Hook to New Object, it will automatically create a new empty:

Now you can hook the vertices of the other curve to the same bones or empties.


Viewport Material colour Custom panel problem [GIF and script Included]

You can get the active material of the active object like this:

mat = bpy.context.active_object.active_material


Can I extrude a plane into a half cylinder?

Or you can use proportional editing.

Get into front view (View > Viewpoint > Front)
Move the middle vertices by your 'radius' (that'd be 100 mm in my example)

Check ✓ Proportional editing
Set Falloff > Sphere
Set Size to 'your radius' (0,1 corresponds to 100 mm)
Check ✓ Projected 2D


I found out the problem: I have fluid simulation in the scene, and the camera was reflecting off the domain's bounding box. The simulation only kicks in partway, and I forgot that this would cause the domain to resemble a watery cube prior to that point.


How to deform (randomize) object so it would look different?

Add a Lattice Object and set its resolution for your requirements.

Select your Tooth and add the Lattice Modifier, select your Lattice.

You can now edit the Lattice vertices and deform the Tooth.

Feel free to add additional Lattices and have the deformations compound.

You will have to investigate how best to do all this in Python, but hopefully this gets you started.


Thanks for your answer but through a bit more trial and error I figured it out. My Clipping Distance "END" was set to something stupid like 1000000m. Lowering it down to 10000m solved the problem.

I used a fresh startup file and things worked as they should so I compared the setting of the startup file to my own and found the discrepancy.

When the value was up that high, it had trouble highlighting the desired axis. I don't know if that's a bug or if that's how it's intended.


How to make object spin/rotate constantly in 3d mode outside of animation and game engine

Shoot, I had no idea or forgot that Blender allows keyframing animation of individual objects while other objects in scene can be manually transformed/manipulated during playback.  No wonder my question was so confusing.  So sorry but thanks for the help.


Where can I find Blender 32 bit version?

Here it is:

Blender 2.78c Windows 32 bit Download (clicking this link will start the download)

To find it in the future, click on the "macOS, GNU/Linux, and other versions" button to find alternate versions, including 32 bit versions.

Hope this helps.


How to Make Copy of Scene but change some things

Have you tried making an collection?
A - to select all, shift+D to duplicate, Ctrl+G to create new collection that is NOT Linked to the active scene.
See Blender Guru's Doughnut tutorial Part 5, Level 1 timestamp 2:07
https://www.youtube.com/watch?v=6OTX3ZdYvEA&list=PLjEaoINr3zgEq0u2MzVgAaHEBt--xLB6U&index=6
https://docs.blender.org/manual/en/latest/scene_layout/collections/collections.html

Too low rep to post as comment. Hope this helps.


If you select default, the transform will be the sRGB OETF as applied via OCIO. If you select any of the other view transforms such as Filmic, it's an entirely different dynamic range and transfer function.

The discrepancies you are seeing may be a byproduct of the LUT approach, but I'm not sure.

Converting a scene referred EXR to a display referred PNG isn't quite as simple as using the sRGB OETF however, and YMMV depending on your needs.


black cracks/ fragments across multiple objects in final render

It looks like there is some hidden extra geometry being rendered. Make sure you don't have any geometry that is hidden, but with rendering enabled (Alt+H will do).


Maybe just switch to wireframe mode "Z", box-select the general are (don't grab anything useful), then merge it at center with ctrl-m. Afterwards use snap to vertex on the individual axis, to make sure it ends up back in place.


Problem painting through model in overlapping uv area

Moving the uv's to an unused space will work.

From the blender manual for v2.79 overlapping uv's are not supported:

"Known Limitations

UV Overlap

In general overlapping UVs are not supported (as with texture baking).

However, this is only a problem when a single brush stroke paints onto multiple faces that share a texture."

So the only solution really is to delete the part or move the problem uv's to an area that is not used. The original uv's are set by someone else but since the part is not seen it doesn't matter.


If the active object isn't a mesh, curve, or surface these options won't be available (thanks @Carlo).
Right click on an object to make it active. Use ⇧ Shift RMB to make an object active while maintaining the rest of the selection.

It's somewhat rare that you end up completely without an active object, but it can happen e.g. when switching between layers.


A UV map is required in order to bake.

To UV unwrap a mesh, switch to edit mode (↹ Tab) and press U.
Usually an automated method like Smart project or Lightmap pack is good enough for baking, but for other uses you may want to use manually placed seams.

See

What does unwrapping a model do and why is it important?
How to properly unwrap my mesh?


Why my point lamp is going in one direction only?

Your normal map node's strength is very high. Try setting it below 1.
If you are using the same image texture, it is better to use a bump node and connect it to the height input.
If you have a proper normal map (the purple ones), the image texture node should be set to non-color data and be connected to a normal map node'.


Why does swapping the X and Y mapping coordinates break 'box' mapping?

The Box mapping uses the direction of the face to determine the mapping. This means that the faces parallel to, say, the Y-axis are mapped as X,Z to the image's coordinates, while those parallel to the X-axis are mapped as Y,Z to the image's coordinates.

By swapping the input coordinates in that way you are upsetting the mapping so that, say, for the faces parallel to the Y-axis are mapped as Y,Z to the image's coordinates - but since the face is parallel to the Y axis, Y is constant - so the image becomes distorted on that face (as only one axis of the image coordinates varies; the other is constant).


How to use specific color from an image texture as factor/mask in cycles mix node?


"Animated vector" multiple object moves from CSV with animation nodes

Create a Vector List from csv. Then traverse through points using Mix Vector List.


How to get a posebones global tail position

If you have your armature object as arm, you can get its nth bone’s tail local position (i.e. its pose location in armature’s object space) with arm.pose.bones[n].tail, so to get that in world coordinates, just multiply it with the armature’s world matrix: arm.matrix_world * arm.pose.bones[n].tail.

Note however it may be simpler (in simple cases) to use a bone constraint like Floor or Limit Position ones…


vertices generated by script not placed correctly

the code is not quite right. Here 2 variants :

1. if you need cubes (separated) as it seams from your example

for this you need 4 verts for current section and 4 more verts that are really the next section, same but steps + 1 (0 at the end)

so the part of the code changed would be:

for steps in range(iterations):
    # this is the next iteration
    step2 = (steps + 1) if steps < iterations else 0

    # this section
    x1 = math.sin(a * steps)*r
    x2 = math.sin(a * steps)*(r-t)
    y1 = math.cos(a * steps)*r
    y2 = math.cos(a * steps)*(r-t)
    z1 = d
    z2 = 0
    # next section
    x3 = math.sin(a * step2)*(r-t)
    x4 = math.sin(a * step2)*r
    y3 = math.cos(a * step2)*(r-t)
    y4 = math.cos(a * step2)*r

    # cube
    v0 = (x1,y1,z1)    # out
    v1 = (x2,y2,z1)    # in
    v2 = (x3,y3,z1)    # in next
    v3 = (x4,y4,z1)    # out next
    v4 = (x1,y1,z2)    # same for z2 ...
    v5 = (x2,y2,z2)
    v6 = (x3,y3,z2)
    v7 = (x4,y4,z2)

    verts = (v0,v1,v2,v3,v4,v5,v6,v7)

    faces = [
        (0,1,2,3),      # top
        (7,6,5,4),      # bottom
        (0,3,7,4),      # right
        (5,6,2,1),      # left
        (3,2,6,7),      # front
        (1,0,4,5)]      # back    #flipped to get the right normal

the rest is the same

2. if you use a continuous mesh (like a torus) in case that works too

the principle is the same, but you use only the 4 verts and in the faces include the next iteration (0 at the end).
Also, can generate all face index at once realy, but that is not the issue here

so the part of the code changed would be:

for steps in range(iterations):

    #### vectors

    x1 = math.sin(a * steps)*(r-t)
    x2 = math.sin(a * steps)*r
    y1 = math.cos(a * steps)*(r-t)
    y2 = math.cos(a * steps)*r
    z1 = d
    z2 = 0

    # rings
    v0 = (x1,y1,z1) # top in
    v1 = (x2,y2,z1) # top out
    v2 = (x2,y2,z2) # bottom out
    v3 = (x1,y1,z2) # bottom in

    verts.extend( [v0,v1,v2,v3] )

    #### polys

    thisStep = steps * 4
    nextStep = ((steps + 1) % iterations) * 4

    polys = [
    (thisStep + 0, nextStep + 0, nextStep + 1, thisStep + 1),   # top
    (thisStep + 1, nextStep + 1, nextStep + 2, thisStep + 2),   # out
    (thisStep + 2, nextStep + 2, nextStep + 3, thisStep + 3),   # bottom
    (thisStep + 3, nextStep + 3, nextStep + 0, thisStep + 0),   # bottom
            ]

    faces.extend( polys )

here you would generate a single object and just set the verts/faces on it

well, for the sake of example :)


Add object works with logic brinks but cannot figure out the scripting

Not sure about game engine but you can simply set the location of an object in a regular scene.

object.location = Vector([1,2,3])


How to find and remove duplicate image texture files

You can use the drop down in the outliner to view the blend file and then use the purge button to clear out any you aren't using.

If you want to keep something, you can fake a user by clicking the X, which will turn to a power button icon.


How to create a list containing lists of bm.verts based on their deform layer (vertex group)?

Code below creates a dictionary of vertex, weight pairs for each vg.  The defaultdict is great for this, as can set the default item to an empty list and append directly on key (in this case vg name)

import bpy
import bmesh
from collections import defaultdict
ob = bpy.context.edit_object
me = ob.data
names = tuple(vg.name for vg in ob.vertex_groups)
bm = bmesh.from_edit_mesh(me)
layer_deform = bm.verts.layers.deform.active
if layer_deform:
    vgs = defaultdict(list)
    for v in bm.verts:
        for vg_index, weight in v[layer_deform].items():
            name = names[vg_index]
            vgs[name].append((v, weight))

    for k, v in vgs.items():
        print(k, v)

sample output

Group [(<BMVert(0x7f99f0325010), index=0>, 1.0), (<BMVert(0x7f99f0325048), index=1>, 1.0), (<BMVert(0x7f99f0325080), index=2>, 1.0), (<BMVert(0x7f99f03250b8), index=3>, 1.0), (<BMVert(0x7f99f03250f0), index=4>, 1.0), (<BMVert(0x7f99f0325128), index=5>, 1.0), (<BMVert(0x7f99f0325160), index=6>, 1.0)]
Group.001 [(<BMVert(0x7f99f03250f0), index=4>, 1.0), (<BMVert(0x7f99f0325160), index=6>, 1.0)]
Group.002 [(<BMVert(0x7f99f0325128), index=5>, 1.0), (<BMVert(0x7f99f0325198), index=7>, 0.4263862371444702)]

can access with

for v, w in vgs[vg.name]:
    print("vertex", v.index, "has weight", w)

for a list of lists as requested in question, define array for length of vgs

vgs = [[]] * len(ob.vertex_groups) # create a list for each vg

then populate with

for vg_index in v[layer_deform].keys():
    vgs[vg_index].append(v)

Related: Accessing weights of a bmesh


Composite blur effect cut off at edges with transparent background

You can't do that with a PNG.
What you need there is to make some transparent pixels luminescent, and that's only possible with an associated (sometimes called "premultiplied") alpha channel.
PNG uses unassociated alpha. That means that the alpha over operation will multiply the alpha on the foreground plate as part of the operation, destroying the information that sits on the transparent pixels.

The only way to solve this is to use a format that allows associated alpha channel.

Keep in mind that programs like GIMP (and Photoshop used to, but I'm not sure if it still does) internally convert images to unassociated alpha, making compositing that kind of images imposible.
The same happens with graphics for the web if you're going to use PNGs.

Blender's compositor and other compositing programs will allow you to do that, but if you need to use it in one of the programs mentioned above, you'll have to export the glow plate as a separate file and add it over the composite.

Here is a simple example that demonstrates how easy this is to accomplish correctly:


Reloading Animation Nodes (node development workflow)

try hitting F8 to reload scripts, or, if you're just running your script from a text editor, just run it again.


How to make a fake 3d environment / animation with blender

The reason for fake-3d in the article is probably not the same as your reason. Instead I imagine its a way to make things look 3-d while they are not.
While Blender is a suite of applications and capable of many things you may be better off with another application, if you dont want real 3d?


Blender won't render the image when set to GPU compute

The rendering window shows that your scene is more than 2.5GB big. Together with other applications and Windows this can even fill a 3GB graphics card. Your graphics card probably just can't provide enough memory for CUDA.
If Cycles can not get enough memory, it will not render. If you are rendering on the CPU, Cycles can use the system memory which is usually much larger. This is why you can still render in CPU mode.

To reduce the memory needed to represent a scene there are a few tricks:

Using instances: When you duplicate objects that will have the same geometry, do so by pressing Alt+D instead of Shift+D. This will duplicate a mesh as an instance: The mesh data only exists once, it is just used with another transformation. If you look at the mesh data of your object you will see that it has multiple users now:

You can also set the mesh data an object uses by clicking on the icon with the three vertices and selecting the mesh you object should use. Setting all objects to the same mesh will have the same effect as if they were copied by pressing Alt+D.

Reduce texture size: While this is not the most beautiful option, it will save much memory. Textures are quite big if they are unpacked in memory. They are not compressed like .jpeg or .png anymore. Look for objects that are small or off in the distance. Large textures are typically not visible there anyways.
Use procedual textures: Some image textures can be replaced by procedual textures, especially random noise bump maps and such. While creating procedual textures requires some extra computations, they do not need much memory since their data is only calculated when needed.

In general it is also good to have a look at the console. It usualy contains more detailed error messages. If your console is not shown, click the 'Window' menu on the top of the Blender window and select 'Toggle System Console'.


Number changing animation with animation nodes?

First we have to make two lists of texts. first list containing 5 copies of 14.5 260 and second list containing the modified text. Then we can use a switch node to switch between these two lists. The switching condition can be set using a sine node which produces flickering effect.

Here is the full node tree :


It could be that you are not actually providing the compositor with any transparency. The alpha output socket from the scene node will just be a solid white unless you check the following properties:

Blender Internal: Turn on Shading > alpha > transparent, in render properties.

Cycles: Turn on film > transparent, in render properties.


How to install Pip for Blender's bundled Python?

First of all, pip is not part of Python so it doesn't come by default with Blender.

It has to be installed for Blender's bundled Python even if you already have pip for some other version of Python on your system.For this get the get-pip.py file from the pip documentation

You'll find the blender python binary at:

/blender-path/2.xx/python/bin/python

Use this binary to run the get-pip.py. If you have it saved in your home directory the command to use should look something like this:

$ /path/to/blender/blender-path/2.xx/python/bin/python3 ~/get-pip.py

You should now have pip installed for blender. You use it with blenders python too and you have to point to the pip that was installed for blenders python. Both are in blenders folder tree and you use them like this:

$ /blender-path/2.xx/python/bin/python /blender-version/2.xx/python/local/lib/python3.5/dist-packages/pip install scipy

This installs scipy for your blenders python. Of course you have to adjust names according to the version you use, but it worked for me for 2.77.

I just tried to do this again and with a recent build I did not have to point to he installed pip, calling blenders python was enough, my command looked like:

/path/to/blenderspython/python pip install module

blender-2.8: pip is already included so the only step to do this for blender-2.8 is:

$ /path/to/blenderspython/pip install module


How can I quickly find the collection an object belongs to?

In the 3d view-port sidebar panel - View type, there is a "collection" block to indicate which collection belong to the selected object.

(note that cube is in both collections, so both collections marks are filled)

You can also find it in collection block of object properties panel:

But careful about this Collection block, see here


How to fit an object generated by the Array modifier into a frame precisely?

You can just calculate it. To make life easier let's enable MeasureIt add-on in the User Preferences(ctrl+alt+u) in the add-ons tab:

So let's say we have an array of 23 elements. Let's enter 1 as the Relative Offset to get an array without any gaps:

Then we need to measure the remaining gap so let's enter edit mode of the frame object and grab one corner vertex and duplicate it (Shift+d) and snap it to the end of the array object. This way the distance can be measured with MeasureIt easily. Note that you can choose units of MeasureIt in the Side Panel(n).

Now we know what distance we need to fill. So we want every array element to have a gap after it except the last one, so that is 23-1=22 gaps. We wll need to divide the distance into 22 parts, so let's enter the distance in the Constant Offset field and divide it by 22 in the field itself and hit enter and that is it.


Select the mesh only, open the Dopesheet, switch to Action Editor mode, click on Only Include Channels Relating to Selected Objects option, you can see that you've given your mesh an action called "Action". This action includes X, Y and Z scales that influence the scale of your mesh, and if you applied the scale it made your mesh smaller. You should not give any action to your mesh, only to the armature that controls this mesh, so just click on the X button to close this action. Also you should join the tentacle bones to the root bone to make it simpler.


What you're looking for is called proportional editing. It allows you to select a point or set of points, and when you move those points other nearby vertices will move along with them.

To use proportional editing, enter Edit Mode by pressing Tab, then look on the bottom of the window and enable Proportional Editing (you can also use the hotkey O while in edit mode to toggle proportional editing).

To the right of that menu there is the Proportional Editing Falloff menu, which lets you select how nearby vertices will be affected.

Once you have proportional editing turned on, select a vertex and move it, and the nearby vertices should move along with it. To broaden or narrow the effect, use the mouse scroll wheel.

Images are courtesy of the Blender Manual and the Blender Wiki.


Add a StringProperty to your operator, then set its subtype to either FILE_PATH or DIR_PATH. For example, this bit of code in my addon:

class OHA_QuickLink_Props(bpy.types.PropertyGroup):
    root_folder = StringProperty(
        name="Root Folder",
        description="Only .blend files two levels below this folder will be listed.",
        subtype="DIR_PATH",
        update=update_oha_quicklink_root_folder)

Blender 2.8x:

class OHA_QuickLink_Props(bpy.types.PropertyGroup):
    root_folder : StringProperty(
        name="Root Folder",
        description="Only .blend files two levels below this folder will be listed.",
        subtype="DIR_PATH",
        update=update_oha_quicklink_root_folder)

yields the following text field when drawn:


How do I resolve a path with backpaths (..) in the image.filepath?

Crap -- I have GOT to stop asking questions until I spend more hours looking for an answer.

Sorry, folks, but os.path.realpath(mypath) works for me.  Sigh.  Nothing to see here, move along.


Blender has a setting called Overwrite in the Output Properties which allows to disable the overwriting of existing files, when unchecked. Unfortunately files that have already been overwritten cannot be recovered.


Copy / paste does not work in 3d viewport

The problem solved. I completely delete Blender and all my settings (and clean up regisrty). After all i installed new Blender 2.91 - it works.
Previously, simple uninstalling Blender did not help


Manipulate individual UV islands in Cycles

Take advantage of the island's location

Each UV island belongs to a portion of the UV space. This means that for island that have different position, you'll get different vectors. You can use this info for creating masks.

In the following example, a math node set to "less than" filter the portion of UV space that can be found between U=0->0.2 and V=0->0.2, more or less the space higlighted by the box selection.

The single UV island that can be found inside this portion corresponds to the "face" of suzanne (not head, not ears...they are outside the box), so only that part will be shown white (1), while the rest will be black (0).

You can use the math node output as a factor for everithing you whish (e.g. mixing two shaders, switch between different textures...).

In the provided example, for clarity's sake I preferrred to show a harsh dicotomy between the diffrence of UV islands treatment, but nothing prevent you to use smooth gradients or something else.


Apply as rest pose deforms the animation

Old blender artist thread to change the animation of bvh after changing rest pose.
http://blenderartists.org/forum/showthread.php?254060-modify-motion-capture-T-pose
The code in a zip file
http://blenderartists.org/forum/attachment.php?attachmentid=283112&d=1389806292
The concept~~

Pose the armature into the new rest pose.
Make a copy of armature and make the pose the copies new rest pose.
Join the two armatures
Use the bone snapping code from rigify to snap the copied bones to
the original bones, and keyframe the new animation from those.

run the script and you will get the following buttons in the armature data panel

Hit the New rest pose to rig button, this will give you a new set of bones to the armature.  Have a look at the rest pose, the new set has the pose as a rest pose.  Play the animation and you will see the new bones do nothing.
EDIT
The execute of the operator updated to 2.8,
import bpy
from bpy import context

###################################################
# dupe rig
# for copy
# add prop to point to original bone
# make current pose the rest pose
# join to original
####################################################

scene = context.scene

# original bvh rig
bvhrig = context.active_object

bpy.ops.object.mode_set() # object mode
bpy.ops.object.duplicate()
ob = context.object
print("DUPE", ob)

#add a custom prop for each bone in the copy

for bone in ob.pose.bones:
    bone['bvh'] = bone.name

# apply the pose as rest pose
bpy.ops.object.mode_set(mode='POSE')

bpy.ops.pose.armature_apply()

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

# join back to original
ob.select_set(True)
context.view_layer.objects.active = bvhrig
bvhrig.select_set(True)

bpy.ops.object.join()

The BVH action to new restpose rig button, copies the original's animation by snapping the bones for each frame of the action.  Play the animation now and the new bones are animated same.
Then lastly, copy, paste, n run this code
import bpy

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

    @classmethod
    def poll(cls, context):
        return context.active_object is not None

    def execute(self, context):
        #dupe the armature
        bpy.ops.object.mode_set(mode='OBJECT')
        bpy.ops.object.duplicate()
        newarm = context.object
        # copy the action
        newaction = newarm.animation_data.action.copy()
        # strip out the old fcurves
        for fcurve in newaction.fcurves:
            if fcurve.data_path.find(".001") == -1:
                newaction.fcurves.remove(fcurve)
            else:
                fcurve.data_path = fcurve.data_path.replace(".001","")
        newarm.animation_data.action = newaction

        bones = [bone.name for bone in newarm.pose.bones if bone.get('bvh') is None]
        # remove original bones
        bpy.ops.object.mode_set(mode='EDIT')

        arm = newarm.data
        for name in bones:
            eb = arm.edit_bones.get(name)
            if eb is not None:
                arm.edit_bones.remove(eb)

        # rename bones to original names
        bpy.ops.object.mode_set(mode='POSE')
        for pb in newarm.pose.bones:
            pb.name = pb["bvh"]

        return {'FINISHED'}

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

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

if __name__ == "__main__":
    register()

    # test call
    bpy.ops.object.simple_operator()

and you will have a new rig (single bone set) with the new animation and new rest pose.
As you are using the Male1__.bvh mocap set, you can use the same "double boned" rig with other actions imported from another file of same mocap subject.
Result.


Animating separate objects / items independently in the same action

Blender Actions can't have different effects on different objects.  So, if you want an entire character to be managed by a single Action, it needs to be a single object — or at least linked to a single Armature. Assuming you're exporting to glTF to bring these models into three.js, you may find the exporter documentation on animation useful. Multiple NLA Tracks with the same names will be exported as a single animation, even if they affect multiple objects.


How to bend two parts of a flat objects on two different axis?

You could go with the Bend, using limits and Axis/Orientation Empties in the modifiers, but IMO, you would get finer control over the curves using Curve modifiers throughout?

Excluding the flat region from the circular curve modifier

In order to keep the end of the folded-over region flat, it must remain unaffected either by the mapping of the entire object into the curve, or the subsequent deformation. The first is achieved by arranging origins.

The circle's origin is placed at its first vertex, and at World 0.
The object's origin is placed at the center of its X dimension, at its minimum Z
The object is then translated in X (effectively rotating it around the circle under deformation) until the part of the mesh we want to remain stationary is directly above the circle's origin.

The second is achieved by weight painting:

The circle Curve modifier (deforming in X) is aimed at a vertex group - it does not affect the unweighted region:

The bottom is curved, the top remains flat, and in place.

Adding a second curve modifier to fold over a section.

The folding curve modifier deforms in Z, its curve can be anywhere you like in X, but here shown with its origin in the same place as the circle curve.

You could flatten more or less of the flap with weight-painting.


It looks like you have the wrong texture node. From what I can tell you are trying to use an image texture in an environment texture node. If you switch the environment texture nodes to image texture nodes everything should work.


Array modifier springs to mind as sleepers are somewhat of an array. It does however depend upon the way you want to extract (excuse my use of language, English is not my native language) your track.

If you intend to make some straight track, I would first create the tracks, 60 cm looks kind of right. Create a sleeper next and join it all as one object (sleeper as "root" works fine for me). I hope the included pictures enlighten you a little.

A straight track might look like this and can use an relative interval of 1:

To create a curve, this method is to crude: you get a lot of jagged connection, though if the track is only a very minor part of your scene, it might work. I reduced the interval to 0.95 to avoid gaps in the outside curve.

As you may see from my examples, I replaced your nice track-profile with a fairly crude modified cube.

I hope this helps you a little, kind regards, Christiaan


Blender Crashing within two minutes of opening even if left untouched after opening

I did test an older version and had the same problem. However...

Solution:
Couldn't find the crash files for blender so I checked the Eventviewer for Windows and saw a bunch of errors relating to my Wacom tablet. I uninstalled the Wacom tablet program, restarted and Blender has yet to crash again. :)


3ds importer porting for Blender 2.80 is done?

Ok, found out that the addon is already shipped with 2.92 alpha, so I downloaded the freshest build and copied the addon to my 2.90 addons folder.
It works flawlessly ^^


Extruded rectangle boolean operator acting strange

It turns out this is a bug in 2.77. Upgrading to 2.78a seems to fix the problem.

However that now has introduced a new bug whereby my mouse keeps jumping to the wrong monitor when I release the middle button after moving around in the 3D view. Very annoying.


Reflective and transparent material on poster

As you do not need anything like refractions, I don't think you need to consider the Glass shader.

In this situation, I would personally create a simple mix of Transparent and Glossy shader, and adjust the mix until you got the look that you wanted. Obviously it will be a mix of high transparency, and just a little glossy.

To get a physically accurate result, you could use the Fresnel or Layer Weight nodes to control the mix (so you get more Glossy on the glancing angle, and less Glossy when viewed straight on). Add a Math node to multiply the Fresnel and you can play around until you get the result you want.


Access Add-on preferences property in a multi-file add-on

I recently came across the same issue while developing an addon. I got a workaround from looking at this code of BlendLuxcore: use a mixture of basename and dirname from os.path to get to the folder name of your addon.


Cannot find Background Images feature in Blender 2.8

Background images are gone in Blender 2.8+, at least in the traditional pre-2.7# sense.
The old system was aging and prone to failure as described in the Proposal: Replace background images with Image Empties in 2.8x, and it has been retired due to inherent limitations.
Information was stored as User Interface data, as such if you opened a file without the Load UI option checked they would appear to be missing, when in fact they simply weren't loaded.
Saving the file would then silently erase them, without warning or explicit user intervention leading to permanent data loss.
They were also hard to manipulate and had duplicate functionality, having thus been replaced by more modern and robust solutions.
Alternatives

Either use them as Empties like you could before, if you are using them as reference images to model over. This allows for greater control of size, position and display options.

Use them in the newly added Camera Background feature, if your goal is aligning a camera to an existing photo or matching perspectives, for later compositing a 3D scene over existing footage.

Import them as planes using the Import Images as Planes addon like
in previous versions

Workflow
You can now add most background images in Blender from a dedicated entry in the 3D View > Add > Image menu.

Three options are available if you manually activate the Import Images as Planes addon from Edit > User Preferences > Add-ons > Import Images as Planes). Background and Reference Images are basically different presets for the same underlying tool.

Reference - Act as regular objects, visible from both sides, non renderable

Background - Can be set to display always in front or background, non renderable

Image Plane - Actual renderable mesh with geometry and a material

You can control visibility settings from the Properties Window, like making it visible only for orthographic views, display always in front, adjust transparency and control backface culling for empty based solutions.
You can also use them from the new Camera Background feature, available in the Properties Window > Object Data > Background Images for any currently selected Camera object.

If you require a background image (other than an Image as Plane) to be visible in your render, either set it up a world shader, use a Spherical HDR as an environment map, images as planes for actual geometry, or render with a transparent background and overlay the result over your image through post processing using either the Blender Compositor or any external image editor.


The section you have highlighted is caused by the material on the object. Either remove the material, or move the affected sections away from the "text" in the UV map.

The section further down that looks improper is because of flipped normals. Select the whole mesh in edit mode and then select Mesh > Normals > Recalculate Outside.

After recalculation:


Why in proximity the other character mesh is disappearing?

The problem is probably NOT caused by clipping. I'm pretty sure the origin of the rig in this animation is from a certain key frame not inside the camera angle anymore. So the camera makes the mesh for the rig invisible because it concludes that the rig (or certain bones in the armature) can't be seen anyways from this point of view. Especially for walk animations, try to animate the rig as an object first (location) before creating the walk animation to make sure, that the origin is with your character every time.

If this didn't help or your project is too complex for this, you can also try to add a lattice modifier to the mesh. I'm pretty sure it will solve the problem :)


How can I change the items of an EnumProperty dynamically through draw?

Use EnumProperty callback:
Property Definitions (bpy.props) — Blender Python API
Basically blender will call the function in following way:
list_tuple_callback(scene, context)

The return of your function should look similar with the original item List[(identifier, name, description, icon, number), ...].


translate (change location) in object more or edit mode?

In object mode, the object origin (the pink dot) moves as well. In edit mode, it doesn't.

The point is that if you want the origin to stay in a certain place, you could move all the elements in edit mode without affecting object origin location.


Surface rendered with a different blur frame by frame

Whatever the issue was, it was resolved by re-rendering the whole project with a version of Blender 2.8 with Fracture Modifier (rather than 2.79b). Thanks to rjg for the suggestion!


When you have one or multiple Sound strips you can check Draw Waveform in the Strips Sound Properties (on the right, open VSE's Properties Panel pressing the N key) per Strip.

When you want to set the behaviour for all Strips you can do so since the work on the gooseberry branch. They introduced this Feature there directly in the VSE's Menu Bar, but later implemented it in the Master Branch into the View menu with an own submenu Waveform Drawing where you can switch between two global options for turning Waveforms On or Off for all strips or let each strip determine on it's on property as described above whether or not to display its Waveform via Use Strip Option.
(You can script this if needed)


visual_transform_apply doesn't affect object in Python script

Just setting the current frame is not enough:

scene.frame_current = scene.frame_end # does not work as expected

You need to set the frame as follows:

context = bpy.context # or whatever context you have
context.scene.frame_set(scene.frame_end)


Whenever I run my cloth simulation, the cloth collides with the 'static' pose of my character, and not the animated poses of that character

Thanks to Nathan for the answer!
My modifier stack had the collision on top, which messed with the simulation. I moved the collision to the bottom of the stack and the issue was fixed.


Applying normal map increases shadow contrast

First, you need to set the Image Texture node to Non-color Data type, and secondly you need to run it through Normal Map node as seen below:


You're left-clicking.  Blender uses Right-Click to select. if you don't like this, you can change it in your user preferences (Ctrl+Alt+U), though there are some advantages to just getting used to it so you can follow what everyone else is doing with Blender.


Actually you've filled the bottom and top edges with a simple F (fill), but as the shape is round it goes bad because the center of the whole face is out of this semi-circular shape. So you should keep quads:

Select those faces and press X (delete) > Faces.
Now select all these vertices except the extreme right and left ones.
Press W > Bridge Edge Loops. It will fill the gap between the edges.
Then finish the process, select the extreme right vertices and press F. Same for the extreme left vertices.
Do the exact same process for the opposite edge.


How to create 'inner-tube being towed by boat" physics effect

I'm not an expert on rigid body physics in blender, so I can provide a full example, but it sounds like you have used an object constraint to attach the tube to the boat. If you want physics you should use a rigid body constraint instead. See: https://www.blender.org/manual/physics/rigid_body/constraints/types/index.html


Go into the addon's code, grab the kmi_defs and print the variables.

for kmi in kmi_defs:
    print(kmi[len(kmi)-1].ljust(60), end="")
    if (kmi[1]):
        print("Ctrl ", end ="")
    if (kmi[2]):
        print("Shift ", end ="")
    if (kmi[3]):
        print("Alt ", end ="")
    print(kmi[0])

This is the output.

Merge Nodes (Automatic)                                     Ctrl Shift NUMPAD_0
Merge Nodes (Automatic)                                     Ctrl Shift ZERO
Merge Nodes (Add)                                           Ctrl Shift NUMPAD_PLUS
Merge Nodes (Add)                                           Ctrl Shift EQUAL
Merge Nodes (Multiply)                                      Ctrl Shift NUMPAD_ASTERIX
Merge Nodes (Multiply)                                      Ctrl Shift EIGHT
Merge Nodes (Subtract)                                      Ctrl Shift NUMPAD_MINUS
Merge Nodes (Subtract)                                      Ctrl Shift MINUS
Merge Nodes (Divide)                                        Ctrl Shift NUMPAD_SLASH
Merge Nodes (Divide)                                        Ctrl Shift SLASH
Merge Nodes (Less than)                                     Ctrl Shift COMMA
Merge Nodes (Greater than)                                  Ctrl Shift PERIOD
Merge Nodes (Z-Combine)                                     Ctrl Shift NUMPAD_PERIOD
Merge Nodes (Alpha Over)                                    Ctrl Shift NUMPAD_0
Merge Nodes (Alpha Over)                                    Ctrl Shift ZERO
Merge Nodes (Color, Add)                                    Ctrl Shift NUMPAD_PLUS
Merge Nodes (Color, Add)                                    Ctrl Shift EQUAL
Merge Nodes (Color, Multiply)                               Ctrl Shift NUMPAD_ASTERIX
Merge Nodes (Color, Multiply)                               Ctrl Shift EIGHT
Merge Nodes (Color, Subtract)                               Ctrl Shift NUMPAD_MINUS
Merge Nodes (Color, Subtract)                               Ctrl Shift MINUS
Merge Nodes (Color, Divide)                                 Ctrl Shift NUMPAD_SLASH
Merge Nodes (Color, Divide)                                 Ctrl Shift SLASH
Merge Nodes (Math, Add)                                     Ctrl Shift Alt NUMPAD_PLUS
Merge Nodes (Math, Add)                                     Ctrl Shift Alt EQUAL
Merge Nodes (Math, Multiply)                                Ctrl Shift Alt NUMPAD_ASTERIX
Merge Nodes (Math, Multiply)                                Ctrl Shift Alt EIGHT
Merge Nodes (Math, Subtract)                                Ctrl Shift Alt NUMPAD_MINUS
Merge Nodes (Math, Subtract)                                Ctrl Shift Alt MINUS
Merge Nodes (Math, Divide)                                  Ctrl Shift Alt NUMPAD_SLASH
Merge Nodes (Math, Divide)                                  Ctrl Shift Alt SLASH
Merge Nodes (Math, Less than)                               Ctrl Shift Alt COMMA
Merge Nodes (Math, Greater than)                            Ctrl Shift Alt PERIOD
Batch change blend type (Mix)                               Ctrl NUMPAD_0
Batch change blend type (Mix)                               Ctrl ZERO
Batch change blend type (Add)                               Ctrl NUMPAD_PLUS
Batch change blend type (Add)                               Ctrl EQUAL
Batch change blend type (Multiply)                          Ctrl NUMPAD_ASTERIX
Batch change blend type (Multiply)                          Ctrl EIGHT
Batch change blend type (Subtract)                          Ctrl NUMPAD_MINUS
Batch change blend type (Subtract)                          Ctrl MINUS
Batch change blend type (Divide)                            Ctrl NUMPAD_SLASH
Batch change blend type (Divide)                            Ctrl SLASH
Batch change blend type (Current)                           Ctrl COMMA
Batch change blend type (Current)                           Ctrl PERIOD
Batch change blend type (Next)                              Ctrl DOWN_ARROW
Batch change blend type (Previous)                          Ctrl UP_ARROW
Link active to selected (Don't replace links)               Ctrl K
Link active to selected (Replace links)                     Ctrl Alt K
Link active to selected (Don't replace links, node names)   Ctrl QUOTE
Link active to selected (Replace links, node names)         Ctrl Alt QUOTE
Link active to selected (Don't replace links, output names) Ctrl SEMI_COLON
Link active to selected (Replace links, output names)       Ctrl Alt SEMI_COLON
Reduce Mix Factor by 0.1                                    Ctrl LEFT_ARROW
Increase Mix Factor by 0.1                                  Ctrl RIGHT_ARROW
Reduce Mix Factor by 0.01                                   Ctrl Alt LEFT_ARROW
Increase Mix Factor by 0.01                                 Ctrl Alt RIGHT_ARROW
Set Mix Factor to 0.0                                       Ctrl Shift Alt LEFT_ARROW
Set Mix Factor to 1.0                                       Ctrl Shift Alt RIGHT_ARROW
Set Mix Factor to 0.0                                       Ctrl Shift Alt NUMPAD_0
Set Mix Factor to 0.0                                       Ctrl Shift Alt ZERO
Mix Factor to 1.0                                           Ctrl Shift Alt NUMPAD_1
Set Mix Factor to 1.0                                       Ctrl Shift Alt ONE
Clear node labels                                           Ctrl L
Modify node labels                                          Ctrl Alt L
Copy label from active to selected                          Ctrl Alt V
Detach outputs                                              Ctrl Alt D
Link to output node                                         Ctrl O
Select children                                             Ctrl RIGHT_BRACKET
Select Parent                                               Ctrl LEFT_BRACKET
Add texture setup                                           Ctrl Shift T
Add Principled texture setup                                Ctrl Shift Alt T
Reset backdrop image zoom                                   Ctrl Z
Delete unused nodes                                         Ctrl X
Frame selected nodes                                        Ctrl Alt P
Swap Outputs                                                Ctrl S
Connect to Cycles Viewer node                               Ctrl Shift Alt LEFTMOUSE
Reload images                                               Ctrl R
Lazy Mix                                                    Ctrl RIGHTMOUSE
Lazy Connect                                                Ctrl Shift RIGHTMOUSE
Lazy Connect with Socket Menu                               Ctrl Shift Alt RIGHTMOUSE
Set Viewers Tile Center                                     Ctrl LEFTMOUSE
Align selected nodes neatly in a row/column                 Ctrl Alt EQUAL
Revert node back to default state, but keep connections     Ctrl BACK_SPACE
Node Wranger menu                                           Ctrl Shift Alt wm.call_menu
Add Reroutes menu                                           Ctrl Shift wm.call_menu
Add Reroutes menu                                           Ctrl Shift wm.call_menu
Link active to selected (menu)                              Ctrl Shift wm.call_menu
Copy to selected (menu)                                     Ctrl Shift wm.call_menu
Switch node type menu                                       Ctrl Shift wm.call_menu


The index passes in Cycles are only rendered with only 1 sample, unfortunately, so they are not antialiased.
Your setup looks to me as if it should work with a simple Alpha Over too. Replace your Mix node with AlphaOver and just don't use the index pass.
However, for that to really work correctly in every case you have to make sure that the object you want to separate is masked by the occluding geometry from the rest of your scene.

So put the object that you want to separate on a layer with only that object on it. Then in Renderlayers exclude the layer with the element that should not appear on that layer by using the Exclude Layers, like you already did. Finally set the Mask Layers to all layers with objects on it, that would occlude the separated object. In your case that would be the table, in case the makeup thing would penetrate the table geometry a bit. Though in your scene you might even be lucky enough that it might work without even bothering with Mask Layers.

If you really have to use an index pass you can try to smooth it with the Dilate/Erode node, with mode set to "Feather".


Blender noise during paint in Texture paint mode

In texture painting, brush can have a texture assigned to it as a pattern. When it is, the pattern will be applied to every stroke done with the brush (appearence will depend on settings of the brush mapping etc.):

See more about how to assign a texture to the brush and paint with it.

If you want to continue drawing with solid color, unlink that texture in brush settings by pressing X button next to its name. For more about that refer to Users (Sharing) and Removing data-blocks in manual.


Animation - Falling object one after the other

A particle system drops cubes onto a collision barrier.  Please excuse the poor quality gif.  The file size is too small.

Settings below.

In the image above are the particle system settings.  The settings occupy two panes.  The emitter is moving at constant speed. Linear curve.  No acceleration.  Click to see details.

The floor is a black plane.  Black is beautiful.  The plane is a Physics Collision Object and its settings are on the far right.  Note the settings are pinned so that we can view properties of multiple objects.

Note the particle count <<< than the number of frames.

This is not a tutorial on creating particle systems.  You may search here at BSE or the famous website that rhymes with noonoob.


According to Campbell Barton Un-subdivide currently requires grid topology, which means it likely won't work on a triangulated mesh. The discussion on the issue tracker can be found in T65748.


My object keeps rotating on the X axis when playing the animation

I just manually put the right orientation in in the dope sheet. Every single second.


Topology question (square hole in cylinder)

This kind of topology will work fine for a 16 vertex cylinder, a bit more complicated for a 12 vertex cylinder:

There's a trick to avoid pinching with the Shrinkwrap modifier:

Create a cylinder at the exact same place and with the exact same diameter. Hide it.

On your original cylinder, create a vertex group around the square hole.

Give your cylinder a Shrinkwrap modifier with the hidden cylinder as Target and Vertex Group > Choose the group you've created.


Compiling Blender as a Python Module Windows

You missed the build step in this tutorial. The install part refers to the bpy.pyd you have just built, and can be found in the "blender-git/build" directory. There is a tutorial on building blender on windows. Just don't forget the cmake options: WITH_PYTHON_INSTALL=OFF, WITH_PLAYER=OFF, WITH_PYTHON_MODULE=ON


Rigging this mechanical linkage in Blender

Like this?

Yeah, that's a tricky one and it needs either a cheat or the not so new but usually overlooked iTaSC solver.

So, in the settings of your armature, enable iTaSC:

I made the blue part the boss and the green will follow. If I'm not mistaken, this special solver doesn't like unparented targets, so I made a main bone. The hierarchy is as follows (u = upper):

bluebone, mainlever1-u, target-u and height-u are children of main

mainlever2-u is a child of mainlever1-u

follow-u is a child of mainlever2-u, not connected

greenbone is a child of follow-u, but does not inherit rotation.

mainlever2-u has an IK-constraint, chain length 2 to target-u with the following settings:

This is straightforward. Would be exactly the same with an ordinary constraint. Simplest leg rig possible.

But the settings of follow-u are where the magic happens:

It points to height-u and it's axis reference is set to target, lock X. That means, its tip tries to get on the X-axis of height-u. In effect that means its tip stays the same height if it can since height-u's X axis is parallel to the ground.

You could do without the lower armature, if you equip the meshes with Mirror Modifiers with a Mirror Object on the center line of your mechanism.

And for old time's sake, the cheat:

Simply add a very long cheat bone and turn follow-u and cheaty into another IK chain, 2 bones long. Since cheaty is so long, the up/down motion of the joint is minimal. Then you'd move greenbone with a simple copylocation constraint in one axis and it won't bob up or down. There's ways to make the bobbing even smaller, but it will already be invisible if cheaty is long enough.

It's not entirely obsolete since iTaSC sometimes gets hickups if you re-arrange stuff after it's been set up. It likes your workflow to be linear. Then again, it could just be me being clumsy.


How do I align my grid to background footage?

In my opinion is  easier to match the perspective of an image using BLAM or Fspy read the bottom of the answer.

But if you want to do this manually, set your view to camera view (Numpad 0) and enable view->Lock Camera to View. That will allow you to move the view to position it to a point where it closely matches the background image. Note that once you exit camera view or change to perspective view, your background image will no longer be displayed and or relevant. It will require some trial and error but it is possible, the trickiest part is going to be matching the camera lens...
Once you find the correct camera placement disable the lock camera to view option to prevent moving the camera. You might even want to lock all setting for your camera at that point.

Update for 2.8
With the camera selected, find the camera settings in the Properties window.
Enable Camera background.
Select the image.

The image will now show when using camera view.

NOTE: Blam is no longer mantained and has been replaced by Fspy: https://fspy.io/, but there is no importer for blender 2.79 or previous versions.
For a detailed post on how to use blam and Fspy read: How can I recreate geometry using a photograph?


The Bend Tool can be used to do what you are trying to achieve.  Select the components  you want to bend, position the 3D cursor at the point where the bend will pivot then press ShiftW


Right click won't bring up the Object Context Menu

I had the same issue. I had to go on my mac settings for the mouse under preferences and activate: Secondary click -> click on the right side.


View gets messier as I advance in a project

Feels like there is no point in dragging this subject on. I must say I haven't found a proper solution to reset all the views, navigation & related functions / hotkeys when they aren't responding as they should anymore.
I don't know if I'm messing up at some point, accidently touching something I shouldn't.
Anyways, the work around I've found which works pretty well is to open a new blender project and copy paste my objects from the old one to the new .blend. As I do this, views and navigation are working properly again and I can go on with 3d modeling.
Thank you all for your suggestions, much appreciated. I still learned stuff :)
Best,
Kira


Is there a way to add a shadow/drop shadow to one object in a scene?

I would say:

In your letter material, disable Screen Space Refraction
Your lights are too strong, lower down their strength and play with their orientation
Give your Point.001 light a Contact Shadow if you use this light
Your material node setups are weird

I hope it will fix your problem?


Blender how to create 2D shape with smooth and sharp edges

To sharpen you need to create some additional edges close to the existing one you want to sharp, I don't think Crease could help with 2D shapes.


How to animate the wrapping and unwrapping motion of rope around a pole like in the game TetherBall

You can use Soft Body physics to achieve this - similar to How to get the physics engine to wraps a string around the moving part of a motor constraint?
Here's a quick example :

The key here was to setup the 'string' as a string of vertices with Soft Body, setup the 'pole' with collision, and use a Wind force at the start of the animation (keyframed to just give an initial 'push' and then stop - with 'flow' set to zero) to give it the initial motion. The Soft Body simulation does the rest.


Why does inserting a second keyframe make blender overwrite the first keyframe?

I somehow solved the problem my self. I think i did something wrong with keyframes from the beginning so the coordinates were both the same no matter what.


You must type in that property which you added to bullet(there aren't any lists in this sensor) or set collision to bullet's material(M/P, than choose the one that bullet has).


Can't see bumps in wiewport, nor are they rendering

If you have UV unwrapped your mesh, add in a texture coordinates node into your cycles like this:


The reason it says "File name, overwrite existing" and the name is in red is because you are writing over another file.

In this case, you are overwriting the already saved "Cathy.obj" because it has the same exact name as the text in the red box. To not overwrite the file, change the name of the file you are exporting.


Control what properties displayed in F-Curve Editor

From the wiki manual:

  Header Tools

  Show Selected Only

  By default, the Graph Editor shows the channels for the active object only. Toggle this button off to show channels for all objects.

  Show Hidden

  Enable this to show channels from objects/bones that are hidden.

  Show only matching F-Curves

  Use this to only include F-Curves that contain the specified text.

  Filters

  Show options for whether channels related to certain types of data are included.

If you want to change these settings you should have a look at

bpy.types.SpaceGraphEditor
bpy.types.DopeSheet
bpy.types.FCurve

If you are using an operator which will be called from the graph editor, the space data is available from

space = context.space_data
dopesheet = space.dopesheet

I.e.:

dopesheet.show_only_selected = True
#select the objects you want to show
obj.select = True

Another example:

#show only objects from the group named 'Group'
dopesheet.filter_group = bpy.data.groups['Group']
dopesheet.show_only_group_objects = True

#don't show object transformations and scene properties
dopesheet.show_transforms = False
dopesheet.show_scenes = False

Hide a fcurve:

#only accessible by index
fcurve = obj.animation_data.action.fcurves[0].hide = True
#fcurve's attributes data_path, array_index provide more information about it

or select it:

fcurve = obj.animation_data.action.fcurves[0].select = True

If the object has not been animated:

The minimum requirement to show up in the graph curve is existent animation data with an action assigned to it which possesses at least one fcurve.

So if the object has not been animated yet:

if not obj.animation_data:
    obj.animation_data_create()
    obj.animation_data.action = bpy.data.actions.new('myAction')
    #create an fcurve for the x coordinate
    obj.animation_data.action.fcurves.new("location, 0)


Use 'adjust edit cage' button on the modifier panel.


Assuming that you are using a particle system for your grass, you can use weight paint mode to define where your grass should be. Select the mesh and enter weight paint mode. Weights vary from 1 (red) to 0 (blue). Paint red where you want the grass to be most dense and blue where you don't want there to be any grass. Then, in the particle settings, go to Vertex Groups and where it says density, select your vertex group.


Assign cycles material to mesh in script

As batFINGER mentioned, you just forgot the return statement.
I tried out your code (and had to modify it a bit, because I got the error that 'scene' was not defined) and it worked fine when I added return mat to the function create_cycles_material.

Here's the ready to use code:

import bpy

def main():
    g_d = bpy.data.meshes.new(name="GroundM")
    g_o = bpy.data.objects.new(name="GroundO", object_data = g_d)
    scene = bpy.data.scenes[0]
    scene.objects.link(g_o)
    g_o.location = (0,0,0)
    g_o.select = True
    scene.objects.active = g_o

    ColoredGround = create_cycles_material('GroundCol')
    setMaterial(g_o, ColoredGround)

def create_cycles_material(name):

    mat = bpy.data.materials.new(name)
    mat.use_nodes = True
    nodes = mat.node_tree.nodes

    node = nodes['Diffuse BSDF']
    node.location = 600, 120
    #pass   # Some more node-engineering here
    return mat

def setMaterial(ob, mat):
    me = ob.data
    me.materials.append(mat)

if __name__ == '__main__':
    main()


how can I change the eyes and add other textures like eyebrows to this model

Select your model
Enter Edit mode. Switch to vertex mode
Select eye left using CTRL+Right click: Select 1 middle point of the eye. Click on Ctrl+"+ numpad" to grow eye selection. Then switch to front view. Press "U". Select project from view.

You now have a separate UV from the body. Create a new material (yes in edit mode) and assign it to those vertices. From there on, create an eye texture by assigning a white blank texture, switch to texture paint interaction mode (1) and paint. Save image in the UV editor.

The rest of the body has UVs already. Click on object properties from the properties window on the VERTEX tab (triangle shape of icons)
Like this: https://streamable.com/l2di8

Thank you for your consideration in voting my answer.

BFCT_Schiller


Insert Edge Loop without modifying underlying weights?

If you want them untouched, lock all vertex groups before inserting the edgeloop.
In any case the new edge loop will receive its weights from the nearby vertices (but you can remove them, if needed).


how to create a single-direction IK leg with a direction controller?

In order to get it to work, the leg IK target bone  has a child of constraint to the rotater. The foot has an IK as well with a length of 1, and its target is parented to the leg IK.

Pretty tricky.


How can I create a convincing sea material in Cycles without using the ocean modifier?

Expanding on Róbert László Páli's answer, this is possible with a Procedural texture and bump mapping.
Texture
For an ocean texture, the procedural textures most likely to be what you want are:

Noise:

Wave:

Voronoi:

Musgrave:

You can also combine and mix these with an RGB mix node.
Displacement
Here are some examples of bump mapping with a Noise texture:
You can affect only certain shaders by using the Bump node. One advantage to the bump node is you can easily adjust the strength of the displacement:

Or you can affect the entire material by plugging the texture output directly into the Displacement input of the Material Output node:

To control the strength with this method, plug the noise texture into an MixRGB node and set it to multiply. The other input becomes the "Strength factor", where white is full displacement (you can set it to a value greater than white to get a larger displacement), and black is no displacement. (likewise, negative values produce an inverted displacement)

Animating
This effect can be animated over time by animating the location of the Texture space. The settings for the Texture space are located in Properties > Object data panel > Texture space:

You can interactivle move the Texture space in the 3D view with ShiftT.
Note that you most likely want to animate along the Z, otherwise it will look like it's a static surface sliding horizontally.
You may also want to set the interpolation type to Linear in the Graph editor by pressing T> Linear to make the texture space move at a constant speed without accelerating and decelerating (the default behavior):

Result:


Can I make my own Allow/Deny selection switch?

We can use drivers to control a property from another property. Note that there are some limits, for example, an objects visibility doesn't seem to trigger an update of drivers that use it.

Lets start with three objects, a cube a monkey and a torus.
Add a custom property to the cube (see below), click edit and rename it select_control then set the value to 1, as we enter a whole number it will prevent decimal numbers being entered.
In the outliner, right click on the selectability of Suzanne and choose Add Driver->Single From Target. This will give you an eyedropper cursor, click on the cubes custom property we just created. Note that the value is now highlighted in purple. This applies to 2.78, previous versions you choose Add Driver and then manually edit a driver expression.
Repeat for the torus

Now as you alter the value of the cubes property, the selectability of the monkey and the torus also change.

Drivers can be any python expression and can be edited in the graph editor in driver mode.

A custom properties panel can be found in several tabs of the properties editor, for this situation a property attached to an object makes sense, a scene property could also work. Adding a custom property is as simple as clicking the add button, it can be useful to also edit the property to give it a more meaningful name and adjust the limits if you want values larger than 1.0.


Camera track to constraint in the game engine

how did you do the constraint?

In BGE look on the "node logic" > "actuator" > "camera".

Send the .blend file if you need more help or video.


Is there any good way to snap to intersection?

There is an addon called dynamic spacebar menu which contains a small routine that can snap the 3d cursor to the intersection of two edges, it's available in addons contrib. Here is the direct link to the wiki page for it with a download.

After enabling the addon when you hit space a different menu will appear, you will see snap cursor menu, and inside that cursor to edge intersection

If the intersection of the two edges doesn't lie exactly on either of the two edges, then the edges are considered lines with infinite length. When two lines aren't parallel and don't truly intersect you can imagine another line drawn between these two lines at the point where they are closest to each other. The point in space halfway on the imagined line will be returned as the intersection.


Want to create multiple actions for my character

You are currently workin in the dope sheet editor. To be able to work with multiple animations, you'll have to switch to the action editor.

to

Now create an animation by clicking the 'new' button.

When your first action is finished, don't forget to click the 'F' button next to your action name to save a 'fake-copy' so your animation doesn't get lost, because it is not the active action, when you reload/re-open your file.


Black and white, or more appropriately greyscale, is based on the luminance weights of the primary lights for a given reference. That is, not physical energy, but visual energy. If one were to project equal energy sRGB values from a screen, despite being equal physical energy, the visual energy would appear as though the sRGB green channel was most luminous, with red following, and blue seeming the least luminous.

As one can clearly see from the above example, luminance is not an equal average of each channel.  There are countless clueless formulas for calculating greyscale imagery based off of equally clueless offerings, including such averaging and other misinformed foolishness.

The default reference space for Blender is based upon REC.709 primaries, as those are the primaries that define the sRGB specification. As such, to properly calculate greyscale, we use the normalized luminance, or the normalized Y value for each primary as given under the CIE XYZ model, to weight the sRGB values.

Those weights are typically represented as 0.2126*R + 0.7152*G + 0.0722*B. Blender utilizes the values from the OpenColorIO configuration as given on the "luma" line in https://git.blender.org/gitweb/gitweb.cgi/blender.git/blob_plain/HEAD:/release/datafiles/colormanagement/config.ocio.

For any given RGB colourspace such as sRGB, there is exactly one correct method to derive average luminance.


Here is something that I got to work pretty well. It is a lil on the complex side (sorry).

You could tweak the color ramps, sheen setting, and transmission to adjust the sheen to your liking.
Hope this helps.


How to use KX_CharacterWrapper.walkDirection

The wraper.walkDirection is a property of type Vector and not a function so you should do an assignment :

wraper.walkDirection = direction

to move in the local space orientation multiply the direction vector by the orientation matrix of the object :

direction = own.orientation*Vector((0, 0.1, 0))

you should include the Vector type by adding this line :

from mathutils import Vector


You selected the wrong shader.

Click on Mix Shader and select Diffuse BSDF instead.


Color correction in the compositor from the video editor

If you are already working on the video editor and just want to do color correction, then you can do it with an Adjustment Layer:

Press Shift + A and add Effect Strip > Adjustment Layer.
Press N to bring the Properties panel, scroll to down to the Modifiers and from the Add Strip Modifier drop down menu, you can select whatever you want this strip to do: color balance, curves, etc.

It will affect the strips below, meaning it can affect several strips (several footage clips) at the same time.


Trying to animate an extrude in 3D using curves generated by an equation over time

A way to make the impeller to appear to grow like a shell is to use Boolean operations between a shape and the Lily impeller. The animation below shows an intersection between a cone and an the impeller.

Steps to recreate.

Import/create the lily impeller.
Add a cone that roughly matches the angle of the lily impeller spiral and large enough to contain the full impeller.

Animate the cone moving from the above the impeller until it fully encloses the impeller. This will generate the animation above.

The geometry for the impeller above was from  https://www.thingiverse.com/thing:956458 modeled after Jay Harmans drawings, courtesy of yzorg.


How can I make lens and prism simulations in Blender Game Engine for optics experiments?

Game engines are vastly different to rendering engines. Rendering engines are optimized for accuracy, game engines for speed.
Caustics (refraction) is something that is incredibly computationally expensive. It's only in the last decade that it is possible to do it on a home computer, and even then it is slow.

Do my knowledge, not a single commercially or freely available game engine supports real-time caustics accurate enough to be used as a demonstration.
Rendering out preset movies and using buttons to switch between them can be done really easily....

That said, with some creative coding, there is no reason it can't be faked really well, but you'd have to be really heavily into your math for that.


Animal model Bone Heat Weighting Problem

I've done a quick test, maybe it's just because your model is too tiny. Scale up the model and the armature until they get similar to the default cube, then apply (Ctrl A) rotation and scale to the model in object mode. Do the same with the armature.

This way Ctrl P with automatic weight should work.


If the timeline isn't on Frame 1, the simulation will move the mesh to where it would be after that many frames.

Move the frame selector back to the first frame and it will work as you expect.


Getting os.system to work in Python Console?

Ok, it seems subprocess can be used instead; note here you have to specify the shell explicitly, e.g. try pasting this script in Python Console:

import subprocess
p = subprocess.Popen(['bash', '-c', 'echo AAaa'], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
out, err = p.communicate()
print(out, err)

The output to that is:

>>> ...
>>> print(out, err)
b'AAaa\n' b''

Note that if you intend to do "piping" bash commands, things get a tad bit more complicated (see Python - How to call bash commands with pipe? - Stack Overflow); so for instance, to call echo BBbb | xsel -b and actually have it succeed (that is, have the string end up on clipboard), you should split the two processes, and establish the pipe via Python:

import subprocess
import shlex
p1 = subprocess.Popen(shlex.split("echo BBbb"), stdout=subprocess.PIPE, stderr=subprocess.PIPE)
p2 = subprocess.Popen(shlex.split("xsel -b"), stdin=p1.stdout)
out, err = p2.communicate()
print(out, err)

The output to this looks like:

>>> ...
>>> print(out, err)
None None

... but the string BBbb does end up on clipboard, as intended.


Bone names could be an issue. X-Axis Mirror part (https://docs.blender.org/manual/en/2.80/animation/armatures/bones/editing/bones.html)
Try renaming them to Bone.R and Bone.L

When you have pairs of bones of the same name with just a different “side suffix” (e.g. “.R”/”.L”, or “_right”/”_left” …), once this option is enabled, each time you transform (move/rotate/scale…) a bone, its “other side” counterpart will be transformed accordingly, through a symmetry along the armature local X axis.


How to make the Wireframes for these lights?

This is actually really quite straightforward by using Freestyle and the Freestyle SVG Exporter add-on.

Start by enabling the Freestyle SVG Exporter add-on.

The add-on gives you an additional panel in the Render settings that allow you to configure the generation of SVG files. Whenever a frame is rendered, the add-on will also generate an SVG file containing the freestyle layer only.

Setup your mesh and mark the desired edges as 'Freestyle Edge'. Configure Freestyle to render just those edges and render the result.

Once rendered you should find an SVG file alongside the rendered image containing just the freestyle edges.


Final result

Sorry for the gif quality.

Overview

You can use Rigid Bodies simulation to achieve something similar. I'll write an overview of methods I've used. Ask if you need more steps.

Each bold text could be treated as a keyword for searching in Blender Manual.

I will use metric system for measurements.

You result may vary. Slight differences in models could bring some problems (or not) as "physics" in Blender isn't real physics.

  Remember to Apply Scale for every object.

World

Turn off Gravity (or set it to 0).

Speed will control... Speed of animation.

Steps per second and Solver iterations will increase quality.

A box

Model:

Simple Cube 2x2m with Inverted Normals. I've assigned two materials to it. One for base color and one for front face (Transparent Shader).

Rigid Body:

Set Type to Passive and Shape to Mesh. Change margin to something around 5cm, this should help with keeping molecules inside the box. Friction to 0. We don't want any.

Molecules

Model:

Again, nothing fancy. Three Spheres joined together with assigned two materials. Size around 13x8x8cm. Duplicated couple of times. Duplicate it after setting Rigid Body values.

Rigid Body:

Similar to the box but. Type is Active, Margin 1mm or none, Mass 1g.

"Activator"

I've used Force Field > Force with keyframed Strength. At frame 1 Strength is -0.3 and at frame 10 it's 0.

Such setting allows us to pull molecules to the center of the box and after 10 frame Force Field is deactivated and molecules are living on their own. You can also try positive value to push molecules but this could bring some problems and molecules will be pushed outside the box.


Rendering through blender looks fine, but not through SheepIt

You need to embed your images into you blend.