Animation stutters at beginning and end of loop

I should examine your .blend file to be sure, but I think that  the problem lies in the fact that your loop starts at 1 while the animation starts at 0. Instead of using 0, 8, 16, 24, 32....., use 1, 9, 17, 25, 33 ....
You'll end up with a 1-129 group of keyframes, go to keyframe 128, select all the rim and insert a new keyframe, then set the loop 1-128. If Keyframes 1 and 129 are identical it should loop perfectly.
Another way to loop an animation is via the Non Linear Editor (NLA).


How do you slice a joined model into equal slices?

You can use the Boolean modifier in intersection mode for this.

Add a box (cube) the size of the desired slice
Add a Boolean modifier to the object you want to cut into slices
Position the box precisely on the slicing axis (Z in the example above).
Duplicate the original object and apply the modifier to add a slice.


How to deal with bad contiguous edges for 3d printing

In Edit mode, I pressed A to select all, then Mesh->Normals->Recalculate Inside.
This fixed it for me as my problematic edges were inside a cylinder recess in my object.


Cant find "Texture Coordination" on Blender 2.79

There is no such a thing in Blender as “Texture Coordination”.

If you are talking about Texture Coordinate node, you can find it under Input category in the Add menu (Shift + a) or in the t panel in the Node Editor:

Terminology is important. It is better to be as exact as possible.


In order to see a texture on an object, you first must unwrap the object. In Edit Mode, select the entire object and then press U.

From there, there are many options. For a simple plane, I recommend going to top view and pressing project from view.

If you're unhappy with the size of the texture, go into the image editor, select your entire object in edit mode, and scale it up or down.


How to make an instance of a model for animation?

You may want to look into blender's concept of NLAs.  Actions are data blocks just like meshes and materials. You can create a new scene with an instance of the armature and mesh.  You can then animate the pose to move the mouth.

You can use the Action Editor mode of the Dope Sheet to figure out the name of the action (and rename it if you like).

Then in your scene you can find your instance of the armature and use the NLA editor to add a track.  Then add a strip to that track and use the mouth animation you created in the other scene.


Blender 2.8 - Cloths Don't Follow Armature In Pose Mode or They Shift Positions

I've tried to correct with the method explained below, if it still doesn't work, try with the Mesh Deform method as explained here.

Deactivate the Armature modifier visibility (screen icon button) for both the arm and the straps, so that the armature doesn't move the one or the other:

Then you can see that arm and straps are not aligned, and the object even go through each other, you need to correct this in Object mode and in Edit mode.

Once you're good, in the strap's Data Transfer modifier, click on Vertex Data, on Vertex Group(s), Generate Data Layers and Apply:

Reactivate the armature visibility for both arm and straps, move the bones, it works, even though it will probably need some adjustments:


How can I export and import ID property as json? (to make preset file)

This code get some data from Blender scene, save them as Python dict and write a JSON file. Then read that file and uses the inner data:

import bpy
import json
import os

# 1 - Export data as JSON file

# dict with all your data
dict = {
    "name": "Cube 1",
    "material": "Cube MAT"
}

# encode dict as JSON
data = json.dumps(dict, indent=1, ensure_ascii=True)

# set output path and file name (set your own)
save_path = 'E:\\'
file_name = os.path.join(save_path, "export_data.json")

# write JSON file
with open(file_name, 'w') as outfile:
    outfile.write(data + '\n')

# 2 - Import data from JSON file

# read JSON file
with open(file_name, 'r') as fp:
    data_file = json.load(fp)

# get data
cube_name = data_file['name']
cube_material = data_file['material']

print(cube_name + ', ' + cube_material)


Relationship Between Rigid Body Colliisons and Animation Keyframes

When you want an object to be handled by the physics sim, you must untick Animated.

You tick Animated when you want to take care of the object's animation by yourself, like when it's lifted by the crane.

You can also bake your physics animation to keyframes and delete the keyframes from when the crane takes over.


This is not to indicate that you have 3DSmax or Maya, but to allow you to change the way you interact with Blender to be more similar to the way you would interact with those applications.


Metal looks different in lookdev and render

Cycles Render View

Cycles Lookdev View

I would say you don't use the same lightning setup for render and lookdev. Render use World and Scene Lights / Lookdev Studio light.

In the file you provided I can't confirm you use studio HDR for render, also if would use the same HDR for lookdev and  render, difference will does studio lights that are not taken into lightning in lookdev.

If I (for example) disable Studio Lights and Scene World I can see Render and Lookdev in both Cycles and Eevee matchs.


Creating an emission texture image from a "normal" image

Here's one possible way to do what you want, if I understand your request properly.

The mix shader on the lower left is just the one that comes from the Images as Planes addon. That could just as easily be the direct Color out of the Image node. What I'm doing here is crushing the darker areas so that the image is mostly just the lights and the skyline. This goes into an Emission shader which, by use of the Is Camera Ray output as the Mix Shader factor, lights the scene but doesn't change the appearance of the image.

If this isn't what you're looking for, please update your question to give more information.


Please know Blender may include a face if even one vertex of a face is selected.  The whole face need not be selected.  This may be inconvenient for a brief moment.  The other hair placement tools are more precise.
If you use a mesh with more vertices and a group, then you may see this pattern above.
Precise hair placement can be done with UV Maps and Particle Edit mode tools for hair.  See image below.

In the image above you see Particle Edit Mode offered. Weight Painting is also offered.  The yellow arrow points to

Textures Panel associated with a Particle System while the Cycles Render is offered. Blender has

Particle Edit offers the most precise placement on a 3D model
Textures can control density and length as an abbreviated explanation
Textures can have higher control Density than a low poly mesh
Vertex Groups can control density and length as an abbreviated explanation
Weight Painting a Vertex Group. Reasonable but least precise.

Consider

In the example below a placement of particles was desired on a single quad strip.  One solution was to duplicated the quad strip, place particles and move keep the meshes coincident.

Perhaps your vertex group is empty or has a weight close to 0.0 zero.
Perhaps you need to assign a weight of 1.0 to the group.


How to write python to show Toruses from an imported txt file containing center coordinates

Below is based on on some old code but is still functional for blender 2.79. This will add a tool panel in the view3d viewport that will allow for file selection before generating a generic torus since the atom data only provides x,y,z coordinates as relevant info.

import bpy
from bpy.types import Operator
from bpy.types import Panel

class MeshGenTool():
    @classmethod
    def main(cls, context):
        scene = context.scene
        objs = importFile(scene['File'])
        for obj in objs:
            bpy.ops.mesh.primitive_torus_add(
                location=obj[0])
            MyMesh = context.object
            MyMesh.name = "MyMesh"

class MeshGenButton(bpy.types.Operator):
    """Execute generation"""
    bl_idname = "object.simple_operator"
    bl_label = "Generate"

    @classmethod
    def poll(cls, context):
        scene = context.scene
        filevalid = (scene.File is not "")
        return filevalid is True

    def execute(self, context):
        MeshGenTool.main(context)
        return {'FINISHED'}

def importFile(File):
    obj_loc = ()
    obj_dia = 1
    obj_data = ()
    objs = []
    f = open(File, 'r')
    for line in f:
        if line.startswith('ATOM'):
            words = line.split()
            obj_loc = (float(words[6]), float(words[7]), float(words[8]))
            obj_data = (obj_loc, obj_dia)
            objs.append(obj_data)
    return objs

class VIEW3D_PT_Blank1_Blank2(Panel):
    bl_space_type = 'VIEW_3D'
    bl_region_type = 'TOOLS'
    bl_category = "Import Atom Coords"
    bl_context = "objectmode"
    bl_label = "Import Coords"

    def draw(self, context):
        layout = self.layout
        scene = context.scene
        row = layout.row()
        col = layout.column(align=True)
        col.prop(scene, "File")
        col.operator(
            "object.simple_operator", text="Add items",
            icon='MESH_TORUS')

def register():
    bpy.utils.register_class(VIEW3D_PT_Blank1_Blank2)
    bpy.utils.register_class(MeshGenButton)
    bpy.types.Scene.File = bpy.props.StringProperty(
        name="File",
        description="Path of File to read from",
        default="",
        subtype='FILE_PATH')

def unregister():
    bpy.utils.unregister_class(VIEW3D_PT_Blank1_Blank2)
    bpy.utils.unregister_class(MeshGenButton)
    del bpy.types.Scene.File

if __name__ == "__main__":
    register()


Cannot Edit the Length of VSE's Transform Efffect

Try cutting the strip at the places you want the zoom to occur. Then add the Transform effect to only this short strip. You can add keyframes by hovering over the scale value and pressing the i-key. Use the F-curve editor to change the keyframes in time.


Does Blender 2.8 have the abililty to make a cylinder with round ends

There isn't a builtin Capsule, which is activated by default.

But since it is a sphere with extra steps, I'll just demonstrate the steps in case they'll help someone.

Add a UV Sphere. ⇧ ShiftA
Go into edit mode. ↹ Tab
Edge Loop Select the equator. ⎇ Alt RMB
Do the Rip Fill. ⎇ AltV
Border Select the rip filled half. B
Move the half along Z. G Z
Add loops. ⎈ CtrlR,  MMB scroll


position and scale of the model randomly changes on different actions/animations

Here are some points that will fix (or at least explain) a lot of your issues in my opinion. I've tried to be clear but I may come back to make it clearer:

Reorganize a bit your armature. Give it a root bone (a big bone that you create on the ground, at its feet level), then parent (Keep Offset option) the hips to the belly bone, and parent the belly to the root. Also parent all the IK targets/pole targets that you’ll create to this root. It will ease your work with all your armature animations as it gives it a static bone that you won't move in Pose mode most of the time.
In the Dopesheet/Action Editor mode, in the same action, don't mix keyframes of your armature (created in Object mode) with keyframes of the bones (created in Pose mode). Actually, most of the time you won't need to insert keyframes for your armature itself in Object mode, unless you want the whole object to move, along a road for example (example : bird flying, walk cycle, car...), or if you want to exceptionally scale it up or down for a reason or another, and anyway don't mix it with bones keyframes in the same action. If you want to scale your object up or down because you think it’s too small or big compared to the scene scale, just select the armature in Object mode and scale, don’t insert any keyframe, either in Object or in Pose Mode. In your case, if you check your actions in the Dopesheet, you’ll see the keyframe tracks for all your bones but sometimes you will also see the LocRotScale track for the whole armature. It means that in the same action you sometimes mixed keyframes of the whole armature in Object mode, and bones keyframes in Pose mode. Example: you’ll see a LocRotScale track for the action called Wake. Select and delete it with X. You’ll see that your character will become huge, perhaps because, to compensate the tiny size you’ve given to the whole armature with this keyframe you’ve created in Object mode, you had to scale up the bones, or something like that happened. To sum it up: If you need to move your whole armature in the scene, first make sure that it will be a new action in the Dopesheet, so that this whole armature animation won't be part and interfere with a bone animation, so close the action you were working on, or push it down in the NLA Editor if you want it to be played at the same time, then work on your object action.
In Pose mode, when you insert keyframe, do it for all the bones and with LocRotScale, this way you’ll be sure that when it plays another action, it won’t keep from the previous animation some values or some bone poses that you wouldn’t like to have for the new one. Not sure it is a problem here though.


