How to detect disconnected parts within a selection?

Recursively walk the selection.
Similarly to the method employed here How to find the number of loose parts with Blender's Python API?

Take one edge of the selection, tag it as "visited" then recursively
do same with its connected edges until no more.  This will be an
"island".
Remove the island from the selection, and return to 1.

The tag property of a bmesh element remains persistent, even without updating the bmesh, and AFAIK will need to be reset each time.
Test script, run in edit mode with edges selected.
import bpy
import bmesh
from collections import defaultdict
import sys
from functools import lru_cache

def recursion_limit(method):
    def rec(edges, **kwargs):
        sys.setrecursionlimit(max(len(edges) >> 1, 1000))
        result = method(edges, **kwargs)
        sys.setrecursionlimit(1000)
        return result
    return rec

@recursion_limit
def edge_islands(edges, as_indices=True):
    tags = defaultdict(bool)
    tags.update({e : True for e in edges})
    @lru_cache(128)
    def walk(tree):
        for edge in tree:
            if tags[edge]:
                yield edge.index if as_indices else edge
                del tags[edge]

        leaves = tuple(
            set(
                e for edge in tree
                for v in edge.verts
                for e in v.link_edges
                if tags[e]
                )
            )
        if leaves:
            yield from walk(leaves)

    return list(
        list(walk((e,)))
        for e in list(tags.keys())
        if tags[e]
        )

if __name__ == "__main__":
    # test call on mesh in edit mode
    context = bpy.context
    ob = context.object
    me = ob.data

    bm = bmesh.from_edit_mesh(me)
    selected_edges = [e for e in bm.edges if e.select]
    print("Input", len(selected_edges))
    islands = edge_islands(selected_edges)
    print(len(islands), "Islands", islands)

Time It

However, lemon's code seems to be quite a lot faster, so I will mark
lemon's answer as most helpful

On answering lemon commented he may not answer. Had a feeling (s)he would, with an iterative approach, it would be faster and would be accepted.
Did some optimizing for speed (it was  pretty much a copy paste job from an older answer)

As noted and striked-though removed the use of the tag property
. Took out set conversion and arithmetic.
Cached the recursion using functools.lru_cache
Recursed on all connected each time, rather than a single edge. This greatly reduces the recursion depth.

Have included the script used to test the two scripts for speed, with the caveat the script is run in edit mode, and the result desired needs to be converted to a list of lists. (Timing method that returns a generator will not consume the data and give a result of 0.01 or less milliseconds)
@lemon's script is designed to run in object mode. To make sure the selection is updated  the mesh is updated.  The input edges are calculated for both.  Anything outside the method eg imports, prints, creating the bmesh is not included.
Once again: reports the time taken to generate a list of lists using the two methods.  Make sure to edit the text block name the scripts are in. In example below this is in "batFINGER", lemon's in "lemon".
import bpy
import bmesh
from random import randint

bat = bpy.data.texts["batFINGER"].as_module()
lem = bpy.data.texts["lemon"].as_module()

def timeit(method):
    import time
    def timed(*args, **kw):
        ts = time.time()
        result = method(*args, **kw)
        te = time.time()
        print(f"{method.__name__ : <23} {(te - ts) * 1000 :6.2f} ms")
        return result
    return timed

@timeit
def batfinger(edges):
    return bat.edge_islands(edges)

@timeit
def lemon(edges):
    return [[e.index for e in island] for island in lem.islands(edges)]

context = bpy.context
ob = context.object
me = ob.data

bm = bmesh.from_edit_mesh(me)
selected_edges = [e for e in bm.edges if e.select]

batfinger(selected_edges)

#lemon test,
ob.update_from_editmode()
selected_edges = [e for e in me.edges if e.select]

lemon(selected_edges)

Results
Ran over a test mesh with both loose parts and large contiguous areas.  As a rule of thumb the iterative approach is quicker for large connected areas.
After the optimizations results are comparable.
----------------------------------------
79010 Edges
batfinger               741.60 ms
lemon                   707.91 ms
Islands: 3625 Largest: 4124

----------------------------------------
79010 Edges
batfinger               759.15 ms
lemon                   830.18 ms
Islands: 3625 Largest: 4124

----------------------------------------
79010 Edges
batfinger               759.82 ms
lemon                   710.61 ms
Islands: 3625 Largest: 4124

----------------------------------------
79010 Edges
batfinger               750.31 ms
lemon                   836.75 ms
Islands: 3625 Largest: 4124

Related
Is there a way to assign vertex groups to all loose elements via python
How to use loopcut_slide operation without any UI?
What is the bmesh equivalent to bpy.ops.mesh.shortest_path_select()?


I can not make the normal map bake in cycles

These "artifacts" are usually the result of a ZERO value in Ray Distance when bakeing, so try to change the value in a GREEN rectangle seen on the image below to a non-zero (0.1 or 0.05 should be fine).

Hope it helps André.


Load and Retarget via bpy (Blender python)

According the manual you can use bpy.ops.import_anim.bvh operator to import a .bvh file:

  bpy.ops.import_anim.bvh(filepath="", axis_up='Y', axis_forward='-Z',
  filter_glob="*.bvh", target='ARMATURE', global_scale=1.0,
  frame_start=1, use_fps_scale=False, use_cyclic=False,
  rotate_mode='NATIVE')

As you mentioned, next step is to Retarget, but it seems bpy.ops.mcp.load_and_retarget only works for the length of the current timeline (250 active frames by default).

Unfortunately there is no parameter to set the length of the animation and adjust the timeline in both methods. But if you know the length of the imported bvh, you can simply assign the value to Scene.frame_end between the execution of both methods:

scn = bpy.context.scene # get the current scene
# execute bvh operator
scn.frame_end = 777 # set new end frame
# execute retarget operator

To get the length of the bvh animation and set the end frame dynamically, find the last keyframe of the imported objects via actions or animation_data, see this answers: How to find number of animated frames in a scene via python?


Why does my mesh deform when I apply an armature with automatic weights?

I have to say i'm not really good at rigging, but as none answered...

there are a few things you need to know about armatures and bone constraints.
Your armature won't look the same in edit mode and in pose mode if you apply IK contraints. Edit mode allows to move/rotate/scale bones in rest pose so if your bones are moved in pose mode, this won't show in edit mode. Constraints are not applied in edit mode.
This applies to your IK controller bones.

So if you want to see things clearly, you have to clear the tranformations in pose mode : select all bones with A menu Pose/clear transforms/all or Alt+G, Alt+R, Alt+S.

Another thing to know about bones is the roll, the bone's rotation around it's main axis. To see this, go in properties panel, armature and click "Axes"

This wil show each bone's axes. This is something you need to check if you want your contraints to work as expected. You can change a bone roll with Ctrl+R in edit mode. In your case, you should use the recalculate option : in edit mode, select all bones with A, go to armature menu, Bone Roll/Recalculate Roll/Global+Y axis and see what it does.

It should fix some of your problems but you'll need to manually fix some of them. You can try some recalculate options to see what's best


How would you unwrap 'football' like shape to have a world map as a texture?

If by "World Map", you mean an equirectangular image, you don't have to unwrap it at all. Just use an Environment Texture node instead of an Image Texture node and plug the Object coordinates into the Vector input. Node setup and result:

And .blend file:


Video Editing - Send a strip to another scene same project file

I already found it! Well, I'll leave it here if someone else has the same issue:
In SEQUENCER just click on ADD> SCENE> Choose your scene. In the right panel on the "STRIP" tab go to SCENE and change the INPUT to SEQUENCER insted of camera. Done.


How can I export an object to multiple scales at once?

When you say export, I expect you need it in a non-blender format, say for 3D printing. Most export options have a scale parameter that can easily save each export in a different size.

import bpy

ring_sizes = [0.8,0.9,1.0,1.1,1.2,1.3,1.4,1.5,1.6]

for s in ring_sizes:
    bpy.ops.export_mesh.ply(filepath="Ring_"+str(s)+".ply", global_scale=s)


To explain the depth of field, make sure you have the right camera set as active.

Also, the missing detail in your objects could be the result of the denoiser.


Blender 2.8 PNG image for material not showing transparency

"I'm using principled bsdf with image texture, alpha set to 1.0,"
That's Where the problem is, do not set the Alpha to 1.0, Instead of this Connect the Alpha Socket of Image Texture to the alpha of principled Bsdf. Like this in The Screenshot -

I hope this will work.


How can I create slope with precise angle in edit mode?

If I understand correctly the goal is to kind of rotate a face but without connected faces distorting:

One way to do that is to use Shear tool; select the desired face, enter desired axis and amount of effect the face to be "rotated".

Note that as it works regarding current view, you should position viewport point of view accordingly, most likely in preset orthographic view. If shearing the top face of a cube by Y axis enter orthographic Front view and while shearing enter Y axis (not seen on gif here) and then amount of effect.

Another much simpler way is not rotate enything but just grab edges by Z axis - one up, another down. It won't be rather simple to guess how much though as this will be moving edges, not rotating face.


Blender 2.8 is rendering in eevee when cycles is selected

With your attach Blend file, I see nothing rendering both for Eevee or Cycles ((2.80 2019-07-29). Not sure what the problem is. In either case, I was able to workaround the problem by selecting ALL objects in the first scene, creating a new, empty scene and pasting all the copied objects in the second scene. After that, it renders fine in both Eevee and Cycles.


Custom made menu hotkey problem, blender doesn't find it unless I run it form the text editor

for anyone facing the same problem in the future here is the solution, thanx again to  batFINGER for helping me find it.
you need to make sure that you put your blender version in the script's dictionary, in my example:

bl_info = {
    "name" : "customMenu",
    "category" : "3D View",
    "author" : "Edo",
    "blender" : (2,80,0)
}


Image Overlay out of Sync with Timeline after Rendering

Too bad you have spent all this time on something that blender is not good at.
Here's the issue: the framerate reported is a non standard one (let me guess, the video file is a recording of some game or online video, or video from an android phone).
Some software recorders put out a variable framerate to make the file smaller and not to choke the computer for other apps.
But blender cannot deal with video files created like that correctly, as it needs each frame at the same timebase (framerate).
You would need to transcode the video into a stable framerate that matches that of your desired output so that blender can deal with it correctly.
It is not popular in this site when someone says that the VSE in blender is not a robust tool, but what you are experiencing is the result of that.
So you have two choices: conform your video to a single stable framerate, or use a different video app that can handle your file as is.


Add-On Dev: Per-File Initialization (Issues Enabling Add-on After File Load)

Add-ons can do per-file initialisation, if the add-on has some kind of panel in the UI somewhere.

You may notice various panels in Blender's UI have checkboxes next to the panel title. This is can be because they don't want to be active unless specifically turned on, but it can also be because they want to do some setup before being used:

This can be achieved in your own add-on by adding a draw_header function into the class that defines your panel:

def draw_header(self, context):

    self.layout.prop(context.scene, "addon_panel_enabled", text="")

The draw_header displays a boolean which I created and registered in the register function of the add-on:

bpy.types.Scene.addon_panel_enabled = bpy.props.BoolProperty(default=False, update=initialiseAddon)

The property has an update function called initialiseAddon which runs when the boolean is changed. It is in initialiseAddon that you can run your setup code.

Be aware, however, that this will run when the header checkbox is enabled and disabled. You could of course include code to make sure it only runs once by checking if the header boolean is true (the update function seems to be run after the value has been set):

def initialiseAddon(self, context):
    if context.scene.addon_panel_enabled:
        print("Only runs when enabling the checkbox")

Or just make another property which stores whether initialisation has been done or inspect your own data.

If you don't have a panel, then you should do initialisation in your operator when it first runs and again, have a scene property that stores whether setup has been done or not.

Full code (based on the UI Panel Simple template that comes with Blender):

import bpy

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

    def draw_header(self, context):

        self.layout.prop(context.scene, "addon_panel_enabled", text="")

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

        obj = context.object

        row = layout.row()
        row.label(text="Hello world!", icon='WORLD_DATA')

        row = layout.row()
        row.label(text="Active object is: " + obj.name)
        row = layout.row()
        row.prop(obj, "name")

        row = layout.row()
        row.operator("mesh.primitive_cube_add")

def initialiseAddon(self, context):
    #Per file initialisation code here
    if context.scene.addon_panel_enabled == True:
        print("Only runs when enabling the checkbox")

def register():
    bpy.types.Scene.addon_panel_enabled = bpy.props.BoolProperty(default=False, update=initialiseAddon)
    bpy.utils.register_class(HelloWorldPanel)

def unregister():
    bpy.utils.unregister_class(HelloWorldPanel)
    del bpy.types.Scene.addon_panel_enabled

if __name__ == "__main__":
    register()


Alright, just found out you can just parent it to an empty and scale the empty. Simple solution, but appears to work!


How to project an image from a Cycle's Sun light

Short answer:

No.

Long answer:

  Their position is not taken into account; they are always located outside of the scene, infinitely far away, and will not result in any distance falloff.

Which leads me to believe that it would not be possible, as there would be no way to map the texture to a source set up like that. The exact reasons you want to use it makes it an impossibility I am afraid.

Alternative answer:

You can project an image from a plane with a simple Transparent BSDF setup between any light and your subject.

And it also works with volumetrics:


You can make an animation with the camera. Click this little red button in the timeline. (That inserts keyframes automatically when something is moved.) Select the camera, press alt + a to start the timeline, press g to grab it, and shake it around. press escape when you are finished. You can do this a much more sophisticated way, of course. :) Save your action. In the logic editor, use whatever sensor that causes you to run and link it to the action actuator also (where your camera is animated.) Remember to set the beginning and end keyframes to be where you had started and stopped the shaking. If you want a much more controllable way to do it, try using something from this video: https://youtu.be/PU_uhfO1Bsk

Hope that helps. ;) Tell me if you need more information. It would be a good idea to add more information to your question as well.


A slightly messy mesh in blender 2.81 beta

In second case, try: Edit mode, vertex, A, alt+m -> Merge by distace
Merge should work. Take a closer look for double vertex.
In first case:
Option one, If the vertex was displaced only by z coordinate, I would just simply copy/pasted it from correct vertex. Or use this tutorial: https://www.youtube.com/watch?v=TnTFl51GGdw
Final thought: you can just select the mirror vertex and copy it's coordinates to the vertex you need to correct.
So I would just select the vertex in the correct spot on other side of the handle/x-coordinate, press N to bring out the side panel, go to item, copy coordinates and paste them into coordinates of corrupted vertex one by one, BUT changing the x coordinate from positive to negative/from negative to positive.


Where did the 'World/Surface/Strength' setting go in 2.8?

Nowhere at all, they are exactly where they were before.

Off course you can only see them if Use Nodes is enabled, otherwise those settings are unavailable.


Simple undivided plane UV map not behaving as expected

A face is always composed of 2 triangles, the oblique goes in a sense or in the other:

so if you give your face an image texture then deform the face by moving its vertices, the result may be unexpected deformations like this:

You have several solutions like creating directly the final quad shape instead of deforming a square face, or subdivide enough your square so that the deformation becomes not noticeable.


gamma cross flashes secondary strip for 1-2 frames before fading

Got burned on this myself. It's sensitive to the order you select the clips. Selecting the second clip first gives you a backwards fade.


Material settings for Blender Internal and Cycles?

Cycles and Blender internal are entirely different render engines and that actually does mean yes the settings don't cross over - particularly for cycles, as it is a node-based material system. Nodes for one system don't cross over to the other. For example, blender internal materials you can turn reflectivity on or off, but in cycles you don't have a setting for that - rather, you add in a glossy shader and connect it to the world output shader, either directly through the world output node for a purely reflective shader, or through a mix/add node with other shaders. If you are unfamiliar with cycles materials, I'd recommend learning how they work with some intro tutorials.

That being said, there are some attempts out there to convert blender internal materials into cycles materials, but I would pretty much always expect you will need to manually checkup on the material changes. This could get you most of the way for now though.

Edit: you do not have to worry about blender internal settings affecting cycles settings, as nothing is re-used between them.


Why do some bones in my armature disappear when I go into Edit mode?

Unhide Bones

Your bones were hidden. To unhide them, once in Edit mode press ALTH and your bones will be back!

Hidden Bones are only Hidden in Specific Modes

It is worth noting that bones hidden in one mode may be visible in another mode, and vice-versa. Here is an explanation from the Blender Manual:

  Note that hidden bones are specific to a mode – i.e. you can hide some
  bones in Edit mode, they will still be visible in Pose mode, and
  vice-versa. Hidden bone in Pose mode are also invisible in Object
  mode. And in Edit mode, the bone to hide must be fully selected, not
  just his root or tip…


I are almost there!

If you want your background to be static, the important settings are:

a very high Number of particles
Frame Start = Frame End = 0
a very high Lifetime
emit the particles from the Volume of a cube, so that the density is even (this is important)
remove all Velocity from the particles
remove all Field Weights

For the collisions, emitting particles from the volume greatly reduce that problem: the distribution is more even and if you want you can set the Distribution (in the Source section) to Grid and play with the Random value


Calculate points on a Nurbs curve without converting to mesh

extracted the source code for nurb curves and ported it to python - seems to work

import bpy
import bmesh
import math
import mathutils

def macro_knotsu(nu):
    return nu.order_u + nu.point_count_u + (nu.order_u - 1 if nu.use_cyclic_u else 0)

def macro_segmentsu(nu):
    return nu.point_count_u if nu.use_cyclic_u else nu.point_count_u - 1

def makeknots(nu):
    knots = [0.0] * (4 + macro_knotsu(nu))
    flag = nu.use_endpoint_u + (nu.use_bezier_u << 1)
    if nu.use_cyclic_u:
        calcknots(knots, nu.point_count_u, nu.order_u, 0)
        makecyclicknots(knots, nu.point_count_u, nu.order_u)
    else:
        calcknots(knots, nu.point_count_u, nu.order_u, flag)
    return knots

def calcknots(knots, pnts, order, flag):
    pnts_order = pnts + order
    if flag == 1:
        k = 0.0
        for a in range(1, pnts_order + 1):
            knots[a - 1] = k
            if a >= order and a <= pnts:
                k += 1.0
    elif flag == 2:
        if order == 4:
            k = 0.34
            for a in range(pnts_order):
                knots[a] = math.floor(k)
                k += (1.0 / 3.0)
        elif order == 3:
            k = 0.6
            for a in range(pnts_order):
                if a >= order and a <= pnts:
                    k += 0.5
                    knots[a] = math.floor(k)
    else:
        for a in range(pnts_order):
            knots[a] = a

def makecyclicknots(knots, pnts, order):
    order2 = order - 1

    if order > 2:
        b = pnts + order2
        for a in range(1, order2):
            if knots[b] != knots[b - a]:
                break

            if a == order2:
                knots[pnts + order - 2] += 1.0

    b = order
    c = pnts + order + order2
    for a in range(pnts + order2, c):
        knots[a] = knots[a - 1] + (knots[b] - knots[b - 1])
        b -= 1

def basisNurb(t, order, pnts, knots, basis, start, end):
    i1 = i2 = 0
    orderpluspnts = order + pnts
    opp2 = orderpluspnts - 1

    # this is for float inaccuracy
    if t < knots[0]:
        t = knots[0]
    elif t > knots[opp2]:
        t = knots[opp2]

    # this part is order '1'
    o2 = order + 1
    for i in range(opp2):
        if knots[i] != knots[i + 1] and t >= knots[i] and t <= knots[i + 1]:
            basis[i] = 1.0
            i1 = i - o2
            if i1 < 0:
                i1 = 0
            i2 = i
            i += 1
            while i < opp2:
                basis[i] = 0.0
                i += 1
            break

        else:
            basis[i] = 0.0

    basis[i] = 0.0

    # this is order 2, 3, ...
    for j in range(2, order + 1):

        if i2 + j >= orderpluspnts:
            i2 = opp2 - j

        for i in range(i1, i2 + 1):
            if basis[i] != 0.0:
                d = ((t - knots[i]) * basis[i]) / (knots[i + j - 1] - knots[i])
            else:
                d = 0.0

            if basis[i + 1] != 0.0:
                e = ((knots[i + j] - t) * basis[i + 1]) / (knots[i + j] - knots[i + 1])
            else:
                e = 0.0

            basis[i] = d + e

    start = 1000
    end = 0

    for i in range(i1, i2 + 1):
        if basis[i] > 0.0:
            end = i
            if start == 1000:
                start = i

    return start, end