It was Edge Length checked just below the Normals, in the Ctrl + N Recalculate Normals dialog.


Cycles:
Shadeless image:
You can do this in cycles by enabling the Color passes in Renderlayers > Passes:

Then add them together in the compositor with Mix nodes:

Original image:

Post composite:

Shading only:
You can get only the shading of the render by dividing the full render and the color pass:

The reason the large cube appears as if it is still textured is that it has a Glass material, so that is the shading result. To prove this we can multiply it back with the color pass and we will get the full render again:

Blender internal:
You could get a "shadeless" pass in BI with the Color pass in Renderlayers > Passes:

Result:

Saving multiple images from the compositor:
You could then save the shadeless images in a separate directory with the File output node:

Note that the output connected to the composite output node will be saved to the path specified Render settings > Output. In the absence of a Composite  node, the raw render will be saved.
The above node setup the raw render is saved to the path in Render settings > Output (in this case /tmp/) and the shadeless image is saved to /tmp/shadeless/.


Rigidbody - Change Dynamic simulation to animatic

Detail -  Method 1 -

Switching from Dynamic to Animated doesn't come without it's problems.  There is a workaround but it's proven not overly stable in my own projects.  There are two suggestions here and the Blend file that demo's method 1.

I did this twice to make sure it wasn't going to act up...

Before setting the physics and at frame 1 a "Child-of" constraint is placed on the Monkey with the slab as it's target.
The "Set Inverse" button is clicked on and the constraint's Influence slider set to 0.  The 'Set Inverse' may have to be clicked on again AFTER the influence is adjusted.

The timeline is then taken to frame 76, which is well after the collision and where the Monkey's rolling motion is about done. At this frame the constraint's Influence slider is keyframed again with a value of 0.

One frame on from there (frame 77) the influence slider is keyframed yet again, this time to 1.

With that done and when played, the Monkey should fall and hit the slab, bounce around and when the slab also falls, follow it down.

It worked first time in my version (2.77a) and it may well be the order in which the constraint and physics are used that decide if it's going to act up or not.  Note, I did the 'Child-of' constraint first.

An advantage of this method is that the physics are still doing their thing whilst the slab is falling and even after it comes to a stop.  i.e. the Monkey is still rolling around.

-=============-

Method 2 -

A reliable alternative should things not go according to plan is to visually switch over to a duplicate monkey which would be parented to the slab outright from frame 1.

There'd be no hangups between the two constraints and the 2nd Monkey follows the slab down, unimpeded.

Detail -

Do the physics and once happy, at frame 77 when the Monkey's rolling has all but stopped, duplicate it and IMMEDIATELY clear the copy of physics and all animation.  Select it again and check the Dopesheet to make sure nothing remains.  Physics have a habit of hanging around and leaving a Dopesheet strip(s) even after it's supposed to have been cleared.  That strip has to be deleted!

With the 2nd Monkey now free of all constraint and therefore stable, we can visually switch over to that at frame 77 in the Outliner.  Their respective eye and camera icons can be keyframed to switch the original OFF and the duplicate ON.

Move back to frame 1 and do the inverse.  The original to be ON, the copy OFF.

At frame 77 both monkeys will be perfectly aligned and the switch-over therefore undetectable.
Monkey 1 would be seen to fall and bounce, Monkey 2 following the slab down.

Another more complex example of this is demonstrated in the video at the very bottom of this link - How to keyframe child of constraint in and out


New to Blender. My simple scene has really long render times

I would recommend the following changes:

Remove the second render layer, because it doesn't contribute anything to the compositing result and doubles the render time.
Use Branched Path Tracing with high samples for the diffuse sub samples and mesh lights and low samples for everything else. This reduces the noise significantly.

If you would be switching to the most recent version of Blender you could also use Open Image Denoise, which can reduce the required samples significantly.


That last link (to the official blender addon docs) is the right workflow, if you already know the basics of creating materials in Blender. If not, I would start with a tutorial on Blender's Principled BSDF, like this one. If you follow the guidelines in the addon docs, a Principled BSDF material will export to glTF correctly.
More information in https://discourse.threejs.org/t/dont-know-how-to-create-gltf-file-suitable-for-three-js-in-blender/13065.


To understand whats wrong you first need to understand what subdivider does.

Subdivider simply takes 3 vertices, and outputs the average of these 3 points, which in your case these are the points because your magazine lacks horizontal vertices
https://gyazo.com/a39bbb69b08b39541eac0cda3077ec60

you need to have vertical vertices along your magazine and other places where it deforms, something like this:
https://gyazo.com/4f41ac0fd74ee7850644daf9e7b975ed

and then add edge loops to sharpen corners.


The issue is that the object you are using to cut the boolean is a mess... it is made out of a lot of overlapping surfaces.

Bolleans don't like that kind of geometry...

If you use a regular cylinder to cut the boolean everything works fine


Close Blender. Copy the files to your local hard drive. Unplug the USB drive. Open your file in Blender. Hit File -> External Data -> Find missing files. Select folder containing local files. Hit Find missing files.


How Can Data Sets Be Pulled From Database into Text Objects or As Parameters for Other Objects

Your question comprises 3 different topics:

How to query for data in a backend (SQLite or whatever)
How to do that with Python (database drivers / libraries)
How to create animations in Blender programmatically

There's a brief introduction for the latter in the API docs - Animation - and plenty of questions and threads here and on blenderartists.org.

For 1., please refer to the database system's documentation and help channels.

For 2., google and also read about using 3rd party Python modules in Blender.


How to get rid of the odd lines shown in the image?