def nurb_make_curve(nu, resolu, stride):
    EPS = 1e-6
    coord_index = istart = iend = 0

    coord_array = [0.0] * (3 * nu.resolution_u * macro_segmentsu(nu))
    sum_array = [0] * nu.point_count_u
    basisu = [0.0] * macro_knotsu(nu)
    knots = makeknots(nu)

    resolu = resolu * macro_segmentsu(nu)
    ustart = knots[nu.order_u - 1]
    uend   = knots[nu.point_count_u + nu.order_u - 1] if nu.use_cyclic_u else \
             knots[nu.point_count_u]
    ustep  = (uend - ustart) / (resolu - (0 if nu.use_cyclic_u else 1))
    cycl = nu.order_u - 1 if nu.use_cyclic_u else 0

    u = ustart
    while resolu:
        resolu -= 1
        istart, iend = basisNurb(u, nu.order_u, nu.point_count_u + cycl, knots, basisu, istart, iend)

        #/* calc sum */
        sumdiv = 0.0
        sum_index = 0
        pt_index = istart - 1
        for i in range(istart, iend + 1):
            if i >= nu.point_count_u:
                pt_index = i - nu.point_count_u
            else:
                pt_index += 1

            sum_array[sum_index] = basisu[i] * nu.points[pt_index].co[3]
            sumdiv += sum_array[sum_index]
            sum_index += 1

        if (sumdiv != 0.0) and (sumdiv < 1.0 - EPS or sumdiv > 1.0 + EPS):
            sum_index = 0
            for i in range(istart, iend + 1):
                sum_array[sum_index] /= sumdiv
                sum_index += 1

        coord_array[coord_index: coord_index + 3] = (0.0, 0.0, 0.0)

        sum_index = 0
        pt_index = istart - 1
        for i in range(istart, iend + 1):
            if i >= nu.point_count_u:
                pt_index = i - nu.point_count_u
            else:
                pt_index += 1

            if sum_array[sum_index] != 0.0:
                for j in range(3):
                    coord_array[coord_index + j] += sum_array[sum_index] * nu.points[pt_index].co[j]
            sum_index += 1

        coord_index += stride
        u += ustep

    return coord_array

if __name__ == "__main__":
    curve = bpy.data.curves['NurbsCurve']
    nu = curve.splines[0]
    resolution = (curve.render_resolution_u if curve.render_resolution_u else
                  curve.resolution_u)
    coord_array = nurb_make_curve(nu, resolution, 3)

    verts = (mathutils.Vector(coord_array[i: i + 3])
                for i in range(0, len(coord_array), 3))

    mesh = bpy.data.objects['Cube'].data
    bm = bmesh.new()

    prev = bm.verts.new(next(verts))
    for v in verts:
        current = bm.verts.new(v)
        bm.edges.new((prev, current))
        prev = current

    bm.to_mesh(mesh)
    bm.free()

    for area in bpy.context.screen.areas:
        if area.type == "VIEW_3D":
            area.tag_redraw()


How do I unhide all objects just on my current active collection?

In the collections panel, there is an icon that looks like a funnel. This is the Filter drop-down. Click that and activate the eye and the screen icon if either are unseen. Provided both are visible now, shift-click the eye icon twice and the screen icon twice, corresponding to the top level of your collection. This will ensure that everything contained in that selection will be shown.


F in blender creates one face. So when you have many edges selected at once you are creating one large Ngon, not what you want to do.

You are looking for blender's bridge edge loops tool. In edit mode from the 3D view header Mesh > Edges > Bridge Edge Loops. Or quicker through keyboard shortcuts CtrlE L.

After running the bridge edge loops tool you will get more options in the operator part of the tool shelf.

One of the most important is the Twist, if you get edges that are crossing over each other like in the image below, then just change the number till the offset is correct.


This usually happens, when your object has non-uniform scale.
You need to apply scale first for a correct UV unwrap.

Object > Apply > Scale

Also, make sure your texture is connected to the UV map


Can I run "Mesh ‣ Clean up ‣ ..." tools without tabbing into edit mode?

Some of the cleanup operations can be done through modifiers:

Decimate Geometry > Decimate Modifier (Collapse)
Limited Dissolve > Decimate modifier (Planar)
Merge By Distance > Weld Modifier