These "lines" are the border lines between different values on the height map. The Bump node converts grayscale gradients to normal map angles and the gradients only work on these borders (or value steps). Since you are using a 8 bit image you only have 256 different values to play with. To make things worse, you are only using a small part of that gamut (you don't use fully white to fully black) so you end up with about 70 grayscale values.

So what you need to do is to take your height map back to what ever image tool you use, convert it to a 16 or 32 bit image, adjust the levels so that the information uses the full gamut and blur the edges away.

This problem is a handling problem, not anything that a specific tool introduces.


How to simulate glass dispersion with only one Principled BSDF node

Interesting question. I think it'd be near impossible to do this as accurately as mixing glass nodes, but if absolute realism isn't your aim then of course your options open up.
Using a procedural texture at very small scale I was able to get this effect in cycles:

Although this is definitely not an accurate way of doing it, it does appear to be somewhat realistic and quite beautiful provided you have some good lighting. (Psst... HDRI)
The values in the colour ramp I did using the HSV mode and just changing the H value.
The Hex values are: Black: #000000, Red: #FF0000, Green: #01FF00, Blue: #0001FF, and Black: #000000.
Let me know if there is something missing and I'll edit this response to include it.
Hope this helps!


Issues installing Blender Animation Nodes on v2.79 on my mac

I just downloaded Animation Nodes for Blender 2.79 on my Mac as well. What is the .zip name? This is the one I used.

After I clicked "Install Add-on from File." it immediately showed up in my list of add-ons. Then I just enabled it.
This is where I downloaded it from.


Problem with UV mapping (single face dis formed)

Use a different operator with N-gons

N-gons are very handy, but they come at the cost of not having a precisely defined topology between the vertices. Blender is struggling to recognize the shape of the surface, the proportion of each branch, with the Unwrap operator due to the algorithm that's behind it.

I'll suggest to simply use another operator for this specific task, for example the Smart UV Project operator:


Ripped models shows weird lines like this

The objects with the lines are blender objects that are called empties. They represent a single point and orientation in space, and are generally used as a marker for something else.

In this case, looking at their positions, I would guess that your importer is importing the bones in the mesh as empties, so these actually mark the bone positions. If this is the case you will probably see that many of the empties are parented to each other in a similar hierarchy as bones would be.


Grass collection as particles for plane mesh not rendering correctly - Grass does not cover ground entirely in viewport, but does in render

Nvm figured it out -- went to particle settings -> children -> made sure display and render amount were the same. they were not.


Your Outliner is currently set to display the Scenes. Switch to View Layers and you will be able to add objects to the collections that are in the current View Layer. In order to do that, select one the collections in the Outliner before adding the object.


How to increase the render distance (fire)

Go to Proporties -> Camera and increase this number:

Make sure to increase End in Clipping. This will increase camera range!


I expect you want more than this.. but it's a start ..

In principle, you can just make the color or density of a volume absorption shader a function of your chosen texture space. Here, Object Space is used. Its origin is at the object's origin, and is measured in Blender units along the object's local axes. So this default cube has 0 a its center and runs from -1 to 1 in all directions.

The function here is e^ -(x^2 + y^2 + z^2)..

Instead of mapping to a gradient, you could put in a threshold, map to Alpha instead.. all sorts, it depends exactly what you want..


Option 01 - for Cube Render Layer mark Floor Render Layer as Mask Layer

Option 02 - use Z-Combine node to merge them together

Notes: It is good to understand what happened in 2.8x versions ...

Render Layers are almost the same concept
Layers are in 2.8 represented by Collections. Now you are not selecting Collections to be rendered, but you mark collections you want to participate only indirectly - objects are not rendered directly, only indirectly by their shadow or light bounce
Mask Layers are the same concept in therm of just activating collection in outliner


A graphics card and driver with support for OpenGL 3.3 or higher is required error

Unfortunately your graphics card doesn't fulfill the minimum requirements of Blender 2.8. The Radeon HD 6530D has the old Terascale 2 architecture and GCN first generation or newer is required. You won't be able to run Blender 2.8 on your hardware.


First select the glasses, then select the armature.
Instead of pose mode, press Tab to go into the edit mode and select (only) the head bone.
Press Tab again to go back to the object mode.
Ctrl+P to bring up the Set Parent menu, and select Bone.
Done!


Through the interface there is currently no way to replace the file for an existing font (ideally this would be supported),however from Python you can do this.

eg, run this script:

import bpy
bpy.context.object.data.font.filepath = '//some_font.ttf'

However in 2.76 there is a bug where this won't update immediately (just fixed).

So you have to do...

import bpy
bpy.context.object.data.font.filepath = '//some_font.ttf'
bpy.context.object.data.update_tag()

You could set the file-path to its self to force reloading too.


How to isolate emitted particles to a specific Curve Guide?

Try placing each curve with a force in a different group.
Then choose a different effector group for each particle system.

You can also consider a Follow Path constraint. Objects keyframes might well need a script for placement of hundreds or thousands.


How can I control which borders are affected by the insetting tool?

You can only control the boundary edge.
It's easier to

Select the top part
Extrude along normals
Check Offset Even


Cycles: Final Render differs from Viewport

What just happened to your clouds mesh?

It looks awful, this topology is far from reasonable mesh.
I kind of know you're probably want to make it thick then a surface ball. That's not how most of the CG render do, if you are making thing in volume rather than surface, the material should connect to output, and also you should use volume shader rather than surface shader (eg. Principled Volume).
You can still use a surface ball to mock the effect with better control, and please aware the problem of "z-fighting" if you setup your earth to three different mesh with little difference distance.

If you still want the thickness of cloud and atmosphere, use solidify modifier instead. It will give you a better control and a more convenience method to manage your object.


I think I have cracked it! The file I was trying to link in to had some existing objects selected, so I pressed A to deselect, and my grouped file showed up. Magic.


adding property while the bge is running?

Yes, that's possible.

Game objects behave like dictionaries, so you can just assign any value to any name (no need for adding a property in the Blender GUI):

scene.some_object["new_property"] = "Hello"

You can even store lists, objects and any other data type in these properties.


How can I loop a 2D grease pencil animation within a longer animation?

I figured it out thanks to wilks' comment above.
It can be done by adding a time offset modifier to the grease pencil object,
enabling custom range and setting end frame to the length of the grease pencil animation.

Only problem now is that all the boids loop in unnatural unison, but I guess I'll open another question for that.


How to control the flow direction and fluid level?

Try creating a box as an outflow object, it will drain the exceeding liquid. After that adjust the inlfow rate to keep the level you need steady.


Subdivision Surface Modifier Problem Blender 2.8

Solution: This was an issue with my normals and I found the solution after more experimenting. Blender 2.8 made it less obvious to see the directions of the normals. Also, CTRL-n no longer recalculates normals. The new hotkey is SHIFT-n for "recalculate outside" and SHIFT-CTRL-n for "recalculate inside". I hope this information will help a fellow blender user.


PointerProperty to node of material node tree

You cannot do this directly. With a PointerProperty you can only refer to a subclass of bpy.types.PropertyGroup or bpy.types.ID.
A Node is none of the above. Best way to solve this is to use a PointerProperty to point to the NodeTree (what is a subclass of bpy.types.ID) and use an additional bpy.props.StringProperty to select the specific node in that tree.
Note: Renaming the node will make the StringProperty Invalid.
Version 2.79
class MyPropertyGroup(bpy.types.PropertyGroup):
    material = bpy.props.PointerProperty(
        name="Material",
        type=bpy.types.Material,
    )
    node_name = bpy.props.StringProperty(
        default="",
        name="Node",
        description="Name of the node"
    )
    @property
    def node(self):
        mat = self.material
        if mat:
            return mat.node_tree.nodes.get(self.node_name)

# draw function
def draw(self, context)
    layout = self.layout

    # NOTE: item is an instance of MyPropertyGroup

    layout.prop(item, "material")
    node_selection_active = item.material is not None and item.material.use_nodes
    row = layout.row()
    row.enabled = node_selection_active
    if node_selection_active:
        row.prop_search(item, "node_name", item.material.node_tree, "nodes")
    else:
        row.prop(item, "node_name")

Version 2.80+ (Use :instead of = for properties)
class MyPropertyGroup(bpy.types.PropertyGroup):
    material: bpy.props.PointerProperty(
        name="Material",
        type=bpy.types.Material,
    )
    node_name: bpy.props.StringProperty(
        default="",
        name="Node",
        description="Name of the node"
    )
    @property
    def node(self):
        mat = self.material
        if mat:
            return mat.node_tree.nodes.get(self.node_name)

# draw function
def draw(self, context)
    layout = self.layout

    # NOTE: item is an instance of MyPropertyGroup

    layout.prop(item, "material")
    node_selection_active = item.material is not None and item.material.use_nodes
    row = layout.row()
    row.enabled = node_selection_active
    if node_selection_active:
        row.prop_search(item, "node_name", item.material.node_tree, "nodes")
    else:
        row.prop(item, "node_name")


Modify Points of a Multires Modifier through Python

try this:
import bpy
import bmesh

bpy.ops.mesh.primitive_cube_add(enter_editmode=False, align='WORLD', location=(0, 0, 0), scale=(1, 1, 1))
bpy.ops.object.modifier_add(type='MULTIRES')
bpy.ops.object.multires_subdivide(modifier="Multires", mode='CATMULL_CLARK')
bpy.ops.object.multires_subdivide(modifier="Multires", mode='CATMULL_CLARK')

active_obj = bpy.context.active_object

depsgraph = bpy.context.evaluated_depsgraph_get()
multires_mesh = depsgraph.objects[active_obj.name].data

# test to modify
print(len(multires_mesh.vertices))  # It Will be 98 Points. Multires!
for v in multires_mesh.vertices:
    v.co[0] *= 2.0

bm2 = bmesh.new()
bm2.from_mesh(multires_mesh)

result:


To make the cloth collide with itself in the example you described, enable self collision.

In the Physics context of the Properties Panel it is found in the tab Cloth Collision.

Enable Self Collision and ajust the other values accordingly.

From the Blender Documentation.

  Self-collisions

  Real cloth cannot permeate itself, so you normally want the cloth to self-collide.

  Enable Self Collisions

    Click this to tell the cloth object that it should not penetrate
    itself. This adds to simulation compute time, but provides more
    realistic results. A flag, viewed from a distance does not need this
    enabled, but a close-up of a cape or blouse on a character should have
    this enabled.

  Quality

    For higher self-collision quality just increase the Quality and more
    self collision layers can be solved. Just keep in mind that you need
    to have at least the same Collision Quality value as the Quality
    value.

  Distance

    If you encounter problems, you could also change the Min Distance
    value for the self-collisions. The best value is 0.75; for fast things
    you better take 1.0. The value 0.5 is quite risky (most likely many
    penetrations) but also gives some speedup.


How to convert solidified plane to cube/rectangle

Just make sure to add the bevel modifier after the solidify modifier. If you applied it, it should work perferctly fine.


Subdivision Surface Strange face choice?

The solution to this problem was to add the correct supporting geometry.  After some fiddling, I have found something that produced a nice smooth output.  What one should look for when this type of problem appears, as suggested by the comments on the question, is NGons.  Although blender has "full" support for NGons, the subdivision surface does not always play nicely.  Although I did not completely get rid of the NGons, I reduced the vertex count and the result is quite nice (I think).  Here is the result:


The animate checkbox itself can have keyframes.  You can have it controlled by the animation system at the start, then turn off the Animated checkbox with a keyframe and physics will take over.  This is a common technique for launching projectiles.


Painting vertex with 0.1 but it acts as if it has 1.0?

It seems you have a common misconception about how bone deformation weighting is calculated.  The way it actually works is as follows:

If a vertex belongs to one or more vertex groups which are parented to bones, that vertex's bone-deformed location will be equally split between the bones' locations according to the ratio of their respective weights.

The key here is that deformation is calculated based on the ratio of weights per vertex, not on the absolute value of each weight.  So if a vertex is only parented to one bone it's deformation location will be entirely decided by that one bone, no matter how small a weight it has in that bone's vertex group.

To get the vertex's position to be 10% affected by the bone you have to specify what affects the other 90%.  You can do this by adding another bone that does not move to your armature.  Then add a new vertex group for this bone and assign the vertices to this vertex group with a weight of 0.9.

In the above example both "legs" are parented to jointBone with weight 0.1, but the right one is also parented to basisBone with weight 0.9.


Highlight colors can be set in Preferences > Themes > User Interface.
You can set different highlight colors for different parts of UI.

In this case, it's the Menu Item > Selected

To change color for other items, go through the User Interface list.
Or download a theme :).


It's not a bug and it's not a Blender thing. Boolean algorithms are like that in most 3d software packages. Stored numbers are not infinitely precise in computers. Look into binary rounding errors if you want to know more. It just so happens that we can observe the consequences of these errors very clearly with boolean operations. Every time you have geometry that has vertices very close to each other or faces or edges that overlap and a boolean operation you may get unexpected results. This happens in all 3d software to some extent with polygonal modelling.

Try to avoid having surfaces that overlap in boolean operations. Sometimes you can make the parts bigger and still get the same boolean result but without errors. You may also move the objects very slightly to improve the results.

This is one of the main reasons you will see many experienced modellers avoid booleans altogether and/or dislike them in general.


Destructive Method: Bridge

Duplicate the vertices of the left mesh X. Go to the target mesh, duplicate the target vertices (box select B and duplicate ⇧ ShiftD) and separate them P by selection. Join the target vertices with the original mesh.
Select the outer edges of the remaining target mesh, which are now unconnected (⎇ Alt RMB for edge loop selection). ⇧ Shift select the outer target vertices. Then bridge them with ⎈ CtrlE > Bridge Edge Loops. Recalculate the normals of the target vertices. ⎈ CtrlN

Non-Destructive Method: Shapekeys

Select the vertices in question of the left original mesh. Assign them to a group ('Group'). Create the Basis shapekey and a new shapekey. In the new shapekey, move the original vertices close to the target mesh vertices. (As close as possible.)
Set the Shapekey influence value to 1.0. Add a Shrinkwrap modifier to the original object. Set the target object as Target and the Group as Vertex Group. Set the method to Nearest Vertex. The vertices now snap to the nearest vertex of the target mesh.
Apply the modifier as shapekey. You can delete the temporary shapekey.


How to fill spaces left between curved roads

I tried making a road doing the following and it worked fine.

Create a curve for your road. Create a plane and in edit mode hit X and then “only faces”. Next convert the plane to a curve.

Finally, go into the curve for the road and set the bevel object to a the Plane curve.

This worked for me, so I hope it helps!


The trick here seems to be environment reflection.
When I use World with simple white color seem to be fine.