(Didn't feel right without a silly gif)


One object turns gray in rendered/cycles view

I was able to fix this after watching a few YouTube videos.

Above "Viewport Display" and within "Visibility" in the properties tab, there's special settings for "Ray Visibility" which is essentially for Cycles' ray-tracing algorithm.

Helpful to know about if you want coarse-grained control over rendering. (Use nodes/shading for fine control).


To see the glare in action, I would do this:

So the glare is working, but it doesn't affect the alpha channel. To make it do so, I'm setting the mix value to 1 to make the node output only the glare. I'm adding the glow to the image and the alpha, so it will be part of the alpha channel too. I'm then recombining them with a set alpha node.

Remember to clamp the add on the alpha, as it should never be greater than 1 (or smaller than 0)

I hope this helps you :D


import bpy

# get the object and its vertices
obj = bpy.context.object # edit: now gets the currently active object

# edit: to select vertices we have to be in OBJ mode first:
bpy.ops.object.mode_set(mode="OBJECT")

verts = obj.data.vertices
# get the z-coordinates from each vertex and the maximum
z_coords = [v.co[2] for v in verts]
max_z_coord = max(z_coords)

# get list of all vertices that have the max. z-coordinate
max_verts = [vertex for vertex in obj.data.vertices if vertex.co[2] == max_z_coord]

Edit:

To select vertices, one way is to change to OBJECT mode,
select the vertices, and change back to EDIT mode. (Another one would be to use bmesh.)

Notice that I've also changed two lines in the original answer above: We have to work on the active object (obj = bpy.context.object) and we have to be in OBJECT mode (bpy.ops.object.mode_set(mode="OBJECT")).

The selection and switching to EDIT mode is done by appending these lines to the script:

# select the vertices:
for v in verts: v.select = False
for v in max_verts: v.select = True
# set EDIT mode's select mode to "vertex select"
bpy.context.tool_settings.mesh_select_mode = (True , False , False)
# change to EDIT mode
bpy.ops.object.mode_set(mode="EDIT")


I'd use the 3d Cursor, that's a pretty good use case and only takes 2 seconds.  Select all relevant polygons, press ShiftS, choose Cursor to Selected and create your Empty (ShiftA...).


You can use the Remap Users function in Outliner.

Go to Outliner > Blender File > Images category.
Select images with the .001/.002... appendix.
RMB > Remap users and choose the target image.

The remapped images will be removed on closing your .Blend.
(If they don't have a fake user assigned).


Random color on multiple multi-component objects obtained by applying an array modifier

I think that you shouldn't use an array.

Use a particle system instead. Create a mesh were the containers would be:

Then add a particle system, star on 1 and end on 1, choose volume as emit form and grid.

Now you will have this:

If your containers aren't square (probably) change the scale in object mode of the emmiter to be similar to the container ratio.

Change the physics to "No", render to "Object" choose the object (with the material of the link that you already visited) and change the size as you need:

Any other question, just ask.


How to make a loading bar work with a process - not time?

Scene loading

When a scene gets loaded the game will only do that and not refresh anything. The current (game) render will persist until the loading is completed.

Therefore your request will not do anything. You can't animate the render during loading.

LibLoad scene loading

You can load scene data from an external .blend file with LibLoad. The data will be merged into the current scene.

Synchronously

Per default it works like normal scene loading by showing the last render image until the load is complete = no animation.

Asynchronously

With the parameter async=True you can run the load over several frames.

The call provides you with a bge.types.KX_LibLoadStatus. From that you can read the current status of the load operation.

example [the code is untested]:

import bge

INTERNAL_PROPERTY_STATUS = "_internal.status"

def load(controller):
   '''Starts loading operation, stores the status in a property.'''
   status = bge.logic.LibLoad("demo.blend", "SCENE", async=False)
   controller.owner[INTERNAL_PROPERTY_STATUS] = status

def progressToValue(controller):
   '''Sets the value attribute of the first actuator to the progress from status.'''
   status = controller.owner.get(INTERNAL_PROPERTY_STATUS)
   if status == None:
      return

   actuator = controller.actuators[0]
   actuator.value = "'{}'".format(status.progress)
   controller.activate(actuator)

Be aware progress is a value from 0.0 to 0.1. You might want to scale it to your needs before using it.

Remark: I do not know if the progress shows more than 0.0 and 1.0 yet.


I think you can probably achieve what you're looking for using (mostly) the Screw modifier. Here are 3 approaches...

Method 1: Screw + Proportional Editing

I forgot to make sure the walking paths aren't partially above one another on the Z-axis in this approach, but I think it can be adjusted to get that right:

Start with a simple plane:

Apply a Screw modifier:

Then we'll apply the Screw modifier to the mesh, and get ready to use proportional editing to adjust the mesh's shape:

Next we'll actually do the proportional editing. Note that I'm doing this with Shift+Z (to only edit the width & length, not the height, of the structure), that my proportional editing circle-of-influence is quite large, and that I've set the Pivot Point to my 3D cursor (which is set to a position in the center of the structure's X-Y plane):

This process leaves an open hole in the center of the structure, so I then added a single cylinder to fill it in. I think you'll probably need a separate cylinder for each layer, but the same basic idea should work:

Method 2: SimpleDeform + Screw + SimpleDeform

We start with a plane in the same setup as in Step 0 above (not shown here). We can then add the 3 modifiers in the title of this method, with setting as given below, and get a reasonable facsimile to the Malwiya mosque's structure:

You may then want to apply modifiers and edit this, but it seems like a good starting point for the desired structure. To give a little bit of intuition for why this particular modifier stack seems to work: I started by observing that the Malwiya mosque looks like, well, a screw, except that its walkway's radius tapers off as you approach its summit. Simple deform gives us the option to taper (either before or after the Screw, or both, as we did here), and so playing with a few combinations of these two modifiers seemed natural.

Method 3: Archemedian Spiral with Extrusion

I couldn't quite stop playing with options, so here's a third one: you should be able to pretty easily generate the desired shape using a curve to model the desired spiral, adding Bevel & Taper objects to get the desired walkway shape/height, and finally filling in any gaps with cylinders or other objects as appropriate.

In particular, there is a very nice "Archemedian Spiral" object available for free (though I believe you have to turn on the "extra objects" add-on to see it):

If we add a Bezier curve with 3 points as the Archemedian spiral's Bevel object, then we can play with it a bit to get a nice basis for the kind of spiral walkway that wraps around Malwiya mosque:

You would then probably want to rotate this a bit to get the walkway to angle in the same fashion as in your image, and convert it to a mesh and extrude the geometry to fill in empty space.


This happens because of blenders shading methods when you use a subsurface modifier

the loop cuts are so close together , so blender can't figure out how to shade it

a simple solution is to use less details (Loop cuts) and a better topology (Loop cuts that follows the bending of the car surface here)

so here it should going from one side and bending in a V shape to the other.
Also you don't need to use that much loop cuts. Instead depend on the subsurface modifier to create more detail

something like this

Note : I added the double close edges to make the edges appear sharper

I recommend the anvil tutorial of blender guru on YouTube he goes more on depth on this


Black Texture when baking Ambient Occlusion with Blender internals?

Try to set Environment Lighting to 1.0 in the World tab.
I have tested it now and it bakes AO correctly then.
The funny thing is that you dont need to check the Environment Lighting checkbox and it still makes the change.


Blender to Unity, UV Map is messy in Blender and in Unity

This is what I expected. You have two UV maps. The one called UVW is messed up and ruins your render. Take a look at the screenshot below. You either need to get rid of UVW map (indicated by red area) or plug in the correct UV map into your image texture node (indicated by blue area). Hope this helps.


What color space should I use for 16bit sculpting brush alphas?

the comments section suggested I go with EXR for all my brushes. This sounds like a great idea, but I'd like to know what the difference is compared to PSD. Every third party brush set I've ever downloaded is usually PSD. What do I gain by converting from PSD to EXR?

PSD is an undocumented and proprietary format. The only reason it works beyond Adobe is the work of many countless people who have painfully peeled apart some of the internal workings.
OpenEXR, in contrast, is an openly developed library used and trusted by people and companies with massive investment in imaging. Some of the top minds in open imaging have contributed to the format, and it is an exemplary format for performance, compression, metadata, and many other facets.
EXR is a float based format, which provides the granularity required for communicating things other than colour data. For example, normals, depth, and other data are perfectly well suited for EXR, while challenging to impossible in the vast array of other formats.
The Proof is In The Pudding. Try your brushes in well designed software and you should see the impact immediately.

In the end, you make the choice. If you analyze the effect of the file encoding on the quality of the work, the choice should become rather self evident.


I dont fully understand about Recalculate normals

The normal of a face is the blue line, starting from the center of the face and pointing as much orthogonal as possible away from a face: it can point in two directions: one side of the face or the other.
Two connected faces, if they stay onto two different planes, can be considered as part of a "sphere". Normals are calculated  outside or inside the volume of that ipothetical sphere.
In the case of more than two faces the calculation is repeated, guessing wich is the part to be considered "inside" and which one "outside", even when the "Volume" is not closed (as with the two faces example).


Mesh gets deformed after parenting with automatic weights

I think you should apply armature pose as a rest pose, what i believe happens in your case is that you have corrected the armature pose in the pose mode instead of edit mode, that way you have a non neutral pose on your armature which means as soon as you apply that armature to the mesh all bones that are not in the rest pose will apply its transformations to assigned vertices.
Hope this helps.


Select normals pointing in a certain direction

In most cases Make Normals Consistent (Ctrl+N) operator should help, see  Why are some faces in my mesh darker?. With all selected run it and it should make all normals pointing the right direction.

However there are some cases when this won't work, i.e. it will consistently flip normals instead of making them pointing one direction. Probably there isn't yet solution exactly for every case like that, still you can use Non Contiguous option of Select Non-Manifold operator:

  Non Contiguous
      Selects edges that belong to exactly 2 faces with opposite normals.

link to manual

Execute it in Vertex or Edge Selection mode; it will select all edges which form problem faces, however depending on complexity of model selection won't form faces which you'd like to recalculate. You may want to run operator several times to feed all the faces to operator.


You can use the texture as a bump map on the whole material

Or you can add a Vector>Bump node to add the bump map to one or more of the shaders you are using.

If you need real displacement, not just bump map, enable the experimental feature set and then change the displacement to True or Both in the material.

More info: Getting "experimental" true displacement to work


Game Asset texturing; high poly to low poly

In case someone else is struggling with the same issue (Cycles Render):
Presets:

Make a UV of the low poly
Make a UV of the high poly (Smart UV Project did a wonderful job)
Make a new material for both objects.
Make a new image in the UV/Image editor for both objects
Add an Image Texture in the Node editor for both objects, with their own images (those made in the previous step) assigned to them. If you can't add nodes, tick the Use Nodes box
High poly object was painted in the Texture Paint mode, Display mode/Viewport shading set to Texture. Face selection masking was enabled, in order to paint specific faces. Brush set to Fill
Hit Image > Save Image once in a while in the UV/Image editor so not to lose hours of work. (It did this to me a few times.)

The baking:

Go to Render > Bake, like you would when doing normal maps.

Set Bake Type to Diffuse and then uncheck Direct and Indirect, leaving only Color toggled on. (Because if there are no lamps in the scene, the result will be dark)

Remember to tick the Selected to Active box.

Select both objects, the high poly first, the low poly last. Making the former the Selected and the latter the Active

Make sure both objects are occupying the same coordinates / are in the exact same place.

Hit Bake and wait.

Like I said in the original post: I'm very new to this, but these steps got me the results I wanted, or at least I can use it.
Here's a pic just for good measure, don't mind the ugly colors, those were just for the proof of concept.

And here it is in Unity almost finished


How is the direction of interpolation determined?

The issue you are having looks like it's related to the way quaternion rotations work.

A bone in the rest position would normally have values of 1,0,0,0, a W value of 0.001 will leave the bone in roughly the same place, yet a W value of 0.0 will flip the bone in the opposite direction.

I'm pretty sure this only happens using quaternions when all 4 values are 0.0.

So it would appear that your animation curves manage to travel from positive to negative values to cause the flipping.

An easy solution may be to add a pose in between to define a pose between the two extreme poses, instead of having it take the shortest path.


How do I project a texture onto an object on a single axis instead of it wrapping around the object?

I've actually figured it out. If you put the camera in front view and project from view then it works perfectly :)
Hopefully this helps someone else as I know this can be really tough to achieve


There are most likely several methods, and they probably all have both drawbacks and advantages. I will show how to use the XYZ Math surface for this.

First of all, unless you have already done this, enable the Add Mesh: Extra Objects addon. Go to user preferences (CtrlAltU), click the Addons tab, then Add Mesh. Make sure the check box for Add Mesh: Extra Objects is ticked, then click Save user settings.

Then Add > Mesh > Extra Objects > Math Function > XYZ Math Surface.
This is what you will see

The default object created by this is a snail shell. To get the Klein bottle, enter these equations. Just copy and paste from here.

X equation:

$$-\frac{2}{15}\cos(u)\left(3\cos(v)-30\sin(u)+90\left(\cos(u)\right)^4\sin(u)\\
-60\left(\cos(u)\right)^6\sin(u)+5\cos(u)\cos(v)\sin (u)\right)$$

-2/15*cos(u)*(3*cos(v)-30*sin(u)+90*cos(u)**4*sin(u)-60*cos(u)**6*sin(u)+5*cos(u)*cos(v)*sin(u))

Y equation:

$$-\frac{1}{15}\sin(u)\left(3\cos(v)-3\left(\cos(u)\right)^2\cos(v)-48\left(\cos(u)\right)^4\cos(v)+48\left(\cos(u)\right)^6\cos(v)\\
-60\sin(u)+5\cos(u)\cos(v)\sin(u)-5\left(\cos(u)\right)^3\cos(v)\sin(u)\\
-80\left(\cos(u)\right)^5\cos(v)\sin(u)+80\left(\cos(u)\right)^7\cos(v)\sin(u)\right)$$

-1/15*sin(u)*(3*cos(v)-3*cos(u)**2*cos(v)-48*cos(u)**4*cos(v)+48*cos(u)**6*cos(v)-60*sin(u)+5*cos(u)*cos(v)*sin(u)-5*cos(u)**3*cos(v)*sin(u)-80*cos(u)**5*cos(v)*sin(u)+80*cos(u)**7*cos(v)*sin(u))

Z equation:

$$\frac{2}{15}\left(3+5\cos(u)\sin(u)\right)\sin(v)$$

2/15*(3+5*cos(u)*sin(u))*sin(v)

U min: 0
U max: pi or (3.141592653589793)

V min: 0
V max: 2*pi or (6.28318530718)

U steps and V steps control the number of vertices in each direction, the same as the number of segments and rings on a UV sphere.

If you enable U wrap, the opening of the bottle will be closed. You decide which you prefer. If you enable V wrap, some vertices will be lost, but I haven't been able to find where. I don't know at all what Close V does. It doesn't change either the appearance or the number of vertices and faces.

As you can see, these equations are very complex, and this has the drawback of making them difficult to modify. I will try to show you how to overcome that, using proportional editing and a scaling technique I learned from the answer to my own question in this thread: Making a curved tube thinner or thicker without scaling its overall size

Go into Edit mode, and select all. Remove doubles (W R). Deselect all and make sure Limit selection to visible is disabled.

Make sure proportional editing (O) is set to Connected and proportional editing falloff (ShiftO) is set to smooth.
Select the vertices you want to modify.

If you want to make any part of the mesh bigger or smaller, Shrink Fatten (AltS) is the tool. Scroll the mouse wheel to change the size of the sphere of influence of the proportional editing.

If you want to move any part of the bottle, keep proportional to its aforementioned settings, select the parts you want to move and drag them to where you want them. Like so:

Repeat steps 2 through 4 until the bottle is to your liking.

You're done.

N.B. A Klein bottle is self intersecting, and therefore won't work as a fluid container with the current fluid simulation of Blender.


How to fix "Fake_module : Addon missing 'bl_info' give bad performance!"

It means that you have a few non add-on python files in the following locations:

C:\Users\Administrator\AppData\Roaming\Blender Foundation\Blender\2.77\scripts\addons\raw_script.py

and

C:\Users\Administrator\AppData\Roaming\Blender Foundation\Blender\2.77\scripts\addons\tt_operators.py

You can tell that these files aren't add-ons because they don't include a bl_info somewhere at the top. A bl_info would look something (but not exactly like)

bl_info = {
    "name": "Some Add-on Name",
    "author": "something",
    "version": (0, 5, 6, 6),
    "blender": (2, 7, 2)
}

these are from a failed installation of the TubeTool add-on, and can be safely deleted.


There does not seem to be any advantage in having vertex groups for something like this. Vertex groups are helpful for isolating selections and eventually for forms of deformations which you will discover along the way.

For now you might use the vertex groups to select and then create separate objects - the  P  key ...

...that you then can keyframe with the  I  key.


Trouble extruding complex shape from model

You need a quad strip running along where the two meshes meet to get your result without artifacts.

I would suggest:

Dublicate everything and hide the original versions of both objects.
Use a boolean operation to union the two copies.
In edit-mode, delete everything but the edge where they meet. You should now have a face less object that just describes the cut.
Bring back the originals and join everything.
Delete faces around the seam and create new faces that connects to the real seam.
Bevel the seam a slight amount.

Both objects:

Unioned objects with all but seam selected.

Original objects joined plus seam. Faces bordering seams deleted.

Merged geometry. Not all faces are quads, some are pentagons. Try to avoid that (I was in a hurry).

Geometry in wireframe view with beveled seam selected

Same geometry in solid view. It turned out ok.


How do I make the cubes up and down on the y axis following the curve and without rotating?


Turns out that the solution was to right-click the Blender shortcut and start the program with the integrated graphics (which still allows me to use the other GPU for CUDA).


sparkling shadow, sun glass shader reflects the plane

Please find the nodetree which solved the problem. I don`t know why it exactly works because try a lot and finally I removed the cast shadow of sun and the fireflies are gone. Sorry, for not more knowledge answer as beginner. Thanks a lot and have a great time


It was a dumb mistake, it turns out. I had rendered it without baking it. And when I baked it and then rendered it, it was rendering the image sequence I had previously rendered, so no changes were being displayed. It has been fixed now.


Why are particles are missing, when using Volume/Grid Emission?

One way to solve this is to bevel each vertex of the cube very little. Tab into edit mode. A to select all vertices. Press Ctrl+V and select "Bevel". Then give it a very small amount of Bevel Offset (I used 0.001 here). Then Tab out of edit mode and it'll work.

Another simpler way to do it is to select all the faces and hit Ctrl+T to triangulate the faces.


Step-by-Step selecting and moving vertices to absolute positions

In the 3D view, press N once or twice to open the
right-hand sidebar.
Find the '3D Cursor' Section and set the Z value to your desired
value, 0.2 in this case.
At the bottom of the 3D view, set the Pivot Center to '3D Cursor'.
Drag select your vertices with B.
Hit S (for scale), then Z (to limit scaling
along the z-axis), then 0 (zero).


UV layouts are saved withing the mesh itself, not exported. You should never have to "unwrap again" unless you change your mesh, exporting is used for editing textures in external applications like Photoshop, GIMP, or other image editing software – Duarte Farrajota Ramos


Fill Mesh Components with Random Vertex Color

Thank you @Mr Zak, you got me pointed in the right direction. Going through the first links github, I found this... https://github.com/varkenvarken/blenderaddons/blob/master/connectedvertexcolors%20.py … It adds an option to fill each piece of the object with a random color while in vertex paint mode. Thanks!


My blender has not one option that I really need

You must change Blender Render to Cycles Render to enable it.

See it at the top menu bar.

Image below:


Particle System

Some stages of creation.

User Ortho View above

[A] Plane with Loop Cuts
[B] Edit Mode. Face Mode. Inset Faces. Vertex Mode. Invert selection. Delete Vertices.  Faces remain with empty margin.
[C] Edit Mode. Face Mode. Random Select from Menu.  Delete Faces.
[D] Particle System using blue torus as Render [Object]. The radius of torus < (.5 Margin) is the intention.

Image Editor Render Result

Particles Rendered

Particle System settings shown above.

Of course your variations and improvements are welcome. Click on image to see larger version.


Difference boolean modifier acts like union but only on a specific object

The reason, that you have different result in viewport and render is because you have different subdivision settings for render and viewport.

The BMesh solver for booleans works faster, but in tiny geometry it can make a mistakes from time to time. In your case it makes errors in tiny lines here:

So you can swich to Carve solver, it works slower but never makes a mistakes in correct geometry:

But maybe you haven't this selector (it depends of version of blender), so in this situation you can change overlap Threshold to like 0.1µm to make them more accurate.

But instead of this you can just make gaps a little bit thicker, or use a texture.


Is there an addon for making the timeline BPM-based?

Timeline markers.

Have a vague recollection of Rhythm. To display on timeline Could use timeline markers.

Test script. 180 bpm at 24 fps comes out as 8 frames per beat (fpb). A timeline marker is added at every fpb frames starting from 1. The "|" name can be set to nothing "", or whatever.

import bpy
scene = bpy.context.scene

bpm = 180
fps = scene.render.fps
fpb = 60 * fps / bpm
print("frames per beat", fpb)
frame = scene.frame_start
while frame < scene.frame_end:
    scene.timeline_markers.new("|", frame)
    frame += fpb


Those things at the bottom are reflections (as you mentioned) so care about environment you use.
For distortion you can try to play with IOR value.
Another thing to care is curvature of your Cube - more rounded more distortions.
Here White environment with a bit of Beveled edges and IOR 1.15


Is there a way to create a loc/rot/scale shortcut in the context menu?

Addon update
The original tool set in the left hand side 3D view is extremely complicated so I would rather use a naïve method to add operator in both edit and object mode with following tool:

Tweak

Select Box

3D Cursor

Move

Rotate

Scale

Transform

The icon is not the one in tool shelf, that's a new stuff and I can't find a easy way to get those icon value. So I use some similar icon instead.
Indeed pretty handy after using it awhile, should be a useful feature in normal workflow.
...
def menu_func(self, context):
    layout = self.layout
    layout.label(text="Set Tool")
    for key, content in __toolset_list.items():
        if content:
            layout.operator(
                "WM_OT_tool_set_by_id",
                **content
            ).name = key
        else:
            layout.separator()
    layout.separator()
...

I put it in context_menu_toolset.py - GitHub so just go download it and run or install the script. If the addon didn't show up after installment, it should be in Test tab rather then Official or Community.
Non addon method
In Blender 2.83, use space bar can call out the operation panel if you set your space bar function to tools:

You can change your preference here:

You can also assign them directly into quick panel:

Then use Q to call out quick menu:

And you, still, can assign a short cut to the quick menu item:

Finally, you can directly assign the additional short cut in preference.


Switch to Edit Mode, select all elements, make sure the current Pivot Point type is set to Bounding Box Center, or simply press , (comma), ShiftS > Cursor to Selected;
Switch back to Object Mode,ShiftCtrlAltC > Object to 3D Cursor.


An object inside in another object with physics properties - rigid body

For those who come here with this problem try setting the shape of the collision to mesh for the outside shape.

For your problem, I set the collision shape to convex hull for the inner bottle and it reacted normally. I don't know how attached you are to that setting but that might do it.


You can try the Cubic volume interpolation method and Distance sampling. Settings supported on CPU only:

Distance sampling: Best for dense volumes with lights far away.
Cubic: Smoothed high quality interpolation, but slower.

Linear vs Cubic:

GPU support for Cubic interpolation is added in 2.8 version:

Commit 2d92988f6bc4 & f61c340bc15e: CUDA and OpenCL rendering support for cubic interpolation with images and volumes.


How do I make my displacements go out of the mesh rather than inside the mesh?

This can be caused either because your normals are flipped (which is not the case I suppose) or because you auto-unwrapped the model and now you need to change the scale on your UVs (specifically on the face which looks wrong) and on the proper axis (like scaling on X by -1).
Now for the displacement map, usually a displacement map has one channel (grayscale) which means that if you invert it (add -1 or introduce invert node or remap it with ramp) it should look towards the opposite direction.
Hope that these were helpful!

PS: and as you found out and mentioned on your comment "midlevel" property should do the job if you set it on a negative value (like -0.5 or -1)


If you need user-selectable options through drop-down menu, one alternative is to use EnumProperty. For example, I use this property type to give some options to user:

widget_shape = bpy.props.EnumProperty(
    name = 'Shape',
    items = [('sphere', 'Sphere', '8x4 edges'),
             ('ring', 'Ring', '24 vertices'),
             ('square', 'Square', ''),
             ('triangle', 'Triangle', ''),
             ('bidirection', 'Bidirection', ''),
             # etc.
             ])

... that will be drawn by Blender as a drop-down menu:

Upon operator invocation, I could select the function to execute based on user selection in self.widget_shape (not exactly how I did it, but basically the same):

if self.widget_shape == 'sphere':
    self.create_sphere_widget()
elif self.widget_shape == 'ring':
    self.create_ring_widget()
# etc.


What is UV unwraping and what do the different unwrap options mean? In what ways can we cheat unwrapping?

When you want to use a texture on a object than you may need to unwrap faces, yes you can live without it in the beginning.

How it works: Blender has a dedicated layout for upwraping, follow the menu below:

If you want to skip the UV mapping, you can apply the materials (a solid color) on object.


The PgDn and PgUp are secondary functions on your laptop keyboard.
Related: On laptop when I press F3, no search bar shows up, just the brightness goes up?

You need to hold the Fn key to make them work.
Or you can use the pop-up menu slider.


The normals of your mesh are facing inwards and need to be flipped. You can display your face normals, if you switch to Edit Mode, then go to your "Menu Bar - Overlay" and activate "Display face normals as lines".

Go to "Menu - Mesh - Normals - Flip Normals" to force them to face into the correct direction.

Head meshes tend to have that problem sometimes. "Recalculate Outside/Inside" doesn't fix it, because the mesh has some convex/concave areas and (in many cases) isn't closed (hole in the bottom)


How can I align the edges of a cut cylinder with another cylinder?

Select the vertices that you want to flatten, then scale it along the axis you want to flatten by 0.

In this case, scale along the y-axis by 0.


different colors for connected edges in UV editor

In the UV/Image Editor Header, select Shared Vertex in the Sticky Selection Mode.

Set the Edge selection mode.

Select an edge to highlight the shared edge (and vertices)


Non-wireframe edges showing in object mode

If, after you had just created the new edges, and while they were still selected, you accidentally pressed Shift D, you would have made a copy of those edges, which will show up when in object mode, similar to how they are in your picture.  Try going into Edit mode and select just those edges - go to Edge mode, then right-click on one of the edges with Alt held down, then G (grab) them - if they come away from the rest of the mesh, then they're loose, duplicated edges and you can delete them.


Is Object Space Normals the same as Bent Normals

No its not the same, this is object and tangent normals are related to the direction of the face at 'that' point. One is aligned to the world (object) and the other is aligned to the axis of the mesh (tangent).

Bent normals are as stated (after some research) the average of the unoccluded directions, causing a curve/lip/bend as they rotate.

Further information on what a bent normal map is; https://docs.unrealengine.com/en-us/Engine/Rendering/LightingAndShadows/BentNormalMaps


I come from Lightwave3D and modo, so not that experienced with Blender, but I have tried everything and I just keep getting the same results as you. It looks to me like a limitation of the built-in edge-bevel algorithm, and probably solving with some editing is inevitable.
This is how I would approach this in Blender, given my simple experience so far. I have created a simple demonstration case. Pictures would probably explain the approach better:

I would knife-cut the main face at least, although other connected faces might need the same too (as in my case)

I would then dissolve the faces that are attached to the target edge

and lastly apply the bevel and clean afterwards, if necessary

cheers and good luck,


You need the Node Wrangler addon.

Just enable it in preferences, and you're done.
Preferences->Addons and click the checkmark.

Remember to Save Preferences.
Restart Blender.
Done.


You don't need to specify the Uv channel if there is only one per object, so leave that empty. Also remember to connect your mapping node to the vector input of each of your texture nodes.


Splitting Object into two different objects using a script


Just to answer the question, disregarding how the geometry looks:
Try to do a soft selection and go on from there.

So first go into edit mode.

Then enable proportional editing. (press the round dot/circle icon at the bottom. Its the one left of the magnet symbol. End select "Connected")
Now you can select a bunch of faces or vertices and use your scrollwheel. The circle that appears marks the soft selection area.

If you drag your vertices outward (using scale or simple move) the neigbours are dragged along with it.

You can influence the shape you are dragging by selection a different shape from the proportional editing menu.


How to key out a white background in compositor?

as you can see, with this setup you get pretty far.
Of course you should mask out roughly your body before, so that it won't "hurt" your face ;)


what is causing my armature to warp the model so badly when rotating it's arm, how can i fix this?

Yes, your weight painting is off, you'll have to use envelopes (not the best solution) or manually adjust the weights, so that the upper arm does not effect the chest anymore.
Select the armature, then the guy.
CRTL + TAB -> choose weight paint.
Use the brush tools to adjust your weights.


Python - How do i change the child of a child of an object?

Extending a list of Children
You can make a list of children and extend the list with the children of each child. After renaming a children, it is removed from the list.
import bpy

def execute(context):
    ob = context.object

    if ob == None:
        return

    children = list(ob.children)
    index = 0
    while len(children):
        child = children.pop()
        child.name = ob.name + str(index).zfill(3)
        children.extend(child.children)
        index += 1

execute(bpy.context)

Recursively walking the Children
You can also create a function, which renames the children of an object (parameter) and calls itself for each of the children.
import bpy

def renameChildren(ob):
    for child in ob.children:
        child.name = ob.name + "_" + child.type
        renameChildren(child)

def execute(context):
    ob = context.object

    if ob == None:
        return

    renameChildren(ob)

execute(bpy.context)


How to keep certain faces planar while decimating mesh

Use checker deselect to dissolve every nth top and bottom vertex or try the Decimate modifier options (co-planar etc.)


How Do I Set Up Blueprints that are Not Really Designed to Model Cars

Add two pics at the same time, set them to fit in the same view, then select the side where you want to see the actual background picture.


How to animate when pivot point travels?

You can use constraints, here...

Construction

All objects constructed with local orientation aligned to world
Flap and Frame origins both at world 0
Slider origin at its hinge point
A target Empty at the center of the constraining rail

Parenting

Flap and Empty CtrlP parented to frame
Slider parented to Flap

Constraints

Slider given locked track constraint targeted on the Empty ( In this example, positive X is to our left)

Flap's Rotation limited to a range in Y so as not to run off the end of the slider

Now you can simply key the rotation and location of the frame, (the rest will follow), and key the Y rotation of your flap.The slider will behave appropriately.

Here's the implementation on your file, (revised, I've made a correction to center the hinge of the flap to the flap's rotation)

And a 2.79 version:

On the question of how parenting interacts with constraints, I have to reverse-engineer.. I wouldn't know where to look in the code in a reasonable time, so what follows is an informed guess, which I would be happy to have corrected.

Further to @sambler's answer here, at a lower level, to perform a transformation T of a child C in a parent P's space, you would:

Give C the inverse transformation of P (as it were, bringing everything into World space), followed by...
... executing T on C, followed by...
... giving C the transform of P again, to put it back in the frame it came from.

These transformations would be multiplied together in the right order, as matrices,  to yield a single transformation matrix by which you can multiply the coordinates of all the vertices of C.

Naively, I can imagine, if 'Local' is selected, constraints being checked at step 2, with any targets undergoing step 1 as well as C, so they are compared in P's space. The effect is that constraints are applied after parenting.

In this case, the slider (its origin) does rotate with its parent. Its local rotation (at step 2) is constrained.


The reason you cannot merge the body and the arm together is that they are not the same type of object. The body is Mesh object, while the arm is a Curve object. You may only merge if both objects are the same type (with certain limitations, e.g. you cannot merge two Lamps, or two Cameras).

In order to merge the arm with the body you will need to first convert the arm to a mesh by selecting it and pressing ALT+C > Mesh from Curve/Meta/Surf/Text.

After converting you can then merge the two mesh objects with CTRL+J.


Video faster than audio after rendering?

You are not in playing back at real speed. Go in the Timeline Window > Playback menu, and enable Frame Dropping option. It will respect the real speed but at the price of some frame droppings.


What are the region-space combinations that can be used for button and panel registration

This table has all the space-region combinations that work.

Reference: Blender Space-Regions guide


Is there a way to bake animated/ deformed geometry?

You can export most animations as point cache files (*.pc2) and read them back in using the Mesh Cache modifier. The export addon is not active as default so you have to enable it beforehand.

To read it back in, use the Mesh Cache modifier. The option to read PC2 files is under the format option.

The PC2 format works well with 3dsMax's Point Cache modifier as well, so you can use it to transfer animations between the two programs. Not sure about Maya.

One thing you should keep in mind is that PC2 cannot save fluid simulations. Point caches require that the number of vertices remain the same between objects, and this is not the case with fluids. However it seems that a modifier for reading OBJ sequences is in the works, but that's still coming.


How can I make my procedural brick texture map correctly to both a cube and cylinder?

I think one issue with your original solution was due to lack of 'absolute' on your tests on the Normal - it's allowing for > 0.5 but not for `< -0.5'. Also, 'mixing' the individual channels before combining could be causing a problem. Try a material similar to the following :

This can produce the following effect :

EDIT - Here's another alternative for more rounded meshes - to use a radial gradient for one coordinate so as to wrap the texture around in one direction. This results in only a single join. You can adjust the Multiply nodes (marked in Cyan) to adjust the scaling to adjust the 'join' - or you could implement a 'smoothed' transition as in the image in your comment for an even better blend between the edges.

For the top and bottom faces, this is implemented as a rotated implementation of the same mapping and the 'Y' coordinate of the first texture space (in this case the object Z coordinate) is used to transition between the two textures - this way you can ensure it transitions at the edge of a whole row of bricks (see the Greater Than nodes marked in Cyan - one for the upper transition, one for the lower).


Shading Options Removed When Adding Material in Blender Render

EDITED:

As I got better with playing around with the nodes, I figured out how to do this correctly. Made a black and white material with the ramp, and set that as the alpha factor. I created 2 materials, one darker, and one lighter, both connected to the respective UV. Set the lighter material to Color2 and Shadowed material to Color1.


Is there a way to paint text onto a texture in Blender?

Blender's painting tools are limited to simple brushes and textures. The easiest way would be to open the image in an image editor and add text to it.

You could open an image with text on it and use it as a stencil texture to paint it onto your mesh.

For a hacky workaround you could add a text object, convert to mesh, use a boolean modifier to cut it out of a plane, then position it in front of your object and join it to your mesh and paint through the hole. Then you can select the disconnected mesh and delete it.


Both Rendered viewport and final render are blurry after processing

Under the film tab you had Blackman-Harris at value 10.00, and the default is 1.50.

https://docs.blender.org/manual/en/dev/render/cycles/settings/scene/render/film.html


The following approaches could work well:

Boolean

(Where an invisible object is used to define the empty space), This is the most direct answer and it can probably be made to work, but also may have problems if the jaw is a non manifold mesh. As a workaround in your case you could remove a part of the jaw, add a inset that the boolean operates on, this makes the computations much more simple but then you need to make sure the seams between the inset and the rest of the geometry are not noticeable.

Deformation

Where a bone or shape key is used to deform the mesh to create the hole, this is fast and predictable but has some possible drawbacks. UV's & vertex-colors etc will distort with the mesh, drilling multiple holes in the one cavity (where the holes overlap) becomes difficult. (something boolean can do). The key to making deformation work here is creating the geometry so the deformation looks good. and you don't loose volume around the deformation in an unrealistic way.

Mesh replacement

Replace parts of the mesh over time by animating visibility, may seem a weak solution and has the disadvantage that the animation wont be smooth and you have to finalize the mesh before making duplicates.. but it gives a lot of control.

Other options which I think wouldn't work so well but including for completeness:

Compositing

Sometimes you can use the depth to do operations you might assume you would need to do on geometry, there are tutorials showing clever use of depth buffer for similar tasks.

Metaballs

For certain cases negative metaballs can be used well for this effect.


Border Select keyframes in Action Editor

You need to unpin the action in NLA editor.

It will then "un-timeremap" your action and allow you to select with B.

Not sure if "feature or bug", will ask Aligorith or a dev.


How can i align the vertex to a surface?

1.) select all vertices in edit mode with your bumpy face
2.) then press this + button