Doesn't matter if object is solid glass volume or a shell.
Alternatively you can place black Plane behind Camera so there are not lights reflected in front surfaces.


What is the differance between "Texture View" and "Material View" in BGE or BI?

Material
  A fast approximation of the applied material. Some effects, such as procedural textures may not be shown.
  Textured
  Shows meshes with an image applied using the mesh’s active UV Map. The UV Map’s applied face texture will be shown.

Quoted from the manual.

The BGE does not support procedural textures, so in many cases Material and Textured view will look the same.

The difference comes when you have a texture on the object.
Material will only show the color for the object's material, never any textures.

Textured shows the active texture (even if you have turned off the texture in the texture tab of the properties window.)

(the Viewport Shading names make a lot of sense)


Track a pixel between frames using speed (vector) outputs?

I've found a solution to my own problem after some research. We need to save all four channels, because

  R: pixel displacement in X from current frame to previous frame

  G: pixel displacement in Y from current frame to previous frame

  B: pixel displacement in X from current frame to next frame

  A: pixel displacement in Y from current frame to next frame

as discussed here.

Updates after hours of debugging (sigh...) -- The above statements are NOT 100% accurate. The first two are accurate, whereas the bottom two should instead be

  B: pixel displacement in X from next frame to current frame

  A: pixel displacement in Y from next frame to current frame

Caveat -- the y-axis seems to be pointing upwards. I need to flip its sign to display correctly on my image.

I used this MATLAB package to read all four channels of the OpenEXR images.


Stack identical uv islands on top of each other

Install blender 2.79 from www.blender.org
Open the preferences and go to the input tab.
Change the pull down menu showing "name" to "key-binding".
Enter the shortcut you used with blender 2.79.
Go to the relevant part of the list ("UV Editor") and look up the name of the function,
which is called by that shortcut.
Remember that function namen. Exit blender 2.79.
Start blender 2.80.
Enter the preference dialog and select "keymap".
Search for the function name (or a shorter version of its name. If the blender devs
renamed it it will shurely be named similiar. Play with the function name a little
bit.) Find the new short cut.
And finally: Use that shortcut... ;)


How to make a mesh look like it was 3D printed

Bump map setting for BI (example)

I'd recommend the Wood procedural texture for this:

Bump map setting for Cycles (example)

You can use a Wave Texture node set to Bands as bump map:


You need to put all mixamo animations to a single armature using nla tracks.
I made a script for automating it.
You can try a script that i wrote. It combines all .fbx anim files that you downloaded from mixamo into one armature.
gumroad.com/l/MixAnimMerger
You can then skin the mesh to the new armature and export it as fbx.it will contain all animations.


Better Rendering with focus one position?

I am not sure why you would want this, as the end result will always be the same, but if it is just that you can see one part of the shot fully rendered than have a look at this:

Tiles
Under Performance you choose your tile-size which is the size of one block (in pixels). You can set it to start from whichever part of the image you like (where it says centre), so if you have something in your shot which you want to see first rendered to the fullest make sure you set it to start, wherever the item of interest is.