3.) then tap S Z 0
4.) enjoy the flat surface
tutorial: https://youtu.be/4QJkM2Ve6qs (just be a little bit patient if it isn't uploaded, my upload speed is pretty slow)


So what about the other way around, parenting the door bone to the box bone, and give a Transformation constraint to the door bone so that when you rotate the box bone it makes the door follow (as it is parented) and rotate (with the constraint)? You can also limit the rotation of the box for more comfort.
Unless you have a good reason to manipulate the door bone only?


You could try "Smooth vertices" (Right click in vertex select mode).

You can increase the number of "smooth" steps from the operator panel. Be careful, though, you could end up changing the overall shape of your mesh slightly.


You are looking for the inset tool. create a face from your edge boundary by selecting all vertices (like in your screenshot) and hit  f. Then hit i and drag with the mouse to create the faces.

Or, if you want to extrude to the normal of the face, use  f, then  e instead.


Is there any way to plotting in 3D viewer without using object and mesh?

I assume you refer to axis-aligned bounding boxes (AABB), because regular bounding boxes are a built-in feature.

You can use draw handlers to draw in supported spaces with OpenGL (bgl module). draw_handler_add() is not documented, but you can find examples in Text Editor, Templates menu.

Here's a modified version of my bound box draw handler:

import bpy
import bgl
from mathutils import Vector

def draw_poll(ob):
    return ob is not None and ob.type in ('MESH', 'CURVE', 'SURFACE', 'META', 'FONT')

def draw_callback_view(self, context):

    for ob in context.selected_objects:
        if not draw_poll(ob):
            return

        mat = ob.matrix_world

        # 50% alpha, 2 pixel width line
        bgl.glEnable(bgl.GL_BLEND)
        bgl.glColor4f(1.0, 0.0, 0.0, 0.5)
        bgl.glLineWidth(2)

        bbox = [mat * Vector(b) for b in ob.bound_box]

        min_x = min(b.x for b in bbox)
        max_x = max(b.x for b in bbox)
        min_y = min(b.y for b in bbox)
        max_y = max(b.y for b in bbox)
        min_z = min(b.z for b in bbox)
        max_z = max(b.z for b in bbox)

        if ob == context.object:
            bgl.glColor4f(*self._color1)
        else:
            bgl.glColor4f(*self._color2)

        bgl.glBegin(bgl.GL_LINE_STRIP)
        bgl.glVertex3f(min_x, min_y, min_z)
        bgl.glVertex3f(min_x, max_y, min_z)
        bgl.glVertex3f(max_x, max_y, min_z)
        bgl.glVertex3f(max_x, min_y, min_z)
        bgl.glVertex3f(min_x, min_y, min_z)
        bgl.glVertex3f(min_x, min_y, max_z)
        bgl.glVertex3f(min_x, max_y, max_z)
        bgl.glVertex3f(max_x, max_y, max_z)
        bgl.glVertex3f(max_x, min_y, max_z)
        bgl.glVertex3f(min_x, min_y, max_z)
        bgl.glEnd()

        bgl.glBegin(bgl.GL_LINES)
        bgl.glVertex3f(max_x, min_y, min_z)
        bgl.glVertex3f(max_x, min_y, max_z)
        bgl.glVertex3f(min_x, max_y, min_z)
        bgl.glVertex3f(min_x, max_y, max_z)
        bgl.glVertex3f(max_x, max_y, min_z)
        bgl.glVertex3f(max_x, max_y, max_z)
        bgl.glEnd()

    # restore opengl defaults
    bgl.glLineWidth(1)
    bgl.glDisable(bgl.GL_BLEND)
    bgl.glColor4f(0.0, 0.0, 0.0, 1.0)