Threads
You can also set a fixed number of threads and put it to one this way you will always have one tile processing at a time (but that just doesn't use the full capacity of your machine, so i suggest leave it at auto).

Progressive Refinement
What, I assume, you don't want is the progressive refinement box ticked, that will cause it to use another algorithm, which will show you the whole picture very quickly, and as the name suggests will refine it progressively over time. So make sure this is un-ticked, for achieving what you want.


Keyframes won't appear in the Graph Editor window

You've enabled the Only Include Channels Relating To Selected Objects option in the Graph Editor (small arrow icon on the top menu bar of the window, in blue). If you want to see the curve in the Graph Editor you need to select the node that you've animated (Emission node I guess), or disable this option.


Selecting specific control points on a mesh when using box selection

To select an edge you should switch to edge select mode and right click on the edge or by using CtrlTab. To select more edges hold Shift while pressing RMB.

See Documentation on Selecting


For the first issue, you just need to 'merge first last' in the array modifier. This option tells Blender that the extremities of the array have to be merged.

For the second one, it is because the flat face normal is inverted. Select your mesh and use ShiftN to recalculate the normals.

An easy way to check if normals are inverted is to turn on x-ray:

The third one is because the wheel border is not 'regular'. To make it more regular, use the knife tool K to make a loop along the wheel border.

That will make a ngon (on the face above) but luckily that doesn't matter here. Eventually, turn it to quad+tri (not shown in the gif below).


glb Import Error due to IDProperty limitation

This is a bug in the glTF importer. Importing fails if there is a long custom property name (Blender limits custom property names to 63 characters). I have reported it here. Hopefully it gets fixed soon.
In the meantime, you can apply a quick fix yourself which should let you import your models.
Open the file C:\Program Files\Blender Foundation\2.92\scripts\addons\io_scene_gltf2\blender\com\gltf2_blender_extras.py in a text editor. Near the bottom you'll see this:
 try:
     blender_element[custom_property] = value
 except TypeError:
     print('Error setting property %s to value of type %s' % (custom_property, type(value)))

Replace TypeError with Exception and save the file. Restart Blender, and you should now be able to import.
This will discard any custom properties with too-long names, so I hope you didn't need them for anything.


Trackpad with Surface Book cannot navigate 3D View

It's normal because the default controls for navigating around Blender's viewport all rely on clicking on the scroll wheel of a mouse. No laptops that I know of have a similar input that blender will use by default. You will have to set up the input to how you want to control the viewport. There is an option to 'Emulate 3 Button Mouse' in the User preferences in the input tab that may be what you are looking for.


How do I subdivide a cube via scripting?

Using BMesh.subdivide_edges(...)

Can use BMesh.subdivide_edges(...) with 3 cuts, and grid fill set to true.

import bpy
import bmesh
context = bpy.context
obj = context.edit_object
me = obj.data
bm = bmesh.from_edit_mesh(me)
bmesh.ops.subdivide_edges(bm,
        edges=bm.edges,
        use_grid_fill=True,
        cuts=3)
me.update()

There is an example in my answer here demonstrating how to use bmesh.ops.subdivide with a different number of cuts on each dimension.


How to overlay a picture with transparency overr a movie clip?

Here is the asked answer:

in comments above I suggested a method in less than 15 words, but there is also another way that could be even faster or simpler, so this answer will be double:

anyway, you start from this situation, where you have an image with transparency and an underlying video, and you wish to overimpose the image to the video using that transparency.

method 1: set the image blend type to alpha over

with the image strip selected (RMB) in the "properties" panel (press N to show/hide) there's a "blend" type selector, by default set to "replace". Set it to "alpha over", done.

in this case you can use the slider below "blend" to set (or animate) the opacity.

method 2: add an "alpha over" effect strip

with both the video and the image strips selected  (shiftRMB) , add an effect strip "alpha over". Done.

in this case, to set the opacity, you can select the effect strip, and in the "properties" panel (press N to show/hide) unset the "default fade" checkbox, and then set (or animate) the "fade" you wish from that.


Compositing cg watersplash with water in video footage

You're not going to find a "tutorial" for this.
You are up for a very challenging task. You need to account for a lot of things, like transparency, refraction, diffraction reflection, caustics in the water, plus the reflections and shadows on the shiny floor and the shoes.
Reflections and transparency have to come from somewhere ,so you will have to put elements to be reflected and shown trough the water.
The most accurate way to deal with this would be to recreate a lot of the scene in blender to make the interaction more convincing.
Try to recreate the material for the floor as close as you can to be able to capture the reflection of the water on the ground and the reflection of the water drops. You will need also a copy of the floor to composite the shadows as a shadow catcher.
To have the transparency of the drops correctly show the background use the image in a plane that is invisible to the camera, but visible to the transparent and glossy elements of the drops.
In reality each drop of water would reflect the entire environment, the window behind, and whatever is behind the camera...
The biggest challenge is that the water on the floor should reflect the shoe as well, but from a perspective that does not exist on the original image, so most likely you need to make the shoe as as 3D element, again invisible to the camera, but visible to the glossy rays. But the water should also be reflected on the floor and at the same time the water should be transparent to show the floor, but there should be some disturbance in the surface of the water caused by the shoe.
You are in for a lot of hours of entertainment while you try things, make masks, play with different rays and multiple layers.
Some info can be found in this post:
How to get reflections from 3D to show up on real images
And then there are many more layers to this onion.
Matching the values for the light values for the scene, getting the correct perspective, etc etc,
Realistic rendering of mesh together with image?
The bottom line is this: compositing is an art, careful studying of how how light and surfaces work in the real world, and attention to small details, and ingenuity to fake things are needed to pull this one off.
Best of luck, and it would be wonderful if you could write a detailed post when you finish: the missing tutorial!


How to Get Object's Coordinates to Display as 0,0,0 when Parented, and Update Transform Values as if Parent was at World Space Origin?

An example of object parenting
Object A has its origin in world space at x=10.0, y=10.0, z=10.0
Object B has its origin in world space at x=2.0, y=2.0, z=2.0
When parenting Object B to Object A, Object B ends up in the coordinate space of Object A.
The new coordinates of Object B in local coordinate space, relative to its parent, are: x=-8.0, y=-8.0, z=-8.0
What Blender displays in the UI
Blender does the exact same thing as described above.
Object B does end up in the coordinate space of Object A.
But the coordinates you see in the UI - in the item panel of the 3D view - are still displaying x=2.0, y=2.0, z=2.0. I guess you expected it to display the coordinates in local space like x=-8.0, y=-8.0, z=-8.0.
What you see in that place of the UI is the "location" tied to the so called "Input Matrix" resp. matrix_basis.
The "Input Matrix" is neither the global matrix nor the local matrix, but a particular matrix for user input. Citing the docs:

Matrix access to location, rotation and scale (including deltas),
before constraints and parenting are applied

https://docs.blender.org/api/current/bpy.types.Object.html#bpy.types.Object.matrix_basis
So it’s kind of an unspoilt matrix that is not "polluted" by constraints or parenting.
You could add a "Limit Location" constraint to Object B, limit its location to 0/0/0, but the input matrix remains on 2/2/2.
The "location" that is actually displayed in the UI is the input matrix without delta transforms.
On the one hand it’s a pretty clean and stable matrix to keep user input separate from other influences.
On the other hand I can understand that you’d like to see and edit the final/actual coordinates in local space after parenting.
Possible Solutions
Here’s a corresponding feature request with some discussion:
https://blender.community/c/rightclickselect/hLdbbc/
In there they’re mentioning an addon that adds direct access to world and local matrix in the object properties:
https://gitlab.com/blender3d/addons/object-location-edit/-/releases#v0.03
And here’s an addon that transforms the matrix values in a way that the values of the input matrix become those of the local matrix:
https://github.com/drewcassidy/blender-apply-parent-inverse
You can see and edit all these matrices without any plugin in the Outliner:

Set the Outliner’s display mode to "Data API"
Object -> "Object B" -> Matrix World / Local Matrix / Input Matrix / Parent Inverse Matrix

Checking out the local matrix you’ll see Object B's coordinates are: x=-8.0, y=-8.0, z=-8.0 indeed.


Rotate a plane to align with the Ground, while using Vertices to determine its Rotation

I will able to piece together a much more elegant solution, once I understood how matrixes work a little better. I'm still a little confused by this code but It does what it needs to.
https://www.youtube.com/watch?v=cWcAwfF6zgM
import bpy
from mathutils import Matrix, Vector

def scale_from_vector(v):
    mat = Matrix.Identity(4)
    for i in range(3):
        mat[i][i] = v[i]
    return mat

o2 = bpy.data.objects['Cubeface002']
face  = o2.data.polygons[0]

loc_dst, rot_dst, scale_dst = o2.matrix_world.decompose()

q = face.normal.rotation_difference((0, 0, 1))

o2.matrix_world = (
    Matrix.Translation(loc_dst) @
    q.to_matrix().to_4x4() @
    scale_from_vector(scale_dst)
)


How can i make my Cycles Cloth Shader to look Translucent

I think with some tweaking, you could get this flag material to look better using a glossy or a velvet shader:

The idea was to recreate the actual threads and have the space in between them be transparent.


Vertex colors are object data, so can be copied/linked with CtrlL>Object Data.

This will copy/link all the object data (including mesh data) of the active object to the selected object(s). Doing this after duplicating with ShiftD is the same as duplicating with AltD.


Add a cube, and position it so that its lower face sits where you'd like the cylinder's vertices to be. The tip of the cylinder should be inside the cube.

Select the cylinder. In the Modifier Properties tab, on the right-hand side pannel, add a Boolean modifier. Make sure it's set to Difference and, under object, select the cube (be aware that there might be many cubes in your scene; make sure to select the right one).

Your cylinder should now bear a cut as the one you described. If evertyhing seems to be in order, hit Apply in the boolean modifier and get rid of the cube.


How to bind the channel of rotation of the object to the position channel of another object?

This can rather easily be achieved by using simple drivers.
I'd recommend watching this video series. The first video explains pretty good how it works.

Here is a quick recording i did, showing how to do what you're asking.

Steps:

Select Empty, on transforms add a driver on Z Location.
In the input variables select the cube as input.
Change the type to X Rotation. Your Empty should now move along it's Z-axis when the cube is rotating around its X-axis
If you want to inverse the input, you can simply change the Expression from "var + 1" to "var * -1". (Multiplying something by negative 1 simply inverts its value)

Edit: And if you want to do it with a constraint, this setup seems to work for me:

Gifycat showing it.

Don't know too much about how the Transformation constraint works, so can't really explain well why this work but it works. If you want to invert the axis just swap around the 90 and -90 on X rotation.


How to create gizmo such as Radius/Strength F/SHIFT+F shortcuts from sculpt mode in python?

So here is a Template
It can receive any property, note that strength is best to work with props that have min/max
Note that it should be properly implemented in your final modal class as working with globals like this is not ideal
i Did not implement the gradient effect, not sure if it that useful?
If you have any comment/question  about the code let me know,
Here is a demo of the shortcut working with some overlays props

import bpy, gpu, bgl, blf
from gpu_extras.presets import draw_circle_2d

#Bunch of globals needed

#Private
RadiusModal=False
StrengthModal=False
prop_value=None
new_value=None
init_mouse = None #= init mouse position
handlers= [] #=keep track of handlers

def clean_handlers():
    for h in handlers:
        if h is not None:
            bpy.types.SpaceView3D.draw_handler_remove(h, "WINDOW")
    handlers.clear()
    return None

def remap_value(value, min1=0, max1=0, min2=0, max2=0):
    return min2 + (value - min1) * (max2 - min2) / (max1 - min1)

# 88""Yb    db    8888b.  88 88   88 .dP"Y8     8b    d8  dP"Yb  8888b.     db    88
# 88__dP   dPYb    8I  Yb 88 88   88 `Ybo."     88b  d88 dP   Yb  8I  Yb   dPYb   88
# 88"Yb   dP__Yb   8I  dY 88 Y8   8P o.`Y8b     88YbdP88 Yb   dP  8I  dY  dP__Yb  88  .o
# 88  Yb dP""""Yb 8888Y"  88 `YbodP' 8bodP'     88 YY 88  YbodP  8888Y"  dP""""Yb 88ood8

def radius_gizmo_modal(api, property, event, Key="F", px_radius_at_1=100):  #-> event == KEY
    global RadiusModal, prop_value, new_value, init_mouse, handlers

    if (RadiusModal==True):

        #if user leftclick, then apply change to property
        if (event.type=="LEFTMOUSE"):
            print("[Radius]>> CONFIRM")

            setattr(api,property,new_value)

            #EndCleanup
            clean_handlers()
            RadiusModal=False
            prop_value=new_value=init_mouse=None
            bpy.context.area.tag_redraw()
            return {'RUNNING_MODAL'}

        #if user release key then quit modal witouth applying any props
        elif (event.type == Key) and  (event.value=="RELEASE"):
            print("[Radius]>> QUIT")

            #EndCleanup
            clean_handlers()
            RadiusModal=False
            prop_value=new_value=init_mouse=None
            bpy.context.area.tag_redraw()
            return {'RUNNING_MODAL'}

        else:
            print("[Radius]")

            delta = (event.mouse_region_x - init_mouse[0] )/px_radius_at_1 #get mouse move on X
            new_value = prop_value + delta #translate screen unit to prop

            bpy.context.area.tag_redraw()
            return {'RUNNING_MODAL'}
    else:
        #if not in modal mode but user is pressing the key -> Init Modal
        if (event.type==Key) and (not event.shift) and (event.value=="PRESS") and (not event.is_repeat):
            print("[Radius]>> INIT")

            RadiusModal= True #Enable modal mode
            init_mouse= (event.mouse_region_x, event.mouse_region_y) #Store initial mouse position in global
            prop_value=new_value= getattr(api, property) #Store property value in global

            #Add fixed circle
            radius = px_radius_at_1 * prop_value
            def draw():
                bgl.glEnable(bgl.GL_BLEND)
                draw_circle_2d(init_mouse, [1,0.3,0.3,0.4], radius, segments=100)
                bgl.glDisable(bgl.GL_BLEND)

            h = bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL')
            handlers.append(h)

            #Add Dynamic Circle
            def draw():
                bgl.glEnable(bgl.GL_BLEND)
                radius =  px_radius_at_1 * new_value
                if radius<1: radius = 1
                draw_circle_2d(init_mouse, [1,0.3,0.3,1], radius, segments=100)
                draw_circle_2d(init_mouse, [1,0.3,0.3,0.5], radius+1, segments=100)
                bgl.glDisable(bgl.GL_BLEND)

            h = bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL')
            handlers.append(h)

            bpy.context.area.tag_redraw()
            return {'RUNNING_MODAL'}

    return None

# .dP"Y8 888888 88""Yb 888888 88b 88  dP""b8 888888 88  88     8b    d8  dP"Yb  8888b.     db    88
# `Ybo."   88   88__dP 88__   88Yb88 dP   `"   88   88  88     88b  d88 dP   Yb  8I  Yb   dPYb   88
# o.`Y8b   88   88"Yb  88""   88 Y88 Yb  "88   88   888888     88YbdP88 Yb   dP  8I  dY  dP__Yb  88  .o
# 8bodP'   88   88  Yb 888888 88  Y8  YboodP   88   88  88     88 YY 88  YbodP  8888Y"  dP""""Yb 88ood8

#Can work only for properties with min/max

def strength_gizmo_modal(api, property, event, Key="F", prop_min=0, prop_max=1, min_radius=37, max_radius=217, show_gradient=True, show_font=True): #-> event == SHIFT+KEY
    global StrengthModal, prop_value, new_value, init_mouse, handlers

    if (StrengthModal==True):

        #if user leftclick, then apply change to property
        if (event.type=="LEFTMOUSE"):
            print("[Strength]>> CONFIRM")

            new_value= remap_value( new_value, min1=min_radius, max1=max_radius, min2=prop_min, max2=prop_max, )
            setattr(api,property,new_value)

            #EndCleanup
            clean_handlers()
            StrengthModal=False
            prop_value=new_value=init_mouse=None
            bpy.context.area.tag_redraw()
            return {'RUNNING_MODAL'}

        #if user release key then quit modal witouth applying any props
        elif (event.type == Key) and  (event.value=="RELEASE"):
            print("[Strength]>> QUIT")

            #EndCleanup
            clean_handlers()
            StrengthModal=False
            prop_value=new_value=init_mouse=None
            bpy.context.area.tag_redraw()
            return {'RUNNING_MODAL'}

        else:
            print("[Strength]")

            delta = (event.mouse_region_x - init_mouse[0] )
            new_value = prop_value + delta #translate screen unit to prop
            if new_value>max_radius: new_value=max_radius
            elif new_value<min_radius: new_value=min_radius

            bpy.context.area.tag_redraw()
            return {'RUNNING_MODAL'}
    else:
        #if not in modal mode but user is pressing the key -> Init Modal
        if (event.type==Key) and (event.shift) and (event.value=="PRESS") and (not event.is_repeat):
            print("[Strength]>> INIT")

            StrengthModal= True #Enable modal mode
            init_mouse= (event.mouse_region_x, event.mouse_region_y) #Store initial mouse position in global
            prop_value=new_value= remap_value( getattr(api, property), min1=prop_min, max1=prop_max, min2=min_radius, max2=max_radius, ) #Store & remap property value in global

            #Add fixed circle
            def draw():
                bgl.glEnable(bgl.GL_BLEND)
                draw_circle_2d(init_mouse, [1,0.3,0.3,0.5], min_radius, segments=100)
                draw_circle_2d(init_mouse, [1,0.3,0.3,0.5], max_radius, segments=100)
                bgl.glDisable(bgl.GL_BLEND)

            h = bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL')
            handlers.append(h)

            #Add Dynamic Circle
            def draw():
                bgl.glEnable(bgl.GL_BLEND)
                draw_circle_2d(init_mouse, [1,0.3,0.3,1], new_value, segments=100)
                draw_circle_2d(init_mouse, [1,0.3,0.3,0.5], new_value+1, segments=100)
                bgl.glDisable(bgl.GL_BLEND)

            h = bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL')
            handlers.append(h)

            #Draw Gradient
            if show_gradient:
                pass
                # def draw():
                #     bgl.glEnable(bgl.GL_BLEND)
                #     print("=?",new_value,",",max_radius)
                #     rang = int(new_value)
                #     opac = 1.0/rang
                #     print(rang)
                #     for i in range(rang):
                #         draw_circle_2d(init_mouse, [0,0,0,0.5], rang, segments=100)
                #     bgl.glDisable(bgl.GL_BLEND)

                # h = bpy.types.SpaceView3D.draw_handler_add(draw, (), 'WINDOW', 'POST_PIXEL')
                # handlers.append(h)

            #Draw Value as Text
            if show_font:
                def draw(self, context):
                    txt_height = 38
                    projected_result = remap_value( new_value, min1=min_radius, max1=max_radius, min2=prop_min, max2=prop_max, )
                    digits = len(str(projected_result).split(".")[0])
                    text = f"{projected_result:.3f}" if digits<=1 else f"{projected_result:.2f}" if digits==2 else f"{projected_result:.1f}" if digits==3 else f"{int(projected_result)}" #dynamic decimal truncing
                    pos_x = init_mouse[0]-(min_radius/1.3)
                    pos_y = init_mouse[1]-(txt_height/4)

                    blf.position(0,pos_x, pos_y, 0)
                    blf.color(0, 1, 1, 1, 1)
                    blf.size(0, txt_height, txt_height)
                    blf.draw(0, text)

                h = bpy.types.SpaceView3D.draw_handler_add( draw, (None, None), 'WINDOW', 'POST_PIXEL')
                handlers.append(h)

            bpy.context.area.tag_redraw()
            return {'RUNNING_MODAL'}

    return None

#Example of Incorporation within a modal operator

class ModalOperator(bpy.types.Operator):
    bl_idname = "object.modal_operator"
    bl_label = "Simple Modal Operator"

    def modal(self, context, event):

        #Incorpore block above in workflow like this, must be on top of peckorder as it will ignore below
        r = radius_gizmo_modal( bpy.context.space_data.overlay, "grid_scale", event, Key="F")
        if r is not None: return r
        r = strength_gizmo_modal( bpy.context.space_data.overlay, "wireframe_opacity", event, Key="F") #For Min/Max Props, default==normalized prop
        if r is not None: return r

        #Rest of modal
        print("Running rest of modal code..")

        if event.type in {'ESC'}:
            return {'CANCELLED'}

        bpy.context.area.tag_redraw()
        return {'RUNNING_MODAL'}

    def invoke(self, context, event):
        context.window_manager.modal_handler_add(self)
        return {'RUNNING_MODAL'}

#Force Reload

try:
    bpy.utils.unregister_class(ModalOperator)
except:
    pass
bpy.utils.register_class(ModalOperator)


Logic bricks disappeared in the Blender editor, but still work, can't find them

I have a model in which I defined a bunch of Sensors, Controllers, and Actuators... In the image i see that the selected object is a Camera, select your model. As you are new i assume that you did not know that each object have independent logic sensors, etc. that can be linked to controllers of other objects.

Blender Manual: Game engine


Where can I find a complete list of the industry standard keymap?

The only official keymap document can be found here.
The shortcuts you specifically mention, do not exist in the default keymap, though they can be added through python or by editing the keymap. There are some other addons or config files that might be more beneficial for you.
The closest thing to a full list can be found here, but this has been edited a bit, so it's not 1 to 1.
There is also Maya Config, which turns Blender into a very similar Maya configuration.
I'm working on listing out all of the shortcuts and adding the ones I miss from the regular Blender shortcuts myself, I am going to try and keep it close to the industry compatible keymap as possible, I will post here again if I get an update for you.


You can simply convert the straight lines into a curve then give them the bevel you want.

To convert the straight lines :
Press Alt + C (Select Curve).

By this step the straight lines is converted to curve , so you can easily give it the bevel and control it also as a curve.

To give it bevel - When it is a curve - :


Motion blur will not work because the object doesn't move in the scene. What you need to do is to blur the texture in the nodes. For it there is nice node group named ImageBlur from the b°wide NodePack. This node will blur the image in all directions, put it between Tex. Coords. and Image Texture nodes. You can control the amount of blur:

To blur only in one direction we need to adjust the ImageBlur group node. Add those Separate RGB, Add and Combine RGB nodes and change marked values:

Now you have blur only in one direction:

If you also plug in 2 Mapping nodes with opposite values for rotation in Z you can change the blur angle:


Workflow for texturing in games (in Unity)

I was struggling a lot with this topic two weeks ago aswell. And I had the same issue finding info on this topic. And while I haven't found a golden rule of thumb, I have found a workflow that works for me.
For my character, I made a 2048x2048 image split up in grids of 1024*1024 with a hard pixel line for use as a reference when placing the UV's.
Then I baked a 2048x2048 Ambient occlusion for each of my gridslots, in my case : Character Skin, Shirt/Vest, Pants, Accesoires, in which in each of the images only 1/4 of the space will be filled. I then combine those 4 maps in the correct order in the original 2048*2048 image in an image editor, save that, and reimport that in blender for each of your 4 slots.
All UV's will still be correctly aligned, and this allows me to paint/texture directly on the atlas, making any change to the character very easy and fast! My entire character, consisting of multiple objects is now mapped to 1 texture for the basecolor.
In your case for interior objects, I would make a similar grid but with more slots, maybe 4048x4048 divided by 4, bake/paint each object as you go along, and then add them to the atlas after each object is done.
It's a bit time intensive, but it gives you a lot of control over the process. If there is a better/faster way to do it, I would very much like to learn it too!


How do I alter keyframes for a new framerate?

In object mode, select all the objects for which the animation rate needs to be changed from 24 to 60 fps.

In the graph editor, place the 2D cursor at frame zero, and set the pivot center to 2D Cursor

Hit A once or twice to select all of your keyframes. (You may want to hit CtrlH to hide the curve handles if it looks too busy)

Hit S, then X to scale horizontally, then type 2.5, then Enter

This scales your 24 frames-per-second animations out a multiple of 2.5 to 60 frames-per-second.


How to determine the Shading Editor nodes that use a certain texture?

Just a short overview

List of all images is in Outliner > Blender file > Images
List of unused images is in Outliner > Orphan Data > Images
To delete selected items Right Click > Delete
To remove all orphaned data at once (except those with Fake user) use the nice Purge button

(Blender also 'Purges' all unused and unprotected images when you close it.)

There are three images in my file. Image 02 isn't used in any material so I can get rid of it.


Creating hexagonal grid which is a manifold

You could create the hexagonal grid using the

add mesh extra objects Add-on

(Access the system preferences with Ctrl Alt U):

Then press ShiftA Add->Mesh->Extras->Honeycomb

And set the controls in the toolshelf to the size, nuber of columns and rows that you need for your project.

Use a solidify modifier to give it height and then use a bevel modifier to round the edges a bit.

The mesh will work fine with a boolean modifier:


How does the Blender Internal Renderer create Environment Lighting exactly?

From the Blender documentation 1

Environment Lighting

Environment light provides light coming from all directions.

Light is calculated with a ray-traced method which is the same as that used by Ambient Occlusion. The difference is that Environment lighting takes into account the “ambient” parameter of the material shading settings, which indicates the amount of ambient light/color that that material receives.

Environment Lighting panel.

Also, you can choose the environment color source (white, sky color, sky texture) and the light energy.

Energy: Defines the strength of environment light.
Environment Color: Defines where the color of the environment light comes from.

Using both settings simultaneously produces better global lighting.

It is good for mimicking the sky in outdoor lighting. Environment lighting can be fairly noisy at times.

Internally blender creates a sphere with these settings. Sampling this sphere will influence the ambient parameter in the reflection model.


found the solution (blender 2.83.3)
bpy.context.object.modifiers["Surface Deform"].vertex_group = "vgroup22"

didn't know, that every action is displayed in the "info" window and the code can simply be copied.


Where is the option for facets view or face triangles?

In Edit mode with everything selected first open the Face menu and choose the Triangulate Faces option.
In object mode with model selected, Open the Objects Properties panel > Viewport Display > and enable Wireframe.
Now you can see the face triangles in object mode.


hardops addon in blender 2.69 ubuntu 14.04

problem solved. simple updated needed. just make sure hardops 007 is updated with blender 2.77 should work fine no special thing needed here.


Fatal Python Error on Startup (Not Responding)

That looks like Blender is using a very old version of Python. Try taking any path in C:\Python27 off your PATH environment variable.

I'm assuming you're running Windows 10, since you clearly use Windows but don't mention which version. Right-click on "This PC", then choose "Properties". In the next screen, click "Advanced System Settings", then click on "Environment Variables". In both the box "User variables for {your name}" and "System variables" doubleclick on "Path" (or any other capitalisation) and remove anything that starts with C:\Python27.

You may want to write down the original values you removed, just so you can restore them later.


Without seeing your whole model, it is hard to say, but here is a solution to try... Here is my 'hand' rig:

Now add a new bone and parent all of the bones to it.

Now select the parent bone and scale it.  All of the children bones and their meshes will scale with the parent.

It is possible you have a break in your child/parent relationship in your model? But in general all children bones scale with their parent and, if you do not have a parent bone, you can add one for this purpose.


How to read vertices of quad faces using Python API?

The text editor has a useful template that may interest you:
Text Editor > Templates > Python > BMesh Simple

Each polygon stores a reference to the indices of the vertices it's made from.

object mode

import bpy

# obj = bpy.data.objects['Cube']  <-- depending how you want to access it.
obj = bpy.context.active_object

for f in obj.data.polygons:
    for idx in f.vertices:
        print(obj.data.vertices[idx].co)

or manipulate the mesh directly (this will affect all objects that reference this mesh). Meshes and Objects are different things.

import bpy

data = bpy.data.meshes['Cube']

for f in data.polygons:
    for idx in f.vertices:
        print(data.vertices[idx].co)

edit mode

import bpy
import bmesh

obj = bpy.context.active_object
bm = bmesh.from_edit_mesh(obj.data)

for f in bm.faces:
    for v in f.verts:
        print(v.co)

# if you make edits then you need to update at the end
bmesh.update_edit_mesh(obj.data)


Export model and textures from CityGML to UE4 through Blender

Ok I finally figured out this issue. The problem was that I didn't had any material in the material tabs, so there was nothing to bake. I had to go through other programs to convert properly the cityGML files before to bake them in blender. I had to use Autodesk Infraworks and FME cityGML importer to get there. It works at least for me with the models I got from Rotterdam.

Here is my workflow:

Download the model from the website in cityGML format, thematic classes: buildings, textures: RhinoCity texturing.
FME quick translator: run CityGML to IMX workspace and convert it to a .imx file.
Open Infraworks and import the .imx file, then export it to FBX (uncheck merge textures toggle and do not export the ground).

Then in Blender I can open the FBX that contains the materials and textures ready for baking. Clear parents and keep transformations with alt+P, group meshes with ctrl+J. Create a new UV map, a new texture image, unwrap (smart UV project) and finally bake the textures.
Use the baked image as a new material, and the texture is mapped on the UV map created. I exported the file in FBX and the import in UE4 is very smooth. It looks great!

It works very well this way, hope that it can help someone else!


How can I convert an edge loop to a curve?

Anyone who lands here from a search engine, in Blender 2.8, Alt + C doesn't do anything. Curve from Mesh is not even available in the space bar menu. You have to select it from Object > Convert to menu.


The cube on the right is flattened/unfolded so a texture can be applied. On the left is what it looks like after it is unfolded. Where it is cut to unfold these are called seams. In the video he places the seams to unfold the object.

By creating a 2D view of the object you can add a texture in an external editor (for example) exactly where you want the texture to be. The 2D version is mapped to the 3D object ... UV Map


Is there a (hotkey) way to set the weight paint brush to the weight of a specific vertex?

In the default 2.8X keymap it is ⌃ Ctrl + RMB  to sample weights in weight paint mode. The 2.79 keymap is set to ⌃ Ctrl + LMB


How to get material parameter by name, and check if texture is assigned to parameter

I am going to link this here as intro:

Control Cycles material nodes and material properties in Python

To see what and if something is connected to your Kd socket:

kd_socket = nodes["Matte"].inputs[0]
# you can check if kd_socket.name returns "Kd"
# and kd_socket.type returns 'RGBA'

links = mat.node_tree.links
link = next(l for l in links if l.to_socket == kd_socket)
if link:
    image = link.from_node.image          # = bpy.data.images['Name']

In Blender everything is referenced by names, they are unique by design. If you don't know the name, you need to search through all items and pick what you want based on some criteria. You can recognize nodes by:

type: link.from_node.type         # 'TEX_IMAGE'
number of inputs/outputs, type of sockets, etc.
how the nodes are linked with links

You get the node class with:

mat.node_tree.nodes["Diffuse"].bl_idname
# 'ShaderNodeBsdfDiffuse'


How come edge loop select does not work?

Loop selection doesn't work with triangular topology, because at an intersection, it can't determine which path to choose.

You can convert the topology to quads with the Tris To Quads function (select all the faces then Alt+J).


Like lemon already suggested, the masking tools are your best choice. Yes, you will get the flat faces as well, just as with hiding them, but afterwards you can - with the mask still active - smooth the borders using the smooth brush.

on the bottom left of the screenshot you can see the Hide/Mask menu. Choose one that fits you best. My example is so simple I was able to use box select for this. Basically mask everything except the boundary.

after that, you'll see that the inner part turned black (that means it is masked), and the outer part is grey (editable).

We need the opposite, so we invert the mask with Ctrl + I

Now we can sculpt as we like, ignoring the fact that we get heavily distorted faces on the outside.

With the smooth brush, this can be fixed easily and with a lot of control!


how to make this cylinder model with holes

Create a cylynder, and subdivide it the number of times right to have one hole in every column; then add (CTRL R) some loop cut just to have square faces; select every face corresponding with the holes (you can try the checker deselect function) and delete them (X, Enter).

Then add a subsurf modifier, and you'll have your holes.

You can improve the mesh with a solidify modifier and playing with edge creases.

A lot of functions you use in edit mode have their parameters regulation in the "T" panel, left-down the 3D Window, as shown in the picture.


Render a surface transparent only if directly visible

Using blender internal, for the material of the objects you want to disappear, turn on transparency and choose mask with an alpha of 0.0.

The transparent objects will still show in reflections but not be seen in the camera.


is it possible to have particles with tails using Cycles?

yes, you can model a mesh to behave exactly like you described, then assign that mesh to the particle.

To make them glow you can assign a surface emission material or volume emission material
and you can even blur anything that moves to give some realism.

But if you want to have the same effect as in the video, then you can get away without using particles. Just constrain the mesh to a curve and animate it.


I already figured it out.Changed the PNG options in shader editor from LINEAR to SMART.Outlines are gone –


Smooth shading not working for curve elements

With curve selected go to Curve Data Properties and increase Resolution Preview.


How Can I Remove CGI from Part of my Video?

There are two methods that this could be done with:

Movie Clip Editor and Compositor:

Add your footage to the Movie Clip Editor
Mask the area around the Light Sabre at the time you don't want it
Use the Mask node in the compositor to remove the light sabre

Section on animating masks from the Blender Documentation (Link). There are also many good tutorials on this.

  Animating
  Masks can be driven over the time so that they follow some object from the footage, e.g. a running actor. This animation can be done in several ways:

  Control points can be parented to motion tracks. This way is the main way to interact with masks in a motion tracking workflow.
  Keyframe animation of control points using a shape keying system. This can be useful when there are not enough good feature points to track in the footage, or the mask is not based on footage.
  For animation more complex mask shapes, it is also possible to do more high level animation:

  Splines and mask layers can be animated as a whole, instead of individual control points.

  Masks can be parented to motion tracking data. Works for both individual mask point parenting and for overall spline. To select motion track to be parented to use Ctrl-RMB. To parent selected mask points to active motion track use Ctrl-P.
  Mask animation timing can be edited from the Dope Sheet. Here there is a mask mode where mask keyframes can be selected and edited.

Animating the appearence of the 3D Model:

Open the Outliner and locate your light sabre object
Next to its name you will see an eye and camera
Animate appearence by using the keyframe shortcut I and keyframe it to the time it should be seen or hidden. This is done by hovering over the symbol (eye or camera), to hide the object click on the icons and they will become greyed out and your object should disappear.

Make sure you animate both the eye and the camera, this is beacuse the eye only hides its appearence in the viewport but will still be visible in the render.


Check the source of the particle emissions near the top of the particle settings. Is it set to volume? Or perhaps the solidify modifier is after the particle modifier, so it adds sprinkles on the non-solidified icing, and then the icing solidifies over them.
PS: do not say “apply” generically, as it means something specific in blender.


How to get the missing library and its collection with Python?

Look at the library filepaths.
Iterate over the libraries, for any that do not exist in saved filepath, convert the filepath and reload.
import bpy
from pathlib import Path

for lib in bpy.data.libraries:
    p = Path(bpy.path.abspath(lib.filepath))
    if not p.exists():

        print("Missing:", lib.filepath)
        # convert filepath
        lib.filepath = "/some/converted/path"
        # with new valid path
        lib.reload()


It looks like you have some files it can't find that are linked as directories on your computer that don't exist. I would try re-uploading 'flower_Purple_01_128x128V003a.png' and other images. Also, it doesn't seem to be able to accept video files, so that may be a separate problem.


There is a maintained repo on Github by BioticPixels with a script that does this exactly https://github.com/BioticPixels/Blender-Dvorak-Key-Configuration, (more permanent link). It appears to not be feature complete but the author lists the restrictions and it appears to be usable for the most part. There are install instructions present or you can open your text editor and execute the script from there. Direct link.


To create a plane track you need at least 4 trackers, select all of them using A


Blender object basics.

The lamp objects in bpy.data.lamps is the data part of a lamp object o. A lamp object has o.type == "LAMP" and o.data is a lamp object from bpy.data.lamps.

To get all lamp objects in file

lamp_objects = [o for o in bpy.data.objects
                if o.type == 'LAMP']

all in file that use a lamp named "Lamp"

lamp = bpy.data.lamps.get("Lamp")
lamp_objects = [o for o in bpy.data.objects
                if o.type == 'LAMP' # need this since
                and o.data is lamp] # o.data is None for empties

for all in context scene

scene = bpy.context.scene
lamp_objects = [o for o in scene.objects
                if o.type == 'LAMP']

for all in context selected objects

lamp_objects = [o for o in bpy.context.selected_objects
                if o.type == 'LAMP']

To move all lamps to local position (0, 0, 0)

for o in lamp_objects:
    o.location = (0, 0, 0)

To move all lamps to global origin

for o in lamp_objects:
    o.matrix_world.translation = (0, 0, 0)


Blender allows multiple images to be assigned in one UV Map. If I'm not mistaken you want one set of UVs, just across multiple textures. To do this select only the faces you want to use a specific texture, and in the UV/Image Editor click the "browse image to be linked" rollout, and select the that texture.

This will map any faces you have currently selected to that texture in the "textured" viewport shading mode.

Alternatively, in the UV/Image Editor use "image > open image" to open an image file not already linked to the blender scene, or the + icon to make an internal image.

If you want to render this object or export it to another application, not just view it in the "textured" viewport, you will need to assign a material to your faces, and assign your texture to that material.


In bge, how would I zoom using mouse scroll in ortho view?

Typo on the line 18
positive:: to positive:
You need 2 sensors for each of detect wheel up and down.
And the sensors have to be connected to the python controller.
This is why you got only one of zoom out or in.
You have to make the names in blender to be consistent with the names in the script, also the script file name.

Advice:
You can open console from menu Window > Toggle System Console. The console shows error messages from BGE when BGE is running.
Be carful, closing the console window closes whole blender.


How do the options in the Post Processing tab work?

Those two check boxes toggle using the compositor and sequencer.

If you are using any compositing nodes, then you will need to have the Compositing box checked.

If you are using the VSE for anything, then likewise you will need to have the Sequencer box checked.

If you are just rendering from a 3D scene, then you can uncheck both boxes.

Now most of the time you can safely leave both of them checked.
When the VSE is empty it will do nothing. However when the compositor is empty, and the Compositing box is checked, like your issue, the render will turn out blank.

See my answer for a bit more on the compositor's required nodes.


How to model component pieces of a geometric solid?

I accomplished this. I have removed some of the facets to show the inner side.

This is how:

Make a football (as you said, subsurf an icosahedron, dissolve all vertices on middle and edges).
Add the edge split modifier with split angle 1. This will make each ngon (pentagon and hexagon) separate from its neigbours.
Apply the modifier.
Go into edit mode and select all faces.
Extrude all faces but right click directly. This will make them double but select all faces that will form the outer shell.
Scale out the selected faces.


How to add a "select path" input in a UI addon script?

Well, I finally found a solution:

First, I had to define a custom property in the register() function:

def register():
    bpy.utils.register_module(__name__)
    bpy.types.Scene.conf_path = bpy.props.StringProperty \
      (
      name = "Root Path",
      default = "",
      description = "Define the root path of the project",
      subtype = 'DIR_PATH'
      )

def unregister():
    bpy.utils.unregister_module(__name__)
    del bpy.types.Scene.conf_path

Then in the draw() method of the panel class, I had to call the property this way:

def draw(self, context):
    layout = self.layout
    col = layout.column()
    col.prop(context.scene, 'conf_path')

And... it worked!

Now, I wanted to display the default value (which is stored in a separate ".conf" file), in the "file input" when Blender starts (or the add-on is enabled).
To do so, I just had to call a function which get this value, and put it in the "default" parameter of the property definition:

def register():
    default_path = get_path_from_config_file()
    bpy.utils.register_module(__name__)
    bpy.types.Scene.conf_path = bpy.props.StringProperty \
      (
      name = "Root Path",
      default = default_path,
      description = "Define the root path of the project",
      subtype = 'DIR_PATH'
      )

And that's it!


Theory
I don't think you have a chance to get there with this single texture and your mesh topology.
The only reasonable solution that came to my mind is to use some radial texture, like one based on fibonacci pattern.

Unwrapped from top view.
Pattern
To create such texture use this Brecht's script
(copy&paste into blender's Script Editor and Run Alt+P)
import bpy
import bmesh
import math

n = 100 # number of points
c = 0.1 # scale factor

mesh = bpy.data.meshes.new(name="Spiral")
bm = bmesh.new()

for i in range(0, n):
    theta = i * math.radians(137.5)
    r = c * math.sqrt(i)
    bm.verts.new((math.cos(theta) * r, math.sin(theta) * r, 0.0))

bm.to_mesh(mesh)
mesh.update()

from bpy_extras import object_utils
object_utils.object_data_add(bpy.context, mesh)

It creates vertices pattern. At row 5 of the script you can change number of vertices.

Model
Add Plane and model one Shingle, Object has to be oriented in positive Y direction so bottom part is on top. Rotate it on X axis a bit upward with shingles end so when they will repeated will be on top of other. For this quick Shingle I added Solidify and Bevel modifier.

Select Shingle and than pattern object and parent Ctrl+P them. Go to pattern's Object Properties > Instances > Vertices. Enable Align to Vertex Normal to get desired rotation.

Texture
To be able bake Normal map of this model you have to search for Make Instances Real, Join Ctrl+J them. Add another Plane above, add a new material and add Image node, click new, and keep this node selected (active). Go to Render Properties, choose Cycles engine, at bottom go to Bake > Bake Type > Normal > enable Selected to Active. Select joined Shingles than Plane and press BAKE. Save image as OpenEXR type of file.

Note: to create Bump Map - position camera above object and under Render Passes enable Depth pass or Mist pass. After rendering go to Compositor and tweak output of one of this pass. Or you can create a simple B&W material with Blend texture on Z axis for the same result. You can find a lot of answers here I guess.
Edit:
I just noticed ... baked Ambient Oclussion worked much better in this case. Result is similar to Depth. And you could already notice, unwrap from top view applies texture stretched vertically, so its good to compensate this by creating shingle a bit wider horizontal, so after texture is applied it looks in proportions.

Render doesn't use Displacement modifier, but Adaptive Subdivision (aka Microdisplacement) that needs a just a few faces for cone and beautiful details :)


How to construct a moebius loop using bezier curves

If you have activated the Add mesh: Extra objects, you can use the XYZ surface to create a shape that looks like your avatar. The parameter you'll want to experiment with in the image below, is the 1.5. It controls the size of the inner loop. The 2 controls the number of loops.
I used the formula for an epicycloid (http://en.wikipedia.org/wiki/Epicycloid) and modified it slightly, to give it depth.
Once it looks good, convert it to a curve and put a bevel on it.

EDIT: I realise that this isn't exactly what you wanted to do, but if you add bars between the loops, it should pretty accurately reproduce the kind of image you want.


Python script to print tooltip value when mouse is over a property

For recent Blender builds (daily builds), you can do this using shortcuts.

See: https://www.blender.org/manual/interface/buttons_and_controls.html#common-shortcuts

Ctrl-Shift-C - copy the data-path for this property(also available from the right-click menu).Useful when writing drivers or scripts.
Ctrl-Alt-Shift-C - copy the full data-path for this data-block and property.

Warning: This is typically bad practice when scripting, in most cases its best to access values based on bpy.context, accessing via string lookups in bpy.data is error prone since the user may rename objects.


Is it possible to move the view with holding spacebar?

In Blender 2.79 (and maybe 2.8, but I haven't seen that) go to File/User Settings, click on the Input tab at the top, and there you have the different areas with their commands and hotkeys.  At the top is a field where "Name" is written - click on that and change it to "key binding" then you can type in the known hotkey in the Search field, (where there's a magnifying glass) to find the command you want, and then you can change it..  I typed "shift" and "middle" and before I typed "mouse button" the command was shown underneath with the hotkeys next to it - you can click on "mouse" and change it to keyboard, then in the field beside it and press on the spacebar

Edit -  I just reread your question and you want it to be Spacebar plus Mouse - so try clicking around and finding out what your options are - that's the place to do it anyway.


Why are my leaves dissappearing and turning black

I ran into this issue as well.  I started with the tree sapling, then added the leaves - like you did with alpha - same thing - after converting and removing the particle system, then joining, the leaves would not show in rendered mode.

I noticed that the sapling was generated wit it's own UV Map - "Orco" - once I deleted that UV Map, the join worked as expected.

I was pulling my hair out for a good while, and I don't have much to work with.


Where is the built in Material Utils add-on in 2.8?

Blender 2.8 is glorious, but this is a must have add-on. Please, can someone add it back.

Update. They added Material Utils in blender 2.81. At the moment its in experimental version 2.81Alpha but it works and I love it :>


What's the quickest, easiest way to point the camera somewhere in blender?

The absolute quickest way to do this is to find a good position in the 3d viewport by navigating as normal with the mouse. Next, select the camera and use Ctrl + Alt + Numpad 0 or from the 3d view header, View > Align View > Align Active Camera to View to position/point the camera in the direction you are facing in the viewport.
Alternatively, to point the camera towards an object, you can select the camera, add a Track To constraint to it (constraints can be added in the Constraints tab), choose the object in the Target field, -Z in the To field, and Y in the Up field.

The camera will now always point at the object no matter where it (the camera or object) is moved to. This way isn't very efficient however and it is much better to point the camera towards an empty and then position the empty wherever the point of interest lies.


You have to select the armature to go back to pose mode, it looks like you have the mesh object selected instead.


Adding Subdivision Surface Messes Up Geometry

Ok, so the first thing I noticed (by turning on face normal overlays) is that the normals were going all over the place. To me, this suggested duplicate faces, so I used a Merge By Distance operation (Press M (merge) in the viewport and select "distance"). I increased the "merge distance" to .0101 and it removed 521 duplicate vertices which solved most of the problem, but not all.

Upon investigating the rest, I noticed that there are a number of interior faces - faces inside your mesh. Also, for some reason, the second time I tested this, deleting the faces left some "loose edges" - floating lines that still made it look strange even though the faces were gone. If yours still looks strange after the subsurf is applied, look for these inside the mesh (I found a couple in the large "tank" section).

Regardless, deleting them seems to solve the rest.

There are also some areas on the outside that have duplicate edges (this could be an unwanted result of the merge operation, but I can't be sure.) Deleting them (not dissolving them) seemed to clean that up.

So this is mostly solved, but there are a couple of new N-gons you will have to deal with somehow:


Adding Date via Python from csv - works fine in Viewport but can't be rendered - what's wrong?

Thanks to batFINGER, the new code from this link:
blender.stackexchange.com/a/161107/15543
gives a workaround.
First step: Inserting the Dates from the csv file into a new text file named "text".(by hand)
Second step: Putting the text_add line from above behind the csv loop with the text_body_handler as linked here. (run code and enjoy the Date in the rendering)
:)


How to make textures in Blender without any flat work with a painting program? (3D painting)

I think you can use a Texture Paint mode and paint the textures using a Stencil option.

Add a new material to your object. Join all the meshes using Ctrl+J. Unwrap the model using Smart UV Project.

In Uv Editor add a new image texture and name it. Then save it (Image-->Save as Image).

In CYCLES Setup the nodes as pictured below. In the Image Texture node open up the newly created image.

In BLENDER INTERNAL RENDER add a new Paint Slot-->Diffuse Color in a Tools bookmark of a Tool Shelf (T).

Enter the Texture Paint mode and set up the shading type to Texture. Add a new texture in the panel on the left, then go to the Texture header on the right, select Brush and open a texture, which will be used as a stencil for painting.

Enable a Stencil option in a panel on the left. Press:

-LMB to paint through the stencil

-RMB to move it

-Shift+RMB to make the stencil bigger and smaller

-Ctrl+RMB to rotate it.

You may also uncheck the Occlude, Cull and Normal boxes to paint on the invisible parts of the mesh.

Save your image when you're done with painting.


Boolean not working for all faces in an object

In this case, removing doubles in the mesh resolved the problem.


Inside Blender, 1 Blender Unit equals 1 meter, however, when importing, the software you are using could perceive arbitrary units as being equal to something other than 1 meter.

There are a couple of ways to solve this problem:

1. Change the Scene's scale factor

To do so, go to the Properties panel, then under the Scene tab, find the Units subsection and change the Scale field.

When set to 1, 1BU = 1m, but if set to 10, 1BU = 10m; Pretty straight forward.

2. Change the exporter's scale factor

To do this, when exporting to .stl, before hitting Export, you can change the scale field, located on the bottom left corner.

3. Scale the object up in Blender

Hit S and the enter your scale factor/ratio, for instance 10, and the object will be 10 times bigger.

4. Scale the object up in the printing software

You figure that out.


How to paint through the mesh during weight painting

You can do this by deselecting Limit selection to visible from the header. You should now be able to paint through the entire mesh. It doesn't update the opposite side in realtime however as it does when painting, it updates when you release the mouse.