class ModalDrawOperator(bpy.types.Operator):
    """Draw a line with the mouse"""
    bl_idname = "view3d.modal_operator"
    bl_label = "Simple Modal View3D Operator"

    def modal(self, context, event):
        context.area.tag_redraw()

        if event.type in {'ESC'}:
            bpy.types.SpaceView3D.draw_handler_remove(self._handle, 'WINDOW')
            self._handle = None
            return {'CANCELLED'}

        return {'PASS_THROUGH'}

    def invoke(self, context, event):
        if context.area.type == 'VIEW_3D':
            # the arguments we pass the the callback
            args = (self, context)
            # Add the region OpenGL drawing callback
            # draw in view space with 'POST_VIEW' and 'PRE_VIEW'
            theme = context.user_preferences.themes[0]
            self._handle = bpy.types.SpaceView3D.draw_handler_add(draw_callback_view, args, 'WINDOW', 'POST_VIEW')
            self._color1 = theme.view_3d.object_active[:] + (0.5,)
            self._color2 = theme.view_3d.object_selected[:] + (0.5,)

            context.window_manager.modal_handler_add(self)
            return {'RUNNING_MODAL'}
        else:
            self.report({'WARNING'}, "View3D not found, cannot run operator")
            return {'CANCELLED'}

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

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

if __name__ == "__main__":
    register()

    for area in bpy.context.screen.areas:
        if area.type == 'VIEW_3D':
            context = bpy.context.copy()
            context['area'] = area
            bpy.ops.view3d.modal_operator(context, 'INVOKE_DEFAULT')
            break


Reflective Glass shader, like those in our window

The standard Glass shader gives you exactly that.
Or if you prefer Principled BSDF like me:

Set Transmission to 1
Use Roughness and Transmission roughness to control the glass type
Add thickness to your glass for realistic results

Suzanne on one side, and a black material on the other to make a mirror

To make this work in Eevee

enable Refraction in the Render tab
enable Screen Space Refraction in your material settings


How to correctly map random texture to an object?

Once unwrapped your mesh, go to the UV Editor and enlarge, rotate, the mesh to achieve what you're looking for.
Is easier this way, but also you can do the same on the Node editor with a:
"Texture cordinate" plugged into a "Mapping" plugged into the "image texture" which contains the image you're using.

Steps:

(in the node editor) Add a texture cordinate and mapping tab

Connect the UV slot of the Texture Cordinate into the Mapping

Then, plug the mapping into "Image Texture" node which contains the image you're using.

Now, tweak the rotation and size on the Mapping tab to achieve what you're looking for.

I hope this works for you.


You found one of the ways of testing your mesh. Using the subdiv modifier, looking at pic 4 the verts look like they are not connected. Grab one of the verts and move it around see if it's connected. Also like Jachym said check your normals are in the right direction.


Rendering multiple objects in the same environment

Not sure if this is what you're trying to get but can't you put each set of objects as a collection and have the environment on a separate collection then you can just disable rendering of all collections but keep the environment and the set that you want to be rendered .


How to know an edge length only in Top Orthographic?

Script version

Would IMO be a bit OTT to dupe n scale just to get the ortho projection length of an edge.  Here is a little test script that projects the edge globally. ie taking into account object transform, onto the XY plane and returns its length

Select an edge in edit mode, run script, prints the edges global projected length to console. (Unmodified, undeformed)

Test run on default cone. Shows radial lengths as 1 as expected

import bpy
import bmesh
from mathutils import Vector

context = bpy.context
ob = context.edit_object
mw = ob.matrix_world
me = ob.data
bm = bmesh.from_edit_mesh(me)
# define plane
plane_no = Vector((0, 0, 1))  # plane normal
plane_co = Vector() # (0, 0, 0) point on plane

e = bm.select_history.active
if isinstance(e, bmesh.types.BMEdge):
    def proj(v):
        return v - (v - plane_co).dot(plane_no) * plane_no
    v1, v2 = [proj(mw @ v.co) for v in e.verts]
    print((v1 - v2).length)

Note could easily extend this to use the 3d view as defining the plane, and overlay the lengths over edges.


Why do the two identical sides of this model reflect light differently?

I believe it's your normals. Make sure all objects have their normals on the outside.


When I render an image everything is black and white. How do I fix this?

You probably have your render set to "BW"(which stands for Black and White), instead of "RGB"(Which stands for Red,Green,Blue). It needs to be selected to "RGB" in order to be in color.


Action actuator: how to get the "frame property" go back to 1 when the animation ends

Similar to R00ts suggestion, the following workaround achieves what you are aiming for. Once an animation is finished, it plays it again, but with the end frame set to zero, effectively resetting the animation to its start.


Go to the Outliner. At the top click the button and switch to Blender File. Still in the Outliner choose Materials, twirl it open with the little triangle to the left. You will now see all the materials in the file in a list. Now you just need to select the offending materials, right click it, choose Remap Users. And from the list choose the correct material. Now they will all link to the same correct material.


How to render frames skipping every X , but leaving the filename increment by one

You can use the 'Time remapping' slider to quickly adjust the global timing of the animation.

If you want to render every 10 frames, set the New time to 10 (100/10), and also set the end frame to 1/10th of the actual length.


How do I scale my reference images correctly within Blender and is there an easier way?

You are using background images.
The way you scale a background image is by adjusting the Size value. It is located at the bottom of the background image settings in the properties region (N) in the 3D view.

However you may find it easier to use Image empties instead of the background images.
Question links:
How to set-up the perspective view based on a reference image?
Drag background images in 3D view?

cgCookie tutorial and an older cgCookie tutorial


I guess I found a solution.
In Blender 2.81+ you need to click on the filter icon and chose sphere icon to make options holdout (it will make the pixels that make up the object transparent instead) and indirect only (object won't be rendered, but it will still render the effects this object has on the other in the form of reflections and indirect lighting) visible. It applies both of them to collection.
In steps:

Make option holdout visible in outliner (as descibed above).
Create new view layer (or layers).
On first layer activate holdout (sphere icon) next to all collections which you don't want to be visible.
Repeat step 3 for other layers (chosing of course different collections to be visible).
Use compositor (Alpha over node) to connect layers.


Why do the output colours differ from the input when using Filmic Blender in the VSE?

Your understanding is incorrect. Filmic  blender does not scan the image to find high and low values. It does not normalize the image. There is a so-called "tutorial" out there that is spreading wrong information.

Filmic blender works with with fixed parameters. Data within those parameters gets mapped to display referred values. Unless you feed images that are in scene referred values and within the range used by filmic blender, it makes no sense to use filmic blender's transforms for the VSE.

Even if you where to linearize display referred images, you would need to bring the scene referred values to the proper range to use of filmic blender's transforms. Most images imported into blender get linearized to display linear values (0 to 1). Filmic blender works on values much larger than 1, white would be around 16.9 in scene referred values.

Your images would need to be linear EXR files (with scene referred values in the range used by filmic blender) or they would need to be log encoded, to be linearized using the proper transform to fall within the range used by filmic blender.

Please read the following link to learn more about filmic blender:

Render with a wider dynamic range in cycles to produce photorealistic looking images


Figured it out!

I checked the boxes for Multiply Depth and Multiply Alpha in the Brush Settings, and adjusted the Alpha Value of black in the Dynamic Paint Velocity Ramp. No more ridges!


Making a menu to take me to different scenes

use both mouse over and mouse left click on the object :


How do I create a checkered material where the black parts are glass and the white are diffuse

Just wanted to add a pic so it is clear for others


Prevent light from lighting inside a closed room?

You have to go to the lamps properties > "lamp icon" > "Shadow" > enable "Ray Shadow" to get this fixed:

Cheers


You need to work "effects" in the compositor.
It seems you need to track and key at the same time.
If this is the case, you will first need to address the track (movie clip editor), once you generate your 8 obligatory tracking points, you can attach whatever you need, then use the 3D space to "stick" your motion graphics plane (or .mov), and finally go to the compositor window and now work the part of the keying.

Ian Hubert shows different techniques that might be helpful to your workflow here:
https://youtu.be/RxD6H3ri8RI
If you need further assistance with your question, please let us know. Thanks!


how can I align a line a vertices evenly preserving the angle?

in situations like this You could use the "Relax" function from the "LoopTools" as shown on the image below.

It will correct the line even if the inside verticies are moved vertically. LoopTools could be activated in Preferences/Addons section. Sometimes You need to use the function more than once to get a desired result so for speed things up select more Iterations (10, 25). Hope it helps buddy.

Sincerely, Jan


Why doesnt my mesh follow my bones the way i want? (Video)

Clear the parenting (Alt P), then select the mesh, in edit mode select all, and choose "recalculate normals", then in object mode apply (Ctrl A) rot and scale to both mesh and armature, then redo the parenting (Ctrl P) choosing "Automatic weight".


How to transform armature via other object's data?

For example by modifying bpy.context.object.data.edit_bones.head when in edit mode you can change the position of the bone head. Here is a code sample how this could be used to translate the bones of a selected armature object with three bones:

import bpy
bpy.ops.object.mode_set(mode = 'EDIT')

myObject = bpy.context.object ##Active Selected Object

##### Make a Matrix with your translation values
myBoneTranformMatrix = [  [0,0,0],    ##Head Bone0
                          [0,0,1],    ##Head Bone1 (=Tail Bone0)
                          [1,2,3],    ##Head Bone2
                          [4,5,6]  ]  ##Tail of the last bone...

if myObject.type == 'ARMATURE':
    myArmature = myObject.data

    boneCounter=0
    for currentBone in myArmature.edit_bones:
        currentBone.head = myBoneTranformMatrix[boneCounter]
        currentBone.tail = myBoneTranformMatrix[boneCounter+1]
        boneCounter+=1

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

Happy Blending! :)


You could check Windows registry using: regedit and manipulate these entries:
In case none of the entries are found in the registry you could save them in a text file e.g. "blend.reg" and import the settings by regedit.

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\blendfile]
@="Blender File"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\blendfile\DefaultIcon]
@="\"C:\\Program Files\\Blender Foundation\\Blender\\blender.exe\", 1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\blendfile\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\blendfile\shell\open]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\blendfile\shell\open\command]
@="\"C:\\Program Files\\Blender Foundation\\Blender\\blender.exe\" \"%1\""


How to only texture paint one side of mesh?

this is a go around that I just found.
For that you need to modify your material so it applies one different shader on each side of your faces.
So here is the mesh, the top half show back of the faces and the bottom half show the front of the faces.

And here is the material I used.

The trick is done by the geometry node setting the Backfacing attribute as factor for the two shaders.

So I hope it helps.


Enabling IK stretch in the IK Constraint does nothing?

One solution is to make the stretch value in

BONE > INVERSE KINEMETICS > STRETCH  to more than zero and not close to 1

I set it to 0.1 As seen in Pitchipoy rig set up

It has to be done for each bone in the chain


In Edit > Preferences > Add-Ons, enable the shipped add-on 'Mesh: Extra Objects'.

Then it's ShiftA > Mesh > Math Function > Regular Solids.. and in the creation panel dropdown, 'Icosaohedron'.


View Layers
One of the changes in 2.8 from prior is the use of view layers. This is where Freestyle settings now reside
Change up to script (compare with original to see changes)

Use the context view layer as the source, ie make the the source
scene context when running script.  (If more convenient swap this
around and have a hardcoded source and copy into context)

Test script, current default is to Copy settings of view layer with context into view layer named "View Layer" in scene named "Scene.001"
import bpy
from bpy import context

excludes = ('__doc__', '__module__', '__slots__', 'bl_rna', 'rna_type')

# get the freestyle of context view layer
linesetsFrom = context.view_layer.freestyle_settings.linesets

# copy to scene
to_scene  = bpy.data.scenes.get("Scene.001")
# into freestyle settings of its "View Layer"
linesetsTo = to_scene.view_layers['View Layer'].freestyle_settings.linesets

for name in linesetsFrom.keys():
    src = linesetsFrom[name]
    dest = linesetsTo.get(name)
    if dest is None:
        dest = linesetsTo.new(name)
    for attr in dir(dest):
        if attr not in excludes:
            print(attr)
            setattr(dest, attr, getattr(src, attr))


How do I mirror a object without the mirror modifier?

This works both in Object and in Edit mode.

Place the 3D cursor where the mirror axis origin would be (Shit+C will place it at position (0, 0, 0)
Change Pivot center for rotation or scaling to be 3D cursor (or press . (dot) on the keyboard)
Duplicate the object or part of mesh you want to mirror (Shift+D)
Press Ctrl+M (or find command Object->Mirror Mesh->Mirror) and then select the axis you want to mirror the duplicated object along (in interactive mode press X, Y or Z on the keyboard). Click left mouse button to confirm.

In order mirroring to work correctly in Object Mode you have to Apply Scale and Rotation on the object first.


There is an addon known as auto tile size which comes with blender you just have to enable it in blender user preferences you can limit how many cores are used for rendering and it also offers advance sizing options.
If still this doesn't works you may reduce voltage given to your cpu and limit its rpm speed in your computer's bios


One way to do this is using particles. First add a Sphere and Tab into edit mode and move it in the Z-axis till the origin is at the bottom.

Move this Sphere to a different layer. Next add two Planes. One will be used for generating the ball and the other will be used as a floor. And place them in a manner shown below. Make the floor large enough.

Now, select the floor and go to the "Physics" tab and toggle "Collision". Then select the plane at the top and add a particle system to it. Set the Emission Number to 1. Increase the Lifetime to the length of your animation. Then scroll down to "Render" and toggle "Object". In the "Dupli Object" select the Sphere. Then increase the size to the desired level. Check off "Emitter" so the plane doesn't show up in your render. Now go to "Velocity" and set the starting speed on the Z-axis. Finally press Alt+A to animate.


How to programmatically load a python script in Text Editor and launch it

Every Text Editor has its own active (visible) text datablock stored in .text.

To call the text.run_script() operator, use a context override and give it the right 'edit_text' member.

import bpy

text = bpy.data.texts.load(path_to_file)

for area in bpy.context.screen.areas:
    if area.type == 'TEXT_EDITOR':
        area.spaces[0].text = text # make loaded text file visible

        ctx = bpy.context.copy()
        ctx['edit_text'] = text # specify the text datablock to execute
        ctx['area'] = area # not actually needed...
        ctx['region'] = area.regions[-1] # ... just be nice

        bpy.ops.text.run_script(ctx)
        break


How to track the state of a window toggle with python?

You can use the code
size = bpy.context.window.y
if size == 0:
     # it's fullscreen
else:
     # it's not fullscreen

I don't know if that's the proper way to do it, but it works for me


Select them by name in Object Mode Menu:Select / Select pattern,
Type WGT*
Delete the selected objects with X.
Open a text region and paste this script and press the run script button:

import bpy

scene = bpy.context.scene
for o in bpy.data.objects:
    print(o.name)
    if o.name.startswith('WGT'):
        o.select = True
        scene.objects.unlink(o)


Trying to restrict movement of player without causing it to fly off the screen

The box is having weird collision with the player, you can probably see this happening if you use "physics visualization".

To solve, switch the physics type of the box to "static" and have it clamp to the travel path that it needs to glide along. I made a working .blend aside from the "clamp to" because I'm not sure of your situation.


Python - How to detect when user opens another file inside Blender?

Using a handler to remove my_class:
from bpy.app.handlers import persistent
@persistent
def handler_new_scene(scene):
    del bpy.types.Scene.my_class

I think del scene.my_class will work also, or scene.my_class = None if still need to have the attribute.
In the register function I add my function to the load_pre handler, which will run before a new scene is loaded:
bpy.app.handlers.load_pre.append(handler_new_scene)


You also need to specify the arg types, e.g.

cpp.KBlenderTest_get_val.argtypes = (ctp.c_void_p,)

otherwise I think they default to int, which is the wrong size for a pointer on 64-bit architectures.

Also, I would recommend opening the .so file with its full name including version number, e.g.

cpp = ctp.cdll.LoadLibrary("path_to_shared_lib/libblTest.so.1")

This is because it is usual to increment the version suffix if/when the ABI changes in some backward-incompatible way, so you want to make sure you stay with the right version, at least until your Python wrapper gets updated to the newer version in future.


What might be wrong with ball and chain physics here (chain works but the ball detached with similar settings)?

Edit: so as you answered yourself, applying scale of the ball seems to fix the problem.
My original answer:
I'm not sure that this is the best way to fix your problem but if you move the origin close to the link it seems to work:

Or you can select the ball, shift select the last ring, and in the header menu > Object > Rigid Body > Connect:


Why i cant see preview in the properties view?
Your view shows just grey part of texture. Preview doesn't display whole HDR texture, just view angle. If you go to World node three and change Rotation in Mapping node you can see difference.


How to apply Subdivision Surface for fluent bone animation

My first suggestion is : don't apply the subdivision surface.  Leave it in the stack.  "don't apply the subsurf" is a rule people have come up with after years of watching dudes drive off that cliff.

If you must apply the subsurf, you can probably work around this problem by adding a second bone.  Call it "body" or something, and make it own the unowned vertices in the head and shoulders.

If you apply the subsurf modifier AFTER you have a body bone, it will probably create some counteracting weights to keep that shoulder from gnarling up.

You might have to ensure there's an edge at his neck that is owned by the body bone and not the arm bones.


Unable to align vertices along a custom orientation

I don't see a problem in your file?

Just in case.. to flatten to a plane .. in 2.79..

Select 3 points which define the plane
CtrlAltSpace create the Custom Orientation
With pivot set to 'Active' as you have done, SZZ0
To check the result, F make a face out of your arc, select it, and set an orthographic view to look straight down its side by hitting ShiftNumpad 3


One solution would be a Solidify Modifier.
All credits to @lemon for making it work.

Add Solidify Modifier
Set Normals > Flip, and Mode > Complex
Add Weld Modifier


Connecting a face with another face along a specific curve

If it's a curve, then you'll need to convert the curve to a mesh by pressing "Alt+C".

Then choose "Convert Curve to Mesh".

Also make sure that each line of vertices has the same amount of vertices.

Press SpaceBar to bring up the search menu and type in "Bridge Edge Loops".

With both edges selected, click this function and the edges should form faces all the way along it.

I hope that answer provides your solution and happy modelling.

(EDIT)

Thanks for posting the screenshot of your problem.

This is rather more complicated and probably requires a bit more work than what I originally thought.

I made a pictoral tutorial, although I'm no expert on curves. I usually wing it though by playing around with the settings. Here's what I did to recreate your desired solution shown in the example below:

Here's the breakdown:

After I have all my edge loop cross sections, I apply the modifiers from top to bottom, in that order.

Then I join the edge loops (select them in object mode) with the main mesh (select the main mesh while holding Shift key and then press Ctrl+J).

In edit mode, I join all the edge loops together using "Bridge Edge Loops", then with some help from proportional editing, I spend 2-5 minutes playing with it a little (moving around some vertices or edge loops) and I also use "Smooth vertex" on some edge loops to smooth out the curvature which can be found in the ToolBar (T).

I hope this helps, and I'm sure this isn't the best or fastest workflow. Plus, curves are complicated and I'm no expert haha. There are probably better methods to do this but there are always 101 different ways to do things in blender. This is how I worked out the problem.

Good luck with it!


Creating renders from Image Stacking using different sampling levels

Short answer:

My guess is that it should be 50%. The combined samples of the images above it is ~750, which is the same as the number of samples in the rendered image. Since the rendered image and the combined images are more or less equivalent, They should be combined with a 50/50 mix.

Long answer:

Each image's opacity is based on how many samples it has compared to the image above it.

E.g. if you render 5 images with 10 samples each, the second image should be mixed with the first with a factor of .5 (or an alpha of 50%). This will effectively result in a 20 sample image (as you pointed out, it's not quite the same as 20 rendered samples, but it's reasonably close), so the second image should be mixed with a factor of .33 (alpha of 33%) and so on.

Since the resulting combined image is basically a 750 sample render, it's the same number of samples as your 750 sample render. You can just tack it on top with a transparency of 50%.